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

Upload: porter-christensen

Post on 31-Dec-2015

23 views

Category:

Documents


0 download

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

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