Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 33

Image emergences pour impression
Personal tools
You are here: Home 2014 Lettre d'information n° 33 Le temps comme fil rouge de l'ingénierie de systèmes
Document Actions

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

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.

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 cyber-physique. 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 à ce 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énement, et produit tel et tel événement, à 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èbre d’interface, mais aussi à des standards existants comme le PSL (Langage de Spécification par Propriétés) ou CCSL (Language 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 Etats-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 (1) 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.

----
Notes :
*TEA signifie : Time, Events and Architecture. C'est une équipe Inria / Université Rennes 1 commune à l'Irisa (UMR CNRS 6074).
(1) Society of Automotive Engineers.