Lezione 11 – Rappresentazione dei vincoli Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi di Milano Richiamo al problema dei vincoli • La rete di Petri del nostro esempio rappresenta il sistema, ma non il vincolo – l’unità disco 3 deve usare il canale B – l’unità disco 2 può usare il canale A o B Reti di Petri colorate (1) • Modellare questi sistemi vincolati con una rete di Petri può essere difficile e quindi consideriamo l’estensione del modello consentendo token colorati. Reti di Petri colorate (2) • Definiamo un insieme di colori C. • La marcatura specifica per ciascun posto il bag di token colorati in quel posto. – L’uso di un bag consente che più token dello stesso colore risiedano in un posto • La questione principale ora è come definire lo scatto di una transizione: i colori dei token di input si possono usare per definire i colori dei token di output? Regola generale di scatto • Supponiamo che qj sia il numero di token di input e rj sia il numero di token di output per una transizione tj. • La regola generale di scatto definisce per ogni transizione tj una funzione fj dei token di input qj che produce una rj-tupla di token di output. Questa funzione può essere rappresentata da una tabella... Definizione di esempio (1) Regola di scatto per una rete di Petri colorata Definizione di esempio (2) Commenti • Le colonne qj di sinistra rappresentano i posti di input; le colonne rj di destra rappresentano i posti di output. Ogni riga della tabella specifica una combinazione di colori di input. Definizione di esempio (3) Commenti • Se i token di questi colori sono disponibili nei posti di input corrispondenti, la transizione può scattare eliminando questi token dagli input e aggiungendo un token del colore corretto a ogni posto di output. • Una combinazione di colori di input che non è elencata non abilita la transizione. Modello di rete di Petri estesa (1) • Questo è un modello di un semplice algoritmo di schedulazione dei dischi per la configurazione dell’esempio precedente. Modello di rete di Petri estesa (2) • Questo modello di rete di Petri estesa può modellare facilmente i sistemi che vengono naturalmente definiti in termini di quantità tipate o individui distinti. Modello di rete di Petri estesa (3) Commenti • Risorse diverse vengono rappresentate da token di colori differenti. Notiamo che la transizione t3 non è attivata per combinazioni di input indesiderate (canale A, unità disco 3 o canale B, unità disco 1). • A questo punto, possiamo domandarci se questa è un’estensione significativa al modello di rete di Petri. FINE