current trends and perspectives in ontology-driven...

75
Current Trends and Perspectives in Ontology-Driven Software Development (ODSD) Prof. Dr. U. Aßmann Technische Universität Dresden, Lehrstuhl Softwaretechnologie Aug 2013 Version 0.6 1 Ontology-Driven Software Development Ontology-based Model Checking of Software Applications

Upload: others

Post on 22-Oct-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Prof. Dr. U. Aßmann Technische Universität Dresden, Lehrstuhl Softwaretechnologie Aug 2013 Version 0.6

1 Ontology-Driven Software Development

Ontology-based Model Checking of Software Applications

Page 2: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Literature

o  [ODSD] Jeff Pan, Steffen Staab, Uwe Aßmann, Jürgen Ebert, Yuting Zhao. Ontology-Driven Software Development. Springer, 2013

o  [Walter] Tobias Walter. Bridging Technological Spaces: Towards the Combination of Model-Driven Engineering and Ontology Technologies. Dissertation. Universität Koblenz-Landau, 2011

o  [RW2010] Uwe Aßmann, Andreas Bartho, and Christian Wende, editors. Reasoning Web. Semantic Technologies for Software Engineering, 6th International Summer School 2010, Dresden, Germany, August 30 - September 3, 2010. Tutorial Lectures, volume 6325 of Lecture Notes in Computer Science. Springer, 2010.

Ontology-Driven Software Development 2

Page 3: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Lecture 1

o  1.1) Why Marrying Ontologies and Software Technology? o  1.2) Model-Driven Integration of Technical Spaces

n  Model-Driven Software Development (MDSD) n  Ontology-Driven Software Development (ODSD) n  Bridging the technical spaces of system modeling and ontologies n  Semantic-oriented modeling

o  1.3) Ontology-Integrated Modeling (OIM) o  1.4) Ontology-Driven Software Development (ODSD) and

beyond

3 Ontology-Driven Software Development

Page 4: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

1.1) Why Marrying Ontologes and Software Technology?

Syntactic and Semantic Modeling

4

First MDI workshop: http://mdi2010.lcc.uma.es/

Ontology-Driven Software Development

Page 5: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Why is Logic not Integrated with Modeling and Programming?

o  Prolog is untyped o  Ontologies are typed, but…

n  Open World Assumption vs. Closed World Assumption n  Reasoners are separate tools

5 Ontology-Driven Software Development

Page 6: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Software objects describing world objects M0 Object level

M1 model level

M2 metamodel level

M3 metametamodel level

Types, programs, models domain ontologies

Language descriptions

Modelling concepts

OWL, UML, CWM,ER

MOF, UML-core, OWL, AG, NS

model instances

Metamodelling concepts M4 level = M3

instanceOf describes

instanceOf describes

instanceOf describes

instanceOf describes

The MOF Metamodelling Hierarchy

►  aka metapyramid

Page 7: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Business Process Ontologies

RDFS M3 Metalanguages Modeling Concepts

M2 Languages Language Concepts

M1 Models Application Concepts

OWL

Technical Space

OWLWare

Business Process Models

EMOF/Ecore

BPEL

Technical Space

EclipseWare

Process Objects M0 Running Instances Running Workflows

Metamodeling in Layers

Page 8: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

The MOST Project and the ODSD Book

o  Project “Marrying Ontologies and Software Technology (MOST)”

o  [ODSD] Ontology-Driven Software Development n  Pan/Stab/Aßmann/Ebert/Zhao 2013

o  Collection of techniques to marry

ontologies and software technologies o  Treating the problem of technical

spaces

8 Ontology-Driven Software Development

Page 9: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Part II: Foundational ODSD Technology

Ontology World (OntologyWare)

Software Modeling World (ModelWare)

MDSD Ontologies Part I: Basic Technology

Traceability Scalable Reasoning

Integration of Metamodels

and Ontologies

2 3 Case Studies

4

Part III: Consistency Checking in ODSD

6 5 7

Consistency Checking for

Processes Bridges

Consistency Checking for Structural

Models

8 10 9

A Platform for ODSD

Ontology-Guided

Software Development

13 1

2 Part IV: ODSD with Process Guidance

Ontology-Integrated Modeling

11

Outline of [ODSD]

Page 10: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Modern Software Tools Use Metamodels

Tool

Metadata- and metamodel repository

Data manipulation and access interfaces (typed read/write; reflective access observing access)

Tool

Document/-model- Repository (Material)

Loader Exporter Layer 1

Layer 0 External Data base (File system, Web)

Layer 2

Query Engine

Consistency checker

Workflow Control „Automaton“ Layer 3

Layer 4 Tool

<<generates>>

<<generates>>

Page 11: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Generation of Typed Application Programming Interfaces (API)

►  From the metaclasses, the structure of types in M1 is generated

<<metaclass>> Class

String name; Attribute[] attribs; Object neighbors; Method[] methods;

Person

Int salary; String name;

Supervisor boss; Person[] friends; Person marriedTo;

void laugh(); Int earnMoney();

M1 M2

q

Repository

Class[] classes; Object[] extent;

Class create( String name, Attribute[] attribs, Object neighbors, Method[] methods); void check( Class[] classes); visitClasses(Visitor v);

:Person

salary =1900; name = „Fred“;

boss = &Walter; friends[] = [&John,&Mary] marriedTo=&Silvia;

M0

Generated

Typed access

Reflective access

Page 12: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Metamodel A

<<instance-of>> <<generates>>

read

write

distribute

authentificate

Models conforming to Metamodel A (Data, Programs, Specifications)

Factory

Reflective access

Benefit: Generation of Access Layers from Metamodels

M2

M1

Page 13: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Metamodel A Metamodel B

Model 1 Model 2

Tool A

Tool B Model Transformer

A->B

<<instance-of>> <<instance-of>>

<<prints>>

<<maps-to>>

<<generates>>

Benefit: Generation of Model Transformer from Metamodel Mapping

<<parses>>

M2

M1

Page 14: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Metamodel A

Internal Representation Of Model 1

Leser (Lexer, Parser)

<<instance-of>>

<<generates>>

External Representation of a

Model 1

Exchange Metamodel B

<<instance-of>>

<<mapping>>

Repository

<<import>>

Schreiber (pretty printer)

<<export>>

Control

<<steuert>>

Benefit: Generation of Parsers and Printers

M2

M1

Page 15: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Generation Results Automated Generation Process

Manually Provided

Specifications

Benefit: Generation of Language-Specific Editors

o  Syntax highlighting and completion o  Serialization and deserialization of data

Language Editors

Metamodel

Textual Syntax in EBNF

Generation of Syntax

Services

Page 16: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Repository

Eclipse and its EMF Metahierarchy (Metalanguage EMOF)

M3

M2

M1

EMOF

EMOF UML CWM

EMOF-Java Access Package

UML-Java Access Package

CWM-Java Access Package

M0 EMOF-Java Objects

UML-Java Objects

CWM-Java Objects

EMOF-Java Database Objects

UML-Java hibernated Objects

CWM-Java File Objects

Persistence Layer

<<generates>>

<<load>>

Metamodel repository

(EMOF-based)

Page 17: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Example: EMOF/Ecore based Metamodel of Statecharts

M3: Ecore is the metalanguage of Eclipse An implementation of EMOF, provided by the Eclipse Modeling Framework (EMF). M2: a metamodel of statecharts M1: a set of states and their transitions

Page 18: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

1.2) The Foundation: Model-Driven Integration of Technical Spaces (MDI)

Syntactic and Semantic Modeling

18

First MDI workshop: http://mdi2010.lcc.uma.es/

Ontology-Driven Software Development

Page 19: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

19 Ontology-Driven Software Development

Page 20: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

20

Different Technical Spaces

Cuneiform Sumarian pictographic language (2800 bC, protowriting)

Ugarit phonetic alphabet (1500 bC, writing)

Ontology-Driven Software Development

Schøyen Collection MS 3029. USA-PD https://en.wikipedia.org/wiki/File:Sumerian_26th_c_Adab.jpg PD https://upload.wikimedia.org/wikipedia/commons/0/04/22_alphabet.jpg

Page 21: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Why „Integration“?

o  Multiple Technical Spaces (TS)

21

Domain Ontologies

RDFS M3

M2

M1

OWL

TS Ontology-

ware

Business Process Models

EMOF/Ecore

BPMN

TS Eclipse-

ware

Ontology-Driven Software Development

Page 22: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Technical Spaces

o  A technological space is a working context with a set of associated concepts, body of knowledge, tools, required skills, and possibilities.

o  It is often associated to a given user community with shared know-how, educational support, common literature and even workshop and conference regular meetings. n  Ex. compiler community, database community, semantic web

community o  [Technological Spaces: an Initial Appraisal. Ivan Kurtev, Jean Bézivin, Mehmet Aksit.

CoopIS, DOA’2002 Federated Conferences, Industrial Track. (2002) http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.109.332&rep=rep1&type=pdf]

o  A technical space is a model management framework accompanied by a set of tools that operate on the models definable within the framework.

o  [Model-based Technology Integration with the Technical Space Concept. Jean Bezivin and Ivan Kurtev. Metainformatics Symposium, 2005.]

o  http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.1366&rep=rep1&type=pdf]

22 Ontology-Driven Software Development

Page 23: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Problem: Many Technical Spaces Exist!

Domain Ontologies

Class Diagrams

RDFS

EMOF

M3

M2

M1

OWL

UML-CD TS OWL-ware

TS Ecore

Business Process Models

ADOxx

BPMN

TS ADO

Graph Models

grUML Schema

grUML

TS TGraph

23 Ontology-Driven Software Development

Page 24: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Reasons for Multiple Technical Spaces

o  Special tools shall be reused n  Databases

o  The system is heterogeneous and needs middleware n  distributed n  Language heterogeneous n  Third party producer n  Service-oriented architecture

o  Syntax vs Semantics n  The Logic / Software Engineering dichotomy is just an example

for two different technical spaces o  Multi-Technical-Space-Development

24 Ontology-Driven Software Development

Page 25: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Reason: “Syntactic” and “Semantic” Modeling

o  In the UML world, syntactic modeling is dominant (structural models) n  Structural modeling is needed most, semantics can wait.. n  Different forms of static semantics are done in OWL and other TS

o  Dynamic semantics?

25

Ontologies

Abstract Interpretation

Model checking

Syntactic modeling

world

OWL CTL

UML SysML

Static Semantic Expert

Software Engineer

Service Engineer

Knowledge Engineer

Petri nets

Structured Operational Semantics

(SOS)

Natural Semantics

Dynamics Semantic Expert

Ontology-Driven Software Development

Page 26: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Goal: Marrying Ontologies and Software Technology

o  Bring together domain knowledge and software know-how o  Bridge technical spaces o  [ODSD]

26

Ontology World

Software modeling

world

OWL RDFS

UML SysML

Domain Expert

Software Engineer

Service Engineer

Knowledge Engineer

Ontology-Driven Software Development

Page 27: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Use Ontologies for Static Semantics!

27

Software Process

generic process tools

Methodology

generic modelling tools

Automation

generic transformation and validation tools

Process Models

+ Ontologies

Meta- Models

+ Ontologies

•  Investigate applicability of ontology technology (semantics reasoning)

•  Ontology-based software development (Chap. 1.)

•  Logic-based DSL (Chap. 2.)

Transform., Constraints

+ Ontologies

Page 28: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

MOST – Case Studies for TS Integratino

28

Comarch Network Devices

Comarch OSS

SAP Business Processes

Software Process

network device design and instantiation

data-centric devel-opment of telecom-munication support systems

business processes refinement and grounding

Methodology MDSD using Physical Devices DSL and Physical Device Instances DSL

MDSD using Business Entities DSL, Managed Entities DSL, and Database DSL

MDSD using BPMN

Automation network configuration validation

consistency checking, transformation between abstraction layers

business process re-finement validation, business process grounding validation

Page 29: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

1.2.1) What is Model-Driven Software Development?

29 Ontology-Driven Software Development

Page 30: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

State of the Art Syntactic Modeling: Model-Driven Software Development (MDSD)

CIM2PIM

PIM2PSM PSM2Code

PIM Consistency

checker

Requirements Model (CIM) Platform-

Independent Model (PIM)

Platform-Specific

Model (PSM)

30 Ontology-Driven Software Development

Page 31: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

State of the Art Syntactic Modeling: Domain-Specific Languages (DSL)

CIM2PIM

PIM2PSM PSM2Code

PIM Consistency

checker

Requirements Model (CIM) Platform-

Independent Model (PIM)

Platform-Specific

Model (PSM)

31

Domain-specific Language (DSL)

Ontology-Driven Software Development

Page 32: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

State of the Art Usage of Ontologies: Querying on the Implementation Level

32

CIM2PIM

PIM2PSM PSM2Code

PIM Consistency

checker

Domain ontology

Business Process ontology

Requirements Model (CIM) Platform-

Independent Model (PIM)

Platform-Specific

Model (PSM)

EclipseWare technical Space

OntologyWare technical Space

query

Ontology-Driven Software Development

Page 33: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

What are „Integrated Ontology Services/Querying“?

33

CIM2PIM

PIM2PSM PSM2Code

PIM Consistency

checker

Domain ontology

Business Process ontology

Requirements Model (CIM) Platform-

Independent Model (PIM)

Platform-Specific

Model (PSM)

EclipseWare Techn. Space

OntologyWare Techn. Space

Ontology-Driven Software Development

Page 34: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

34

•  Precise documentation of services provided by ontology technology

•  Classification •  Consistency Checking •  Explanation •  Consistency Guidance (Checking with Explanation) •  Merging •  Querying •  Satisfiability •  Subsumption (with Explanation) •  Forget

Advantage: Services Provided by Ontology Technology

Ontology-Driven Software Development

Page 35: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

1.2.2) What is Ontology-Driven Software Development?

35 Ontology-Driven Software Development

Page 36: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Ontology-Driven Software Development (ODSD)

36

CIM2PIM

PIM2PSM PIM2PSM

PIM Consistency

checker

Domain Ontology

Business Process

Ontology

Requirements Model (CIM) Platform-

Independent Model (PIM)

Platform-Specific

Model (PSM)

EclipseWare Techn. Space

OntologyWare Techn. Space

Requirements Ontology

Platform-Independent

Ontology

Platform-Specific Ontology

Page 37: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Transformation Bridges enable „Model Transport“ between Technical Spaces

37

CIM2PIM

PIM2PSM PIM2PSM

PIM Consistency

checker

Domain Ontology

Business Process

Ontology

Requirements Model (CIM) Platform-

Independent Model (PIM)

Platform-Specific

Model (PSM)

Software Modeling Techn. Space

OntologyWare Techn. Space

Requirements Ontology

Platform-Independent

Ontology

Platform-Specific Ontology

?

1

2

3

!

Page 38: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

1.2.3) Bridging Technical Spaces

38 Ontology-Driven Software Development

Page 39: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Bridging Technology for Integrated Ontology Services in ODSD

o  Model transformation bridge (physical transport to the other space on M1)

o  Language integration bridge integrates languages (mapping between metamodels on M2)

o  Metalanguage integration bridge integrates metalanguage (mapping between modeling concepts on M3)

39

Ontologies Software Models

Language mapping

transformative

ModelWare

Ontology Ware

Ontology-Driven Software Development

Metalanguage mapping

Page 40: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

OntowareTS ModelwareTS

BridgingTechnology

EcoreMetametamodel

DSLMetamodel

Model Model

OntologyTBox

OWL2Metamodel

ABox M1

M2

M3

QueryingReasoningTechnology

ValidaDonConstraintTechnology

BridgingtechnologiesinDetail

conformsTo

conformsTo

Tools

Tools

transformation

integration

query language

o  Model transformation bridge (physical transport of models to the other space)

o  Language integration bridge integrates languages o  Metalanguage integration bridge integrates metalanguages

40 Ontology-Driven Software Development Courtesy T. Walter, S. Staab, Uni Koblenz

Page 41: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Example: Many Technical Spaces in MOST

Domain Ontologies

Class Diagrams

RDFS EMOF M3

M2

M1

OWL UML-CD

TS OWL-ware

TS Ecore

Business Process Models

ADOxx

BPMN

TS ADO

DS Models

OWL+KM3

DSL

TS OWL-KM3

Graph Models

grUML Schema

grUML

TS TGraph

41 Ontology-Driven Software Development

Page 42: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Language and Metalanguage Integration Bridges in MOST

o  [ODSD]

Ontology-Driven Software Development 42

Ontology Structure Definition Language

Query Language

Model Structure Definition Language

Query Language

TwoUse

ADO-EMF

SPARQL-GreQL

OntoDSL

ModelWare

Ontology Ware

RDF-TGraphs

Many…

Page 43: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Transformation Bridges (for the same language)

o  A model transformation bridge moves all models (artefacts, specifications) from the software modeling tool to the reasoner n  Generated from a metamodel mapping, e.g., TwoUse

43

Business Process Models

Business Process Texts

Business Process Models

OWL EBNF EMOF/ECore

Printer Parser

Printer Parser

OWLizer Generator

EMFText Generator

M3

M2

M1

BPMN BPMN BPMN

TS Ontology

-ware

TS Grammar

-ware TS

EclipseWare

Ontology-Driven Software Development

Page 44: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Language Bridge Uses a Mapping of Language Concepts

►  For all metaclasses in metamodels, give a mapping (language mapping)

–  Used to generate model printer und parser

UML Models Textual

Representation of UML in XML

UML UML

Printer

Parser

MOF XSD

TS MOF TS XML

M3

M2

M1

Type

Attribute

Association

Type

Attribute

Association

Page 45: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Ex.: Language Mapping Between EMOF and OWL

EMOF RDFS Object Axiom/Instance Class Class Attribute Role Association Property Scalar DataProperty Type ObjectProperty Inheritance Is-a

… workarounds … … workarounds …

Ontology-Driven Software Development 45

Page 46: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Example: XMI, a Transformative TS-Bridge for UML

o  XMI is a standardized textual TS-bridge of OMG, e.g., for UML n  From MOF to XSD/XML n  From EMOF to XSD/XML

UML Models Textual

Representa-tion of UML in

XML UML Models

UML UML UML

Printer Parser

Printer Parser

MOF XSD EMOF

TS MOF TS XML TS EMOF

M3

M2

M1

XMI XMI

Page 47: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Example: JSON, a Textual Transformative TS-Bridge

►  JSON (Java Script Object Notation) is a lightweight exchange format between technical spaces

►  http://www.json.org/ http://www.ietf.org/rfc/rfc4627.txt?number=4627

DFD Modelle

Textuelle Repräsenta-

tionen von DFD in JSON

DFD Modelle

L L L

Printer Parser

Printer Parser

MOF JSON EMOF

TS MOF TS JSON TS EMOF

M3

M2

M1

JSON Bridge JSON Bridge

Page 48: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

ADOxx

Example: TwoUse-Based Transformation Bridge [U Koblenz]

TrOWL (U Aberdeen) WS

UML, BPMN, DSL… Modelling world

Ontology Reasoning World TwoUse “Bridge”

Declarative Constraints Expressed in OWL

1. IsModelValid (model, query)

Integrated Modelling based on MOST Integrated Language

2. Transform intgr. model “model” into OWL only ontology and transform

query into SparQL

3. IsOntologyValid (onto, query)

4. Perform Reasoning on Ontology “onto”

5. return ontology result

Modelling World

6. process result back As model result

7. return model result

0. create integrated model “model”

8. display result on model “E.g. mark invalid objects”

ADOxx (BOC)

TwoUse

ADOxx as an integrated modelling toolkit

TwoUse as bridge Or adapter TrOWL as

semantic reasoner

+

•  ADOxx → TwoUse Metamodel → TrOWL •  Metamodel mapping OWL/UML-CD

48 Ontology-Driven Software Development Courtesy T. Walter, S. Staab, Uni Koblenz

Page 49: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

1.3 Integrated Modeling in ODSD

Ontology-Integrated Modeling with Ontologies and Software Models

49 Ontology-Driven Software Development

Page 50: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Ontology-Integrated Modeling

50

o  Tight integration enables Ontology-Integrated Modeling with Ontologies and Software Models n  Using technical space bridges internally

o  In the same specification, Users give: n  Syntactic structure n  Semantic constraints

o  Models are checked by reasoner immediately o  Feedback is given interactively

o  See Reasoning Web. Semantic Technologies for Software Engineering, 6th International Summer School 2010, Dresden, Germany, August 30 - September 3, 2010. Tutorial Lectures, LNCS 6325, Springer

Ontology-Driven Software Development

Page 51: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Generation Results Automated Generation Process

Manually Provided

Specifications

Generation of Integrated Editors

Generation of Semantics

Services Integration

ODSD Domain Editors

Integration Specification

Metamodel

Textual Syntax in EBNF

Generation of

Syntax Services

Ontology

Page 52: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

OntoDSL: Domain-Specific Modeling with Hidden Transformation Bridge o  OntoDSL development environment for DSL for integrated modeling o  Based on Metalanguage bridge (KM3+OWL) o  As well as Language bridge (KM3+OWL) o  Transformation Bridge transports the integrated specifications to ontology space o  Feedback of reasoner is transported back

Integrated Metametamodel

:M3

:M2Integrated Model(Abstract Syntax)

Domain Model

instanceOf

instanceOf

KM3Metametamodel

OWL Metamodel

Constraints / AxiomsOWL

Ontology

instanceOf

ABox

TBox

Reasoning Service

M2':

M1':

Domain Definition Metamodel

(Concrete Syntax)transform

transform

Development Environment

Ontology Definition

Visualization

User

Language Designer

Metalanguage Developer

52 Ontology-Driven Software Development [picture from Universität Koblenz/Landau, T. Walter, S. Staab]

Page 53: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Network Device Specification (Graphic DSL Editing)

53 Logic-Based DSL Courtesy K. Miksa, Comarch

Page 54: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Graphic DSLs in Device Modeling

54 Logic-Based DSL K. Miksa, COMARCH

Page 55: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Screencast

Ontology-Driven Software Development 55

Page 56: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

2-Dimensional Modeling Bridge (Example)

o  [RW 2010]

M2 Layer Metamodel

M1 Layer Domain model

O2 ontological type layer O1 ontological instance layer

linguistic instanceOf

linguistic instanceOf

ontological hasType

Ontological metaHasType

DomainEngineeringOntology

TBox ABox

TBox

ABox

LanguageEngineeringOntology

à used to describe domain models with the expressiveness of ontology languages

à used to validate domain models wrt. metamodels using ontology technologies

Device DeviceInstance

Cisco7600 Cisco7603

Page 57: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

1.3.2 Process Refinement Guided by Ontologies

o  MOST developed Guidance Engine o  To guide developers while developing software

o  Development support: n  Suggest continuation tasks n  Invalid refinement of processes -> propose remodeling n  Unbound tasks in processes ->

propose refinement or remodeling

2010-10-19 Marrying Ontology and Software Technology 57

Page 58: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Screenshot: MOST Workbench on ADO Workbench (BOC)

2010-10-19 Marrying Ontology and Software Technology 58

Page 59: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Example: Suggest Continuation Tasks

o  Game contests as processes

2010-10-19 Marrying Ontology and Software Technology 59

Page 60: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Example ctd.

2010-10-19 Marrying Ontology and Software Technology 60

Page 61: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Discover Refinement Clashes

2010-10-19 Marrying Ontology and Software Technology 61

Page 62: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Screenshot: Marking Ill Refinements

2010-10-19 Marrying Ontology and Software Technology 62

Page 63: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Example Remedied

2010-10-19 Marrying Ontology and Software Technology 63

Page 64: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Example: Now Refinement Works!

2010-10-19 Marrying Ontology and Software Technology 64

Page 65: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Technology: Process Refinement Ontology

o  Process ontology n  Tasks as concepts n  Ordering relations as to and from properties

o  Refinement constraints: n  Execution order after refinement must correspond to order before

refinement n  Pre-refinement process as constraints of post-refinement process

2010-10-19 Marrying Ontology and Software Technology 65

Page 66: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Accomplished ODSD Scenarios in MOST

66

CIM2PIM

PIM2PSM PIM2PSM

PIM Consistency

checker

Device Ontology

Requirements Model (CIM)

Platform-Independent Model (PIM)

Platform-Specific Model (PSM)

Requirements Ontology

Business Process Ontology

Refined Business Process

Ontology

Cons. Check

Traceability

BPMN model Refined BPMN

model

Device model

Feature Model

Feature Ontology

Refinement

Traceability

Page 67: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

1.4 Ontology-Driven Software Development

67

Page 68: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

The Future of “Syntactic” and “Semantic” Modeling

o  Standalone syntactical TS will remain o  How to bridge them to several semantic technical spaces?

68

Ontologies

Abstract Interpretation

Model checking

Syntactic modeling

world

OWL CTL

UML SysML

Static Semantic Expert

Software Engineer

Service Engineer

Knowledge Engineer

Petri nets

Structured Operational Semantics

(SOS)

Natural Semantics

Dynamics Semantic Expert

Ontology-Driven Software Development

Page 69: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Static Semantic World

Ontologies Abstract

Interpretation Model checking

Structural (syntactic) Modeling World

Structure

Hierarchies Graphs

Static Semantic Expert

Software Engineer

Dynamic Semantic World

Interpretation

State systems

Simulation

Dynamics Semantic Expert

EMOF UML-CD

MOF

OWL CTL

Petri nets SOS

Natural Semantics

Domain world

Ontologies

Domain models

Domain Expert

OWL

Consistency needs Semantic Technical Spaces

Page 70: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Total Progress of MOST

o  A new level in Software Engineering

70

Development with untyped languages

Type-safe development with typed languages

Constraint-safe development with constraint languages

Guided development with advising languages

Consistency-preserving

development with ontology languages

1950

1960

1980

2010

1990

2000

2020

2030

1970

Ontology-Driven Software Development (ODSD)

Page 71: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

What is Beyond ODSD?

71

Development in one technical space

Development with two technical spaces

Guided development

Consistency-preserving development

Constraint-safe development with constraint languages

Ontology-Driven Software Development (ODSD)

Development with multiple technical spaces

Page 72: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Multi-Technical-Space Tools

►  To engineer BIG software, many technical spaces are used at the same time (XML, Java, C, csv, OWL, UML, ...)

►  Tools of the future need to handle several technical spaces ►  Systematic engineering of technical space bridging is necessary

A Multi-TS-Tool uses several technical spaces at the same time

Model Engineering builds bridges between technical spaces

►  Bezivin's Model Engineering Metaphor

Page 73: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Embedded Software

Component A

Real-time

Safety

Dynamics

Energy

Embedded Software

Component B

Real-time contract checking (Technical Space 1)

Safety contract checking (Technical Space 2)

Dynamics contract checking (Technical Space 3)

Energy contract checking (Technical Space 4)

Motivation: Multi-Quality Contracts in Embedded Software (Multi-TS Development)

73 Ontology-Driven Software Development

Page 74: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

Motivation: Multi-Quality Contracts in Embedded Software (Multi-TS Development)

o  MOST Bridge technology can be transfered o  Guided software development important for certification

74

System architecture

model

Safety contracts + Safety

Checker

Dynamics Contract + Dynamics language

Syntactic Technical Space Eclipse EMOF

Semantic Technical Space Safety

Semantic Technical Space Hybrid Automata

Energy contract + Energy analysis

Semantic Technical Space Energy

Real-time contract + Real-time analysis

Semantic Technical Space Real-Time

Ontology-Driven Software Development

Page 75: Current Trends and Perspectives in Ontology-Driven ...ua1/Talks/2013/2013/2013-08-27-assmann-ontolog…Current Trends and Perspectives in Ontology-Driven Software Development (ODSD)

The End