Sintassi- Semantica operazionale

Slides:



Advertisements
Presentazioni simili
CORSO DI RECUPERO CONTROLLI AUTOMATICI Prof. Filippo D’Ippolito
Advertisements

Le distribuzioni di probabilità continue
I numeri naturali ….. Definizione e caratteristiche
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
II° Circolo Orta Nova (FG)
Sistema di riferimento sulla retta
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
OMOLOGIA.
COORDINATE POLARI Sia P ha coordinate cartesiane
6. Catene di Markov a tempo continuo (CMTC)
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Introduzione Cosa sono le reti di Petri?
Frontespizio Economia Monetaria Anno Accademico
La scelta del paniere preferito
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 s1s2 s4 s3 s5 s7 s8 s6 e con X b a d con C c con Y g b.
1 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.
Lez. 31 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
I sistemi di riferimento
esponente del radicando
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
6. Catene di Markov a tempo continuo (CMTC)
3. Processi Stocastici Un processo stocastico è una funzione del tempo i cui valori x(t) ad ogni istante di tempo t sono v.a. Notazione: X : insieme di.
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Semantiche dei linguaggi di programmazione
Ordini Parziali - Reticoli
Esercitazioni su circuiti combinatori
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Macchine non completamente specificate
EIE 06/07 II / 1 Strumenti delle politiche agricole in economia aperta equilibrio di mercato in economia aperta politiche di un paese importatore politiche.
Algoritmo di Ford-Fulkerson
Processi Aleatori : Introduzione – Parte I
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
eliana minicozzi linguaggi1a.a lezione2
1 A cura di Vittorio Villasmunta Metodi di analisi dei campi meteorologici Corso di base sulluso del software di analisi meteorologica DIGITAL ATMOSPHERE.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Scritte scritte scritte scritte scritte scritte scritte Scritte scritte Titolo.
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
Lezione 4 Probabilità.
Intelligenza Artificiale
Composizione parallela - alternanza di azioni
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
Rappresentazione di conoscenza Procedurale
Contatore: esempio di circuito sequenziale
Candidato : Giuseppe Circhetta Relatori :
Esempi di modellazione di situazioni particolari.
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Melfi, 1 aprile 2011 – MediaShow 1 Social Network: possibilità di uso consapevole nella didattica Uso, consapevolezza, opportunità, proposte Caterina Policaro.
Educare al multimediale 1 – Verso il digitale 2 Presentazione a cura di Gino Roncaglia Prima parte: Informazione in formato digitale.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Elementi di Informatica di base
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
TRASFORMAZIONI GEOMETRICHE
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Corso di ELETTROTECNICA
TRASFORMATA DI FOURIER
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Grammatiche Grammatiche libere da contesto Grammatiche regolari
Transcript della presentazione:

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

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

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)

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.

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

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

Pochi costrutti: struttura delle attivita’ Stati : detto posto Azioni : detta transizione Causalita’: detto flusso Le transizionizioni sono etichettate: a, b, c, … azioni visibili tau azioni invisibili

Un esempio A B s1 s2 a e a s5 s3 s4 b g s7 b c s6 s8 d d

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

Pochi costrutti: il comportamento 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

Concessione e regola di scatto di una transizione 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. scatto 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.

Un esempio …. A B

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

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

Un esempio con una notazione particolare mi alzo fork mi vesto faccio colazione join esco

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

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

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.

Un esempio semplice

Un esempio A A B B s1 s2 s1 s2 a con B e con X a e con X a con A s5 s5 g g s7 b s7 b s6 s6 c con Y c con Y d con A e C s8 s8 d con C d con B e C

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)

Esempi Il posto in rosso e’ un buffer Utente Componente A invio Decide di Decide di usare Componente B fare altro la risorsa ricezione Fa altro Usa la risorsa Rilscia la Il posto in rosso e’ un buffer risorsa Il posto in giallo si puo’ sovrapporre ad un posto della componente utente, generando una scelta

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)

Un esempio s1 s2 s4 s3 s5 s7 s8 s6 e con X b a d con C c con Y g

Conflitto e concorrenza Due transizioni si dicono in conflitto tra loro quando hanno entrambe concessione e condividono almeno un posto di ingresso. a b c d e f Due transizioni si dicono concorrenti quando hanno concessione sotto la stessa marcatura e non sono in conflitto fra loro

Non-determinismo globale e locale Quale componente decide il comportamento congiunto? A B s1 t4 s2 s3 s8 s7 s6 s5 s4 t2 t1 t3 A B s1 s2 s4 s3 t3 t2 A B t1 t2

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 complessivo generazione delle possibili evoluzioni (Grafo di raggiungibilita’) calcolo di proprieta’ invarianti calcolo di performance ecc.

Dato il sistema SA A B A B s1 s2 a con B a con A s1 s2 s5 s4 e con X a g s5 s3 s7 s4 b s6 b c con Y g d con A e C b s7 s8 s6 c con Y d con B e C s8 d con C

Il suo Grafo di Raggiungibilità e’: < s1, s2 > e con x a < s3, s2 > < s5, s4 > b b g < s1, s2 > < s7, s4 > < s5, s6 > c con y g b < s8, s4 > < s7, s6 > g c con y < s8, s6 > tutti i comportamenti possibili d con C < s1, s2 >

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

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

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 [Si riduce il sistema (in modo automatico) eliminando le tau non necessarie]

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)

Un esempio C1 C a C2 tau a b C3 b tau c c tau

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

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

Tre nozioni per la modellazione incrementale: Estensione funzionale Raffinamento/astrazione funzionale Raffinamento/astrazione organizzativo

Estensione funzionale 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 .....

Raffinamento funzionale 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: esempi

Raffinamento organizzativo Il Raffinamento Organizzativo isola una componente di un sistema e la sostituisce con un insieme di componenti in modo che sia comunque mantenuto il comportamento che la componente esibisce al suo ambiente. Sono necessarie delle nozioni di supporto ...

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.

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

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.