ucme xporter : support pour transformations de scénarios use case maps
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 PresentationTRANSCRIPT
![Page 1: UCME XPORTER : Support pour transformations de scénarios Use Case Maps](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/11.jpg)
11
Définitions de scénarios et traversées
![Page 12: UCME XPORTER : Support pour transformations de scénarios Use Case Maps](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/22.jpg)
22
![Page 23: UCME XPORTER : Support pour transformations de scénarios Use Case Maps](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/23.jpg)
23
Exemples de transformations
![Page 24: UCME XPORTER : Support pour transformations de scénarios Use Case Maps](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062521/56814483550346895db119aa/html5/thumbnails/27.jpg)
27
Disponibilités des outils UCMExporter
http://ucmexporter.sourceforge.net/
UCMNav 2.2http://www.usecasemaps.org/tools/ucmnav/
Merci!