Introduction
An ontology is a formal representation of knowledge within a specific domain, defining classes, properties, and logical relationships that allow machines to understand and reason about information. Think of it as a computational dictionary with built-in logic that describes how concepts relate to each other.
|
Ontologies enable computers to "understand" the meaning of data, not just process it as raw numbers or text. |
Overview
Ontologies serve as the foundational knowledge representation framework for semantic technologies, enabling interoperability and computational reasoning across diverse systems. In the context of digital engineering, ontologies provide the semantic glue that connects different models, tools, and data sources through a shared, formalized understanding of the domain.
The DEFII framework uses ontologies to create an Authoritative Source of Truth (AST) for engineering data, allowing different tools and models to exchange information meaningfully. This is critical for complex systems where multiple disciplines must collaborate effectively.
|
Ontologies are distinct from traditional data dictionaries or taxonomies because they include formal logical axioms that enable automated reasoning about the data. |
Position in Knowledge Hierarchy
Broader concepts: - Part III (is-a)
Narrower concepts: - TBox (part-of) - ABox (part-of) - OWL (is-a) - RDF (is-a) - TLO (is-a) - MLO (is-a) - DO (is-a) - Application Ontology (is-a)
Details
What is an Ontology?
An ontology is a formal, explicit specification of a shared conceptualization. It provides:
-
A set of universal labels for things in a domain
-
Definitions that specify what each label means (including all appropriate members and excluding inappropriate ones)
-
A set of universal relations that apply to all labeled members without exception
|
The primary purpose of an ontology is not to describe data, but to describe the world itself - providing a semantic model of the domain that can be used to interpret data consistently. |
Key Components of Ontologies
The fundamental components of ontologies include:
Component |
Description |
Classes |
Types of things in the domain (e.g., "Catapult", "Projectile", "Mission") |
Object Properties |
Relations between classes (e.g., "hasPart", "isTargetOf") |
Data Properties |
Relations between classes and primitive data types (e.g., "hasLength", "hasMass") |
Individuals |
Specific instances of classes (e.g., "Catapult_1", "Projectile_2") |
Axioms |
Logical constraints that define relationships between classes (e.g., "A catapult must have a launch arm") |
TBox and ABox
Ontologies and ontology-aligned data are often described as two distinct sets:
TBox (Terminology Box) |
ABox (Assertion Box) |
The set of terms defined within an ontology and the logical expressions using them |
The data that is tagged using the TBox |
The most reusable portion of an ontology |
The actual data instances that use the defined terms |
Contains class definitions, properties, and axioms |
Contains statements about specific individuals (e.g., "Catapult_1 hasLength 2.5 meters") |
|
The TBox is the most reusable portion of an ontology, comprising at a minimum the content of a schema that may be applied to data as appropriate. While ontology definition deals mostly with the construction of the TBox, semantic web platforms are largely concerned with understanding the meaning and implications of data within the ABox. |
Types of Ontologies
The context describes four main types of ontologies that can be used with a framework of computationally enabled ontologies for Digital Engineering:
Type |
Description |
Top-Level Ontology (TLO) |
Very general ontology (e.g., Basic Formal Ontology - BFO) that provides philosophical underpinnings for the entire ontology ecosystem |
Mid-Level Ontology (MLO) |
Ontology that adds general content to the TLO (e.g., Common Core Ontologies - CCO) that is common across many domains |
Domain Ontology (DO) |
Ontology that describes specific types of things in a particular domain (e.g., Armaments, Aviation Vehicles) |
Application Ontology |
Ontology that aligns with the metamodels of DE tools (e.g., SysML models) |
|
The DEFII framework uses BFO as a TLO and the Common Core Ontologies (CCO) as an MLO to build domain-specific ontologies for engineering applications. |
Ontology Development Principles
When developing ontologies for digital engineering, the following principles should be followed:
Principle |
Implementation |
Logical, philosophical, and scientific coherence |
Ensure the ontology does not contradict itself or known facts |
Coherence and compatibility with neighboring ontologies |
Reuse existing ontologies and preserve IRIs (Internationalized Resource Identifiers) |
Human understandability |
Provide clear definitions for all terms |
Formalize in a computer usable language |
Use OWL to represent the ontology |
|
A common mistake in ontology development is rigidly adhering to capturing terms "as used" in some workplace or organization. This can lead to ill-defined terms that act as broad catch-alls across a domain, reducing the ontology’s effectiveness. |
Practical applications and examples
Ontology Alignment with SysML Models
One of the most practical applications of ontologies in digital engineering is aligning them with SysML models. The IoIF framework demonstrates this through the following workflow:
-
Create a SysML model (e.g., Block Definition Diagram, Internal Block Diagram)
-
Add stereotypes or metadata to model elements to align them with ontology classes
-
Load the ontology into the IoIF framework
-
Use the ontology to validate and reason about the model
-
Execute analyses using the ontology-aligned data
|
The Catapult example in the context demonstrates how a SysML model can be extended with an ontology to represent the safety mechanism feature, ensuring that both the SysML model and the ontology remain aligned through consistent naming and relationships. |
Example: Catapult Safety Mechanism
Let’s extend the catapult example from the context to demonstrate ontology alignment:
-
In the SysML model, create a new block "SafetyMechanism" and connect it to the "Catapult" block
-
In the ontology (using Protégé), create a new class "SafetyMechanism" with properties:
-
hasPart(object property) to link to the catapult -
isActivatedBy(object property) to link to the trigger mechanism -
isEngaged(data property) with a boolean value
-
:SafetyMechanism a owl:Class ;
rdfs:subClassOf :Mechanism ;
rdfs:label "Safety Mechanism" ;
rdfs:comment "A mechanism that prevents the catapult from firing unless it is actively engaged" .
:hasPart a owl:ObjectProperty ;
rdfs:domain :SafetyMechanism ;
rdfs:range :Catapult ;
rdfs:label "has part" .
:isActivatedBy a owl:ObjectProperty ;
rdfs:domain :SafetyMechanism ;
rdfs:range :TriggerMechanism ;
rdfs:label "is activated by" .
:isEngaged a owl:DatatypeProperty ;
rdfs:domain :SafetyMechanism ;
rdfs:range xsd:boolean ;
rdfs:label "is engaged" .
|
The example above demonstrates how to create a new class and properties in OWL to represent the safety mechanism, with clear definitions and relationships that align with the SysML model. |
Related wiki pages
References
Basic Formal Ontology (BFO)
Common Core Ontologies (CCO)
Protégé Ontology Editor
OWL 2 Web Ontology Language
RDF Concepts and Abstract Syntax
Shapes Constraint Language (SHACL)
Wagner, D.A., et al. (2022). Ontological Metamodeling and Analysis Using openCAESAR
Dunbar, D., et al. (2023). Driving Digital Engineering Integration and Interoperability Through Semantic Integration of Models with Ontologies
Ontology Types and Relationships
Visualize the hierarchy of ontology types and their relationships
Associated Diagrams