Potenziamento della produttività dei sistemi informatici
I sistemi informatici eterogenei sono praticamente dei sistemi elettronici che gestiscono diverse unità computazionali (come sistemi audio o video, applicazioni collegate in rete ecc.) e che necessitano di risorse specializzate per funzionare. La lacuna tra progettazione e produttività di questi sistemi si verifica in particolare per due motivi: i processori integrati stanno diventando più complessi e le applicazioni che vengono eseguite in questi processori sono più larghe e altrettanto complesse. Di conseguenza il progetto DynaGALS ha preso in considerazione tre tematiche per superare questi problemi: linguaggi di programmazione di alto livello, prevedibilità temporale e progettazione basata sui componenti. Per affrontare la prima tematica i ricercatori hanno considerato il linguaggio di programmazione SystemJ. SystemJ è particolarmente adatto alla programmazione di sistemi globalmente asincroni e localmente sincroni (GALS), una parte cruciale del progetto. DynaGALS ha iniziato a definire il compito e ha condotto studi di caso per verificare se SystemJ si potesse usare per la programmazione di sistemi informatici integrati. L'equipe ha poi creato un nuovo linguaggio di programmazione con previsione temporale, chiamato Precision Timed C (Pret_C). Si basa sul linguaggio di programmazione C largamente usato con alcune dinamiche aggiunte per migliorare le prestazioni. Pret C consente la comunicazione tra memorie di due thread esistenti: una funzione che non viene offerta dalla normale programmazione C. Di conseguenza è possibile mappare più facilmente il tempo logico rispetto al tempo fisico. È stata inoltre progettata Arpret, un'architettura target dedicata che unisce un acceleratore hardware a un processore soft core che aumenta l'efficienza di Pret_C. La terza tematica affrontata da DynaGALS si riferiva ai sistemi basati sui componenti. Si tratta di sistemi complessi costituiti da blocchi di codici o componenti. Un problema essenziale è come comporre i componenti progettati in isolamento quando si conosce solo l'interfaccia di comunicazione di un singolo componente. Quando si tenta di collegare insieme i diversi componenti si verificano regolarmente degli scambi. Di conseguenza l'equipe ha creato un nuovo approccio formale che incorpora una sintesi di convertitore (un tipo di verifica) che collega gli scambi tra diversi componenti. Il progetto, costato 111.667 euro, è terminato nel febbraio 2010. SystemJ promette di diventare il principale linguaggio di progettazione a livello di sistema per sistemi integrati eterogenei.