Title: Automating the Synthesis of UML StateChart Diagrams from Multiple Collaboration Diagrams
1Automating the Synthesis of UML StateChart
Diagrams from Multiple Collaboration Diagrams
- Ismail Khriss, Mohammed Elkoutbi and Rudolf K.
Keller - UML Conference 1998
- 2002. 02.25
- Presented by Tegegne Marew
2Contents
- Introduction
- UML
- Description of the Approach
- Discussion of the Approach
- Conclusion and Future Work
3Introduction
- Currently, major aspects of oo development
- UML for oo notation and design
- UseCases for software development
- Central point of the paper
- Dynamic specification of objects from scenarios.
4UML
- Use Case Diagrams (UsecaseD)
- Interaction between system and actors
- Visualizing the context and the boundaries of the
system - Collaboration Diagrams (CollD)
- A particular series of interaction among objects
in a single execution of a use case - StateChart Diagram (StateD)
- Sequence of states an object goes through during
its life cycle
5Library System Example(1/4)
6Library System Example(2/4)
7Library System Example(3/3)
8Description of the Approach
- Requirement Acquisition
- Develop all scenarios for each use case
- At the end, we have
- A set of use cases UC uc1,uc2,
- A set of objects OB ob1,ob2,
- A set of scenarios for each use case
CD cd1,cd2,.
9Description of the Approach
- Generation of partial object specifications from
scenarios - Apply CTS (CollD to StateD) algorithm to each
member of CD - Create StateD for every class implied by the
objects in CollD - Introduces as state variables all variables which
are not attributes of the objects - creates transitions for the objects from which
messages are sent - creates transitions for the objects to which
messages are sent - bring for all StateDs the set of generated
transitions into correct sequences, connecting
them by states, split bars and merge bars.
10Description of the Approach
11Description of the Approach
12Description of the Approach
- Analysis of partial specifications
- Add state names (needed later)
- May add some structural information (e.g.
grouping states) -
13Description of the Approach
14Description of the Approach
15Description of the Approach
16Description of the Approach
- Object specification integration
- The most important part
- New algorithm
- validation of state names
- no state appears in the two StateDs at different
levels of hierarchy. - incorporation of scenario variables
- solves the problem of interleaving of scenarios
- integration of state variable lists
- integration of substate lists
- integration of transition lists.
-
17Description of the Approach
- Technique for avoiding interleaving problem
- Three composition variables
- ScenarioList a set of scenario names
- DynamicScenarioList initialized to ScenarioList,
it captures the possible remaining scenarios. - TransScenarioList array of set of scenario names
concerned with each transition - Each transition has variables
- sc(transScenarioListtr Ç dynamicScenarioList)
¹ f - sadynamicScenarioList dynamicScenarioList Ç
transScenarioListtr - ra dynamicScenarioList ScenarioList
18Description of the Approach
19Description of the Approach
20Discussion of the Approach-(1/2)
- Validation of Approach
- Both algorithms have been implemented using the
Java language - Successfully applied to library system, ATM
machine, filing system, and a gas station
simulator - State Name Based Integration
- Compared to other solutions, this is more general
21Discussion of the Approach-(2/2)
- Problem of interleaving between scenarios
- Solved by the introduction of composition
variables - Relevance of Approach in the development process
- Dynamic modeling is made easy
- Incremental modification helps to incorporate new
scenarios discovered later
22Conclusion and Future Work
- Generates system specification from scenarios
- Scenarios may be concurrent
- It solves interleaving problem
- In future, coherence and completeness
verification could be done