• Aucun résultat trouvé

Analyse , Conception des , Conception des Systèmes Informatiques Systèmes Informatiques

N/A
N/A
Protected

Academic year: 2022

Partager "Analyse , Conception des , Conception des Systèmes Informatiques Systèmes Informatiques "

Copied!
8
0
0

Texte intégral

(1)

O. Boissier, SMA/G2I/ENS Mines Saint-Etienne,Olivier.Boissier@emse.fr,Septembre 2004

Analyse

Analyse , Conception des , Conception des Systèmes Informatiques Systèmes Informatiques

Diagrammes

Diagrammes Etats Etats

2

Sommaire Sommaire

9 Définitions

• Evénement

• Etat

• Etat composite, concurrence

Diagramme d’états Diagramme d’états- - transitions : objectifs transitions : objectifs

• Représenter le cycle de vie des instances d’une classe

• Spécifier les états, les

transitions entre ces états et les actions associées aux

transitions.

• Modélisation de certaines classes

• Formalisme utilisé est emprunté aux Statecharts [Harel 87]

• Cas d’utilisation

• Séquences

• Collaboration

• Classes

• Objets

États/transitions

• Activités

• Composants

• Déploiement

Diagramme d

Diagramme d ’état ’état

• Au plus un diagramme par classe (pour celles qui sont dynamiques)

• Pour représenter :

• les états possibles des objets de la classe

• les transitions possibles entre ces états.

• Exemple (simplifié) :

Employé actif

Chômeur

Retraité

Etudiant

(2)

5

État : définition État : définition

Nom de l’Etat

Attributs : types, valeur init Entry/Action

Exit/Action Do/Activité Evénement/Action État initial

indispensable,

tout objet commence dans cet état

État final

pas indispensable

passage obligé pour tout objet à détruire

Etat : étape dans l’évolution du système pendant laquelle il satisfait une condition, ou exécute une action ou attend un événement.

6

Transition : définition Transition : définition

A B

Transitions

Lire unité lexicographique

B

<> séparateur

séparateur

Transition : passage potentiel d ’un état à un autre (éventuellement le même).

Exemple :

Diagramme d’état / objet Diagramme d’état / objet

Handle Event Initialize

Object

Terminate Object Wait for

Event

on

off Lamp On

Lamp Off off

on/print(”on”)

stop

Sommaire Sommaire

• Définitions 9 Evénement

• Etat

• Etat composite, concurrence

(3)

9

Événement : définition Événement : définition

Evénement : stimulus auquel l ’objet doit répondre, capable de déclencher une transition d ’un état vers un autre.

Etat1 Evénement(paramètres) [condition]/actions Etat2

Classe

Distinction événement/état : critère temporel

État 1 État 2 État 3

e1 e2 e3 e4

État 4 10

Événement (suite) Événement (suite)

• Evénement :

• est souvent un message venant de l ’extérieur de l ’objet, qui figure sur les diagrammes de séquence,

• est associé en général à une transition.

• [condition] :

• optionnelle,

• appelée garde de transition

• doit être vérifiée pour que l ’événement soit pris en compte.

• /action :

• optionnelle,

• décrit une action à exécuter (souvent une méthode de la classe) si l ’événement survient et doit être pris en compte.

Événement : (suite) Événement : (suite)

• 5 types d ’événements sont distingués :

• changement d ’une condition booléenne : when(expression)

• réception d ’un signal explicite envoyé par un autre objet : nom_evt(paramètres)

• demande d ’opération faite par un autre objet : nom_evt(paramètres)

• épuisement d ’un délai temporel : after(expression)

• survenance d ’une date, timer : when(expression)

• Un événement étant une occurrence, on peut donc, si nécessaire, les regrouper en classes.

Exemple complété Exemple complété

Employé actif

Chômeur

Retraité Etudiant

embauche

inscription ANPE départ retraite

embauche licenciement

décès

départ retraite

changement employeur

(4)

13

Exemple : partie d

Exemple : partie d ’échecs ’échecs Diag

Diag. État pour le contrôleur . État pour le contrôleur

Tour aux blancs

Tour aux noirs

When(Echec_et_mat)

When(Echec_et_mat) When(Pat)

When(Pat) Jeu Blancs

(pièce) Jeu Noirs

(pièce)

Gain des noirs

Partie nulle

Gain des blancs

14

Règles de construction Règles de construction

• Toutes les transitions quittant un état donné doivent être déclenchées par des événements différents,

• un événement unique peut déclencher des transitions sur des états différents,

• Si un objet se trouve dans un état E1 et qu ’il se produit un événement déclaré, il passe alors dans un état E2 : la transition est franchie.

• S ’il se produit un événement non déclaré sur un état, il est ignoré et perdu.

• Si plusieurs transitions sont possibles à partir d ’un état, c ’est le premier événement qui survient qui provoque le

franchissement de la transition concernée.

Exemple : partie d

Exemple : partie d ’échecs ’échecs Diag Diag. État pour l . État pour l ’afficheur ’afficheur

Echiquier début partie

Déplacement pièce blanche

(Echec_et_mat) When

(Echec_et_mat) When When(Pat)

When(Pat) Tour Blancs

(pièce,case) Tour Noirs

(pièce, case)

Coucher roi blanc

Coucher roi noir Déplacement

pièce noire

Tour Blancs (pièce,case)

Garde de transition Garde de transition

• Notée entre [ ]. C ’est une expression booléenne, paramètre de l ’événement déclencheur de la transition entre 2 états.

• Pour que la transition soit franchie, il faut que l ’évt survienne, que la condition soit vraie.

• Attention : condition porte sur une valeur. Ce n ’est pas un

évt. A

Air climatisé Ouvre fenêtre

trop chaud [été] trop chaud [hiver]

(5)

17

Actions sur les transitions Actions sur les transitions

• Opération instantanée associée à un événement, qui provoque le changement d ’état de l ’objet. Elle est notée par un / qui précède le nom de l ’action.

• Elle peut concerner des attributs ou des liens de l ’objet propriétaire du diagramme.

• L ’action dans sa totalité est exécutée sur le franchissement de la transition.

18

Actions sur les transitions Actions sur les transitions (suite)

(suite)

En cours d ’ouverture

En cours de fermeture

Ouverte Fermée

Appui bouton

/ moteur AV Fin ouverture

/ stop moteur

Appui bouton / moteur AR Fin fermeture

/ stop moteur

Appui bouton / moteur AV

Transition automatique / Transition automatique / conditionnelle

conditionnelle

do/rêver B

do / écouter A

transition automatique

A B

do / action séquentielle

transition conditionnelle

C

[X]

[not X]

Rappel à l ’ordre

Points de jonction statique Points de jonction statique

• But : Regrouper ou diviser des transitions mutuellement exclusives

• Evaluation des gardes avant le franchissement de la transition

• Exemple : A

E F D

X

[a>100]

[a<0] [a=50]

Dans l ’état A,

la transition X

n ’est activé que si

l ’une des branches a>100,

a<0, a=50 est activable.

(6)

21

Points de jonction dynamique Points de jonction dynamique

• But : Regrouper ou diviser des transitions mutuellement exclusives

• Evaluation des gardes lorsque le point de jonction est atteint

• Exemple : A

E F D

X/a:=Prix()

[a>100]

[a<0] [else]

Dans l ’état A, si la transition X

est activée, ce n ’est qu ’au niveau du point de choix que l ’on regarde si une des transitions est activable.

22

Sommaire Sommaire

• Définitions

• Evénement 9 Etat

• Etat composite, concurrence

Description détaillé d

Description détaillé d ’états ’états

UnEtat entrée / op2

do / op3 unEv / op4 sortie / op5

/op1

/op6

op1: action lors de la transition entrante op2: action d’entrée dans l’état

op3: action séquentielle dans l’état

op4: action associée à un événement interne op5: action de sortie de l’état

op6: action associée à la transition de sortie

entrée/action A E1/action

sortie/action A

entrée/action E1/action

ÍÎ

Sommaire Sommaire

• Définitions

• Evénement

• Etat

9 Etat composite, concurrence

(7)

25

États composites États composites

• Afin de faciliter la lecture, un état peut être composé de plusieurs sous-états

• Transition de sortie d’un état composite s’applique à tous ses sous états

• Transition d’entrée d’un état composite ne concerne qu’un seul sous-état

A B C

B1 B2

A C

26

Ancien

Employé actif

Chômeur

Retraité Etudiant

embauche

inscription ANPE départ retraite

embauche licenciement

décès

départ retraite changement employeur Ancien

États composites (suite) États composites (suite)

suspend/

Historique Historique

• Retour à un état visité précédemment

• Historique profond ou de surface Diagnosing Diagnosing Diagnosing

Diagnostic1 Diagnostic1

Step11

Step11

Step12

Step12

Diagnostic2 Diagnostic2

Step21

Step21

Step22

Step22

resume/

H* H*

Concurrence d’états Concurrence d’états

• Composition (simultanée) de plusieurs sous-états appelés régions

A

B

C

D

E

F G

H Chemins possibles

A (BE)(BF)G A (BE)(CE)G A(BE)(CE)(DE)(DF)G

A(BE)(CE)(DE)H

(8)

29

Transitions simultanées Transitions simultanées

• Les états A et C sont atteints simultanément ;

• Les états B et D sont quittés simultanément.

E

A B

C D

F

30

Synchronisation Synchronisation

• Interprétation : on ne peut quitter D pour E que si dans le même temps, on quitte A.

X

A B C

D E F

Y

Références

Documents relatifs

Les problèmes de cette classe sont ceux qui admettent une solution algorithmique déterministe et en temps poly- nomial : lorsque la taille du problème est n, le nombre d’étapes

– – Lien hiérarchique entre deux classes spécifiant Lien hiérarchique entre deux classes spécifiant que les objets de la classe supérieure sont plus que les objets de la

– – Ensemble de valeurs des attributs des objets et des Ensemble de valeurs des attributs des objets et des associations entre ces objets à un instant donné. associations entre

Vous découvrez dans ce lieu de nombreux équipements informatiques tels que les ordinateurs de bureau, les imprimantes, scanners, caméras de surveillance, modems, serveurs, etc.

Il est largement reconnu que la contribution de l’ergonomie doit intervenir le plus tˆ ot possible dans le processus de conception, depuis la d´ecouverte des besoins des

Le passage au 21e siècle s’est accompagné pour moi d’un changement radical dans la manière d’aborder la commande automatique de systèmes dynamiques.. À cette époque une

• de haut niveau : au sein des langages de programmation, on distingue les langages de bas niveau, dont la syntaxe est proche du langage machine et qui permettent de programmer

L’interopérabilité définie ainsi, comme l’échan ge d’informations entre les différents systèmes et l’utilisation des fonctionnalités, permet de traiter les