1 / 27

UCME XPORTER : Support pour transformations de scénarios Use Case Maps

UCME XPORTER : Support pour transformations de scénarios Use Case Maps. Daniel Amyot, Ali Echihabi, et Yong He ÉITI, Université d’Ottawa {damyot | u2090356 | yonghe}@site.uottawa.ca Projet RDA, CRSNG. Aperçu de la présentation. Ingénierie des exigences avec scénarios

lewis
Download Presentation

UCME XPORTER : Support pour transformations de scénarios Use Case Maps

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UCMEXPORTER:Support pourtransformations de scénarios Use Case Maps Daniel Amyot, Ali Echihabi, et Yong He ÉITI, Université d’Ottawa{damyot | u2090356 | yonghe}@site.uottawa.ca Projet RDA, CRSNG

  2. Aperçu de la présentation • Ingénierie des exigences avec scénarios • Notation Use Case Maps (UCM) • Transformations de scénarios • Potentiel et défis • Exemple • Outil: UCMExporter • Conclusions

  3. MobSC-CCF HLR MS Orig StartCom GetAuthInfo ChkAuth OK FindLoc ChkLoc Continue Approche commune avec MSC Hypothèse: service et données situés dans le commutateur mobile (MobSC)

  4. MobSC SCP-SDF SCP-SCF Orig StartCom StartCom GetAuthInfo VrfAuth ChkAuth Authorized OK FindLoc Challenge Answer ChkLoc Continue Autre alternative… MS MobSC-CCF HLR-LRFh HLR Orig - Différente répartition de la logique du service et de ses données - Différents protocoles et échanges de messages - Plusieurs autres détails peuvent être pris en compte… et nous distraire!

  5. LogReject [NotOK] Reject GetAuthInfo ChkAuth [OK] ChkLoc StartCom Continue Scénario Use Case Map (UCM) • Abstraction des entités (composantes) et de leurs états • Abstraction des messages • Concentration sur la logique/fonctionnalité du service

  6. URN = UCM + GRL • Notation d’exigences utilisateurs • User Requirements Notation (URN) • UIT-T Z.150 (février 2003) • URN = scénarios (UCM) + buts/exigences non-fonctionnelles (GRL) • Opérateurs UCM • Responsabilités et composantes • Séquence, alternative, concurrence, décomposition • Définitions de scénarios

  7. (a) Service dans le MobSC (b) Service dans MobSC, données dans SN (c) Service et données dans SCP Évaluation d’architectures: chemins sur composantes UCM

  8. Pourquoi transformer les (scénarios) UCM? • Différentes notations adressent mieux différentes étapes du cycle de développement. • Transformer une représentation en une autre permet de franchir, de façon retraçable et automatisable, le fossé séparant certaines phases. • Les scénarios MSC (ou leur équivalent) ont toujours leur place dans la conception plus détaillée. • Vision MDA de l’OMG • Platform-independent model Platform-specific model

  9. UCM vers MSC • Miga et al., 2001, 10th SDL Forum • Supporté par l’outil UCMNav • Transformation directe • Génération du MSC lors de la traversée du modèle • Messages synthétiques: m0, m1, m2, … • Inflexible, non-paramétrable • Support du parallélisme incomplet

  10. AND AND - - fork fork Start Point Start Point Start Point OR OR - - fork fork End Point End Point End Point Components Components Components a) UCM. a) Root Root c) c) Terminating UCM: plug-in for Sterm in Root Timer Timer Timer Guard Guard Guard Timeout Path Timeout Path Timeout Path OR - join Stub Stub Stub Responsibility Responsibility Responsibility OR OR - - join join b) b) Originating UCM: Plug-in for Sorig in Root d) d) TeenLine UCM: plug-in for Sscreen in Originating: Exemple de modèle UCM

  11. Définitions de scénarios et traversées

  12. Définitions de scénarios

  13. Exemple de sortie (MSC, Z.120)

  14. Format intermédiaire XML • Amyot et al., 2003, QSIC’03 • Découplage • de la traversée • Résulte en un scénario XML (fichier) • et de la génération du langage cible • Conversion vers MSC en utilisant XSLT • Bonne amélioration, mais: • Beaucoup de travail à répéter pour supporter un nouveau langage cible (UML) • Conversion difficile à adapter pour des outils/détails particuliers • Parallélisme difficile à gérer uniquement avec XSLT

  15. Traversée et résultat en XML

  16. Approche proposée: UCMEXPORTER 2. UCM File 2. UCM File (+ (+ scen scen . . defs defs ) ) 8. Telelogic 5. MSC 5. MSC TAU 3. XML File 3. XML File 3. XML File 3. XML File 4. UCM 6. Sequence 6. Sequence 9. Rational (scenarios) (scenarios) (scenarios) (scenarios) E Diagram Diagram Rose XPORTER 1. UCMN AV 7. TTCN - 3 10. TTthree

  17. XMI SD w/o Layout Info 4.2. UCMExporter XML 4.4.2. Aperçu des transformations 4. UCMExporter 4.3. UCM2MSC 4.3. UCM2MSC 5. MSC 5. MSC 4.4. UCM2XMI XMLInputTransform XMLInputTransform 3. XML File 3. XML File 3. XML File 3. XML File DiagramDataGenerator DiagramDataGenerator 6. 6. UML SD UML SD XMITransformer (scenarios) (scenarios) (scenarios) (scenarios) (XMI) (XMI) 4.1. 4.1. 4.4.1. 4.4.3. 4.4.3. 4.5. UCM2TTCN 4.5. UCM2TTCN 7 7 . . TTCN TTCN - - 3 3

  18. XMI Input Transform UCMExporterXMLInputTransformer Identify the components and the instances participating in each scenario MessageSynthesizer Logic for generating messages and connectors. Discards parallel-related messages. ParallelConnectorMessagesSynthesizer Logic for generating connectors due to parallel behavior of the scenario. UCMNavXML XML file generated by UCMNav that describes the scenarios UCMExporterXML XML file containing all information need for the transformations ConnectorMessagesContextNameGenerator Replace generic names of synthesized connector messages by context descriptive ones MessagesCustomizer Apply any user requested customization such as a specific communication pattern ParallelInterleavingsSynthesizer Generate all possible sequence interleavings if requested. Could feed a model synthesizer.

  19. Défis adressés par UCMEXPORTER • Synthèse de messages • Préserve les relation causales de scénarios impliquant plusieurs composantes • Produit des message cohérents pour des scénarios empruntant les mêmes chemins • Support de la personnalisation • Permet de renommer et de raffiner (paramètres, échanges complexes) les messages synthétiques • Exprime le parallélisme • Pour représenter les UCM avec chemins parallèles • Voir page suivante • Tient compte des limites des langages cibles (UML 1.x) • Disposition des éléments du diagramme • On ne peut pas toujours se fier aux outils existants! • Support pour diagrammes de séquence UML avec Rational Rose (XMI)

  20. … … … … … B et C doivent savoir quand A a terminé Quelques activités à l’extérieur de B

  21. Autres caractéristiques • Les règles de transformation sont maintenues indépendemment (fichiers .xsl) • Les utilisateurs peuvent tailler les transformation sur mesure, via des fichiers .xsl supplémentaires • De nouveaux langages cibles peuvent être ajoutés (par exemple, TTCN-3) • Outil multi-plateforme (Java/XSLT)

  22. Exemples de transformations

  23. Exemple d’application • Synthèse de spécifications SDL à partir de scénarios Use Case Maps • He et al., 2003, 11th SDL Forum • UCMs  MSCs  SDL • UCMNav + Klocwork MSC2SDL + Telelogic Tau 4.4 • Prototypage rapide permettant la simulation • Plusieurs problèmes identifiés dans l’article résolus par UCMExporter • Noms de message cohérents d’un scénario à l’autre • Prise en compte des contraintes des outils de Klocwork et de Telelogic permettant l’automatisation de bout en bout.

  24. Travaux reliés • Génération de modèles de performance LQN à partir de UCM (Petriu et al., 2003) • Génération de spécifications LOTOS à partir de UCM (Guan 2002) • Génération de LQN à partir de diagrammes d’activités UML (Gu et al., 2002)

  25. Conclusions et perspectives • UCMExporter offre une plateforme flexible permettant de transformer des scénarios extraits de modèles UCM. • Supporte des transformations vers les MSC (Z.120) et diagrammes de séquence UML (XMI). • Évite la duplication d’efforts • Exigences abstraites vers modèles détaillés • Supporte partiellement des squelettes de tests TTCN-3 • Futur : • Support de UML 2.0 en entrée (diagrammes d’activités) et en sortie (diagrammes d’interactions) • Génération de tests

  26. Disponibilités des outils • UCMExporterhttp://ucmexporter.sourceforge.net/ • UCMNav 2.2http://www.usecasemaps.org/tools/ucmnav/ Merci!

More Related