IL PROGETTO LUCRETIUS

in
Un prestigioso ERC Advanced Grant alla ricerca sui fondamenti per l’evoluzione di software
di John Mylopoulos
Approfondimento: 

I sistemi software sono entrati in ogni aspetto della nostra vita, sia in ambito personale che professionale. Sfortunatamente i costi per l’evoluzione di un sistema software, durante la sua vita, in risposta ai cambiamenti delle infrastrutture ambientali e tecnologiche sono una spirale al rialzo, apparentemente fuori controllo. Pertanto, la più grande sfida per l’industria software mondiale è come tenere a freno questi costi. Il principale obiettivo del progetto Lucretius è sviluppare una base teorica per concetti, strumenti e tecniche che supportino e facilitino l'evoluzione del software.
Il finanziamento del progetto Lucretius è stato approvato dal Consiglio Europeo della Ricerca (ERC) nel concorso del 2010. Il progetto finanzierà le attività di ricerca del Laboratorio Athena del Dipartimento di Ingegneria e Scienza dell’Informazione (DISI), in collaborazione con i colleghi della Fondazione Bruno Kessler (FBK) e del Laboratorio di Ontologia Applicata del CNR (CNR-LOA). In particolare, i partecipanti del DISI al progetto includono John Mylopoulos (responsabile della ricerca), Paolo Giorgini, Fabio Massacci, Roberto Sebastiani, Themis Palpanas e Yannis Velegrakis, ma anche membri FBK, Anna Perini e Angelo Susi, così come Nicola Guarino del CNR-LOA. In tutto, al progetto collaboreranno più di 20 partecipanti a tempo pieno, prevalentemente studenti di dottorato e assegnisti di ricerca.

Il progetto è stato intitolato alla memoria di Tito Lucrezio Caro (Titus Lucretius Carus), un poeta e filosofo romano che visse nel I secolo a.C. Si sa molto poco a proposito della sua vita, fatta eccezione per un capolavoro intitolato “De Rerum Natura” (“Sulla natura delle cose”) dove espone la teoria dell’evoluzione delle specie biologiche, ma argomenta anche in modo eloquente contro la superstizione, come sottolinea Virgilio: "Felice chi ha potuto investigare le cause delle cose e mettere sotto i piedi tutte le paure, il fato inesorabile, il risuonare dell'avaro Acheronte."
Un punto focale della ricerca che sarà condotta in questo progetto è la progettazione di sistemi software adattativi. Questi sistemi sono in grado di evolvere automaticamente in risposta a risultati insoddisfacenti. In tale contesto, evoluzione significa che il sistema monitora l’ambiente in cui opera e si adatta (ad esempio cambia il proprio comportamento) se la sua performance non permette il raggiungimento dei requisiti di sistema. Questo problema è stato risolto tramite un'elaborata teoria matematica nell'ambito della Teoria del controllo. La ricerca del progetto Lucretius mira a trarre vantaggio da questa formazione teorica.

L’evoluzione di software è spesso causata da nuove normative così come nuove leggi. Un secondo stimolo del progetto è lo studio di tecniche sistematiche e strumenti di supporto che assicurino che un sistema software esistente si conformi a una nuova legge. Questa ricerca include lo sviluppo di nuove tecniche per la costruzione di modelli formali di leggi e requisiti, anche per garantire la loro mutua coerenza.
Un terzo punto focale di Lucretius è lo sviluppo di nuovi modelli per i requisiti software. Questi modelli saranno fondati su nuovi concetti per la rappresentazione di requisiti, leggi, obiettivi di progettazione e di business che portino ai requisiti di software. Inoltre, il progetto aspira a sviluppare nuovi ed efficienti algoritmi per la risoluzione di problemi relativi ai requisiti.

Il progetto trarrà beneficio dalla collaborazione, già attiva o pianificata, con un team di esperti internazionali formato da colleghi con competenze complementari a quelle dei partecipanti locali. Per esempio, sono già attive collaborazioni con Munindar Singh (North Carolina State University), rinomato per il suo lavoro nell'ambito dei cosiddetti sistemi multi-agente (multi-agent systems), Alex Borgida (Rutgers University), un esperto di modellazione concettuale (conceptual modeling) e rappresentazione della conoscenza (knowledge representation), Ivan Jureta  (Namur University), esperto in teoria decisionale (decision theory) ed ingegneria dei requisiti (requirements engineering), Lin Liu (Tsinghua University), esperta in metodi formali (formal methods) ed ingegneria dei requisiti e Kostas Kontogiannis (National Technical University of Athens), esperto in manutenzione del software (software maintenance), reverse engineering, e reingegnerizzazione software (software reengineering).
In breve, il progetto Lucretius è un lavoro di gruppo, che spera di trarre vantaggio dall’esperienza e dal contributo di colleghi e dalle discipline di ricerca, sia internazionali che locali. Ai tempi dei social media, dei social network e del social computing, anche la ricerca è diventata una disciplina sociale e non rispecchia più metodologie di ricerca tradizionali che permettevano un tempo al singolo ricercatore di condurre la sua ricerca chiuso in una torre d’avorio.


[Traduzione di Sara Curzel. Negli “Approfondimenti” il testo il lingua originale inglese]