• Non ci sono risultati.

Finestre dell’Observer e del Model La finestra dell’Observer contiene i parametri:

Simulazione della genesi ed evoluzione di un sistema economico con jES Open Foundation

3.7 Descrizione dell’applicazione per l’utente non programmatore .1 Pannello di controllo dell’applicazione

3.7.2 Finestre dell’Observer e del Model La finestra dell’Observer contiene i parametri:

• StratumNumber indica il numero di strati visibili di cui si compone la simulazione (es. lo strato che rappresenta la parte del modello in cui nascono e si sviluppano le imprese, lo strato in cui sono presenti le banche, …)45;

• DisplayFrequency segnala la frequenza di aggiornamento della visualizzazione nel corso della simulazione: il valore corrisponde al numero di tick che trascorrono fra un aggiornamento ed il successivo;

• VerboseChoice determina la stesura di una descrizione, sotto forma di linee di testo, delle attività interne al programma (quando il parametro sia impostato true)46;

• PrintMatrixes attiva la funzione di stampa nella classe MemoryMatrix;

• CheckMemorySize permette di visualizzare, quando sia impostato

true, il controllo della disponibilità di spazio di memoria;

44 Il tasto deve essere selezionato due volte perché la chiusura dell’applicazione sia resa effettiva.

45 Gli strati sono numerati a partire dallo 0.

46 Le variabili logiche non possono essere abbreviate con la lettera iniziale, ma devono essere scritte in modo esteso.

Figura 3.6 – Finestra dell’Observer

• ZoomFactor consente di indicare il fattore di ingrandimento con cui si desidera visualizzare le unità sul raster nello UnitSpace;

• Time segnala il tempo trascorso dall’inizio della simulazione (l’unità di misura è riferita al tempo virtuale: es. 93 tick);

• TimeToFinish indica la durata complessiva della simulazione, espressa come numero di tick;

• PrintMemoryMatrixNumber determina la stampa a video della matrice che l’utente inserisce nel campo accanto al tasto47.

Premendo nuovamente il tasto Start sono visualizzate le finestre che contengono i parametri dei moduli:

• PotentialUnitType indica il numero di tipi diversi di unità che possono essere create nella simulazione; il valore corrisponde anche alla varietà

47 La matrice indicata (con una numerazione a partire dallo zero) deve essere confermata premendo il tasto Enter sulla tastiera. La matrice può essere visualizzata in fase di esecuzione della simulazione con un click destro sul tasto printMemoryMatrixNumber.

di competenze produttive potenzialmente presenti nel mondo, dal momento che le unità sono in grado di svolgere un’unica fase di lavorazione;

• UnitGenerationInitialP segnala la probabilità iniziale di creazione delle unità: il parametro può variare fra 0 (probabilità nulla) e 1 (unità create con certezza); se, ad esempio, la probabilità di creazione fosse pari a 0,8 potrebbe verificarsi la totale assenza nel mondo di unità con una particolare competenza produttiva;

• PotentialUnitNumberPerType definisce il numero di unità di uno stesso tipo che possono essere generate;

• NewUnitGenerationP indica la probabilità di creazione di nuove unità nel corso della simulazione; il valore è compreso fra 0 (nessuna nuova unità creata) e 1 (unità generate con certezza);

• MaxStepNumber si riferisce al massimo numero di fasi di cui può essere composta una ricetta produttiva;

• MaxStepLength contiene il valore della massima lunghezza ammissibile per un passo produttivo, espressa in unità di tempo (es. 2 secondi per l’attività 3 )48;

• MaxTicksAsUnsent indica il massimo numero di tick durante i quali un prodotto può rimanere all’interno di un’unità senza essere consegnato ad un’altra (trascorso tale tempo sarà cancellato);

48 La struttura di una ricetta può essere ad esempio: 4 s 1 1 s 1 2 s 3, cioè la fase 4 richiederà un’unità di tempo, la fase 1 un’unità anch’essa, mentre la fase 2 ne impiegherà 3.

Figura 3.7 – Finestra del Model

• UnitSpaceXSize definisce la dimensione orizzontale dello spazio delle unità;

• UnitSpaceYSize indica la dimensione verticale dello spazio delle unità;

• MinStartingVisibility stabilisce la dimensione minima iniziale dell’area di visibilità, cioè il numero di quadratini del raster coperti dall’area che circonda l’unità (tale area che può anche essere nulla);

• MaxStartingVisibility limita la dimensione massima iniziale dell’area di visibilità ad un valore predefinito;

• InterVisibilityMinLevel permette di creare un mondo in cui tutte le unità siano in grado di vedersi (parametro impostato a zero) oppure di stabilire una visibilità reciproca minima di partenza al di sotto della quale due unità non possano scambiarsi la produzione;

• IncreasingVisibilityStep definisce la velocità di crescita dell’area di visibilità nel corso della simulazione (espressa in numero di quadratini per tick);

• MaxInactivity indica il massimo numero di tick di inattività durante i quali l’impresa può sopravvivere49;

• MaxUnsentProducts indica la dimensione massima della barra dell’istogramma che riguarda le code di output dell’unità; superata tale dimensione si suppone che l’impresa vada incontro ad uno stato di crisi irreversibile e sarà pertanto rimossa dal raster come impresa fallita50;

• TotalMemoryMatrixNumber segnala il numero complessivo di matrici di memoria utilizzate;

• CreateNumberOfUnitsGraph se è impostato true consente la creazione del grafico dinamico dell’andamento del numero di unità nel mondo;

49 Se il parametro è impostato a zero l’unità può rimanere inattiva a tempo indeterminato, senza mai essere eliminata e la barra dell’istogramma che ne indica lo stato di inattività non sarà visualizzata.

50 Se il parametro è impostato a zero l’unità può accumulare prodotti non consegnati in quantità illimitata, senza che questo ne comporti il fallimento e la rimozione dal raster; la barra rossa dell’istogramma che indica la dimensione della coda di unsent in questo caso non sarà visualizzata.

• CreateProductionGraph determina, se impostato true, la visualizzazione del grafico dinamico che descrive l’andamento della produzione;

• CreateRatioGraph consente la creazione del grafico dinamico dei rapporti (ratio) che permettono di valutare l’andamento della produzione;

• UseOrderDistiller permette di scegliere se gli ordini produttivi debbano essere generati casualmente dall’orderGenerator (false) oppure distribuiti dall’orderDistiller a partire da un archivio preesistente (true);

• ShuffleListAtEachAssignament determina il riordino casuale della lista delle unità dello strato51 ad ogni assegnamento di un ordine (true); questo evita che la produzione possa concentrarsi in modo anomalo su una singola unità;

• UniqueAssignmentInEachCycle consente, se true, l’assegnazione di un unico ordine produttivo a ciascuna unità dello strato in ogni ciclo52; anche questa opzione è intesa a prevenire la concentrazione degli ordini produttivi verso un'unica impresa, ma nel caso in cui si avesse un numero di ordini da assegnare eccedente la quantità di unità presenti nel mondo, alcuni potrebbero non trovare un’unità di destinazione;

• StopIfZeroUnits determina l’arresto della simulazione quando non vi sia più alcuna unità nel mondo.

51 Il riferimento è allo strato in cui è effettuata la scelta di assegnamento, indipendentemente dallo strato ricevente.

52 L’opzione è riferita allo strato di destinazione, cioè quello in cui si trovano le unità che ricevono gli ordini.

Le unità produttive presenti sul raster sono identificate da un numero ed è assegnato loro un codice che individua la fase produttiva che sono in grado di svolgere: il valore è coerente con i dati contenuti nel file unitBasicData.txt (Figura

3.8) relativo a ciascuno strato della simulazione53.

Figura 3.8 – Il file unitBasicData.txt con i codici delle fasi produttive

53 Le attività sono indicate univocamente dal numero che le rappresenta, ma la stessa attività può rientrare fra le competenze produttive di più unità, perciò potranno verificarsi duplicazioni. Modifiche future dell’applicazione potrebbero associare ad ogni unità un vettore di attività produttive.

Outline

Documenti correlati