Open-PEOPLE Open Power and Energy Optimization PLatform and Estimator RDAL: Un nouveau langage pour la définition et la vérification d'exigences pour AADL et d autres langages de description d architecture de systèmes embarqués. Dominique BLOUIN*, Eric SENN* et Skander TURKI** *Lab-STICC, Université de Bretagne Sud, Lorient, FRANCE **Taif University, KSA Journées Neptune, Paris, 17-18 mai, 2011
Sommaire Introduction. Le langage RDAL. Exemples d utilisation. Conclusion et travaux futurs. 2
Contexte: le projet ANR Open-PEOPLE Introduction Plateforme de mesure et d estimation de la consommation des systèmes embarqués. Basée sur une approche MDE (AADL comme langage pivot). Comment utiliser les résultats d analyse de consommation pour la vérification du design? 3
Introduction Les phases de l ingénierie des exigences: Elicitation: Fait intervenir toutes les parties prenantes du projet. Modélisation: Description avec un formalisme approprié. Analyse: Evaluation de la qualité (cohérence, complétude) de la description. Validation: Vérifier que la spécification d exigences correspond au besoin exprimé par les parties prenantes. Vérification montrer que la spécification du système satisfait la spécification d exigences. Gestion Suivi des exigences (traçabilité, évolutions, ). 4
Introduction Avantages de la modélisation des exigences: Ceux apportés par la modélisation en général (comme pour l architecture du système). Complément essentiel du modèle d architecture: Exigences: quoi faire. Architecture: comment faire. Support pour le raisonnement conduisant à la définition d un ensemble cohérent et complet d exigences. Analyse et vérification automatisés. Traçabilité. 5
Introduction Exigences de SysML: C est la base de RDAL. Problèmes: Manque de sémantique précise des relations entre exigences. Certain concepts importants sont absents du langage. Relations satisfies, refines, verified typées en NamedElement. Profile UML ajout de complexité accidentelle. Ex: besoin de contraintes additionnelles sur les stéréotypes. 6
Le langage RDAL Requirements Definition and Analysis Language (RDAL): Implémenté sous la forme d un DSL. Utilisable avec n importe quel langage d architecture et de contraintes. Pas seulement UML et OCL par exemple. Les éléments du design devant satisfaire les exigences peuvent être définis à l aide d une expression d un langage formel. Nouveaux concepts tels que les hypothèses (assumption) et les buts (goal). Ajout de nouvelles relations entre exigences (evolvedto). Standard SAE (annexe de AADL). 7
Le langage RDAL 8
Un méta-modèle pour la définition de langages de contraintes. Le langage RDAL 9
Le langage RDAL 10
Le langage RDAL Un méta-modèle pour la définition des éléments référencés du modèle d architecture. 11
Le langage RDAL Modélisation des hypothèses sur l environnement du système. 12
Le langage RDAL Syntaxe graphique: 13
The Requirements Engineering Handbook: Exemples d utilisation par David L. Lempia et Steven P. Miller (DOT/FAA/AR-08/32). Etapes de la définition des exigences: Développer une vue globale du système. Identifier les frontières du système. Développer les concepts opérationnels du système. Identifier les hypothèses environnementales. Développer l architecture fonctionnelle. Réviser l architecture pour satisfaire les contraintes d implémentation. Identifier les modes du système. Développer le comportement détaillé et les exigences de performance. Définir les exigences logicielles. Allouer les exigences aux sous-systèmes définis. Fournir les justifications. 14
Thermostat pour un incubateur de nouveaux nés. Exemples d utilisation 15
Exemples d utilisation 16
Ressources d un FPGA modélisé en AADL: Exemples d utilisation 17
Conclusion et futurs travaux RDAL + TE: Syntaxe graphique simple. Utilisable avec plusieurs langages de description d architecture. Choix du langage de contraintes adapté au besoin d expressivité. Excellent espace de travail pour l ingénierie des exigences. Elicitation, modélisation, analyse, validation, vérification, gestion. En cours de standardisation pas la SAE. Outil disponible sur le site du projet Open-PEOPLE. S inscrire au club des partenaires sur https://www.open-people.fr/ 18
Conclusion et futurs travaux Prochain travaux: Intégration d autres langages de contraintes à RDALTE REAL, assertions de BLESS. Catégories d exigences paramétrables par l utilisateur. Ajout du concept de but ou «Goal». Design optimal à atteindre Définition d une syntaxe textuelle. Migration vers OSATE V2. 19