36
V1.0, 2012 La simulation de modèle SysML avec Rhapsody [email protected] Exemple 1

Prfc rhapsody simulation_1.0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Prfc rhapsody simulation_1.0

V1.0, 2012

La simulation de modèle SysML avec Rhapsody

[email protected]

Exemple 1

Page 2: Prfc rhapsody simulation_1.0

Consultant senior, plus de 20 ans d’expérience

• SADT, OMT, UML, SysML

Certifié UML2 et SysML par l’OMG

Co-fondateur de l’association

Auteur des ouvrages les plus lus en France sur UML

… et du premier livre sur SysML

Présentations : Pascal Roques

Page 3: Prfc rhapsody simulation_1.0

Objectifs

SysML, la variante d’UML2 standardisée récemment par

l’OMG, est particulièrement adapté au domaine de

l’industrie et à la modélisation de systèmes complexes

(aéronautique, spatial, automobile, énergie, armement, etc.)

Cette présentation vise à montrer comment utiliser l’outil

Rhapsody (IBM/Rational) pour animer un modèle SysML en

s’appuyant sur les diagrammes d’états

L’étude de cas simple, proposée dans cette

première présentation est décrite en détail

dans le livre « UML2 par la pratique »,

publié chez Eyrolles

• Statecharts identiques en UML2 et SysML

3

Page 4: Prfc rhapsody simulation_1.0

Etude de cas : réveille-matin

Considérons un réveille-matin simplifié :

• On peut mettre l’alarme « on » ou « off »

• Quand l’heure courante devient égale à l’heure d’alarme, le réveil

sonne sans s’arrêter

• On peut interrompre la sonnerie

4

Page 5: Prfc rhapsody simulation_1.0

Initialisation du modèle Rhapsody

Nous utilisons la version 7.6.1 de IBM Rational Rhapsody

Designer for System Engineers

5

Page 6: Prfc rhapsody simulation_1.0

Cas d’utilisation

Un premier diagramme très simple

6

Page 7: Prfc rhapsody simulation_1.0

Scénario nominal « boite noire »

Un autre

diagramme

simple donnant

un exemple

représentatif

d’utilisation du

réveille-matin

• Ébauche

d’identification

d’états

7

Page 8: Prfc rhapsody simulation_1.0

Premier niveau d’architecture (bdd)

Deux blocs :

• Horloge

• Alarme

Deux Value

Types

Des

événements

utilisateur

Une

opération

interne

8

Page 9: Prfc rhapsody simulation_1.0

Premier niveau d’architecture (ibd)

Dans l’ibd, on

montre le

connecteur

entre l’horloge

et l’alarme

• C’est l’horloge

qui va prévenir

l’alarme

9

Page 10: Prfc rhapsody simulation_1.0

Diagramme d’états de l’horloge (1/2)

L’horloge est responsable

de l’horodatage courant

• L’horloge met à jour son

horodatage, toutes les

secondes, en gérant les

retours à zéro

• L’horloge prévient l’alarme

qu’elle doit s’activer

L’utilisateur peut modifier

l’horodatage

10

Page 11: Prfc rhapsody simulation_1.0

Diagramme d’états de l’horloge (2/2)

11

Page 12: Prfc rhapsody simulation_1.0

Diagramme d’états de l’alarme (1/2)

L’alarme gère les événements de l’utilisateur :

• ev_armer(Heure hAlarme,Minute mnAlarme)

En positionnant le booléen enAlarme à true

Maj des valeurs heureAlarme et minuteAlarme

• ev_desarmer

En positionnant le booléen enAlarme à false

• ev_arreterSonnerie

L’alarme réagit à l’événement généré par l’horloge :

• ev_sonner

En positionnant le booléen sonne

12

Page 13: Prfc rhapsody simulation_1.0

Diagramme d’états de l’alarme (2/2)

13

Page 14: Prfc rhapsody simulation_1.0

Création d’un panel graphique (1/3)

14

Page 15: Prfc rhapsody simulation_1.0

Création d’un panel graphique (2/3)

Chaque élément du panel est lié à une valeur ou un état

du modèle

• heureCourante, etc.

15

Page 16: Prfc rhapsody simulation_1.0

Création d’un panel graphique (3/3)

Chaque élément du panel est lié à une valeur ou un état

du modèle

• Etat Sonnerie de l’alarme

16

Page 17: Prfc rhapsody simulation_1.0

Préparation de l’animation

Préparation de l’espace de test

17

Page 18: Prfc rhapsody simulation_1.0

Création d’un template de Sequence diagram

Ce diagramme vide servira de modèle aux diagrammes de

séquence générés par la simulation

18

Page 19: Prfc rhapsody simulation_1.0

Initialisation de l’animation (1/2)

Une fois que le modèle est terminé : Full Build

• L’animation peut démarrer

D’abord : Go Idle

• Initialise le modèle avec les valeurs par défaut et les initial states

Le panel est initialisé

ainsi que le diagramme de séquence simulé

Et les statecharts

19

Page 20: Prfc rhapsody simulation_1.0

Initialisation de l’animation (2/2)

20

Page 21: Prfc rhapsody simulation_1.0

Démarrage de l’animation

Event Generator

• Pour injecter des événements utilisateur

21

Page 22: Prfc rhapsody simulation_1.0

Etape 1

L’utilisateur met à l’heure : 23h30

22

Page 23: Prfc rhapsody simulation_1.0

Etape 1 : résultats

Mise à l’heure :

23h30

23

Page 24: Prfc rhapsody simulation_1.0

Etape 2

L’utilisateur arme l’alarme : 06h30

24

Page 25: Prfc rhapsody simulation_1.0

Etape 2 : résultats (1/2)

Alarme

armée :

06h30

25

Page 26: Prfc rhapsody simulation_1.0

Etape 2 : résultats (2/2)

26

Page 27: Prfc rhapsody simulation_1.0

Etape 3 (1/2)

Pas d’intervention utilisateur : le temps s’écoule…

27

Page 28: Prfc rhapsody simulation_1.0

Etape 3 (2/2)

28

Page 29: Prfc rhapsody simulation_1.0

Etape 4 (1/2)

Le temps atteint l’heure d’alarme !

29

Page 30: Prfc rhapsody simulation_1.0

Etape 4 (2/2)

30

Page 31: Prfc rhapsody simulation_1.0

Etape 5

L’utilisateur arrête la sonnerie

31

Page 32: Prfc rhapsody simulation_1.0

Etape 5 : résultats (1/2)

Arrêt

sonnerie

32

Page 33: Prfc rhapsody simulation_1.0

Etape 5 : résultats (2/2)

33

Page 34: Prfc rhapsody simulation_1.0

Etape 6

L’utilisateur désarme l’alarme

34

Page 35: Prfc rhapsody simulation_1.0

Etape 6 : résultats (1/2)

enAlarme

= false

35

Page 36: Prfc rhapsody simulation_1.0

Etape 6 : résultats (2/2)

36