Conception Orientée Objet
Génie logiciel
Les diagrammes état-transition
I. MOUAKHER-ABDELMOULA
2012-2013
Plan
1
Introduction
2 Concepts de base
État
Transition
Événement
Garde
Action et Activité
3 Points de décision
Points de jonction
Points de choix
4 États composites
Présentation
États concurrents
Historique
5 Démarche d’élaboration
Démarche
Exemple
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Présentation
Le diagramme état-transition :
Fait partie des modèles dynamiques
Décrit l’enchaˆınement de tous les états d’un objet
Propre à une classe donnée.
Il décrit :
Les états des objets de cette classe
Les événements auxquels ils réagissent
Les transitions qu’ils effectuent
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(3/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Concepts de base
Le diagramme état-transition manipule plusieurs concepts :
État
Transition
Événement
Garde
Action
Activité
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(4/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
État
Un état est une abstraction des valeurs ou des liens d’un objet.
Par exemple, l’état d’une banque est solvable si ses actifs excèdent
ses dettes.
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(5/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
État
Pour chaque objet, il y a trois types d’états :
État initial : C’est l’état dans lequel se trouve l’objet lorsqu’il est
créé. Chaque objet a un et un seul état initial
État intermédiaire : Ce sont les différents états par lesquels le
systeme peut passer depuis sa création jusqu’a sa destruction. Un
objet peut avoir plusieurs états intermédiaires.
État final : C’est l’état qui met fin à la vie de l’objet. Un objet peut
ne pas avoir d’état final (objet éternel), un seul ou plusieurs états
finaux
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(6/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
État - Représentation
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(7/39)
State1State2état initialétat finalétats intermidiairesIntroduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Transition
Les états sont reliés par des connexions unidirectionnelles appelées
transitions
Une transition est le passage instantané d’un état à un autre. On dit
que la transition est franchie lors du passage de l’état source à l’état
cible.
Notation
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(8/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Événements
Un événement est une occurrence ou un fait qui a lieu à un moment
donné.
Par exemple
L’utilisateur appuie sur le bouton de gauche
Le vol 123 part de Chicago
Électricité allumée
La température passe en dessous de zéro
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(9/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Publicité
Transition
Événement
Garde
Action et Activité
Événements
Différents types d’événements
Événements d’appel d’opération
Événements de signal
Événements de changement
Événements temporels
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(10/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Événements de signal
Événement qui consiste à émettre ou recevoir un signal
Un signal est un message entre objets, alors que l’événement de
signal en est une occurrence dans le temps.
Exemple : Départ de vol, Boutant Souris enfoncé, chaine saisie,
Récepteur décroché, chiffre composé...
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(11/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Événements de changement
Un événement de changement est causé par la satisfaction d !une
expression booléenne.
La notation UML de ce type d’événement est le mot-clé when.
Par exemple : when (charge de la batterie < limité inférieure)
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(12/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Événements temporels
Un événement temporel est causé par l’occurrence d’un temps
absolu ou par l’écoulement d’une durée.
Utilise le mot-clé when when(date = 01/01/2006) ou after after(10
secondes)
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(13/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(14/39)
prolongationEmpruntédéclaration perteDisponibleaffectationNouveauretour livrePerdudéclaration pertedemande empruntEn réparationenvoie réparationretour réparationréparation impossibledéclaration retraitRetirérefus réparationIntroduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Garde
Une garde (ou une condition de franchissement) est une expression
booléenne qui doit être vraie pour qu’une transition soit franchie.
Notation : Après un événement, une condition est entre crochets.
Exemple :
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(15/39)
Disponibleretour[bon état]retour[mauvais état]EmpruntéEn réparationIntroduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Action et Activité - Présentation
Un objet qui reçoit un événement déclenche une ou plusieurs
opérations
On distingue deux types d’opérations :
Action : n’a pas de durée et elle est associée a un état ou a une
transition
Activité : prend du temps d’exécution et elle est associée à un état
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(16/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Actions dans un état
Elle peut intervenir soit
En entrée de l’état (préfixe : ”entry/”)
En sortie de l’état (préfixe : ”exit/”)
En réponse à un événement (préfixe :” on non evt/”)
Représentation
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(17/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Actions dans un état
Un événement internet n’entraˆıne pas l’exécution des actions de
sortie et d’entrée, contrairement au déclenchement d’une transition
réflexive.
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(18/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Publicité
Événement
Garde
Action et Activité
Activité dans un état
Opération d’une certaine durée, qui est exécutée tant que l’objet se
trouve dans l’état
Une activité peut être interrompue par un évènement
Représentée dans l’état précédée par la notation ”do/”
Lorsqu’une activité se termine, les transitions automatiques (sans
événement), mais éventuellement protégées par des gardes, sont
déclenchées
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(19/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Effet dans une Transition
Un effet est un comportement optionnel réalisé par l’objet lorsque la
transition est déclenchée
En UML 2, un effet peut être
une simple action
une séquence d’actions
Une action élémentaire peut représenter la mise à jour d’un attribut,
un appel d’opération, la création ou la destruction d’un autre objet,
ainsi que l’envoi d’un signal à un autre objet.
Notation
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(20/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
État
Transition
Événement
Garde
Action et Activité
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(21/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Points de jonction
Points de choix
Points de décision
Permettent de représenter des partages de transitions ou des
alternatives pour le franchissement d’une transition
On utilise deux mécanismes :
Points de jonction (petit cercle plein) : pour partager des segments
de transition
Points de choix (losange) : pour choisir une ou une autre transition
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(22/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Points de jonction
Points de choix
Points de jonction
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(23/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Points de jonction
Points de choix
Point de décision - Points de choix
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(24/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Présentation
États concurrents
Historique
États composites (ou imbriqués) - Objectifs
Un état composite (appelée aussi Super état) est décomposé en
deux ou plusieurs sous états
Objectifs :
Hierarchiser les etats
Structurer les comportements complexes
Factoriser les actions
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(25/39)
InactifraccrocherraccrocherdécrocherConnexionConversationconnectéracrocherterminéracrocherEmission TonalitéChiffreNumérotationChiffreIntroduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Présentation
États concurrents
Historique
États composites - Notation
Un état composite est représenté comme un état simple, sauf que les
sous états sont contenus dans le compartiment inférieur
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(26/39)
InactifdécrocherraccrocherConnexionConversationconnectéterminéEmission TonalitéChiffreNumérotationChiffreActifIntroduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Présentation
États concurrents
Historique
États composites - Notation abrégée
L’utilisation d’états composites permet de développer une
spécification par raffinements.
Une notation abrégée permet d’indiquer qu’un état est composite et
que sa définition est donnée sur un autre diagramme.
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(27/39)
InactifActifdécrocherraccrocherConnexionConversationconnectéterminéEmission TonalitéChiffreNumérotationChiffreActifIntroduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Présentation
États concurrents
Historique
États composites - Transitions
Les transitions ayant pour cible la frontiere d’un état composite ≡ a
une transition ayant pour cible l’état initial de l’état composite.
Une transition ayant pour source la frontière d’un état composite ≡
a une transition qui s’applique a tout sous-état de l’état composite
source.
une transition ayant pour source la frontière d’un état composite et
elle ne porte pas de déclencheur explicite, elle est franchissable
quand l’état final de l’état composite est atteint.
Les transitions peuvent également toucher des états de différents
niveaux d’imbrication en traversant les frontières des états
composites
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(28/39)
Introduction
Publicité
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Présentation
États concurrents
Historique
États composites - États concurrents
État composite pour représenter l’exécution de plusieurs automates
s’exécutant indépendamment
On utilise un séparateur en pointillés
L’objet peut être simultanément dans plusieurs états concurrents
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(29/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Présentation
États concurrents
Historique
États composites - Exemple avec états concurrents
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(30/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Présentation
États concurrents
Historique
États composites - Historique
On représente le pseudo état historique par un H cerclé
Une transition ayant pour cible l’état historique est équivalente à
une transition ayant pour cible le dernier état visité dans la région
contenant le H
H∗ (historique profond) est un état valable pour tous les niveaux
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(31/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Présentation
États concurrents
Historique
États composites - Exemple avec état historique
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(32/39)
LustrageLavageHLavageRinçageHafter(2mn)after(4mn)arrêt d'urgencerepriseAttenteafter(2mn)Séchageafter(2mn)Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Démarche
Exemple
Démarche d’élaboration
Ne pas chercher à modeliser trop de classes
Comment identifier les états ?
Recherche intuitive
Étude des attributs et des associations de la classe
Chercher le comportement d’un objet par les diagrammes
d’interactions (sequence et communication) sur chaque sénario
Comment construire le diagramme ?
Représenter d’abord la séquence d’états décrivant le comportement
nominal d’un objet
Ajouter les transitions correspondant aux comportement alternatifs
Intégrer les comportements d’erreurs
Ajouter les actions et activites
Structurer en sous états si le diagramme est trop complexe
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(33/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Démarche
Exemple
Démarche d’élaboration-Conseils
L’automate doit être déterministe
Si plusieurs transitions partant d’un état ont le même événement,
alors il doit y avoir des gardes qui garantissent le déterminisme
Tous les états doivent être accessibles depuis l’état initial
S’il y a des états terminaux alors, pour chaque état non terminal, il
doit exister un chemin de cet état vers un état terminal (...en
général)
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(34/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Démarche
Exemple
Exemple : Diagramme d’états d’une classe Mission (1/5)
(extrait de UML par la pratique, Pascal Roques, Eyrolles)
Description du comportement nominal
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(35/39)
En attentecreate(nom,nature)Validéevalider(DateDepartPrevue)départEn coursTerminéearrivéeIntroduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Démarche
Exemple
Exemple : Diagramme d’états d’une classe Mission (2/5)
Ajouter les transitions correspondant aux comportement alternatifs
La possibilité de modifier et d’annuler une mission jusqu’avant une
heure du départ prévu
Au bout de 48h, une mission terminéé est archivée et supprimé de la
mémoire vive du système.
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(36/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Démarche
Exemple
Exemple : Diagramme d’états d’une classe Mission (3/5)
Ajouter les actions et les activités
Activité : Définir une mission(état ”En attente”)
Actions : création d’une FeuilleDeRoute ou d’un SuiviMission,
notifier le répartiteur, libérerResources et l’archivage
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(37/39)
Introduction
Concepts de base
Points de décision
États composites
Démarche d’élaboration
Démarche
Exemple
Exemple : Diagramme d’états d’une classe Mission (4/5)
L’activité définirMission recouvre un traitement complexe consistant à
enchainer
affectation de commande
affectation de resources comprend en parallèle la recherche d’un
véhicule libre de tonnage suffisant et la recherche d’un chaffeur
qualifié
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(38/39)