Automi temporizzati cooperanti (TCA)
Automi cooperanti (CA) Un CA consiste di n automi finiti, ciascuno con insieme di stati, stato iniziale e tabella delle transizioni. Gli automi si sincronizzano prendendo le transizioni in accordo con il simbolo letto, il loro stato interno e formule condizionali del tipo ”la componente i è correntemente nello stato q”.
Automi temporizzati cooperanti (TCA) (1) I TCA estendono i CA: 1.consentendo vincoli temporali sulle transizioni 2.Consentendo passi consistenti di sequenze di transizioni (attività stimolate dall’ambiente ma interne e non urgenti ossia con consumo di tempo non nullo). Un ambiente è una tripla = dove: 1 : N 2 dà l’insieme dei segnali comunicati a ogni interazione 2 : N Time dà il tempo a ogni interazione e soddisfa monotonicità e progresso; Time è un dominio del tempo denso 3 : N Time dà la durata della comunicazionedurante l’interazione, ossia 2 (i) + 3 (i) ≤ 2 (i+1)
Automi temporizzati cooperanti (TCA) (2) La collezione delle condizioni ambientali su è definita induttivamente come segue: True, a 1 2, 1 2, 1 per 1, 2 Per un insieme di simboli di stato Q la collezione delle condizioni interne Q è definita induttivamente come segue: true, q = , q[ ], q{ } dove Time 1 2, 1 2, 1 per 1, 2 Q Per consentire passi consistenti di sequenze di transizioni distinguiamo tra stati di input (che iniziano e terminano un’attività) e stati non di input (stati intermedi di un’attività interna. La condizione di accettazione è una condizione di Buchi.
Automi temporizzati cooperanti (TCA) (3) Un TCA è una tupla M =, dove ogni automa sequenziale M i è una tripla tale che Q i è un insieme finito di stati Q 1,…, Q n disgiunti, Q = 1≤i≤n Q i q 0 i Q i stato iniziale i è la relazione di transizione l’insieme I degli stati di input è tale che 1≤i≤n {q 0 i } I Q F I è l’insieme degli stati accettanti. Una configurazione locale per un automa sequenziale M i è C i =, dove 1) q i Q è stato abilitato da Q i 2) in i : Q i Time funzione di abilitazione dello stato dà il tempo più recente in cui lo stato è stato abilitato ed è indefinito se non è stato mai abilitato 3) out i : Q i Time funzione di disabilitazione dello stato 4) i Time tempo locale.
Automi temporizzati cooperanti (TCA) (4) Una configurazione locale C i = è di input se q i I. Una configurazione locale C i = è iniziale se q i = q 0 i i = 0, in i (q 0 i ) = 0 e in i indefinito altrimenti, out i indefinito per ogni q (denotata C 0 i ). Una configurazione globale C è dove: 1) C i configurazione locale 2) ambiente 3) m N indica che si tratta della m-esima iterazione, ossia =.
Automi temporizzati cooperanti (TCA) (5) Sia C = con C i = allora le condizioni interne True, q[ ], q{ }, q = sono indefinite a se i > q[ ] valuta a True al tempo sse i ≤ , q=q i e in i (q)≤ - , ossia q è stato abilitato per un tempo ≤ q{ } valuta a True al tempo sse q=q i oppure - ≤ out(q i )≤ , ossia q è stato disabilitato da al più q = valuta a True se e solo se q è stato abilitato da esattamente . La proposizione di ambiente è valutata interpretando a True i simboli in {true} {a: a < 1 (m), 2 (m) ≤ ≤ 2 (m)+ 3 (m)}.
Automi temporizzati cooperanti (TCA) (6) Data una configurazione C = c’è una derivazione locale da C i = a C i ’ = denotata C i C C i ’ se: i ’ 2 (m) 2) i 3)in i ’(q i ’) = i ’ e in i ’(q) = in i (q) per q i ≠ q 4)out i ’(q i ) = i ’ e out i ’(q) = out i (q) per q i ≠ q valuta a True in al tempo i ’ e interazione m valuta a True in C al tempo i ’ La derivazione è urgente se non c’è una derivazione locale C i C C i ” al tempo ”” ” con max{ i, 2 (m)} ≤ ”< i ’
Automi temporizzati cooperanti (TCA) (7) Un passo locale da una configurazione C = è una sequenza di derivazioni locali C i C C i 1 … C C i C C i ’ denotata C i C C i ’ dove C i e C i ’ sono configurazioni locali di input e C i non è una configurazione di input per ogni 1 ≤ j ≤. Il passo è urgente se le configurazioni locali sono urgenti. Il passo locale C i C C i ’ è ghost se C i = C i ’. Il comportamento di un TCA è una composizione di passi locali che garantisce causalità e massimalità. Il passo locale di una componente è fatto rispetto alle configurazioni locali delle altre componenti che sono o nelle configurazioni iniziali o nelle configurazioni raggiunte nello stesso passo purché ne sia data una giustificazione causale. Un passo è urgente se consiste solo di passi urgenti. Un passo è reattivo se ciascun passo locale termina prima della successiva interazione con l’ambiente.
Automi temporizzati cooperanti (TCA) (8) Un run R è una sequenza di configurazioni globali C 0, C 1, …, C i, … tale che C 0 è iniziale e C j C C j+1 per j 0. Se Inf(R) è l’insieme di stati attraversati infinite volte il run ha successo se Inf(R) F . Un ambiente è accettato da un TCA se esiste un run di successo a a partire dalla configurazione iniziale con ambiente . Il linguaggio accettato dal TCA è l’insieme dei run di successo.
Automi temporizzati cooperanti (TCA) (9) a,True True, q2[m] a,q3=0 a,True q1q2q3q4 F = {q4}
Automi temporizzati cooperanti (TCA) (10) Tr1St1q1 q2 St2 Tr2 q3 Start Tr1[0] (w1 or w2) and in q1[5] Not good and trash Q2[3]and St2[3] good Q2[1]and St2[1] cool St2[0] q3[1] St1[0] La macchina M1 riceve materiale rozzo e produce un prodotto finale, la macchina M2 fornisce a M1 il materiale e poi raccoglie il prodotto finale. M1M2
Automi temporizzati cooperanti (TCA) (11) La macchina M1 finchè M2 è in grado di fornire il materiale (stato Tr1 abilitato) e l’ambiente dà il segnale start. Allora M1 fa la lavorazione se il materiale è presente (segnale in) e c’è una richiesta di produrre il prodotto finale p1 (segnale w1) oppure il prodotto finale p2 (segnale w2). Dopo almeno 5 unità di tempo il prodotto è completo (stato St2 abilitato) e la macchina M2 raggiunge uno stato in cui può raccoglierlo. Dopo una fase di raffreddamento M1 verifica la qualità del prodotto e raggiunge lo stato St1 in una unità di tempo se il prodotto è buono, in tre unità di tempo altrimenti. Dopo questa transizione di M1, M2 raccoglie il prodotto e dopo almeno una unità di tempo fornisce a M1 nuovo materiale.
Proprietà di chiusura Siano M, M’ TCA. Allora L(M) L(M’) = L(M M’) L(M) L(M’) = L(M M’) Si ha chiusura per complementazione?
Risultati di espressività (1) Gli automi con vincoli di orologio periodici TA P hanno vincoli ottenuti applicando liberamente connettivi booleani a proposizioni atomiche x T [ 1, 2 ] dove x è un orologio e T [ 1, 2 ] = { k + ; k N, 1 ≤ ≤ 2 } per , 1, 2 Time. a true x:=0 a, x T 2 [0,0], x:=0
Risultati di espressività (2) Gli automi con transizioni silenti TA hanno transizioni in E S S { } 2 C (C). Vale L(TA) L(TAp) L(TA ) a true x:=0 , 1 ≤x≤ 2, x:=0 a x= 0
Risultati di espressività (3) Sia TCA I un TCA con soli stati di input. Sia STCA un TCA consistente di un solo automa sequenziale. Vale L(STCA IRU ) L(TCA RU ) | | L(TA) L(TA P ) L(TA ) | | | L(TCA IRU ) L(TCA U ) L(TCA R ) | | L(STCA U ) L(STCA RU ) L(STCA R ) | L(STCA)
Risultati di decisione La vuotezza è decidibile per L(STCA IRU ). Prova. Dalla contenutezza di L(STCA IRU ) in L(TA).