current trends and perspectives in ontology-driven software ...ua1/talks/2013/2013-08...2013/08/27...

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 24-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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 12 Part IV:

    ODSD with Process Guidance

    Ontology-Integrated Modeling

    11

    Outline of [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

  • Generation of Typed Application Programming Interfaces (API)

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

    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

  • Metamodel A

    read

    write

    distribute

    authentificate

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

    Factory

    Reflective access

    Benefit: Generation of Access Layers from Metamodels

    M2

    M1

  • Metamodel A Metamodel B

    Model 1 Model 2

    Tool A

    Tool B Model Transformer

    A->B

    Benefit: Generation of Model Transformer from Metamodel Mapping

    M2

    M1

  • Metamodel A

    Internal Representation Of Model 1

    Leser (Lexer, Parser)

    External Representation of a

    Model 1

    Exchange Metamodel B

    Repository

    Schreiber (pretty printer)

    Control

    Benefit: Generation of Parsers and Printers

    M2

    M1

  • 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

  • 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

    Metamodel repository

    (EMOF-based)

  • 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

  • 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

  • 19 Ontology-Driven Software Development

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 1.2.1) What is Model-Driven Software Development?

    29 Ontology-Driven Software Development

  • 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

  • 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

  • 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

  • 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

  • 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

  • 1.2.2) What is Ontology-Driven Software Development?

    35 Ontology-Driven Software Development

  • 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

  • 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

    !

  • 1.2.3) Bridging Technical Spaces

    38 Ontology-Driven Software Development

  • 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

  • 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

  • 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

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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 1.3 Integrated Modeling in ODSD

    Ontology-Integrated Modeling with Ontologies and Software Models

    49 Ontology-Driven Software Development

  • 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

  • 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

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

  • Network Device Specification (Graphic DSL Editing)

    53 Logic-Based DSL Courtesy K. Miksa, Comarch

  • Graphic DSLs in Device Modeling

    54 Logic-Based DSL K. Miksa, COMARCH

  • Screencast

    Ontology-Driven Software Development 55

  • 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

  • 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

  • Screenshot: MOST Workbench on ADO Workbench (BOC)

    2010-10-19 Marrying Ontology and Software Technology 58

  • Example: Suggest Continuation Tasks

    o  Game contests as processes

    2010-10-19 Marrying Ontology and Software Technology 59

  • Example ctd.

    2010-10-19 Marrying Ontology and Software Technology 60

  • Discover Refinement Clashes

    2010-10-19 Marrying Ontology and Software Technology 61

  • Screenshot: Marking Ill Refinements

    2010-10-19 Marrying Ontology and Software Technology 62

  • Example Remedied

    2010-10-19 Marrying Ontology and Software Technology 63

  • Example: Now Refinement Works!

    2010-10-19 Marrying Ontology and Software Technology 64

  • 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

  • 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

  • 1.4 Ontology-Driven Software Development

    67

  • 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

  • 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

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

  • 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

  • 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

  • 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

  • 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

  • The End