Il decennio 1980–1989 rappresentò per me un periodo di intensa maturazione professionale e di confronto con i limiti epistemologici di una disciplina progressivamente assunta: l’ingegneria del software. Dopo gli anni Sessanta e Settanta, quando l’informatica romena era ancora sotto il segno del pionierato, l’inizio del decennio successivo portava tensioni tra il sistema informatico centralizzato, con ambizioni di pianificazione e gestione, e il bisogno di libertà del calcolo ispirato dalla comparsa dei mini- e soprattutto dei micro-calcolatori. La frammentazione dell’hardware implicava però anche la frammentazione del software, tendenza contraria alle esigenze del mercato, che presto portò alla nascita delle reti e del calcolo distribuito, un nuovo paradigma che l’informatica era chiamata a integrare. Era un’epoca in cui l’informatica romena, sotto la pressione della politica tecnologica dello Stato, cercava la propria voce scientifica. Tra vincoli materiali e ideologici, la ricerca riusciva tuttavia ad affermarsi attraverso originalità e sforzo personale.
Una descrizione sintetica di questa sezione è disponibile anche in formato PDF: Ordine nel caos. Ingegneria del software e architetture sulla sabbia (1980–1989).
Negli anni Ottanta cercai di portare nella progettazione software una disciplina paragonabile a quella ingegneristica fondata su formalismi matematici, senza ignorare la natura inevitabilmente umana della creazione: intuizione, iterazione, alternative. Da questa tensione si cristallizzarono le idee di macchina astratta e di interforma, e più tardi il progetto INTERFORM.
In quegli anni, nei corsi che tenevo e nel mio laboratorio di Ingegneria del software presso il Dipartimento di Calcolatori dell’Istituto Politecnico di Bucarest, nacque l’idea di un ordine nella produzione del software — un ordine cercato nel caos metodologico dell’epoca, quando la programmazione era ancora un’arte. Questa sezione documenta proprio quella ricerca di equilibrio tra riflessione teorica, necessità di rigore tecnico e creatività artigianale dei professionisti.
Per la mia ricerca, questo decennio ebbe il ruolo di misurare il tempo attraverso le idee: segnò il momento in cui la mia formazione teorica cominciò a diventare esperienza biografica, in cui il laboratorio si trasformò in uno spazio di resistenza intellettuale. Lo considero una testimonianza essenziale del modo in cui la passione per l’ordine e per la forma riuscì a sopravvivere in un contesto che, per sua natura, privilegiava l’improvvisazione. In questo senso, è una confessione sulla ricerca di senso nel caos — un senso che, retrospettivamente, si rivelò l’inizio di un nuovo paradigma personale sull’ingegneria del software.
Un testo iniziale, in cui la progettazione è vista come una successione di raffinamenti controllati su descrizioni intermedie, cercando di fissare ciò che può essere formalizzato in un’attività che rimane, inevitabilmente, creativa.
La prima formulazione esplicita della macchina astratta come modello della progettazione software e della “forma intermedia” come descrizione dello stato del progetto nel percorso dalla specifica all’implementazione.
Il passaggio dal modello alla proposta di un sistema: un laboratorio CAD/CAM per lo sviluppo del software, costruito intorno a un modello formale del metodo di progettazione ed estensibile mediante tecniche di ingegneria della conoscenza.
INTERFORM è la materializzazione pratica della visione del decennio: un ambiente integrato di sviluppo assistito, costruito intorno all’interforma e a un’architettura stratificata, con funzioni avanzate di progettazione e analisi.
Una riflessione tecnico-metodologica sulla progettazione come attività sistematica: che cosa può essere tradotto in regole, che cosa può essere sostenuto da strumenti e dove resta necessario il giudizio del progettista.
Un approccio orientato alla sintassi per l’elaborazione e la trasformazione di dati/testi, in cui la struttura (la grammatica) diventa il meccanismo centrale dell’elaborazione e della generazione controllata.
Al di là degli articoli, INTERFORM fu un progetto di laboratorio e di équipe: implementazione, contratti, iterazioni e strumenti concreti. La pagina del progetto è separata dalla pagina concettuale sull’interforma e dalle schede documentarie degli articoli o dei contratti.
Nota: ciascuna delle schede sopra ha soltanto una funzione di orientamento.