Table of Contents

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:

  1. Create a SysML model (e.g., Block Definition Diagram, Internal Block Diagram)

  2. Add stereotypes or metadata to model elements to align them with ontology classes

  3. Load the ontology into the IoIF framework

  4. Use the ontology to validate and reason about the model

  5. 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:

  1. In the SysML model, create a new block "SafetyMechanism" and connect it to the "Catapult" block

  2. 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.

References

Ontology Types and Relationships

Visualize the hierarchy of ontology types and their relationships

graph TD A[Ontology] --> B[TBox] A --> C[ABox] A --> D[Types of Ontologies] D --> E[Top-Level Ontology TLO] D --> F[Mid-Level Ontology MLO] D --> G[Domain Ontology DO] D --> H[Application Ontology] E --> I[BFO] F --> J[CCO] H --> K[SysML Model Alignment] K --> L[IoIF Framework] L --> M[DEFII Framework] M --> N[Digital Engineering]

Associated Diagrams

figure_92.png
figure_26.png
figure_65.png
figure_47.png
figure_10.png
figure_98.png
figure_23.png