Illustrazione ed esemplificazione dell’approccio progettuale “Model-Driven Architecture”. Tale approccio prevede, per ogni tipologia di problemi affrontati, la preliminare definizione di un modello di riferimento di adeguata capacità espressiva, quindi la realizzazione una volta per tutte del correlato “motore inferenziale”, in modo da conseguire prestazioni e comportamenti anche fortemente differenziati a partire dalla semplice configurazione parametrica del modello, piuttosto che attraverso lo sviluppo di codice ad hoc. Il fondamentale principio della distinzione in sede di progetto dei tre aspetti “what to do”, “when to do”, “how to do”. Criteri per la decomposizione funzionale di un sistema complesso in termini di una gerarchia di entità (sottosistemi, moduli, componenti elementari), astratte o concrete, opportunamente cooperanti. Definizione del ruolo e delle funzionalità di ciascuna entità (“what to do”), nonché delle relative interfacce e dei protocolli previsti per l’interazione con altre entità operanti nello stesso livello o nei livelli adiacenti della gerarchia. Modelli di riferimento per la definizione formale del comportamento delle singole entità (“how to do”). Modelli di riferimento per la definizione delle modalità di esecuzione dei compiti delle singole entità (“when to do”).