Sei sulla pagina 1di 41

La simulazione

____________________________________________________________________

2. LA SIMULAZIONE

2.1 Introduzione

Nello studio di un sistema fa parte del metodo scientifico sperimentare cercando di

riprodurre un modello dell’intero sistema, oppure di certe sue parti, sia per

comprenderne meglio la dinamica che per indagare sulle possibili evoluzioni di fronte

ad una certa serie di eventi. I modelli che si possono costruire sono vari:

• modelli icastici o pittorici; si tratta di ricostruzioni funzionanti in scala;

• modelli analogici; sono di tipo fisico, all’apparenza completamente diversi da

quello in studio, costituiti però da componenti che seguono le stesse leggi


fisiche del sistema da esaminare (analogia formale, per esempio l’elettricità e

l’idraulica);

• modelli virtuali; sono un insieme di regole logiche, matematiche e statistiche:

note le condizioni iniziali, le informazioni e i parametri da introdurre nelle

relazioni è possibile prevedere lo stato del sistema da riprodurre ad un certo

istante, all’istante precedente e all’istante successivo.

Quando si parla di simulazione ci si riferisce quasi sempre a questo ultimo genere

di modelli, normalmente implementati su calcolatore elettronico, quindi, la

____________________________________________________________________

25

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

simulazione, che è uno degli strumenti più utilizzati della ricerca operativa, viene

eseguita al fine di ottenere informazioni costose o impossibili da ottenere con

dispositivi reali. Volendo dare un definizione, possiamo dire che la simulazione è una

tecnica problem-solving numerica, usata per condurre esperimenti su un calcolatore

digitale, che implica certi tipi di modelli matematici e logici atti a riprodurre il

comportamento di un sistema economico o industriale (o dei suoi componenti)

durante estesi periodi di tempo reale [Nayl68].

SISTEMA

LIVELLO
SCOPO DI CONFINI
DETTAGLIO

VARIABILI DI VARIABILI DI
DECISIONE PRESTAZIONE

MODELLO

IMPLEMENTAZIONE

Figura 1: la simulazione.

La simulazione logico-matematica rispetto a quella icastica e analogica presenta

alcuni indubbi vantaggi:

____________________________________________________________________

26

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

• risparmio di tempo durante i run; le varie prove del sistema non durano

l’intervallo di tempo che si vuole studiare ma una frazione molto più ridotta;

• costruzione semplificata; non si devono costruire modelli fisici e quindi non c’è

bisogno di laboratori ma soltanto di un elaboratore elettronico;

• possibilità di riprodurre sistemi complessi;

• più ampio raggio di sperimentazione; le modifiche sono più semplici non

dovendo distruggere e ricostruire modelli fisici e quindi è possibile testare il

modello in una più ampia varietà di casi di funzionamento.

• possibilità di prevedere l’aleatorietà.

2.2. Classificazione dei modelli di simulazione

Sono possibili varie classificazioni dei modelli di simulazione; se ne propongono in

seguito due:

1. in base alla presenza o meno dell’elemento casuale;

a) modelli deterministici; non tengono conto dell’elemento casuale e si


prestano ad essere risolti con metodi esatti di analisi matematica. Per

questi modelli la storia del sistema è interamente basata su dati certi ed

esiste corrispondenza biunivoca tra i dati e l’evoluzione del sistema nel

tempo;

b) modelli stocastici; vengono fatti procedere inserendo nell’evoluzione

elementi casuali che sono ottenuti con estrazioni da distribuzioni

statistiche note. Tra le caratteristiche operative di questi modelli vi

sono non solo relazioni esatte ma anche funzioni di densità di

____________________________________________________________________

27

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

probabilità e non c’è quindi corrispondenza biunivoca tra dati e storia

del sistema: con uno stesso insieme di premesse possono essere

generate infinite storie possibili. Si può quindi effettuare un vero e

proprio campionamento di storie possibili e stimare con esso le

principali caratteristiche di funzionamento del sistema. I modelli

stocastici rappresentano meglio la realtà rispetto ai loro equivalenti

deterministici, sia pure a prezzo di una maggiore complicazione. Per

tale motivo sono usati più frequentemente e di essi si occupano le

tecniche di costruzione dei modelli di simulazione.

2. Secondo il modo di evoluzione del sistema nel tempo:

a) simulazione nel discreto; il sistema è descritto come un sovrapporsi di

sequenze di operazioni fisiche, intercalate da pause di inattività; queste

operazioni iniziano e terminano in istanti ben definiti, detti eventi, ed il

sistema subisce un cambiamento di stato in corrispondenza di ogni

evento, rimanendo nello stesso stato in tutto l’intervallo tra due eventi

successivi. Questo tipo di funzionamento discontinuo o discreto, a cui

possono essere ricondotti i modelli di un gran numero di impianti

industriali, è agevole da trattare con la simulazione, purché si sia in


grado di fornire al modello le proposizioni logiche e le formule

matematiche necessarie per individuare gli eventi e per descrivere

l’evoluzione degli stati del sistema;

b) simulazioni nel continuo; il tipo di funzionamento continuo (per

esempio: reti di acquedotti, raffinerie, etc.) è spesso trattabile con

metodi analitici diretti: dovendo ricorrere alla simulazione bisogna

ricondurre il problema al caso discreto; quando gli eventi non sono

____________________________________________________________________

28

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

nettamente individuabili, si usa di solito l’artificio di suddividere l’asse

dei tempi in intervalli costanti, studiando ciascun intervallo agli effetti

del cambiamento di stato che esso produce nel sistema. [Mart68]

2.3. Le fasi della simulazione

Nel processo di simulazione possono essere individuati 7 momenti da intendersi in

successione logica e temporale anche se non lineare:

1. formulazione del problema e scelta dell’obiettivo;

2. raccolta ed elaborazione dei dati;

3. preparazione di un modello logico-matematico-statistico;

4. implementazione del modello su calcolatore elettronico;

5. controllo del modello;

6. progettazione ed effettuazione degli esperimenti;

7. analisi e presentazione dei risultati;

Il processo di simulazione però non segue ordinatamente la successione, è

piuttosto una procedura trial and error in cui si esegue una fase che rimanda ad altre

in funzione dei risultati ottenuti; si effettuano cioè dei nuovi ingressi qualora una

sessione portasse a dei risultati in contraddizione con i passi precedenti: se, per

esempio, la fase di controllo del modello fornisse esiti negativi allora sarebbe

necessario ripetere la fase di costruzione del modello; al limite, se non fosse possibile

fornire delle raccomandazioni in grado di centrare l’obiettivo scelto, si dovrebbe

scegliere un diverso target e iniziare da capo la procedura.

____________________________________________________________________

29

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

2.3.1. Formulazione del problema e scelta dell’obiettivo

Il primo input, cioè l’indicazione di un problema, viene di solito fornita al gruppo

di simulazione dall’esterno (per esempio dai vertici aziendali), il compito di chi è

chiamato a eseguire la simulazione inizia con la formulazione del problema nei termini

della simulazione stessa, fissando le domande a cui deve essere data risposta, le ipotesi

da controllare e gli effetti da stimare tramite dei parametri concordati.

E’ utile che in questa fase venga elaborata anche una bozza del piano di lavoro,

con stime di fattibilità, costi, tempi uomo, tempi macchina e utilità sperata.

2.3.2. Raccolta ed elaborazione dati

Come prima fase abbiamo fissato la formulazione del problema e la scelta

dell’obiettivo e come seconda la raccolta e l’elaborazione dei dati; in realtà si tratta di

due fasi che devono partire in contemporanea e susseguirsi reciprocamente in quanto

se da un lato una analisi precisa deve partire da dei dati oggettivi, dall’altra parte una

precisa campagna di raccolta dei dati non potrà essere formulata senza chiarire bene la

natura e i fini dello studio.


Si tratta quindi di raccogliere i dati, di catalogarli e, dove possibile, costruire

distribuzioni empiriche di frequenza e tentare di adattarle a delle distribuzioni teoriche,

valutando la bontà del procedimento tramite dei tests statistici.

2.3.3. Costruzione di un modello logico-matematico-statistico

E’ questa la fase più specialistica della simulazione: si devono individuare le

componenti del sistema e le relazioni funzionali che legano tali componenti fra loro;

componenti e relazioni funzionali devono essere definiti in modo rigoroso, cioè deve

____________________________________________________________________

30

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

essere possibile descrivere interamente il sistema mediante formule matematiche e

logiche che legano fra loro delle variabili matematiche o logiche. Dalla fase di

costruzione del modello si deve ottenere:

• l’elenco degli elementi che costituiscono il sistema (entità, macchine e

magazzini);

• il diagramma di attività di ciascun elemento; gli elementi (per esempio le

macchine) possono assumere stati diversi nel corso della simulazione

(disponibili, occupate, guaste, etc.), il ciclo di attività (activity cycle diagram o

entity cycle diagram) deve illustrare i possibili passaggi di stato (una macchina

può passare da libera a occupata ma non da guasta a occupata se prima non

passa in riparazione) e le condizioni che permettono i passaggi di stato (una

macchina passa da libera a occupata quando arriva una entità da processare);

• l’elenco delle regole che determinano l’inizio e la fine della simulazione;

• la durata di ciascuna operazione che avvenga durante la simulazione (tempo

per riparare la macchina), espressa in forma diretta (un numero deterministico),

estratto da una distribuzione di probabilità (per esempio da una normale),

oppure sotto forma di espressione logica o matematica per ottenerla (tempo di

riparazione funzione del numero di riparatori disponibili);


• elenco delle variabili di prestazione che si intende monitorare e il procedimento

per ottenerle.

Costruito il modello è opportuna una sessione di verifica, anche soltanto a livello

statico con test statistici, per avere una prima valutazione della sua adeguatezza.

____________________________________________________________________

31

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

2.3.4. Implementazione su calcolatore elettronico

Si tratta di tradurre il modello nel linguaggio di simulazione prescelto, utilizzando

le funzioni matematiche, logiche e statistiche che esso mette a disposizione, oppure, se

necessario, costruendo delle subroutine ad hoc in un linguaggio general purpose.

Anche questa fase è molto delicata poiché si tratta di costruire il modello utilizzando

le strutture del programma, volendo fare un paragone si potrebbe dire che si deve

entrare nella testa del calcolatore e avere una rappresentazione del modello attraverso

gli schemi mentali del programma di simulazione.

Attualmente questa fase risulta integrata con la precedente poiché i moderni

pacchetti di simulazione offrono un ambiente grafico interattivo che facilita molto

queste due operazioni.

2.3.5. Controllo del modello

Se si vuole simulare un sistema esistente sarà necessario effettuare degli

esperimenti al fine di collaudare il modello; con “effettuare degli esperimenti“ si

intende che si dovranno testare le risposte del modello di fronte a situazioni in cui è
nota l’evoluzione del sistema reale. Spesso di fronte a sistemi particolarmente

complessi si procede per evoluzioni successive, costruendo un modello semplice,

testandolo e poi arricchendolo. Se l’oggetto della simulazione non esiste nella realtà

allora la verifica risulta molto più difficoltosa e conviene procedere per analogie con

quanto già esistente. L’evoluzione informatica ha agevolato questa difficile fase

fornendo utili strumenti come il debug interattivo e soprattutto l’animazione grafica.

____________________________________________________________________

32

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

2.3.6. Progettazione e conduzione degli esperimenti

Il primo problema riguarda la durata temporale delle iterazioni da eseguire per

ciascuno dei valori delle variabili di decisione; con “iterazione” si intende

l’esperimento che permette di ottenere, a partire da un preciso set di valori delle

variabili di decisione, un valore preciso per ciascuna delle variabili di prestazione

monitorate; dobbiamo inoltre distingue fra due tipi di sistemi:

• terminanti; quelli che rappresentano un processo completo con un inizio e una

fine, per esempio la costruzione di un edificio;

• non terminanti; quelli che rappresentano processi senza fine che interessano nel

loro funzionamento a regime, per esempio un altoforno; in questo caso sarà

dunque necessario prevedere un tempo di warm up affinché i risultati non siano

influenzati dal transitorio.

E’ necessario in ogni caso prevedere un tempo sufficientemente lungo affinché i

parametri di prestazione si assestino; solitamente si usa monitorare la varianza di un

parametro di prestazione, solo quando questa si assesta il valore del parametro risulta

attendibile. Nel caso di modelli deterministici, fornite le condizioni iniziali, il modello

avrà una evoluzione univocamente determinata, quindi sarà sufficiente un unico run di

simulazione per ogni set di variabili di decisione; nel caso invece di modelli che

prevedano l’aleatorietà, poiché identiche condizioni iniziali possono portare a storie

diverse, per ogni set di variabili di decisione bisogna determinare un certo numero di

iterazioni. Tale numero dipende dal limite massimo di errore accettabile: un campione

più numeroso diminuisce l’incertezza statistica, bisogna quindi condurre, per ciascuna

alternativa, varie iterazioni identiche (diverse solo per la sequenza dei numeri casuali

estratti) fino ad avere un campione significativo ai fini statistici (soglia di confidenza

uguale o superiore al limite prefissato).

____________________________________________________________________

33

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

2.3.7. Analisi e presentazione dei risultati

E’ bene che la fase di analisi sia strettamente correlata a quella di progettazione e

conduzione degli esperimenti in modo che i risultati indirizzino al meglio la campagna

di simulazione. Per ottimizzare questa connessione è necessario che i dati in uscita

risultino chiari e di facile interpretazione: l’evoluzione informatica ci facilita ancora

una volta il compito con postprocessori in grado di elaborare statisticamente i dati

raccolti durante l’esecuzione della prova e di fornirli sotto forma di valori medi,

deviazioni standard, numero di osservazioni, coefficienti di utilizzazione delle risorse,

diagrammi e tabelle che mettono in evidenza le relazioni tra le variabili di decisione e i

parametri di prestazione. I risultati devono essere messi in una forma tale da risultare

immediatamente comprensibili anche ai non esperti di simulazione (per esempio i

vertici aziendali). Nel caso di simulazione di impianti industriali le variabili di

decisione sono legate alle scelte impiantistiche od operative, mentre possono essere

parametri di prestazione la produttività oppure il profitto economico.

RUN

IMPLEMENTAZIONE ESAME
DEI CAMBIAMENTI DELL’OUTPUT

SCELTA DEI VERIFICA


VALORI DEI RAGGIUNGIMENTO
PARAMETRI OBBIETTIVI

SCELTA DEI
PARAMETRI DA
MODIFICARE

Figura 2: la procedura ciclica della simulazione.

____________________________________________________________________

34

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

2.4. Il software di simulazione

2.4.1. Classificazione

L’evoluzione e la diffusione della simulazione come tecnica di ricerca operativa è

andata di pari passo con l’evoluzione del software di simulazione.

Attualmente possiamo individuare cinque categorie di strumenti a cui

corrispondono differenti livelli di sofisticazione, dal primo dove ogni minimo dettaglio

del modello deve essere definito e programmato dal modellatore, all’ultimo nel quale

l’utente si limita a definire solo alcune caratteristiche del sistema; a ciascuna categoria

corrisponde anche un determinato periodo storico e un campo preferenziale di

utilizzo:

1. approcci che richiedono di definire la logica del modello:

a) approcci che richiedono di scrivere un programma:

i) linguaggi di simulazione general-purpose,

ii) pacchetti di simulazione;

b) approcci che non richiedono di scrivere un programma:

i) generatori di codice,

ii) simulatori data-driven;

2. approcci che non richiedono di definire la logica:

i) modelli generici per specifici sistemi produttivi.

____________________________________________________________________

35

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

DEFINIZIONE
DEL MODELLO

Approcci che Approcci che non


richiedono di richiedono di
definire la logica definire la logica
del modello del modello

Approcci che Approcci che non


richiedono di richiedono di
scrivere un scrivere un
programma programma

LINGUAGGI DI MODELLI GENERICI


PACCHETTI DI GENERATORI PACCHETTI
SIMULAZIONE PER SPECIFICI SISTEMI
GENERAL PURPOSE SIMULAZIONE DI CODICE DATA-DRIVEN PRODUTTIVI

Figura 3: il software di simulazione.

2.4.2. I linguaggi di simulazione general purpose

Nei linguaggi general purpose non viene fornito nessuno strumento specifico per la

simulazione: l’utente parte da una tabula rasa. E’ la situazione in cui si sono trovati i

pionieri della simulazione, costretti a definirsi delle subroutine per ogni caratteristica

di base. Questa procedura porta come vantaggio che l’operatore è a conoscenza di

ogni minimo dettaglio della prova; purtroppo essere a conoscenza di ogni minimo

dettaglio significa esserne l’artefice: questa procedura richiede quindi competenze

specifiche in un vasto campo di discipline. I linguaggi utilizzati sono il Fortran, il

Pascal e il C. Questa pratica è ormai completamente in disuso sostituita dagli

strumenti più evoluti.

____________________________________________________________________

36

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

Si tratta dell’evoluzione successiva: i linguaggi generale purpose vengono dotati di

subroutine per lo svolgimento di funzioni generali comuni a tutti i modelli di

simulazione come, per esempio, il meccanismo di controllo del tempo, la generazione

di numeri random, la raccolta dei dati di output di ciascun run, etc. L’utente continua

comunque a descrivere il modello utilizzando il vocabolario e la sintassi del linguaggio

di programmazione di base.

2.4.3. I pacchetti di simulazione

Nei pacchetti o linguaggi di simulazione (simulation language) si iniziano a creare

un vocabolario e una sintassi specifici per la simulazione, una sorta di linguaggio di

alto livello (scritto in Fortran o in C) che l’utente usa per descrivere il proprio

modello e che poi viene trascritto nel linguaggio di base. Le caratteristiche richieste ad

un linguaggio in generale sono la leggibilità e la compattezza, attributi in contrasto fra

di loro in quanto un linguaggio più compatto risulta generalmente meno leggibile.

L’assenza di istruzioni precise costringe ancora al ricorso a subroutine nel linguaggio

di basso livello.

2.4.4. Generatori di codice

Nascono dall’osservazione che i programmi di simulazione di sistemi diversi

contengono comunque dati e strutture di controllo comuni che possono quindi essere

pre-programmate. Le caratteristiche del singolo modello vengono poi inserite in

maniera interattiva e la generazione del codice di simulazione avviene

successivamente in maniera automatica, ciò garantisce anche la correttezza sintattica

dell’operazione di programmazione. Vengono introdotti strumenti di visualizzazione

grafica: una prima generazione richiedeva che il modellatore li dovesse descrivere

____________________________________________________________________

37

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

tramite una logica; la generazione più recente permette l’assemblaggio e la

connessione di icone (icon-based programming). La visualizzazione grafica si è

rivelata un ottimo strumento per la verifica dei modelli. La potenza di un generatore di

codice si può assumere proporzionale alla varietà di casi che esso contempla.

Aumentando i menù disponibili il pacchetto perde la sua specificità e tende ad

assomigliare ai linguaggi di simulazione, d’altronde possono comunque esistere delle

situazioni non previste che richiedono il ricorso a subroutine scritte nel linguaggio

target.

2.4.5. Simulatori data-driven

Vengono di solito denominati così i pacchetti di simulazione che permettono di

modellare sistemi con forti analogie senza bisogno di programmazione

tradizionalmente intesa. Al modellatore è chiesto soltanto di specificare i parametri

che selezionano logiche di funzionamento in un insieme che presenta delle alternative

anche molto diverse fra loro. Disponendo di un pacchetto data-driven l’utente deve

solo preoccuparsi di inserire nei campi di apposite tabelle i valori che adattano il

programma alle sue esigenze, è in grado poi di lanciare immediatamente la


simulazione senza che la necessità di compilare o tradurre.

2.4.6. Modelli generici per specifici sistemi produttivi

Con modello generico si intende un pacchetto mirato alla simulazione di una

famiglia di sistemi nella quale si incontrano caratteristiche e strutture simili. Al

modellatore non è richiesto di costruire la logica ma, in maniera interattiva, vengono

suggeriti i componenti da inserire (ad esempio i macchinari) e i vincoli che li legano: il

programmatore specifica il numero e il tipo di blocchi che compongono il sistema, ne

____________________________________________________________________

38

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

descrive le posizioni, i percorsi e i legami reciproci, e ne assegna i parametri e le

logiche di funzionamento scegliendo fra alternative predefinite. Il sistema genera poi

automaticamente il programma di simulazione completo di animazione e di

analizzatore dei risultati. Con un po’ di pratica risulta velocissimo ottenere dei risultati

poiché l’utente non deve programmare ma imparare poche regole di composizione,

l’altra faccia della medaglia è costituita dal fatto che spesso si incontrano strutture non

previste che quindi il pacchetto non è in grado di riprodurre. [Bart94]

2.5. Il sistema di simulazione Arena2.0

2.5.1. Siman

Siman, messo sul mercato nel 1982 dalla System Modeling Corporation, è stato

uno dei linguaggi di simulazione più diffusi; all’inizio era stato scritto in Fortran

mentre adesso è scritto in C, possiede una scansione del tempo di tipo process-

oriented, con la possibilità di trattare logiche complicate in modo event-oriented


mediante routine esterne (scritte in Fortran oppure in C) richiamate nei punti

opportuni. La programmazione si effettua costruendo in forma grafica un diagramma

di flusso costituito da una serie di simboli, detti blocchi, che descrive la sequenza

temporale di attese e attività delle entità o delle risorse del processo; ogni blocco

descrive un’istruzione più o meno complessa come, per esempio, occupare una

risorsa; speciali blocchi si occupano di funzioni particolari, quali ad esempio i sistemi

di trasporto individuati dai blocchi Convey e Transport.

____________________________________________________________________

39

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

Si tratta in realtà di compilare due modelli: il diagramma di flusso vero e proprio,

detto Model Frame, al quale corrisponde la logica dell’impianto e un altro detto

Experimental Frame che contiene gli input da assegnare al Model Frame. Nella

maggioranza dei casi la progettazione di una campagna di esperimenti richiede

soltanto la ricompilazione dell’Experimental Frame.

2.5.2. Arena2.0

Il simulatore Arena2.0 è l’ultima evoluzione del Siman; rispetto a questo presenta

delle importanti evoluzioni: la costruzione del modello avviene adesso attraverso un

diagramma di flusso più libero, i blocchi sono stati sostituiti da delle icone che il

modellatore ha il compito di disporre sulla finestra detta workspace. Il progettista

seleziona le icone dai seguenti cinque gruppi, detti panels:

• Common; i blocchi più comuni, adatti ad un vasto spettro di modelli;

• Support; un insieme di funzioni molto flessibili per aumentare la possibilità di

rappresentazione dei Common;

• Transfer; i moduli atti a rappresentare i sistemi di trasporto;

• Blocks; i blocchi elementari di Siman;

• Elements; non partecipano al flusso logico ma descrivono delle strutture

comuni a tutto il modello (ad esempio una risorsa o un set di distanze).

Le icone devono poi essere collegate fra loro in modo da rappresentare il processo

logico e debitamente compilate inserendo gli input richiesti (icon-based

programming). Il modello così costruito è dotato anche di animazione grafica che,

sempre se opportunamente compilata, è in grado di visualizzare il flusso delle entità, il

ciclo delle risorse e i percorsi dei trasportatori.

____________________________________________________________________

40

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

La Professional Edition offre in più la possibilità di creare dei blocchi

personalizzati (Template) che sono una sorta di macro istruzioni che possono venire

assemblate facendo ricorso a tutti i blocchi a disposizione (grafica compresa). Questa

possibilità è molto interessante poiché porta degli indubbi vantaggi: è possibile

condensare in un unico blocco logiche molto complicate rendendo più intuitiva e

diretta l’osservazione (corrispondenza fra elemento fisico e blocco); si può realizzare

una libreria dei blocchi realizzati e rendere più veloci i lavori futuri.

La definizione di una nuova Template è un processo che attraversa cinque fasi:

• Logic; si tratta di definire la logica di funzionamento del modulo facendo

ricorso a tutte le strutture a disposizione, agli altri blocchi ed eventualmente ad

altre Template;

• Operands; sono gli input che il modellatore dovrà fornire al modulo per

utilizzarlo;

• Switches; ossia interruttori: in funzione degli Operands la logica provvederà a

diversi funzionamenti, gli Switches indirizzano il funzionamento del modulo e la

ulteriore richiesta di Operands; per esempio un modulo potrebbe prevedere

l’utilizzo di una risorsa oppure no, in caso di risposta affermativa sarà

necessario precisare il nome di tale risorsa, il tempo di occupazione, etc;


• User View; ossia ciò che appare al modellatore, non si tratta soltanto di definire

un simbolo ma di prevedere una animazione completa, per esempio

visualizzando il ciclo delle risorse oppure inserendo un contatore;

• Panel Icon, si tratta di definire semplicemente il simbolo che appare nella

finestra dei Panels;

Arena2.0 provvede poi automaticamente alla compilazione del programma Siman,

sia del Model Frame che dell’Experimental Frame.

____________________________________________________________________

41

La generazione automatica di modelli di simulazione nella progettazione...


La simulazione

____________________________________________________________________

Da sottolineare che la struttura delle Template, pur ammettendo di incapsulare

attributi e metodi all’interno di “oggetti” che racchiudono gerarchie complesse, in

realtà si discostano in maniera rilevante dalla struttura dei linguaggi Object Oriented;

in particolare non è possibile la derivazione di sottoclassi a livello di esecuzione ed

anche a livello di definizione delle Template modifiche anche piccole delle

caratteristiche di un blocco possono richiedere modifiche sostanziali di tutto il

complesso..

Importanti strumenti risultano essere gli analizzatori dei dati in ingresso e in uscita

che prendono il nome rispettivamente di Input Analyzer e Output Analyzer. Con dati

in ingresso si intende quei parametri necessari per fare funzionare il modello, l’Input

Analyzer offre varie opzioni:

• le principali distribuzioni di probabilità;

• la possibilità di leggere da file una distribuzione empirica, definirla e farvi

riferimento durante il run del modello;

• una funzione, detta Data Fitting, che legge un file di dati, esegue i test di

adattamento per le principali distribuzioni statistiche e utilizza la curva che

meglio approssima i dati.

L’Output Analyzer costituisce un sistema molto potente di raccolta dei risultati


della simulazione ed è in grado di fornire statistiche, sia in forma tabellare che grafica,

dei parametri monitorati.

____________________________________________________________________

42

La generazione automatica di modelli di simulazione nella progettazione...