SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
La simulation de modèle
                        SysML avec Rhapsody
                        Exemple 1



pascal.roques@prfc.fr                             V1.0, 2012
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
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
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
Initialisation du modèle Rhapsody

 Nous utilisons la version 7.6.1 de IBM Rational Rhapsody
  Designer for System Engineers




                                                             5
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éveille-matin
   • Ébauche
     d’identification
     d’états




                                    7
Premier niveau d’architecture (bdd)

 Deux blocs :
  • Horloge
  • Alarme
 Deux Value
  Types
 Des
  événements
  utilisateur
 Une
  opération
  interne


                                       8
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
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
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 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
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, etc.




                                                            15
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
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 simulation




                                                          18
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
Initialisation de l’animation (2/2)




                                      20
Démarrage de l’animation
 Event Generator
  • Pour injecter des événements utilisateur




                                               21
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

Mais conteúdo relacionado

Mais procurados

Assembleur et binaire
Assembleur et binaireAssembleur et binaire
Assembleur et binaire
Bruno Delb
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
DIALLO Boubacar
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
Oussama Yoshiki
 
Chapitre 1 Représentation d'état des systèmes linéaires
Chapitre 1 Représentation d'état des systèmes linéaires Chapitre 1 Représentation d'état des systèmes linéaires
Chapitre 1 Représentation d'état des systèmes linéaires
sarah Benmerzouk
 
Tp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabTp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlab
hamdinho
 

Mais procurados (20)

Cours ALGR M1.pdf
Cours ALGR M1.pdfCours ALGR M1.pdf
Cours ALGR M1.pdf
 
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
 
Programmation linéniaire
Programmation linéniaire Programmation linéniaire
Programmation linéniaire
 
Ladder
LadderLadder
Ladder
 
cours_supervision_2018.pptx
cours_supervision_2018.pptxcours_supervision_2018.pptx
cours_supervision_2018.pptx
 
Assembleur et binaire
Assembleur et binaireAssembleur et binaire
Assembleur et binaire
 
C 80
C 80C 80
C 80
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Chapitre 4 robotique
Chapitre 4 robotiqueChapitre 4 robotique
Chapitre 4 robotique
 
les-automates-programmables-industriels
les-automates-programmables-industrielsles-automates-programmables-industriels
les-automates-programmables-industriels
 
SCADA Labview PLC TIA portal v13
SCADA Labview PLC TIA portal v13SCADA Labview PLC TIA portal v13
SCADA Labview PLC TIA portal v13
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
 
Transformation M2M avec ATL
Transformation M2M avec ATL Transformation M2M avec ATL
Transformation M2M avec ATL
 
Cours api
Cours apiCours api
Cours api
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Chapitre 1 Représentation d'état des systèmes linéaires
Chapitre 1 Représentation d'état des systèmes linéaires Chapitre 1 Représentation d'état des systèmes linéaires
Chapitre 1 Représentation d'état des systèmes linéaires
 
Presentation de projet en Automatiqie (regulation par PID)
Presentation de projet en Automatiqie (regulation par PID)Presentation de projet en Automatiqie (regulation par PID)
Presentation de projet en Automatiqie (regulation par PID)
 
Soutenance Elhadj Bah | Diplôme d'ingénieur de conception en Informatique | E...
Soutenance Elhadj Bah | Diplôme d'ingénieur de conception en Informatique | E...Soutenance Elhadj Bah | Diplôme d'ingénieur de conception en Informatique | E...
Soutenance Elhadj Bah | Diplôme d'ingénieur de conception en Informatique | E...
 
Tp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabTp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlab
 

Destaque

SysML adoption in France
SysML adoption in FranceSysML adoption in France
SysML adoption in France
Pascal Roques
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
ISIG
 
01072013 e governance
01072013 e governance01072013 e governance
01072013 e governance
bharati k
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
Korteby Farouk
 

Destaque (20)

Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...
 
SysML adoption in France
SysML adoption in FranceSysML adoption in France
SysML adoption in France
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
Embedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEmbedded OCL Integration and Debugging
Embedded OCL Integration and Debugging
 
OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...
 
Cvl
CvlCvl
Cvl
 
OCL Specification Status
OCL Specification StatusOCL Specification Status
OCL Specification Status
 
Timing verification of automotive communication architecture using quantile ...
Timing verification of automotive communication  architecture using quantile ...Timing verification of automotive communication  architecture using quantile ...
Timing verification of automotive communication architecture using quantile ...
 
Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire
 
OCL 2.5 plans
OCL 2.5 plansOCL 2.5 plans
OCL 2.5 plans
 
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
 
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
 
Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source Projects
 
UMLX and QVT and ATL
UMLX and QVT and ATLUMLX and QVT and ATL
UMLX and QVT and ATL
 
01072013 e governance
01072013 e governance01072013 e governance
01072013 e governance
 
Mix
MixMix
Mix
 
OCL Integration and Code Generation
OCL Integration and Code GenerationOCL Integration and Code Generation
OCL Integration and Code Generation
 
Yet Another Three QVT Languages
Yet Another Three QVT LanguagesYet Another Three QVT Languages
Yet Another Three QVT Languages
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
 
Modeling the OCL Standard Library
Modeling the OCL Standard LibraryModeling the OCL Standard Library
Modeling the OCL Standard Library
 

Semelhante a Prfc rhapsody simulation_1.0 (7)

Manual de instrucciones smartjumper (francés)
Manual  de instrucciones smartjumper (francés)Manual  de instrucciones smartjumper (francés)
Manual de instrucciones smartjumper (francés)
 
utilisation de MATLAB dans l'asservissement.pdf
utilisation de MATLAB dans l'asservissement.pdfutilisation de MATLAB dans l'asservissement.pdf
utilisation de MATLAB dans l'asservissement.pdf
 
Conception et réalisation d'un quadricoptère pour la prise de vue aérienne
Conception et réalisation d'un quadricoptère pour la prise de vue aérienneConception et réalisation d'un quadricoptère pour la prise de vue aérienne
Conception et réalisation d'un quadricoptère pour la prise de vue aérienne
 
Cours SDL2 (partie 1)
Cours SDL2 (partie 1)Cours SDL2 (partie 1)
Cours SDL2 (partie 1)
 
Af port view2 - Beginner
Af   port view2 - BeginnerAf   port view2 - Beginner
Af port view2 - Beginner
 
Af vue des portes - Débutant
Af   vue des portes - DébutantAf   vue des portes - Débutant
Af vue des portes - Débutant
 
Caméra réglage (2)
Caméra réglage (2)Caméra réglage (2)
Caméra réglage (2)
 

Mais de Pascal Roques (9)

SysCon 2013 SysML & Requirements
SysCon 2013 SysML & RequirementsSysCon 2013 SysML & Requirements
SysCon 2013 SysML & Requirements
 
Uml2
Uml2Uml2
Uml2
 
Seminaire Borland UML (2003)
Seminaire Borland UML (2003)Seminaire Borland UML (2003)
Seminaire Borland UML (2003)
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)
 
Modélisation métier (2004)
Modélisation métier (2004)Modélisation métier (2004)
Modélisation métier (2004)
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)
 
Migrer vers le cloud grace au Model-Driven
Migrer vers le cloud grace au Model-DrivenMigrer vers le cloud grace au Model-Driven
Migrer vers le cloud grace au Model-Driven
 
From SADT to SysML
From SADT to SysMLFrom SADT to SysML
From SADT to SysML
 
Xp Day2009 Modelisation Agile
Xp Day2009 Modelisation AgileXp Day2009 Modelisation Agile
Xp Day2009 Modelisation Agile
 

Prfc rhapsody simulation_1.0

  • 1. La simulation de modèle SysML avec Rhapsody Exemple 1 pascal.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
  • 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
  • 29. Etape 4 (1/2)  Le temps atteint l’heure d’alarme ! 29
  • 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