• Non ci sono risultati.

Creazione di un modello : rappresentazione del sistema

N/A
N/A
Protected

Academic year: 2021

Condividi "Creazione di un modello : rappresentazione del sistema"

Copied!
10
0
0

Testo completo

(1)

Sistema : collezione di componenti (elementi, entità) interdipendenti che interagiscono fra loro in accordo a specifiche predefinite.

Studio, analisi del sistema al variare delle caratteristiche operative.

Sistema Modello

Creazione di un modello : rappresentazione del sistema

Obiettivo : studio del comportamento del sistema e delle relazione fra le sue componenti.

Processo di creazione ed uso del modello : 1. Definizione

2. Parametrizzazione 3. Valutazione

Rappresentazione del sistema : stato variabili di stato

regole di trasformazione fra stati

Comportamento del sistema : storia degli stati

Evoluzione delle variabili di stato in funzione del tempo.

stato del sistema ↔ stato del modello

storia degli stati del sistema ↔ storia degli stati del modello Simulazione : uso del modello per la produzione cronologica

della storia degli stati del modello,

corrispondente alla storia degli stati del

sistema

(2)

Sim.1.2 Modelli per la valutazione di sistemi:

• analitici

* basati su processi stocastici (Markoviani)

* modelli di code

servente singolo a rete di code

modelli in forma prodotto

* soluzioni simboliche

* soluzioni numeriche

• simulativi

• ibridi

Modelli di simulazione: possibilità di una descrizione procedurale delle variabili e delle regole di trasformazione

Simulazione digitale: basata su elaborazione digitale.

Programma di simulazion : produce una storia degli stati del modello da cui si ottengono informazioni relative all'evoluzione temporale del sistema.

Variabili di stato: esogene / endogene Sistema: aperto / chiuso

continuo / discreto

stocastico / deterministico

Storia degli stati : cambiamenti di stato : continui / discreti

Simulazione continua / discreta Simulazione discreta

il cambiamento di valore delle variabili di stato avviene ad istanti discreti

Sistemi stocastici: una o più variabili di stato è stocastica (varia

con casualità)

(3)

Evento : cambiamento di stato

a cui è associato un istante (tempo) di occorrenza esempio : sistema di elaborazione uniprocessore

arrivo di un programma da elaborare

completamento dell'elaborazione di un programma __________*_______________*_________

t

arrivo

↑ t

completamento

t

simulato

Attività : collezione di operazioni che trasforma lo stato di una componente.

Una attività viene eseguita in un tempo ed è caratterizzata da un evento di INIZIO e da un evento di TERMINAZIONE.

Ogni evento è caratterizzato dalla coppia (ei, ti) ei identifica l'evento

ti il tempo di occorrenza dell'evento Evoluzione temporale

… (e1, t1) (e2, t2) … (en, tn) … t1<t2<…<tn

Simulazione discreta : sequenza di eventi ei e relativi tempi di occorrenza ti

Processo : sequenza di eventi ordinati nel tempo

(4)

Sim.1.4 Tempo:

• reale: tempo del sistema da simulare

• simulato: tempo rappresentato nel modello (clock : variabile del modello il cui valore è il tempo simulato corrente)

• di esecuzione: tempo di elaborazione del programma di simulazione.

Nota: il tempo di esecuzione dipende dalle componenti del modello e dalla complessità dei cambiamenti di stato rappresentati, e non dalla scala del tempo simulato.

Contrazione / espansione temporale.

Rappresentazione dell'evoluzione temporale : orologio (clock) Avanzamento del tempo di simulazione :

• per intervalli fissi

il tempo di clock, t, è incrementato di una quantità fissa ∆ (p.es.

1minuto, 1 sec., 1 microsec.) e si esamina il sistema per determinare gli eventi che devono aver luogo (ovvero tutti gli eventi con tempo di occorenza ti ∈ (t, t+ ∆ ]) per i quali si effettuano le necessarie trasformazioni

Scelta dell'incremento ∆.

Eventi con diversi tempi di occorrenza possono essere trattati come eventi simultanei. Possibili intervalli vuoti.

• per eventi

si incrementa il clock fino al tempo di occorrenza del prossimo (primo) evento ( t ← t1). Incrementi non regolari.

Eventi simultanei solo se hanno ugual tempo di occorrenza.

Si evitano i tempi di inattività del sistema

Meccanismo più semplice e maggiormente utilizzato.

(5)

Dai tre concetti : evento attività processo derivano diversi approcci alla simulazione

• Simulazione per sequenziamento di eventi

• Simulazione per scansione di attività

• Simulazione per interazione fra processi Simulazione per interazione fra processi

Comportamento del sistema : insieme di processi (programmi in esecuzione quasi parallela)

Entità → processo

esempio: sistema di elaborazione uniprocessore con periferiche

un processo per ogni job nel sistema,

un processo per la CPU, uno per ogni periferica

Ogni processo viene eseguito ciclicamente esempio: consideriamo il processo CPU :

centro di servizio; assumiamo che i job in coda per ottenere l'elaborazione (il servizio) siano gestiti secondo la disciplina First In First Out;

il processo ripete ciclicamente fino all'evento di fine simulazione i seguenti passi

1- Esamina la coda, se è vuota vai al passo 5 2- Preleva un utente dalla coda

3- Esegui il servizio* per il job selezionato 4- Vai al passo 1

5- Attendi l'arrivo del prossimo utente; al suo arrivo vai al passo 1

*

il servizio è realizzato valutandone il ritardo introdotto.

Il processo descritto nell'esempio è un algoritmo

Il passo 4 non viene eseguito finché il clock non è avanzato di

(6)

Sim.1.6

sospensione temporanea del processo

Il passo 4 viene eseguito dopo il ritardo corrispondente al servizio

il passo 4 è un punto di riattivazione del processo Il passo 5 differisce dal passo 4 :

la durata del tempo di sospensione non è prevedibile la riattivazione avviene solo tramite un altro processo Il processo è allora in uno stato passivo (bloccato) Un processo può essere

• attivo

• sospeso

• passivo

Nella simulazione per interazione fra processi una routine gestisce i cambiamenti di stato dei processi.

Una routine salva lo stato del processo se questo viene sospeso o bloccato. Due liste di processi:

{ processi sospesi} (oggetti sospesi) { processi bloccati} (oggetti passivi)

La routine di controllo riattiva un processo al verificarsi della condizione di riattivazione.

Un oggetto di tipo servente può essere

• attivo : sta eseguendo le azioni specificate nella definizione

• sospeso : è caratterizzato da un tempo di riattivazione

• passivo : non è attivo e il tempo di riattivazione dipende da un altro oggetto

• terminato : ha terminato tutte le azioni

(7)

INIZIO INIZIALIZZAZIONE

ROUTINE DI CONTROLLO

PROC.

ARRIVI PROC.

JOB 1

PROC.

JOB N

PROC.

CPU

PROC.

PERIF.

PROC.

OSS.

FINE SIM.

FINE OGGETTI

SOSPESI

OGGETTI PASSIVI

Un processo cambia stato da sospeso ad attivo tramite primitive del linguaggio.

Ad esempio la primitiva HOLD(T) in Simula la cui esecuzione provoca una sospensione del processo per un tempo T, preceduta dal salvataggio dello stato del processo.

Lista dei processi sospesi: insieme dei processi in attesa del termine del periodo di sospensione autodeterminato, ordinati cronologicamente.

Il primo processo è un oggetto attivo, corrispondente al processo attualmente in esecuzione

Lista degli oggetti passivi: insieme dei processi in attesa di essere riattivati da altri processi al verificarsi delle condizioni di riattivazione.

es.: processo CPU bloccato per coda vuota; condizione di riattivazione: arrivo di un utente, generato dal processo arrivi.

Simulazione per interazione fra processi : approccio naturale

alla simulazione.

(8)

Sim.1.8 Realizzazione semplificata dall'uso di linguaggi appropriati, orientati ad oggetti, forniti di primitive per la gestione di oggetti, di liste, dell'avanzamento del tempo simulato.

Simula (Dahal-Nygaard 1966): liguaggio orientato ad oggetti;

concetto di classe, primitive per la gestione degli oggetti

(ACTIVATE, PASSIVATE, HOLD,...).

(9)

Simulazione per sequenziamento di eventi

La simulazione orientata ad eventi si basa su un insieme di procedure (sottoprogrammi), ognuna associata ad un evento, che realizzano le trasformazioni di stato relative.

Evento → procedura (segmento di programma)

Lo schema del programma di controllo è simile al caso di simulazione orientata a processi.

Il programma termina quando viene raggiunto il tempo di fine simulazione, stabilito con un criterio opportuno.

INIZIO INIZIALIZZAZIONE

Determina il prossimo evento

Gestione

evento 1

Gestione evento

FINE SIM.

Poni clock=0

FINE Aggiorna il clock

Passa il controllo alla procedura relativa all'evento selezionato

Gestione evento 2

Gestione evento N SEQUENZIATORE

Il numero e la struttura delle procedure dipende dagli eventi

considerati nel modello e dall'approccio seguito.

(10)

Sim.1.10 Simulazione per scansione di attività

La simulazione per scansione di attività si basa sulla descrizione delle attività delle componenti del modello.

Attività → procedura (segmento di programma)

Se è applicato il meccanismo di avanzamento per intervalli fissi

∆ , ad ogni avanzamento vengono esaminate tutte le attività per stabilire le condizioni di inizio / fine attività. Le relative procedure aggiornano lo stato delle entità.

Si può applicare un meccanismo di avanzamento del tempo distribuito nelle procedure delle attività (analogo all'avanzamento per eventi).

INIZIO INIZIALIZZAZIONE

Gestione attività 1

Prevedi il primo evento

FINE Aggiorna il clock

Gestione attività 2

Gestione attività M Gestione attività FINE SIM.

Riferimenti

Documenti correlati

ne potenziano la diffusione sul territorio; Italia Lavoro, nell’ambito dell’Azione di sistema Welfare to work per le politiche di reimpiego, fornisce strumenti e

In questo lavoro utilizzeremo una gerarchia di applicazioni: limited area model (LAM), per quanto riguarda la meteorologia, geographic information systems (GIS), per la

Obtain bound on running time of algorithm on random input as a function of input size N.. – Hard (or impossible) to accurately model real instances by random

principio zero della termodinamica : se ciascuno di due corpi, A e B, è in equilibrio termico con un terzo corpo C, allora A e B sono in equilibrio termico tra loro... La

la musica favorisce l’incontro diretto dell’uomo con l’estetica ed il riconoscimento del valore significante del contatto simbolico con il mondo, traducendolo

In questo panorama programmaticamente religioso, le Sacre Scritture non possono che stagliarsi come fonte principale delle Laudes Domini: i primi versi si ispirano alle