La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Composizione parallela - alternanza di azioni think talk scratch think scratch talk scratch think talk Se P e Q sono processi allora (P||Q) rappresenta.

Presentazioni simili


Presentazione sul tema: "Composizione parallela - alternanza di azioni think talk scratch think scratch talk scratch think talk Se P e Q sono processi allora (P||Q) rappresenta."— Transcript della presentazione:

1 Composizione parallela - alternanza di azioni think talk scratch think scratch talk scratch think talk Se P e Q sono processi allora (P||Q) rappresenta lesecuzione concorrente di P e Q. Loperatore || è denominato operatore di composizione parallela. ITCH = (scratch->STOP). CONVERSE = (think->talk->STOP). ||CONVERSE_ITCH = (ITCH || CONVERSE). Possibili sequenze di azioni risultanti da unalternanza dei processi.

2 Composizione parallela - alternanza di azioni Modello LTS 2 stati 3 stati 2 3 stati from CONVERSE from ITCH (0,0)(0,1)(0,2)(1,2) (1,1)(1,0) Descrizione del comportamento

3 Composizione parallela - alternanza di azioni Modello Reti SA scratch ITCH think talk CONVERSE CONVERSE-ITCH ? think talk scratch fork join

4 Composizione parallela - proprietà algebriche Commutativa: (P||Q) = (Q||P) Associativa: (P||(Q||R))= ((P||Q)||R) = (P||Q||R).

5 Modellare linterazione - azioni condivise MAKER = (make->ready->MAKER). USER = (ready->use->USER). ||MAKER_USER = (MAKER || USER). MAKER si sincronizza con USER quando ready. Se due processi che devono essere composti hanno delle azioni in comune, queste azioni sono dette condivise. Per mezzo di azioni condivise si modella linterazione tra processi. Mentre le azioni non condivise possono essere alternate in modo arbitrario, unazione condivisa deve essere eseguita nello stesso istante da tutti i processi che vi partecipano

6 Modelli make use LTS RETI SA make ready MAKER ready use USER use Ready make MAKER-USER

7 labeling di processi a:P pone il prefisso a ad ogni etichetta di azione dellalfabeto del processo P. SWITCH = (on->off->SWITCH). ||DOPPIO_SWITCH = (a:SWITCH || b:SWITCH). Due istanze di un processo switch: ||SWITCHES(N=3) = (forall[i:1..N] s[i]:SWITCH). ||SWITCHES(N=3) = (s[i:1..N]:SWITCH). Un array di istanze del processo switch :

8 In Reti SA Si devono creare tante istanze quanti sono i prefissi Ogni istanza ha le etichette con uno dei prefissi

9 process labeling con un insieme di etichette {a1,..,ax}::P sostituisce ogni etichetta n di azione nellalfabeto di P con le etichette a1.n,…,ax.n. Inoltre, ogni transizione (n->X) nella definizione di P è sostituita dalle transizioni ({a1.n,…,ax.n} ->X). Il prefisso di processi è utile per modellare risorse condivise: RISORSA = (riserva->rilascia->RISORSA). UTENTE = (riserva->usa->rilascia->UTENTE). ||CONDIVISIONE DI RISORSE = (a:UTENTE || b:UTENTE || {a,b}::RISORSA).

10 Prefissi di processi per risorse condivise a:UTENTE a:riservaa:usa a:rilascia b:UTENTE b:riservab:usa b:rilascia a:riserva a:usa a:rilascia b:rilascia b:usab:riserva CONDIVISIONE DI RISORSE a:riserva b:riserva a:rilascia b:rilascia RISORSA

11 Prefissi di processi per risorse condivise a-riserva non disponibile a-rilascia disponibile a-riserva a-rilascia b-riserva b-rilascia disponibile non disponibile b-riserva usa b-rilascia Regola 3 della definizione Di T composizione

12 Sistema SA a-riserva a-usa a-rilascia b-riserva non disponibile ottenuto dalla T-composizione

13 relabeling di azioni Queste funzioni assicurano che processi composti possano essere sincronizzati su azioni particolari Le funzioni di relabeling sono applicate ai processi per rinominare le azioni. La forma generale di una funzione di relabeling è la seguente: /{newlabel_1/oldlabel_1,… newlabel_n/oldlabel_n}. CLIENT = (call->wait->continue->CLIENT). SERVER = (request->service->reply->SERVER).

14 relabeling di azioni ||CLIENT_SERVER = (CLIENT || SERVER) /{call/request, reply/wait}.

15 relabeling di azioni wait call continue request service reply call continue service reply Si puo usare un operatore di Ri-etichettatura analogo per le Reti SA (Non nativo)

16 relabeling di azioni - etichette prefisso SERVERv2 = (accept.request ->service->accept.reply->SERVERv2). CLIENTv2 = (call.request ->call.reply->continue->CLIENTv2). ||CLIENT_SERVERv2 = (CLIENTv2 || SERVERv2) /{call/accept}. Una formulazione alternativa del sistema client server è descritta sotto per mezzo di etichette qualificate o prefisso :

17 hiding di azioni - astrazione per ridurre la complessità Applicato a un processo P, loperatore di hiding \{a1..ax} rimuove i nomi di azioni a1..ax dallalfabeto di P e rende queste azioni celate "silenti". Le azioni silenti sono etichettate tau. Azioni silenti in processi distinti NON sono condivise. Applicato a un processo P, loperatore di nasconde tutte le azioni nellalfabeto di P che NON appaiono nellinsieme a1..ax. Talvolta è più appropriato specificare linsieme di azioni che devono essere mostrate.... (operatore complementare)

18 Hiding di azioni UTENTE = (riserva->usa->rilascia->UTENTE) \{usa}. UTENTE = Le seguenti definizioni sono equivalenti: La minimizzazione rimuove azioni tau nascoste per produrre un LTS con comportamento osservabile equivalente. riservausa rilascia riserva rilascia

19 Dato il sistema ….. s1s2 s4 s3 s5 s7 s8 s6 e con X b a d con C c con Y g b

20 Il corrispondente FSP e: A = (e_conX --> b --> A | a_conB --> b --> c_conY --> d_conBeC -->A) B = (a_conA --> g --> d_conAeC --> B A_B = (A || B ) (i colori indicano le azioni da sovrapporre) Il cui LST e isomorfo al precedente grafo di raggiungibilita: stesso numero di nodi (stati), stesso numero di archi con eguale etichettatura

21 const N = 1 intervallo T = 0..N intervallo R = 0..2*N SUM = (in[a:T][b:T]->TOTAL[a+b]), TOTAL[s:R] = (out[s]->SUM). FSP - dichiarazione di costanti e di intervalli Luso di indici serve per modellare calcoli

22 SOMMA CON RETI DI PETRI Se lordine di lettura viene considerato nella definizione degli stati la coppia (1,0) è diversa dalla coppia (0,1): Leggo 0,0Leggo 0,1 Leggo 1,0 Leggo 1,1 Stampo 0Stampo 1 Stampo 2 Leggo 0,0Leggo 0,1Leggo 1,0Leggo 1,1 Stampo 0Stampo 1 Stampo 2


Scaricare ppt "Composizione parallela - alternanza di azioni think talk scratch think scratch talk scratch think talk Se P e Q sono processi allora (P||Q) rappresenta."

Presentazioni simili


Annunci Google