Saia
Auteur / Autrice : | Julien De Antoni |
Direction : | Jean-Philippe Babau |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 2007 |
Etablissement(s) : | Lyon, INSA |
Mots clés
Résumé
Du fait de leur complexité croissante, le développement des systèmes embarqués et temps réel nécessitent conjointement l'application de principes de génie logiciel et l'application de techniques formelles. Le travail développé pendant cette thèse propose une approche et des outils basés sur les modèles. Ces modèles, basés sur UML (Unified Modeling Language), permettent de définir un style architectural appelé SAIA (Sensors Actuators Independent Architecture) dont l'objectif est le développement et la mise au point de systèmes temps réel en intégrant l'évolution et la variabilité des plateformes. On entend ici par plateforme les services de communication entre le système et son environnement physique, c'est-à-dire des opérations de lecture et d'écriture via les capteurs et les actionneurs. Pour répondre à cet objectif, l'idée de SAIA est de séparer clairement le modèle de plateforme du modèle de l'application. À cette fin, SAIA propose l'introduction d'une plateforme de communication abstraite avec le processus. Cette plateforme abstraite est composée d'entrées et de sorties utiles pour effectuer le contrôle, mais indépendantes d'une technologie de capteurs/actionneurs particulière. L'application est développée en se basant sur les services fournis par la plateforme abstraite. La stabilité d'une application de contrôle et sa qualité de contrôle sont, entre autres, dépendantes des caractéristiques temporelles de la plateforme abstraite. Cette dernière est donc composée d'un ensemble de services ainsi que d'une description de ses caractéristiques temporelles (notées QoS pour Quality of Service. La description de la QoS de la plateforme abstraite reflète le comportement temporel, sous forme de omega-expression régulière de la plateforme abstraite pour laquelle l'application a le comportement souhaité. Ainsi, nous avons d'un côté un modèle de la plateforme abstraite et de la QoS permettant la correction de l'application et de l'autre un modèle de la plateforme réelle dont la QoS a été analysée. Afin de connecter la plateforme abstraite à la plateforme réelle, SAIA s'appuie sur un connecteur complexe. Ce connecteur complexe est un assemblage de composants, décrit formellement par des automates temporisés réalisant des services de formatage, d'interprétation, de fusion de données et enfin d'adaptation de la QoS. Le connecteur complexe possède un comportement et modifie donc la QoS de la plateforme réelle. Afin d'évaluer l'impact du connecteur complexe sur la QoS de la plateforme réelle, une analyse formelle basée sur la simulation exhaustive du connecteur complexe est réalisée. Il est alors nécessaire de s'assurer que cette QoS nouvellement évaluée satisfait la QoS de la plateforme abstraite et permet ainsi la réalisation d'un système correct. La vérification de cette satisfaction est basée sur l'établissement d'un contrat de QoS. Dans SAIA, l'établissement d'un contrat de QoS est basé sur une relation de satisfaction (équivalence de trace) entre systèmes à transitions étiquetés. Enfin, SAIA a été mis en oeuvre à plusieurs reprises dont, lors de deux concours d'implémentation de robots d'exploration terrestre dans le cadre de workshop satellites de RTSS (Real Time System Symposium).