Poprawa efektywności systemów komputerowych
Heterogeniczne systemy komputerowe obejmują w zasadzie systemy elektroniczne obsługujące rozmaite typy wyposażenia komputerowego (takiego jak systemy dźwiękowe lub wideo, aplikacje sieciowe, itp.), oraz wymagające specjalistycznych zasobów podczas swojej pracy. Luka pomiędzy konstrukcją tych systemów a wydajnością, występuje z dwóch zasadniczych powodów: wbudowane procesory stają się coraz bardziej złożone, a aplikacje prowadzone na tych procesorach większe i równie złożone. Dlatego też, w ramach projektu DynaGALS zainteresowano się trzema zagadnieniami, by przezwyciężyć te problemy; a mianowicie językami programowania wyższego rzędu, przewidywalnością systemu w czasie rzeczywistym oraz konstrukcją w oparciu o komponenty. Aby uporać się z pierwszym z problemów, naukowcy zainteresowali się językiem programowania SystemJ. SystemJ jest szczególnie dostosowany do konstrukcji globalnie asynchronicznych i lokalnie synchronicznych systemów (GALS), co było zasadniczą częścią projektu. W projekcie DynaGALS zdefiniowano to zadanie i przeprowadzono badania przypadków, by przekonać się, czy SystemJ możliwy będzie do zastosowania przy projektowaniu wbudowanych systemów komputerowych. Po drugie, zespół projektowy stworzył nowy, przewidywalny w czasie, język programowania, zwany Precision Timed C (Pret_C). Powstał on w oparciu o szeroko stosowany język programowania C, z pewnymi dodatkami elementów dynamicznych, zastosowanymi, by poprawić jego pracę. Pret C pozwala na realizację łączności pamięci pomiędzy dwoma istniejącymi wątkami, a więc na element, którego normalne programowanie w języku C nie oferuje. W rezultacie, można łatwiej osiągnąć odwzorowanie czasu logicznego w czasie fizycznym. Aby poprawić wydajność języka Pret_C, zaprojektowano Arpret, czyli dedykowaną, docelową platformę architektury, obejmującą akcelerator sprzętowy wraz z procesorem o miękkim rdzeniu. Trzeci problem, którym zajęto się w projekcie DynaGALS, dotyczył systemów opartych na komponentach. Są to złożone systemy, realizowane z bloków kodowych lub komponentów. Podstawowy problem polega na tym, w jaki sposób złożyć razem komponenty zaprojektowane osobno, gdy znany jest jedynie interfejs łączności indywidualnego komponentu. Przy usiłowaniu połączenia ze sobą różnych komponentów, występują regularne niedopasowania. W rezultacie tego, zespół opracował nowe formalne podejście do problemu, włączając do prac syntezę konwertera (rodzaj weryfikacji), umożliwiającą połączenie takich niedopasowań pomiędzy różnymi komponentami. Projekt, który kosztował 111667 euro, prowadzony był do lutego 2010 roku. SystemJ stanie się głównym językiem do projektowania wyższych poziomów systemów stosowanych w złożonych i heterogenicznych wbudowanych systemach komputerowych.