Title: cover
1cover
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_at_unito.it
2_jES?jES O F
_______________________________________ jES
jES O F _______________________________________
3jVE?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
4_jES basics
_______________________________________ jES
basics _______________________________________
5WD, DW, WDW
Three formalisms
WD side or formalism What to Do DW side or
formalism which is Doing What WDW formalism
When Doing What
6dictionary
A 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
7_A flexible scheme
_______________________________________ A
flexible scheme in jES Open Foundation ___________
____________________________
8DW a flexible scheme
DW
Units
2
1
1
3
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
9WD 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
10moving recipes
DW and WD
moving around among units
2
1
1 3 2 4
1
3
1 3 2 4
4
2
1 3 2 4
how to choose
1
?
1 3 2 4
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
11visibility 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
12 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 gt maxInactivity the unit is dropped out and
all unsent products are lost
If gt maxUnsentProducts the unit is dropped out
and all unsent and waiting products are lost
13jES 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
14Visibility
Visibility between two units
Unit a area
Unit b area
Unit a
Unit b
a cannot see b b can see a
15memory matrixes
Memory matrixes data are reported in a text file
(unitData/memoryMatrixes.txt)
number(from_0_ordered)_rows_cols 0 2 3 1 3
5 2 4 1 3 3 1
Mandatory first line
16computational steps 1/3
Recipes with computations (recipes are reported
in external and intermediate format)
time specification seconds
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 1000000000step
17computational steps 2/3
The Java Swarm code used by the recipes with the
example code c 1998
/ 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(Memor
yMatrix) pendingComputationalSpecificationSet.
getMemoryMatrixAddress(0) layerpendingComputa
tionalSpecificationSet. getOrderLayer() mm
0.setValue(layer,0,0,1.0) mm0.print() donetr
ue // end c1998
Computational steps, Java code
18computational steps 3/3
The Java Swarm code used by the recipes with the
example code c 1999
/ 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) pendingComputationalS
pecificationSet. getMemoryMatrixAddress(0)
mm1(MemoryMatrix) pendingComputationalSpecificati
onSet. getMemoryMatrixAddress(1) mm2(Memor
yMatrix) pendingComputationalSpecificationSet.
getMemoryMatrixAddress(2) layerpendingComputa
tionalSpecificationSet. 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) donetrue
// end c1999
Computational steps, Java code
19_ preys-predators
_______________________________________ preys-pred
ators _______________________________________
20recipes
simple spreadsheets
21sequences
simple spreadsheets
22units
unit____prod.phase_ 1 1
unit____prod.phase_ 1001 1001
text files
unit____prod.phase_ 2001 2001
23preys-predators 1/5
Tutorial, step3b / time 278, look at the complex
codetermination of grass, preys and predators
24preys-predators 2/5
Tutorial, step3b / time 744, another codetermined
configuration
25preys-predators 3/5
Tutorial, step3b / time 1056, another
codetermined configuration
26preys-predators 4/5
Tutorial, step3b / time 1648, another
codetermined configuration
27preys-predators 5/5
Tutorial, step3b / time 3448, predators
disappeared at 2132, now we have a simplified two
stage model
28_ workers-skills-firms
_______________________________________ workers-sk
ills-firms _______________________________________
29Version 0, no links between firms and workers
30Version 1, new workers with skills equal to that
of their neighbors
31Version 2, new workers with skills randomly
distributed in the stratum space
32Version 3, new workers with skills equal to that
of their neighbors, but arising in unequal
quantities
33Version 4, new workers with skills randomly
distributed in the stratum space, but arising in
unequal quantities