Sistemi di componenti per software della prossima generazione
Ciascuna entità oggi presente nel web, ad esempio software e dati XML, ha le carte in regola per diventare un componente attivo. Si pensa che entro pochi anni i componenti attivi sostituiranno documenti, desktop, browser, architetture terze e applicazioni complete. Ecco perché è necessaria una idonea tecnologia che consenta una facile e uniforme composizione di componenti, che aumenti le possibilità di riuso dei componenti e quindi la produttività degli utilizzatori finali e degli ingegneri software. Su questa premessa, il progetto EASYCOMP ha sviluppato robuste tecniche di composizione per componenti attivi. Basate sulla aspect separation e la composizione, le nuove tecniche permetteranno agli utilizzatori di adattare dinamicamente i componenti, grazie a opportuni metodi di metamodellizzazione e generazione del codice. Le tecniche sviluppate offriranno inoltre la composizione dinamica di componenti attivi per modificare i sistemi. Uno dei principali ostacoli era la mancanza di omogeneità dei componenti nei differenti stadi di sviluppo (costruzione, assemblaggio, esecuzione). Questa diversità nella disponibilità di mezzi di composizione rende più complesso sviluppare un software basato su componenti. Per risolvere il problema, i ricercatori hanno sviluppato una metodologia uniforme di composizione e adattamento che integra tre distinti modelli di composizione, applicabile a tutte le fasi di sviluppo di un componente in un modello. I singoli modelli offrono maggiori possibilità di riuso e sfruttamento dei manufatti costruiti nelle fasi del ciclo di vita del componente. Il modello integrato fornisce un ambiente comune adatto allo sviluppo di componenti per ciascuno dei tre modelli. Tenendo conto degli attuali componenti COTS (Commercial Off-The-Shelf), la metodologia di metacomposizione crea un solido quadro di riferimento che permette a una API generica di accedere ai modelli di componenti sviluppati da aziende distinte. Gli utilizzatori dovrebbero così disporre di un numero maggiore di opzioni al momento di combinare componenti di differenti modelli.