Class ComputationalAssemblerBasic

java.lang.Object
  extended byswarm.BaseImpl
      extended byswarm.objectbase.SwarmObjectImpl
          extended byComputationalAssemblerBasic
All Implemented Interfaces:
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.SwarmObject, swarm.objectbase.SwarmObjectS
Direct Known Subclasses:
ComputationalAssembler

public class ComputationalAssemblerBasic
extends swarm.objectbase.SwarmObjectImpl

The ComputationalAssemblerBasic class instances make computational processes; we have a computationa assembler instance for each unit THIS CLASS IS NOT USED DIRECTLY, BUT VIA THE INHERITING CLASS ComputationalAssembler.java

Author:
Pietro Terna; Carlo Desotgiu made the steps 1001 and 1002

Field Summary
 boolean done
          the status of a specific computation
 int layer
          the current layer
 Unit myUnit
          the unit for which we are assembling for
 swarm.collections.ListImpl waitingList
          the list of the order requiring computations
 
Constructor Summary
ComputationalAssemblerBasic(swarm.defobj.Zone aZone, OrderDistiller od, ESFrameModelSwarm mo)
          the constructor for ComputationalAssembler
 
Method Summary
 void c1001()
          computational operations with code -1001 this computational code places the numbers of the recipes to launch from other recipes, via the c step 1002, in position 0,0 of the received matrixes and set the status to done.
 void c1002()
           
 void c1100()
          computational operations with code -1100 this computational step acts as generalized matrix loader that places the values found in unitData0/memoryMatrixContents.txt file in the matrixex and rows and cols reported in the same file the number of the matrixes used here must be less or equal to totalMemoryMatrixNumber (the first m matrixes of these ones); beside this, m has to be less than 10 it is mandatory to enter all the defined matrixes in their original in the c 1100 m m1 m2 ... command values in the unitData0/memoryMatrixContents.txt can be in any order finally it changes the status to done;
 void c1101()
          computational operations with code -1101 (a code for the jES Open Foundation extension)

this computational code creates a new random unit in the model stratum reported in position 0,0 of the unique received matrix, with the probability set in position 1,0 of the same matrix; finally it changes the status to done
 void c1102()
          computational operations with code -1102 (a code for the jES Open Foundation extension)

this computational code drops the unit the order is in, with the probability set in position 0,0 of the first received matrix and increases the position 0,0 of the second received matrix by 1, to count the dropped units; this computational step must be in the last step of the order, because the dropped unit cannot send it to the successive one; the computational step, before setting the unit to be dropped, applies the orderDoneStep() method to the order, for accounting purposes; finally it changes the status to done
 void c1103()
          computational operations with code -1103 (a code for the jES Open Foundation extension)

this computational code creates a copy of the unit the order is in the model stratum of the original unit, near to it with the standard placement rule, with the probability set in position 1,0 of the unique received matrix; finally it changes the status to done
 void c1995()
          computational operations with code -1995 (a code for the checking phase of the program

this computational code place a 1 in position 1,1 of the unique received matrix and set the status to done
 void c1996()
          computational operations with code -1996 (a code for the checking phase of the program

this computational code place a 1 in position 0,0 of the unique received matrix and set the status to done
 void c1997()
          computational operations with code -1997 (a code for the checking phase of the program

this computational code place a 1 in position 1,0 of the unique received matrix and set the status to done
 void c1998()
          computational operations with code -1998 (a code for the checking phase of the program

this computational code place a number in position 0,0 of the unique received matrix and set the status to done
 void c1999()
          computational operations with code -1999 (a code for the checking phase of the program

this computational code verifies position 0,0 of the three received matrixes; only if these positions are all not empty the code empties them and set the status to done
 void checkingComputationsAndFreeingOrders()
          making computations and eliminating the orders from our waitingList
 int getWaitingListLength()
          return the waiting list length
 void removeThisOrderFromTheWaitingList(Order o)
          removing an order form the waintingList
 boolean setComputationalWaitingList(Order anOrder)
          adding an order to the waitingList
 void setUnit(Unit u)
          setting the unit we are assembling for
 boolean thisOrderIsInTheWaitingList(Order o)
          checking if an order is in the waitingList
 
Methods inherited from class swarm.objectbase.SwarmObjectImpl
compare, describe, describeID, drop, getCompleteProbeMap, getDisplayName, getName, getProbeForMessage, getProbeForVariable, getProbeMap, 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

layer

public int layer
the current layer


myUnit

public Unit myUnit
the unit for which we are assembling for


waitingList

public swarm.collections.ListImpl waitingList
the list of the order requiring computations


done

public boolean done
the status of a specific computation

Constructor Detail

ComputationalAssemblerBasic

public ComputationalAssemblerBasic(swarm.defobj.Zone aZone,
                                   OrderDistiller od,
                                   ESFrameModelSwarm mo)
the constructor for ComputationalAssembler

Method Detail

setUnit

public void setUnit(Unit u)
setting the unit we are assembling for


setComputationalWaitingList

public boolean setComputationalWaitingList(Order anOrder)
adding an order to the waitingList


checkingComputationsAndFreeingOrders

public void checkingComputationsAndFreeingOrders()
making computations and eliminating the orders from our waitingList


getWaitingListLength

public int getWaitingListLength()
return the waiting list length


thisOrderIsInTheWaitingList

public boolean thisOrderIsInTheWaitingList(Order o)
checking if an order is in the waitingList


removeThisOrderFromTheWaitingList

public void removeThisOrderFromTheWaitingList(Order o)
removing an order form the waintingList


c1995

public void c1995()
computational operations with code -1995 (a code for the checking phase of the program

this computational code place a 1 in position 1,1 of the unique received matrix and set the status to done


c1996

public void c1996()
computational operations with code -1996 (a code for the checking phase of the program

this computational code place a 1 in position 0,0 of the unique received matrix and set the status to done


c1997

public void c1997()
computational operations with code -1997 (a code for the checking phase of the program

this computational code place a 1 in position 1,0 of the unique received matrix and set the status to done


c1998

public void c1998()
computational operations with code -1998 (a code for the checking phase of the program

this computational code place a number in position 0,0 of the unique received matrix and set the status to done


c1999

public void c1999()
computational operations with code -1999 (a code for the checking phase of the program

this computational code verifies position 0,0 of the three received matrixes; only if these positions are all not empty the code empties them and set the status to done


c1001

public void c1001()
computational operations with code -1001 this computational code places the numbers of the recipes to launch from other recipes, via the c step 1002, in position 0,0 of the received matrixes and set the status to done. the number of the matrixes used here must be less or equal to totalMemoryMatrixNumber (the first m matrixes of these ones); beside this, m has to be less than 10


c1002

public void c1002()

c1100

public void c1100()
computational operations with code -1100 this computational step acts as generalized matrix loader that places the values found in unitData0/memoryMatrixContents.txt file in the matrixex and rows and cols reported in the same file the number of the matrixes used here must be less or equal to totalMemoryMatrixNumber (the first m matrixes of these ones); beside this, m has to be less than 10 it is mandatory to enter all the defined matrixes in their original in the c 1100 m m1 m2 ... command values in the unitData0/memoryMatrixContents.txt can be in any order finally it changes the status to done;


c1101

public void c1101()
computational operations with code -1101 (a code for the jES Open Foundation extension)

this computational code creates a new random unit in the model stratum reported in position 0,0 of the unique received matrix, with the probability set in position 1,0 of the same matrix; finally it changes the status to done


c1102

public void c1102()
computational operations with code -1102 (a code for the jES Open Foundation extension)

this computational code drops the unit the order is in, with the probability set in position 0,0 of the first received matrix and increases the position 0,0 of the second received matrix by 1, to count the dropped units; this computational step must be in the last step of the order, because the dropped unit cannot send it to the successive one; the computational step, before setting the unit to be dropped, applies the orderDoneStep() method to the order, for accounting purposes; finally it changes the status to done


c1103

public void c1103()
computational operations with code -1103 (a code for the jES Open Foundation extension)

this computational code creates a copy of the unit the order is in the model stratum of the original unit, near to it with the standard placement rule, with the probability set in position 1,0 of the unique received matrix; finally it changes the status to done