1 / 47

Qualité et Sûreté des Logiciels et des Systèmes ADL Architecture Description Language

Ingénieur Civil des Mines 3ème année Ingénierie des Systèmes d’Information – Module SI153. Qualité et Sûreté des Logiciels et des Systèmes ADL Architecture Description Language. 2004 – 2005 Françoise Simonot-Lion (simonot@loria.fr). Plan. Pourquoi des ADL? Généralités sur les ADL

noe
Download Presentation

Qualité et Sûreté des Logiciels et des Systèmes ADL Architecture Description Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ingénieur Civil des Mines 3ème année Ingénierie des Systèmes d’Information – Module SI153 Qualité et Sûreté des Logiciels et des SystèmesADLArchitecture Description Language 2004 – 2005 Françoise Simonot-Lion (simonot@loria.fr)

  2. Plan • Pourquoi des ADL? • Généralités sur les ADL • Principes des ADL • Principaux ADL • Exemples • AADL • AIL_Transport et EAST-ADL ISI – SI153 Sûreté de fonctionnement

  3. Pourquoi des ADL?Contraintes de développement des systèmes embarqués critiques • Multi-partenaires Car manufacturers Suppliers ISI – SI153 Sûreté de fonctionnement

  4. Pourquoi des ADL?Contraintes de développement des systèmes embarqués critiques • Échange d’informations sur le système au cours du développement (cahier des charges vs recettes) • Réutilisabilité ISI – SI153 Sûreté de fonctionnement

  5. Pourquoi des ADL?Contraintes de développement des systèmes embarqués critiques • Obligation de prouver des propriétés (certification / réglementation / normalisation) • Temps • Sûreté de fonctionnement • Qualité • Optimisation • Code • Matériel • Consommation de ressources • coût ISI – SI153 Sûreté de fonctionnement

  6. Validation tool Test equipement System specification System Validation Test generation Specification Tool Validation Tool System Design System Integration Calibration Tool Allocation Tool Performance Evaluation Tool Coding - realisation Code Code Inspector Code Generator Cohérence des modèles Construction de modèles Pourquoi des ADL?Modèle classique de développement Construction de modèles Passage d’une étape à l’autre Traçabilité ISI – SI153 Sûreté de fonctionnement

  7. Pourquoi des ADL?Modèle classique de développement • Pas de correspondance automatique entre étapes du développement • Pas de formalisation systématique des entrées et sorties de chaque étape • Pas de description formelle des données échangées • Modèles faits au « coup par coup » : incohérences, pertes d’informations entre les étapes ou lors de la modélisation • Techniques empiriques – au mieux standards internes à l’entreprise ISI – SI153 Sûreté de fonctionnement

  8. Validation tool Test equipement System specification System Validation Test generation Specification Tool Validation Tool System Design System Integration Calibration Tool Allocation Tool Performance Evaluation Tool Coding - realisation Code Code Inspector Code Generator Pourquoi des ADL?Modèle proposé de développement Une approche formelle qui couvre le cycle de développement Architecture Description ISI – SI153 Sûreté de fonctionnement

  9. Généralités sur les ADL • Architecture Description Language • Langages informatiques • Langages déclaratifs • Décrits à l’aide d’une grammaire (BNF, MOF/UML, …) • Syntaxe et sémantique • Ils décrivent de manière formelle une architecture de système sous ses aspects : • Exigences • Fonctionnelle • Matérielle • Logicielle • Opérationnelle • Les architectures représentées dans ces langages peuvent être manipulées par des outils informatiques ISI – SI153 Sûreté de fonctionnement

  10. Généralités sur les ADL • Catégories d’ADL • Syntaxe textuelle et / ou graphique • Associé ou non à des outils de conception / validation • Permet de représenter • Soit une architecture logicielle, • Soit une architecture système (matériel + logiciel) • Génériques ou spécialisés • Prototypes de recherche ou intégrés dans des démarches industrielles ISI – SI153 Sûreté de fonctionnement

  11. Principes généraux des ADL • Vision « gros grain » • Décrire une application à un niveau d’abstraction tel qu’on puisse • faire abstraction des problèmes d’implantation (codage) • en extraire des éléments réutilisables • disposer d’une notation suffisamment précise pour vérifier des propriétés de cohérence de la structure de l’application • La plupart sont utilisés pour des architectures logicielles abstraction faite d’une distribution et d’une implantation du code • Certains d’entre eux permettent la spécification d’attributs temporels voire de modélisation de gestionnaires de ressources à l’exécution ISI – SI153 Sûreté de fonctionnement

  12. Principes généraux des ADL • Trois concepts • Composant : entité (active ou inactive) du système Un composant est visible et manipulable uniquement par son interface (séparation entre interface et sa réalisation) • Connecteur : permet de spécifier les interactions entre les composants • Configuration / connexion : interconnexion de composants via des connecteurs pour réaliser une fonctionnalité • Styles architecturaux ou modèles de référence (exemple, client / serveur, blackboard, …) • [ Machines d’exécution ] ISI – SI153 Sûreté de fonctionnement

  13. Principaux ADL • RAPIDE, Université de Stanford (1995) • Styles architecturaux • Hiérarchisation des composants • Composant : spécification de leur comportement internepar une abstraction du code (comportement décrits par le formalisme des POSETS) • Connexion par l’intermédiaire de relation entre services définis à l’interface (~connecteurs) • Reconfiguration dynamique • Machines d’exécution (simulation – observation de traces) – aspects fonctionnels ISI – SI153 Sûreté de fonctionnement

  14. Principaux ADL • WRIGHT, Université Carnegie – Mellon de Pittsburgh (1997) • Styles architecturaux • Hiérarchisation des composants • Composant : spécification de leur comportement internepar une abstraction du code - CSP • Sémantique des interfaces (CSP – Hoare 1985) • Connexion par l’intermédiaire de connecteurs (composants particuliers - protocoles) • Configuration statique • Analyse d’architectures par exploration du graphe de classes – aspects fonctionnels ISI – SI153 Sûreté de fonctionnement

  15. Principaux ADL • DARWIN (1995), Imperial College de Londres • Pas de styles architecturaux • Reconfiguration dynamique • Hiérarchisation des composants • Composant : boîte noire dont on ne spécifie que les interfaces • Connexion par l’intermédiaire de relation entre services définis à l’interface (~connecteurs) • pas d’exploitation du modèle ISI – SI153 Sûreté de fonctionnement

  16. Principaux ADL • UNICON • Pas de styles architecturaux • Hiérarchisation des composants • Composant : boîte noire dont on ne spécifie que les interfaces • Connexion par l’intermédiaire de connecteurs prédéfinis (composants particuliers - protocoles) • Configuration statique • Modélisation du support exécutif • Vérification de cohérence d’une architecture (propriétés des interfaces) ISI – SI153 Sûreté de fonctionnement

  17. Principaux ADL • MetaH • Systèmes de contrôle – commande (développé par Honeywell – DARPA – 1991) • Syntaxe textuelle et graphique • Pas de styles architecturaux • Hiérarchisation des composants (macro-composants) • Composants : spécification du comportement internepar le code source à exécuter • Connexion directe entre ports • Configuration statique / Modélisation des modes de fonctionnement • Modélisation du support exécutif (centralisé) • Analyse d’ordonnançabilité des tâches – Analyse de sûreté de fonctionnement ISI – SI153 Sûreté de fonctionnement

  18. Principaux ADL • BASEMENT • Systèmes embarqués dans l’automobile • Pas de styles architecturaux • Pas de hiérarchisation des composants • Composant : Spécification de leur comportement internepar une abstraction du code • Connexion par l’intermédiaire de connecteurs (composants particuliers - protocoles) • Configuration statique • Modélisation du support exécutif • Analyse d’ordonnançabilité des tâches et des messages ISI – SI153 Sûreté de fonctionnement

  19. Exemples d’ADLAADL • Systèmes embarqués dans l’avionique, l’automobile, l’aérospatiale, les systèmes autonomes • Repose sur MetaH • Couvre les architectures opérationnelles • architectures logicielles (tâches) et les architectures de communication • architectures matérielles multi-processeurs et distribuées • architectures fermées (pas de création dynamique d’acteurs) • Standardisation en cours (2001 - …) • SAE (Society of Automotive Engineers - www.sae.org/) • Voir http: //www.laas.fr/FERIA/SVF/WADL04/presentations.php ISI – SI153 Sûreté de fonctionnement

  20. Exemples d’ADLAADL • Description de composants et de leur organisation • Hiérarchisation de composants (composition récursive) • Composants – sémantique précise • system, data, process, thread, memory, processor, bus, device • Interfaces et interactions complétement définies • Flux de données et d’événements, appel / retour synchrone, accès partagé • Plusieurs protocoles d’ordonnancement supportés • Modélisation possible des transitions de modes de marches (commutation entre architectures statiquement définies) ISI – SI153 Sûreté de fonctionnement

  21. Exemples d’ADLAADL • Tout composant est décrit sur deux niveaux : • Description de l’interface fonctionnelle du composant (ce qui est vu par les couches de haut niveau) • Description de l’implémentation du composant (structure interne, propriétés, comportement du composant) • Un composant décrit par son interface « externe » peut correspondre à plusieurs « implémentations » ISI – SI153 Sûreté de fonctionnement

  22. Exemples d’ADLAADL • Catégories de composants – composants applicatifs • System : organisation hiérarchique de composants • Process : espace d’adresses virtuelles protégées • Thread : unité ordonnançable • Périodique, apériodique, sporadique, « background » • Subprogram : code séquentiel qui peut être « appelé » • Point d’entrée d’un thread ou méthode classique • Data : données pouvant être partagées • Propriétés d’accès ISI – SI153 Sûreté de fonctionnement

  23. Exemples d’ADLAADL • Catégories de composants – composants « plate-forme » • Memory : fournit un moyen de stocker des données ou un code • Device : interface avec l’environnement externe • Processor : fournit le service d’exécution et d’ordonnancement des « threads » • Bus : fournit le support d’échange entre des composants « plate-forme » ISI – SI153 Sûreté de fonctionnement

  24. Exemples d’ADLAADL • Interactions et flux entre composants • Port :transfert directionnel de données ou de contrôle • Data port : port de données (pas de file) • Event port : port d’événements • Event data port : file de messages • Immediate connection • Delayed connection Port d’entrée Port de sortie ISI – SI153 Sûreté de fonctionnement

  25. Flow path F1 I O1 Flow path F2 O2 System S1 flux F1 Process P1 I1 OP1 Flow path F3 C1 O1 I C2 C3 Process P2 O2 I2 Flow path F4 OP2 System implementation S1.impl1 Exemples d’ADLAADL • Flux • Flow Exemple : spécification des flux F1 et F2 (vue externe) spécification d’implémentation (vue interne) ISI – SI153 Sûreté de fonctionnement

  26. Exemples d’ADLAADL • Propriétés • Permet de caractériser un composant • période d’un thread, … • pire temps d’exécution d’un sous-programme, … • échéance sur un flux de bout en bout, … • Pour chaque catégorie, un ensemble de type de propriétés est prédéfinie • On peut ajouter des types de propriétés à chaque catégorie de composant ISI – SI153 Sûreté de fonctionnement

  27. Exemples d’ADLAADL • Gestion des fautes et modes de marche • Spécification de manière non ambiguë : • La redondance passive ou active de composants • Un partage continu de variable d’état • Un mécanisme de vote majoritaire • … • Spécification formelle des changements de configuration • Chaque configuration est définie statiquement • Le coût d’un changement est spécifié • L’événement de changement est spécifié ISI – SI153 Sûreté de fonctionnement

  28. Exemples d’ADLAADL • Outils et extensions • Un outil : OSATE • Eclipse Release 3 • Réalise la vérification syntaxique et sémantique des modèles • Text < -- > XML • Éditeur (textuel et graphique) • Les outils d’analyse peuvent se « connecter » via XML ou Java (AADL Object API) – compatibilité à AADL • Une extension : COTRE (http://www.laas.fr/FERIA/SVF/WADL04/presentations.php) ISI – SI153 Sûreté de fonctionnement

  29. Exemples d’ADLAIL_Transport / EAST - ADL • ADL dédiés aux systèmes embarqués dans l’automobile • AIL_Transport : ministère de l’industrie, France (1999 – 2001) – industriels et laboratoires • EAST – ADL : Projet européen ITEA EAST-EEA (2001 – 2004) – industriels et laboratoires (www.east-eea.net/docs) • Représentation d’un système embarqué dans l’automobile à toute étape de son développement • Traçabilité • Consistence entre modèles et artefacts produits à diverses étapes • Possibilité de génération automatique de modèles pour les activités de Validation & Vérification ISI – SI153 Sûreté de fonctionnement

  30. Exemples d’ADLEAST - ADL • Niveaux d’abstraction ISI – SI153 Sûreté de fonctionnement

  31. Exemples d’ADLEAST - ADL • Vues sur le système ISI – SI153 Sûreté de fonctionnement

  32. Exemples d’ADLEAST - ADL • Vehicle Feature Model • Description des caractéristiques visibles par l’utilisateur • cahier des charges du système • variantes • Une instance rassemble toutes les autres vues sur un système donné ISI – SI153 Sûreté de fonctionnement

  33. Exemples d’ADLEAST - ADL • Functional Analysis Architecture • Description des fonctions du système • Supporte une description par niveaux de raffinement • Objets • Objets « Analysis Function » • Interaction par des objets « Function Port » • Modèle de comportement associé aux fonctions • Pas de modèles de comportement associé aux liens entre fonctions ISI – SI153 Sûreté de fonctionnement

  34. Exemples d’ADLEAST - ADL • Functional Design Architecture • Description de l’application du point de vue logiciel • Supporte une description par niveaux de raffinement • Objets • Objets « Composite Software Function » • Objets feuilles « Elementary Software Function » • Interaction par • des objets «  Signal Function Port » • un objet « Connector Signal » (lien ISI – SI153 Sûreté de fonctionnement

  35. Exemples d’ADLEAST - ADL • Functional Design Architecture • « Elementary Software Function » • Modèle d’exécution • De la fonction • Entre fonction (contrainte « Precedes ») ISI – SI153 Sûreté de fonctionnement

  36. Exemples d’ADLEAST - ADL • Functional Design Architecture • « Elementary Software Function » • Modèle d’exécution • De la fonction • Entre fonction (contrainte « Precedes ») ISI – SI153 Sûreté de fonctionnement

  37. Exemples d’ADLEAST - ADL • Function Instance Model • Décrit les composants logiciels du système de manière à pouvoir les déployer • dans des trames gérées par des protocoles • et des tâches gérées par un OS • Instancie les objets contenus dans une « Functional Design Architecture » • Représentation non structurée ISI – SI153 Sûreté de fonctionnement

  38. Exemples d’ADLEAST - ADL • Function Instance Model ISI – SI153 Sûreté de fonctionnement

  39. Exemples d’ADLEAST - ADL • Hardware Architecture • Décrit les composants matériels (architecture informatique support) du système ISI – SI153 Sûreté de fonctionnement

  40. Exemples d’ADLEAST - ADL • Platform Model • Décrit les composants de gestion des ressources de la plate-forme matérielle • Ordonnanceurs • Protocoles • Mécanismes des composants middleware (frame packing, filttrage, …) • … ISI – SI153 Sûreté de fonctionnement

  41. Exemples d’ADLEAST - ADL • Allocation Model • Décrit l’architecture opérationnelle en termes de • tâches, • trames, • buffers pour les communications internes • Se spécifie à l’aide d’objets « Deployment » • Cf AADL ISI – SI153 Sûreté de fonctionnement

  42. Exemples d’ADLEAST - ADL • Allocation Model ISI – SI153 Sûreté de fonctionnement

  43. Exemples d’ADLEAST - ADL • Allocation Model ISI – SI153 Sûreté de fonctionnement

  44. Exemples d’ADLEAST - ADL • Modélisation des exigences • Objets « EFeature » : fonctionalités du système • Objets « Interaction » : coopération entre les fonctionalités du système (disjonction, enchaînement, protocoles, …) • Objets « Design Constraint » : tout ce qui contraint la recherche d’une solution • Coût • Standards d’entreprise (micro-contrôleurs, réseaux, …) • Contraintes d’allocation des composants réalisant une fonctionnalité • Objets « Quality Requirement » : propriétés non fonctionnelles attendues du système • Performances, • SdF : sécurité, fiabilité, … ISI – SI153 Sûreté de fonctionnement

  45. Exemples d’ADLEAST - ADL • Validation et Vérification (V&V) • Vérification / validation • de propriétés fonctionnelles • de propriétés non fonctionnelles (cf. Quality Requirement) • Méthodes • Analytiques • Simulations • Tests • Résultats • Déterministes • Statistiques • Probabilistes • Génération automatique des modèles nécessaires grâce à la sémantique du langage ISI – SI153 Sûreté de fonctionnement

  46. Exemples d’ADLEAST - ADL • Validation et Vérification (V&V) – modélisation (cf profile Testing Profile UML 2.0) ISI – SI153 Sûreté de fonctionnement

  47. Architecture Description LanguagesConclusions • Architectures logicielles  architectures de systèmes • Monde des systèmes embarqués complexes et contraints • Intérêt économique fort (réutilisabilité, traçabilité, approches par composants) • Intérêt en termes de réglementation • Favorise les activités de V&V • Favorise la documentation • Favorise des échanges formalisés entre partenaires ISI – SI153 Sûreté de fonctionnement

More Related