ontodsl: an ontology-based framework for domain-specific languages

18
<is web> Information Systems & Semantic Web University of Koblenz ▪ Landau, Germany OntoDSL OntoDSL An Ontology-Based Framework for Domain-Specific Languages Tobias Walter Fernando Silva Parreiras Steffen Staab 08.10.2009

Upload: tobias-walter

Post on 18-Dec-2014

1.231 views

Category:

Documents


5 download

DESCRIPTION

Talk at the 12th International Conference on Model Driven Engineering Languages and Systems, MoDELS, 4‒9 October 2009, Denver, United States.

TRANSCRIPT

Page 1: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web> Information Systems & Semantic Web

University of Koblenz ▪ Landau, Germany

OntoDSLOntoDSL

An Ontology-Based Framework for Domain-Specific Languages

Tobias Walter

Fernando Silva Parreiras

Steffen Staab

08.10.2009

Page 2: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 20092 of 18

Objectives

Motivation• Scenario• Requirements

Description Logics

Ontology-based DSL Frameworks• Design DSLs• Use DSLs

Conclusion

Page 3: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 20093 of 18

Scenario (Roles)

DSL User

DSL DesignerDSL

Metamodel

uses

specifies

Domain Modelbuilds

Metamodeling Language

uses

Framework Developer

specifies

requires

Guidance and services

Guidance and services

ConstraintsConstraints

based on

defined in

Page 4: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 20094 of 18

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

Configuratio

nD

evice

Domain Model:

DSL Designer

Page 5: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 20095 of 18

Scenario (DSL User)

• Requirements of DSL User:• Consistency Checking

• Debugging of domain models

HotSwappableOSM

Configuratio

nD

evice

• Domain Model:DSL User

(inconsistent)

Error

Page 6: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 20096 of 18

HotSwappableOSM

Scenario (DSL User)

Slot

Slot

Slot

Configuratio

nD

evice

• 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 7: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 20097 of 18

SPAInterface

HotSwappableOSM

HotSwappableOSM

Scenario (DSL User)

Slot

Slot

Slot

Configuratio

nD

evice

• 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

ErrorErrorError

Explanation:ConfigurationConfiguration hasSlot some SlotSlot and hasCard some SupervisorEngineSupervisorEngine

Page 8: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 20098 of 18

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

Configuratio

n

• Domain Model:DSL UserC

on

figu

ration

7603

Device

Cisco

7603

(consistent)

Page 9: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 20099 of 18

State of the Art

Metamodel 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 10: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 200910 of 18

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 11: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 200911 of 18

Description Logic (Example)

Cisco7603v Device (1)

Cisco7603´ 9hasConf iguration:Conf iguration7603 (2)

Conf iguration v 9 ¸ 1hasSlot:Slot u (3)

9hasSlot:(9hasCard:SupervisorEngine)

Conf iguration7603´ 9= 3hasSlot:Slot u (4)

9hasSlot:(9hasCard:(HotSwappableOSM t SPAI nterf ace))

Slot v 9hasCard:Card (5)

Card´ HotSwappableOSM t SPAI nterf acet SupervisorEngine (6)

TBox:

ABox:Device(cisco) (1)

Conf iguration(conf ) (2)

Slot(cslot1);Slot(cslot2);Slot(cslot3) (3)

SupervisorEngine(supervisor720);SPAI nterf ace(spa360) (4)

hasConf iguration(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 12: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 200912 of 18

Description Logics

TestTESTtest

tteesstttest

• 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 13: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 200913 of 18

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 14: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 200914 of 18

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

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

DSL User

DSL Designer

FrameworkDeveloper

Page 15: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 200915 of 18

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 some restrictionOn hasCard some SupervisorEngine) {

{

,equivalentWith IntersectionOf(restrictionOn hasSlot with exactly 3 Slot, restrictionOn hasSlot with some restrictionOn hasCard with some UnionOf(HotSwappableOSM, SPAInterface) {

{

DSL Designer

Page 16: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 200916 of 18

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 17: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 200917 of 18

Conclusion

Framework 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 18: OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

<is web>

ISWeb - Information Systems & Semantic Web

Tobias [email protected]

MoDELS 200918 of 18

Discussion…

Thanks for your attention …

… Questions?

http://ontodsl.semanticsoftware.eu

Supported by EU STReP-216691 MOST