+ All Categories
Home > Documents > Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2...

Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2...

Date post: 02-Sep-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
35
1 1 Systèmes à événements discrets [email protected] Département ISYS (Systèmes Embarqués) – ESIEE/Université Paris Est Sep 2019 Système à événements discrets (SED) Système dont l’état change seulement à certains instants lors de l'occurrence d'évènements particuliers. 2 Exemples :
Transcript
Page 1: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

1

1

Systèmes à événements [email protected]

Département ISYS (Systèmes Embarqués) –ESIEE/Université Paris Est

Sep 2019

Système à événements discrets (SED)• Système dont l’état change seulement à certains instants lors de l'occurrence d'évènements

particuliers.

2

• Exemples :

Page 2: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

2

3

TRANSPORT

Systèmes à événements discretsROBOTIQUE

TELECOM - MOBILE

IMAGE - SIGNAL

MEDICALVIE PRATIQUE INDUSTRIE

…dans les systèmes embarqués

●Différents modes de fonctionnement

● Séquences automatisées

● régulation, asservissement

●Surveillance

● ….

Objectifs et prérequis

• Objectifs▫ Vous découvrirez la modélisation des systèmes complexes à l’aide

du langage uniformisé UML▫ Vous approfondirez le diagramme de machine à états finis

(statechart) pour la modélisation dynamique des systèmes réactifs temps réel

▫ Vous utiliserez l’outil IBM Rhapsody pour construire des modèles exécutable

▫ Vous réaliserez un exemple concret et complet du domaine de l’automobile : un régulateur/limiteur de vitesse

• Prérequis▫ La théorie des machines à états finis▫ La connaissance des bases de l’orienté objet

4

Page 3: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

3

Pourquoi modéliser ?

Dans toute les discipline, on modélise depuis longtemps des systèmes complexes

• Maitriser la complexité

• Réduire les risques

• Pour communiquer

▫ Masquage des détails

▫ Abstraction

5

Qu'est-ce qu'un modèle ?

• Simplification de la réalité pour mieux comprendre▫ modèle mathématique, physique, visuels, textuels…

• Un bon modèle : A est un bon modèle de B si A permet de répondre de manière satisfaisante à des questions prédéfinies sur B (D.T. ROSS)

• Un modèle est différent d’un simple dessin !

6

Page 4: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

4

Qu’y a-t-il en dessous d’un modèle?

7

• Syntaxe concrète

• Syntaxe abstraite et sémantique▫ Un monde encore plus important…

� Les éléments du modèle et leurs liens

▫ Facteur clé pour� Calcul, analyse� Simulation, test, validation� Traçabilité� …

Qu’y a-t-il en dessous d’un modèle?

8

Syntaxe concrète

Syntaxe abstraite et sémantique

Page 5: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

5

MBSE ?

• Model-based system engineering• Passer du document-centric au

model-centric• Les modèles ne sont pas seulement

dédiés à la documentation• Les modèles deviennent des entités

de premier plan ▫ Traçabilité ▫ Aide à la conception,

développement, validation…

9

AVANTCycle en V : cycle classique de conception

10

Page 6: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

6

Ingénierie des modèles Problématique

• Conception du logiciel embarqué ▫ Cycle en V : cycle classique de conception

� � développement orienté CODE

11

Temps et coût de développement ++

Codage 1 Codage 2 codage 3 codage n

Ingénierie des modèles • Conception du logiciel embarqué

▫ Cycle en V : cycle classique de conception▫ Approche dirigée par les MODELES

12

Génération automatiquede code

Modèle

Page 7: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

7

Ingénierie des modèles• Conception du logiciel embarqué

▫ Cycle en V : cycle classique de conception▫ Approche dirigée par les MODELES

� Machines à états finis + temps réel = statechart

13

Modèles

Simulation

Génération automatiquede code

Langage et outil

• Langage UML (Unified Modelling Language) ▫ Notation graphique standardisé orientée multi-vues▫ Machine à états finis est une vue du système: vue comportementale▫ Formalisme orientée objet: schéma classes/objets est une autre vue du système (vue

structurelle)

14

• Outil : IBM Rational Rhapsody• Environnement de modélisation, spécification et simulation de système temps réel

• Génération automatique de code C, C++, Java et Ada.

Modèles

Simulation

Page 8: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

8

Langages et outils• Machine à états (temps réel)

▫ IBM Statemate (payant, licence académique)

• Machine à états et UML (temps réel)▫ IBM Rational Rhapsody ((payant, éval 30j, licence académique)

� http://www.ibm.com/developerworks/downloads/r/rhapsodydeveloper/index.html

• UML ▫ Rationnel Rose (payant)

� http://www.rational.com▫ Poseidon (gratuit)

� http://www.gentleware.com/▫ Visual paradigm (gratuit)

� http://www.visual-paradigm.com/▫ ArgoUML (gratuit)

� http://argouml.tigris.org▫ …

15

Démo !

16

Page 9: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

9

17

La modélisation structurelle

La modélisation comportementale

Cas d’étude

18

Une montre digitale• Un cadran, quatre boutons (power, mode, set,

start/stop) et une batterie.• Un microcontrôleur pour gérer les modes de

fonctionnement (le contrôleur)• Affichage de l’heure courante • Mise en veille et gestion de la batterie• Fonction chronomètre

Page 10: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

10

Modéliser vs spécifier

19

Logiciel embarqué

Modéliser

Spécifier

Décrire la structure du système+

Le comportement dynamique

Système de contrôle Procédé

E ES

S

ModélisationSpécification

E

S

La structure d’un système : une classe

20

Nom du système Structure représentant le système : une classe / un objet

• manipule les attirbuts• appelle les opérations

Comportement dynamique : statechart

Caractéristiques quantifiables : attributs

Comportement exécuté à la demande : operations

Page 11: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

11

21

Exemple : Simulateur d’un véhicule

• Modélisation de la structure d’un système : Classe / Object ▫ Données du système : attributs▫ Traitements de base : méthodes▫ Comportement dynamique : statechart

double vitesse;double latenceAcc = 300;double latenceFrein = 150;bool défaut = false;

Accelerer ( intensité ) { }dynMoteur ( ) { }

classe

attributs

méthodes

<visibilité> <nomAttribut> : <type> = <valeur par défaut>

<visibilité> <nomOpération> (listeParamètres) : <typeRetour>

Nom

22

Exemple : un distibuteur de billets

• Modélisation de la structure d’un système : Classe / Object ▫ Données du système : attributs▫ Traitements de base : méthodes▫ Comportement dynamique : statechart

char* nomBanque;char* nomEmplacement;bool enPanne;

insererCarte( c ) { }choisirOp( ) { }

classe

DAB

nomBanque: char*nomEmplacement: char*

enPanne : bool = false

insererCarte( c: Carte ): intchoisirOp( ) : void

nom

attributs

méthodes

<visibilité> <nomAttribut> : <type> = <valeur par défaut>

<visibilité> <nomOpération> (listeParamètres) : <typeRetour>

Page 12: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

12

Etude de cas (TD)

• Identifier les attributs et les opérations du procédé

23

Système de contrôle Procédé

E ES

S

ModélisationSpécification

E

S

24

Page 13: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

13

Les statecharts

• Système à événements discrets▫ Systèmes temps réel▫ Systèmes réactifs à leur environnement

�Machines à état fini pour le temps réel = les statecharts▫ D.Harel [1987]▫ Extension temps réel pour la description comportementale

des systèmes réactifs

• Statecharts = diagrammes d'états + hiérarchie + orthogonalité +communication par diffusion

25

Plusieurs types d’états

• Etat initial ▫ un seul par diagramme

• Etat intermédiaire▫ Aucun ou plusieurs possibles

• Etat final▫ Plusieurs possibles

• Pseudo-états ▫ dépend des outils

Page 14: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

14

Transition

• Représente le passage instantanée et unidirectionnel d’un état à un autre• Format

• À l’arrivée d’une événement, sous une certaine condition, l’action réalise un traitement lors du changement d’état

27

Transition

• Représente le passage instantanée et unidirectionnel d’un état à un autre

• Déclenchée : ▫ Par un événement ▫ Automatique, à la fin d’une activité

• Condition de garde : condition booléenne qui autorise ou bloque la transition

• Action : traitement réalisé lors du changement d’état

• Syntaxe : <Événement> [<Garde>] / <Action><Tirgger> [<Guard>] / <Action>

28

Page 15: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

15

Etude de cas (TD)

• Identifier les entrées/sorties du système• Identifier les états stables du procédé et décrire

son comportement

29

Système de contrôle Procédé

E ES

S

ModélisationSpécification

E

S

30

Déclencheur (trigger)

• En provenance des dispositifs d’entrées (capteurs, boutons…), de l’utilisateur (via IHM…)▫ SignalEvent – evName(params)

� Ex.: evAllumer, evEteindre,…

• En provenance d’horloge (timers…)▫ Représente le passage du temps : une durée décomptée à partir

de l’entrée dans l’état courant ▫ TimeEvent (passage du temps) – tm(durée)

• CallEvent – triggered operation()

▫ appel d’une opération par un autre objet –

Page 16: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

16

Garde

• Les changements d’état interne• Une contrainte supplémentaire pour une transition • Une condition booléenne

▫ opérande : attributs ou expressions booléennes▫ opérateurs : ! || &&

• Evaluation de la condition :▫ ev [garde] : condition évaluée à l’arrivée de « ev »▫ [garde] : condition évaluée à l’entrée de l’état (cas de Rhapsody)

31

S1

S2

[garde]

tm(100)�Transition réflexive utilisant tm

32

Les sorties d’une statechart

• Action dans une transition ▫ Traitement basique: suite d’instrcutions

▫ Traitement modulaire : appel de méthodes internes

▫ Communication : � diffusion d’un événement en interne (asynchrone)

� Rhapsody : GEN (<nom_evt>([<argument>]) )� Appel synchrone d’une opération réactive

� Rhapsody : trigerredOperation();

Page 17: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

17

33

Les actions dans un état

• Dans un état ▫ à l’entrée entry / <action>▫ à la sortie exit / <action>

34

Les actions dans un état

• Dans un état ▫ à l’entrée entry / <action>▫ à la sortie exit / <action>

Page 18: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

18

35

Exemple : les actions dans un état

Saisie_code_secret

idle

evCarte/lecture();

evValider / A2();

entry / NePlusAffEntreesClavier()exit / ReAffEntreesClavier()

evCarte � lecture(); NePlusAffEntreesClavier();

evValider � ReAffEntreesClavier(); A2();

Lecture (){numCB=params->num;}

Exemple : les actions dans un état

36

Page 19: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

19

37

Réactions internes à un état

• Définir une activité qui ne nécessite pas de quitter l état en cours � Activité nécessitatnt un certain temps d’exécution: action

relativement longue (Interaction utilisateur, signal d’attente…)

▫ Format : evt [Garde] / action

38

Réaction dans un état

• Réaction : evt [Garde] / action

Etat2

Etat 1

e1 / A1( );

e2 / A2( );

Reaction : e3 / A5( );

Entry / A3( );

Exit / A4( );

e4 / A6( );

E

Page 20: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

20

39

Réaction dans un état

• Réaction : evt [Garde] / action

Etat2

Etat 1

e1 / A1( );

e2 / A2( );

Reaction : e3 / A5( );

Entry / A3( );

Exit / A4( );

e4 / A6( );

e3 �A5 ( ); (le contexte est préservé)

e4 �A4( ); A6( ); A3( ); (le contexte est réinitialisé)

40

Exemple : les actions dans un état

Saisie_code_secret

idle

evCarte/lecture();

evValider / A2();

entry / NePlusAffEntreesClavier()

exit / ReAffEntreesClavier()

Lecture (){numCB=params->num;}

evKey/ codeU=codeU*10+params->c;

Page 21: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

21

Les actions : résumé

• entry, exit : actions courtes• Si action relativement longue :

1. Réaction dans un état

2. État hiérarchique � les sous-statechart

41

État hiérarchique

• Structurer un comportement complexe�Abstraction, hiérarchie

• Dans le sous-statechart, on retrouve les mêmes règles �état initial obligatoire.

42

Page 22: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

22

État hiérarchique

• Exemple

43

État hiérarchique

• Factoriser des transitions communes▫ Mêmes événements / actions

44

Page 23: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

23

État hiérarchique

• Factoriser des transitions communes▫ Mêmes événements / actions

45

État hiérarchique

• Suspendre/ré-initialiser un comportement

46

État OU

prêt

impression

EvImprimerEvF

in

Arrêt

Running

EvOff

EvOn

A

C

B

Page 24: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

24

État hiérarchique

• Suspendre/reprendre un comportement ?

47

État OU

prêt

impression

EvImprimerEvF

in

Arrêt

Running

EvOff

EvOn

A

C

B

« Comment traiter par exemple l’ouverture du bac à papiers ? »

48

Pseudo-état Historique (dernier état visité)

• L'événement fermetureBacPapier entraîne l'état Running, raffiné par prêt et impression, le dernier état visité ( lors de la dernièreoccurrence de ouvertureBacPapier) sera choisi

État OU

prêt

impression

EvImprimerEvF

in

Arrêt

Running

EvOff

EvOn

suspendueouvertureBacPapier

HfermetureBacPapier

• H : mémorise le dernier état visité

E

Page 25: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

25

49

Pseudo-état Historique (dernier état visité)

B

D

A

C

H

IT

h

Interruption – reprise

• Gestion des interruptions

Statecharts en concurrence

• Plusieurs comportement concurrent▫ Super-état AND

▫ Évolution parallèle des sous-statecharts▫ État courant : n-uplet (S0,...Sn); n=nbre de sous-statechart

50

Page 26: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

26

Statecharts en concurrence

• Dans un état composite

51

Statecharts en concurrence

• Exemple

52

Page 27: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

27

Statecharts en concurrence

• Exemple

53

54

Statecharts en concurrence

•Les transitions sont simultanées : à partir de l'état <A,D> la transition e permet d'être en <B,C>notée <A,D> -e-> <B,C>

• Transitions simultanéesenglobantenglobant

A

B

C

D

e e

Page 28: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

28

55

Statecharts en concurrence

La transition "t" entraîne l'arrêt immédiat des deux régions F et G.

englobant

F G

englobant

A

B

C

D

E

englobant

F

A

B

G

C

D

Ee e

t

• Préemption d’un état AND

Classe concurrente

• Traitement bloquant dans un thread séparé� Classe active▫ Propriété concurrency = « active »

▫ Surcharger l’opération OnReaction * execute()

56

Page 29: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

29

Etude de cas (TD)

• Une montre digitale▫ est munie� d’un écran pour afficher le temps� de quatre boutons : power, mode, set, start/stop…� une batterie

▫ propose une fonction horloge: affichage de l’heure courante

▫ se mets en veille après un certain délai d’inactivité

• Compléter le statechart en intégrant les fonctionnalités ci-dessus

57

Synchroniser des statecharts

• Via une variable (garde)▫ � attention problème d’accès concurrent

• Via un événement ▫ Macro : GEN(<event>)

• Via un état ▫ Macro : IS_IN(<etat>):bool

• Via une barrière de synchronisation : fork/join

58

Page 30: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

30

59

Synchronisation via un événementL'événement e entraîne la génération de f qui décl enche simultanément C ->D et E -> F

<A,C,E> -- e -> <B,D,F>

diffusiondiffusion

B

A E

F

C

D

e/GEN(f); ff

60

Exemple : vérification d'un invariant

• invariant par niveau ( par système)• les notions de sûreté et vivacité peuvent être exprimées sur les diagrammes

testInvariant

E1 INVARIANTE2

testInvariant

B

A INIT

VERIF

C

D

testInvariant

E1

B

A

INVARIANT

INIT

VERIF

E2

C

D

e/GEN(INV_E1); INV_E1INV_E2f/GEN(INV_E2);

E

Page 31: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

31

61

Synchronisation via un état

testtest

A

B

C

D

test

A

B

C

D

e [IS_IN(B)]

• IS_IN ( B ) retourne true si l’état courant de la région concurrente est égal à B

62

Synchroniser via des barrières

• Fork and Join

A F

paralleleparallele

D E

B C

forkjoin

Page 32: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

32

63

Synchroniser via des barrières

• Fork and Join

64

Synchroniser via des barrières

• Fork and Join

Page 33: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

33

Pseudo état

• Pseudo-état conditionnal

65

Branche1 : ev [cnd1] / a0() ; a1();Branche2 : ev [cnd2] / a0() ; a2();Branche_else : ev [else] / a0() ; a_else();

/a0()

/a1() /a2()/a_else()

Exemple

• Contrôleur d’ascenseur

66

Page 34: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

34

67

Attention au non déterminisme

Quelle transition choisir, en général il y a préemption de l'englobant ?

D

A

B

Ce

e

englobantenglobant

A

B

C

D

e/x=1; e/x=0;

Que vaut x ?

Etude de cas (TD)

• Une montre digitale▫ est munie

� d’un écran pour afficher le temps� de quatre boutons : power, mode, set, start/stop…� une batterie

▫ propose une fonction horloge: affichage de l’heure courante

▫ se mets en veille après un certain délai d’inactivité ▫ Propose une fonction chronomètre

� Le bouton mode active successivement les deux modes horloge et chronomètre

� Le bouton StartStop lance/arrête le chronomètre� Le bouton Set remet le chrono à zéro� Pas de veille possible dans le mode chronomètre

68

Page 35: Systèmes à événements discrets - ESIEE Parishamouchr/IN4E11/tp/Cours.pdf · 2019. 9. 20. · 2 3 TRANSPORT Systèmes à événements discrets ROBOTIQUE TELECOM -MOBILE IMAGE -SIGNAL

35

Etude de cas (TD)

• Une montre digitale▫ est munie

� d’un écran pour afficher le temps� de quatre boutons : power, mode, set, start/stop…� une batterie

▫ propose une fonction horloge: affichage de l’heure courante▫ se mets en veille après un certain délai d’inactivité ▫ Propose une fonction chronomètre

� Le bouton mode active successivement les deux modes horloge et chronomètre

� Le bouton StartStop lance/arrête le chronomètre� Le bouton Set remet le chrono à zéro� Pas de veille possible dans le mode chronomètre

▫ Paralléliser/synchroniser les fonctionnalités ▫ Simuler la consommation de la batterie selon les modes:

� Mode veille : conso = 1% / 5s� Hors mode veille : conso = 1% / 2s

69

Références

• Bruce Powel Douglass. Doing Hard-Time. Developing Real-Time Systmes with UML, objects, Frameworks and Patterns. Addison-Wesley, 1997.

• Hassan Gomaa. Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison-Wesley, 2000.

• Grady Booch, James Rumbaugh, Ivar Jacobson. Le guide de l’utilisateur UML. Eyrolles, 2000.

• Pierre-Alain Muller. Modélisation objet avec UML. Eyrolles, 1997.• C.G. Cassandras, S. Lafortune. Introduction to Discrete Event

Systems. Kluver Academic Publishing 1999.• http://uml.free.fr/• http://www.ilogix.com/• http://robic.julien.free.fr/Programmation/Cours UML - Declercq -

slides 1-145.pdf

70


Recommended