Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di...

11
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi di Milano Lezione 11 – Rappresentazione dei vincoli

Transcript of Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di...

Page 1: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

Ingegneria del software

Modulo 1 - Introduzione al processo software

Unità didattica 3 - Modelli di fase d’analisi

Ernesto Damiani

Università degli Studi di Milano

Lezione 11 – Rappresentazione dei vincoli

Page 2: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

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

Page 3: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

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.

Page 4: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

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?

Page 5: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

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

Page 6: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

Definizione di esempio (1)

Regola di scatto per una rete di Petri colorata

Page 7: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

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.

Page 8: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

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.

Page 9: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

Modello di rete di Petri estesa (1)

• Questo è un modello di un semplice algoritmo di schedulazione dei dischi per la configurazione dell’esempio precedente.

Page 10: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

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.

Page 11: Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.

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