Points de vue et sémantiques ad hoc Frédéric Boniol Philippe Dhaussy Claire Pagetti
Le contexte et le problème sous-jacent Les systèmes embarqués (avionique, spatial, automobile…) Comportements intrinsèquement complexes Nombreuses fonctions concourrantes et concurrentes Nombreux modes de fonctionnement Nombreux modes de pannes Très forte combinatoire Développements intrinsèquement complexes Nombreux intervenants métiers différents Nombreux effets de bord d’un métier sur les autres Nombreuses contraintes Criticité, temps réel, poids, coût…
Le contexte et le problème sous-jacent Les systèmes embarqués (avionique, spatial, automobile…) => Le problème : la multiplication des préoccupations
Le contexte et le problème sous-jacent Les systèmes embarqués (avionique, spatial, automobile…) => Le problème : la multiplication des préoccupations Une préoccupation transverse = un point de vue L’ingénierie des systèmes embarqués = ingénierie par points de vue La question scientifique qu’est-ce qu’un point de vue ? quels modèles de points de vue ? quel assemblage de points de vue ? …
Les approches existantes La pratique industrielle : Des démarches multi modèles Autant de modèles que de points de vue Chaque modèle est décrit dans un formalisme adapté (un DSL) Exemple : Modèles de comportements dysfonctionnels en AltaRica Modèles de comportement temps réel dans des notations à la Liu Layland … Démarches appuyées par des réflexions « conceptuelles » DODAF (US), MODAF (UK), AGATE (FR)
Une première tentative de formalisation simple Approche multi vues - multi modèle = Soit un système S Soit un ensemble de modèles Mi Mi = modèle du ième point de vue de S dans le langage Li Li possède une sémantique qui définit les comportements de Mi Soit un ensemble d’exigences i i = exigence devant être satisfaite par S et adressant le ième point de vue Il s’agit de vérifier que Mi satisfaitLi i S M1 Mn … Porte sur 1 n Cahier des charges de S
Une première tentative de formalisation simple Mais … Problème 1 : Comme s’assurer que les modèle Mi sont conformes au système S ? Problème 2 : Est-il toujours possible de raffiner le cahier des charges en exigences par point de vue Problème 3 : Comment être sûr que les modèles Mi sont cohérents entre eux ? Cohérence structurelle Cohérence sémantique S P1 M1 Mn cohérence P3 Porte sur 1 n P2 Cahier des charges de S
Une deuxième tentative de représentation Un modèle global et structurel du système Conforme à Meta- Modèle Quelle sémantique ? Sémantique S1 Sémantique S2 Sémantique S3 Langage formel L1 formel L2 formel L3 vue fonctionnelle vue Sûreté de fonctionnement vue Temps réel Simulation Validation Rafinement Implantation Simulation Validation Simulation Validation
Une deuxième tentative de représentation Filtre sémantique et structurel Quelle sémantique ? - soit toutes les sémantiques S1, S2 et S3 Langage formel L1 vue fonctionnelle Langage formel L2 vue Sûreté de fonctionnement Langage formel L3 vue Temps réel Mais : que veut dire, pour un modèle, avoir plusieurs sémantiques ? => Complexité sous-jacente ? Sémantique S1 Simulation Validation Rafinement Implantation Sémantique S2 Sémantique S3 Simulation Validation Simulation Validation
Une deuxième tentative de représentation Enichissement sémantique Quelle sémantique ? soit aucune sémantique => Modèle global uniquement structurel ! Langage formel L1 vue fonctionnelle Langage formel L2 vue Sûreté de fonctionnement Langage formel L3 vue Temps réel Les vues = raffinement structurel du modèle global enrichissement sémantique du modèle global Sémantique S1 Simulation Validation Rafinement Implantation Sémantique S2 Sémantique S3 Simulation Validation Simulation Validation
Une deuxième tentative de représentation Enichissement (raffinement) sémantique Quelle sémantique ? soit une sémantique minimale (intersection de S1, S2 et S3) => Modèle global à faible sémantique Langage formel L1 vue fonctionnelle Langage formel L2 vue Sûreté de fonctionnement Langage formel L3 vue Temps réel Les vues = raffinement structurel du modèle global raffinement sémantique du modèle global Sémantique S1 Simulation Validation Rafinement Implantation Sémantique S2 Sémantique S3 Simulation Validation => Garantit la cohérence des vues Simulation Validation
Idée mise au débat Dans une ingénierie multi vues, il doit Exister un Modèle globale La sémantique est défnie par des règles de transformation de modèles Ce modèle global est essentiellement et faiblement sémantique vue fonctionnelle vue Sûreté de fonctionnement vue Temps réel La sémantique réside essentiel- -lement dans les transformations vers les vues Sémantique ad hoc Pour cela, il faut : découpler méta modèle et sémantique !
Idée mise au débat
Description d’un système, choix d’une sémantique et modèle formel Activités d’analyse et de conception d’un système Simulation Validation Rafinement Implantation Modèle formel du système Filtre sémantique Nécessité de disposer d’un modèle formel (dans le sens où la sémantique du modèle est connue et unique) du système pour pouvoir: simuler, valider (vérifier les exigences sur le modèles, analyser), raffiner vers une cible, implanter sur la cible. Le filtre permet de choisir une sémantique parmi n Dans le processus de développement : Définition informelle du système Construction d’artefacts (exigences cas d’utilisation, diagrammes de séquences, comportement, structure, …
Choix d’une sémantique : exemple de la simulation Modèle 1 Simulation (interprétation type 1) Activités d’analyse et de conception d’un système Modèle 2 Simulation (interprétation type 2) . . Filtres sémantiques Modèle n Simulation (interprétation type n) Filtre : notion virtuelle Différents filtres possibles pour l’ensemble des artefacts du systèmes Mis en œuvre de différentes manières
Définition et mise en oeuvre d’une sémantique Selon les besoins (Simulation, validation, rafinement, implantation, …), il semble intéressant d’avoir des éléments sémantiques dans le méta modèle du langage de modélisation. Mais le filtre est globalement défini et mis en œuvre de la manière suivante : Cas de la simulation : la sémantique est présente dans le moteur d’interprétation du simulateur (machine virtuelle) Cas de validation (analyse) : la sémantique est présente dans les règles de transformation permettant de générer un programme formel (transformation exogène) Cas du rafinement : la sémantique est présente dans les règles de transformation permettant de générer un modèle prenant en compte des informations sur l’implantation (modèles d’exécution, de plateforme, choix d’implantation, …) (transformation endogènes). Cas de l’implantation ou génération de code : la sémantique est présente dans les règles de transformation permettant de générer le programme dans le langage d’implantation choisi (transformation exogène). Filtre sémantique
Activités d’analyse et de conception d’un système Vues et sémantique Activités Codes interprétables Activités d’analyse et de conception d’un système Interprétation/ Mach. virtuelle Meta- Modèle La sémantique est prise en compte dans la machine virtuelle (sémantique opérationnelle) Conforme à Analyse formelle ou génération de code Modèle formel, code implantation Modèle (vue) La sémantique est prise en compte dans les transformations (transformations exogènes et sémantique de traduction) SDL, UML, AADL, … Modèle raffiné La construction d’un modèle formel passe par la construction d’une vue La sémantique : prise en compte dans les transformations (transformations endogènes et sémantique de traduction) Vues
Types de vues . Meta- Modèle Activités Eléments de sémantique (2) Différents types de vue nécessaires pour construire le système en fonction de l’activité que l’utilisateur souhaite mener : fonctionnelle, temps réel, sûreté de fonctionnement, dimensionnement, …, Une vue = un modèle structurel dont le méta modèle est doté d’information sémantique. Elle est construite à partir de : des artéfacts du système (1), des éléments sémantique intégrés dans le méta modèle du langage de vue (2) La sémantique de la vue est définitivement construite (3) (apport d’une sémantique) par la prise de la sémantique (cf transparent précédent) : choix d’interprétation, transformation (exogène ou endogène) Meta- Modèle Eléments de sémantique (2) vue fonctionnelle Interprétation, transformations (3) vue Temps réel Activités vue Sûreté de fonctionnement Extraction (1) : on ne retient que les données pertinentes pour l’activité visée Enrichissement (2) : ajout de données de type structurelle et sémantique (à intégrer dans le méta modèle) .