Ingénierie du logiciel pour les systèmes hétérogènes bilan, verrous et défis
L’Action Spécifique CNRS GEMOC s’est terminée en décembre 2011.
Voir le rapport d’activité.
News
- juin 2012 : présentation de l’AS aux journées nationales du GDR GPL
- janvier 2012 : le rapport d’activité de l’AS est en ligne
- décembre 2011 : les présentations de la journée nationale de travail sont en ligne
- 25 novembre 2011 : journée nationale de travail à Paris
- 23 et 24 novembre 2011 : journées de travail à Paris
- 14 novembre 2011 : journée de travail à Sophia Antipolis
- 14 septembre 2011 : journée de travail en visio-conférence
- 28 juin 2011 : journée de travail en visio-conférence
- 15 mai 2011 : page web en ligne !
- 13 mai 2011 : l’AS est acceptée par le GDR GPL
Participants
Deux équipes sont principalement impliquées dans cette action spécifique :
- Equipe TRISKELL (IRISA) : Benoit Baudry, et Benoit Combemale.
- Equipe AOSTE (I3S) : Julien DeAntoni, et Frédéric Mallet.
L’ensemble des acteurs français sont également convié à participer à la journée nationale de travail à Paris.
Contexte
La complexité grandissante des systèmes embarqués actuels nécessite une communication forte entre les différents acteurs métiers du développement. Chacun de ces acteurs utilisent des langages et des formalismes différents, issu de leur domaine d’activité et avec leur propre sémantique. Ces différents langages reposent sur des modèles formels différents qui permettent de répondre d’une manière spécifique à certaines contraintes comme des contraintes de sûreté, d’accessibilité, de respect d’exigences temporelles, de sécurité, etc. Ces modèles formels reposent sur des modèles de calcul décrivant précisément la façon dont les différents processus s’exécutent, communiquent et se synchronisent. Ils contribuent à donner la sémantique d’exécution et de synchronisation de l’entité sur laquelle ils sont appliqués. Puisque un même système embarqué est conçu à partir de plusieurs langages ayant chacun leur propre modèle de calcul, il est nécessaire de savoir les composer de manière fiable. Un des freins majeur à cette composition est du au fait que le modèle de calcul est fondu dans le modèle fonctionnel métier. Ceci est notamment dû à l’absence d’un langage spécifique pour la description explicite du modèle de calcul et ce malgré le nombre abondant, en France et à l’étranger, de travaux théoriques sur la composition de modèles de calcul.
L’ingénierie dirigée par les modèles fournis des techniques et des outils pour manipuler les modèles directement, raisonner sur leur composition, les transformer et générer le code d’implantation. Ceci permet en particulier d’avoir un flot intégré où modèles d’analyse et de conception sont traités dans le même espace technologique. Appliquée à la conception et l’analyse de systèmes hétérogènes à logiciel prépondérant, il est fondamental de dissocier les modèles fonctionnels (et leurs sémantiques associées) de ceux qui caractérisent la sémantique calcul, de communication et de synchronisation. Chacun de ces modèles doit pouvoir être manipulé séparément avant assemblage/tissage, vérification et déploiement par génération ou interprétation.
Objectif de l’Action Spécifique
L’objectif de cette action spécifique est d’avoir une réflexion sur les efforts actuellement menés en France pour la définition de systèmes logiciels hétérogènes au regard de la compétition internationale. En particulier, nous proposons de faire un bilan sur l’état de l’art et de la pratique ainsi que sur les verrous restant à lever en terme de techniques et d’outils pour la composition formelle de modèles métiers et de leurs modèles de calcul associés.
Il s’agit donc d’identifier les acteurs et les actions en cours, d’établir un bilan sur les résultats obtenus et de répertorier les verrous technologiques et scientifiques qui doivent être levés. Même s’il est très clair que la modélisation et la programmation de systèmes hétérogènes à logiciel prépondérant relèvent directement du GDR GPL, nous anticipons que le groupe de travail puisse aller au delà et être constitué d’équipes impliquées dans plusieurs GDRs. C’est justement l’objectif de l’action de rédiger un rapport qui identifie les acteurs, les verrous et dresse un bilan des actions menées jusqu’à lors. En fonction de cela, il s’agit d’identifier précisément le périmètre d’un groupe de travail entre les acteurs français et de déterminer s’il s’agit d’une action spécifique ou transverse à plusieurs GDRs. Nous souhaitons également diffuser ces résultats sous la forme d’un article de synthèse qui présente une cartographie des actions internationales en cours sur ce thème et les futurs challenges.
La mission du groupe de travail constitué est d’encourager les échanges entre équipes et notamment de :
- coordonner les efforts nationaux ;
- organiser des manifestations scientifiques ;
- encourager l’intégration d’outils pour constituer une plate-forme logicielle open-source ;
- coordonner les réponses à des appels à projets nationaux ou internationaux.
Atelier de travail à Paris le 25 novembre 2011
Objectifs
La complexité des systèmes logiciels modernes entraine très souvent une hétérogénéité dans le cycle de développement qui requiert une agilité et une sûreté de plus en plus accrue des techniques de modélisation et de programmation. En particulier, nous proposons au cours de cette journée de travail d’explorer les initiatives visant à faire coopérer différents points de vue hétérogènes : de la conception, … à la simulation, … à l’exécution.
Parmi les sujets de discussions :
- Modélisation hétérogène : ingénierie des langages, composition de modèle, variabilité
- Simulation hétérogène : modèle de calcul, test et vérification, …
- Plate-forme d’exécution hétérogène : création et configuration dynamique de plate-forme d’exécution, models@runtime, processus d’entreprise
- Domaine d’application : système de systèmes, système réactif, système embarqué, système autonome, …
Cette journée de travail a pour objectif de rassembler les acteurs majeurs de l’ingénierie du logiciel en France afin de faire émerger un groupe de travail sur le thème des systèmes hétérogènes.
Cette journée a en particulier l’objectif d’identifier le périmètre d’un groupe de travail ainsi que ses axes scientifiques structurant. Concrètement, il s’agit d’établir un document à destination du GDR GPL faisant des propositions en vue de structurer l’activité de recherche et de développement sur le thème de l’ingénierie du logiciel pour les systèmes hétérogènes.
Programme
- 09h00-09h30 : accueil / café
- 09h30-10h00 : présentation de l’AS et tour de table
- 10h00-12h00 : exposés
- Valerie Issarny (INRIA) : Interopérabilité dans les systèmes de l’Internet du futur : des modèles aux middlewares émergents
- Jacques Malenfant (LIP6) : Composabilité et interfaces riches
La capacité à construire des systèmes embarqués corrects par composition de composants eux-mêmes corrects est l’un des objectifs les plus importants mais aussi les plus ambitieux du domaine. L’une des difficultés rencontrées réside dans le grand nombre d’aspects internes aux composants qui peuvent entrer en conflit au sein des assemblages réalisés. Pour s’attaquer à ce problème, nous proposons de réifier au sein d’interfaces riches à la Henzinger l’ensemble de ces aspects aux frontières des composants sous la forme de contraintes les plus déclaratives possibles. Ces contraintes permettent de vérifier la composabilité par l’implication des contraintes requises par les contraintes offertes lors de la connexion des composants, mais également de construire l’ensemble de contraintes commune à l’assemblage obtenu. Cette approche par interfaces riches doit cependant être complétée par des opérateurs de composition relativement intrusifs sur les composants, pour produire par exemple un ordonnancement combiné respectant l’ensemble des contraintes temporelles et des contraintes d’accès aux ressources synchronisées. Un premier système prototype a été réalisé dans le cadre d’une thèse soutenue en 2010.
- Cécile Hardebolle (Supélec) : Modèles hétérogènes et adaptation sémantique dans ModHel’X
ModHel’X est un framework qui permet de décrire et de simuler le comportement de modèles qui utilisent conjointement plusieurs formalismes de modélisation. L’hétérogénéité entre formalismes y est traitée hiérarchiquement, c’est-à-dire qu’on ne peut changer de formalisme qu’en changeant de niveau de description du système modélisé. La structure des modèles est exprimée à l’aide d’un méta-modèle générique qui décrit l’interface des composants, leur interconnexion dans un modèle, ainsi que la composition hiérarchique des modèles. Les composants sont considérés comme des boîtes noires, et l’objectif est de combiner les comportements que l’on observe à leur interface. Pour chaque modèle élémentaire, les règles de combinaison du comportement des composants sont données par un modèle de calcul qui indique dans quel ordre les composants sont observés,et comment l’information est propagée entre les composants. Un moteur d’exécution générique interprète ces règles et les applique à la structure des modèles pour calculer leur comportement. À la frontière entre des modèles de sous-systèmes qui utilisent des modèles de calcul différents, ModHel’X permet de spécifier explicitement l’adaptation sémantique, c’est-à-dire la manière dont les données, le temps et le contrôle sont transformés en passant d’un modèle à l’autre. L’adaptation sémantique du temps et du contrôle fait appel aux notions d’horloge utilisées par exemple dans l’approche synchrone.
- Laurent Rioux (THALES Research & Technology) Vers une IDM pour des architectures «hybrides»
Les systèmes embarqués tels que ceux qui sont conçus et développés chez THALES ont des architectures systèmes et logiciels très variées. Ces architectures doivent faire face à une complexité croissante des exigences fonctionnelles et non-fonctionnelles des systèmes. Il n’est plus possible aujourd’hui de sur-contraindre l’ensemble du système avec des exigences temps-réel et critique juste parce que certaines fonctions l’exigent. Sur-contraindre un système peut simplement rendre le système infaisable. Il nous faut donc utiliser des architectures capables d’intégrer des sous-systèmes qui ont des propriétés non-fonctionnelles intrinsèquement différentes. Nous définissons généralement ces architectures comme des architectures hybrides. Ces architectures hybrides posent le problème de l’intégration de ces sous-systèmes sans qu’ils perdent leurs propriétés non-fonctionnelles (comme la sureté de fonctionnement, la performance, etc…) car ils dépendent désormais de sous-systèmes n’ayant pas des propriétés non-fonctionnelles identique.</span></em>L’approche IDM (Ingénierie Dirigée par les Modèles) nous permet de maitriser la complexité des fonctionnalités de ces systèmes et d’analyser, de vérifier différentes propriétés non-fonctionnelles. Elle nous permet même de faire de la réutilisation et de l’intégration de fonctionnalités (par exemple : composants). Cependant, les standards de l’IDM ne nous permettent pas de modéliser d’une manière précise les interconnections entre ces sous-systèmes hybrides (par exemple : modèles de temps différents, etc) pour pouvoir les analyser, les vérifier et finalement les optimiser pour s’assurer que le système complet rempli les exigences à la fois fonctionnelles mais aussi non-fonctionnelles.</li>- 12h00-14h00 : déjeuner
- 14h00-14h30 : présentation des résultats de l’AS
- 14h30-15h30 : discussion sur les résultats de l’AS
- 15h30-16h00 : pause café
- 16h00-17h30 : discussions pour l’identification d’un groupe de travail et des verrous scientifiques
Organisation
L’atelier a lieu dans la salle verte (1 & 2) de l’antenne parisienne de l’INRIA (23 avenue d’Italie, Paris). Le déjeuner est pris en charge par l’AS.
Organisateurs
- Benoit Baudry (INRIA)
- Benoit Combemale (IRISA)
- Julien De Antoni (I3S)
- Frédéric Mallet (I3S)
Participants
- Idir Ait Sadoune (Supélec)
- Christian Attiogbe (LINA)
- Benoit Baudry (INRIA)
- Nelly Bencomo (INRIA)
- Réda Bendraou (LIP6)
- Mireille Blay (I3S)
- Frédéric Boulanger (Supélec)
- Pierre Boulet (LIFL)
- Joël Champeau (ENSTA-Bretagne)
- Cauê A. Clasen (EMN)
- Benoit Combemale (IRISA)
- Xavier Crégut (IRIT)
- Julien De Antoni (I3S)
- Jérome Delatour (ESEO)
- Sophie Ebersold (IRIT)
- Mahmoud El Hamlaoui (IRIT)
- Nikolaos Georgantas (INRIA)
- Sébastien Gerard (CEA)
- Marie-Pierre Gervais (LIP6)
- Cécile Hardebolle (Supélec)
- Valerie Issarny (INRIA)
- Ali Koudri (THALES Research & Technology)
- Jean-Christophe Le Lann (ENSTA-Bretagne)
- Jacques Malenfant (LIP6)
- Frédéric Mallet (I3S)
- Marc Pantel (IRIT)
- Laurent Rioux (THALES Research & Technology)
- Jean-Pierre Talpin (INRIA)
- Xavier Thirioux (IRIT)