Efficient Reasoning on Finite Satisfiability in UML Class Diagrams
-
Upload
porter-christensen -
Category
Documents
-
view
23 -
download
0
description
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
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
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:
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.
30
Splitting the Problem: Hierarchy Structure
• Tree Structure.• Acyclic Structure.
Municipal _Property
Street_Sign Police_Car
Car
Private_Car
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
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
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,
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