Augmenter la productivité des systèmes informatiques
Les systèmes informatiques hétérogènes sont essentiellement des systèmes électroniques qui fonctionnent sur des unités informatiques différentes (par exemple des systèmes audio ou vidéo, des applications en réseau, etc.) et qui ont besoin de ressources spécialisées supplémentaires pour fonctionner. Le fossé conception-productivité de ces systèmes est dû à deux raisons principales : les processeurs embarqués deviennent plus complexes et les applications qui tournent sur ces processeurs sont plus grosses et également complexes. En conséquence, le projet DynaGALS s'est intéressé à trois questions pour surmonter ces problèmes: les langages de programmation de haut niveau, la prévisibilité temporelle et la conception basée sur les composants. Pour la première d'entre elles, les chercheurs se sont intéressés au langage de programmation SystemJ. SystemJ est particulièrement adapté à la conception de systèmes globalement asynchrones et localement synchrones (GALS), éléments essentiels du projet. Le projet DynaGALS s'est attaché à définir la tâche et à mener des études de cas pour voir si SystemJ pouvait être utilisé pour la conception de systèmes informatiques embarqués. En second lieu, l'équipe a créé un nouveau langage de programmation temporellement prédictif nommé Precision Time C (Pret_C). Il est basé sur le langage C, dont l'utilisation est très répandue, avec des éléments dynamiques supplémentaires pour améliorer les performances. Pret C permet des communications entre fils d'exécution par mémoire, ce que ne permet pas la programmation en langage C classique. En conséquence, il est plus facile d'établir la correspondance entre le temps logique et le temps physique. Une architecture cible dédiée combinant un accélérateur matériel à un cœur de processeur logiciel, nommée Arpret, a également été conçue pour améliorer l'efficacité de Pret_C. Le troisième problème abordé dans le cadre du projet DynaGALS portait sur les systèmes à base de composants. Il s'agit de systèmes complexes qui sont constitués de blocs de code ou de composants. Un problème majeur consiste à élaborer des composants conçus de manière isolée lorsque seule l'interface de communication d'un composant individuel est connue. Lorsque l'on tente de lier les composants ensemble, il est fréquent que des problèmes de correspondance surviennent. Par conséquent, l'équipe du projet a imaginé une nouvelle approche formelle intégrant une synthèse de convertisseur (un type de vérification) palliant aux problèmes de correspondance entre les différents composants. Le projet, dont le coût s'élevait à 111\;667 euros, s'est poursuivi jusqu'en février 2010. SystemJ devrait devenir le langage majeur de conception au niveau système pour les systèmes embarqués complexes et hétérogènes.