SAIA: Un style architectural pour assurer l'indépendance vis-à-vis d'entrées / sorties soumises à des contraintes temporelles - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2007

SAIA: an architectural style to achieve temporal Input /Output independency

SAIA: Un style architectural pour assurer l'indépendance vis-à-vis d'entrées / sorties soumises à des contraintes temporelles

Résumé

Due to their growing complexity, real time and embedded systems development requires to apply both software engineering and formal methods. In order to improve reuse, applying software engineering allows separation of concerns to be applied between the application part (control) and its communication with the physical environment. This separation allows the control to be deployed through different concrete platforms in terms of sensors and actuators.
SAIA (Sensors / Actuators Independent Architecture) implements these concepts by defining an architectural style where the control is based on an abstract platform. Then, to realize the system, the abstract platform is linked to a concrete platform through a complex connector.
This software engineering method is promising, however an important real time and embedded systems aspect is that their correctness depends on the communication with the physical environment temporal behaviors. A minor change in a measure acquisition by a sensor can lead to unpredictable reaction of the system.
To allow separation of concerns to be correctly realized, SAIA proposes formal models and techniques based on timed automata and exhaustive simulation. In a first step, formal QoS (Quality of Services) requirements are expressed in both the abstract and the concrete platform. Then, the second step ensures the connection correctness between the concrete and the abstract platform. This is done when the complex connector establishes a QoS contract. In SAIA, a QoS contract defines a formal conformity relation to ensure the QoS satisfaction and, so, to ensure a safe deployment during the connection. At the end, a show case demonstrates the use and this approach interest.
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.%Une application temps réel ne peut pas être validée en ne considérant que ses aspects fonctionnels.
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).
Fichier principal
Vignette du fichier
Ma_these.pdf (4.95 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00239261 , version 1 (05-02-2008)

Identifiants

  • HAL Id : tel-00239261 , version 1

Citer

Julien Deantoni. SAIA: Un style architectural pour assurer l'indépendance vis-à-vis d'entrées / sorties soumises à des contraintes temporelles. Génie logiciel [cs.SE]. INSA de Lyon, 2007. Français. ⟨NNT : ⟩. ⟨tel-00239261⟩
224 Consultations
273 Téléchargements

Partager

Gmail Facebook X LinkedIn More