public class DefaultSocialInnovationAgent extends DefaultAgent implements SocialInnovationAgent, GeoAgent
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
initialAdoptionObservationPerformed |
protected Map<Innovation,InnovationStatus> |
innovations |
protected de.cesr.more.measures.node.MNodeMeasures |
measures |
static int |
numberAdoptions |
static int |
numberAgents |
givingIn, givingUp, production, typecells, currentCompetitiveness, id, productivity, regionNOT_MANAGED, NOT_MANAGED_COMPETITION, NOT_MANAGED_ID| Constructor and Description |
|---|
DefaultSocialInnovationAgent() |
DefaultSocialInnovationAgent(PotentialAgent type,
String id,
ModelData data,
Region r,
ProductionModel prod,
double givingUp,
double givingIn)
Mainly used for testing purposes
|
DefaultSocialInnovationAgent(String id,
ModelData data) |
| Modifier and Type | Method and Description |
|---|---|
void |
addToGeography()
Preliminary!
|
void |
considerAdoption(Innovation innovation)
Checks whether this agent is in
InnovationStates.AWARE or mode
InnovationStates.TRIAL and raises a warning otherwise. |
void |
considerInnovationsNextStep()
Checks each registered innovation for its status in order to consider
taking the next status.
|
void |
considerRejection(Innovation innovation)
Does nothing
|
void |
considerTrial(Innovation innovation)
Checks whether the share of social network partners that currently apply the given innovation
multiplied by the innocation's adoption factor is equal to or greater than a random number
]0,1[.
|
void |
die()
Called to remove the agent instance from the system.
|
String |
getAgentId() |
Set<Innovation> |
getInnovationsAwareOf()
Unmodifiable set of innovations this agent is aware of.
|
int |
getMilieuGroup() |
de.cesr.more.basic.agent.MoreAgentNetworkComp<SocialAgent,de.cesr.more.basic.edge.MoreEdge<SocialAgent>> |
getNetworkComp() |
Number |
getNetworkMeasureObject(de.cesr.more.basic.network.MoreNetwork<? extends de.cesr.more.measures.node.MoreNodeMeasureSupport,?> network,
de.cesr.more.measures.MMeasureDescription key) |
InnovationState |
getState(Innovation innovation) |
protected void |
initialAdoptionObservation() |
void |
makeAdopted(Innovation innovation)
Sets
InnovationStates.ADOPTED and increases adoption counter. |
void |
makeAware(Innovation innovation)
Make this agent aware of the given innovation, i.e.
|
void |
makeTrial(Innovation innovation)
Sets
InnovationStates.TRIAL, performs the innovation and makes social network
partners aware. |
void |
perceiveSocialNetwork()
Perceive social network regarding each innovation the agent is aware of.
|
protected void |
perceiveSocialNetwork(Innovation i)
Observe and set the share of social network partners that adopted the given
Innovation. |
void |
receiveNotification(de.cesr.more.basic.agent.MoreObservingNetworkAgent.NetworkObservation observation,
Agent object) |
void |
rejectInnovation(Innovation innovation)
Rejects the given innovation.
|
void |
removeInnovation(Innovation innvoation) |
void |
setNetworkComp(de.cesr.more.basic.agent.MoreAgentNetworkComp<SocialAgent,de.cesr.more.basic.edge.MoreEdge<SocialAgent>> netComp) |
void |
setNetworkMeasureObject(de.cesr.more.basic.network.MoreNetwork<? extends de.cesr.more.measures.node.MoreNodeMeasureSupport,?> network,
de.cesr.more.measures.MMeasureDescription key,
Number value) |
String |
toString() |
canTakeOver, considerGivingUp, getGivingIn, getGivingUp, getProductionFunction, getProductionModel, getType, infoString, setGivingIn, setGivingUp, setProductionFunction, supply, updateSupplyaddCell, getAge, getCells, getCompetitiveness, getHomeCell, getID, getRegion, giveUp, removeCell, setAge, setId, setRegion, tickEndUpdate, tickStartUpdate, toRemove, updateCompetitivenessclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetProductionModeladdCell, canTakeOver, considerGivingUp, getAge, getCells, getCompetitiveness, getGivingIn, getGivingUp, getHomeCell, getID, getRegion, getType, infoString, removeCell, setAge, setGivingIn, setGivingUp, setRegion, supply, tickEndUpdate, tickStartUpdate, toRemove, updateCompetitiveness, updateSupplypublic static int numberAdoptions
public static int numberAgents
protected Map<Innovation,InnovationStatus> innovations
protected de.cesr.more.measures.node.MNodeMeasures measures
protected boolean initialAdoptionObservationPerformed
public DefaultSocialInnovationAgent()
public DefaultSocialInnovationAgent(String id, ModelData data)
id - agent iddata - model datapublic DefaultSocialInnovationAgent(PotentialAgent type, String id, ModelData data, Region r, ProductionModel prod, double givingUp, double givingIn)
type - potential agentid - agent iddata - model datar - regionprod - production modelgivingUp - giving up thresholdgivingIn - giving in thresholdpublic void receiveNotification(de.cesr.more.basic.agent.MoreObservingNetworkAgent.NetworkObservation observation,
Agent object)
receiveNotification in interface de.cesr.more.basic.agent.MoreObservingNetworkAgent<Agent>receiveNotification in class DefaultAgentDefaultAgent.receiveNotification(de.cesr.more.basic.agent.MoreObservingNetworkAgent.NetworkObservation,
org.volante.abm.agent.Agent)protected void initialAdoptionObservation()
public void perceiveSocialNetwork()
perceiveSocialNetwork in interface SocialAgentSocialAgent.perceiveSocialNetwork()protected void perceiveSocialNetwork(Innovation i)
Innovation. Considers only incoming relations.i - innovation to considerpublic void considerInnovationsNextStep()
InnovationAgentInnovationAgent.considerTrial(Innovation),
InnovationAgent.considerAdoption(Innovation), or
InnovationAgent.considerRejection(Innovation) as appropriate.
This method is usually called by the schedule.considerInnovationsNextStep in interface InnovationAgentInnovationAgent.considerInnovationsNextStep()public void makeAware(Innovation innovation)
InnovationAgentInnovationStates.AWARE.makeAware in interface InnovationAgentInnovationAgent.makeAware(org.volante.abm.institutions.innovation.Innovation)public void considerTrial(Innovation innovation)
InnovationStates.AWARE mode and raises a warning
otherwise.considerTrial in interface InnovationAgentinnovation - public void makeTrial(Innovation innovation)
InnovationStates.TRIAL, performs the innovation and makes social network
partners aware.makeTrial in interface InnovationAgentinnovation - public void considerAdoption(Innovation innovation)
InnovationStates.AWARE or mode
InnovationStates.TRIAL and raises a warning otherwise.
Adoption is steered by probability (applying
Innovation.getAdoptionThreshold(Agent).considerAdoption in interface InnovationAgentInnovationAgent.considerAdoption(org.volante.abm.institutions.innovation.Innovation)public void makeAdopted(Innovation innovation)
InnovationStates.ADOPTED and increases adoption counter.makeAdopted in interface InnovationAgentinnovation - public void considerRejection(Innovation innovation)
considerRejection in interface InnovationAgentinnovation - public void rejectInnovation(Innovation innovation)
InnovationAgentInnovationStates.REJECTED.rejectInnovation in interface InnovationAgentinnovation - public void addToGeography()
addToGeography in interface GeoAgentGeoAgent.addToGeography()public String toString()
toString in class AbstractAgentAbstractAgent.toString()public void die()
Agentdie in interface Agentdie in class AbstractAgentAbstractAgent.die()public void setNetworkComp(de.cesr.more.basic.agent.MoreAgentNetworkComp<SocialAgent,de.cesr.more.basic.edge.MoreEdge<SocialAgent>> netComp)
setNetworkComp in interface de.cesr.more.basic.agent.MoreNetworkAgent<SocialAgent,de.cesr.more.basic.edge.MoreEdge<SocialAgent>>MoreNetworkAgent.setNetworkComp(de.cesr.more.basic.agent.MoreAgentNetworkComp)public de.cesr.more.basic.agent.MoreAgentNetworkComp<SocialAgent,de.cesr.more.basic.edge.MoreEdge<SocialAgent>> getNetworkComp()
getNetworkComp in interface de.cesr.more.basic.agent.MoreNetworkAgent<SocialAgent,de.cesr.more.basic.edge.MoreEdge<SocialAgent>>MoreNetworkAgent.getNetworkComp()public void setNetworkMeasureObject(de.cesr.more.basic.network.MoreNetwork<? extends de.cesr.more.measures.node.MoreNodeMeasureSupport,?> network,
de.cesr.more.measures.MMeasureDescription key,
Number value)
setNetworkMeasureObject in interface de.cesr.more.measures.node.MoreNodeMeasureSupportMoreNodeMeasureSupport.setNetworkMeasureObject(de.cesr.more.basic.network.MoreNetwork,
de.cesr.more.measures.MMeasureDescription, java.lang.Number)public Number getNetworkMeasureObject(de.cesr.more.basic.network.MoreNetwork<? extends de.cesr.more.measures.node.MoreNodeMeasureSupport,?> network, de.cesr.more.measures.MMeasureDescription key)
getNetworkMeasureObject in interface de.cesr.more.measures.node.MoreNodeMeasureSupportMoreNodeMeasureSupport.getNetworkMeasureObject(de.cesr.more.basic.network.MoreNetwork,
de.cesr.more.measures.MMeasureDescription)public InnovationState getState(Innovation innovation)
getState in interface InnovationAgentInnovationAgent.getState(org.volante.abm.institutions.innovation.Innovation)public int getMilieuGroup()
getMilieuGroup in interface de.cesr.more.rs.building.MoreMilieuAgentMoreMilieuAgent.getMilieuGroup()public String getAgentId()
getAgentId in interface de.cesr.more.rs.building.MoreMilieuAgentMoreMilieuAgent.getAgentId()public void removeInnovation(Innovation innvoation)
removeInnovation in interface InnovationAgentInnovationAgent.removeInnovation(org.volante.abm.institutions.innovation.Innovation)public Set<Innovation> getInnovationsAwareOf()
getInnovationsAwareOf in interface InnovationAgentInnovationAgent.getInnovationsAwareOf()