180 likes | 308 Views
M.E.D.A.L. IUP-MIAGE 3ème année. Module d’Enseignement à Distance pour l’Architecture Logicielle. UML, esperanto ou babel ?. Diapositive n° 1. IUP MIAGE - Université de NANTES. Alain VAILLY. 1) Introduction. M.E.D.A.L.
E N D
M.E.D.A.L. IUP-MIAGE 3ème année Module d’Enseignement à Distance pour l’Architecture Logicielle UML, esperanto ou babel ? Diapositive n° 1 IUP MIAGE - Université de NANTES AlainVAILLY
1) Introduction 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é (c’est à dire cohérentes, complètes, lisibles, exploitables, etc) ? Diapositive n° 2 IUP MIAGE - Université de NANTES AlainVAILLY
1) Introduction M.E.D.A.L. - L’interprétation varie avec le contexte : exemple des diagrammes d’activités, - Le contenu varie avec le niveau d’abstraction : exemple des classes en analyse et en implantation, - Dans un modèle, on trouve des préoccupations différentes : utilisation, classes, objets, composants - L’usage varie avec la méthode de développement : méthode itérative degré de précision Diapositive n° 3 IUP MIAGE - Université de NANTES AlainVAILLY
1) Introduction M.E.D.A.L. Chacun a sa sémantique d’UML 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: de nombreuses modélisations erronées, incohérentes, incomplètes... Solutions: Gérer la complexité Proposer un compilateur (ou un interpréteur) Proposer un correcteur Autres solutions... Diapositive n° 4 IUP MIAGE - Université de NANTES AlainVAILLY
1) Introduction M.E.D.A.L. 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) 2. Limiterl’usage des diagrammes par activité. 3. Grouperles diagrammes par type Instanciation: scénario UC, séquence, collaboration classe, DET, activités 4. Associer les diagrammes complémentaires : DET activités, DET classe, opération activité, composant déploiement Diapositive n° 5 IUP MIAGE - Université de NANTES AlainVAILLY
1) Introduction M.E.D.A.L. 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 : langage naturel pas satisfaisant des travaux en cours multi-formalisme Executable UML : traduction complète (sémantique opérationnelle) génération de code par le compilateur extraction pour les spécifications formelles Diapositive n° 6 IUP MIAGE - Université de NANTES AlainVAILLY
1) Introduction M.E.D.A.L. 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 : le correcteur s’adapte au compilateur le correcteur s’intègre dans différents outils la base de règles est incrémentale, paramétrable Rigoureux : formaliser les règles (OCL, spec. formelles) vérifier la base de règles (cohérence...) Automatisable, génération de test Diapositive n° 7 IUP MIAGE - Université de NANTES AlainVAILLY
2) Vérification M.E.D.A.L. La vérification consiste à s’assurer 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. Diapositive n° 8 IUP MIAGE - Université de NANTES AlainVAILLY
2) Vérification M.E.D.A.L. Les propriétés du système sont relatives aux trois aspects d’un système : structurel : pas de redondances d’informations, volumes finis, modularité, cohérence… fonctionnel : terminaison des calculs, temps fini, cohérence, complétude… dynamique : pas de blocage, pas de famine, équité, sureté… Diapositive n° 9 IUP MIAGE - Université de NANTES AlainVAILLY
2) Vérification M.E.D.A.L. 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… Dans UML / UP, il s’agit de vérifier la cohérence et la complétude des descriptions à travers les différents diagrammes. Cela correspond à la vérification croisée données / traitements dans Merise. Diapositive n° 10 IUP MIAGE - Université de NANTES AlainVAILLY
2) Vérification M.E.D.A.L. Par exemple, un envoi de message dans un diagramme de séquence peut / doit correspondre à : - un échange dans un diagramme de collaboration, - une opération dans un diagramme de classe, - une transition dans un diagramme états-transition, - un sous-diagramme d’activité… Diapositive n° 11 IUP MIAGE - Université de NANTES AlainVAILLY
2) Vérification M.E.D.A.L. Nous pouvons ranger dans la catégorie propriétés du processus celles relatives à la qualité du processus : sûreté, terminaison, traçabilité… Il s’agit, en gros, de vérifier qu’à travers les niveaux d’abstraction, les spécifications sont toujours les mêmes. Dans UML / UP, la propriété essentielle est la traçabilité des éléments dans le cycle de développement. Diapositive n° 12 IUP MIAGE - Université de NANTES AlainVAILLY
(ce que l’on veut étudier) 2) Vérification 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, (ce que l’on veut obtenir) - vérification par elle-même. Diapositive n° 13 IUP MIAGE - Université de NANTES AlainVAILLY
2) Vérification M.E.D.A.L. Actuellement, il n’existe pas de document de référence établissant les bases d’une mise en œuvre de la vérification dans UML et UP. Il y a des pistes, dans les ouvrages, dans les manuels de documentation, dans les outils… Il y a encore un travail énorme à faire ici. Diapositive n° 14 IUP MIAGE - Université de NANTES AlainVAILLY
2) Vérification 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 l’outiller : 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. Diapositive n° 15 IUP MIAGE - Université de NANTES AlainVAILLY
2) Vérification M.E.D.A.L. Pour automatiser la vérification des règles, il faut les formuler dans le langage OCL et disposer d’outils pour le contrôle, la preuve et l’évaluation avec OCL. Il faut qu’OCL soit un langage formel à part entière et outillé. Il faut donc qu’il 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. Diapositive n° 16 IUP MIAGE - Université de NANTES AlainVAILLY
www.cs.york.ac.uk/puml/ 2) Vérification 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, Precise UML - du processus de vérification… … voire du métamodèle lui-même. Diapositive n° 17 IUP MIAGE - Université de NANTES AlainVAILLY
On attend… 3) Conclusion M.E.D.A.L. 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 qu’une sémantique formelle d’UML et d’OCL 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 l’espéranto. Diapositive n° 18 IUP MIAGE - Université de NANTES AlainVAILLY