La simulation de modèle SysML avec Rhapsody Exemple 1pascal.roques@prfc.fr ...
Présentations : Pascal Roques Consultant senior, plus de 20 ans d’expérience • SADT, OMT, UML, SysML Certifié UML2 et S...
Objectifs SysML, la variante d’UML2 standardisée récemment par l’OMG, est particulièrement adapté au domaine de l’indus...
Etude de cas : réveille-matin Considérons un réveille-matin simplifié : • On peut mettre l’alarme « on » ou « off » •...
Initialisation du modèle Rhapsody Nous utilisons la version 7.6.1 de IBM Rational Rhapsody Designer for System Engineers...
Cas d’utilisation Un premier diagramme très simple 6
Scénario nominal « boite noire » Un autre diagramme simple donnant un exemple représentatif d’utilisation du réveil...
Premier niveau d’architecture (bdd) Deux blocs : • Horloge • Alarme Deux Value Types Des événements utilisateur U...
Premier niveau d’architecture (ibd) Dans l’ibd, on montre le connecteur entre l’horloge et l’alarme • C’est l’horlog...
Diagramme d’états de l’horloge (1/2) L’horloge est responsable de l’horodatage courant • L’horloge met à jour son ...
Diagramme d’états de l’horloge (2/2) 11
Diagramme d’états de l’alarme (1/2) L’alarme gère les événements de l’utilisateur : • ev_armer(Heure hAlarme,Minute mnA...
Diagramme d’états de l’alarme (2/2) 13
Création d’un panel graphique (1/3) 14
Création d’un panel graphique (2/3) Chaque élément du panel est lié à une valeur ou un état du modèle • heureCourante, ...
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 d...
Préparation de l’animation Préparation de l’espace de test 17
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...
Initialisation de l’animation (1/2) Une fois que le modèle est terminé : Full Build • L’animation peut démarrer D’abor...
Initialisation de l’animation (2/2) 20
Démarrage de l’animation Event Generator • Pour injecter des événements utilisateur ...
Etape 1 L’utilisateur met à l’heure : 23h30 22
Etape 1 : résultats Mise à l’heure : 23h30 23
Etape 2 L’utilisateur arme l’alarme : 06h30 24
Etape 2 : résultats (1/2) Alarme armée : 06h30 25
Etape 2 : résultats (2/2) 26
Etape 3 (1/2) Pas d’intervention utilisateur : le temps s’écoule… 27
Etape 3 (2/2) 28
Etape 4 (1/2) Le temps atteint l’heure d’alarme ! 29
Etape 4 (2/2) 30
Etape 5 L’utilisateur arrête la sonnerie 31
Etape 5 : résultats (1/2) Arrêt sonnerie 32
Etape 5 : résultats (2/2) 33
Etape 6 L’utilisateur désarme l’alarme 34
Etape 6 : résultats (1/2) enAlarme = false 35
Etape 6 : résultats (2/2) 36
of 36

Prfc rhapsody simulation_1.0

Published on: Mar 4, 2016
Source: www.slideshare.net


Transcripts - Prfc rhapsody simulation_1.0

  • 1. La simulation de modèle SysML avec Rhapsody Exemple 1pascal.roques@prfc.fr V1.0, 2012
  • 2. Présentations : Pascal Roques 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
  • 3. 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
  • 4. 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
  • 5. Initialisation du modèle Rhapsody Nous utilisons la version 7.6.1 de IBM Rational Rhapsody Designer for System Engineers 5
  • 6. Cas d’utilisation Un premier diagramme très simple 6
  • 7. 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
  • 8. Premier niveau d’architecture (bdd) Deux blocs : • Horloge • Alarme Deux Value Types Des événements utilisateur Une opération interne 8
  • 9. 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
  • 10. 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
  • 11. Diagramme d’états de l’horloge (2/2) 11
  • 12. 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
  • 13. Diagramme d’états de l’alarme (2/2) 13
  • 14. Création d’un panel graphique (1/3) 14
  • 15. 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
  • 16. 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
  • 17. Préparation de l’animation Préparation de l’espace de test 17
  • 18. 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
  • 19. 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
  • 20. Initialisation de l’animation (2/2) 20
  • 21. Démarrage de l’animation Event Generator • Pour injecter des événements utilisateur 21
  • 22. Etape 1 L’utilisateur met à l’heure : 23h30 22
  • 23. Etape 1 : résultats Mise à l’heure : 23h30 23
  • 24. Etape 2 L’utilisateur arme l’alarme : 06h30 24
  • 25. Etape 2 : résultats (1/2) Alarme armée : 06h30 25
  • 26. Etape 2 : résultats (2/2) 26
  • 27. Etape 3 (1/2) Pas d’intervention utilisateur : le temps s’écoule… 27
  • 28. Etape 3 (2/2) 28
  • 29. Etape 4 (1/2) Le temps atteint l’heure d’alarme ! 29
  • 30. Etape 4 (2/2) 30
  • 31. Etape 5 L’utilisateur arrête la sonnerie 31
  • 32. Etape 5 : résultats (1/2) Arrêt sonnerie 32
  • 33. Etape 5 : résultats (2/2) 33
  • 34. Etape 6 L’utilisateur désarme l’alarme 34
  • 35. Etape 6 : résultats (1/2) enAlarme = false 35
  • 36. Etape 6 : résultats (2/2) 36

Related Documents