semantic model-driven engineering

36
Web Science & Technologies University of Koblenz Landau, Germany Semantic Model-driven Engineering Steffen Staab Acknowledgements to students and colleagues@MOST project http://most-project.eu

Upload: steffen-staab

Post on 26-Jan-2015

112 views

Category:

Education


2 download

DESCRIPTION

Invited Talk on "Semantic Model-driven Engineering" at the Microsoft Research Software Summit 2011, Paris, France, April 13-15, 2011; View video at http://research.microsoft.com/apps/video/default.aspx?id=150058

TRANSCRIPT

Page 1: Semantic Model-driven Engineering

Web Science & TechnologiesUniversity of Koblenz ▪ Landau, Germany

Semantic Model-driven Engineering

Steffen Staab

Acknowledgements to students and colleagues@MOST projecthttp://most-project.eu

Page 2: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE2 of 25

WeST

New level in Software Engineering

2

Development with untyped languages

Type-safe development with typed languages

Constraint-safe development with constraint languages

Guided developmentwith advising languages

Consistency-baseddevelopment with ontology

languages

1950

1960

1980

2010

1990

2000

2020

2030

1970

Ontology-Driven Software Development (ODSD)

[ODSD]

Page 3: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE3 of 25

WeST

OntologyWorld

(OntologyWare)

SoftwareModeling

World(ModelWare)

OntologyExpert

SoftwareEngineer

EMOF …

MOF

OWLRDF

Marrying Ontologies and Software Technology

[ODSD]

Page 4: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE4 of 25

WeST

OntologyWorld

(OntologyWare)

SoftwareModeling

World(ModelWare)

OntologyExpert

SoftwareEngineer

EMOF …

MOF

OWLRDF

Marrying Ontologies and Software Technology

[ODSD] 500+ terminologies in the B2B world

FMA

Snomed

GeneOntology

Terminologieswith 103 to106 entities

Page 5: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE5 of 25

WeST

OntologyWorld

(OntologyWare)

SoftwareModeling

World(ModelWare)

OntologyExpert

SoftwareEngineer

EMOF …

MOF

OWLRDF

Marrying Ontologies and Software Technology

[ODSD] 500+ terminologies in the B2B world

ontologytechnologies

FMA

Snomed

GeneOntology

Terminologieswith 103 to106 entities

Page 6: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE6 of 25

WeST

FoundationalODSD technology

Basic technology

ConsistencyPreservationIn ODSD

ODSD with ProcessGuidance

The MOST Project

[ODSD]

Page 7: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE7 of 25

WeST

FoundationalODSD technology

Ontology World(OntologyWare)

SoftwareModeling World

(ModelWare)

MDSD OntologiesBasic technology

TraceabilityOntology-based

configurationIntegration of Metamodels

and Ontologies

Case Studies

ConsistencyPreservationIn ODSD

ODSD with ProcessGuidance

The MOST Project

[ODSD]

Page 8: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE8 of 25

WeST

FoundationalODSD technology

Ontology World(OntologyWare)

SoftwareModeling World

(ModelWare)

MDSD OntologiesBasic technology

TraceabilityOntology-based

configurationIntegration of Metamodels

and Ontologies

Case Studies

ConsistencyPreservationIn ODSD

Consistency Checking for Processes

Bridges

Consistency Checking for

Structural Models

TwoUse:A Platform for

ODSD

Ontology-Guided

Software Development

ODSD with ProcessGuidance

Ontology-IntegratedModeling

The MOST Project

[ODSD]

Page 9: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE9 of 25

WeST

ONTOLOGY BASEDDOMAIN SPECIFIC LANGUAGES

Semantic MDE

Page 10: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE10 of 25

WeST

Stakeholders

DSL User

DSL Designer DSLMetamodel

uses

specifies

Domain Modelbuilds

Metamodeling Language

uses

Bridge Developerspecifies

requires

Guidanceand services

Constraints

based on

defined in

[MODELS09]

Page 11: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE11 of 25

WeST

Scenario at Comarch (PL)• Modeling physical devices, e.g. Cisco network devices

Cisco 7603:

Restrictions modeling a Cicso7603 device:• Every Cisco7603 has at least 1 Configuration7603• Every Configuration has at least 1 Slot in which a

SupervisorEngine card is plugged in• A Configuration7603 has exactly 3 Slots in which either a

HotSwappableOSM or SPAInterface card is plugged in.

SupervisorEngine

HotSwappableOSMSlot

Slot

Slot

Configuration

Device

Domain Model:

DSL Designer

[MODELS09]

Page 12: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE12 of 25

WeST

DSL User interacting with PDDSL

• Requirements of DSL User:• Consistency Checking

• Debugging of domain models

HotSwappableOSM

Configuration

Device

• Domain Model:DSL User

(inconsistent)

Error

[MODELS09]

Page 13: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE13 of 25

WeST

HotSwappableOSM

DSL User interacting with PDDSL

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

[MODELS09]

Page 14: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE14 of 25

WeST

SPAInterface

HotSwappableOSM

HotSwappableOSM

DSL User interacting with PDDSL

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:Configuration hasSlot some Slot and hasCard some SupervisorEngine

[MODELS09]

Page 15: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE15 of 25

WeST

SupervisorEngine

DSL User interacting with PDDSL

• 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 UserConfiguration7603

Device

Cisco7603

(consistent)

[MODELS09]

Page 16: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE16 of 25

WeST

Integrated Modeling – Modeling PDDSL

class 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 hasConfigurationwith min 1 Configuration7603 {

{

equivalentWithIntersectionOf(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

Description Logics• Subset of first order logics• Reasoning at two levels

• Class level• Object Level

• Sound and complete reasoning• Pragmatically efficient

Page 17: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE17 of 25

WeST

Ontoware TS Modelware TS

Bridging Technology‐ Integration ‐

Ecore Metametamodel

DSL Metamodel

Model Model

OntologyTBox

OWL2 Metamodel

ABox M1

M2

Hybrid (Meta‐)model

M3

ontoware

modelware

projectionprojection

Integrated (Meta‐)Metamodel

Modelprojection projection

integrationintegration

Querying Reasoning Technology

Validation ConstraintTechnology

Integration Bridge: Metamodelling PDDSL 

conformsTo

conformsTo

Tools

Tools

Bridge Developer

[DKE10]

Page 18: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE18 of 25

WeST

Evaluation: Stakeholders and measures

GQM methodology reused

ProductivityCompare development time under comparable conditions

QualityCompare development time spent on bug fixingAssumption: development is continued until no errors exist

Actor Productivity Quality

Bridge developer Not measured Not measured

DSL designer manual, pure modelsvs manual, hybrid vs generalized,hybrid

Productivitymeasure* bug ratio

Domain expert/ Customer expert

Cisco 7600 withPDDSL vs. WithoutPDDSL

Productivitymeasure* bug ratio

Domain user Survey customers Surveycustomers

[ECMFA10]

Page 19: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE19 of 25

WeST

Evaluation DSL developer productivity & quality

Implement consistency guidance services for DSL users/Domain experts• Instance validation• Types validation• Suggestions

Includes abstract syntax integration Excludes concrete syntax integration Excludes requirements analysis

Component/Approach Manual, pure models

Manual, hybrid Generalized, hybrid

Metamodel integration 0 6 h Re-use

Projection to OWL 0 40 h (mostly) automated

Services implementation 98 h 28 h Finished Apr 30

Testing& Bugfixing 34 h 18 h Finished Apr 30

Productivity improvement - 40 h = 30% Finished Apr 30

Quality improvement - 16 h = 47% Finished Apr 30

Page 20: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE20 of 25

WeST

PROCESS REASONINGSemantic MDE

Page 21: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE21 of 25

WeST

Supporting SAP Development of Processes

From business developer to software developerBPMN at different levels of granularity

Page 22: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE22 of 25

WeST

Ontoware TS Modelware TS

Bridging Technology‐ Transformation ‐

Ecore Metametamodel

DSL Metamodel

Model Model

OntologyTBox

OWL2 Metamodel

ABox M1

M2

M3

target model source 

model

Transformation Definition

target model

source model

sourcemetamodel

targetmetamodel

Querying Reasoning Technology

Validation ConstraintTechnology

Transformation Bridge for Process Reasoning

conformsTo

conformsTo

Tools

Tools

Transformation Engine

[DKE10]

Page 23: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE23 of 25

WeST

Mapping Process Steps

[DL 2009]

Page 24: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE24 of 25

WeST

Transformation Bridge1. 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 subsumptioncan be reduced to PS/SS sets subsumptions [DL2009]

Exponential complexity (O(n!))

2. Reduce execution sets to predecessor and successor sets:

Page 25: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE25 of 25

WeST

Example for survey question without support

3 processes in a refinement hierarchy

Model real-life business processes from Curran et al. (1999):“SAP R/3 Business Blueprint: Understanding Enterprise Supply Chain Management”

Some models have multiple errors

Multiple-choice: 2-4 answer options, multiple correct options possible

Experiments performed by J. Lemcke & colleagues, SAP AG

Page 26: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE26 of 25

WeST

Example for survey question with support

2 main surveys Survey 1 with

no support to modeller

Survey 2 with error highlights in the BPMN diagrams or guidance comments, respectively

Experiments performed by J. Lemcke & colleagues, SAP AG

Page 27: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE27 of 25

WeST

Results per case study

Process refinement case study Quality: QI = 57%, savq = 36% Productivity: PI = 192%, savp = 66%

Process guidance case study Quality: QI = 66%, savq = 40% Productivity: PI = 254%, savp = 72%

27Experiments performed by J. Lemcke & colleagues, SAP AG

Page 28: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE28 of 25

WeST

Calculation & overall results

Data gathered CS, CN – correct answers with / without support WS, WN – wrong answers with / without support tS, tN – time for questions with / without support

Measure: Quality improvement rq = = 1.6, QI = rq – 100% = 60%

Measure: Productivity improvement rp = = 3.12, PI = rp – 100% = 212%

Savings: sav = Quality: savq = 38% Productivity: savp = 68%

Page 29: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE29 of 25

WeST

CONCLUSIONSemantic MDE

Page 30: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE30 of 25

WeST

Bridge Classification

Motivation Bridging definition layerM3 layer M2 layer

Bridging Integration

Transformation

• Extended expressiveness of metamodeling language

• Additional Restrictions for M1 models

• Leveraging models by ontologies

• Knowledge represented independently of modeling language

• Replacement of coexistence between metamodels (+ conforming models) and ontologies

• Enabling ontology-based querying

• Transformations of models to formal ontological representations

• Enabling formal semantics

Page 31: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE31 of 25

WeST

Bridging Tools

Tools Bridging definition layerM3 layer M2 layer

Bridging Integration

Transformation

OntoDSL: Metamodeling with

Ecore and OWL

UML Profile for OWL:Modeling UML class diagrams with OWL-based stereotypes

OWLizer:Transformations of

Ecore-based metamodels and

models to ontologies

BPMN Refinement:Transformations of process

models to ontologies

class Configuration7603 extends Configuration,equivalentWith (hasSlot with exactly 3 Slot)

and (hasSlot some (hasCard some(HotSwappableOSM or SPAInterface)

{

} ...

Page 32: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE32 of 25

WeST

Marriage of Ontology and Software Technologies

Original Contributions: Ontology Reasoning Defined for class diagrammes „before“ [BCG05], but also Domain-specific languages Process languages

Lessons Learned Marriage is nontrivial formalization not straightforward, but re-useable! terminological problems need to be reconciled between the

two pillars:• E.g. open/closed world vs. draft/deployed models

Productivity gains

Page 33: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE33 of 25

WeST

Ongoing Research and Outlook

Knowledge by the User & for the User Domain models must be included, maintained and aligned

with other models in the lifecycleFamilies of business processes [CAiSE 2011]Software product lines [submitted]

Terminologies and Ontologies are undervalued re-useableartefacts in software development

Knowledge not contained within one software project aloneSemantic Web can span many projects!

[TKB10;under development]

Semantic technologies respond to these needs

Page 34: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE34 of 25

WeST

Core publications for this talk

http://west.uni-koblenz.de/Projects/twouse Transforming and Weaving Ontologies and Uml for Software Engineering[DKE10] F. S. Parreiras, S. Staab. Using Ontologies with UML Class-based Modeling: The TwoUse Approach. In: Data & Knowledge Engineering, 69(11): 1194-1207, Elsevier.[CAiSE11] G. Gröner, C. Wende, M. Boskovic, F. S. Parreiras, T. Walter, F. Heidenreich, D. Gasevic, S. Staab. Validation of Families of Business Processes. In: Proc. of CAiSE - 23rd Int. Conf. Advanced Inf. Systems Engineering, Springer, 2011.[ECMFA10] T. Walter, F. S. Parreiras, S. Staab, J. Ebert. Joint Language and Domain Engineering. In: Proc. of ECMFA-2010 – 6th European Conference on Modelling Foundations and Applications, Springer, 2010.[MODELS09] T. Walter, F. Silva Parreiras, S. Staab. OntoDSL: An Ontology-basedDevelopment Environment for Domain-specific Languages. In: Models - ACM/IEEE 12th Int. Conf. on Model Driven Eng., Languages & Systems. Springer, 2009.[DL 2009] Y. Ren, G. Gröner, J. Lemcke, T. Rahmani, A. Friesen, Y. Zhao, J. Z. Pan, S. Staab. Validating Process Refinement with Ontologies. In: The 22nd International Workshop on Description Logics (DL2009). 27 to 30 July 2009, Oxford, UK.[ODSD] U. Assmann, J. Pan, S. Staab, Y. Zhao (eds.). Ontology-driven Software Development, Springer, to appear.

Page 35: Semantic Model-driven Engineering

Steffen [email protected]

Semantic MDE35 of 25

WeST

Further core publications for this area

[BCG05] Berardi, D., Calvanese, D., Giacomo, G.D.: Reasoning on UML classdiagrams. Artif. Intell. 168(1) (2005) 70-118.[GDD09] Gasevic, D., Djuric, D., Devedzic, V.: Model Driven Engineering andOntology Development, 2nd Ed. Springer (2009)[TKB10] J. Tappolet, C. Kiefer, A. Bernstein. Semantic web enabled softwareanalysis, Journal of Web Semantics: Science, Services and Agents on the World Wide Web 8, July 2010[Par11] F. S. Parreiras. Marrying Model-Driven Engineering and OntologyTechnologies: The TwoUse Approach, Wiley, to appear.

Page 36: Semantic Model-driven Engineering

Web Science & TechnologiesUniversity of Koblenz ▪ Landau, Germany

Thank you for your attention!

Your Questions?