1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo...

44
1 Sintassi- Semantica operazionale • Dato un linguaggio definito da una sintassi esprimere il suo significato • Ci sono vari modi ….. • Uno possibile e’ “tradurre” i suoi costrutti in un altro linguaggio noto ad es: da C as ASSEMBLER

Transcript of 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo...

Page 1: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

1

Sintassi- Semantica operazionale

• Dato un linguaggio definito da una sintassi

esprimere il suo significato

• Ci sono vari modi …..

• Uno possibile e’ “tradurre” i suoi costrutti in un altro linguaggio noto

ad es: da C as ASSEMBLER

Page 2: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

2

Linguaggio FSP

• La sua sintassi e’ data come insieme di operatori che compongono processi

• Operatori: prefisso, scelta, parallelo, …..• Processi: STOP,

espressioni che compongono azioni

espressioni che compongono processi

Page 3: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

3

Quale linguaggio per la sua semantica

operazionale?

Le Reti di Automi Sovrapposti (SA Net): un linguaggio per la specifica di sistemi concorrenti

grafico ma con una base formale ben definita

sintassi molto semplice ma potente

approccio composizionale (come FSP)

Page 4: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

4

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.

Page 5: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

5

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

Page 6: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

6

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

Page 7: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

7

• Stati : detto posto

• Azioni : detta transizione

• Causalita’: detto flusso

• Le transizionizioni sono etichettate:– a, b, c, … azioni visibili– tau azioni invisibili

Pochi costrutti: struttura delle attivita’

Page 8: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

8

Un esempio

s1

s3

s5

s7

s8

e

b

a

c

b

d

s2

s4

s6

AB

a

g

d

Page 9: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

9

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

Page 10: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

10

• 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

Pochi costrutti: il comportamento

Page 11: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

11

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.

Concessione e regola di scatto di una transizione

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.

scatto

Page 12: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

12

Un esempio ….

s1

s3

s5

s7

s8

e con X

b

a con B

c con Y

b

d con B e C

s2

s4

s6

a con A

g

d con A e C

AB

Page 13: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

13

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

Page 14: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

14

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

Page 15: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

15

Un esempio con una notazione particolare

mi alzo

mi vesto faccio colazione

esco

fork

join

Page 16: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

16

Convenzione

In una componente elementare,

FORK-JOIN indica che le transizioni comprese possono essere eseguite in ogni ordine possibile, rispettando le relazioni causali espresse.

Page 17: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

17

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

Page 18: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

18

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.

Page 19: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

19

Un esempio semplice

Page 20: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

20

Un esempio

s1

s3

s5

s7

s8

e con X

b

a con B

c con Y

b

d con B e C

s2

s4

s6

a con A

g

d con A e C

s1 s2

s4s3

s5

s7

s8

s6

e con X

b

a

d con C

c con Y

g

b

A BA B

Page 21: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

21

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)

Page 22: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

22

Esempi

invio

Componente A

ricezione

Componente B

Utente

Decide di usarela risorsa

Usa larisorsa

Decide difare altro

Fa altro

Rilscia larisorsa

Il posto in rosso e’ un buffer

Il posto in giallo si puo’ sovrapporre ad un posto della componente utente, generando una scelta

Page 23: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

23

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)

Page 24: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

24

Un esempio

s1 s2

s4s3

s5

s7

s8

s6

e con X

b

a

d con C

c con Y

g

b

Page 25: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

25

Due transizioni si dicono in conflitto tra loro quando hanno entrambe concessione e condividono almeno un posto di ingresso.

Conflitto e concorrenza

Due transizioni si dicono concorrenti quando hanno concessione sotto la stessa marcatura e non sono in conflitto fra loro

a b

c d e f

Page 26: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

26

Non-determinismo globale e locale

• Quale componente decide il comportamento congiunto?

A B

t1 t2

A

B

s1

t4

s2

s3

s8s7

s6s5

s4

t2t1

t3

A

B

s1

s2

s4

s3t3t2

Page 27: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

27

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 complessivogenerazione delle possibili evoluzioni

(Grafo di raggiungibilita’)calcolo di proprieta’ invarianticalcolo di performanceecc.

Page 28: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

28

Dato il sistema SA

s1

s3

s5

s7

s8

b

a con B

c con Y

b

d con B e C

s2

s4

s6

a con A

g

d con A e C

s1 s2

s4s3

s5

s7

s8

s6

e con X

b

a

d con C

c con Y

g

b

A B

A B

Page 29: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

29

Il suo Grafo di Raggiungibilità e’:

< s1, s2 >

< s1, s2 >

< s3, s2 > < s5, s4 >

< s7, s4 > < s5, s6 >

< s8, s4 > < s7, s6 >

< s8, s6 >

< s1, s2 >

tutti i comportamenti possibili

ae con x

b b g

bg

c con yg

c con y

d con C

Page 30: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

30

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

Page 31: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

31

Nozione di osservabilita’ e di Equivalenza all’Osservazione

La nozione di osservabilita’ consente di modellare un sistema focalizzandosi sul modo in cui esso comunica con l’ambiente,

astraendo dalla sua organizzazione interna (cioe’ dalla sua suddivisione in componenti e dalle modalità con cui queste interagiscono)

Due sistemi sono equivalenti all’osservazione

se non sono distinguibili da nessun possibile ambiente

Page 32: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

32

Operativamente …

• Si identificano le azioni interne e le si etichetta convenzionalmente con tau

• Un osservatore non le puo’ distinguere

• Si etichettano con tau anche le interazioni tra componenti

• Un osservatore non le puo’ distinguere

• [Si riduce il sistema (in modo automatico) eliminando le tau non necessarie]

Page 33: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

33

Operativamente …

• Quello che resta e’ la struttura delle interazioni con l’ambiente– Comunicazioni (visibili)

– Alcune tau che servono per esprimere la struttura causale

• Il confronto tra sistemi si fa seguendo tutti i cammini possibili (in modo automatico)

Page 34: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

34

Un esempioC1

a

b

tau

tau

C2

C3

c

tau

s2

s4

s6

C

a

b

c

Page 35: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

35

Attenzione

• I contenuti delle slide che seguono NON fanno parte del programma del corso

• Si lasciano per completezza rispetto all’uso delle Reti SAcome linguaggio di specifica

Page 36: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

36

Motivazione per strumenti di supporto

• La modellazione di un sistema puo’ avvenire in modo incrementale in diversi modi:– Aggiungendo cammini alternativi

– Precisando la definizione di una azione in una struttura di azioni piu’ elementari

– Modificando il numero di componenti che costituiscono il sistema

• Necessita’ di concetti specifici per governare questo processo

Page 37: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

37

• Estensione funzionale

• Raffinamento/astrazione funzionale

• Raffinamento/astrazione organizzativo

Tre nozioni per la modellazione incrementale:

Page 38: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

38

L’Estensione Funzionale amplia i possibili comportamenti di un sistema e/o di una o più delle sue componenti:

si realizza tramite la S-composizione

Le estensioni funzionali consentono di considerare sistemi con funzionalita’ man mano più complesse.

La duplicazione delle transizioni per consentire la T-composizione e’ un caso di raffinamento funzionale.

Si ricordi l’esempio precedente .....

Estensione funzionale

Page 39: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

39

Il Raffinamento Funzionale isola una transizione o un posto

e la/lo sostituisce con una sottorete

in modo che sia comunque garantita la trasformazione di stato definita nel modello di partenza.

Raffinamento funzionale

Page 40: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

40

Raffinamento funzionale: esempi

Page 41: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

41

Il Raffinamento Organizzativo isola una componente di un sistema

e la sostituisce con un insieme di componenti

in modo che sia comunque mantenutoil comportamento che la componente esibisce al suo ambiente.

Sono necessarie delle nozioni di supporto ...

Raffinamento organizzativo

Page 42: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

42

T-Scomposizione

E’ l’operazione inversa alla T-Composizione: permette di estrarre

dal sistema il modello di una componente elementare o di alcune

componenti elementari.

Page 43: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

43

Passi da eseguire iterativamente

• Fissare un livello di astrazione– Quali componenti ?– Quale atomicita’ delle azioni e interazioni?

• Verificare la coerenza delle descrizioni locali identificando le diversita’ dei punti di vista di chi fornisce la conoscenza

• Allineare le descrizioni per raggiungere la coerenza

• Eventualmente modificare il livello di astrazione, su tutto o parte del sistema, a seconda degli scopi

e ripetere i passi precedenti

Page 44: 1 Sintassi- Semantica operazionale Dato un linguaggio definito da una sintassi esprimere il suo significato Ci sono vari modi ….. Uno possibile e tradurre.

44

Documentare il processo di acquisizione

• Il team può sviluppare tutti i modelli necessari, esplicitando quelli che lascia impliciti (ambiente),

legando gli uni e gli altri con relazioni dal significato rigorosamente definito (gli operatori applicati),

fissando per ciascun modello l’opportuno livello di astrazione

• La distinzione in componenti facilita la localizzazione di possibili incoerenze e la estensione del comportamento attraverso la progettazione di componenti di correzione.