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

Post on 18-Mar-2016

28 views 0 download

Tags:

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

transcript

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

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

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)

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

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]

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

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)

11

Définitions de scénarios et traversées

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

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

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

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

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

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

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

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)

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

… …

… …

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

23

Exemples de transformations

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.

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)

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

27

Disponibilités des outils UCMExporter

http://ucmexporter.sourceforge.net/

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

Merci!