Efficient Reasoning on Finite Satisfiability in UML Class Diagrams

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

description

Efficient Reasoning on Finite Satisfiability in UML Class Diagrams. Azzam Maraee Victor Makarenkov Mira Balaban. Agenda. Example Reasoning Problems Previous works Research Contribution. Conclusions and Future Work. Motivation. [Protein]  [Chemical]. - PowerPoint PPT Presentation

Transcript of Efficient Reasoning on Finite Satisfiability in UML Class Diagrams

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

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]

4

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution– Finite Satisfiability Method:

• Class Hierarchy and Generalization Set Constraints

•Conclusions and Future Work

5

Reasoning Problems (1): Inconsistency

disjoint

• Emptiness

6

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

Advisor

PhDMaster

Advise

+ma

+advisor

2

1

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

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

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.

10

Reasoning Needs (2)

• Current case tools do not support reasoning tasks.

• Need for powerful CASE tools

– with reasoning capabilities.

11

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution– Finite Satisfiability Method.

• Class Hierarchy and Generalization Set Constraints

•Conclusions and Future Work

12

Testing Finite Satisfiability

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

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

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

Example

14

Reaction

1

2

depend

rdrd 1,1

rdrd 2,2

Example

15

Reaction

1

2

depend

rdrd 1,1

rdrd 2,2

0,0 rd

rd rd 2

rr 2

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:

17

Advisor,Master_Student Advisor,PhD_Student

Advisor

Advisor,Master_Student,PhD

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

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

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.

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 )(

21

Agenda

• Background

• Reasoning Problems

• Previous works

• Research Contribution– Finite Satisfiability Method

•Conclusions and Future Work

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:

The FiniteSat Algorithm

• Class hierarchy constrain

23

GS Constraints -1

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

24

GS Constraints -2

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

25

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..*

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..*

Performance

28

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

29

Splitting the Problem : Hierarchy Structure

• Tree Structure.

Advisor

PhDMaster

30

Splitting the Problem: Hierarchy Structure

• Tree Structure.• Acyclic Structure.

Municipal _Property

Street_Sign Police_Car

Car

Private_Car

31

Splitting the Problem: Hierarchy Structure

• Tree Structure• Acyclic Structure• Graph Structure.

32

Splitting the Problem

Tree

Acyclic

Graph

Hierarchy Structure GS Constraint

Without

With

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

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

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

36

Exploring the Limits

• Infinity

A

B C D

disjoint

A

B C D

disjoint

E

R

1

1

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

38

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,

40

Backup Slides

41

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.

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

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

45

Reduction Proof

I I’

CD’: finitely satisfiable CD: finitely satisfiable

CD CD’Lenzerini & Nobili

inequalities

Finite Satisfiabilty over Unconstrained Tree Hierarchy

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

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.

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

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

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