I sistemi a eventi discreti
Cos'è un sistema a eventi discreti
Un sistema a eventi (SED) è un sistema dinamico il cui comportamento è determinato dal verificarsi di un evento istantaneo ( occorrenza ) con cadenza irregolare e con qualche variabile discreta.
Gli eventi si verificano in modo asincrono e la loro distribuzione nel tempo non è nota a priori.
Quindi, i sistemi SED non si basano sull'avanzamento sincrono del tempo.
Nota. A causa delle loro caratteristiche i sistemi SED non possono essere descritti tramite i modelli lineari della teoria dei sistemi tradizionale.
Come funziona un sistema a eventi discreti
I principali elementi di un sistema SED sono
- Un insieme E di eventi che possono accadere
- Un insieme discreto X composto dagli spazi di stato
- L'evoluzione dello stato del sistema è determinata dagli eventi ( event-driven )
Un particolare evento determina un cambiamento discreto e qualitativo del sistema.
Nota. Non tutti gli eventi influiscono sullo stato del sistema ma soltanto quelli indicati nell'insieme E. Pertanto, un sistema SED non reagisce ai microcambiamenti di ambiente ( insufficienti ) o agli eventi di altro tipo che avvengono continuamente nel'ambiente circostante.
Ad esempio, inizialmente il sistema si trova nello stato X1 ∈ X nell'istante t0.
In un istante successivo t1 un evento e1 di E fa transitare il sistema nello stato X2.
Questo processo è descritto nella funzione di transizione di stato del sistema
$$ x_{k+1} = f(x_k,e_k) $$
Dove xk+1 è lo stato del sistema dopo il k-esimo evento ( ek ) che lo fa transitare dallo stato xk a xk+1.
Mentre k è un intero progressivo che indica il verificarsi del k-esimo evento a partire dall'istante iniziale t0.
Nota. Non è noto in quale istante temporale (t) si verifica l'evento (e) ma sicuramente quando accade il sistema transita in un nuovo stato (X).
Ogni stato è associato a una particolare attività del sistema.
Pertanto, nei SED la durata di ogni singola attività non è nota a priori.
Un esempio pratico
Ecco qualche esempio pratico di sistema a evento
Esempio 1
Se un sistema informatico riceve una email, si avvia un processo per elaborarla.
Non posso sapere quando arriverà l'email, né quante email arriveranno. L'arrivo dell'email è un esempio evento.
Esempio 2
Un altro esempio è l'ingresso di un cliente in un negozio.
Si tratta di un evento non prevedibile nel tempo.
Nota. Questi esempi mettono in evidenza l'importanza della gestione delle code nei sistemi a eventi discreti. Può infatti capitare che più eventi siano simultanei o quasi e il sistema non sia in grado di gestire tutte le richieste. Questa tipologia di sistemi SED è detta sistema a coda.
Il modello a eventi discreti
L'astrazione del comportamento di un sistema a eventi discreti è formalizzato in un modello matematico detto Modello a Eventi Discreti (MED).
Esistono due tipologie di modelli MED:
- MED logici
Sono modelli logici in cui le tracce sono sequenze di occorrenze degli eventi senza alcuna indicazione sull'istante temporale in cui si verificano. - MED temporizzati
Sono modelli temporizzati in cui le tracce sono coppie (x,t) formate dall'occorrenza x e dall'istante temporale t in cui si verifica. Possono essere deterministici o stocastici.
Cos'è la traccia? Nei sistemi a eventi discreti una traccia è una sequenza di occorrenze di eventi. Ad esempio {x0,x1,x2,...}. E' anche detta traiettoria.
L'evoluzione del sistema nel tempo
Un sistema a eventi assume uno stato ogni qual volta si verifica un evento.
Ad esempio, un evento si presenta nell'istante t1, un altro evento nell'istante t2.
La sequenza di eventi descrive la sua evoluzione nel corso del tempo.
Quindi, un modello a eventi può essere studiato anche in funzione del tempo, sotto forma di sequenza cambiamenti di stato.
Differenza tra SAT e SED. I SAT sono sistemi ad avanzamento temporale. A differenza dei SED, nei SAT l'evoluzione dinamica si basa sull'avanzamento sincrono del tempo. Nei SED, invece, la dinamica si basa su occorrenze asincrone.
E così via