Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi B1_1 V2.1 Reti di Petri Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale
INDICE Esempio Elementi Interpretazione Struttura statica Simulazione Dinamica Concorrenza e conflitto B1 - Linguaggi Paolo Salvaneschi 2
INDICE Condizioni Testi associati e regola di simulazione Risorse persistenti Morfismi Tempo Per approfondire B1 - Linguaggi Paolo Salvaneschi 3
Richiesta Accettazione e prelievo Segreteria e medico Esempio laboratorio di analisi Campioni Dati anagrafici Richiesta pagamento Modulo RIP Analisi Laboratorio Pagamento Cassa Risultati Ricevuta Modulo RIC Documento RIS Refertazione Segreteria Referto Documento REF B1 - Linguaggi Paolo Salvaneschi 4
Elementi Transizioni Posti Archi B1 - Linguaggi Paolo Salvaneschi 5
Elementi I posti sono utilizzati per contenere informazioni relative a stati parziali della rete Le transizioni sono utilizzate per descrivere eventi che modificano gli stati parziali Stato e transizione sono locali (distribuiti), non globali come negli automi a stati finiti B1 - Linguaggi Paolo Salvaneschi 6
Elementi Stato e transizione sono locali (distribuiti), non globali come negli automi a stati finiti Accendi /accendi lampada gialla Impianto spento Impianto pronto Start / accendi lampada verde Spegni /spegni lampade Impianto in funzione Stato globale, transizione globale, messaggio in ingresso, messaggio in uscita B1 - Linguaggi Paolo Salvaneschi 7
Elementi Rete Gli archi connettono posti a transizioni e transizioni a posti B1 - Linguaggi Paolo Salvaneschi 8
Elementi equivale a: B1 - Linguaggi Paolo Salvaneschi 9
Interpretazione Transizioni Analisi Attività Archi Posti Risultati Nome dell attività Connessione (produce, consuma) Risorsa Nome della risorsa B1 - Linguaggi Paolo Salvaneschi 10
Interpretazione Transizioni Analisi Laboratorio Archi Chi esegue l attività Posti Risultati Documento RIS Dove è la risorsa B1 - Linguaggi Paolo Salvaneschi 11
Struttura statica Richiesta Modello concettuale Accettazione e prelievo Campioni Analisi Dati anagrafici Richiesta pagamento Pagamento Risultati Refertazione Ricevuta Referto B1 - Linguaggi Paolo Salvaneschi 12
Struttura statica Richiesta Accettazione e prelievo Segreteria e medico Implementazione Campioni Dati anagrafici Richiesta pagamento Modulo RIP Analisi Laboratorio Pagamento Cassa Risultati Ricevuta Modulo RIC Documento RIS Refertazione Segreteria Referto Documento REF B1 - Linguaggi Paolo Salvaneschi 13
Simulazione Transizioni Posti Marca (risorsa presente) Archi B1 - Linguaggi Paolo Salvaneschi 14
Simulazione Abilitazione di una transizione Se tutti i posti in ingresso possiedono almeno una marca la transizione può scattare Regola di scatto Se la transizione abilitata scatta, è rimossa una marca in ogni posto di ingresso ed è generata una marca in ogni posto di uscita B1 - Linguaggi Paolo Salvaneschi 15
Simulazione 1 3 2 4 B1 - Linguaggi Paolo Salvaneschi 16
Simulazione Richiesta Accettazione e prelievo Segreteria e medico laboratorio di analisi Campioni Dati anagrafici Richiesta pagamento Modulo RIP Analisi Laboratorio Pagamento Cassa Risultati Ricevuta Modulo RIC Documento RIS Refertazione Segreteria Referto Documento REF B1 - Linguaggi Paolo Salvaneschi 17
Concorrenza e conflitto Concorrenza Conflitto B1 - Linguaggi Paolo Salvaneschi 18
Concorrenza e conflitto Richiesta Accettazione e prelievo Segreteria e medico Concorrenza Campioni Dati anagrafici Richiesta pagamento Modulo RIP Analisi Laboratorio Pagamento Cassa Risultati Ricevuta Modulo RIC Documento RIS Refertazione Segreteria Referto Documento REF B1 - Linguaggi Paolo Salvaneschi 19
Concorrenza e conflitto Sportello bancomat inattivo Conflitto Accendi sportello Sportello pronto Cliente A Esegui operazione Cliente B Esegui operazione Operazione eseguita Operazione eseguita B1 - Linguaggi Paolo Salvaneschi 20
Condizioni Se <condizione> Allora A Altrimenti B [Condizione vera][condizione falsa] A B A B Modifica della regola di scatto B1 - Linguaggi Paolo Salvaneschi 21
Condizioni Se <condizione> Allora A Altrimenti B Una marca può essere una struttura di dati La regola di scatto può essere basata sui valori delle variabili della struttura di dati A B Modifica della regola di scatto B1 - Linguaggi Paolo Salvaneschi 22
Condizioni Coda FIFO Stack B1 - Linguaggi Paolo Salvaneschi 23
Condizioni Richiesta Accettazione e prelievo [prelievo impossibile] [prelievo effettuato] Richiesta rifiutata Campioni B1 - Linguaggi Paolo Salvaneschi 24
Testi associati e regola di simulazione Richiesta prenotata Richiesta cancellazione Accettazione e prelievo SE richiesta prenotata presente e prelievo impossibile-> richiesta rifiutata e prenotazione cancellata SE richiesta prenotata presente e prelievo effettuato-> campioni prodotti e prenotazione cancellata SE Richiesta cancellazione-> prenotazione cancellata Richiesta rifiutata Campioni Prenotazione cancellata B1 - Linguaggi Paolo Salvaneschi 25
Testi associati e regola di simulazione Equivalente a: Accettazione e prelievo [prelievo impossibile] Richiesta prenotata Accettazione richiesta e prelievo campioni [prelievo effettuato] Richiesta cancellazione Cancella prenotazione Richiesta rifiutata Campioni Prenotazione cancellata B1 - Linguaggi Paolo Salvaneschi 26
Risorse persistenti Le risorse scambiate sono consumate (Sistema modellato con attività che si scambiano messaggi) Esistono risorse che non si consumano (Un attività legge i dati di una banca dati, i quali non sono consumati dopo la lettura) (Le risorse che non si consumano possono essere modellate con risorse che si consumano con un modello più dettagliato) B1 - Linguaggi Paolo Salvaneschi 27
Risorse persistenti Richiesta Accettazione e prelievo Segreteria e medico Dati clienti Campioni Laboratorio DB Clienti Analisi Risultati Documento RIS B1 - Linguaggi Paolo Salvaneschi 28
Morfismi B1 - Linguaggi Paolo Salvaneschi 29
Morfismi B1 - Linguaggi Paolo Salvaneschi 30
Morfismi B1 - Linguaggi Paolo Salvaneschi 31
Tempo T= 10 sec Quando l attività inizia (la transizione scatta) La risorsa in ingresso è prelevata e passa un tempo T dopo il quale è prodotta la risorsa in uscita B1 - Linguaggi Paolo Salvaneschi 32
Tempo T= 10 sec Stato dell impianto Leggi stato T= 10 sec Il tempo può essere associato anche ad una risorsa Stato B1 - Linguaggi Paolo Salvaneschi 33
Per approfondire Per una presentazione più completa e formale delle Reti di Petri: C.Ghezzi,M.Jazayeri,D.Mandrioli, Ingegneria del Software,Prentice Hall, 2004 G.Bruno Model-based Software Engineering, Chapman & Hall, 1995 B1 - Linguaggi Paolo Salvaneschi 34