Title: Finding Reusable UML Sequence Diagrams Automatically
1Finding Reusable UML Sequence Diagrams
Automatically
By William N. Robinson and Han G. Woo From
IEEE Software (September/October
2004) Presented by Ruth Miller
2Reusing Code
- art - Artifact a piece to reuse, the function
must match - µ - determines the best match
- m Is your design in the library
- L m µ(art, L)
3Artifact
- Hard to find a function that matches correctly.
- Use Cases are very hard
- You need to compare the narratives
4Two ways to Reuse
- A. Concept Matching
- B. Relationship Matching
5Concept Matching
- Facet-based classification system
- Syntactic Similarity
- Focus on Event flows
- Semantics
6Relationship Matching
- Uses concepts and relationships
- Looks at the structure and calculates whole graph
similarity - a. Concepts vertices
- b. Relationships edges
7 Relationship Matching
- Several reusing tools for UML already out there,
but they require extra notes attached to the
diagrams to work. - This isnt the best for the user, it also limits
your matches. - Authors propose that matching with a library of
designs is best (Using Structural Relationships).
8Reuse by Structural Relationships
- Select an artifact library
- Reuser calculates scores for the library
- It calculates the score on a partial structure
and returns best matches - Adapt the artifact to your current program
context - (Can be used w/any UML tool that uses directed
graphs.)
9Example
10Text Strings of Objects
Prefixes- a. INS instance b.
MSG Messages c. CLS Class d.
ATR attributes e. MTH method f.
ASC Associations g. STR - Stereotypes
11Example
Fig a shows a Use Case Diagram w/goals Fig b
shows a sequence Diagram for the Use
Case Together forms an artifact fragment which
Can be used to query the library
12REUSER used Directed Graphs of UML Models
- UML metamodel associations become edges
(associations, links) - Other UML metamodel elements become vertices
(classes, objects, messages, stereotypes)
13Examples
- Vertices
- a. ATR
- b. MTH
- c. ASC
- d. STR
- Edges (metamodel relationships)
- Support the vertices.
14 A. Sequence Diagram B. Reuser graph format
15Subdue Algorithm
16Automated Matching
- 1 node label must match
- (Can use a label synonym list you provide.)
- Should have structure-limiting constraints
- Finds repetitive interesting substructures
- Replaces repeating structures
- w/pointers to make it quicker
17Summary
18QUESTIONS??