Ontology-Driven Software Development
This book is about a significant step forward in software development. It brings state-of-the-art ontology reasoning into mainstream software development and its languages. Ontology Driven Software Development is the essential, comprehensive resource on enabling technologies, consistency checking an...
Saved in:
Main Authors | , , , , |
---|---|
Format | eBook Book |
Language | English |
Published |
Berlin, Heidelberg
Springer-Verlag
2013
Springer Springer Berlin / Heidelberg Springer Berlin Heidelberg |
Edition | 1. Aufl. |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Table of Contents:
- Intro -- Ontology-Driven Software Development -- Foreword -- Contents -- Contributors -- 1 Introduction -- 1.1 Vision: From Type-Safe to Consistency-Based and Guided Software Development -- 1.2 This Book: From Model-Driven to ODSD -- 1.3 Who This Book Is for -- 1.3.1 I Know About Software Development, What Can I Learn from This Book? -- 1.3.2 I Know About Ontology, What Can I Learn from This Book? -- 1.3.3 The Website of This Book -- 1.4 How to Read This Book -- 1.4.1 Part I: Ontology and Software Technology -- 1.4.2 Part II: Foundational Technologies for ODSD -- 1.4.3 Part III: Consistency Checking in ODSD -- 1.4.4 Part IV: ODSD with Process Guidance -- Part I Ontology and Software Technologies -- 2 Model-Driven Software Development -- 2.1 Introduction of MDE -- 2.1.1 Models -- 2.1.2 Metamodels -- 2.1.3 Modelling Languages -- 2.2 MDE Languages -- 2.2.1 UML Class Diagram -- 2.2.2 Metamodelling Language -- 2.2.3 Process Modelling Languages -- 2.2.4 Domain-Specific Language -- 2.2.5 Graph-Based Languages -- 2.2.6 Feature Modelling Languages -- 2.3 Two-Dimensional Modelling -- 2.4 Model Transformation Languages -- 2.4.1 Atlas Transformation Language -- 2.4.2 Graph Repository Transformation Language(*) -- 2.5 Constraint and Query Languages -- 2.5.1 The Object Constraint Language -- 2.5.2 Graph Repository Query Language(*) -- 2.5.3 Process Algebra -- 2.6 Conclusion -- 3 Ontology Languages and Description Logics -- 3.1 Description Logics -- 3.1.1 The Basic Description Language AL -- 3.1.2 The Family of AL Languages -- 3.1.3 Reasoning Tasks in Description Logics -- 3.1.4 Computational Properties for Description Logics -- 3.2 The OWL Family of Ontology Languages and Related Others -- 3.2.1 OWL 2 Web Ontology Language (OWL 2) -- 3.2.2 OWL 2 Profiles -- 3.2.3 EL++ -- 3.2.4 DL-Lite -- 3.2.5 OWL DL -- 3.3 Conclusion
- 6.4.4 Querying Conforming to the Retrieval Patterns -- 6.5 Implementation Based on the TGraph Approach(*) -- 6.5.1 Mapping of TRTT Properties -- 6.5.2 Transformation-Based Identification -- 6.5.3 Technologies for Recording -- 6.5.4 Querying Conforming to the Retrieval Patterns -- 6.6 Implementation Based on OWL(*) -- 6.6.1 Mapping of TRTT Properties -- 6.6.2 Technologies for Recording -- 6.6.3 Querying Conforming to the Retrieval Patterns -- 6.7 Discussions -- 6.8 Conclusion -- 7 Metamodelling and Ontologies(*) -- 7.1 Metamodelling for Ontologies -- 7.1.1 Ontology Definition Metamodel -- 7.1.2 NeOn OWL Metamodel -- 7.1.3 OWL 2 Metamodel -- 7.2 Ontologies for Metamodelling: OWL FA -- 7.2.1 Motivating Example -- 7.2.2 OWL FA Syntax and Semantics -- 7.2.3 Metamodelling with OWL FA -- 7.2.4 Reasoning in OWL FA -- 7.2.5 Preprocessing -- 7.2.6 Consistency Checking -- 7.2.7 Instance Retrieval -- 7.2.8 Justification on OWL FA -- 7.3 Metamodelling in Ontologies and Metamodelling in MOF -- 7.3.1 Open and Closed World Assumptions -- 7.3.2 Ensuring Integrity Constraints in a Closed Domain -- 7.4 Conclusion -- Part III Consistency Checking in Ontology-Driven Software Development (ODSD) -- 8 Ontology and Bridging Technologies -- 8.1 Ontology Services -- 8.1.1 Pattern for Specification of Ontology Services -- 8.1.2 Specification of Ontology Services -- 8.2 Transformation Bridges(*) -- 8.2.1 Transformation Services -- 8.2.2 Example: OWLizer -- 8.3 Integration Bridge(*) -- 8.3.1 Integration Bridge Establishment -- 8.3.2 Integration Bridge Use -- 8.3.3 Example: M3 Integration Bridge -- 8.4 Conclusion -- 9 Ontology Reasoning for Consistency-Preserving Structural Modelling -- 9.1 Reasoning for Requirement Engineering -- 9.1.1 The ODRE Approach -- 9.1.2 Rules for Consistency Checking -- 9.1.3 Rules for Completeness Checking
- 9.1.4 Verification of the Requirement Specification Base -- 9.1.5 Results -- 9.2 Reasoning for Feature Model Analysis -- 9.2.1 Ontology-Based Formalisation of Feature Models -- 9.2.2 Application of Ontology Services for FeatureAnalysis -- 9.2.3 Results -- 9.3 Reasoning for Domain Engineering -- 9.3.1 Physical Devices Ontology -- 9.3.2 Integrating PDDSL and OWL 2 -- 9.3.3 Metamodel Integration -- 9.3.4 Reasoning with Integrated PDDSL and OWL 2 Models -- 9.3.5 Results -- 9.4 Reasoning for UML Class Diagrams -- 9.4.1 TwoUse -- 9.4.2 Results -- 9.5 Conclusion -- 10 Ontology Reasoning for Process Models -- 10.1 A Running Example -- 10.2 Reasoning for Process Modelling and Retrieval -- 10.2.1 Semantic Representation of Process Models -- 10.2.2 Reasoning for Process Retrieval -- 10.3 Reasoning for Process Refinement in BPMN (*) -- 10.3.1 Defining Valid Process Refinement -- 10.3.2 Constraints on Refinement Relations -- 10.3.3 Validating Parallel-Free Process Refinement with Ontology -- 10.3.4 Extending Specific Process with Parallel Gateways -- 10.3.5 Extending Abstract Process with Parallel Gateways -- 10.3.6 Validating Grounding with Ontology -- 10.3.7 Pinpointing and Explaining Sources of Invalidity with Ontology Reasoning -- 10.3.8 Efficient Refinement Validation with Approximate Ontology Reasoning -- 10.4 Reasoning for Process Guidance -- 10.4.1 Concepts and Knowledge Assets of a Modelling Scenario -- 10.4.2 Formalising Guidance Knowledge into Ontologies -- 10.4.3 Retrieving Tasks by Query Answering -- 10.4.4 Generalised Solution for Representation and Retrieval -- 10.4.5 Computational Properties -- 10.5 Conclusion -- Part IV Ontology-Driven Software Development (ODSD) with Process Guidance -- 11 Ontology-Driven Metamodelling for Ontology-Integrated Modelling(*) -- 11.1 Reasoning for Language Engineering and Use
- 11.1.1 Defining an M3 Integration Bridge -- 11.1.2 Using an M3 Integration Bridge -- 11.2 OWLText -- 11.2.1 ODMM with OWLText -- 11.2.2 Realisation and Application of the M3 Bridges and M2 Bridges in OWLText -- 11.2.3 An Exemplary Application of OWLText -- 11.3 Conclusion -- 12 A Platform for ODSD: The MOST Workbench -- 12.1 Towards ODSD Tool Environments -- 12.1.1 Current Tool Environments -- 12.1.2 ODSD Tool Environments -- 12.1.3 Developing a Family of ODSD Tool Environments -- 12.2 Configurable and Tractable Ontology Reasoning Infrastructure for ODSD -- 12.2.1 Closed-World Reasoning in NBox -- 12.2.2 Justification and Explanation -- 12.2.3 Tractability -- 12.2.4 Configurability -- 12.3 Integrated Queries for ODSD -- 12.4 Validation and Explanation in ODSD -- 12.4.1 Validation and Explanations for Process Refinements -- 12.4.2 Validation and Explanations for Domain Engineering -- 12.4.3 Model Repair -- 12.5 Traceability in ODSD -- 12.5.1 Using the Integration Infrastructure for Traceability -- 12.5.2 Benefiting from Transformations Between Modelling and Ontology Languages -- 12.6 Conclusion -- 13 Ontology-Guided Software Engineering in the MOSTWorkbench -- 13.1 Ontology-Based Guidance Engine -- 13.1.1 The Generic Guidance -- 13.1.2 The Generic Guidance Ontology -- 13.1.3 Implementation Technologies -- 13.2 Guidance for Process Refinement Engineering -- 13.2.1 Guidance as a Service for Refinement -- 13.2.2 Guidance as a Process for Refinement -- 13.3 Guidance for Domain Engineering -- 13.3.1 Consistency Guidance -- 13.3.2 Process Guidance -- 13.4 Guidance for Requirements Engineering -- 13.4.1 Requirements Guidance Ontology -- 13.4.2 Guidance for Requirement Engineering -- 13.5 Guidance for Documentation Engineering -- 13.6 Conclusion -- 14 Conclusion and Outlooks -- 14.1 Key questions for Ontology-Driven Software Development (ODSD)
- 4 Case Studies for Marrying Ontology and Software Technologies -- 4.1 Case Studies on Domain Engineering -- 4.1.1 Problem Description -- 4.1.2 Implementation -- 4.1.3 Results -- 4.2 Case Studies on Process Modelling and Refinement -- 4.2.1 Introduction -- 4.2.2 Case Study: Process Refinement -- 4.2.3 Case Study: Querying Tasks and Artefacts -- 4.2.4 Process Refinement Validation: Implementation and Results -- 4.2.5 Querying Tasks and Artefacts: Implementation and Results -- 4.3 Case Study on Software Product Line Engineering -- 4.3.1 Problem Description -- 4.3.2 Case Study Implementation -- 4.3.3 Results -- 4.4 Conclusion -- Part II Foundational Technologies for Ontology-Driven Software Development -- 5 Scalable Ontology Reasoning Services -- 5.1 TrOWL: Tractable Reasoning Infrastructure for OWL 2 -- 5.1.1 Applications -- 5.1.2 Technology -- 5.1.3 Query Answering Using Semantic Approximation(*) -- 5.1.4 Scalable Reasoning Using SyntacticApproximation(*) -- 5.1.5 Local Closed World Reasoning with NBox(*) -- 5.2 Justification of Reasoning Results -- 5.2.1 Justification in General -- 5.2.2 Justification on OWL 2 EL(*) -- 5.2.3 Justification on OWL 2 QL(*) -- 5.3 Conclusion -- 6 Traceability -- 6.1 Fields of Application -- 6.1.1 Change Management -- 6.1.2 Maintenance -- 6.1.3 Project Management -- 6.1.4 Quality Assurance -- 6.1.5 Requirements Management -- 6.1.6 Reuse -- 6.1.7 Reverse Engineering -- 6.2 Traceability-Related Activities -- 6.2.1 Definition -- 6.2.2 Identification -- 6.2.3 Recording -- 6.2.4 Retrieval -- 6.2.5 Utilisation -- 6.2.6 Maintenance -- 6.3 An Universal Traceability Concept -- 6.3.1 The Traceability Relationship Type Template -- 6.3.2 Traceability Retrieval Patterns -- 6.4 Implementation Based on Ecore(*) -- 6.4.1 Mapping of TRTT Properties -- 6.4.2 Transformation-Based Identification -- 6.4.3 Technologies for Recording
- 14.2 Where to Go from Here?