Questa sezione riunisce le mie ricerche nell'ambito dell'ingegneria del software,
così come si sono cristallizzate a partire dalla seconda metà degli anni Settanta e si sono evolute
lungo gli anni Ottanta, in un contesto tecnologico segnato dalla fragilità del software,
dalla mancanza di standard e dalla necessità di un approccio sistematico alla progettazione.
La sezione segue anche il modo in cui queste idee sono state successivamente trasferite nell'educazione,
attraverso il profilo di Software Engineering costruito alla FILS.
Per me, l'ingegneria del software non è mai stata soltanto una raccolta di tecniche
di programmazione, ma uno sforzo per comprendere e modellare il processo attraverso il quale un prodotto
software prende forma: dalle idee e dalle specifiche alle forme intermedie,
alle decisioni di progettazione e, infine, all'implementazione.
Pagine di sintesi e riflessione
Storia dell'Ingegneria del software
Cronologia commentata del campo, dalla programmazione artigianale e dalla Conferenza NATO di Garmisch
fino ad Agile, DevOps, cloud, IA generativa e alla trasformazione attuale della disciplina.
Il futuro dell'Ingegneria del software
Saggio-dialogo sul futuro del campo e della formazione in Software Engineering, a partire dall'esperienza
della scuola costruita alla FILS e dalle sfide poste da piattaforme, DevOps, cloud e IA generativa.
Architettura dell'IA agentica: il ritorno dell'Ingegneria del software
Riflessione sui sistemi popolati da agenti intelligenti, nei quali il contesto diventa uno stato adattabile
dell'universo dell'agente, gli agenti formano ecosistemi digitali e strumenti, memoria, controllo e
osservabilità devono essere riuniti in un framework integrato.
Memoria istituzionale ed educazione
FILS: il ritorno al Politecnico
La pagina memorialistica sul mio ritorno al Politecnico, la costruzione del profilo di Software Engineering,
l'introduzione delle nuove discipline, la formazione del corpo docente, il primo master specialistico e la
riflessione sul futuro di questa direzione educativa.
Direzioni principali
Portabilità dei programmi (1974–1979)
Linguaggi portabili, codice intermedio, macroprocessori (BCPL, INTCODE,
STAGE-2, JANUS) e i primi articoli sulla portabilità come obiettivo ingegneristico.
Integrating Tools for Software Development (Prentice Hall, 1992)
Il libro sintetizza il mio modello del processo software, costruito su quattro famiglie di entità: oggetti,
attività, agenti e strumenti. Da questo universo nasce l'idea di un ambiente integrato e programmabile
per lo sviluppo e l'evoluzione dei programmi.
I testi di questa sezione sono organizzati come pagine di sintesi,
accompagnate, dove necessario, da documenti PDF o pagine dettagliate.
Riflettono una fase nella quale i miei interessi di ricerca si allontanano gradualmente
dalla costruzione isolata di programmi e si concentrano sul
processo software come oggetto di studio in sé. Il collegamento con la pagina sulla FILS mostra
la continuazione di queste idee sul piano didattico e istituzionale. Le pagine di sintesi e il saggio sul futuro
sono segnalati anche nel percorso trasversale Riflessioni.