Sites Inria

Recherche

Jean-Michel Prima - 28/07/2015

Le temps comme fil rouge de l'ingénierie de systèmes

Jean-Pierre Talpin, responsable de l'équipe TEA

Nouvelle équipe dirigée par le scientifique Jean-Pierre Talpin au centre de recherche Rennes - Bretagne Atlantique, TEA entreprend de revisiter la notion du temps dans les systèmes embarqués. L'enjeu : mieux accorder les composants du réel, de l'électronique et du logiciel.

« Le temps sera notre fil conducteur, résume Jean-Pierre Talpin. À travers ce seul concept, on peut aborder tous les problèmes de vérification formelle se posant en ingénierie des systèmes. Certes, beaucoup d'équipes manipulent déjà la notion du temps, notamment dans leurs travaux sur les systèmes synchrones, asynchrones ou polychrones. D'autres encore s'attellent à marier les domaines du continu et du discret. Au sein de TEA, nous souhaitons plutôt nous intéresser à un problème transversal qui est le suivant : dans la modélisation du réel, de l'électronique et du logiciel, le temps prend des représentations complètement différentes, qui nécessitent donc des domaines mathématiques distincts. Alors, comment accorder les composants d’un système les uns avec les autres s’ils représentent l’écoulement du temps différemment ? »

 Les chercheurs rennais débutent une collaboration avec l'Université de Hong Kong (HKU) portant justement sur l'intégration de composants dans un système cyberphysique. Autrement dit : la modélisation informatique de l'environnement physique, matériel et logiciel d’un système. En l'occurrence, ici, l’étude de cas porte sur un moteur automobile. « Nous utilisons des modèles informatiques pour représenter le moteur, le matériel (au sens électronique) et le logiciel. »  La difficulté ? « Assembler tout cela de façon que chacun parle bien de la même chose. Il faut que le matériel s'adresse aux capteurs et aux actuateurs exactement aux moments souhaitables, que ces actuateurs restituent les commandes dans l'environnement physique et que le logiciel soit parfaitement ordonnancé pour le matériel choisi.  » À cet écheveau, vient se greffer une embûche supplémentaire : « la modélisation elle-même altère la perception du temps. On ne présente pas le temps de la même manière dans un modèle informatique et dans la réalité.  » Exemple ? « Les fluides dans le moteur : ces phénomènes mécaniques se simulent au moyen d'équations différentielles, résolues par des méthodes qui sont discrètes. Or, dans la réalité, ces flux appartiennent au temps continu. »

Contrat et ordonnancement

Une manière de résoudre les transactions repose sur la notion de contrat. « Le contrat va dire : du point de vue de mon logiciel, je fais l'hypothèse que le programme reçoit tel et tel événements, et produit tel et tel événements, à telle cadence logique ou selon telle relation de causalité logique. Mais ensuite, comment interfacer cela quand on se trouve face à un millier de composants qui s'exécutent sur une architecture embarquée ? Il faut les ordonnancer. Si on considère la théorie de l'ordonnancement sous l'angle du temps, cela devient un problème de mitigation entre des contraintes matérielles (fréquence d'un processeur, bande passante sur un réseau...) et le logiciel que l'on souhaite ordonnancer. Ce dernier est constitué d'autant d'éléments qu'il faut interfacer entre eux et ordonnancer sur l'architecture de manière formellement prouvée. Voilà typiquement un problème à la frontière entre deux domaines de temps. »
Les chercheurs envisagent d'abord « des travaux de nature sémantique. Il s'agit de décrire des propriétés avec une représentation si possible assez simple. Nous nous intéressons aujourd’hui à beaucoup de concepts, les automates d'interface, les algèbres d’interface, mais aussi à des standards existants comme le PSL (Langage de spécification par propriétés) ou CCSL (Langage de spécification de contraintes d'horloges) pour représenter, entre autres, des séries régulières d'événements. Nous utilisons également des notions empruntées à la théorie des types, en particulier ce que l'on appelle le raffinement abstrait, pour associer les valeurs calculées par les programmes à ces propriétés. Avec tous ces éléments, nous souhaitons mettre en place une représentation algébrique de ce qu'il faudrait pour représenter tel et tel domaine de temps. ” L'objectif est ensuite de définir des relations. « Dans quelle mesure un composant logiciel et le matériel sont-ils compatibles ? On peut alors soit représenter une abstraction du logiciel par rapport à un point de vue matériel, ou, à l'inverse, simuler le matériel d'un point de vue logiciel. » C'est ce que l'on appelle le prototypage virtuel.

Un standard de temps pour AADL

L'étude sur la théorie des types fait l'objet d'une collaboration avec Virginia Tech, aux États-Unis. Ces travaux sont financés par l'USAF OSR. « Nous débutons par ailleurs un projet avec le Toyota Info Technology Center (ITC) à San Francisco. Avec eux, nous défendons auprès de SAE International la définition d'un standard pour représenter les contraintes temporelles au sens large dans l'AADL. »  Utilisé surtout en aéronautique, ce langage pour la spécification d'architectures logicielles et matérielles intéresse aussi de plus en plus les constructeurs automobiles. « Grâce à ce projet, nous allons pouvoir mettre en pratique toute notre réflexion pour modéliser non seulement le temps mais aussi les relations entre les différents domaines de temps. »

Polychrony sur PolarSys
TEA prend le relais d'Espresso, une équipe rennaise qui, pendant douze ans, s'est intéressée à l'ingénierie des systèmes embarqués. Fruit de ses recherches : Polychrony, un environnement de développement aujourd'hui soutenu par la fondation Eclipse et intégré sur PolarSys, la plate-forme de l'Industry Working Group (IWG). « Ce consortium PolarSys vient juste de démarrer. Il constitue un vecteur de transfert important, explique Jean-Pierre Talpin. On y trouve de gros demandeurs d'outils open source comme Airbus ou Thales. Le principe est d'offrir une palette d'outils en logiciel libre pour des champs d'utilisation et d'application les plus larges possibles. Chaque industriel peut donc venir y chercher l'outil et l’adapter à un besoin dans sa chaîne de développement pour une application précise. La plate-forme s'adresse aussi aux éditeurs logiciels qui voudraient développer des solutions à partir de bases open source. »

Mots-clés : TEA Jean-Pierre Talpin INRIA Rennes - Bretagne Atlantique ESPRESSO

Haut de page

Suivez Inria tout au long de son 50e anniversaire et au-delà !