Vai al contenuto| Home page|

   Ti trovi in: HOME »Programmi, progetti e risultati »I progetti »PRIN - Programmi di ricerca di Rilevante Interesse Nazionale»Programma di ricerca
INIZIO_TESTO_DA_INDICIZZARE

PROGRAMMA DI RICERCA 2007

italiano - english
Programmi di ricerca simili:
Classificazione scientifico-disciplinare
Classificazione brevettuale
Classificazione geografica
Parole Chiave
SOFTWARE, SISTEMI PERVASIVI, EVOLUZIONE DINAMICA, AFFIDABILITÀ, VERIFICA E CONVALIDA

D-ASAP: Architetture Software Adattabili e Affidabili per Sistemi Pervasivi

Politecnico di Milano
Abstract
Lo scopo del progetto è la creazione di un coordinamento stretto tra gruppi di ricerca attivi a livello internazionale nell'area dell'ingegneria del software, per focalizzare la ricerca sulle sfide emergenti riconosciute dalla comunità scientifica. Il progetto è coerente con le direzioni indicate dall'Unione Europea nel 7° PQ, in particolare con le piattaforme NESSI e ARTEMIS. Il progetto supporterà l'integrazione delle competenze complementari dei gruppi, identificando (1) approcci comuni a progettazione, specifica e messa in opera di applicazioni dinamiche e pervasive, (2) attraverso uno sviluppo congiunto di prototipi per lo sviluppo e l’esecuzione a run-time di tali applicazioni, e (3) scenari e casi di studio in comune su cui convalidare la ricerca. D-ASAP si caratterizza sia per l’ampiezza e la profondità dei contributi che per la competenza e la consistenza numerica dei diversi gruppi che ne fanno parte.

Il progetto è motivato dal riconoscimento che le metodologie e le tecniche correnti dell'ingegneria del software sono inadeguate ad affrontare molteplici scenari futuri. Gli approcci correnti assumono che l'ambiente in cui le applicazioni operano sia statico (o cambi lentamente) e i cambiamenti possano essere previsti, cosicché la struttura dell'applicazione —i suoi componenti, relazioni e “binding”— possa essere definita in fase di progettazione. Purtroppo molte di queste assunzioni non sono più valide. Negli scenari >>>

Coordinatore Scientifico del Programma di Ricerca
Carlo Ghezzi Politecnico di MILANO
Obiettivo del Programma di Ricerca
L'obiettivo del progetto è quello di sviluppare tecniche e strumenti che supportino tutti gli aspetti del ciclo di vita di applicazioni distribuite che possano adattarsi dinamicamente a cambiamenti dei requisiti o del loro ambiente attraverso meccanismi di riconfigurazione e reazioni di autoriorganizzazione. Le applicazioni dovranno anche soddisfare requisiti di affidabilità, disponibilità e di tempo reale.

Il principale obiettivo verrà conseguito tramite i seguenti sotto-obiettivi:
OB1. Sviluppo di notazioni formali capaci di descrivere i differenti aspetti e requisiti (funzionali e non funzionali) delle applicazioni.
OB2. Sviluppo di strumenti per la verifica e simulazione delle applicazioni.
OB3. Sviluppo di tecniche “model-driven” di sintesi di applicazioni per l'implementazione di sistemi corretti per costruzione.
OB4. Sviluppo di tecniche e strumenti per il testing evolutivo di applicazioni
OB5. Sviluppo di tecniche e strumenti per il monitoraggio a run-time e la riconfigurazione.

Questi cinque sotto-obiettivi ricoprono attività che vanno dalle fasi iniziali di analisi e progettazione all’implementazione dell'applicazione ed infine al monitoraggio a run-time e alla riconfigurazione. Per dimostrarne l'efficacia pratica, le tecniche e gli strumenti sviluppati in D-ASAP saranno applicati ad un caso di studio significativo che riguarda i problemi della salute.

Di seguito >>>

Risultati parziali attesi
Nel seguito vengono descritti i principali risultati attesi organizzati per obiettivi (si veda la Sez. 11)


OB1 – Sviluppo di notazioni formali

Ogni unità contribuirà ai fondamenti concettuali per la realizzazione del presente obiettivo, integrandoli in un ambiente di modellazione unico per D-ASAP.

PoliMI svilupperà un formalismo compatibile con UML per la modellazione di alto livello di applicazioni affidabili e riconfigurabili le cui proprietà potranno essere specificate con un linguaggio simil-OCL. Tale formalismo adotterà un paradigma assume/guarantee analogamente a quanto fatto in [FRMM07] e [BBG+07]. Si definiranno anche le regole per il passaggio da tale modello dichiarativo a un modello operazionale usando l’ambiente ASM di UniPI, al fine di derivare modelli eseguibili di alto livello per il test e il monitoring, nonchè come punto di partenza verso ulteriori raffinamenti che portino al codice eseguibile. L’unità si occuperà anche di formalizzare possibili meccanismi di recupero, analizzando come siano utilizzabili in specifici contesti applicativi, al fine di aiutare i progettisti nella definizione delle migliori strategie di recupero, permettendo anche un’analisi a tempo di esecuzione dei fallimenti che porti a scegliere e applicare il meccanismo più adatto alla situazione.

Il contributo di UniPI sarà volto a verificare l’usabilità del metodo ASM, sia per la modellazione che per l’analisi di >>>

Durata
24 mesi
Base di partenza scientifica nazionale o internazionale
D-ASAP si concentra sulla sfida dello sviluppo di software "open-world" affidabile, cioè software che deve evolvere dinamicamente per interagire con un ambiente in perpetua evoluzione. Anche il processo di sviluppo che consideriamo è "aperto": decentralizzato e non sotto il controllo di una unica organizzazione. Usiamo qui il termine "affidabile" nel senso del termine inglese "dependability", per il quale vale la definizione standard del gruppo di lavoro IFIP 10.4 sulla computazione affidabile e la tolleranza ai guasti.

La ricerca nell'ambito dell'ingegneria del software si è focalizzata per decenni su metodi e strumenti per lo sviluppo di software affidabile. Si è giunti ad un consenso sul fatto che i risultati ottenuti finora siano inadeguati a gestire le sfide con cui il software si dovrà confrontare in futuro. Il rapporto SEI-CMU "Ultra-Large-Scale Systems--The Software Challenge of the Future" (2006) propone sia un'accurata analisi di queste sfide, che l'identificazione di direzioni di ricerca.

Finora sono state sviluppate un gran numero di notazioni per modellare applicazioni affidabili. Tra queste TRIO [CCC+99], una logica temporale metrica di applicabilità generale e supportata da svariate tecniche di analisi [GM01, PMS07, SMM00], è stata usata per definire e studiare proprietà di sistemi critici. Essa funge anche da base per il linguaggio TRIO/CORBA [CPRM03], pensato >>>