Programme de la Journée Ada-France le 6 décembre 2007, ŕ Brest

Le lundi 19 novembre 2007.

Thématique de la journée

Un système embarquĂ© est un ensemble cohĂ©rent de constituants informatiques (matĂ©riels et logiciels). Il est souvent invisible Ă  l’utilisateur d’un Ă©quipement. Il donne Ă  l’équipement la capacitĂ© de remplir un ensemble de missions spĂ©cifiques en le dotant d’intelligence. Il effectue des traitements numĂ©riques et gère les Ă©changes d’informations de l’Ă©quipement nĂ©cessaires Ă  l’accomplissement de ses missions. D’autre part, un système informatique embarquĂ© doit faire face, Ă  des degrĂ©s divers, Ă  des contraintes temps rĂ©el dont la nature conduit Ă  distinguer les systèmes temps rĂ©el durs ou critiques (devant respecter des bornes de temps de rĂ©ponses, faute de quoi la mission de l’Ă©quipement ne peut ĂŞtre remplie) et les systèmes temps rĂ©el mous (devant tendre Ă  respecter des contraintes dont le non respect temporaire engendre au plus un dysfonctionnement partiel qui ne remet pas en cause sa mission). On parle de système embarquĂ© critique lorsqu’un Ă©quipement rĂ©alise une mission dont l’Ă©chec a potentiellement un impact majeur sur la vie, la santĂ© de personnes, sur l’Ă©tat de l’environnement,... plus gĂ©nĂ©ralement sur l’accomplissement de missions critiques auquel il participe. Que ce soit Ă  cause de leur coĂ»t de fabrication, leur caractère critique, leur complexitĂ© ou encore leur inaccessibilitĂ© pendant leur utilisation, l’ingĂ©nierie de ces systèmes nĂ©cessite l’utilisation de mĂ©thodes, de procĂ©dĂ©s, de modèles et d’outils spĂ©cifiques.

Sponsors et partenaires de la journĂ©e :

-  AdaCore (http://www.adacore.com)
-  Ellidiss technologies (http://www.ellidiss.com)
-  Jessica France (http://www.jessica-france.fr/)

Programme de la journée

Matinée

9h-9h30. Accueil des participants, café.

9h30-10h15. Premiers retours d’un chercheur sur l’utilisation de l’IDM pour le temps rĂ©el. JĂ©rĂ´me Delatour, ESEO (Angers) .

10h15-11h. AADL : Ă©tat et perspectives. Pierre Dissaux, Ellidiss Technologies (Brest) .

11h-11h45. Validation de systèmes temps-rĂ©el et embarquĂ© Ă  partir d’un modèle MARTE : expĂ©rimentation. Eric Maes, THALES Research and Technology (Palaiseau) .

11h45-12h30. AUTOSAR : Streamlining automotive systems and processes. Francois Dupont, Geensys (Brest) .

Après-midi

Pause déjeuner, café.

14h30-15h15. Expérimentation d’unités de preuve pour la validation formelle de logiciels embarqués critiques. Philippe Dhaussy*, Pierre Yves Pilain*, Dominique Kerjean* Stéphane de Belloy**, Arnaud Monégier du Sorbier**, Hugues Bonnin +, Frédéric Boniol***. * Laboratoire DTN, ENSIETA (Brest), ** THALES AIR SYSTEMS (Rungis), + CS-SI (Toulouse), *** IRIT-ENSEEIHT (Toulouse).

15h15-16h. Ada 2005 pour les systèmes embarqués temps réel. José F. Ruiz, AdaCore (Paris) .

16h-16h45. Les outils de retro-ingénierie de code Ada. Eric Audrezet, Sodius (Nantes).

16h45. Fin de la journée, bilan et annonce de la journée suivante.

Inscription et informations pratiques

La participation Ă  cette journĂ©e est gratuite. Les pauses cafĂ© ainsi qu’un dĂ©jeuner seront offerts par les sponsors. Pour des raisons de logistiques (repas, salles), l’inscription Ă  cette journĂ©e est obligatoire. La date limite d’inscription est fixĂ©e au 1er dĂ©cembre.

L’inscription peut ĂŞtre effectuĂ©e en renvoyant le bulletin ci-dessous par email Ă  F. Singhoff (singhoff@univ-brest.fr).

Nom :

PrĂ©nom :

Profession :

Organisme/Ă©tablissement :

Adresse professionelle :

TĂ©lĂ©phone :

E-mail :

La journĂ©e se dĂ©roule Ă  l’ENST-Bretagne. Un plan d’accès (avion, bus, voiture, train) est disponible ici : http://www.enst-bretagne.fr/ecole/campus_de_brest/plan_d_acces/

Résumés des présentations

Premiers retours d’un chercheur sur l’utilisation de l’IDM pour le temps rĂ©el

Jérôme Delatour, ESEO (Angers)

Une nouvelle approche de dĂ©veloppement, l’IngĂ©nierie DirigĂ©e par les Modèles (IDM, ou MDA en anglais), est apparue en 2000. Le domaine des systèmes temps rĂ©el et/ou enfouis (embedded and real-time systems) s’est très vite intĂ©ressĂ© Ă  cette nouvelle approche. Sept ans après son apparition, cet exposĂ© propose de faire un premier Ă©tat des lieux sur les intĂ©rĂŞts mais aussi les limites de cette approche pour le dĂ©veloppement de système temps rĂ©el. Un rapide panorama de la terminologie de l’IDM, ainsi que des outils et techniques disponibles sera effectuĂ©. Cet exposĂ© sera illustrĂ© par des exemples issus des travaux effectuĂ©s dans ce domaine par l’Ă©quipe de recherche TRAME (TRAnsformations de Modèles pour l’EmbarquĂ©).

AADL : Ă©tat et perspectives

Pierre Dissaux, Ellidiss Technologies (Brest)

Le langage AADL (Architecture Analysis and Design Language) a fait l’objet d’une publication en tant que norme internationale auprès de la SAE (Society for Automotive Engineering) en novembre 2004. Une nouvelle version du standard est actuellement en cours de finalisation. Cette prĂ©sentation dĂ©butera par un brève revue des principaux concepts de AADL et de son comitĂ© de standardisation, sera suivi d’une synthèse des trois annĂ©es de mise en oeuvre du standard en terme de rĂ©alisation d’outillage, de prise en compte dans des programmes de recherche et d’Ă©valuation industrielle, et se terminera par un panorama des nouveautĂ©s attendues pour la nouvelle version avec un Ă©clairage plus focalisĂ© sur l’annexe comportementale. Une des interrogation frĂ©quente des utilisateurs potentiels d’AADL concerne son positionnement vis Ă  vis du monde UML. Dans chaque partie de l’exposĂ©, les intĂ©ractions existantes ou futures avec UML seront Ă©voquĂ©es.

Validation de systèmes temps-rĂ©el et embarquĂ© Ă  partir d’un modèle MARTE : expĂ©rimentation

Eric Maes, THALES Research and Technology (Palaiseau)

Un processus de modélisation pour les systèmes temps-réels et embarqués implique l’utilisation de différents modèles dédiés chacun aux différentes phases du développement (spécification, conception, test, ...) et aux interactions avec des outils (vérification de modèle, analyse de performance, analyse d’ordonnançabilité, ...). Centraliser ces différentes informations généralement traitées par des intervenants différents au niveau d’un seul modèle permet d’avoir une vue générale du système, d’en garantir la cohérence et d’en faciliter la validation tout au long du processus de développement afin de réduire le coût de ce développement.

Le nouveau standard MARTE (« Modeling and Analysis of Real-time and Embedded systems ») est le profil UML de l’OMG permettant de rĂ©pondre Ă  cette problĂ©matique dans le domaine du temps-rĂ©el et de l’embarquĂ©. Il propose un langage intĂ©grant l’ensemble des concepts propres Ă  ce domaine et ceci pour les diffĂ©rents stades du processus de dĂ©veloppement. MARTE permet d’étendre un modèle UML avec des caractĂ©ristiques spĂ©cifiques aux systèmes-temps rĂ©els. Celles-ci peuvent alors ĂŞtre utilisĂ©es pour faire des prĂ©dictions quantitatives relatives aux fonctionnalitĂ©s temps-rĂ©el et embarquĂ© d’un système, tout en tenant compte, tant des aspects matĂ©riels que des caractĂ©ristiques logicielles. Cela facilite une interopĂ©rabilitĂ© entre les outils utilisĂ©s pour la spĂ©cification , la conception, l’analyse et la vĂ©rification.

Afin de montrer le gain obtenu par l’utilisation d’une telle dĂ©marche, il est nĂ©cessaire d’établir un processus outillĂ© et de construire une Ă©tude concrète permettant de dĂ©montrer l’interopĂ©rabilitĂ© entre les outils. Un processus outillĂ© recquiert : 1) une dĂ©marche de modĂ©lisation, 2) la prise en compte de l’ensemble des concepts nĂ©cessaires pour appliquer une analyse utile et 3) l’automatisation du processus pour envisager une interaction rapide et sĂ»re avec des outils de validation. Un tel processus outillĂ© doit convaincre les utilisateurs industriels Ă  adhĂ©rer Ă  la dĂ©marche. Nous proposons de dĂ©finir et de mettre en oeuvre un tel processus outillĂ© dans le cadre particulier d’un cas d’étude classique du monde temps-rĂ©el et embarquĂ© que nous souhaitons valider Ă  l’aide d’un outil d’analyse.

Le cas d’étude, un robot autonome relevant la température à intervalles réguliers de temps, le long d’une route prédéterminée, a été modélisé en utilisant MARTE, en y intégrant les notions propres à sa conception et à son analyse. Les caractéristiques du modèle sont ensuite prises en compte pour pouvoir en réaliser une analyse d’ordonnançabilité avec l’outil cheddar. Mettant en évidence la détection de disfonctionnements possible du système, cette expérimentation permet aussi et surtout de proposer une démarche pour modéliser les systèmes temps-réel en utilisant MARTE et de valider l’approche qui consiste à travailler avec un modèle unique.

AUTOSAR : Streamlining automotive systems and processes

Francois Dupont, Geensys (Brest)

The talk explains the AUTOSAR initiative for reducing industrial costs and streamlining the relationships between actors by leveraging the benefits of meta-modeling embedded distributed systems and its impact on related development and industrial processes.

Expérimentation d’unités de preuve pour la validation formelle de logiciels embarqués critiques

Philippe Dhaussy*, Pierre Yves Pilain*, Dominique Kerjean* Stéphane de Belloy**, Arnaud Monégier du Sorbier**, Hugues Bonnin +, Frédéric Boniol***. * Laboratoire DTN, ENSIETA (Brest), ** THALES AIR SYSTEMS (Rungis), + CS-SI (Toulouse), *** IRIT-ENSEEIHT (Toulouse)

Contexte : les systèmes d’information embarquĂ©s

Les concepteurs de logiciels embarquĂ©s critiques ont aujourd’hui Ă  leur disposition de nombreux outils de spĂ©cification, de conception et de validation facilitant le dĂ©veloppement des logiciels dans leur processus d’ingĂ©nierie. De nombreux travaux universitaires dans le domaine de la validation formelle ont explorĂ© diffĂ©rents formalismes ou langages et ont contribuĂ© Ă  la conception de techniques d’analyse et de preuve exploitables en contexte industriel. NĂ©anmoins, nous constatons aujourd’hui encore une faible pĂ©nĂ©tration dans le processus d’ingĂ©nierie système et logicielle comparativement aux Ă©normes besoins en terme de recherche de fiabilitĂ© et sĂ»retĂ© de fonctionnement des systèmes critiques. Cette contradiction trouve en partie ses causes dans la difficultĂ© rĂ©elle de manipuler des concepts thĂ©oriques et des mĂ©thodes formelles dans un cadre industriel. Il nous apparaĂ®t donc indispensable de poursuivre les efforts pour contribuer Ă  une meilleure intĂ©gration des techniques formelles dans les processus d’ingĂ©nierie.

Apport de l’IDM : opportunitĂ© et composants MDA

L’IngĂ©nierie DirigĂ©e par les Modèles (IDM) apparaĂ®t par ailleurs au niveau industriel comme une rĂ©ponse potentielle pour la rĂ©alisation des systèmes Ă  logiciels prĂ©pondĂ©rants qui englobent les systèmes embarquĂ©s et les systèmes d’information. Il est donc Ă  notre avis pertinent de profiter des rĂ©flexions de la communautĂ© IDM pour Ă©tudier les conditions d’une meilleure intĂ©gration des mĂ©thodes formelles. Ces approches peuvent nous permettre, par le biais de la notion de mĂ©ta modèles et leur exploitation dans la manipulation et la transformation de modèles, de poser les bases des principes mis en Ĺ“uvre dans les futurs outils Ă  concevoir. Ceux-ci doivent permettre Ă  l’ingĂ©nieur une utilisation plus importante des techniques de vĂ©rification et une meilleure capitalisation de son savoir-faire. Il semble donc pertinent d’identifier des composants MDA spĂ©cifiques pour la validation pouvant ĂŞtre manipulĂ©s comme des composants Ă  part entière d’un processus de dĂ©veloppement et se poser le problème de leur intĂ©gration dans les processus d’ingĂ©nierie.

Contribution

Pour contribuer à répondre à ce défi, le laboratoire DTN de l’ENSIETA, en partenariat avec THALES, CS-SI et l’IRIT, a développé une approche pour la vérification formelle basée sur la définition de composants MDA, nommés unités de preuves. Celles-ci encapsulent toutes les données nécessaires à la preuve de propriétés sur un modèle logiciel à vérifier et plongé dans un environnement. L’ensemble des unités de preuve, manipulé par l’utilisateur durant l’activité de validation de son modèle, constitue l’ensemble des obligations de preuve devant être démontrées. Elles peuvent être construites à partir des données fournies par les phases d’analyse et de conception du système. Ces composants intègrent des contextes de preuve qui modélisent formellement des exigences de sûreté ou vivacité bornée dans un contexte comportemental donné. Dans une approche IDM, les contextes de preuve sont traduits par transformation en codes exploitables par des outils d’analyse formelle. La présentation proposée rend compte d’expérimentations de cette approche menées sur des cas d’étude fournis par les industriels. Les unités de preuve intègrent une description des contextes de preuve dans un langage nommé CDL (Context Description Language) et sont exploités par l’outil de vérification OBP (Observer-Based Prover), développé au laboratoire ENSIETA-DTN mettant en œuvre le langage à automates temporisés IF et une technique de vérification par observateur.

Ada 2005 pour les systèmes embarqués temps réel

José F. Ruiz, AdaCore (Paris)

The presentation will show some interesting features that Ada offers to develop embedded real-time software, paying special attention to the new capabilities added to the Ada 2005 revision.

Embedded real-time systems typically have strong requirements in terms of predictability, memory footprint and efficiency. Ada defines a standardized mechanism to specify configuration directives which allow developers to constrain the language features to a well-defined subset, in such a way as to preclude complex, inefficient and non-deterministic features. The compiler can hence select a more efficient implementation of the required functionality according to the selected restrictions, including the removal of unnecessary run-time support.

An interesting subset for embedded high-integrity real-time systems is the Ravenscar profile, a reliable concurrency model standardized in Ada 2005. The Ravenscar profile comprises a powerful and expressive computational model that can be supported by a small, reliable, and extremely efficient run-time system. The Ravenscar tasking model has been designed to meet the requirements for determinism, schedulability analysis, and memory boundedness, making it suitable for both hard real-time and high-integrity systems. An additional Ada 2005 tasking feature designed to increase robustness is the support to monitor and control execution time.

These features allow run-time detection of an excessive consumption of computational resources, typically caused by either software errors or design errors made in the computation of worst-case execution times. Ada 2005 defines also some flexible scheduling policies, such as round robin using time slicing, and Earliest Deadline First (EDF) policy, which can also be mixed according to priority levels within a partition. Timing events are a new Ada 2005 feature that allows programmers to define code that is executed at a future point in time in an efficient and elegant way.

Ada 2005 includes also the means to use the powerful notions of object-oriented programming in embedded systems, where we want to limit the usage of memory and processing resources. Type extension and inheritance provide meaningful abstractions to design extensible and reusable modules where code is structured into a hierarchical set of classes with strict control over visibility of encapsulated state, data, and methods. Ada 2005 provides very fine-grained control over inheritance by allowing each operation to declare explicitly whether it is intended to inherit. Multiple inheritance of specification has been introduced in Ada 2005 through the notion of interfaces, which also extends to the unique Ada notions of task and concurrent object, maintaining the important design principle that concurrency is a first class citizen.

The use of Ada high-level constructs for low-level programming facilitates development, code reviews and analysis. Representation clauses in Ada allow close mapping of software data structures to the hardware. The association of this abstract data representation and Ada’s strong typing allows for compile-time verifications that help early detection of errors in the development process. Hardware-specific features, such as vector processing instructions or direct operations on I/O ports, are also supported in Ada, together with the mechanisms for handling hardware interrupts. It is also possible to force read and update operations to be performed either directly to memory, or in an indivisible (atomic) manner.

Les outils de retro-ingénierie de code Ada

Eric Audrezet, Sodius (Nantes)

Les outils de retro-ingĂ©nierie de code Ada. Eric Audrezet, Sodius (Nantes). Dans le cadre de la reprise de code Ada soit Ă  des fins de rĂ©trodocumentation ou pour nourrir des modèles Ă  rĂ©utiliser, il est essentiel de disposer de solutions flexibles d’analyse de code existant. Toutefois, les diffĂ©rents processus de codage existant, ainsi que la variĂ©tĂ© des profiles UML destinataires, ne permettent pas d’imaginer une solution universelle. Il est donc impĂ©ratif de se baser sur des mĂ©canismes flexibles, permettant d’avoir un haut niveau de maĂ®trise des structures UML Ă  gĂ©nĂ©rer. Dans le cadre de la rĂ©alisation de notre outil de retro-ingĂ©nierie Ada, nous avons mis en place un mĂ©canisme mettant en jeu plusieurs niveaux de mĂ©ta-modèles, syntaxique et sĂ©mantique, liĂ©s entre eux par des règles de transformation. La prĂ©sentation entre dans le dĂ©tail de ce mĂ©canisme.

Sponsors


Cap’Tronic

AdaCore

Ellidiss

Forum de l'article