+ All Categories
Home > Documents > UCME XPORTER : Support pour transformations de scénarios Use Case Maps

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

Date post: 18-Mar-2016
Category:
Upload: lewis
View: 28 times
Download: 0 times
Share this document with a friend
Description:
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 - PowerPoint PPT Presentation
Popular Tags:
27
UCMEXPORTER: 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
Transcript
Page 1: UCME XPORTER : Support pour transformations de scénarios Use Case Maps

UCMEXPORTER: 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.caProjet RDA, CRSNG

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

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éfisExemple

Outil: UCMExporter Conclusions

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

3

Approche commune avec MSC

OrigMS MobSC-CCF HLR

GetAuthInfo

ChkAuth

StartCom

FindLoc

ChkLoc

Continue

OK

Hypothèse: service et données situés dans le commutateur mobile (MobSC)

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

4

HLR

Autre alternative…OrigMS SCP-SDF

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

SCP-SCF MobSC-CCF HLR-LRFhMobSCOrig

GetAuthInfo

StartCom

FindLoc

ChkAuth

VrfAuth

Authorized

ChkLoc

Continue

OK

StartCom

AnswerChallenge

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

5

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

StartCom ContinueGetAuthInfo ChkAuth ChkLoc[OK]

RejectLogReject [NotOK]

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

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

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

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

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

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

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

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étrableSupport du parallélisme incomplet

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

10

Exemple de modèle UCM

a) Root UCM.

Start Point

End Point Components

a) Root

Start Point

End Point Components

Start Point

End Point Components

ResponsibilityStub

b)

ResponsibilityStub

b) Originating UCM: Plug-in for Sorig in Root

ResponsibilityStub

OR-forkAND-fork

c) c) Terminating UCM: plug-in for Sterm in Root

OR-forkAND-fork

Guard

Timer

Timeout Path

OR-join

Guard

Timer

Timeout Path

OR-join

Guard

Timer

Timeout Path

OR-join

d) TeenLine UCM: plug-in for Sscreen in Originating:d)

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

11

Définitions de scénarios et traversées

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

12

Définitions de scénariosVariables Start

Points

Num

ber

Scen

ario

N

ame

Busy

OnO

CSL

ist

PIN

valid

TLac

tive

getP

IN_

timeo

ut

subC

ND

subO

CS

subT

L

req

PIN

-en

tere

d

01 BCbusy T - - - - F F F X 02 BCsuccess F - - - - F F F X 03 OCSbusy T F - - - F T F X 04 OCSdenied F T - - - F T F X 05 OCSsuccess F F - - - F T F X 06 CNDdisplay F - - - - T F F X 07 OCS_CNDdisplay F F - - - T T F X 08 TL_CNDActiveBusy T - T T F T F T X X 09 TL_CNDActiveDisplay F - T T F T F T X X 10 TL_CNDnotActiveBusy T - - F - T F T X 11 TL_CNDPINInvalid - - F T F T F T X X 12 TL_CNDTimeOut - - - T T T F T X 13 TL_CNDnotActiveDisplay F - - F - T F T X 14 TLnotActiveSuccess F - - F - F F T X 15 TLActiveSuccess F - T T F F F T X X

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

13

Exemple de sortie (MSC, Z.120)

User_TermAgent_TermAgent_OrigUser_Orig

scenario: BCsuccess

TASK 'fwd_sig';

TASK 'ringingTreatment';

TASK 'ringTreatment';

TASK 'snd_req';

1

1

1par

notBusy

MSC BCsuccess

ringing

m2

ring

m1

req

mscdocument BCsuccess;msc BCsuccess;User[Orig]: instance;Agent[Orig]: instance;Agent[Term]: instance;User[Term]: instance;text 'scenario: BCsuccess';User[Orig]: out req,1 to Agent[Orig];Agent[Orig]: in req,1 from User[Orig];

action 'snd_req';out m1,2 to Agent[Term];

Agent[Term]: in m1,2 from Agent[Orig];condition [notBusy];

all: par begin;Agent[Term]: action 'ringTreatment';

out ring,3 to User[Term];User[Term]: in ring,3 from Agent[Term];par;Agent[Term]: action 'ringingTreatment';

out m2,4 to Agent[Orig];Agent[Orig]: in m2,4 from Agent[Term];

action 'fwd_sig';out ringing,5 to User[Orig];

User[Orig]: in ringing,5 from Agent[Orig];par end;Agent[Term]: endinstance;Agent[Orig]: endinstance;User[Orig]: endinstance;User[Term]: endinstance;endmsc

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

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

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

15

EGSA

RD EF

P1

SA

RB

RD

RC

REJ1

EF

P1

<?xml version='1.0' standalone='no'?><!DOCTYPE scenarios SYSTEM "scenarios1.dtd"><scenarios date =“Sun Mar 23 21:44:46 2003" ucm-file = ".ucm"

design-name = "" ucm-design-version = "2"><group name = "MyGroup" group-id = "1" >

<scenario name = "QSICfigure4c" scenario-definition-id = "1" ><seq>

<do hyperedge-id="0" name="A" type="Start" /><par>

<seq><do hyperedge-id="16" name="B" type="Resp" /><do hyperedge-id="25" name="E" type="Resp" />

</seq><seq>

<do hyperedge-id="19" name="C" type="Resp" /></seq>

</par><par>

<seq><do hyperedge-id="22" name="D" type="Resp" /><do hyperedge-id="15" name="F" type="End_Point" />

</seq><seq>

<do hyperedge-id="2" name="G" type="End_Point" /></seq>

</par></seq>

</scenario></group>

</scenarios>

x

xxA

x FB

G

DE

C

x

xxA

x FB

G

DE

C

EG

Traversée et résultat en XML

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

16

Approche proposée: UCMEXPORTER

7. TTCN-3

8. TelelogicTAU

1. UCMNAV

2. UCM File (+ scen. defs)2. UCM File (+ scen. defs)

3. XML File (scenarios)

3. XML File (scenarios)

3. XML File (scenarios)

3. XML File (scenarios)

4. UCMEXPORTER

10. TTthree

9. RationalRose

5. MSC5. MSC

6. SequenceDiagram

6. SequenceDiagram

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

17

7. TTCN-37. TTCN-3

3. XML File (scenarios)

3. XML File (scenarios)

3. XML File (scenarios)

3. XML File (scenarios)

4. UCMExporter 5. MSC5. MSC

6. UML SD(XMI)

6. UML SD(XMI)

4.1.

XM

LInp

utTr

ansf

orm

4.1.

XM

LInp

utTr

ansf

orm

4.3. UCM2MSC4.3. UCM2MSC

4.5. UCM2TTCN4.5. UCM2TTCN

4.4. UCM2XMI

4.4.

1. X

MIT

rans

form

er

4.4.

3. D

iagr

amD

ataG

ener

ator

4.4.

3. D

iagr

amD

ataG

ener

ator

4.4.

2. X

MI S

D w

/o L

ayou

t Inf

o

4.2.

UC

MEx

porte

r XM

L

Aperçu des transformations

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

18

UCMNavXMLXML file generated by

UCMNav that describes the scenarios

XMI Input Transform

UCMExporterXMLInputTransformerIdentify the components and the instances participating

in each scenario

MessageSynthesizerLogic for generating messages and connectors.

Discards parallel-related messages.

ParallelConnectorMessagesSynthesizerLogic for generating connectors due to parallel behavior

of the scenario.

ConnectorMessagesContextNameGeneratorReplace generic names of synthesized connector

messages by context descriptive ones

MessagesCustomizerApply any user requested customization such as a

specific communication pattern

ParallelInterleavingsSynthesizerGenerate all possible sequence interleavings if

requested. Could feed a model synthesizer.

UCMExporterXMLXML file containing all

information need for the transformations

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

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)

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

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

… …

… …

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

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)

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

22

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

23

Exemples de transformations

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

24

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.

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

25

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)

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

26

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

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

27

Disponibilités des outils UCMExporter

http://ucmexporter.sourceforge.net/

UCMNav 2.2http://www.usecasemaps.org/tools/ucmnav/

Merci!


Recommended