Conception Orientée Objet

Génie logiciel, Diagrammes état-transition · exam

Conception Orient´ee Objet

G´enie logiciel

Les diagrammes ´etat-transition

I. MOUAKHER-ABDELMOULA

2012-2013

Plan

1

Introduction

2 Concepts de base

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

3 Points de d´ecision

Points de jonction

Points de choix

4 ´Etats composites

Pr´esentation

´Etats concurrents

Historique

5 D´emarche d’´elaboration

D´emarche

Exemple

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Pr´esentation

Le diagramme ´etat-transition :

Fait partie des mod`eles dynamiques

D´ecrit l’enchaˆınement de tous les ´etats d’un objet

Propre `a une classe donn´ee.

Il d´ecrit :

Les ´etats des objets de cette classe

Les ´ev´enements auxquels ils r´eagissent

Les transitions qu’ils effectuent

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(3/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Concepts de base

Le diagramme ´etat-transition manipule plusieurs concepts :

´Etat

Transition

´Ev´enement

Garde

Action

Activit´e

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(4/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

´Etat

Un ´etat est une abstraction des valeurs ou des liens d’un objet.

Par exemple, l’´etat d’une banque est solvable si ses actifs exc`edent

ses dettes.

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(5/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

´Etat

Pour chaque objet, il y a trois types d’´etats :

´Etat initial : C’est l’´etat dans lequel se trouve l’objet lorsqu’il est

cr´e´e. Chaque objet a un et un seul ´etat initial

´Etat interm´ediaire : Ce sont les diff´erents ´etats par lesquels le

systeme peut passer depuis sa cr´eation jusqu’a sa destruction. Un

objet peut avoir plusieurs ´etats interm´ediaires.

´Etat final : C’est l’´etat qui met fin `a la vie de l’objet. Un objet peut

ne pas avoir d’´etat final (objet ´eternel), un seul ou plusieurs ´etats

finaux

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(6/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

´Etat - Repr´esentation

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(7/39)

State1State2état initialétat finalétats intermidiairesIntroduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Transition

Les ´etats sont reli´es par des connexions unidirectionnelles appel´ees

transitions

Une transition est le passage instantan´e d’un ´etat `a un autre. On dit

Publicité

que la transition est franchie lors du passage de l’´etat source `a l’´etat

cible.

Notation

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(8/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

´Ev´enements

Un ´ev´enement est une occurrence ou un fait qui a lieu `a un moment

donn´e.

Par exemple

L’utilisateur appuie sur le bouton de gauche

Le vol 123 part de Chicago

´Electricit´e allum´ee

La temp´erature passe en dessous de z´ero

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(9/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

´Ev´enements

Diff´erents types d’´ev´enements

´Ev´enements d’appel d’op´eration

´Ev´enements de signal

´Ev´enements de changement

´Ev´enements temporels

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(10/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

´Ev´enements de signal

´Ev´enement qui consiste `a ´emettre ou recevoir un signal

Un signal est un message entre objets, alors que l’´ev´enement de

signal en est une occurrence dans le temps.

Exemple : D´epart de vol, Boutant Souris enfonc´e, chaine saisie,

R´ecepteur d´ecroch´e, chiffre compos´e...

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(11/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

´Ev´enements de changement

Un ´ev´enement de changement est caus´e par la satisfaction d !une

expression bool´eenne.

La notation UML de ce type d’´ev´enement est le mot-cl´e when.

Par exemple : when (charge de la batterie < limit´e inf´erieure)

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(12/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

´Ev´enements temporels

Un ´ev´enement temporel est caus´e par l’occurrence d’un temps

absolu ou par l’´ecoulement d’une dur´ee.

Utilise le mot-cl´e when when(date = 01/01/2006) ou after after(10

secondes)

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(13/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orient´ee 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´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Garde

Une garde (ou une condition de franchissement) est une expression

bool´eenne qui doit ˆetre vraie pour qu’une transition soit franchie.

Notation : Apr`es un ´ev´enement, une condition est entre crochets.

Exemple :

Publicité

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(15/39)

Disponibleretour[bon état]retour[mauvais état]EmpruntéEn réparationIntroduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Action et Activit´e - Pr´esentation

Un objet qui re¸coit un ´ev´enement d´eclenche une ou plusieurs

op´erations

On distingue deux types d’op´erations :

Action : n’a pas de dur´ee et elle est associ´ee a un ´etat ou a une

transition

Activit´e : prend du temps d’ex´ecution et elle est associ´ee `a un ´etat

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(16/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Actions dans un ´etat

Elle peut intervenir soit

En entr´ee de l’´etat (pr´efixe : ”entry/”)

En sortie de l’´etat (pr´efixe : ”exit/”)

En r´eponse `a un ´ev´enement (pr´efixe :” on non evt/”)

Repr´esentation

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(17/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Actions dans un ´etat

Un ´ev´enement internet n’entraˆıne pas l’ex´ecution des actions de

sortie et d’entr´ee, contrairement au d´eclenchement d’une transition

r´eflexive.

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(18/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Activit´e dans un ´etat

Op´eration d’une certaine dur´ee, qui est ex´ecut´ee tant que l’objet se

trouve dans l’´etat

Une activit´e peut ˆetre interrompue par un ´ev`enement

Repr´esent´ee dans l’´etat pr´ec´ed´ee par la notation ”do/”

Lorsqu’une activit´e se termine, les transitions automatiques (sans

´ev´enement), mais ´eventuellement prot´eg´ees par des gardes, sont

d´eclench´ees

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(19/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Effet dans une Transition

Un effet est un comportement optionnel r´ealis´e par l’objet lorsque la

transition est d´eclench´ee

En UML 2, un effet peut ˆetre

une simple action

une s´equence d’actions

Une action ´el´ementaire peut repr´esenter la mise `a jour d’un attribut,

un appel d’op´eration, la cr´eation ou la destruction d’un autre objet,

ainsi que l’envoi d’un signal `a un autre objet.

Notation

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(20/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

´Etat

Transition

´Ev´enement

Garde

Action et Activit´e

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(21/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Points de jonction

Points de choix

Points de d´ecision

Permettent de repr´esenter des partages de transitions ou des

alternatives pour le franchissement d’une transition

On utilise deux m´ecanismes :

Points de jonction (petit cercle plein) : pour partager des segments

Publicité

de transition

Points de choix (losange) : pour choisir une ou une autre transition

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(22/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Points de jonction

Points de choix

Points de jonction

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(23/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Points de jonction

Points de choix

Point de d´ecision - Points de choix

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(24/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Pr´esentation

´Etats concurrents

Historique

´Etats composites (ou imbriqu´es) - Objectifs

Un ´etat composite (appel´ee aussi Super ´etat) est d´ecompos´e en

deux ou plusieurs sous ´etats

Objectifs :

Hierarchiser les etats

Structurer les comportements complexes

Factoriser les actions

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(25/39)

InactifraccrocherraccrocherdécrocherConnexionConversationconnectéracrocherterminéracrocherEmission TonalitéChiffreNumérotationChiffreIntroduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Pr´esentation

´Etats concurrents

Historique

´Etats composites - Notation

Un ´etat composite est repr´esent´e comme un ´etat simple, sauf que les

sous ´etats sont contenus dans le compartiment inf´erieur

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(26/39)

InactifdécrocherraccrocherConnexionConversationconnectéterminéEmission TonalitéChiffreNumérotationChiffreActifIntroduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Pr´esentation

´Etats concurrents

Historique

´Etats composites - Notation abr´eg´ee

L’utilisation d’´etats composites permet de d´evelopper une

sp´ecification par raffinements.

Une notation abr´eg´ee permet d’indiquer qu’un ´etat est composite et

que sa d´efinition est donn´ee sur un autre diagramme.

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(27/39)

InactifActifdécrocherraccrocherConnexionConversationconnectéterminéEmission TonalitéChiffreNumérotationChiffreActifIntroduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Pr´esentation

´Etats concurrents

Historique

´Etats composites - Transitions

Les transitions ayant pour cible la frontiere d’un ´etat composite ≡ a

une transition ayant pour cible l’´etat initial de l’´etat composite.

Une transition ayant pour source la fronti`ere d’un ´etat composite ≡

a une transition qui s’applique a tout sous-´etat de l’´etat composite

source.

une transition ayant pour source la fronti`ere d’un ´etat composite et

elle ne porte pas de d´eclencheur explicite, elle est franchissable

quand l’´etat final de l’´etat composite est atteint.

Les transitions peuvent ´egalement toucher des ´etats de diff´erents

niveaux d’imbrication en traversant les fronti`eres des ´etats

composites

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(28/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Pr´esentation

´Etats concurrents

Historique

´Etats composites - ´Etats concurrents

´Etat composite pour repr´esenter l’ex´ecution de plusieurs automates

s’ex´ecutant ind´ependamment

On utilise un s´eparateur en pointill´es

L’objet peut ˆetre simultan´ement dans plusieurs ´etats concurrents

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(29/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Pr´esentation

´Etats concurrents

Historique

´Etats composites - Exemple avec ´etats concurrents

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(30/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

Publicité

D´emarche d’´elaboration

Pr´esentation

´Etats concurrents

Historique

´Etats composites - Historique

On repr´esente le pseudo ´etat historique par un H cercl´e

Une transition ayant pour cible l’´etat historique est ´equivalente `a

une transition ayant pour cible le dernier ´etat visit´e dans la r´egion

contenant le H

H∗ (historique profond) est un ´etat valable pour tous les niveaux

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(31/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

Pr´esentation

´Etats concurrents

Historique

´Etats composites - Exemple avec ´etat historique

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(32/39)

LustrageLavageHLavageRinçageHafter(2mn)after(4mn)arrêt d'urgencerepriseAttenteafter(2mn)Séchageafter(2mn)Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

D´emarche

Exemple

D´emarche d’´elaboration

Ne pas chercher `a modeliser trop de classes

Comment identifier les ´etats ?

Recherche intuitive

´Etude 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´enario

Comment construire le diagramme ?

Repr´esenter d’abord la s´equence d’´etats d´ecrivant le comportement

nominal d’un objet

Ajouter les transitions correspondant aux comportement alternatifs

Int´egrer les comportements d’erreurs

Ajouter les actions et activites

Structurer en sous ´etats si le diagramme est trop complexe

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(33/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

D´emarche

Exemple

D´emarche d’´elaboration-Conseils

L’automate doit ˆetre d´eterministe

Si plusieurs transitions partant d’un ´etat ont le mˆeme ´ev´enement,

alors il doit y avoir des gardes qui garantissent le d´eterminisme

Tous les ´etats doivent ˆetre accessibles depuis l’´etat initial

S’il y a des ´etats terminaux alors, pour chaque ´etat non terminal, il

doit exister un chemin de cet ´etat vers un ´etat terminal (...en

g´en´eral)

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(34/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

D´emarche

Exemple

Exemple : Diagramme d’´etats d’une classe Mission (1/5)

(extrait de UML par la pratique, Pascal Roques, Eyrolles)

Description du comportement nominal

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(35/39)

En attentecreate(nom,nature)Validéevalider(DateDepartPrevue)départEn coursTerminéearrivéeIntroduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

D´emarche

Exemple

Exemple : Diagramme d’´etats d’une classe Mission (2/5)

Ajouter les transitions correspondant aux comportement alternatifs

La possibilit´e de modifier et d’annuler une mission jusqu’avant une

heure du d´epart pr´evu

Au bout de 48h, une mission termin´e´e est archiv´ee et supprim´e de la

m´emoire vive du syst`eme.

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(36/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

D´emarche

Exemple

Exemple : Diagramme d’´etats d’une classe Mission (3/5)

Ajouter les actions et les activit´es

Activit´e : D´efinir une mission(´etat ”En attente”)

Actions : cr´eation d’une FeuilleDeRoute ou d’un SuiviMission,

notifier le r´epartiteur, lib´ererResources et l’archivage

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(37/39)

Introduction

Concepts de base

Points de d´ecision

´Etats composites

D´emarche d’´elaboration

D´emarche

Exemple

Exemple : Diagramme d’´etats d’une classe Mission (4/5)

L’activit´e d´efinirMission recouvre un traitement complexe consistant `a

enchainer

affectation de commande

affectation de resources comprend en parall`ele la recherche d’un

v´ehicule libre de tonnage suffisant et la recherche d’un chaffeur

qualifi´e

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(38/39)