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 1
2 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
<<generates>>
<<generates>>
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
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
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
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
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
<<generates>>
<<load>>
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
Top Related