50
Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Embed Size (px)

Citation preview

Page 1: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Efficient Reasoning on Finite Satisfiability in UML Class Diagrams

Azzam Maraee Victor Makarenkov Mira Balaban

Page 2: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

2

Agenda

• Example

• Reasoning Problems

• Previous works

• Research Contribution

•Conclusions and Future Work

Page 3: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Reaction Chemical

CatalyzedReaction

Enzyme

ProteinDNA

substrate

1..* 1

catalyzed 2

1

DNASegment

Gene Genome

1

1

{disjoint, incomplete}

has

11..*

Motivation

=1/2*[Enzyme] [Chemical] [Reaction] [catalyzedReaction]

[Enzyme] [Protein]

[Protein] [Chemical]

½*[Protein] ½* [Chemical]

[Enzyme]=2* [catalyzedReaction]

2*[Chemical] [Chemical]

Page 4: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

4

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution– Finite Satisfiability Method:

• Class Hierarchy and Generalization Set Constraints

•Conclusions and Future Work

Page 5: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

5

Reasoning Problems (1): Inconsistency

disjoint

• Emptiness

Page 6: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

6

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

Advisor

PhDMaster

Advise

+ma

+advisor

2

1

Page 7: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

7

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 8: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Definitions

• A legal instance of a class diagram is an instance that satisfies all constraints.

• A class is consistent if it has a non empty extension in some legal instance.

• A class is finitely satisfiable if it has a non empty extension in some legal instance.

8

Page 9: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

9

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 10: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

10

Reasoning Needs (2)

• Current case tools do not support reasoning tasks.

• Need for powerful CASE tools

– with reasoning capabilities.

Page 11: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

11

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution– Finite Satisfiability Method.

• Class Hierarchy and Generalization Set Constraints

•Conclusions and Future Work

Page 12: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

12

Testing Finite Satisfiability

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

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

Page 13: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

13

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 14: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Example

14

Reaction

1

2

depend

rdrd 1,1

rdrd 2,2

Page 15: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Example

15

Reaction

1

2

depend

rdrd 1,1

rdrd 2,2

0,0 rd

rd rd 2

rr 2

Page 16: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

16

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 17: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

17

Advisor,Master_Student Advisor,PhD_Student

Advisor

Advisor,Master_Student,PhD

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

Page 18: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

18

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 19: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

19

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 20: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

20

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 21: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

21

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution– Finite Satisfiability Method

•Conclusions and Future Work

Page 22: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

FiniteSat Algorithm

22

• The FiniteSat Algorithm

• Input: A class diagram CD with binary multiplicity constraints, class hierarchy constraints, and GS constraints.

• Output: A linear inequality system ψCD

• Method:

1. For every class, association, or multiplicity constraint: create variables and inequalities according to the Lenzerini and Nobili

method.

2. For every class hierarchy constraint, B being the subclass with variable b and A being the super class with variable a,

extend the inequality system with the inequalities a ≥ b.

3. For every GS constraint GS(C, C1,...Cn; Const), C being the super-class, Cis being the subclasses, and Const being the GS

constraint, extend the inequality system, as follows:

1. Const = disjoint:

2. Const = complete:

3. Const = incomplete:

4. Cons t= overlapping: Without inequality

5. Const = disjoint, incomplete:

6. Const = disjoint, complete:

7. Const = overlapping, complete:

8. Const = overlapping, incomplete:

Page 23: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

The FiniteSat Algorithm

• Class hierarchy constrain

23

Page 24: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

GS Constraints -1

• For every GS constraint GS(C, C1,...Cn; Const):

24

Page 25: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

GS Constraints -2

• For every GS constraint GS(C, C1,...Cn; Const):

25

Page 26: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Example 1

26

Reaction Chemical

CatalyzedReaction

Enzyme

ProteinDNA

substrate

1..* 1

catalyzed 2

1

DNASegment

Gene Genome

1

1

{disjoint, incomplete}

has

11..*

Reaction Chemical

CatalyzedReaction

Enzyme

ProteinDNA

substrate

1..* 1

catalyzed 2

1

DNASegment

Gene Genome

1

1

{disjoint, incomplete}

has11..*

Reaction Chemical

CatalyzedReaction

Enzyme

ProteinDNA

substrate

1..* 1

catalyzed 2

1

DNASegment

Gene Genome

1

1

{disjoint, incomplete}

has

11..*

Page 27: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Example 1

27

Variable:Chemical: ch ,Reaction: r, CatalyzedReaction:c, DNA: d, Potien:p, DNASegment, dn. Genome, ge, Gene:g, Enzyme:eCatalyzed: ca , substrate: s, include: inInequalities:Class hierarchy constraints inequalities:ch>=d, c>=p, dn>=g, dn>=ge, p>=e, c>=rGs constraints inequalities:dn>g+geMultiplicity constraint inequalities:s>=ch, s=r, c<=r, ca=e, ca=2c, in>ge, in=dn

ch,r,c,d,p,dn,ge,e,ca,s,i>0

Reaction Chemical

CatalyzedReaction

Enzyme

ProteinDNA

substrate

1..* 1

catalyzed 2

1

DNASegment

Gene Genome

1

1

{disjoint, incomplete}

has11..*

Page 28: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Performance

28

Claim: A Class diagram CD is finitely satisfiabile iff the inequality system ψCD is solvable. Table 1 summarizes our results.

Page 29: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

29

Splitting the Problem : Hierarchy Structure

• Tree Structure.

Advisor

PhDMaster

Page 30: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

30

Splitting the Problem: Hierarchy Structure

• Tree Structure.• Acyclic Structure.

Municipal _Property

Street_Sign Police_Car

Car

Private_Car

Page 31: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

31

Splitting the Problem: Hierarchy Structure

• Tree Structure• Acyclic Structure• Graph Structure.

Page 32: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

32

Splitting the Problem

Tree

Acyclic

Graph

Hierarchy Structure GS Constraint

Without

With

Page 33: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

FiniteSat Extension to Qualifier

• Qualifier

– Imposes a partitioning on the set of related instances.– Tightens the multiplicity constraint of its association.– Can cause finite satisfiability problems.

A Bq1 :Tq1[tq1]

…qn:Tqn[tqn]

Rmin1..max1 min2..max2

Page 34: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

FiniteSat Extension to Qualifier - Example

• In every legal instance– Number of broadcast schedules, b, is 7*t, where t

is the number of TV-Networks. At the same time t=b. The only solution for:

• b=7t• b=t

Is empty or infinite!

TV-NetworkBroadcast Schedule

Day : Weekday

1 1

Enum WeekDay = {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}

WeekdaySchedule

NetworkSchedule1 1

Page 35: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

FiniteSat Extension to Qualifier – General case

• If a combined domain value is non-finite, ignore the qualifier constraint, and handle like regular association.

• Else, extend the inequality system with the following inequalities:– min1 x b <= r <= max1 x b

– min2 x a x tq1 x … x tqn <= r <= max2 x a x tq1 x … x tqn

Page 36: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

36

Exploring the Limits

• Infinity

A

B C D

disjoint

A

B C D

disjoint

E

R

1

1

Page 37: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

37

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 38: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

38

Page 39: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

39

Future Work • Extensions:

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

existing case tool,

Page 40: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

40

Page 41: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

Backup Slides

41

Page 42: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

42

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 43: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

43

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 44: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

44

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 45: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

45

Reduction Proof

I I’

CD’: finitely satisfiable CD: finitely satisfiable

CD CD’Lenzerini & Nobili

inequalities

Finite Satisfiabilty over Unconstrained Tree Hierarchy

Page 46: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

46

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 47: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

47

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 48: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

48

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 49: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

49

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 50: Efficient Reasoning on Finite Satisfiability in UML Class Diagrams Azzam Maraee Victor Makarenkov Mira Balaban

50

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