Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella 12/18/2015 1 Ripartiamo dagli automi Stati e transizioni etichettate Gli automi sono caratterizzati dal linguaggio che “accettano” 12/18/2015 2 L’algebra dei linguaggi • Algebra di Boole • Monoide rispetto alla concatenazione • Iterazione 12/18/2015 3 L’algebra dei linguaggi 12/18/2015 4 L’algebra dei linguaggi 12/18/2015 5 12/18/2015 6 Equivalenza di automi Accettare lo “stesso” linguaggio – Il linguaggio di uno può ridursi al linguaggio dell’altro usando le proprietà algebriche di P(A*) 12/18/2015 7 Sistemi reattivi Protocolli di comunicazione Sistemi operativi Dispositivi di comando e controllo 12/18/2015 8 Sincronia ed asincronia Comunicazione Osservabilità Non determinismo 12/18/2015 9 Sistemi di transizione Sistemi stato-transizione: una macchina astratta per la computazione Definizione Etichettatura Relazione con gli automi 12/18/2015 10 Sistema di transizione (etichettato) TS=(,S, , S0), dove – – – – è un alfabeto finito non vuoto S è un insieme (finito) non vuoto di stati S S è la relazione di trsansizione, S0 S è l‘insieme degli stati inziali simile ad un automa finito nondeterministico, con molti stati iniziali ma senza stati finali simile ad un modello di Kripke etichettato: un sistema di mondi possibili con una nozione di accessibilità 12/18/2015 11 Un sistema di transizione genera parole (finite o infinite) w0w1w2... sse ci sono stati s0s1s2s3... t.c. s0 S0 e (si,wi,si+1) Uno stato è identificato con le possibilità che mette a disposizione Problemi con la terminazione ed il deadlock 12/18/2015 12 Esempio: un registratore off dn tape 1. 2. 3. 4. up dn up up dn memory dn play ={up, dn} S={off, tape, memory, play} ={(off,dn,tape), (tape,up,off), (tape,dn,memory), (memory,up,off), (memory,dn,play), (play,dn,tape), (play,up,off)} S0={off} 12/18/2015 13 Sistemi di Transizione paralleli Parallel transition system T=(T1,…,Tn) – each Ti is a transition system – SiSj= interleaving semantics – on its private alphabet, each Ti can make an independent move – synchronization is via common events example: power switch and camcorder mode 12/18/2015 14 Example camera switch but_hi dn on off up but_lo dn, pwr_res on dn tape up, pwr_fail dn memory dn play dn T=(switch, camera) {pwr_fail, pwr_res} are private to camera synchronization alphabet {up,dn} 12/18/2015 how big is the state space? 15 The global transition system T associated with a parallel transition system (T1,…,Tn) is defined as T=(, S, , S0), where – = i – S= S1 … Sn – S0 = S1,0 … Sn,0, and – ((s1,…,sn),a,(s1‘,…,sn‘)) iff for all Ti • if ai, then ((s i),a,(s i‘))i, and • if ai, then s i=s i‘. 12/18/2015 16 Finite State Automata 1kr 1kr Coffee machine A1: tea coffee Coffee machine A2: 1kr 1kr 1kr tea coffee Are the two machines ”the same”? 12/18/2015 17