finding reusable uml sequence diagrams automatically by: william n. robinson and han g. woo from:...
Post on 20-Jan-2018
218 Views
Preview:
DESCRIPTION
TRANSCRIPT
Finding Reusable UML Sequence Diagrams Automatically
By: William N. Robinson andHan G. Woo
From: IEEE Software (September/October 2004)
Presented by: Ruth Miller
Reusing 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)
Artifact
Hard to find a function that matches correctly.
Use Cases are very hard
You need to compare the narratives
Two ways to Reuse
A. Concept Matching
B. Relationship Matching
Concept Matching
Facet-based classification system
Syntactic Similarity
Focus on Event flows
Semantics
Relationship Matching
Uses concepts and relationships
Looks at the structure and calculates whole graph similarity
a. Concepts – vertices
b. Relationships – edges
Several reusing tools for UML already out
there, but they require extra notes attached to the diagrams to work.
This isn’t the best for the user, it also limits your matches.
Authors propose that matching with a library of designs is best (Using Structural Relationships).
Relationship Matching
Reuse by Structural Relationships
1) Select an artifact library2) Reuser calculates scores for the library3) It calculates the score on a partial structure
and returns best matches4) Adapt the artifact to your current program
context(Can be used w/any UML tool that uses
directed graphs.)
Example
Text 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
Example
Fig a: shows a Use Case Diagram w/goalsFig b: shows a sequence Diagram for the Use Case
Together forms an artifact fragment which Can be used to query the library
REUSER used Directed Graphs of UML Models
UML metamodel associations become edges (associations, links)
Other UML metamodel elements become vertices (classes, objects, messages, stereotypes)
Examples
Vertices:a. ATR
b. MTHc. ASC d. STR
Edges (metamodel relationships): Support the vertices.
A. Sequence Diagram B. Reuser graph format
Subdue Algorithm
Automated 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
Summary
Analysis of Tool
QUESTIONS??
top related