SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Soutenance de stage Ingénieur
Soutenance de stage IngénieurSoutenance de stage Ingénieur
Soutenance de stage IngénieurFaten Chalbi
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011agnes_crepet
 
Présentation mémoire de Fin d’Etudes
Présentation mémoire de Fin d’EtudesPrésentation mémoire de Fin d’Etudes
Présentation mémoire de Fin d’EtudesAmine MEGDICHE
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielleYouness Boukouchi
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonEmeline Simon
 
Principes de L'intégration Continue
Principes de L'intégration ContinuePrincipes de L'intégration Continue
Principes de L'intégration ContinueXavier Warzee
 
Introduction à App Inventor
Introduction à App InventorIntroduction à App Inventor
Introduction à App InventorTeen-Code
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec OdooHassan WAHSISS
 
Supervision et analyse de script batch
Supervision et analyse de script batchSupervision et analyse de script batch
Supervision et analyse de script batchschomy
 
Geti 2101 activity_diagrams
Geti 2101 activity_diagramsGeti 2101 activity_diagrams
Geti 2101 activity_diagramsChebil Hanen
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"étudesMohamed Boubaya
 
Diagramme de Séquence
Diagramme de SéquenceDiagramme de Séquence
Diagramme de SéquenceabdoMarocco
 
Rapport stage : Mise en place d’un plan de maintenance
Rapport stage : Mise en place d’un plan de maintenanceRapport stage : Mise en place d’un plan de maintenance
Rapport stage : Mise en place d’un plan de maintenanceYounesSALEK1
 
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...RidhaChayeh1
 
Conception et Réalisation d’un Système de Vote Electronique (Blondel Seumo)
Conception et Réalisation d’un Système de Vote Electronique (Blondel Seumo)Conception et Réalisation d’un Système de Vote Electronique (Blondel Seumo)
Conception et Réalisation d’un Système de Vote Electronique (Blondel Seumo)Gantner Technologies
 
Présentation PFE | Eolane | Amélioration de la productivité de l'atelier CMS
Présentation PFE | Eolane | Amélioration de la productivité de l'atelier CMSPrésentation PFE | Eolane | Amélioration de la productivité de l'atelier CMS
Présentation PFE | Eolane | Amélioration de la productivité de l'atelier CMSZouhair Boufakri
 
Modélisation métier (2004)
Modélisation métier (2004)Modélisation métier (2004)
Modélisation métier (2004)Pascal Roques
 
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...Gedeon AGOTSI
 

La actualidad más candente (20)

Soutenance de stage Ingénieur
Soutenance de stage IngénieurSoutenance de stage Ingénieur
Soutenance de stage Ingénieur
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011
 
Présentation mémoire de Fin d’Etudes
Présentation mémoire de Fin d’EtudesPrésentation mémoire de Fin d’Etudes
Présentation mémoire de Fin d’Etudes
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
 
Principes de L'intégration Continue
Principes de L'intégration ContinuePrincipes de L'intégration Continue
Principes de L'intégration Continue
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
Introduction à App Inventor
Introduction à App InventorIntroduction à App Inventor
Introduction à App Inventor
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec Odoo
 
Supervision et analyse de script batch
Supervision et analyse de script batchSupervision et analyse de script batch
Supervision et analyse de script batch
 
Geti 2101 activity_diagrams
Geti 2101 activity_diagramsGeti 2101 activity_diagrams
Geti 2101 activity_diagrams
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
Diagramme de Séquence
Diagramme de SéquenceDiagramme de Séquence
Diagramme de Séquence
 
Rapport stage : Mise en place d’un plan de maintenance
Rapport stage : Mise en place d’un plan de maintenanceRapport stage : Mise en place d’un plan de maintenance
Rapport stage : Mise en place d’un plan de maintenance
 
Presentation,PFE
Presentation,PFEPresentation,PFE
Presentation,PFE
 
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
 
Conception et Réalisation d’un Système de Vote Electronique (Blondel Seumo)
Conception et Réalisation d’un Système de Vote Electronique (Blondel Seumo)Conception et Réalisation d’un Système de Vote Electronique (Blondel Seumo)
Conception et Réalisation d’un Système de Vote Electronique (Blondel Seumo)
 
Présentation PFE | Eolane | Amélioration de la productivité de l'atelier CMS
Présentation PFE | Eolane | Amélioration de la productivité de l'atelier CMSPrésentation PFE | Eolane | Amélioration de la productivité de l'atelier CMS
Présentation PFE | Eolane | Amélioration de la productivité de l'atelier CMS
 
Modélisation métier (2004)
Modélisation métier (2004)Modélisation métier (2004)
Modélisation métier (2004)
 
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
 

Destacado

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...Etienne Juliot
 
SysML adoption in France
SysML adoption in FranceSysML adoption in France
SysML adoption in FrancePascal 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éesISIG
 
Embedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEmbedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEdward Willink
 
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...OCCIware
 
OCL Specification Status
OCL Specification StatusOCL Specification Status
OCL Specification StatusEdward Willink
 
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 ...RealTime-at-Work (RTaW)
 
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 Erradi Mohamed
 
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...Edward Willink
 
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...OCCIware
 
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 ProjectsJordi Cabot
 
01072013 e governance
01072013 e governance01072013 e governance
01072013 e governancebharati k
 
OCL Integration and Code Generation
OCL Integration and Code GenerationOCL Integration and Code Generation
OCL Integration and Code GenerationEdward Willink
 
Yet Another Three QVT Languages
Yet Another Three QVT LanguagesYet Another Three QVT Languages
Yet Another Three QVT LanguagesEdward Willink
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open sourceKorteby Farouk
 
Modeling the OCL Standard Library
Modeling the OCL Standard LibraryModeling the OCL Standard Library
Modeling the OCL Standard LibraryEdward Willink
 

Destacado (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
 

Similar a Prfc rhapsody simulation_1.0

Manual de instrucciones smartjumper (francés)
Manual  de instrucciones smartjumper (francés)Manual  de instrucciones smartjumper (francés)
Manual de instrucciones smartjumper (francés)SmartJumper
 
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.pdfAnesKebbab
 
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érienneSo Fab
 

Similar 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)
 

Más de Pascal Roques

SysCon 2013 SysML & Requirements
SysCon 2013 SysML & RequirementsSysCon 2013 SysML & Requirements
SysCon 2013 SysML & RequirementsPascal Roques
 
Seminaire Borland UML (2003)
Seminaire Borland UML (2003)Seminaire Borland UML (2003)
Seminaire Borland UML (2003)Pascal Roques
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)Pascal Roques
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)Pascal Roques
 
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-DrivenPascal Roques
 
Xp Day2009 Modelisation Agile
Xp Day2009 Modelisation AgileXp Day2009 Modelisation Agile
Xp Day2009 Modelisation AgilePascal Roques
 

Más de Pascal Roques (8)

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)
 
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