210 likes | 336 Views
DISCRETE EVENT SYSTEMS. OPERAZIONI SUGLI AUTOMI ED ANALISI DELLE PROPRIETA’ DEI DES. Redazione a cura del Dr. Ing. Francesco Liberati ( liberati@dis.uniroma1.it ). INDICE DELLA LEZIONE. OPERATORI SU AUTOMI OPERATORI UNITARI; PRODOTTO DI AUTOMI; PARALLELO DI AUTOMI. LINGUAGGI REGOLARI
E N D
DISCRETE EVENT SYSTEMS OPERAZIONI SUGLI AUTOMI ED ANALISI DELLE PROPRIETA’ DEI DES Redazione a cura del Dr. Ing. Francesco Liberati (liberati@dis.uniroma1.it)
INDICE DELLA LEZIONE OPERATORI SU AUTOMI • OPERATORI UNITARI; • PRODOTTO DI AUTOMI; • PARALLELO DI AUTOMI. LINGUAGGI REGOLARI OSSERVATORI DIAGNOSERS VALIDAZIONE FORMALE
INTRODUZIONE CI PROPONIAMO DI STUDIARE ALCUNE DELLE PIU’ COMUNI OPERAZIONI ATTUABILI SU: SINGOLI AUTOMI: • PARTE ACCESSIBILE DI UN AUTOMA; • PARTE COACCESSIBILE. DUE O PIU’ AUTOMI: • PRODOTTO DI AUTOMI; • PARALLELO DI AUTOMI.
OPERATORI SU SINGOLI AUTOMI (cont.) Parte accessibile: L’OPERATORE PARTE ACCESSIBILE RIMUOVE DALL’AUTOMA G TUTTI GLI STATI (E RELATIVE TRANSIZIONI) NON RAGGIUNGIBILI DA x0. ESEMPIO: Acc(G) . NESSUNA INFLUENZA SU ED ; . AUTOMA ACCESSIBILE.
OPERATORI SU SINGOLI AUTOMI Parte co-accessibile: L’OPERATORE PARTE CO-ACCESSIBILE RIMUOVE DALL’AUTOMA G TUTTI GLI STATI (DETTI NON CO-ACCESSIBILI) PARTENDO DAI QUALI NON E’ POSSIBILE RAGGIUNGERE UNO STATO MARCATO: CoAcc(G) . . NESSUNA INFLUENZA SU ; AUTOMA CO-ACCESSIBILE.
PRODOTTO DI AUTOMI SI TRATTA DI UN OPERATORE DIFORTE SINCRONIZZAZIONE TRA AUTOMI. IL PRODOTTO DI DUE AUTOMI E’ UN AUTOMA “MULTIVARIABILE”, COMPOSIZIONE DEI DUE AUTOMI, IN CUI SI CONSENTONO SOLO LE TRANSIZIONI NEGLI AUTOMI OPERANDI CHE SONO ETICHETTATE DA STESSI EVENTI (FORTE SINCRONIZZAZIONE). ES: COME CAMBIANO I LINGUAGGI?
PARALLELO DI AUTOMI • OPERAZIONE STANDARD DI COMPOSIZIONE TRA AUTOMI. MENO RESTRITTIVA RISPETTO ALLA MOLTIPLICAZIONE. NEL PARALLELO DI DUE AUTOMI: • GLI EVENTI COMUNI ( ) VENGONO ESEGUITI SOLO SE ENTRAMBI GLI AUTOMI LI ESEGUONO IN MANIERA SINCRONA ( ); • GLI EVENTI PRIVATI ( ) VENGONO SEMPRE ESEGUITI.
SINCRONIZZAZIONE DI AUTOMI NEGLI ESEMPI SU CONSIDERATI, UN QUALUNQUE EVENTO COMUNE A DUE O PIU’ AUTOMI ( ) PUO’ RAPPRESENTARE, PER ESEMPIO, LA RICHIESTA DI ACCESSO A UNA RISORSA CONDIVISA. EVENTI PRIVATI POSSONO RAPPRESENTARE INVECE DELLE AZIONI CHE NON VINCOLANO IL COMPORTAMENTO DEGLI AGENTI ESTERNI ALL’AUTOMA. ES: DINING PHILOSOPHERS AND PARALLEL COMPOSITION Filosofo Forchetta L’INTERAZIONE TRA DUE FILOSOFI PUO’ ESSERE DESCRITTA DALL’AUTOMA: SINTESI DEL CONTROLLORE L’AUTOMA E’ BLOCCANTE
CONSIDERAZIONI SULLA MODELLAZIONE I DES (CIOE’ I SISTEMI CHE INTENDIAMO MODELLARE E CONTROLLARE) SONO CARATTERIZZATI DA LINGUAGGI. COSTRUIRE AUTOMI CHE GENERANO LINGUAGGI (CIOE’ MODELLIZZANO QUEL SISTEMA) E MARCANO LINGUAGGI (CIOE’ RICONOSCONO TASK SPECIFICI) E’ PIU’ AGEVOLE RISPETTO A LAVORARE DIRETTAMENTE SUI LINGUAGGI. PER OGNI LINGUAGGIO ESISTE UN AUTOMA CHE GENERA/MARCA QUEL LINGUAGGIO. LA QUESTIONE DI INTERESSE PRATICO E’: PER OGNI LINGUAGGIO, ESISTE UN AUTOMA FINITO CHE GENERA/MARCA QUEL LINGUAGGIO? LA RISPOSTA E’ NO. LE RETI DI PETRI CONSENTONO DI RAPPRESENTARE ALCUNI LINGUAGGI NON REGOLARI Def. (Linguaggio regolare): UN LINGUAGGIO E’ DETTO REGOLARE SE PUO’ ESSERE MARCATO DA UN AUTOMA A STATI FINITI. R E’ LA CLASSE DEI LINGUAGGI REGOLARI.
MODELLI MINIMI (approfondimento) IN GENERE, PIU’ AUTOMI MARCANO UNO STESSO LINGUAGGIO REGOLARE. SIAMO INTERESSATI A TROVARE L’AUTOMA CARATTERIZZATO DA MINIMO SPAZIO DI STATO (DETTO RICONOSCITORE CANONICO). SOTTO BLANDE IPOTESI, IL RICONOSCITORE CANONICO E’ UNICO. UN AUTOMA NON MINIMO E’ CARATTERIZZATO DALLA PRESENZA DISTATI EQUIVALENTI. Def. (Stati equivalenti): DUE STATI DI UN AUTOMA G SONO DETTI EQUIVALENTI SE: CIOE’ STATI DA CUI E’ POSSIBILE RAGGIUNGERE STESSI STATI MARCATI. IL RICONOSCITORE CANONICO PUO’ ALLORA ESSERE OTTENUTO DAPPRIMA INDIVIDUANDO, QUINDI AGGREGANDO TUTTI GLI STATI EQUIVALENTI.
OSSERVATORI IN ASSENZA DI INCERTEZZE/IMPERFEZIONI DI MODELLAZIONE, L’OSSERVAZIONEDI UN MODELLO DETERMINISTICO DEL DES ASSICUREREBBE PIENA INFORMAZIONE RIGUARDO LO STATO. NELLA REALTA’ OCCORRE CONSIDERARE MODELLI NON DETERMINISTICI. E’ UTILE IN TAL CASO DARE UN NOME ANCHE AGLI EVENTI INOSSERVABILI (INVECE DI ETICHETTARLI CON ). INFATTI, SPESSO QUESTI EVENTI SONO CONOSCIUTI (E.G. GUASTI). SI PONE ALLORA IL PROBLEMA DI COSTRUIRE UN AUTOMA DETERMINISTICO (OSSERVATORE) CHE STIMI LO STATO DEL DES IN ESAME (MODELLIZZATO DA UN AUTOMA NON DETERMINISTICO).
OSSERVATORI (cont.: esempio) AUTOMA OSSERVATORE DETERMINISTICO
DIAGNOSI DI EVENTI ESAMINANDO GLI EVENTI (OSSERVABILI) ACCADUTI, E’ POSSIBILE DECIDERE SE UN DATO EVENTO INOSSERVABILE (ES. GUASTO) E’ ACCADUTO O MENO? L’IDEA CHIAVE E’ CHE, COME ANCHE SI EVINCE DALLO STUDIO DEGLI OSSERVATORI, ALL’AUMENTARE DEGLI EVENTI OSSERVATI DIMINUISCE L’INCERTEZZA SULLO STATO DEL SISTEMA (PROBLEMA DELLA DIAGNOSTICABILITA’ DI UN EVENTO INOSSERVABILE) SI PONE ALLORA IL PROBLEMA DI COSTRUIRE UN AUTOMA DETERMINISTICO ETICHETTATO (DIAGNOSER) CHE DECIDA (OVE POSSIBILE) SE UN DATO EVENTO INOSSERVABILE E’ ACCADUTO O MENO.
DIAGNOSI DI EVENTI (cont.: esempio) DIAGNOSER DETERMINISTICO DELL’EVENTO
FORMAL VERIFICATION AND MODEL CHECKING(SAFETY, BLOCKING, DIAGNOSABILITY)
FORMAL VERIFICATION SVILUPPO DI PROCEDURE FORMALI PER LA VALIDAZIONE DI PROTOTIPI HARDWARE E SOFTWARE (ES: CIRCUITI INTEGRATI, PROTOCOLLI DI COMUNICAZIONE,...). OCCORRE ASSICURARE CHE IL PROTOTIPO ESIBISCA SEMPRE UN COMPORTAMENTO ACCETTABILE (NON BANALE NEL CASO DI SISTEMI COMPLESSI, CON MIGLIAIA/MILIONI DI COMPONENTI). VENGONO TESTATE UNA SERIE DI PROPRIETA’. AD ESEMPIO: SAFETY: PROBLEMA DELLA RAGGIUNGIBILITA’ DI STATI INDESIDERATISTUDIO DI ACCESSIBILITA’ SUL PARALLELO DEI COMPONENTI DEL SISTEMA COMPLESSIVO; BLOCKING: STUDIO DI CO-ACCESSIBILITA’ SUL PARALLELO DEI COMPONENTI DEL SISTEMA COMPLESSIVO. E’ ANCHE POSSIBILE INDIVIDUARE GLI EVENTUALI DEADLOCKS/LIVELOCKS (STATI NON CO-ACCESSIBILI); DIAGNOSTICABILITA’ ALGORITMI EFFICIENTI CHE RESTITUISCONO UNA RISPOSTA POSITIVA, OPPURE UN CONTROESEMPIO NEGATIVO.
PER APPROFONDIRE Consigliati: [1] Cassandras, Lafortune, Introductionto Discrete EventSystems, SecondEdition, Springer Editore. Capitolo 2 (Languages and Automata);