Inconsistency Management in Model- Driven...
Transcript of Inconsistency Management in Model- Driven...
![Page 1: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/1.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/7.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/11.jpg)
![Page 12: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/13.jpg)
![Page 14: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/16.jpg)
???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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/17.jpg)
???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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/20.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/22.jpg)
[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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/23.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/24.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/26.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/27.jpg)
![Page 28: Inconsistency Management in Model- Driven Engineeringssel.vub.ac.be/Members/RagnhildVDS/PhDThesis/Publiekdoctoraat.pdf · Management in Model-Driven Engineering An Approach using](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/28.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/29.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/30.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/31.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/32.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/33.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/34.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/35.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/36.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/37.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/38.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/39.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/40.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/41.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/42.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/43.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/44.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/45.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/46.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022053023/6052c89dcb3d5a14842ab2d7/html5/thumbnails/47.jpg)
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