rule-based detection of inconsistency in uml modelswl/papers/2002/uml02wl.slides.pdf · rule-based...

19
Rule-based Detection of Inconsistency in UML Models WenQian Liu University of Toronto October 1, 2002 http://www.cs.utoronto.ca/~wl/papers/index.html

Upload: dangtu

Post on 20-Mar-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Rule-based Detection of Inconsistency in UML Models

WenQian LiuUniversity of Toronto

October 1, 2002

http://www.cs.utoronto.ca/~wl/papers/index.html

10/02/2002 WenQian Liu, University of Toronto 2

Outline

l The Problem l inconsistency management in design

models

l The Solution l knowledge base solution: production

systems

l Discussion and Summary

10/02/2002 WenQian Liu, University of Toronto 3

The Problem

lMaintaining consistency in large evolving UML design models is hard.

l Change introduces inconsistency, i.e.l conflicting description of the systeml violation of predefined constraints

10/02/2002 WenQian Liu, University of Toronto 4

Motivation

lManual inconsistency management is tedious and error prone.

lMany existing solutions use preventive and batch approaches.

lWe need computer assistance that can l react to change,l work incrementally, andl provide non-interruptive but timely

feedback.

10/02/2002 WenQian Liu, University of Toronto 5

Example 1 Redundancy

Sequence diagram 1: Request a new meetingSequence diagram 1: Request a new meeting Sequence diagram 2: Request a specific meetingSequence diagram 2: Request a specific meeting

10/02/2002 WenQian Liu, University of Toronto 6

Example 2

Law of Demeter

class Borrower { ···Book[] p = getLibrarian().findBookByCallNumber().listCopies();

···}

Conformance to Common Design Practices

10/02/2002 WenQian Liu, University of Toronto 7

Classes of Design Inconsistency

Design Consistency

Redundancy Conformance Change

Design Related

Data Related

Constraints

Standards

Edit blocks

10/02/2002 WenQian Liu, University of Toronto 8

Outline

l The Probleml The Solution l knowledge base solution: production

systems

l Discussion and Summary

10/02/2002 WenQian Liu, University of Toronto 9

Production Systems (1)

l Knowledge base (contains facts)l Rule base (contains rules)l Production system constantly

applies rules to factsl Rules modify facts

10/02/2002 WenQian Liu, University of Toronto 10

Production Systems (2)l Facts

l definition of a fact(type attribute:a1 … attribute:an)

l examples(transaction type:”debit” amount:50 accountid:00641)(account id:00641 balance:395)

l Rulesl definition

IF condition THEN actionl examples

IF (transaction type:”debit” amount:x accountid:a)(account id:a balance:y∧{≥x})

THEN REMOVE 1MODIFY 2 (balance [y-x])

l Basic operation:1. recognize2. resolve conflict3. act

10/02/2002 WenQian Liu, University of Toronto 11

Production Systems (3)

l reactive, incremental, extensiblel suitable for open-ended tasks l good for justification and explanation

10/02/2002 WenQian Liu, University of Toronto 12

Inconsistency Identification and Resolution

Four types of production rules 1. Inconsistency

l identify violations of consistency properties

2. Resolutionl resolve inconsistency upon receiving user’s choice

3. Cleanupl remove invalid inconsistency messages

4. Dynamic controll modify rule behaviors on the fly

10/02/2002 WenQian Liu, University of Toronto 13

Inconsistency Rule – Example 2

IF IF (sequenceMessage id:m1 from:T1 to:T2 return:c pid:p)(sequenceObject name:c type:T3∧{≠T2} pid:p)(sequenceMessage id:m2 from:T1 to:T3 pid:p)

THEN THEN ADD (inconsistency id:[newId()]∧s ruleid:”sc-1”location:((sequenceMessage m1)

(sequenceMessage m2)(sequenceObject c))

msg:”Violation of the Law of Demeter.”)ADD (userchoice id:[newId()] pid:s action:remove

targetID:m1 targetType:sequenceMessage)ADD (userchoice id:[newId()] pid:s action:remove

targetID:m2 targetType:sequenceMessage)

10/02/2002 WenQian Liu, University of Toronto 14

Resolution Rule – Example 2

IFIF (inconsistency id:s)(userchoice pid:s action:remove targetID:m

targetType:sequenceMessage)(userinput pid:s action:remove targetID:m)(sequenceMessage id:m)

THENTHEN REMOVE 1REMOVE 2REMOVE 3REMOVE 4

10/02/2002 WenQian Liu, University of Toronto 15

RIDE System Boundary

Synchronizer

Rule Editor Rule Engine Abstraction Layer

User

User

Jess RuleEngine

UML ModelEditor Legend

Component

System

Dependency

Implementation

10/02/2002 WenQian Liu, University of Toronto 16

Outline

l The Probleml The Solution l Discussion and Summary

10/02/2002 WenQian Liu, University of Toronto 17

Discussion

l worst-case complexity O(W2C-1)where W = size of the WM, C = number of patterns in a rule

l declarative (e.g. xlinkit, design guidance)l procedural (e.g. Argo/UML)l classes of consistency

10/02/2002 WenQian Liu, University of Toronto 18

Summary

l Contributionsl inconsistency classification

l redundancy, conformance to constraints and standards, changel rule-based detection and resolution approach

l incremental inconsistency detection and monitoringl single or multi-step resolution

l integration with UML editors

l Future Workl classification scheme and standard solutionsl verification of semantics over extensions to UMLl analysis of inconsistency patterns over history of edits

http://www.cs.utoronto.ca/~wl/papers/index.html

Questions?