Class ESFrameModelSwarm

java.lang.Object
  extended byswarm.BaseImpl
      extended byswarm.objectbase.SwarmImpl
          extended byESFrameModelSwarm
All Implemented Interfaces:
swarm.activity.ActionType, swarm.activity.ActionTypeS, swarm.defobj.Create, swarm.defobj.CreateS, swarm.defobj.Customize, swarm.defobj.CustomizeS, swarm.defobj.DefinedObject, swarm.defobj.DefinedObjectS, swarm.defobj.Drop, swarm.defobj.DropS, swarm.defobj.GetName, swarm.defobj.GetNameS, swarm.objectbase.Swarm, swarm.activity.SwarmProcess, swarm.activity.SwarmProcessS, swarm.objectbase.SwarmS, swarm.activity.SynchronizationType, swarm.activity.SynchronizationTypeS, swarm.defobj.Zone, swarm.defobj.ZoneS

public class ESFrameModelSwarm
extends swarm.objectbase.SwarmImpl

The Model contains the Units

Author:
Pietro Terna, with contributions of Marco Remondino, Dario Landini, Nicola Ormezzano and Paolo Pelligra

Field Summary
 int maxStepLength
          the max length of a step in a recipe (in units of time)
 int maxStepNumber
           
 swarm.activity.ActionGroup modelActions2
          ActionGroup for holding an ordered sequence of action (the numbers of the model action names are the same used in the full jES model, so some are lacking in this version)
 swarm.activity.ActionGroup modelActions2b
          ActionGroup for holding an ordered sequence of action (the numbers of the model action names are the same used in the full jES model, so some are lacking in this version)
 swarm.activity.ActionGroup modelActions2generator
          ActionGroup for holding an ordered sequence of action (the numbers of the model action names are the same used in the full jES model, so some are lacking in this version)
 swarm.activity.Schedule modelSchedule
          the Schedule operating in the Model
 OrderGenerator orderGenerator
          the order generator
 float totalProductionTime
          the total production time used by done orders
 float totalRecipeLength
          the total length of the recipes of the done orders
 int totalUnitNumber
          the total number of operating Units we are using
 swarm.collections.ListImpl unitList
          the list of the operating units
 swarm.collections.ListIndex unitListIndex
          its iterator
 UnitParameters unitParameters
          the input class for unit parameters
 
Constructor Summary
ESFrameModelSwarm(swarm.defobj.Zone aZone)
           
 
Method Summary
 swarm.activity.Activity activateIn(swarm.objectbase.Swarm swarmContext)
          Now set up the model's activation. swarmContext indicates where we're being started in - typically, this model is run as a subswarm of an observer swarm.
 java.lang.Object buildActions()
          Here is where the model schedule is built, the data structures that define the simulation of time in the model.
 java.lang.Object buildObjects()
          Build the model objects.
 float getTimeLengthRatio()
          report the ratio totalProductionTime/totalRecipeLength
 java.lang.Object getUnitList()
          the method returns the list of the units
 void setProductionTimeAndRecipeLength(float pt, float rl)
          record total production time and total recipe length
 
Methods inherited from class swarm.objectbase.SwarmImpl
allocIVars, allocIVarsComponent, compare, copyIVars, copyIVarsComponent, describe, describeForEach, describeForEachID, describeID, drop, freeIVars, freeIVarsComponent, getActivity, getCompleteProbeMap, getComponentZone, getDisplayName, getInternalZone, getName, getPageSize, getPopulation, getProbeForVariable, getProbeMap, getSynchronizationType, getTypeName, getZone, perform, perform$with, perform$with$with, perform$with$with$with, respondsTo, setDisplayName, xfprint, xfprintid, xprint, xprintid
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

totalUnitNumber

public int totalUnitNumber
the total number of operating Units we are using


maxStepNumber

public int maxStepNumber

maxStepLength

public int maxStepLength
the max length of a step in a recipe (in units of time)


totalProductionTime

public float totalProductionTime
the total production time used by done orders


totalRecipeLength

public float totalRecipeLength
the total length of the recipes of the done orders


orderGenerator

public OrderGenerator orderGenerator
the order generator


modelActions2

public swarm.activity.ActionGroup modelActions2
ActionGroup for holding an ordered sequence of action (the numbers of the model action names are the same used in the full jES model, so some are lacking in this version)


modelActions2b

public swarm.activity.ActionGroup modelActions2b
ActionGroup for holding an ordered sequence of action (the numbers of the model action names are the same used in the full jES model, so some are lacking in this version)


modelActions2generator

public swarm.activity.ActionGroup modelActions2generator
ActionGroup for holding an ordered sequence of action (the numbers of the model action names are the same used in the full jES model, so some are lacking in this version)


modelSchedule

public swarm.activity.Schedule modelSchedule
the Schedule operating in the Model


unitParameters

public UnitParameters unitParameters
the input class for unit parameters


unitList

public swarm.collections.ListImpl unitList
the list of the operating units


unitListIndex

public swarm.collections.ListIndex unitListIndex
its iterator

Constructor Detail

ESFrameModelSwarm

public ESFrameModelSwarm(swarm.defobj.Zone aZone)
Method Detail

buildObjects

public java.lang.Object buildObjects()
Build the model objects.


buildActions

public java.lang.Object buildActions()
Here is where the model schedule is built, the data structures that define the simulation of time in the model. The core is an actionGroup that has a list of actions. That's then put in a Schedule.


activateIn

public swarm.activity.Activity activateIn(swarm.objectbase.Swarm swarmContext)
Now set up the model's activation. swarmContext indicates where we're being started in - typically, this model is run as a subswarm of an observer swarm.


getUnitList

public java.lang.Object getUnitList()
the method returns the list of the units


setProductionTimeAndRecipeLength

public void setProductionTimeAndRecipeLength(float pt,
                                             float rl)
record total production time and total recipe length


getTimeLengthRatio

public float getTimeLengthRatio()
report the ratio totalProductionTime/totalRecipeLength