Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 12

Image emergences pour impression
Personal tools
You are here: Home 2010 Lettre d'information n° 12 Polychrony, une boîte à outils pour systèmes embarqués
Document Actions

Polychrony, une boîte à outils pour systèmes embarqués

Construit autour du langage Signal, Polychrony facilite le développement intégré d'applications embarquées temps réel. C'est l'aboutissement d'un long cycle de recherche sur la modélisation formelle, comme l'expliquent les scientifiques de l'équipe-projet Espresso *.

 Construit autour du langage Signal, Polychrony facilite le développement intégré d'applications embarquées temps réel. C'est l'aboutissement d'un long cycle de recherche sur la modélisation formelle, comme l'expliquent les scientifiques de l'équipe-projet Espresso *.

"Avionique, satellitaire, contrôle automobile, commande de processus, traitement du signal, systèmes temps réel... Les champs d'application ne manquent pas, constate Loïc Besnard. Polychrony est un environnement de développement intégré comprenant un ensemble d'outils de transformation de programmes parmi lesquels un compilateur, des utilitaires de vérification et des éditeurs graphiques. Si un industriel veut générer du code pour une architecture particulière, il va, par exemple, utiliser certains des outils de cette boîte qu'il pourra intégrer dans son propre environnement de travail."

Tout a démarré dans les années 1980 durant une coopération avec le Cnet, devenu depuis Orange Labs. "Au départ, il s'agissait de construire un langage pour un poste de travail dédié au traitement du signal, explique Paul Le Guernic. Ce langage parallèle polychrone permet de décrire des systèmes multi-horloge. Nous l'avons appelé tout simplement Signal. Il a été commercialisé ultérieurement par TNI." Cette PME  brestoise deviendra plus tard Geensoft, avant de rejoindre Dassault Systèmes en juin 2010.polychrony_topcased-copie.jpg

Utilisé par Airbus

"Avec TNI, durant les années 1990, nous avons ensuite participé à beaucoup de projets européens sur les systèmes embarqués, en particulier pour l'avionique : modèles formels, systèmes de preuve... Puis, vers 2005, avec le soutien de l'ANR, nous avons lancé OpenEmbeDD."  Cette plate-forme open source d'intégration d'environnements et de développement pour systèmes embarqués repose sur l'ingénierie de modèles.  "Ces travaux nous ont amenés à concevoir un environnement d'ingénierie dirigée par les modèles autour de Signal. Au travers de la plate-forme OpenEmbeDD, Polychrony a ainsi été mis à disposition d'une très large communauté, et notre effort de diffusion se poursuit aujourd'hui dans le cadre des projets européens Opees et Cesar. Polychrony est également incorporé dans TopCased," la boîte à outils pour le développement de systèmes critiques utilisée en particulier par Airbus industrie.

"Polychrony a aussi été intégré à l'environnement Synoptic, ajoute Thierry Gautier. Conçu comme un environnement pour les systèmes satellitaires, Synoptic a été développé dans le cadre du projet ANR Spacify sous la coordination du Centre national d'études spatiales (Cnes) et du Centre français de recherche aérospatiale (Onera). Nous avons montré, dans le cadre d'une étude conjointe avec Thales Alenia Space, que Polychrony offre une infrastructure de génération de code complète et flexible pour Synoptic."

Faciliter la simulation

 "Un axe fort de nos recherches et développements est maintenant de considérer Polychrony comme un modèle de calcul pour l'aide à la conception d'architectures logicielles", indique Jean-Pierre Talpin, responsable de l'équipe-projet Espresso. Objectif : "faciliter l'analyse, la simulation, la vérification et la synthèse de systèmes embarqués à partir de spécifications hétérogènes en décrivant les fonctions (en Scade, en Simulink) et la structure (en SysML, en AADL)."

Les chercheurs s'intéressent à présent tout particulièrement à AADL (1). "Ce langage de description d'architecture système est utilisé de manière prépondérante dans l'aéronautique, explique Paul Le Guernic. C'est devenu une norme de la SAE (2). Nous allons employer les outils de Polychrony pour effectuer de la génération de code à partir de ce langage. L'utilisateur continue à travailler avec AADL, comme il en a l'habitude. L'environnement d'ingénierie dirigée par les modèles de Polychrony offre tous les services nécessaires pour transformer les spécifications AADL dans le  langage Signal afin de vérifier leurs propriétés logiques, faire de la simulation d'architecture, estimer les temps d'exécution."

À la différence d'autres langages synchrones, comme Lustre ou Esterel, "lorsque nous assemblons plusieurs composants avec Signal, nous restons dans le même modèle de calcul formel. Cela confère une plus grande assurance et une plus grande souplesse à l'utilisateur. Polychrony va permettre aux industriels d'utiliser la technologie du langage Signal comme aide directe à leur flot de conception actuel. Ils pourront recourir aux services de la boîte à outils  en fonction de leurs besoins."  Il restera ensuite à faire certifier si nécessaire le générateur de code. "Ceci est plutôt du ressort d'une société qui pourrait commercialiser cette technologie. Pour cela, nous nous associerons avec d'autres partenaires dans le cadre de projets collaboratifs consécutifs au projet GeneAuto."

----

Notes :

(1) Architecture Analysis & Design Language. Anciennement : Avionics Architecture Description Language. AADL est un langage de description d'architectures destiné aux systèmes embarqués temps réel.

(2) Society of Automotive Engineers.

* Espresso  est une équipe-projet du centre Inria Rennes - Bretagne Atlantique, commune avec le CNRS.