Lezione 17 – Modelli astratti Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi di Milano Modello astratto: ecosistema software • ECO: per analisi e descrizione architetturale • Ecosistema software (le interazioni tra reazioni sono controllate da regole esplicitamente dichiarate) • Gli individui possono interagire solo secondo un insieme dichiarato di regole di reazione Caratteristiche ECO • Specificazione modulare • Interazioni tra individui • Alleanze (connettori) • Comunità (Stati di ECO) • Viene usato in aree in cui l’architettura prevista tenderà ad essere ampia, complessa e assemblata dai componenti esistenti • Elementi architetturali: elementi di elaborazione, elementi di dati ed elementi di connessione Parte strutturale • Una notazione di modellazione che descrive le proprietà strutturali dell’ecosistema • Ha una sintassi “set-based” • Si basa su “Z” Esempio (1) Storage Esempio (2) Analisi • Eco supporta due tipi di analisi – Simulazione: la coerenza di un invariante o un’operazione è dimonstrata generando uno stato o una transizione – Controllo: una conseguenza di una specificazione viene testata tentando di generare un controesempio • Insieme le due analisi consentono un processo incrementale di specificazione Eco e Z • Eco si basa su Z perché: – le semantiche sono semplici ed intuitive (basate su set) – adatto alla modellazione orientata agli oggetti – le strutture di dati sono costruite da strutture matematiche concrete FINE