Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoNorina Sorrentino Modificato 11 anni fa
1
Concurrency: introduction1 ©Magee/Kramer Semantica operazionale di FSP Consideriamo i costrutti FSP e diamo la loro traduzione in Reti SA
2
Concurrency: introduction2 ©Magee/Kramer FSP - azioni e processi Se x è unazione e P un processo (x-> P) descrive un processo che inizialmente esegue lazione x e poi si comporta esattamente come P. ATTIVAZIONEUNICA = (unavolta -> STOP). Rete SA unavolta. STOP
3
Concurrency: introduction3 ©Magee/Kramer LTS e grafo di Raggiungibilita Lautoma LTS associato ad una espressione FSP e isomorfo al Grafo di Raggiungibilita della rete SA che descrive la semantica di quella espressione Lo stato globale di LST corrisponde alla marcatura della Rete SA che distingue gli stati delle sue componenti
4
Concurrency: introduction4 ©Magee/Kramer FSP - ricorsione ATTIVAZIONE = OFF, OFF = (on -> ON), ON = (off -> OFF). Un comportamento ripetitivo si modella mediante ricorsione: Definizione più sintetica: ATTIVAZIONE = (on -> off -> ATTIVAZIONE). Rete SA on off.
5
Concurrency: introduction5 ©Magee/Kramer FSP : un esempio SEMAFORO = (rosso->giallo->verde->giallo->SEMAFORO). LTS : Trace: modello FSP di un semaforo : rossogialloverde giallo Rete SA rosso giallo verde giallo rosso giallo verde giallo rosso giallo verde …
6
Concurrency: introduction6 ©Magee/Kramer FSP - costrutto di selezione Se x e y sono azioni, (x-> P | y-> Q) descrive un processo che inizialmente realizza una delle due azioni x o y. Dopo lesecuzione della prima azione, il comportamento successivo è descritto da P se la prima azione è stata x, da Q se la prima azione è stata y.
7
Concurrency: introduction7 ©Magee/Kramer FSP - scelta DISTRIBUTORE = (rosso->caffè->DISTRIBUTORE |blu-> thè-> DISTRIBUTORE). LTS Modello FSP di una macchina distributrice di bevande: rosso blu caffè thè rossoblu caffèthè Rete SA
8
Concurrency: introduction8 ©Magee/Kramer Scelta non deterministica Il processo (x-> P | x -> Q) descrive unazione iniziale x e un comportamento successivo modellato da P o Q. LANCIOMONETA = (lancio->TESTA|lancio->CROCE), TESTA = (vistesta->LANCIOMONETA), CROCE= (viscroce->LANCIOMONETA). Lanciare una moneta
9
Concurrency: introduction9 ©Magee/Kramer Scelta non deterministica Lanciare una moneta lancio viscroce vistesta lancio vistestaviscroce A) lancio vistestaviscroce lancio B) LTS : Reti SA
10
Concurrency: introduction10 ©Magee/Kramer Modellare errori (eccezioni) Come si può modellare un canale di comunicazione inaffidabile che accetta un input (in) e produce un output solo nel caso in cui non si presenti un errore? Uso del non-determinismo... CHAN = (in->error ->CHAN |in->out->CHAN). in errorout Rete SA A)
11
Concurrency: introduction11 ©Magee/Kramer Buffer che prende in input un valore nellintervallo 0.. 3 e restituisce in output quel valore: FSP - processi e azioni indicizzati BUFF = (in[i:0..3]-> out[i]-> BUFF). e equivalente a: o, usando un parametro di processo con valore di default: BUFF = (in[0]->out[0]->BUFF |in[1]->out[1]->BUFF |in[2]->out[2]->BUFF |in[3]->out[3]->BUFF ). BUFF(N=3) = (in[i:0..N]->out[i]-> BUFF).
12
Concurrency: introduction12 ©Magee/Kramer FSP - selezione su condizione La selezione (when B x -> P | y -> Q) significa che quando la condizione B è verificata allora è possibile scegliere sia lazione x sia lazione y, altrimenti se B non è verificata lazione x non può essere scelta. COUNT (N=3) = COUNT[0], COUNT[i:0..N] = (when(i COUNT[i+1] |when(i>0) dec->COUNT[i-1] ).
13
Concurrency: introduction13 ©Magee/Kramer FSP - selezione su condizione decinc dec inc Valore 0 Valore 1 Valore 2 Valore 3 dec
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.