+ All Categories
Home > Documents > Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

Date post: 06-Jan-2016
Category:
Upload: meryl
View: 14 times
Download: 0 times
Share this document with a friend
Description:
Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams. Mira Balaban and Azzam Maraee. Motivation. What’s wrong with this ontology * ?. [Enzyme]  [Protein] . [Protein]  [Chemical].  [ Chemical]  [Reaction] . [Reaction] < [Enzyme]. - PowerPoint PPT Presentation
Popular Tags:
60
Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams Mira Balaban and Azzam Maraee
Transcript
Page 1: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

Mira Balaban and Azzam Maraee

Page 2: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

2

Motivation

[Enzyme] [Protein] [Protein] [Chemical] [Chemical] [Reaction]

[Reaction] < [Enzyme]

[Enzyme] < [Enzyme]What’s wrong with this ontology* ?

*Consistency Checking of Semantic Web OntologiesKenneth Baclawski, Mieczyslaw M. Kokar, Richard Waldinger, Paul A. Kogut

Page 3: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

3

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution

•Conclusions and Future Work

Page 4: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

4

UML

UML is now widely accepted as the standard modeling language for software construction.

UML 2.0 updates came from 54 companies.

Class diagrams are widely used

software and language.

specification, database.

ontology engineering

Page 5: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

5

Class Diagram: Cardinality Constraint and Class Hierarchy

• Class: Advisor and University

• Association: Employment– Cardinality Constraint

• Class Hierarchy

UniversityAdvisorEmployment

+employer+employee

1..* 1

Master PhD

rami : Advisorrami : Master BGU : Universityemployment

+employee +employer

Legal Instance:mari : Advisor

employment

+employee

+employer

Page 6: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

6

Class Diagram: Generalization Set Concept

UniversityAdvisorEmployment

+employer+employee

1..* 1

Master PhD

{disjoint, incomplete}{disjoint, complete}{overlapping,incomplete}{overlapping, complete}

rami : Master

jame : Advisor

BGU : Universityemployment

+employee +employer

mari : Master, PhD

jame : Master

Female

Male

Page 7: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

7

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution– Finite Satisfiability Method:

• Class Hierarchy and Generalization Set Constraints

•Conclusions and Future Work

Page 8: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

8

Reasoning Problems (1): Inconsistency

disjoint

• Emptiness

Page 9: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

9

Reasoning Problems (2): Infinity Problem (1)• Consider the pervious example:

Advisor

PhDMaster

Advise

+ma

+advisor

2

1

Page 10: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

10

Infinity Problem (2)john : Advisor

advise

+ma

+advise

advise

+ma

+advise

frank : Master jack : Master

advise

+advise

+ma

advise

+advice

+ma

rami : PhD sami : Master

advise

+ma

+advise

michael : Mastershreen : Master

advise

+advise

+ma

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

+ma

+advise

sharon : Mastermari : Master

+ma

+advise

: Master : Master

advise

+ma

+advsie

advise

+ma

+aadvise

Page 11: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

11

Relevance of Reasoning

• It is important to guarantee that models provide a reliable support for the designed systems.

– Implementability : A class diagram is implemented

into a running system.

– Project cost: Early detection of problems.

– Used with MDA: Precise and consistent enough to be used within MDA.

Page 12: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

12

Reasoning Needs (2)

• Current case tools do not support reasoning tasks.

• Need for powerful CASE tools

– with reasoning capabilities.

Page 13: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

13

Consistency notions (1)

• Berardi et al (2005), distinguish two cases: – Consistency of class diagram – has an instantiation

with at-least one non-empty class extension.

– Class consistency – there is an instantiation in which the class extension is non-empty.

rest of the diagram

ConsistentThe whole class diagram is consistent

Page 14: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

14

Consistency notions (2)

• All class consistency of a class diagram – every class is consistent.

• Full consistency of a class diagram – has an instance in which all class extensions are non-empty.

Page 15: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

15

Finite satisfiability notions• All class finite satisfiability of a class diagram – every

class there is a finite instance in which the class extension is non-empty (strong satisfiability, Lenzerini and Nobili, 1990).

• Finite satisfiability of a class diagram – it has a finite instance in which all class extensions are non-empty.

Lenzerini & Nobili 92Research Contribution

UML Class Diagram

Page 16: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

16

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution– Finite Satisfiability Method.

• Class Hierarchy and Generalization Set Constraints

•Conclusions and Future Work

Page 17: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

17

Testing Finite Satisfiability

• Lenzerini and Nobili (92):– ER diagrams without class hierarchy.

• Calvanese and Lenzerini (94):– Extend with class hierarchy.

Page 18: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

18

Lenzerini and Nobily (92).

Method:• Transform cardinality constraints into an

inequalities system.• Solve the system.

Result: The diagram is finitely satisfiable iff the inequalities system has a solution.

A BR

min1, max1min2, max2

r≥min1∙a , r≤max1∙a , r≥min2∙b , r≤max2∙b,a, b, r>0

Page 19: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

Example

19

Reaction

1

2

depend

rdrd 1,1

rdrd 2,2

Page 20: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

Example

20

Reaction

1

2

depend

rdrd 1,1

rdrd 2,2

0,0 rd

rd rd 2

rr 2

Page 21: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

21

Calvanese and Lenzerini (94) – Extension

with class hierarchies (1) • Calvanese and Lenzerini extend the method of Lenzerini

and Nobily (92) to apply to schemata with class hierarchy.

• The expansion is based on the assumption that class extensions may overlap. – Compound Class. – Compound relationship:

Page 22: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

22

Advisor,Master_Student Advisor,PhD_Student

Advisor

Advisor,Master_Student,PhD

Calvanese and Lenzerini (94) – Extension with class hierarchies (2)

Page 23: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

23

Calvanese and Lenzerini (94) – Extension with class hierarchies (3)

Advisor

Advisor, Master, Ph.D

Advisor, PhD

Advisor, Master

Advisor,Master , Ph.D

Advisor: Master

Page 24: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

24

Calvanese and Lenzerini (94) – Extension with class hierarchies (2)• For a class diagram with three classes and one

association: 12 variables and 26 inequalities

• An exponential number of variables.

Page 25: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

25

Hardness of Finite Satisfiability

• Berardi et al (2005) showed :

• Lutz et al (2005) showed:

( ) ( ) ( )Sat ALC Sat UML Sat DLR EXPTIME complete

( ) ( )Sat UML Sat ALCQI EXPTIME complete

( ) ( )FSat UML FSat ALCQI EXPTIME complete

( )FSat UML EXPTIME complete

completeEXPTIMEALCSat )(

Page 26: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

26

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution– Finite Satisfiability Method

•Conclusions and Future Work

Page 27: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

27

Splitting the Problem

• Presents of Constraints:– Without – With

• Hierarchy Structure:• Tree Structure.• Acyclic Structure.• Graph Structure.

Page 28: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

28

Splitting the Problem : Hierarchy Structure

• Tree Structure.

Advisor

PhDMaster

Page 29: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

29

Splitting the Problem: Hierarchy Structure

• Tree Structure.• Acyclic Structure.

Municipal _Property

Street_Sign Police_Car

Car

Private_Car

Page 30: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

30

Splitting the Problem: Hierarchy Structure

• Tree Structure• Acyclic Structure• Graph Structure.

Page 31: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

31

Splitting the Problem

Tree

Acyclic

Graph

Hierarchy Structure GS Constraint

Without

With

Page 32: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

32

Splitting the Problem

Tree

Acyclic

Graph

Hierarchy Structure GS Constraint

Without

WithLimited

Page 33: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

33

Finite Satisfiabilty over Unconstrained Tree

Hierarchy

• Input:

– Tree class hierarchy.– Unconstrained generalization sets.– Binary associations.

• Method:– A reduction to the algorithm of Lenzerini Nobili:

Page 34: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

34

Finite Satisfiabilty over Unconstrained Tree Hierarchy

sub0..1

sub0..1

supersuper 11

ISA1 ISA2

Class Diagram

without hierarchy

constraint

A class diagram

that includes binary

associations and

unconstrained tree

hierarchy

Create the Lenzerini

& Nobili inequalities

system and Solve.

Page 35: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

35

The Inequalities Systems

Advisor Ma_Student Ph.DStudent Advice ISA_1 ISA_2

d m p ad isa1 isa2

1

2-3 = ( and )

4

5-6 ( and )

7-8 ( 2 and )

9-10 ( and )

11-15 0, 0, 0,

1

1 1 1

2

2 2 2

isa m

isa d isa d isa d

isa p

isa d isa d isa d

ad 2d ad d d 2d

ad m ad m d m

d m p i

0, 01 2sa isa

m=2d

d≥m

d≥2d

Finite Satisfiabilty over Unconstrained Tree Hierarchy

Page 36: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

36

Claims• Claim [correctness]: A class diagram with

unconstrained tree hierarchy is finitely satisfiable iff there exists a solution to the inequalities system.

• Claim [Complexity]: Unconstrained Tree Hierarchy finite satisfiabilty method adds to the Lenzerini and Nobili method an O(n) time complexity, where n is the size of the class diagram (including associations, classes and class hierarchy constraints).

Finite Satisfiabilty over Unconstrained Tree Hierarchy

Page 37: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

37

Proof [Correctness Claim]

Class Diagram

without hierarchy

constraint

Create the Lenzerini

& Nobili inequalities

system and Solve.

A class diagram that includes binary associations and unconstrained treehierarchy

CD CD’

It is sufficient to show a reduction of the finite satisfiability problem for CD to finite satisfiability problemfor CD’ without generalization sets.

CD: finitely satisfiable CD’: finitely satisfiable

Finite Satisfiabilty over Unconstrained Tree Hierarchy

Page 38: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

38

Reduction Proof

I I’

CD’: finitely satisfiable CD: finitely satisfiable

CD CD’Lenzerini & Nobili

inequalities

Finite Satisfiabilty over Unconstrained Tree Hierarchy

Page 39: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

39

Extensions of Finite Satisfiabilty Method

• Applies properly also to the rest of the unconstrained structured:

– Acyclic Structure.

– Graph Structure.

Page 40: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

40

Splitting the Problem

Tree

Acyclic

Graph

Hierarchy Structure GS Constraint

Without

WithLimited

Page 41: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

41

Finite Satisfiabilty Method:

Constrained Tree Hierarchy

J ane : Ph.D_Student

adviise

+ma

+advisor

sharon : Master

advice

+ma

+advisor

rafi : Master

Empty

Constrained Tree Hierarchy

advisor

ma

Master_Student

{disjoint, complete}

Page 42: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

42

……………..

Const

0..10..1

11Const

…...

Class Diagram

without hierarchy

constraint.

1) Create the Lenzerini

and Nobili inequalities

system.

2) Expand the inequalities

and Solve.

A class diagram

that includes binary

associations and

constrained tree

structureOCL constraint: Const

Finite Satisfiabilty Method:

Constrained Tree Hierarchy

Page 43: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

43

Class Diagram

without hierarchy

constraint

1) Create the Lenzerini

and Nobili inequalities

system.

2) Expand the inequalities

and Solve.

A class diagram that includes

binaryassociations and constrained tree structure OCL constraint: Const

Single Constraints

Finite Satisfiabilty Method :

Constrained Tree Hierarchy

Page 44: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

44

• Claim [Correctness]: A class diagram with constrained tree structure is finitely satisfiable iff there exists a solution for the expanded inequalities system

• Claim [Complexity]: adds to the Lenzerini and Nobili method an O(n) time complexity, where n is the size of the class diagram (including associations, classes and class hierarchy constraints

Finite Satisfiabilty Method:

Constrained Tree Hierarchy

Page 45: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

45

Correctness Claim (Intuition)

A class diagram that includes binaryassociations and constrained tree structure

Class Diagram

without hierarchy

constraint.

Expanded inequality system

OCL constraint: Const

I I’

CD: finitely satisfiable CD’: finitely satisfiable

Page 46: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

46

Correctness Claim (Intuition)

A class diagram that includes binaryassociations and constrained tree structure

Class Diagram

without hierarchy

constraint.

Expanded inequality system

OCL constraint: Const

I’

CD’: finitely satisfiable

Solution

CD’: finitely satisfiable

Page 47: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

47

Class Diagram

without hierarchy

constraint

1) Create the Lenzerini

and Nobili inequalities

system.

2) Expand the inequalities

and Solve.

A class diagram

that includes binary

associations and

[T-C]-GSOCL constraint: Const

Finite Satisfiabilty Method: Constrained Tree Hierarchy

Page 48: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

48

No Exclusive Inequalities

Class Diagram

without hierarchy

constraint.

1) Create the Lenzerini

and Nobili inequalities

system.

2) Expand the inequalities

and Solve.

A class diagram that includes

binaryassociations and constrained tree structure OCL constraint: Const

Page 49: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

49

The Inequalities System

1

2-3 = ( and )

4

5-6 = ( and )

7-8 ( and )

9-10 ( and )

11-15 , 0, 0, 0,

1

1 1 1

2

2 2 2

1

isa ad

isa m isa m isa m

isa ad

isa p isa p isa p

d ad ad d d d

d m ad m d m

ad d m p isa

0, 0.

16 > +

2isa

ad m p

Advisor Ma_Student Ph.DStudent Advice ISA_1 ISA_2

ad m p d isa1 isa2

Page 50: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

50

Finite Satisfiabilty MethodStructure Extension

Tree

Acyclic

Graph

Hierarchy Structure GS Constraint

Without

WithLimited

Page 51: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

51

Finite Satisfiabilty Method Extension to Graph Structure.

• Succeeds in determining non-finite satisfiabilty.

• Succeeds in determining finite satisfiabilty:– overlapping and incomplete

• Fails in:– Complete, disjoint

Page 52: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

52

Exploring the Limits

• Infinity

A

B C D

disjoint

A

B C D

disjoint

E

R

1

1

Page 53: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

53

The Inequalities System

1, 2, 3

1, 2, 3

a b c d

a isa a isa a isa

b isa c isa d isa

4, 5

4, 5

e isa e isa

c isa d isa

There is a solution

e c d

Page 54: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

54

Page 55: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

55

E

Page 56: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

56

Page 57: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

57

Implementation

LKJH

GFE

D

CB

A

Thesis_Example

{disjoint, incomplete}

rn1+ 1

rn2+

2..3

R

q1+

1

q2+

1..5

Q

{overlapping, complete}

{disjoint,complete}

{overlapping, incomplete}

h1+

1

h2+

1

H

t1+1

t2+2..4

T

Page 58: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

58

Conclusion

• Introduced graph structure based methods.

• Have a complexity advantage over existing methods that require an exponential time in the worst case.

• Simplicity: Our methods are simple and sufficient for reducing the satisfiabilty problem.

Page 59: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

59

Future Work • Extensions:

– Graph structure with disjoint, complete.– N-ary.– Qualifier.– Association class.– Aggregation.– Identification and Fixing (Sven Hartman, 2001)– integrate the implementation as add-in in existing case tool,

Page 60: Efficient Methods for Solving Finite Satisfiability Problems in UML Class Diagrams

60


Recommended