M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème année UML, esperanto ou babel ?
Alain VAILLY Diapositive n° 2 1) Introduction IUP MIAGE - Université de NANTES M.E.D.A.L. Avec un langage complexe, à géométrie variable (sémantique) et des éléments combinables à souhait, peut-on écrire des spécifications de qualité (cest à dire cohérentes, complètes, lisibles, exploitables, etc) ?
Alain VAILLY Diapositive n° 3 IUP MIAGE - Université de NANTES M.E.D.A.L. - Linterprétation varie avec le contexte : exemple des diagrammes dactivités, - Le contenu varie avec le niveau dabstraction : exemple des classes en analyse et en implantation, - Dans un modèle, on trouve des préoccupations différentes : utilisation, classes, objets, composants - Lusage varie avec la méthode de développement : méthode itérative degré de précision 1) Introduction
Alain VAILLY Diapositive n° 4 IUP MIAGE - Université de NANTES M.E.D.A.L. Chacun a sa sémantique dUML en fonction de son expérience, des langages et environnements de développement utilisés, des applications développées, des besoins requis. Problème Problème : de nombreuses modélisations erronées, incohérentes, incomplètes... Solutions Solutions : Gérer la complexité Proposer un compilateur (ou un interpréteur) Proposer un correcteur Autres solutions... 1) Introduction
Alain VAILLY Diapositive n° 5 IUP MIAGE - Université de NANTES M.E.D.A.L. Grouper 1. Grouper les diagrammes par activité : approche (UC, scénarios, activités) logique (classes, DET, activités, séquences, collaborations) implantation (composants, déploiement, classes) Limiter 2. Limiter lusage des diagrammes par activité. GrouperInstanciation 3. Grouper les diagrammes par type Instanciation : scénario UC, séquence, collaboration classe, DET, activités Associer 4. Associer les diagrammes complémentaires : DET activités, DET classe, opération activité, composant déploiement 1) Introduction
Alain VAILLY Diapositive n° 6 IUP MIAGE - Université de NANTES M.E.D.A.L. Aspects syntaxiques Aspects syntaxiques : le méta-modèle problème de classification des concepts pas de grammaire complète un jeu de règle de vérifications (complet ? cohérent ?) Aspects sémantiques Aspects sémantiques : langage naturel pas satisfaisant des travaux en cours multi-formalisme Executable UML Executable UML : traduction complète (sémantique opérationnelle) génération de code par le compilateur extraction pour les spécifications formelles 1) Introduction
Alain VAILLY Diapositive n° 7 IUP MIAGE - Université de NANTES M.E.D.A.L. Objectifs limités Objectifs limités : vérifier des propriétés de systèmes : redondances, non-blocage... de modèles : cohérence, complétude... de processus : équivalences, traçabilité... Evolutif Evolutif : le correcteur sadapte au compilateur le correcteur sintègre dans différents outils la base de règles est incrémentale, paramétrable Rigoureux Rigoureux : formaliser les règles (OCL, spec. formelles) vérifier la base de règles (cohérence...) Automatisable, génération de test 1) Introduction
Alain VAILLY Diapositive n° 8 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. La vérification consiste à sassurer que les modèles successifs satisfont la spécification globale, que le développement est correct par rapport à la spécification de départ. Il y a trois catégories de propriétés sur lesquelles peut porter la vérification : les propriétés du système, les propriétés des modèles et les propriétés du processus.
Alain VAILLY Diapositive n° 9 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. propriétés du système Les propriétés du système sont relatives aux trois aspects dun système : structurel structurel : pas de redondances dinformations, volumes finis, modularité, cohérence… fonctionnel fonctionnel : terminaison des calculs, temps fini, cohérence, complétude… dynamique dynamique : pas de blocage, pas de famine, équité, sureté…
Alain VAILLY Diapositive n° 10 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. Dans UML / UP, il sagit de vérifier la cohérence et la complétude des descriptions à travers les différents diagrammes. propriétés des modèles Nous pouvons ranger dans la catégorie propriétés des modèles celles relatives à la qualité des spécifications : cohérence, complétude, non redondance… Cela correspond à la vérification croisée données / traitements dans Merise.
Alain VAILLY Diapositive n° 11 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. - un échange dans un diagramme de collaboration, Par exemple, un envoi de message dans un diagramme de séquence peut / doit correspondre à : - une opération dans un diagramme de classe, - une transition dans un diagramme états-transition, - un sous-diagramme dactivité…
Alain VAILLY Diapositive n° 12 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. Il sagit, en gros, de vérifier quà travers les niveaux dabstraction, les spécifications sont toujours les mêmes. propriétés du processus Nous pouvons ranger dans la catégorie propriétés du processus celles relatives à la qualité du processus : sûreté, terminaison, traçabilité… Dans UML / UP, la propriété essentielle est la traçabilité des éléments dans le cycle de développement.
Alain VAILLY Diapositive n° 13 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. Nous dégageons trois étapes : - établissement des propriétés attendues pour chaque modèle ou groupe de modèles, - définition pour chaque propriété de règles ou de contraintes de vérification, - vérification par elle-même. (ce que lon veut étudier) (ce que lon veut obtenir)
Alain VAILLY Diapositive n° 14 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. Il y a des pistes, dans les ouvrages, dans les manuels de documentation, dans les outils… Actuellement, il nexiste pas de document de référence établissant les bases dune mise en œuvre de la vérification dans UML et UP. Il y a encore un travail énorme à faire ici.
Alain VAILLY Diapositive n° 15 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. Vérifier quelques centaines de règles prend du temps. Pour que la vérification soit opérationnelle, il faut loutiller : outils de saisie et dédition de modèles, outils de vérification, outils de simulation… La construction de ces outils repose sur une formulation claire et précise des concepts, des modèles et des règles de cohérence.
Alain VAILLY Diapositive n° 16 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. Pour automatiser la vérification des règles, il faut les formuler dans le langage OCL et disposer doutils pour le contrôle, la preuve et lévaluation avec OCL. Il faut quOCL soit un langage formel à part entière et outillé. Il faut donc quil ait lui même une sémantique formelle (non ambigüe). Il faut donc que la notation UML, elle-même, ait une sémantique formelle, modulaire et incrémentale.
Alain VAILLY Diapositive n° 17 2) Vérification IUP MIAGE - Université de NANTES M.E.D.A.L. Plusieurs axes de travail et de recherche peuvent être mis en évidence, autour : - du langage OCL, - de la notation UML, - du processus de vérification… … voire du métamodèle lui-même. Precise UML
Alain VAILLY Diapositive n° 18 3) Conclusion IUP MIAGE - Université de NANTES M.E.D.A.L. On attend… Pour se prévaloir du titre de norme, UML se doit dêtre un langage rigoureux et bien fondé. De nombreux travaux ont été lancés dans ce sens. Tant quune sémantique formelle dUML et dOCL ne sera pas disponible, la vérification de modèles ne sera pas possible (ou très aléatoire) et on sera plus près de Babel que de lespéranto.