Focus

Trasferimento di tecnologie avanzate di software engineering

Il crescente diffondersi delle tecnologie informatiche nei beni e nei servizi di tutti i giorni è ormai noto a molti come "Pervasive ICT". Il termine "pervasivo" ben raffigura la tendenza che ben presto centinaia di miliardi di microprocessori finiranno in oggetti che all'apparenza nemmeno si presentano come prodotti ICT e governeranno praticamente ogni aspetto della nostra vita. Questa vera e propria rivoluzione sta progressivamente cambiando tutti i mercati e il modo stesso di essere e di competere delle aziende. In ogni caso, il software costituirà di fatto l'anima di ognuna di queste realizzazioni e si conferma come l'elemento maggiormente responsabile del soddisfacimento di esigenze di qualità dei servizi e dei beni di cui la società ha bisogno.

La ricerca informatica ha da tempo preso atto delle sfide che questa evoluzione tecnologica pone sulla produzione del software, che se da un lato deve poter soddisfare stringenti requisiti di qualità, soprattutto in termini di correttezza e prestazioni, dall'altro diviene sempre più complesso ed esposto a forme sempre più sofisticate di attacchi e malfunzionamenti. L'ingegneria del software risponde oggi a tali sfide con modelli strutturati di processi e con metodologie rigorose, adattive e automatizzate di specifica, sviluppo e verifica. Particolare attenzione è posta sull'aspetto di validazione e verifica che pervade tutte le fasi di ingegnerizzazione del prodotto software, al fine di garantirne uno sviluppo adeguato alle esigenze dell'utente fin dalle prime fasi di specifica e progettazione. Gli avanzamenti in tal senso sono continui e molto rapidi, pertanto il divario naturale fra scienza e pratica rischia di ampliarsi ove non venga messo in atto in maniera continuativa un processo di collaborazione e trasferimento delle conoscenze fra accademia e industria.

In ISTI, dove le competenze ed i progetti di ricerca sul software sono i più variegati e di ben lontane origini, la cooperazione con le aziende è una componente essenziale del modo di fare ricerca informatica. Ad oggi, oltre ai molti progetti ministeriali e della Comunità Europea, sono infatti attivi diversi accordi di diretta collaborazione con importanti aziende nazionali ed internazionali, che spiccano in una realtà nazionale di ridotti investimenti privati nella ricerca. Riportiamo in breve alcuni esempi dei principali successi.

La collaborazione con Fiat Auto è mirata alla determinazione e al miglioramento del livello di capacità dei fornitori, ed include il monitoraggio ed il miglioramento di progetti software tramite la valutazione del processo software. L'attività si basa sullo screening delle capacità tecnologiche delle aziende (italiane e soprattutto straniere) che forniscono il software e le centraline elettroniche, di cui l'automobile dispone oggi in numero elevato (fino a 70 - 80 per veicolo). L'attività è iniziata nel 2000: in una prima fase sono state condotte delle valutazioni (assessment) del processo di sviluppo software di alcuni fornitori di riferimento per Fiat Auto. Sulla base dei risultati di tali assessment e della conseguente individuazione delle criticità legate alle forniture software, si è definito un modello di riferimento e un profilo di capacità atteso, che si è poi utilizzato per sottoporre a valutazione tutti i fornitori software, con una metodologia, condivisa da tutti i costruttori di auto europei. Ad oggi sono stati valutati oltre 20 fornitori software di Fiat Auto in Europa e negli Stati Uniti (tra cui Delphi, TRW, Magneti Marelli, Bosch, Siemens). I risultati di tali valutazioni e l'approccio così definito fanno adesso parte del processo di gestione dei fornitori software da parte di Fiat Auto.

La collaborazione con Alstom è iniziata nel 2003 ed e' finalizzata allo studio e alla realizzazione di un processo di sviluppo formale in grado di modellare un sistema di segnalamento ferroviario, eseguire sul modello tutte le simulazioni atte a garantirne la correttezza ed infine trasferire su una piattaforma hardware il codice prodotto automaticamente. In particolare la collaborazione tra ISTI e Alstom Ferroviaria S.p.a. e' rivolta alla ricerca di soluzioni di modellazione per impianti di interlocking, nel settore ferroviario, utilizzando ambienti di specifica formale ingegnerizzati: la finalità di questi esperimenti è quella di stabilire un processo di sviluppo altamente automatizzato in cui apparati di segnalamento ferroviario, specifici di ogni realtà nazionale, vengono realizzati a partire dalla loro descrizione formale.

Infine, dal 2001 e' stato avviato il laboratorio Pisatel (Pisa Initiative on Software Architectures for Telecommunications) congiunto fra ISTI e Marconi/Ericsson Lab Italy, che coinvolge anche collaboratori dell'Università di Pisa e della Scuola Sant'Anna. L'iniziativa si rivolge alla ricerca e formazione su tematiche software di interesse comune, articolate su progetti revisionati su base annuale e condotti prevalentemente tramite il reclutamento di giovani ricercatori: ad oggi sono stati completati con successo diversi grant, nonche' sei dottorati di ricerca. Il particolare clima di aperta collaborazione che si e' potuto stabilire in questa realta', non vincolata da immediate scadenze contrattuali, ma tuttavia aderente a esigenze concrete, ha consentito di affrontare da una prospettiva privilegiata tematiche di frontiera fra accademia ed industria. Le tematiche affrontate hanno incluso metodologie avanzate di testing del software, i sistemi in tempo reale, e metodi efficienti di trascodifica video per la telefonia mobile. La sfida attualmente affrontata consiste nell'individuazione di strumenti efficaci per il model-driven engineering (ovvero lo sviluppo di software interamento guidato da modelli rigorosi che si trasformano automaticamente in codice eseguibile, prevenendo cosi' gli errori ed i costi della programmazione manuale) che consentano l'analisi precoce della qualita' e delle prestazioni.
Contatti: A. Bertolino, F. Di Giandomenico, F. Fabbrini, S. Gnesi