Title: Une smantique formelle des diagrammes dinteraction dUML via les rseaux de Petri
1Une sémantique formelle des diagrammes
dinteraction dUML via les réseaux de Petri
- J. Cardoso C. Sibertin-Blanc C.
Soulé-DupuyUniversité Toulouse 1 - IRIT
2UML
- Une notation pour la modélisation O-O des
systèmes - Diagrammes de classe
- Diagrammes dinteraction
- les communications entre les entités du système
- diagramme de Séquence / de Collaboration
- Diagrammes de comportement
- diagramme dActivité / dEtat-Transition dune
entité - Diagrammes darchitecture technique
3Diagramme de Séquence
4Diagramme de Collaboration
5Diag. dinteraction questions
- Quelle sémantique ?
- Analyse des propriétés,
- simulation,
- génération du code.
- Quelle modèle dexécution ?
- Contrôle centralisé, ou
- la ligne de vie de chaque objet définit son
comportement, et linteraction résulte de
lexécution concurrente des objets.
6Diag. dinteraction syntaxe abstraite
- activation structure arborescente
(déclenchement d'une procédure) - précédence ordre partielle sur les messages
d'une procédure - action action émettrice, synchrone ou non
7De la syntaxe à la sémantique
- Formaliser la signification intuitive des diag.
dinteraction - 1) Passer de lordonnancement des messages à
celui des actions - !m, ?m actions denvoi et de réception de m
- m1 précède m2 gt !m1 lt !m2 !m lt ?m
- 2) traitement des procédures
- _begin, _end actions de début et de fin de
procédure - m active une procédure gt ?m lt m_begin .
. . - 3) Messages synchrone / asynchrone
- m1 synchrone et précède m2 gt ?m1 lt !m2
- 4) Localisation du contrôle
- ordonnancer lensemble des actions que chaque
objet doit réaliser - (gt faisabilité dun contrôle purement local)
- 1) - 3) gt lordre minimal lt
- 1) - 4) gt lordre dexécution lglt
8Lordre minimal lt
Précédence UML m1 préc m2 préc m3 Lordre
minimal lt
- Exécution conforme respecte lordre minimal
9Localisation du contrôle (1)
- On cherche une relation d'ordre qui
- étende lordre minimal
- soit constituée de - envoi / réception de
messages - - précédences locales à un objet
- Ordonnancement local des actions
- dans O1 !m1 puis ?m3
- dans O2 ?m1 puis !m2
- dans O3 ?m2 puis !m3
- Lordre lglt
10Localisation du contrôle (2)
- Objectif
- éviter les synchronisations inter-objet qui
peuvent être obtenues par transitivité à partir
de contraintes - de type envoi / réception dun message
- locale à un objet
- Principe
- ajouter dans chaque objet toutes les contraintes
raisonnables, - sérialiser le plus possible les actions, en
donnant priorité aux réceptions sur les émissions
( retarder le plus possible les émissions), - linteraction ne progresse (par émission) que
lorsquelle est stabilisée (ttes les émissions
précédentes ont été reçues).
11Localisation du contrôle (3)
- Le calcul
- Lordre maximal ltlt
- (sérialise)
- Lordre local llt
- (obtenu par transitivité)
- Lordre comlt
- (complément de lt)
- Lordre lglt llt U comlt
12Le réseau de Petri généré
13Exple 2
Le RP généré
14Exploitation des résultats
- Th1 toute exécution du RP est conforme
- (sans blocage et respecte lordre minimal).
- Th2 le contrôle est local ssi lordre comlt ne
comporte que des envoie/réception de messages, - Les autres contraintes nécessitent un
communication supplémentaire. - Pour chaque objet,
- lordre lglt indique les interactions quil doit
réaliser - gt cest la spécification de son diagramme
dactivité.
15Conclusion
ufrinfo jkljkljkl klkopkkkkkkkkkkkk
- Proposition dune sémantique opérationnelle pour
les diagrammes dinteraction dUML qui - capture la possibilité dun contrôle locale,
- rend un diagramme exécutable (par génération
dun RP), - permet de vérifier la cohérence entre un
diagramme dinteraction et le comportement de
chaque objet. - Reste à faire
- gérer les alternatives dun diagramme
dinteraction, - gérer les objets qui participent à plusieurs
diag. dinter. - diagnostiquer les causes de la non-localité du
contrôle.
16(No Transcript)