Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... ·...

68
WeST – Web Science & Technologies University of Koblenz Landau, Germany Model-driven Software Engineering with Description Logics Steffen Staab With Fernando Parreiras, Gerd Gröner, Tobias Walter Universität Koblenz-Landau

Transcript of Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... ·...

Page 1: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

WeST – Web Science & TechnologiesUniversity of Koblenz ▪ Landau, Germany

Model-driven Software Engineering

with Description Logics

Steffen StaabWith Fernando Parreiras, Gerd Gröner, Tobias Walter

Universität Koblenz-Landau

Page 2: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 2

Semantic WebDr. Janik

Web RetrievalDr. Sizov

Interactive WebDr. Scherp

Multimedia WebDr. Grzegorzek

Software WebF. Silva Parreiras

Prof. Dr. Staab Prof. Dr. Sure

EU WeGovEU X-Media

HP Synth DocsEU WeKnowItDFG Multipla EU Most

BMBF CollabCloudEU NeOn

EU Tagora

Who we are

GESISProf. Sure

EU WeGovEU ASG

EU aceMediaEU kspace

EU Net2

Page 3: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 3

Two Worlds of Models

MDA / MDE

IngredientsModels: representing complementary views of a system

StructuralBehavioral

Metamodeling: Linguistic instantiation of syntactic class descriptionsTransformations:Towards target platformAdding refinements

Description Logics / Ontologies

IngredientsOntologies: representing complementary views of a system

Structural(Behavioral)

Metamodeling: Ontological instantiation of logical class descriptions Transformations:Between knowledge bases/ontologies

MOST – Marrying Ontology and Software Technologies

Page 4: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 4

Model-driven Engineering

Refinements in several dimensionsRefinements along metamodeling levels

DSL User

DSL DesignerDSL

Metamodel

uses

specifies

Domain Modelbuilds

Metamodeling Language

uses

Framework Developer specifies

M1

M2

M3

Page 5: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 5

Model-driven Engineering

Refinements in several dimensionsRefinements along metamodeling levelsRefinements along model specification

From business developer to software developer

Page 6: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 6

Model-driven Engineering

Refinements in several dimensionsRefinements along model specification

From business developer to software developerRefinements along metamodeling levelsRefinements along platform specification

For Ontology Translations

Classical MDA

PIM PSM Code

JAVAUML UML

Page 7: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 7

Model-driven Engineering

Refinements in several dimensionsRefinements along metamodeling levelsRefinements along model specification

From business developer to software developerRefinements along platform specification

For Ontology TranslationsRefinements along time

Metamodel evolution• Suggesting changes to transformations

by DL reasoningOntology API Co-evolution

Page 8: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 8

Agenda

Description Logics Reasoning by Example

Refinements in several dimensionsRefinements along metamodeling levels [Models 2009]Refinements along model specification [DL 2009]

• From business developer to software developerRefinements along platform specification [ER 2008]

• For Ontology TranslationsRefinements along time

• Metamodel evolution [submitted]– Suggesting changes to transformations

by DL reasoning• Ontology API Generation/Co-evolution [ICSC 2009]

Page 9: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 9

Description Logics Reasoning by Example

Reasoning on UML class diagrams

Classical MDA

PIM PSM Code

Translation

OWL

JAVAUML UML

[Calvanese et al, AIJ 2005]

Page 10: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 10

Model Checking

Reasoning on UML class diagrams allows for checking:

Consistency of the diagram: Can the classes be populated?

Classification to identify the possible omission of an explicit generalization.

Equivalence among classes to discover redundancy.

Refinement of properties to apply stricter multiplicities or typing than the ones explicitly specified in the diagram.

Page 11: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 11

Model Checking: Example

Every

WebPortalAccount

is used by at

most one Researcher

UserAccount User0..n 10..n 1Owns

Student

Uses {complete, disjoint}

WebPortalAccount Researcher1..n0..1

Researcheris disjoint from

Student

if Researcher is empty, User and Student will be

redundantINCONSISTENT

Page 12: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 12

Model Checking: Example

UserAccount User0..n 10..n 1Owns

Student

Uses {complete, disjoint}

WebPortalAccount Researcher1..n0..1

INCONSISTENT

Advantage for SE:

Models with provably higher quality

Page 13: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 13

Agenda

Description Logics Reasoning by Example

Refinements in several dimensionsRefinements along metamodeling levelsRefinements along model specification

• From business developer to software developerRefinements along platform specification

• For Ontology TranslationsRefinements along time

• Metamodel evolution– Suggesting changes to transformations

by DL reasoning• Ontology API Generation/Co-evolution

Page 14: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 14

Scenario (Roles)

DSL User

DSL Designer DSLMetamodel

uses

specifies

Domain Modelbuilds

Metamodeling Language

uses

Framework Developer specifies

requires

Guidance and services

Guidance and services

ConstraintsConstraints

based on

defined in

Page 15: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 15

Scenario• Modeling physical devices, e.g. Cisco network devices

Cisco 7603:

Restrictions modeling a Cicso7603 device:• Every Cisco7603Cisco7603 has at least 1 Configuration7603Configuration7603• Every ConfigurationConfiguration has at least 1 SlotSlot in which a

SupervisorEngineSupervisorEngine card is plugged in• A Configuration7603Configuration7603 has exactly 3 SlotsSlots in which either a

HotSwappableOSMHotSwappableOSM or SPAInterfaceSPAInterface card is plugged in.

SupervisorEngine

HotSwappableOSMSlot

Slot

Slot

Configuration

Device

Domain Model:

DSL Designer

Page 16: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 16

Scenario (DSL User)

• Requirements of DSL User:• Consistency Checking

• Debugging of domain models

HotSwappableOSM

Configuration

Device

• Domain Model:DSL User

(inconsistent)

Error

Page 17: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 17

HotSwappableOSM

Scenario (DSL User)

Slot

Slot

Slot

Configuration

Device

• Domain Model:DSL User

(consistent)

• Requirements of DSL User:• Consistency Checking

• Debugging of domain models• Validate incomplete models

• Guidance and explanations how to complete the model

Page 18: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 18

SPAInterface

HotSwappableOSM

HotSwappableOSM

Scenario (DSL User)

Slot

Slot

Slot

Configuration

Device

• Domain Model:DSL User

(inconsistent)

• Requirements of DSL User:• Consistency Checking

• Debugging of domain models• Validate incomplete models

• Guidance and explanations how to complete the model

ErrorErrorErrorExplanation:ConfigurationConfiguration hasSlot some SlotSlot and hasCard some SupervisorEngineSupervisorEngine

Page 19: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 19

SupervisorEngine

Scenario (DSL User)

• Requirements of DSL User:• Consistency Checking

• Debugging of domain models• Validate incomplete models

• Guidance and explanations how to complete the model• Suggestions of suitable domain concepts• Use of services without any extra effort

HotSwappableOSMSlot

Slot

Slot

Configuration

• Domain Model:DSL UserC

onfiguration7603

Device

Cisco7603

(consistent)

Page 20: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 20

State of the ArtMetamodel of Physical Device DSL (PDDSL) (M2 layer)

• Implemented using KM3 (a Java-like syntax)• Simple to use and understandable• But: Not effectual to define configurations with valid cards and slots

class Device {reference hasConfiguration [1-*]: Configuration;

}

class Cicso7603 extends Device{}

class Configuration {reference hasSlot [1-*]: Slot;

}

class Configuration7603 extends Configuration{}

class Slot {reference hasCard [1-*]: Card;

}

class Card {}

DSL Designer

Page 21: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 21

Description Logics

• Description Logics (DLs) are logics designed to represent and reason on structured knowledge

• The domain of interest is structured into (TBox):• concepts, which correspond to classes, and denote sets

of individuals• roles, which correspond to associations, and denote

binary relations on individuals• The knowledge is asserted through so-called assertions

(ABox)• Provide formal semantics

• DLs provide the foundations for standard ontology languages, like OWL2

Page 22: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 22

Description Logic (Example)

Cisco7603 v Device (1)

Cisco7603 ≡ ∃hasConfiguration.Configuration7603 (2)

Configuration v ∃ ≥ 1hasSlot.Slot u (3)

∃hasSlot.(∃hasCard.SupervisorEngine)Configuration7603 ≡ ∃ = 3hasSlot.Slot u (4)

∃hasSlot.(∃hasCard.(HotSwappableOSM t SPAInterface))Slot v ∃hasCard.Card (5)

Card ≡ HotSwappableOSM t SPAInterface t SupervisorEngine (6)

TBox:

ABox: Device(cisco) (1)

Configuration(conf) (2)

Slot(cslot1), Slot(cslot2), Slot(cslot3) (3)

SupervisorEngine(supervisor720), SPAInterface(spa360) (4)

hasConfiguration(cisco, conf) (5)

hasSlot(conf, cslot1), hasSlot(conf, cslot2), hasSlot(conf, cslot3) (6)

hasCard(cslot1, supervisor720), hasCard(cslot2, spa360) (7)

Configuration7603(conf)

Cisco7603(cisco)

Page 23: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 23

Description Logics• DLs allow for joint as well as for separate sound and

complete reasoning at the model and at the instance level• DLs allow for tractable reasoning and efficient query answering• DLs provide more expressiveness than usual metamodeling

languages

• But: DLs are not designed to act as a metamodel for defining DSLs

• DSL Designer has no experience modeling with DLs and ontologies

• DSL Designer requires to use the languages he is familiar with as much as he can (standard metamodeling language like KM3)

• DSL Designer wants to define constraints

DSL Designer

Page 24: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 24

Proposed Solution

Integrate KM3 with ontology language OWL2

• Provide a metamodeling language to specify further DSLs

Design Domain Specific Languages• Develop new DSL with integrated

constraints and axioms

Use domain-specific languages• Builds domain models and uses servicesDSL User

DSL Designer

Framework Developer

Ontology-based framework for domain-specific languages

Page 25: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 25

Model-based Integration Architecture

• Framework Developer• Provide framework for designing and using DSLs

• DSL Designer• Defines abstract Syntax, concrete Syntax, semantics

• DSL User• Builds domain models

DSL User

DSL Designer

FrameworkDeveloper

Page 26: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 26

Integrated Modeling• Metamodel of PDDSLclass Device {reference hasConfiguration [1-*]: Configuration;}

class Cisco7603 extends Device

}

class Configuration

reference hasSlot : Slot;}

class Configuration7603 extends Configuration

}

class Slot {reference hasCard [1-*]: Card;

}

, equivalentWith restrictionOn hasConfiguration with min 1 Configuration7603 {

{

equivalentWith IntersectionOf(restrictionOn hasSlot with min 1 Slot,

restrictionOn hasSlot somerestrictionOn hasCard some SupervisorEngine) {

{

,equivalentWith IntersectionOf(restrictionOn hasSlot with exactly 3 Slot,

restrictionOn hasSlot with somerestrictionOn hasCard with some

UnionOf(HotSwappableOSM, SPAInterface) {

{

DSL Designer

Page 27: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 27

Benefits of DL in Domain Modeling

Open World Assumption• assumes incomplete information by default• guidance and validation of incomplete models

Joint semantic definitions at 2 layers• M1- and M2 layer affect each other• simultaneously reasoning at M1- and M2 layer

Debugging and reasoning explanation• identifying debugging-relevant facts (e.g. model elements)

which lead to inconsistency with regard to the metamodel• explanations of errors in domain models

Page 28: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 28

Refinements along metamodeling layersFramework Developer

• Integration of KM3 and OWL at the M3 layer• Provide metamodeling language that allows

designing metamodels with embedded OWL Constructs

DSL Designer• Specifies new DSLs with additional, integrated

constraints

DSL User• Builds domain models• Gets services and guidance for freeDSL User

DSL Designer

Framework Developer

Page 29: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 29

Agenda

Description Logics Reasoning by Example

Refinements in several dimensionsRefinements along metamodeling levelsRefinements along model specification

• From business developer to software developerRefinements along platform specification

• For Ontology TranslationsRefinements along time

• Metamodel evolution– Suggesting changes to transformations

by DL reasoning• Ontology API Generation/Co-evolution

Page 30: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 30

Process refinement is a crucial task in process modeling and managementProblems during development

Processes are developed by multiple people in various stepsA change might impact the overall consistency(Current) manual checking is time-consuming and error-proneErrors are expensive:

RemodelingHidden errors

Motivation

Page 31: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 31

Can description logics capture the dynamic aspects of the domain, particularly the changing of a process model?

Formalization of graph-based modelsInterpretation of refinement constraintsRepresentation and validation of refinement constraints

ChallengesEnsuring the specific process preserving the intended meaning of the generic processProviding efficient reasoning service

Research Questions

Page 32: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 32

A simple flow:

Process in BPMN

Page 33: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 33

A simple flow:Parallel gateway:

Flow goes through all the branches

Process in BPMN

Page 34: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 34

A simple flow:

Loop:

Flow can go back to previous activity or gateway

Parallel gateway:

Flow goes through all the branches

Exclusive gateway:

Flow go through one and only one of the branches

Process in BPMN

Page 35: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 35

Simple Flow:

{AB}

Execution Set Semantics

Page 36: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 36

Parallel gateway:

{a1b1b2a2, a1b1a2b2, a1a2b1b2, a1a3}

Simple Flow:

{AB}

Execution Set Semantics

Page 37: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 37

Parallel gateway:

{a1b1b2a2, a1b1a2b2, a1a2b1b2, a1a3}

Simple Flow:

{AB}

Loop:

{C, D, CC, CD, DC, DD, CCC, CCD, CDC, CDD,…}

Execution Set Semantics

Page 38: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 38

Parallel gateway:

{a1b1b2a2, a1b1a2b2, a1a2b1b2, a1a3}

Simple Flow:

{AB}

Loop:

{C, D, CC, CD, DC, DD, CCC, CCD, CDC, CDD,…}

Exclusive gateway:

{E, EF}

Execution Set Semantics

Page 39: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 39

{AB}1. Getting the execution sets

{a1b1b2a2, a1b1a2b2, a1a2b1b2, a1a3}

{AB}2. Renaming {ABBA, ABAB, AABB, AA}

{AB}3. Decomposition {ABA, ABAB, AB, A}

4. Validation: invalid

How to represent and reason in description logics?

Process Refinement („horizontal“)

Page 40: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 40

1. Eliminating parallel gateways: Executions remain the same

Predecessor sets:

PS(b11) = {a11};

PS(a21) = {b11}, etc.

Successor sets:

SS(b11) = {a21,b22};

SS(a21) = {b21}, etc.

Execution sets subsumption can be reduced to PS/SS sets subsumptions [Theorem2];

Complexity O(n!)

2. Reduce execution sets to predecessor and successor sets:

Process Normalization

Page 41: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 41

• In pre-refinement process:Component_A subclassOf to only (Component_A or Component_B);Component_B subclassOf from only (Component_B or Component_A);

• In post-refinement process:a31 subclassOf to some Endb11 subclassOf (to some b22) and (to some a21);

3. Renaming:a31 subclassOf Component_A;

b23 subclassOf Component_B;

Invalid

4. Uniqueness:Disjoint(Start, End, Component_A, Component_B)

Refinement Representation („horizontal“)

Page 42: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 42

A process refinement step is represented in the refinement ontologyNormalize the process (only XOR-gateways)Represent activities as conceptsRepresent orderings and composition relations as propertiesPre-refinement relations by universal restrictionsPost-refinement relations by existential restrictionsUniqueness of activities by disjointness

Refinement Representation

Page 43: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 43

Given a refinement ontology an activity is valid iff its concept is satisfiable

A process refinement is valid iff all the concepts in the refinement ontology are satisfiableA path is unexecutable iff any of its activity is unsatisfiable in the refinement ontology

Refinement Checking

Page 44: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 44

Complexity of refinement ontology: ALCUnsatisfiability checking

Worst-case: ExpTime-completeImprovement: Approximation

Transformation/Normalization Worst-case: n!

Practical Evaluation result: reasoning more complex than transformation (order of magnitude 3)

Computational Properties

Page 45: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 45

Temporal Logic and Model CheckingRefinement specification in LTL

Process Algebra and Model CheckingRefinement specification in process algebra

Communication and Transition System Calculus, e.g. ∏-calculusOWL and DL models

Modeling of activity pre- and postconditionsOntologies for annotationsProcess refinement and validation is not (directly) considered

Related Work

Page 46: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 46

ResultsOntologies are used to compensate the lack of formal semantics in models (BPMN models)Reasoning is used to check semantic constraints

Next StepsOptimization of reasoning (PTIME via approximation)Extended process models (further gateways)Non-pairwised gateways (e.g. nested gateways)Generalized refinement solution for other models

Future Work

Page 47: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 47

State SA, SB

SA = A ⊔ ∃ transition.TSB = B ⊔ ∃ transition-.TT = TL ⊔ ∃ event. E

⊔ ∃ prec.Guard⊔ ∃ source.A⊔ ∃ target.B

Analogous Problem for Statecharts

SA = A SA1 = A1 ⊔ ∃ transition.TSA2 = A2

SA1 ⊑ SA SA2 ⊑ SASB = B ⊔ ∃ transition-.TT = TL ⊔ ∃ source.A1

⊔ ∃ target.B

Page 48: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 48

Agenda

Description Logics Reasoning by Example

Refinements in several dimensionsRefinements along model specification

• From business developer to software developerRefinements along metamodeling levelsRefinements along platform specification

• For Ontology TranslationsRefinements along time

• Metamodel evolution– Suggesting changes to transformations

by DL reasoning• Ontology API Generation/Co-evolution

Page 49: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 49

Scenario

Ontology translation between datasets of bibliographic references

Input Output

examples from http://oaei.ontologymatching.org

Page 50: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 50

Overview

Schema View

Input OutputTranslation

Semantic

Syntactic, Lexical

Lexical

SemanticF-Logic

+

Ontobroker

(Java)SPARQL

+

Jena(Java)

MBOTL

examples from http://oaei.ontologymatching.org

Input OutputInput Output

Page 51: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 51

State of the Art: Neon Toolkit

visual mapping of ontologies

Plug-ins must be written separately

Input Output

www.neon-toolkit.org

Page 52: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 52

Problem

All three layers are platform independent

A PIM [Conceptual Schema] is a view of a system from the platform independent viewpoint. (MDA Guide)

Problem:Can it be specified with one language? Can it be a specific language instead of a general-purpose programming language?

Input OutputTranslation

Semantic

Syntactic, Lexical

Lexical

SemanticF-Logic

+

Ontobroker

(Java)SPARQL

+

Jena(Java)

F-Logic

+

Ontobroker

(Java)SPARQL

+

Jena(Java)

Input OutputTranslationInput Output

Page 53: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 53

The MBOTL Solution

Advantages:Productivity: focus on business and not on platform detailsPortability: Same PIM can be automatically transformed into multiple PSMs for different platforms

Input OutputTranslation

Semantic

Syntactic, Lexical

Lexical

Semantic

Input OutputTranslationInput Output

MBOTL

F-Logic + Ontobroker

SPARQL + Jena

Page 54: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 54

Task

MBOTL accomplishes ontology translation between datasets at:

• Semantic Layer• Syntactic Layer• Lexical Layer

MDA ProcessImplementation: Screenshots

Page 55: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 55

Addressing the semantic layer

Usage of OCL-like expressions to formulate queries.

ChapterInBook2InBook

s : _input!Part (s.owlIsInstanceOf(Chapter) or s.owlIsInstanceOf(InBook)

t : _output!InBook ( title s.title.toUpper(), pages <- s.pages.endPage - s.pages.startPage + 1 month <- s.date.month.notShortened() )

rule { from

to

<-

}

Ontology Element

Property Expression

Matched Rule

Out Pattern

In Pattern

Operation Expression

Variables

1

3

5

7

9

11 Assignment Operator

MBOTL’s concrete syntax is based on the Atlas Transformation Language (ATL)

Page 56: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 56

Addressing the syntax and lexical layers

Application of predefined operations or helpers

Unified Representation

Page 57: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 57

Conceptual Architecture

Reference Layer(EU STReP MOST)

MBOTL Extension

Page 58: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 58

Agenda

MotivationHow to MBOTL accomplishes ontology translation between datasets at:

• Semantic Layer• Syntactic Layer• Lexical Layer

MDA ProcessImplementation: Screenshots

Future Work

Page 59: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 59

Translation Process

Source Ontology

Target Ontology

PlatformSpecific Model

java.ecoresparql.ecore

PlatformIndependent Model

mbotl.ecore

Code

query.javabuiltins.java Jena

Framework

ATL Model Transformation

ATL Model Transformation

Page 60: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 60

Screenshot: Editing a MBOTL Translation

Page 61: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 61

Screenshot: Generated SPARQL Model

Page 62: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 62

Screenshot: Java Code with Jena API

Page 63: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 63

Screenshot: Java Code of Built-In

Page 64: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 64

Summary

MBOTL provides an unified language to model different layers of ontology translation between datasets.At semantic level: OCL-like query language.At syntactic and lexical levels: OCL-like predefined operations and user-defined helpers.Improvements to be evaluated: productivity, portability.Implementation: Eclipse, Atlas Transformation Language, Jena.Future work: plug-in, SPARQL-like syntax, evaluation.

Download and test: isweb.uni-koblenz.de/Research/MBOTL

Page 65: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 65

Agenda

Description Logics Reasoning by Example

Refinements in several dimensionsRefinements along model specification

• From business developer to software developerRefinements along metamodeling levelsRefinements along platform specification

• For Ontology TranslationsRefinements along time

• Metamodel evolution– Suggesting changes to transformations

by DL reasoning• Ontology API Generation/Co-evolution

Page 66: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 66

Two Worlds of Models

MDA / MDE Description Logics / Ontologies

MDE & Description LogicsNot for all and everything

But, still, a marriage in heaven

Thank You!

Check out the TwoUse toolkit: http://west.uni-koblenz.de/twouse

Page 67: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 67

ReferencesWalter, Tobias; Ebert, Jürgen (2009): Combining DSLs and Ontologies using Metamodel Integration.

In: Domain-Specific Languages. Springer. Bd. 5658. S. 148-169. Silva Parreiras, Fernando; Walter, Tobias; Staab, Steffen; Saathoff, Carsten; Franz, Thomas (2009):

APIs agogo: Automatic Generation of Ontology APIs. In: Proceedings of the 3rd IEEE International Conference on Semantic Computing (ICSC 2009), September 14-16, 2009, Santa Clara, California, USA. IEEE Computer Society.

Ren, Yuan; Gröner, Gerd; Lemcke, Jens; Rahmani, Tirdad; Friesen, Andreas; Zhao, Yuting; Pan, Jeff .; Staab, Steffen (2009): Validating Process Refinement with Ontologies. In: Int. Workshop on Description Logics (DL).

Walter, Tobias; Silva Parreiras, Fernando; Staab, Steffen (2009): OntoDSL: An Ontology-Based Framework for Domain-Specific Languages. In: ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems, 12th International Conference, MODELS 2009. Springer. Bd. 5795. S. 408-422.

Silva Parreiras, Fernando; Pan, Jeff. Z.; Assmann, Uwe (2009): Second Workshop on Transforming and Weaving Ontologies and Model Driven Engineering (TWOMDE 2009) at MoDELS 2009, October 4th, Denver, Colorado, USA. In: TWOMDE.

Walter, Tobias (2009): Combining Domain-Specific Languages and Ontology Technologies. In: MoDELS Doctoral Symposium 2009.

Groener, Gerd; Staab, Steffen (2009): Modeling and Query Pattern for Process Retrieval in OWL. In: Proceedings of 8th International Semantic Web Conference (ISWC). Nr. 5823.

Jekjantuk, Nophadol; Groener, Gerd; Pan, Jeff Z. (2009): Reasoning in Metamodeling Enabled Ontologies. In: Proc. of 6th Int. Workshop OWL: Experiences and Directions (OWLED).

F. Silva Parreiras, S. Staab, A. Winter. Improving Design Patterns by Description Logics: An Use Case with Abstract Factory and Strategy. In: T. Kühne & F. Steimann (eds.) Proc. of Modellierung 2008. LNI, Gi e.V, März 2008.

F. Silva Parreiras, S. Staab, A. Winter. On Marrying Ontological and Metamodeling Technical Spaces. In: ESEC/ACM FSE-2007 – Proceedings of the 6th joint meeting of the European software engineering conference and the 14th ACM SIGSOFT symposium on Foundations of software engineering, September 03 - 07, 2007, Dubrovnik, Croatia. ACM 2007, pp. 439 - 448

Page 68: Model-driven Software Engineering with Description Logicsstaab/Presentations/staab-dfki... · Model-driven Software Engineering with Description Logics Steffen Staab With Fernando

Steffen Staab [email protected]

WeST – Web Science & Technologies 68

Two Worlds of Models

MDA / MDE Description Logics / Ontologies

MDE & Description LogicsNot for all and everything

But, still, a marriage in heaven

Thank You!

Check out the TwoUse toolkit: http://west.uni-koblenz.de/twouse