public abstract class Innovation extends Object implements Initialisable
Initialisable.initialise(ModelData, RunInfo, Region) in order to
register this innovation at the InnovationRegistry.| Modifier and Type | Field and Description |
|---|---|
protected double |
adoptionThreshold
Factor in the decision of adoption.
|
protected String |
affectedAFTs
Comma-separated list of AFT IDs that are allowed to adopt.
|
protected Set<String> |
affectedAftSet |
protected String |
identifier
Identifier must be given since every innovation is registered at the
innovation registry with its identifier during initialisation.
|
protected int |
lifeSpan
At the end of the lifespan, this innovation outdates itself at all
InnovationAgents. |
protected ModelData |
modelData |
protected Region |
region |
protected RunInfo |
rInfo |
protected double |
trialThreshold
Threshold in the decision of trial.
|
| Constructor and Description |
|---|
Innovation(String identifier) |
| Modifier and Type | Method and Description |
|---|---|
double |
getAdoptionNoise() |
double |
getAdoptionThreshold(Agent agent)
Factor in the decision of adoption.
|
Set<String> |
getAffectedAFTs() |
String |
getIdentifier()
Innovation's ID
|
int |
getLifeSpan() |
double |
getTrialNoise() |
double |
getTrialThreshold(Agent agent)
Factor in the decision of trial.
|
abstract InnovationBo |
getWaitingBo(SocialAgent agent) |
void |
initialise(ModelData data,
RunInfo info,
Region r)
Assign model data, run info, and region.
|
void |
outdate(InnovationAgent agent)
This method is called by
InnovativeInstitutions (because they are rather aware of
affected agents) once this innovation's lifespan is exceeded. |
abstract void |
perform(InnovationAgent agent)
Let this innovation take effect for the given agent.
|
void |
setAffectedAFTs(String affectedAFTs)
Deprecated.
|
abstract void |
unperform(InnovationAgent agent)
Undo the effect of this innovation for the given agent.
|
protected String identifier
protected double trialThreshold
protected double adoptionThreshold
protected int lifeSpan
InnovationAgents.protected String affectedAFTs
protected Region region
protected RunInfo rInfo
protected ModelData modelData
public Innovation(String identifier)
public double getTrialThreshold(Agent agent)
agent - public double getAdoptionThreshold(Agent agent)
agent - public double getTrialNoise()
public double getAdoptionNoise()
public abstract InnovationBo getWaitingBo(SocialAgent agent)
public abstract void perform(InnovationAgent agent)
agent - public abstract void unperform(InnovationAgent agent)
agent - public void outdate(InnovationAgent agent)
InnovativeInstitutions (because they are rather aware of
affected agents) once this innovation's lifespan is exceeded. Removed the innovation from
InnovationAgents to prevent further spreading.
For some innovations, this method may call unperform(InnovationAgent).agent - public void initialise(ModelData data, RunInfo info, Region r) throws Exception
InnovationRegistry.initialise in interface Initialisabledata - model datainfo - run informationr - region the initialisable object belongs toExceptionInitialisable.initialise(org.volante.abm.data.ModelData,
org.volante.abm.schedule.RunInfo, org.volante.abm.data.Region)public void setAffectedAFTs(String affectedAFTs)
affectedAFTs - public int getLifeSpan()
public String getIdentifier()