finding reusable uml sequence diagrams automatically by: william n. robinson and han g. woo from:...

Post on 20-Jan-2018

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Artifact Hard to find a function that matches correctly. Use Cases are very hard You need to compare the narratives

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