UCMExporter - PowerPoint PPT Presentation

About This Presentation
Title:

UCMExporter

Description:

Detailed features of the transformation process (customization, connectors for ... Output: test cases (.ttcn and .mlf) XSL sheet written by Bryan Mulvihill. ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 36
Provided by: siteUo8
Category:
Tags: mlf | ucmexporter

less

Transcript and Presenter's Notes

Title: UCMExporter


1
UCMExporter
  • Enabling UCM-based transformations

2
Summary
  • Background Information
  • The benefit of having UCMExporter
  • The problems and challenges
  • How UCMExporter works
  • Detailed features of the transformation process
    (customization, connectors for causality, naming
    the connectors, parallel synthesizing)
  • A demonstration

3
Motivation
  • Enabling the transformation of UCM requirements
    scenarios to design and testing scenario
    notations.
  • Tool Support

4
Previous Work
  • UCMNav
  • MSC direct (Andrew Miga, 2001)
  • Scenario in XML (Xiangyang He, 2002)
  • MSC via XML (S. Cui, D.Y. Cho, 2002-2003)
  • TTCN (Bryan Mulvihill, 2003)

5
Benefits of Using UCMExporter
  • Can use UCMNav for the requirements phase.
  • UCM communicate better the Use Cases to clients
    and engineers
  • Generate MSC and SD to do the design
  • Test
  • Automatic
  • Customizable

6
Technologies and Tools
  • Java (Eclipse) Implementation
  • XML with JDOM XML parsing and building
  • XSLT with XSLTC transforming XML documents
  • UCMNav 2 creating Use Case Maps
  • Rational Rose Viewing Sequence Diagrams
  • Unisys XMI Add-on importing/exporting XMI
    documents for Rational Rose
  • Tau 4.4 viewing MSCs
  • Xselerator creating and testing the XSL
    transformations

7
UCMExporter Black Box View
8
Problems and Challenges
  • A need for a detailed mapping between UCM
    concepts and MSC and SD.
  • XMI does not define the diagram layout.
  • No tool does an auto-layout of the XMI file.
  • No tool provides documentation on how it does its
    layout.
  • Allowing for customization (e.g. protocols).
  • Centralizing the logic for future changes.

9
A Sample UCMNavXML
  • Refers to XML file generated with UCMNav.
  • Describes one or more scenarios.
  • A scenario is a path in the UCM

10
UCM2TTCN
  • Input a UCMNavXML file
  • Output test cases (.ttcn and .mlf)
  • XSL sheet written by Bryan Mulvihill.

11
UCM2MSC Previous Work
  • There was a previous work to generate MSC from
    UCMNavXML using XSL only.
  • The mapping between UCM and MSC was defined.
  • However, the XSL sheet was complicated.
  • Work done by S. Cui

12
UCM2XMI First Approach
  • Input UCMNavXML
  • A Java class that will parse the input and
    generate the output.
  • First Step Generating pure XMI
  • Second Step Adding tool specific diagram
    information. (learning by example)

13
Expressing Parallelism with SD
  • Comments, colors, labels?
  • Comments need to be placed in specific locations
    (near the beginning and end).
  • Rose discards the location information.
  • Colors are discarded too.
  • Labels are used (p1.s1, p1.s1.p1.s1)

14
Parallelism Example for SD
15
The Need for an Intermediate Step
  • Both UCM2MSC and UCM2XMI became very complicated,
    and had many things in common.
  • Putting things in common to (current and future)
    transformations in one place (e.g. finding
    instances) will improve code quality.
  • Defect fixing, code maintenance evolution will
    become much easier.
  • Steps after the intermediate step should become
    straight forward (since all info should be ready)

16
XMLInputTransform
  • Package for the intermediate step. Hides
    complexity.
  • Responsible for preparing the information needed
    for the transformations (e.g. instances,
    messages)

17
UCMExporterXML Sample 1
18
Advantages of Intermediate Step
  • UCM2MSC became a fairly simple XSL sheet (as XSL
    is supposed to be used)
  • Same thing for the first step of UCM2XMI
  • The second step of UCM2XMI was not effected.
  • All future improvements will only effect the
    intermediate step

19
XMLInputTransform A Detailed Look
  • Makes instances and components readily available.
  • Connectors preserve causality.
  • Preserving causality with parallelism has
    separate rules.
  • All logic is localized better maintenance.

20
UCMExporterXMLInputTransformer
  • Triggers the transformation (intermediate) step.
  • Asks MessageSynthesizer to identify the messages
    and connectors.
  • Asks ParallelConnectorMessagesSynthesizer to find
    connectors related to parallel behavior.

21
MessageSynthesizer
  • Defines the mapping between UCM and messages and
    connectors.
  • Mapping is general to cover both MSC and SD.
    (e.g. is-task, timer-property)
  • Changes in the mapping only effect this class.

22
ParallelConnectorMessagesSynthesizer
  • Preserves causality in parallel behavior.
  • A more elaborate parsing of the UCMNavXML
    compared to MessageSynthesizer.
  • Needs to know what is before, inside, and after a
    parallel block.
  • Uses XSL to gather that information.
  • Uses Java to insert new connectors

23
Parallel Connector Rules E1
24
Parallel Connector Rules E2
25
Parallel Connector Rules E3
26
Parallel Connector Rules E4
27
UCMExporterXML Sample 2
  • Messages keep enough information for the
    transformations to make decisions.
  • Something that is used only by one transformation
    can be invisible to others. (thanks to XSL).

28
More Features in Intermediate Step
  • Architecture allows for improving intermediate
    step. Invisible to transformations.
  • By improving the intermediate step we improve the
    transformations (give them more correct
    information to work with)

29
Generating Descriptive Names
  • Connectors were called m1, m2
  • We want m1 to mean the same thing in separate
    MSC.
  • Simple approach did_X_do_Y
  • Users can customize.

30
Customizing Connector Messages
  • Can use a specific protocol for connectors.
  • Can specify own way of naming
  • Can specify protocol between specific instances.

31
Parallel Interleaving
  • User might choose to generate all possibilities
    (for a synthesizer)
  • Goal Generate one scenario for each possible
    parallel sequence interleaving.
  • Now doing the simplest possibility taking
    sequences in order they are given in UCMNavXML.

32
UCMExporter Sample Use
  • Generate UCMNavXML with UCMNav
  • Generate XMI, MSC, TTCN for the scenarios.
  • Customize the communication patterns with your
    own XSL.
  • Ask for parallel interleavings (now only the
    simplest form)
  • View SD with Rational Rose
  • View MSC with Tau 4.4

33
UCMExporter Big Picture
34
Demonstration
  • Input Model simpletelephone ScenarioTLnotActiveSu
    ccess
  • Output MSC, XMI
  • View results
  • Customization example
  • View results
  • Interleavings

35
Thank You
  • http//ucmexporter.sourceforge.net
Write a Comment
User Comments (0)
About PowerShow.com