inconsistency management in model- driven...

47
Inconsistency Management in Model- Driven Engineering An Approach using Description Logics Ragnhild Van Der Straeten Advisors: Prof. Dr. Viviane Jonckers and Prof. Dr. Tom Mens

Upload: others

Post on 16-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Inconsistency Management in Model-

Driven Engineering

An Approach using Description Logics

Ragnhild Van Der Straeten

Advisors: Prof. Dr. Viviane Jonckers andProf. Dr. Tom Mens

Page 2: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

2

Model-Driven EngineeringPrimary assets are modelsModel transformation is the heart and soul of MDE

Model

submodel

submodel

submodel

customer management

transaction management

account management

submodel’submodel’

submodel’submodel’

refine, evolve

Page 3: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

3

The UML in MDE• The Unified Modeling Language

• has become the de facto modelling language

• captures knowledge at different abstraction levels

• covers “any” system

• evolved into UML 2.0

• different diagram types:

• class diagrams, composite structure diagram, component diagram, deployment diagram, object diagram, package diagram, activity diagram, use case diagram, state machine diagram, interaction overview diagram, sequence diagram, communication diagram, timing diagram.

• abstract syntax expressed by class diagrams.

Page 4: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

4

INCONSIS

TENCY!!

Page 5: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

5

Problem Statement

• Inconsistencies can arise due to:

• coexistence of different diagrams that overlap,

• different overlapping submodels,

• refinement of models,

• evolution of models.

• Poor support for inconsistency management in state-of-the-art UML CASE tools.

• UML is huge and lacks semantics.

Page 6: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

6

Inconsistency Management

DetectionDiagnosisHandlingTracking

Management Policy

Definition checking for inconsistencies in software models - logic-based approach - model checking - specialised automated analysis - human-based exploration

identification of source, cause and impact of an inconsistency

identification of possible actions, selection of action(s), execution of actions

Page 7: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

7

Approach

• present a set of well-defined inconsistencies

• provide a lightweight formalisation of the UML

• investigate Description Logics (DLs) as a formalism for the definition, detection and handling of inconsistencies

• syntax and semantics representation of the modelling language,

• precise definitions of inconsistencies and inconsistency detection,

• precise definitions of inconsistency resolutions and interactive inconsistency resolutions.

Page 8: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

8

Outline

• Classification of Inconsistencies

• Description Logics

• From UML to DLs

• Inconsistency Detection

• Inconsistency Resolution

• Model Refactoring

• Contributions and Future Work

Page 9: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

9

Classification

Behavioural Structural

Specification invocation interactionobservation interaction

dangling type referenceinherited cyclic composition

connector specification missing

Specification-Instance

specification incompatibilityspecification behaviour

incompatibilityinvocation behaviour

observation behaviour

instance specification missing

Instanceinvocation inheritance

observation inheritance instance behaviour

incompatibility

disconnected model

[VMSJ03], [SVJM04], [MVS04]

Page 10: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Behavioural Instance InconsistenciesInvocation Inheritance Inconsistency

Invocation inheritance consistency means that each sequence of calls invocable on the superclass can also be invoked on the subclass

[EE95]

10

Page 11: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using
Page 12: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

12

Page 13: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using
Page 14: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

14

Outline

• Classification of Inconsistencies

• Description Logics

• From UML to DLs

• Inconsistency Detection

• Inconsistency Resolution

• Model Refactoring

• Contributions and Future Work

Page 15: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Why DL-based Approach?

• Logic-based approaches

• general inconsistency rules

• deduction

• declarative semantics

• Description Logic-based approach

• knowledge representation system

• decidable

• active research community

15

Page 16: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

???Description Logics???

16

A PERSON is a HUMAN and HAS A GENDER that is FEMALE or MALEFEMALE and MALE are disjointA WOMAN is a PERSON and HAS GENDER FEMALE

Only PARENTs can HAVE CHILDREN that are PERSONsA TEENAGE-MOTHER is defined as MOTHER with max. age 20

Eve is a motherEve has a child BettyEve has a child CharlesCharles has a sibling BettyCharles has at most one sibling

Page 17: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

???Description Logics???

17

PERSON ⊑ HUMAN ⊓ ∃has-gender.(FEMALE ⊔ MALE)FEMALE ⊑ ¬MALEWOMAN ⊑ PERSON ⊓ ∃has-gender.FEMALE

TOP ⊑ ∀has-child.PERSON∃has-child.TOP ⊑ PARENTTEENAGE-MOTHER ≡ MOTHER ⊓ (max has-age 20)

Eve: MOTHER(Eve, Betty): has-child(Eve, Charles): has-child(Charles, Betty): has-siblingCharles: (at-most 1 has-sibling)

TBox

ABox

Page 18: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

18

Tbox Standard Inferences

Contradictions in family Tbox?

concept subsumption

Contradiction in a “woman” concept?

Tbox coherence

concept satisfiability

Is a Person a Human?

classification of a Tbox

Page 19: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Abox Standard Inferences

19

Abox consistency

direct types of an individual

set of fillers of a role for an individual

set of roles between two individuals

Contradictions in family Abox w.r.t. family Tbox?

instance checkingIs Eve a man?

Direct type of Charles?

Get all siblings of Betty?

Relations between Charles and Alice?

All mothers in family Abox?

retrieval

Page 20: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

20

Description Logic Systems

System Language CD Abox Query Language

Maintained?

CLASSIC ALNFh-1 no yes min no

Loom ALCQRIFO yes yes yes no

FaCt SHIQ no no no yes

Racerversion 1.7

SHIQ(D-) yes yes min yes

Page 21: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Outline

21

• Classification of Inconsistencies

• Description Logics

• From UML to DLs

• Inconsistency Detection

• Inconsistency Resolution

• Model Refactoring

• Contributions and Future Work

Page 22: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

[VMSJ03], [VSM03],[VJM04], [Van04],

[VMJ05]

22

??

?? ??

[Ber02], [CCDL01]

Page 23: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

• receiving SD trace of an instance o of a class c is a sequence of event occurrences <e1, e2, …, en>

• ei = (m, Cons, direction), direction = “receive”

• <checkifcashavailable, dispenseCash, ejectCard> ejectCard = (me, ∅,”receive”) Invoked(me) = opEjectCard

• instanceOf(aCashDispensher, {CashDispenser}), instanceOf(aCardReader, {CardReader}), instanceOf(anATM, {ATM})

• Links = {(aCashDispenser, aCardReader), (anATM, aSession), (anATM, aCardReader)}

23

Page 24: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

• SD Encoding

• receiving SD trace <(m1, Cons1, “receive”), (m2, Cons2, “receive”),

(m3, Cons3, “receive”)>

• subsumption and

• a role r used for sequencing

• cons’1 ⊓ m’1 ⊑ ∃r.(m’2 ⊓ cons’2),

• cons’2 ⊓ m’2 ⊑ ∃r.(m’3 ⊓ cons’3),

where m’ ≐ ∀op.op’ ⊓ (= 1 op)

• mcheckifcashavailable ⊑ ∃r.mdispenseCash

• mdispenseCash ⊑ ∃r.mejectCard

Page 25: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

25

•A protocol state machine of a class c: πc= (Sc, Tc, Lc, ρc, Λc).

•SATM = {PINEntry, AmountEntry, VerifyAccountBalance,VerifyATMBalance, GiveCash, ReturnReceipt, PrintReceipt, ReturnCard}

•TATM = {({PINEntry},getAmountEntry, {AmountEntry}), …}

•LATM = {getAmountEntry, verifyAccount, …}

•A call sequence is an n-tuple of labels in Lc, can be valid on a state configuration

•<dispenseCash, issueReceipt, ejectCard> is a call sequence on {VerifyATMBalance}

•dispenseCash = (opdispenseCash, {balance >= amount}, ∅)

Page 26: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

• Call Sequence Encoding

• Call sequence encoding is similar to SD trace encoding.

• Several call sequences?• checkIfCashAvailable ⊑ ∃r.(ejectCard ⊔ dispenseCash),

where, for exampleejectCard = ∀op.opEjectCard ⊓ (= 1 op)⊓<(balance, amount)

• Completeness of call sequences• ∃r.X replaced by ∀r.X

• Disjointness of operation calls

• State Information

• Composite state• Cash-Receipt ≡ GiveCash ⊔ ReturnReceipt ⊔ PrintReceipt

• States in sequences• added to pre- and postconditions

26

Page 27: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using
Page 28: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

• well-defined metamodel with a precise semantics

• interpretation of user-defined models as instances of metamodel

• conformance between metamodel and user-defined models

• semantics for class diagrams, sequence diagrams and PSMs

• interpretation of objects, links, stimuli, slots as instances of classes, associations, messages and attributes

28

Page 29: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Outline

29

• Classification of Inconsistencies

• Description Logics

• From UML to DLs

• Inconsistency Detection

• Inconsistency Resolution

• Model Refactoring

• Contributions and Future Work

Page 30: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

30

Classification Revisited

Querying ABoxesReasoning on

TBoxes

Structuraldangling type reference

inherited cyclic compositioninstance specification missing

disconnected model

Behavioural

abstract objectnavigation incompatibility

specification behaviour incompatibility

invocation interactionobservation interactioninvocation behaviour

observation behaviourinvocation inheritance

observation inheritanceinstance behaviour

incompatibility

multiplicity incompatibility

Page 31: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

• New Racer Query Language (nRQL, pronounce: nercle) introduced in RACER version 1.7.19.

• Declarative, decidable and sound queries of a (varying degree of) completeness.

• Behavioural inconsistencies

• detected by the Tbox coherence task on DL Tboxes representing SD traces and/or call sequences or PSMs.

[VSM03], [HMSW04]

31

Declarative Query language based on

Abox Reasoning tasks

Page 32: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

32

Tool Support RACOoN

The user can

select inconsistency

checks Explanation of

the inconsistency

checks Results

of the

inconsistency

checks

Page 33: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Outline

33

• Classification of Inconsistencies

• Description Logics

• From UML to DLs

• Inconsistency Detection

• Inconsistency Resolution

• Model Refactoring

• Contributions and Future Work

Page 34: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Challenges

34

Which resolution action??

New inconsistency

introduced!!!

Grouping resolution actions?

Page 35: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Abox and Tbox rules

IF inconsistency X occurs in model MTHEN change M so that X is resolved

check inconsistency

extra information

user interaction

35

Rule-Based DL Inconsistency Resolution Approach

Condition: Conclusion: resolution

Abox resolution actions: delete/add assertions

Tbox resolution actions: retract/add axioms

Page 36: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Outline

36

• Classification of Inconsistencies

• Description Logics

• From UML to DLs

• Inconsistency Detection

• Inconsistency Resolution

• Model Refactoring

• Contributions and Future Work

Page 37: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

37

Model Refactoring?

• A model refactoring is a transformation of a model into a different model expressed in the same modelling language to improve quality attributes of the model without changing the modelled (external) behaviour of the application.

• What is behaviour preservation?

• Source-code level

• [Mens et al]: update, access and call preservation

Page 38: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

38

Behaviour Preservation

C1

C'1

invocationinheritance

consistency

C'2invocation callpreservation

C2

?

C1

C'1

observationinheritance

consistency

C'2?

C2

invocationinheritance

consistency

C1

C'1

invocationinheritance

consistency

C'2?

C2

observationinheritance

consistency

Page 39: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

39

Page 40: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Model Refactorings:- after each step inconsistencies can be introduced- same inconsistencies in multiple refactorings- same inconsistency resolution can occur multiple times

Reuse of Inconsistency Resolutions

in and across model refactorings

Page 41: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

• Proof-of-concept tool support

• prototype tool plugged into Poseidon

• detection and resolution of a representative set of inconsistencies

• representative set of model refactorings for demonstration purposes

• user interface can improve

41

Tool Support RACOoN

Page 42: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Tool Support RACOoN

42

Page 43: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Outline

43

• Classification of Inconsistencies

• Description Logics

• From UML to DLs

• Inconsistency Detection

• Inconsistency Resolution

• Model Refactoring

• Contributions and Future Work

Page 44: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

44

Contributions (1)

• Lightweight formalisation of important UML fragment

• Classification of domain-independent inconsistencies

• Encoding of UML fragment and AS in DLs

Page 45: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

Contributions (2)

• Detection of inconsistencies through DL reasoning tasks and query language

• Rule-based inconsistency resolution approach

• Investigation of behaviour preservation and application of rule-based inconsistency resolution approach in model refactoring

45

Page 46: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

46

Future Work (1)

• Larger set of UML elements

• for example, activity diagrams

• Validation on large-scale cases

• empirical data

• Management of inconsistencies and inconsistency resolutions

• learning techniques, predefined resolution alternatives

• Model Refactorings

Page 47: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using

47

Future Work (2)

• Extending and improving tool support

• improving user interface (experiments with users)

• “intelligent” editing of inconsistency resolutions

• Extensions to DLs and DL Systems

• proper feedback

• integration of expressive rules