Table of Contents

Introduction

The Semantic System Verification Layer (SSVL) is a critical component of the Digital Engineering Framework for Integration and Interoperability (DEFII) that enables automated model verification using ontology-aligned data. It ensures models are well-formed, consistent, and meet specified requirements through three complementary verification approaches.

Overview

The SSVL provides a robust framework for model verification in digital engineering by leveraging ontology-aligned data. It addresses the challenge of ensuring model quality and consistency across complex systems engineering workflows. The SSVL’s three-pronged approach ensures comprehensive verification coverage for a broad range of model requirements:

  • Open World Analysis: Uses Description Logic Reasoning for formal consistency checking

  • Closed World Analysis: Employs SHACL for constraint validation

  • Graph-Based Analysis: Applies graph algorithms to verify structural properties

This layered verification approach ensures models are well-formed and interoperable, which is essential for effective digital engineering workflows.

The SSVL enables the verification of System of Analysis (SoA) models by checking them against specific requirements, ensuring they’re ready for use in trade space analysis and decision-making processes.

Position in Knowledge Hierarchy

Broader concepts: - Part IV (is-a)

Narrower concepts: - Open World Assumption (is-a) - Closed World Assumption (is-a) - Graph-Based Analysis (is-a)

Details

The SSVL provides a systematic approach to model verification through three distinct verification approaches, each addressing different aspects of model quality.

Open World Analysis (Description Logic Reasoning)

Open World Analysis uses Description Logic (DL) reasoning to check for consistency and infer new information based on the ontology. This approach operates under the Open World Assumption (OWA), where anything not explicitly stated is assumed to be unknown rather than false.

DL reasoners like Pellet and HermiT are used to check for consistency and infer new facts based on the ontology’s axioms. This is particularly useful for checking logical constraints that must hold true in the model.

The OWA approach has limitations in that it cannot verify the existence of required elements. For example, if a model should have a specific property, OWA cannot confirm it’s missing—it only knows it’s not explicitly stated.

DL Reasoning Example: Verifying that a SportsUtilityVehicle has exactly 4 wheels would fail for a 3-wheeled SUV under OWA because the reasoner assumes a fourth wheel exists but it’s not explicitly stated.

Closed World Analysis (SHACL)

Closed World Analysis uses the Shapes Constraint Language (SHACL) to perform constraint validation under a Closed World Assumption (CWA). This approach is used to verify the existence of required elements and enforce minimum/maximum cardinality constraints.

SHACL is essential for verifying requirements that depend on the presence of specific elements or relationships. It provides a mechanism for "closing" the analysis context, which is necessary for many practical verification scenarios.

SHACL defines constraints through shapes that specify what must be true about the data. These shapes can be applied to verify requirements like: - "Each SoA Connector shall be terminated at exactly two unique points" - "All value properties shall be tagged with a value in the loaded ontologies"

SHACL is particularly valuable for verifying requirements that involve existence constraints, which cannot be verified using Open World Analysis alone.

Graph-Based Analysis

Graph-Based Analysis applies graph algorithms to verify structural properties of the model. This approach leverages the fact that ontology-aligned data is inherently graph-based, making it suitable for applying well-known graph algorithms.

Graph-Based Analysis is particularly useful for verifying properties like acyclicity, connectivity, and path constraints in the model.

This approach involves: 1. Extracting a subgraph from the ontology-aligned data using SPARQL queries 2. Applying graph algorithms to the extracted subgraph 3. Verifying the structural properties of interest

The most common application is checking for Directed Acyclic Graph (DAG) properties, which is critical for ensuring analysis workflows have a valid sequence.

Graph-based analysis requires transforming ontology-aligned data into a format suitable for graph analysis tools like NetworkX, which may require additional SPARQL queries.

Practical applications and examples

The SSVL is applied to verify System of Analysis (SoA) models using a set of predefined requirements. The following table shows how different verification approaches are applied to specific requirements:

Requirement Number

Requirement Description

Verification Approach

1

Termination points shall not connect to like points (input–input, output–output, value property–value property)

DL Reasoning

2

Each SoA Connector shall be terminated at exactly two unique points

SHACL

3

Each SoA Connector shall be connected to a minimum of one [model] element

DL Reasoning, SHACL

4

Models shall not connect to themselves

SHACL

5

At least one analysis objective shall be present

DL Reasoning

6

Tool specification shall be included

SHACL

7

All value properties shall be tagged with a value in the loaded ontologies

SHACL

8

Models shall be instantiated (there should be a value associated with every entry from the AFD)

SHACL

9

Constraint parameters shall be directional (in SysML—have [DirectedFeature] stereotype with provided or required applied)

SHACL

10

SoA shall form a Directed Acyclic Graph (DAG) when ordered by sequence

Graph Analysis

The verification approach for each requirement is selected based on the nature of the requirement. Some requirements can be verified using multiple approaches, and the practitioner must decide which approach is most appropriate for their specific context.

Example: Verifying a DAG Structure

One common verification task is ensuring that the System of Analysis (SoA) forms a Directed Acyclic Graph (DAG) when ordered by sequence. This is critical for ensuring that analysis workflows have a valid sequence without circular dependencies.

To verify a DAG, the following steps are required: 1. Extract the relevant subgraph from the ontology-aligned data using SPARQL 2. Use a graph analysis library (like NetworkX) to check for cycles 3. Report any detected cycles for remediation

Here’s an example Python code snippet demonstrating how to check for cycles using NetworkX:

import networkx as nx
from rdflib import Graph

= Load ontology-aligned data
g = Graph()
g.parse("soa_data.ttl", format="turtle")

= Create a directed graph
G = nx.DiGraph()

= Extract nodes and edges from the ontology
for s, p, o in g:
    if p == "http://example.org/ontology/terminated_to":
        G.add_edge(str(s), str(o))

= Check for cycles
if nx.is_directed_acyclic_graph(G):
    print("SoA forms a valid DAG")
else:
    # Find the cycle
    cycle = nx.find_cycle(G)
    print("Cycle detected in SoA:", cycle)
When using NetworkX for cycle detection, ensure the graph is properly constructed from the ontology-aligned data. Missing or incorrect relationships can lead to false positives or negatives in cycle detection.

Example: Verifying Value Property Tagging

Another common verification task is ensuring all value properties are properly tagged with ontology terms. This is critical for ensuring data interoperability and consistency.

The following SHACL shape can be used to verify this requirement:
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix ex: <http://example.org/ontology/> .

ex:ValuePropertyShape
    a sh:NodeShape ;
    sh:targetClass ex:ValueProperty ;
    sh:property [
        sh:path ex:taggedWith ;
        sh:minCount 1 ;
        sh:message "Value property must be tagged with an ontology term" ;
    ] .

This SHACL shape ensures that every ValueProperty instance has at least one taggedWith value, verifying Requirement 7 from the example requirements table.

References

SSVL Relationship Diagram

graph TD A[Semantic System Verification Layer SSVL] --> B[Open World Analysis] A --> C[Closed World Analysis] A --> D[Graph-Based Analysis] B --> B1[Description Logic Reasoning] C --> C1[SHACL] D --> D1[Graph Algorithms] A --> E[System of Analysis SoA] E --> E1[Model Requirements] E1 --> E2[Requirement 1] E1 --> E3[Requirement 2] E1 --> E4[Requirement 3] E1 --> E5[Requirement 4] E1 --> E6[Requirement 5] E1 --> E7[Requirement 6] E1 --> E8[Requirement 7] E1 --> E9[Requirement 8] E1 --> E10[Requirement 9] E1 --> E11[Requirement 10] E2 --> B1 E3 --> C1 E4 --> B1 E4 --> C1 E5 --> B1 E6 --> C1 E7 --> C1 E8 --> C1 E9 --> C1 E10 --> D1 E11 --> D1 style A fill:#4CAF50,stroke:#388E3C style B fill:#2196F3,stroke:#0D47A1 style C fill:#FFC107,stroke:#FFA000 style D fill:#E91E63,stroke:#C2185B style E fill:#9C27B0,stroke:#7B1FA2

Associated Diagrams

figure_4.png
figure_115.png
figure_151.png
figure_53.png
figure_6.png
figure_31.png
figure_55.png
figure_23.png
figure_49.png
figure_114.png