Title: UCMEXPORTER: Support pour transformations de sc
1UCMEXPORTER Support pour transformations de
scénarios Use Case Maps
- Daniel Amyot, Ali Echihabi, et Yong He
- ÉITI, Université dOttawadamyot u2090356
yonghe_at_site.uottawa.ca - Projet RDA, CRSNG
2Aperç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
3Approche commune avec MSC
Hypothèse service et données situés dans le
commutateur mobile (MobSC)
4Autre alternative
MS
HLR
MobSC-CCF
HLR-LRFh
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!
5Scénario Use Case Map (UCM)
- Abstraction des entités (composantes) et de leurs
états - Abstraction des messages
- Concentration sur la logique/fonctionnalité du
service
6URN UCM GRL
- Notation dexigences 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Évaluation darchitectures chemins sur
composantes UCM
8Pourquoi 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 lOMG
- Platform-independent model ? Platform-specific
model
9UCM vers MSC
- Miga et al., 2001, 10th SDL Forum
- Supporté par loutil 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
10Exemple de modèle UCM
11Définitions de scénarios et traversées
12Définitions de scénarios
13Exemple de sortie (MSC, Z.120)
14Format intermédiaire XML
- Amyot et al., 2003, QSIC03
- 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
15Traversée et résultat en XML
16Approche proposée UCMEXPORTER
2. UCM File
2. UCM File
(
scen
.
defs
)
(
scen
.
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
Rose
Diagram
Diagram
XPORTER
1. UCMN
AV
7.
TTCN
-
3
10.
TTthree
17Aperçu des transformations
4.
UCMExporter
5. MSC
5. MSC
4.3. UCM2MSC
4.3. UCM2MSC
4.4. UCM2XMI
XMLInputTransform
XMLInputTransform
3. XML File
3. XML File
3. XML File
3. XML File
DiagramDataGenerator
DiagramDataGenerator
6.
UML SD
6.
UML SD
XMITransformer
(scenarios)
(scenarios)
(scenarios)
(scenarios)
(XMI)
(XMI)
4.1.
4.1.
4.4.1.
4.4.3.
4.4.3.
7
.
TTCN
-
3
7
.
TTCN
-
3
4.5. UCM2TTCN
4.5. UCM2TTCN
18XMI 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.
19Dé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)
20B et C doivent savoir quand A a terminé
Quelques activités à lextérieur de B
21Autres 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(No Transcript)
23Exemples de transformations
24Exemple dapplication
- 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 larticle
résolus par UCMExporter - Noms de message cohérents dun scénario à lautre
- Prise en compte des contraintes des outils de
Klocwork et de Telelogic permettant
lautomatisation de bout en bout.
25Travaux 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
dactivités UML (Gu et al., 2002)
26Conclusions 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 defforts
- 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
dactivités) et en sortie (diagrammes
dinteractions) - Génération de tests
27Disponibilités des outils
- UCMExporterhttp//ucmexporter.sourceforge.net/
- UCMNav 2.2http//www.usecasemaps.org/tools/ucmnav
/
Merci!