Il punto di vista “Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare come un tutto formato di componenti interagenti” Ciascuna componente ha propri stati ed evolve per effetto di azioni, scelte locali e per effetto di interazioni con altre componenti. 1 La potenza espressiva • Stati, azioni e interazioni • Localita’ di stati e azioni • Il comportamento globale ‘emerge’ dalla composizione di comportamenti locali • Facilita’ di cogliere la natura distribuita dei processi reali 2 Semantica ben definita • Derivano dalle Reti di Petri un modello matematico sottostante • Operatori , leggi di composizione e strumenti modellistici potenti e ben fondati • Tools di supporto per descrizioni complesse 3 Pochi costrutti: struttura delle attivita’ • Stati : • Azioni : • Causalita’: detto posto detta transizione detto flusso • Le transizionizioni sono etichettate: – a, b, c, … azioni visibili – tau azioni invisibili 4 Un esempio A B s1 a e s5 s3 a s4 b b s2 s7 g c s6 s8 d d 5 Localita’ • ogni stato e’ definito dalle azioni locali che lo producono e che sono da esso dipendenti • ogni transizione e’ definita dagli stati locali da cui dipende e che essa genera 6 Pochi costrutti: il comportamento • Lo stato corrente e’ rappresentato da una ‘marca’ : • Stato = condizione vera/falsa • Il comportamento e’ rappresentato in termini di cambiamento di stato: – Regola di scatto di una transizione 7 Concessione e regola di scatto di una transizione Un transizione può scattare quando sono marcati tutti i suoi posti di ingresso: un’azione può avere luogo quando tutte le sue precondizioni sono verificate. scatto Lo scatto di una transizione toglie la marca da tutti i suoi posti di ingresso e mette una marca in tutti i suoi posti di uscita: il verificarsi dell’azione rende false le sue precondizioni e rende vere le postcondizioni. 8 Un esempio …. A B s1 a con B e con X s5 s3 a con A s4 b b s2 s7 c con Y s8 g s6 d con A e C d con B e C 9 Modellazione di realta’ complesse • Una disciplina per costruire il modello basata su: – Approccio bottom-up • Derivare le componenti del sistema dalla realta’ • Costruzione di modelli per ciascuna di esse (componenti elementari) • Comporre tali modelli nel sistema complessivo 10 componente elementare Non contiene concorrenza ma solo non determinismo. È una macchina a stati (un automa a stati finiti) con: • il nome della componente elementare che rappresenta • i posti interpretati come stati locali della componente elementare • le transizioni interpretate come azioni individuali o di interazione • la marcatura iniziale definita dal posto che rappresenta lo stato iniziale 11 Dalle componenti al sistema Un sistema e’ costruito per composizione dei modelli delle sue componenti elementari Due operazioni di composizione che si basano sulla dualita’ tra posti e transizioni 12 T- composizione La T- composizione avviene in tre fasi: 1- distinguendo le azioni locali alla componente dalle sue interazioni con altre componenti: etichettatura delle transizioni 2- sovrapponendo le transizioni con la stessa etichetta e attribuendo alla transizione risultante come posti di ingresso/uscita l’insieme dei posti di ingresso/uscita delle transizioni sovrapposte. 3- se in ciascuna componente compaiono più transizioni che rappresentano la stessa interazione, la sovrapposizione di transizioni è operata solo dopo aver generato in ogni componente un opportuno numero di copie di tali transizioni. 13 Un esempio semplice 14 Un esempio A A B s1 a con B s5 a con A s2 a e con X s5 s4 s3 s3 s4 b b b s1 s2 e con X B g s7 s6 g s7 b s6 c con Y c con Y d con A e C s8 d con B e C s8 d con C 15 S-composizione (opzionale) • Identificando i posti che rappresentano lo stesso stato in diverse componenti • Sovrapponendo tali posti e attribuendo al posto risultante come transizioni di ingresso/uscita l’insieme delle transizioni di ingresso/uscita dei posti sovrapposti. – Consente la semplificazione del modello in alcune situazioni (Buffer) – Consente la costruzione incrementale del modello (simulando gli operatori di scelta e di prefisso del linguaggio FSP) 16 Esempi Utente Componente A invio Componente B ricezione Il posto in rosso e’ un buffer Decide di fare altro Fa altro Decide di usare la risorsa Usa la risorsa Rilscia la risorsa Il posto in giallo si puo’ sovrapporre ad un posto della componente utente, generando una scelta 17 Il modello risultante Una rete SA è un grafo orientato con due tipi di nodi, posti e transizioni, alternativamente connessi da archi orientati in modo tale che: a) non ci siano nodi isolati b) due posti o due transizioni non siano mai connessi c) ogni transizione abbia lo stesso numero di archi entranti e uscenti (a meno dei buffer) d) l’insieme dei posti sia ripartibile in classi disgiunte che costituiscono gli stati di ciacuna componente (a meno dei buffer) 18 Un esempio s1 s2 a e con X s5 s3 s4 b g s7 b s6 c con Y s8 d con C 19 Conflitto e concorrenza Due transizioni si dicono in conflitto tra loro quando hanno entrambe concessione e condividono almeno un posto di ingresso. a c b d e f Due transizioni si dicono concorrenti quando hanno concessione sotto la stessa marcatura e non sono in conflitto fra loro 20 Non-determinismo globale e locale • Quale componente decide il comportamento congiunto? B s1 s2 A B t3 t1 A t2 A t4 s1 s3 s2 s4 t2 t1 s3 s7 s5 s6 s8 B t3 t2 s4 21 Uso del modello risultante Il modello risultante serve per provare proprietà del sistema tramite strumenti capaci di trattare la complessità di sistemi reali, facendo uso del modello matematico sottostante: costruzione del modello complessivo generazione delle possibili evoluzioni (Grafo di raggiungibilita’) calcolo di proprieta’ invarianti calcolo di performance ecc. 22 Dato il sistema SA A B s1 s2 a e con X s5 s3 s4 b g s7 b s6 c con Y s8 d con C 23 Il suo Grafo di Raggiungibilità e’: < s1, s2 > e con x a < s 3 , s2 > b < s 5 , s4 > g b < s1, s2 > < s7, s4 > c con y g < s 8 , s4 > g < s5, s6 > b < s7, s6 > c con y < s8, s6 > d con C < s1, s2 > tutti i comportamenti possibili 24 Regole di controllo • • • Le transizioni devono avere lo stesso numero di archi entranti ed uscenti; quindi: I punti di decisione, da cui partono i cammini alternativi, sono rappresentati da stati (posti) e NON da transizioni I cammini alternativi, se si ricongiungono, lo fanno entrando in uno stato(posto) e NON in una transizione. 25 Regole di controllo • Distinguere tra: A comunica con B e C nello stesso istante rappresentato da una unica transizione con tre archi entranti ed uscenti (A, B, C) e A comunica con B o con C in alternativa rappresentato con due transizioni con due archi entranti e due archi uscenti ciascuna (A, B oppure A, C) 26 Regole i controllo • Se una componente contiene una interazione che corrisponde a due interazioni in un’altra componente la prima deve essere sdoppiata (si veda l’esempio nel link esempio_SA e la regola 3 della T-composizione) 27