330 likes | 473 Views
cover. How to Use jES Open Foundation Program (a demo presentation) (February 2005, Pietro Terna). (related to jesopenfoundation-0.1.60.tar.gz, How to v. 0.0.21 ). pietro.terna@unito.it. _jES → jES O F. _______________________________________ jES jES O F
E N D
cover How to Use jES Open Foundation Program (a demo presentation) (February 2005, Pietro Terna) (related to jesopenfoundation-0.1.60.tar.gz, How to v. 0.0.21) pietro.terna@unito.it jES Open Foundation
_jES→jES O F _______________________________________ jES jES O F _______________________________________ jES Open Foundation
jVE→jES From jES … java Enterprise Simulator http://www.flightgear.org/ … to jES Open Foundation to simulate multi-model frameworks of system of units or agents jES Open Foundation
_jES basics _______________________________________ jESbasics _______________________________________ jES Open Foundation
WD, DW, WDW Three formalisms WD side or formalism: What to Do DW side or formalism:whichisDoingWhat WDW formalism: When Doing What jES Open Foundation
A dictionary dictionary unit = a productive structure; a unit is able to perform one of the steps required to accomplish an order order = the object representing a good to be produced; an order contains technical information (the recipe describing the production steps) recipe = a sequence of steps to be executed to produce a good jES Open Foundation
_A flexible scheme _______________________________________ A flexible scheme in jES Open Foundation _______________________________________ jES Open Foundation
DW: a flexible scheme DW Units … 2 1 3 1 4 … on a toroidal space 2 1 Each unit is able to do a specific step … 5 (left and right borders and top and bottom ones are close together) 3 jES Open Foundation
WD: recipes WD … of a recipe with the recipes of the orders (what to do) expressed as sequences of numbers; orders with recipes are randomly generated with different lengths and structures 1 3 2 4 5 3 4 3 5 1 1 … jES Open Foundation
moving recipes DW and WD moving around among units 2 13 2 4 1 3 1 132 4 4 2 1 324 how to choose ? 1 1 3 24 5 3 lack of visibility Visibility is a metaphorical representation of trustiness and cooperation in a social network; when global visibility increases, we have more “social capital” jES Open Foundation
visibility and … Visibility increases with the time (initial visibility is randomly chosen) • new units appear randomly (enterprise creation) • with strategic relationships … • … or alone visibility changes some units are dropped out jES Open Foundation
… bars The left (blue) bar of each unit reports the number of waiting orders (do be done) The right (red) bar of each unit reports the number of unsent products, due to the fact that a unit able to do the required step does not exist or is not visible The down (grey) bar of each unit reports the number of consecutive clock ticks in which the unit has been idle If >maxInactivity the unit is dropped out and all unsent products are lost If >maxUnsentProducts the unit is dropped out and all unsent and waiting products are lost jES Open Foundation
jES Open Foundation jES Open Foundation recipe generator or distiller recipe generator or distiller each unit owns a public matrix each unit owns a public matrix recipes recipes many levels The system uses only simple recipes containing computational steps applied to unit matrixes and to general matrixs recipe generator or distiller built in a parametric way by the Observer each unit owns a public matrix recipes recipe generator or distiller each unit owns a public matrix recipes jES Open Foundation
Visibility Visibility between two units Unit a area Unit b area Unit a Unit b a cannot see b; b can see a jES Open Foundation
Memory matrixes data are reported in a text file (unitData/memoryMatrixes.txt) memory matrixes number(from_0_ordered)_rows_cols 0 2 3 1 3 5 2 4 1 3 3 1 Mandatory first line jES Open Foundation
Recipes with computations (recipes are reported in external and intermediate format) time specification: seconds computational steps 1/3 External format (remember: step, time specification, time): 1 s 1 c 1999 3 0 1 3 2 s 2 3 s 2 1 s 1 c 1998 1 0 5 s 2 1 s 1 c 1998 1 1 6 s 2 1 s 1 c 1998 1 3 7 s 2 step in recipe a step with computation: step 2, requiring 2 seconds, involves computation 1999 with 3 matrixes (those numbered 0, 1, 3 in the previous Figure) time in seconds a step with computation: step 7, requiring 2 seconds, involves computation 1998 with 1 matrix (that numbered 3 in the previous Figure) Computational steps Intermediate format (remember: each step is repeated for each unit of time): 1 2 2 -1999 3 0 1 4 1000000002 3 3 1 5 5 -1998 1 0 1000000005 1 6 6 -1998 1 1 1000000006 1 7 7 -1998 1 3 1000000007 after automatic translation, the intermediate format reports the computational processes with a trick (which can be modified, adopting an other translation in OrderDistiller): we imagine here that the computations require the time reported in their steps; so they are placed at the end of the time, followed by a 0 time step (at the intermediate format level, 0 time step are reported as ‘1000000000+step’ jES Open Foundation
The Java Swarm code used by the recipes with the example code c 1998 computational steps 2/3 /** 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 */ public void c1998(){ mm0=(MemoryMatrix) pendingComputationalSpecificationSet. getMemoryMatrixAddress(0); layer=pendingComputationalSpecificationSet. getOrderLayer(); mm0.setValue(layer,0,0,1.0); mm0.print(); done=true; } // end c1998 Computational steps, Java code jES Open Foundation
The Java Swarm code used by the recipes with the example code c 1999 computational steps 3/3 /** 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 */ public void c1999(){ mm0=(MemoryMatrix) pendingComputationalSpecificationSet. getMemoryMatrixAddress(0); mm1=(MemoryMatrix) pendingComputationalSpecificationSet. getMemoryMatrixAddress(1); mm2=(MemoryMatrix) pendingComputationalSpecificationSet. getMemoryMatrixAddress(2); layer=pendingComputationalSpecificationSet. getOrderLayer(); if(! (mm0.getEmpty(layer,0,0) || mm1.getEmpty(layer,0,0) || mm2.getEmpty(layer,0,0) ) ) { mm0.setEmpty(layer,0,0); mm1.setEmpty(layer,0,0); mm2.setEmpty(layer,0,0); done=true; } } // end c1999 Computational steps, Java code jES Open Foundation
_ preys-predators _______________________________________ preys-predators _______________________________________ jES Open Foundation
recipes simple spreadsheets jES Open Foundation
sequences simple spreadsheets jES Open Foundation
units unit_#___prod.phase_# 1 1 unit_#___prod.phase_# 1001 1001 text files unit_#___prod.phase_# 2001 2001 jES Open Foundation
Tutorial, step3b / time 278, look at the complex codetermination of grass, preys and predators preys-predators 1/5 jES Open Foundation
Tutorial, step3b / time 744, another codetermined configuration preys-predators 2/5 jES Open Foundation
Tutorial, step3b / time 1056, another codetermined configuration preys-predators 3/5 jES Open Foundation
Tutorial, step3b / time 1648, another codetermined configuration preys-predators 4/5 jES Open Foundation
Tutorial, step3b / time 3448, predators disappeared at 2132, now we have a simplified two stage model preys-predators 5/5 jES Open Foundation
_ workers-skills-firms _______________________________________ workers-skills-firms _______________________________________ jES Open Foundation
Version 0, no links between firms and workers jES Open Foundation
Version 1, new workers with skills equal to that of their neighbors jES Open Foundation
Version 2, new workers with skills randomly distributed in the stratum space jES Open Foundation
Version 3, new workers with skills equal to that of their neighbors, but arising in unequal quantities jES Open Foundation
Version 4, new workers with skills randomly distributed in the stratum space, but arising in unequal quantities jES Open Foundation