CASCaRA Reference Implementation

CASCaRA Reference Implementation

This is the concept and design of the CASCaRA App which is a reference implementation used to validate the standard in preparation.

The model gives an overview of the use-cases and the architecture, whereas further details are developed via GitHub issues. The planning is done with a GitHub project.

CASCaRA is a project to standardize collaboration in systems engineering with respect to data format and ontology. A Request for Proposal (RFP) has been accepted by OMG in December 2024. Information in different formats and from diverse sources are transformed and integrated to a common knowledge graph.

A publicly available reference implementation shall validate the concepts of the standard as developed by the CASCaRA submission team. Validation is successful, if real-world data is ingested and the information needs of all users in the product lifecycle are met. Users and software vendors are given the opportunity to influence the project to assure their ideas are taken aboard. A joint effort on fundamental features (where differentiation isn't possible anyways) avoids duplicate work, improves quality and assures interoperability.

The reference implementation addresses the following aspects:

  • Check data format and constraints according to the CASCaRA Metamodel to assure data quality.
  • Persistently store and retrieve CASCaRA Graph data using the standardized API (to be defined).
  • View and edit CASCaRA data in a web-browser.
  • Transform input data with the formats ReqIF, SysML v1 and v2, STEP and FMI/SSP. Other input formats may follow.
  • Integrate input data with different formats to an interwoven knowledge graph.
  • Create output data with the formats RDF/Turtle, JSON-LD and XHTML.
  • Provide a set of standard queries ('competency questions') that work for all data complying with the meta-model.
  • Bring the data into a standardized form to facilitate machine learning and AI applications.

Major requirements (capabilities and characteristics) must be satisfied:

  • Separation of Concerns: Syntax and Semantics are separated, so that no software updates are needed, when the ontology evolves over time.
  • Design for transformation: The CASCaRA Metamodel (‘magic tetrahedron’) assures loss-less transformation between RDF/OWL (Knowledge Graphs), GQL (Property Graphs) and Object-oriented Programming.
  • Federation: RDF and JSON-LD support dataspaces with federated data under full control of the respective owners.
  • Multi-Format Support: JSON-LD, XML, RDF/Turtle and GQL/Cypher supporting in a wide range of technologies.
  • Comply with web-technology and avoid proprietary formats.
  • Extend the software using a documented, if possible standardized plug-in mechanism.

This model is authored with Archi using the ArchiMate 3.2 notation, then transformed to SpecIF via ArchiMate Open Exchange file format and then transformed to HTML. The CASCaRA App will support a similar workflow (among others) for the source data formats chosen.

Properties

Element TypeOutline

SpecIF:Views

Properties

Element TypeViews

Validation Process

Properties

Element TypeHeading

▣  Validation Process

A process to validate the conceptual and technical choices made by the standard in preparation. This is preliminary and needs further discussion and detailing with the target users. Ultimately, the standard must satisfy their use-cases and needs in general.

Subject to validation:

  • Has the CASCaRA Metamodel enough expressive power to deal with real-world data?
  • Can the data be transformed between RDF/Turtle, JSON-LD and GQL without loss? In all directions and in a full round-trip?
  • Are the transformation results consistent, complete, comprehensible and finally useful?
  • Can the user's 'competency questions' be satisfactorily answered?

Validation Process.png

Properties

Element TypeViewpoint
NotationApplication Usage

Statements

▣  Validation Processshows□  Apply Competency Question
□  CASCaRA App
□  CASCaRA Validation Process
□  Check Schema, Consistency and Completeness
□  Create Test-Data
□  Export Adapter
□  File System
□  Import Adapter
□  Original Authoring System
□  Triple-Store
□  UI Plugin
□  Validation Plugin
○  Business Use-Case
○  Sink Data
○  Source Data
○  Test Data [Original]
○  Test Data [RDF]

Module Architecture

Properties

Element TypeHeading

▣  App

The top-level module architecture of the CASCaRA App embedded in its system context.

App.png

Properties

Element TypeViewpoint
NotationApplication Structure

Statements

▣  Appshows□  CASCaRA App
□  Controller
□  Export Adapter
□  File System
□  FS Storage Adapter
□  Import Adapter
□  Knowledge Platform
□  KP Storage Adapter
□  Model Integration Plugin
□  Ontology Plugin
□  Other Storage Adapter
□  UI Plugin
□  Validation Plugin
□  Web-Server
○  Knowledge File
○  Sink Data
○  Source Data

▣  Server

The module architecture of a CASCaRA Server for collaboration along the product lifecycle and as a standardized knowledge base for AI.

Server.png

Properties

Element TypeViewpoint
NotationApplication Cooperation

Statements

▣  Servershows□  API4KP
□  CASCaRA API
□  CASCaRA Server
□  Common Lib
□  Document-DB Storage Adapter
□  Graph-DB Storage Adapter
□  MCP API
○  Cache

▣  Import Processing

Different paths of import processing of the CASCaRA App are shown. They correspond to the edges of the Magic Tetrahedron, which defines the sweet spot where round-trip transformations between RDF, JSON-LD, Object-oriented Data and GQL are possible without loss of information.

The input formats defined have different purpose or strength:

CategoryFormatPurpose and Strength
ProcessingOO ClassesData Processing, Version and Configuration Management, Multi-user Operation
Processing.jsonEquivalent with the above for schema checking, storage
Exchange.cas.jsonldHigher level graph language for API and LD-Processors: Entities and relationships as self-contained objects with URI, standardized type and designated values, explicit, easy to transform
Exchange.cas.xmlEquivalent with the above for users preferring the XML ecosystem
Knowledge Graph.cas.ttlFor use in the RDF/OWL ecosystem: Triple-Stores, SPARQL, SHACL, reasoning, visualization, elegant, compact, needs reasoning to uncover implicit meaning, low level graph („Graph Assembly Language“)
Knowledge Graph.jsonldNot planned, as it is redundant with the above
Knowledge Graph.xmlNot planned, either
Property Graph.gql, .cypFor use in the ecosystem of Labelled Property Graphs: Graph Databases, superior performance, visualization

Import Processing.png

Properties

Element TypeViewpoint
NotationApplication Usage

Statements

▣  Import Processingshows□  Assign Ontology Class
□  Check CASCaRA JSON Schema
□  Check CASCaRA JSON-LD Schema
□  Check CASCaRA XML Schema
□  Check Package Constraints
□  Create CASCaRA Subgraph
□  Integrate Subgraph
□  JSON Schema Engine
□  MVF Engine
□  Read File
□  SPARQL Engine
□  Transform to Subgraph (SPARQL)
□  Transform to Subgraph (XSLT)
□  Transform XML to JSON
□  Weave Subgraph into Graph
□  XSLT Engine
○  any-to-cas.mvf
○  any-to-cas.sparql
○  CASCaRA Graph
○  Configuration Data
○  Graph
○  input.cas.jsonld
○  input.cas.ttl
○  input.cas.xml
○  input.reqif
○  itemType.json
○  Partial Information
○  reqif-to-cas.xsl
○  Source Data

Configuration Options

Properties

Element TypeHeading

▣  Configuration Options

Configuration Options.png

Properties

Element TypeViewpoint

Statements

▣  Configuration Optionsshows□  CASCaRA API
□  CASCaRA App
□  CASCaRA Server
□  CASCaRA Server Adapter
□  Common Lib
□  Export Adapter
□  Graph-DB Server
□  Graph-DB Storage Adapter
□  Import Adapter
○  data.cas.jsonld
○  Graph Database
⬚  2-Layer Client-Server
⬚  3-Layer Client-Server
⬚  Single-User App

Model Elements (Glossary)

Properties

Element TypeModel Elements (Glossary)

⬚  2-Layer Client-Server

A server consists of CASCaRA code accessing a (graph) database in the same container or even on the same virtual machine. One or more browser apps can access the server concurrently.

Properties

Element TypeArchiMate:Grouping

Statements

⬚  2-Layer Client-Servercomposes□  CASCaRA App
□  CASCaRA Server
▣  Configuration Options
shows⬚  2-Layer Client-Server

⬚  3-Layer Client-Server

A server consists of CASCaRA code accessing a (graph) database in a separate container. One or more browser apps can access the server concurrently. When compared with the 2-Layer Client-Server scheme, this configuration has the advantage of being easier to update in a production environment at the cost of a somewhat inferior performance.

Properties

Element TypeArchiMate:Grouping

Statements

⬚  3-Layer Client-Servercomposes□  CASCaRA App
□  CASCaRA Server
□  Graph-DB Server
▣  Configuration Options
shows⬚  3-Layer Client-Server

○  any-to-cas.mvf

The data for the Multi-Vocabulary-Facility (MVF). It contains multiple vocabularies in domain and national languages plus standardized terms called 'concepts' with their synonym and antonym relationships. The concepts correspond to the classes of the CASCaRA Ontology. The relationships can be used for any-to-cas matching as well as the inverse.

Properties

Element TypeData Object

Statements

□  MVF Engine
reads○  any-to-cas.mvf
▣  Import Processing
shows○  any-to-cas.mvf
○  any-to-cas.mvfspecializes○  Configuration Data

○  any-to-cas.sparql

A set of SPARQL Protocol and RDF Query Language queries to extract relevant information from RDF data having a pattern conforming with the CASCARA Metamodel.

Properties

Element TypeData Object

Statements

□  SPARQL Engine
reads○  any-to-cas.sparql
▣  Import Processing
shows○  any-to-cas.sparql
○  any-to-cas.sparqlspecializes○  Configuration Data

□  API4KP

Implements a REST API as designed in APIs for Knowledge Platforms - API4KP.

Properties

Element TypeArchiMate:ApplicationInterface

Statements

□  CASCaRA Server
composes□  API4KP
□  Common Lib
serves□  API4KP
▣  Server
shows□  API4KP

□  Apply Competency Question

Once transformed to RDF/Turtle, still according to the CASCaRA Metamodel, user-defined competency questions shall be applied to the test-data. Those queries shall validate that the graph fulfills the information needs of the various user roles accessing the data. An important criterion is that the same (i.e. standard) queries yield the desired results with data from different sources. Only then, normalization with respect to syntax and semantics is successful. It is expected, however, that the competency questions (the queries) depend on the ontology with the the current set of preferred terms.

Properties

Element TypeArchiMate:BusinessProcess

Statements

□  CASCaRA Validation Process
composes□  Apply Competency Question
□  Check Schema, Consistency and Completeness
precedes□  Apply Competency Question
□  Apply Competency Questionreads○  Business Use-Case
□  Triple-Store
realizes□  Apply Competency Question
▣  Validation Process
shows□  Apply Competency Question

□  Assign Ontology Class

Input data compliant with the CASCARA Metamodel are matched with the CASCaRA Ontology using a MVF Engine using the synonyms and antonyms defined in any-to-cas.mvf.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Check CASCaRA JSON-LD Schema
□  Transform to Subgraph (SPARQL)
□  Transform XML to JSON
precedes□  Assign Ontology Class
□  Assign Ontology Classprecedes□  Check CASCaRA JSON Schema
□  Assign Ontology Classrealizes□  Weave Subgraph into Graph
□  MVF Engine
serves□  Assign Ontology Class
▣  Import Processing
shows□  Assign Ontology Class

○  Business Use-Case

A set of use-cases describing the user's need. Must be exemplary (concrete), relevant and representative.

Properties

Element TypeBusiness Object

Statements

□  Apply Competency Question
□  Check Schema, Consistency and Completeness
□  Create Test-Data
reads○  Business Use-Case
▣  Validation Process
shows○  Business Use-Case

○  Cache

Properties

Element TypeData Object

Statements

□  Common Lib
accesses, stores○  Cache
□  Common Lib
contains○  Cache
▣  Server
shows○  Cache

□  CASCaRA API

Extends the methods of the Common Lib to a ReST API.

Properties

Element TypeArchiMate:ApplicationInterface

Statements

□  CASCaRA Server
composes□  CASCaRA API
□  Common Lib
serves□  CASCaRA API
□  CASCaRA APIserves□  CASCaRA Server Adapter
▣  Configuration Options
▣  Server
shows□  CASCaRA API

□  CASCaRA App

A web application for creating, reading, updating and deleting data elements. The app is configured by the classes loaded at initialization time. The classes govern the choice and the dialog layout for modifying the data. Thus, the same software is used for more or less complex applications.

The architecture includes a plugin mechanism to allow the deployment of new transformations or storage adapters without building and deploying a complete new image, for details see 'Design Plugin Mechanism'.

A major challenge is an optimal design of the programming class structure ('scaffold'), the representation in JSON-LD, RDF/Turtle and GQL according to the CASCaRA Metamodel. Goal is to allow loss-less transformations between all representations. For details see Optimize the 'magic tetrahedron'.

Details of the development, build, integration and deployment environment are discussed in 'Select Development Environment and Programming Language'.

Further aspects:

  • Reporting Interface (e.g. Power-BI), server-side per API or client-side per file (export plugin).
  • Permission Management

Properties

Element TypeApplication Component

Statements

⬚  2-Layer Client-Server
⬚  3-Layer Client-Server
⬚  Single-User App
composes□  CASCaRA App
□  CASCaRA Appcomposes□  CASCaRA Server Adapter
□  Common Lib
□  Controller
□  Export Adapter
□  FS Storage Adapter
□  Import Adapter
□  KP Storage Adapter
□  Model Integration Plugin
□  Ontology Plugin
□  Other Storage Adapter
□  UI Plugin
□  Validation Plugin
□  CASCaRA Appreads○  Source Data
□  CASCaRA Apprealizes□  Check Schema, Consistency and Completeness
□  File System
serves□  CASCaRA App
□  CASCaRA Appserves□  Ontology Plugin
▣  App
▣  Configuration Options
▣  Validation Process
shows□  CASCaRA App
□  CASCaRA Appwrites○  Sink Data

○  CASCaRA Graph

The CASCaRA Graph integrating partial information from different sources. It complies with the CASCARA Metamodel.

Properties

Element TypeBusiness Object

Statements

□  Weave Subgraph into Graph
accesses, stores○  CASCaRA Graph
○  Graph
realizes○  CASCaRA Graph
▣  Import Processing
shows○  CASCaRA Graph

□  CASCaRA Server

A server-side IT application that may serve as a collaboration hub along the product lifecycle and as a standardized knowledge base for AI. Integrated product information is shared as a graph with create, read, update and delete function for individual nodes (entities) and edges (relationships) as well as packages containing a certain sub-graph. The CASCaRA Metamodel defines the graph structure. Import formats are .cas.ttl, .cas.jsonld and .cas.xml. Any .xml file can be imported, if a XSL stylesheet is provided for transformation to .cas.xml. Export formats are .cas.ttl, .cas.jsonld, .cas.xml and .html.

Properties

Element TypeApplication Component

Statements

□  CASCaRA Serveraccesses, stores○  Graph Database
⬚  2-Layer Client-Server
⬚  3-Layer Client-Server
composes□  CASCaRA Server
□  CASCaRA Servercomposes□  API4KP
□  CASCaRA API
□  Common Lib
□  Document-DB Storage Adapter
□  Graph-DB Storage Adapter
□  MCP API
□  CASCaRA Servercontains○  Graph Database
▣  Configuration Options
▣  Server
shows□  CASCaRA Server

□  CASCaRA Server Adapter

Properties

Element TypeApplication Component

Statements

□  CASCaRA App
composes□  CASCaRA Server Adapter
□  CASCaRA API
serves□  CASCaRA Server Adapter
□  CASCaRA Server Adapterserves□  Common Lib
▣  Configuration Options
shows□  CASCaRA Server Adapter

□  CASCaRA Validation Process

Properties

Element TypeArchiMate:BusinessProcess

Statements

□  CASCaRA Validation Processcomposes□  Apply Competency Question
□  Check Schema, Consistency and Completeness
□  Create Test-Data
▣  Validation Process
shows□  CASCaRA Validation Process

□  Check CASCaRA JSON Schema

The subgraph with assigned ontology classes is checked to comply with the CASCARA Metamodel.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Assign Ontology Class
precedes□  Check CASCaRA JSON Schema
□  Check CASCaRA JSON Schemaprecedes□  Check Package Constraints
□  Check CASCaRA JSON Schemarealizes□  Weave Subgraph into Graph
□  JSON Schema Engine
serves□  Check CASCaRA JSON Schema
▣  Import Processing
shows□  Check CASCaRA JSON Schema

□  Check CASCaRA JSON-LD Schema

Check input data with the CASCaRA JSON-LD Schemata.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Create CASCaRA Subgraph
contains□  Check CASCaRA JSON-LD Schema
□  Read File
precedes□  Check CASCaRA JSON-LD Schema
□  Check CASCaRA JSON-LD Schemaprecedes□  Assign Ontology Class
□  JSON Schema Engine
serves□  Check CASCaRA JSON-LD Schema
▣  Import Processing
shows□  Check CASCaRA JSON-LD Schema

□  Check CASCaRA XML Schema

Check input data with the CASCaRA XML Schemata.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Read File
precedes□  Check CASCaRA XML Schema
□  Check CASCaRA XML Schemaprecedes□  Transform XML to JSON
□  Check CASCaRA XML Schemarealizes□  Create CASCaRA Subgraph
▣  Import Processing
shows□  Check CASCaRA XML Schema

□  Check Package Constraints

Package constraints are checked such as:

  • Uniqueness of identifiers
  • Availability of referenced classes
  • Conformance with referenced classes
  • Completeness of namespace definitions
  • and many more.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Weave Subgraph into Graph
contains□  Check Package Constraints
□  Check CASCaRA JSON Schema
precedes□  Check Package Constraints
□  Check Package Constraintsprecedes□  Integrate Subgraph
▣  Import Processing
shows□  Check Package Constraints

□  Check Schema, Consistency and Completeness

Once transformed according to the CASCaRA Metamodel, the data shall be checked with respect to schema (shape, format), consistency (constraints) and completeness. Both formally and by expert inspection.

Properties

Element TypeArchiMate:BusinessProcess

Statements

□  CASCaRA Validation Process
composes□  Check Schema, Consistency and Completeness
□  Create Test-Data
precedes□  Check Schema, Consistency and Completeness
□  Check Schema, Consistency and Completenessprecedes□  Apply Competency Question
□  Check Schema, Consistency and Completenessreads○  Business Use-Case
□  CASCaRA App
realizes□  Check Schema, Consistency and Completeness
▣  Validation Process
shows□  Check Schema, Consistency and Completeness

□  Common Lib

Shared by different CASCaRA Deployment Packages such as Browser App and Server.

Offers the following functions:

Properties

Element TypeApplication Component

Statements

□  Common Libaccesses, stores○  Cache
□  CASCaRA App
□  CASCaRA Server
composes□  Common Lib
□  Common Libcontains○  Cache
□  CASCaRA Server Adapter
□  Document-DB Storage Adapter
□  Export Adapter
□  Graph-DB Storage Adapter
□  Import Adapter
serves□  Common Lib
□  Common Libserves□  API4KP
□  CASCaRA API
□  MCP API
▣  Configuration Options
▣  Server
shows□  Common Lib

○  Configuration Data

Properties

Element TypeData Object

Statements

▣  Import Processing
shows○  Configuration Data
○  any-to-cas.mvf
○  any-to-cas.sparql
○  itemType.json
○  reqif-to-cas.xsl
specializes○  Configuration Data

□  Controller

The controller is the 'main' component and is in charge of managing the execution of requested services in reaction on user or server events. In the easiest case ES promises are used and the scheduling is left to the event queuing of the execution environment. But certain services may require coordination or user feedback (via spinner or log message, for example). So it is the responsibility of the controller to enable and disable elements creating events to maintain the integrity of the app and the data.

Is usually provided by the application framework. An option is to implement an event dispatcher controlled by a state-machine.

Properties

Element TypeApplication Component

Statements

□  CASCaRA App
composes□  Controller
□  Export Adapter
□  FS Storage Adapter
□  Import Adapter
□  KP Storage Adapter
□  Model Integration Plugin
□  Other Storage Adapter
□  UI Plugin
□  Validation Plugin
serves□  Controller
▣  App
shows□  Controller

□  Create CASCaRA Subgraph

Input information as provided by various authoring tools often comes in hierarchical order. Whatever the input format is, it is transformed to a subgraph complying with the CASCARA Metamodel.

Properties

Element TypeArchiMate:BusinessFunction

Statements

□  Create CASCaRA Subgraphcontains□  Check CASCaRA JSON-LD Schema
□  Create CASCaRA Subgraphprecedes□  Weave Subgraph into Graph
□  Create CASCaRA Subgraphreads○  Partial Information
□  Check CASCaRA XML Schema
□  Read File
□  Transform to Subgraph (SPARQL)
□  Transform to Subgraph (XSLT)
□  Transform XML to JSON
realizes□  Create CASCaRA Subgraph
▣  Import Processing
shows□  Create CASCaRA Subgraph

□  Create Test-Data

Create test-data in original format as produced by popular authoring systems of the domain, for example IBM DOORS for requirement management or Cameo for systems engineering.

Initially, test-data should be small and cover relevant and typical aspects of the domain to drive and validate the development of transformations. Later on, real or near-real project data 'from the field' with growing complexity should be supplied.

Properties

Element TypeArchiMate:BusinessProcess

Statements

□  CASCaRA Validation Process
composes□  Create Test-Data
□  Create Test-Dataprecedes□  Check Schema, Consistency and Completeness
□  Create Test-Datareads○  Business Use-Case
□  Original Authoring System
realizes□  Create Test-Data
▣  Validation Process
shows□  Create Test-Data

○  data.cas.jsonld

Properties

Element TypeData Object

Statements

□  Export Adapter
□  Import Adapter
accesses, stores○  data.cas.jsonld
⬚  Single-User App
contains○  data.cas.jsonld
▣  Configuration Options
shows○  data.cas.jsonld

□  Document-DB Storage Adapter

Interfaces a document database, either embedded or in an external container.

Properties

Element TypeApplication Component

Statements

□  CASCaRA Server
composes□  Document-DB Storage Adapter
□  Document-DB Storage Adapterserves□  Common Lib
▣  Server
shows□  Document-DB Storage Adapter

□  Export Adapter

Transforms a selected subgraph from the internal data format according to the CASCaRA Metamodel to a desired output format.

The following transformations are planned for validating the approach (i.e. the standard to submit):

Properties

Element TypeApplication Component

Statements

□  Export Adapteraccesses, stores○  data.cas.jsonld
□  CASCaRA App
composes□  Export Adapter
□  File System
□  Ontology Plugin
□  Web-Server
serves□  Export Adapter
□  Export Adapterserves□  Common Lib
□  Controller
▣  App
▣  Configuration Options
▣  Validation Process
shows□  Export Adapter
□  Export Adapterwrites○  Test Data [RDF]

□  File System

A network file system. Consider to use

  • Windows/MacOS/Linux NFS
  • Samba
  • Git

Properties

Element TypeApplication Component

Statements

□  File Systemaccesses, stores○  Knowledge File
○  Sink Data
○  Source Data
○  Test Data [Original]
○  Test Data [RDF]
□  File Systemcontains○  Knowledge File
○  Sink Data
○  Source Data
○  Test Data [Original]
○  Test Data [RDF]
□  File Systemserves□  CASCaRA App
□  Export Adapter
□  FS Storage Adapter
□  Import Adapter
□  Original Authoring System
□  Triple-Store
▣  App
▣  Validation Process
shows□  File System

□  FS Storage Adapter

Store a subgraph in or retrieve it from a file system.

Properties

Element TypeApplication Component

Statements

□  CASCaRA App
composes□  FS Storage Adapter
□  File System
serves□  FS Storage Adapter
□  FS Storage Adapterserves□  Controller
▣  App
shows□  FS Storage Adapter

○  Graph

The CASCaRA Graph integrating partial information from different sources. It complies with the CASCARA Metamodel.

Properties

Element TypeData Object

Statements

□  Integrate Subgraph
reads/writes○  Graph
○  Graphrealizes○  CASCaRA Graph
▣  Import Processing
shows○  Graph

○  Graph Database

Properties

Element TypeData Object

Statements

□  CASCaRA Server
accesses, stores○  Graph Database
□  CASCaRA Server
contains○  Graph Database
▣  Configuration Options
shows○  Graph Database

□  Graph-DB Server

A container with a standard Graph Database, alternatively a Document Database.

Properties

Element TypeApplication Component

Statements

⬚  3-Layer Client-Server
composes□  Graph-DB Server
□  Graph-DB Serverserves□  Graph-DB Storage Adapter
▣  Configuration Options
shows□  Graph-DB Server

□  Graph-DB Storage Adapter

Interfaces a graph database, either embedded or in an external container.

Properties

Element TypeApplication Component

Statements

□  CASCaRA Server
composes□  Graph-DB Storage Adapter
□  Graph-DB Server
serves□  Graph-DB Storage Adapter
□  Graph-DB Storage Adapterserves□  Common Lib
▣  Configuration Options
▣  Server
shows□  Graph-DB Storage Adapter

□  Import Adapter

Transforms a source data format to the internal data format according to the CASCaRA Metamodel. A full transformation of the source data may not be necessary for the given use-cases, so emphasis is put on the relevant entities and relationships of the source data.

Transformations may use:

  • XSLT in case of XML source data
  • SPARQL in case of RDF source data
  • Scripting

The following transformations are planned for validating the approach (the standard to submit):

Properties

Element TypeApplication Component

Statements

□  Import Adapteraccesses, stores○  data.cas.jsonld
□  CASCaRA App
composes□  Import Adapter
□  Import Adapterreads○  Test Data [Original]
□  File System
□  Ontology Plugin
□  Web-Server
serves□  Import Adapter
□  Import Adapterserves□  Common Lib
□  Controller
▣  App
▣  Configuration Options
▣  Validation Process
shows□  Import Adapter

○  input.cas.jsonld

Input data in XML format. A pattern compatible with the CASCaRA Metamodel is assumed. More precisely: It must comply with the CASCaRA JSON-LD Schemata.

See example files:

Properties

Element TypeData Object

Statements

□  Read File
reads○  input.cas.jsonld
○  input.cas.jsonldrealizes○  Partial Information
▣  Import Processing
shows○  input.cas.jsonld
○  input.cas.jsonldspecializes○  Source Data

○  input.cas.ttl

Input data in RDF Turtle format. A pattern compatible with the CASCaRA Metamodel is assumed to fully interpret the data.

See example files:

Properties

Element TypeData Object

Statements

□  Read File
reads○  input.cas.ttl
○  input.cas.ttlrealizes○  Partial Information
▣  Import Processing
shows○  input.cas.ttl
○  input.cas.ttlspecializes○  Source Data

○  input.cas.xml

Input data in XML format. A pattern compatible with the CASCaRA Metamodel is assumed.

See example files:

Properties

Element TypeData Object

Statements

□  Read File
reads○  input.cas.xml
○  input.cas.xmlrealizes○  Partial Information
▣  Import Processing
shows○  input.cas.xml
○  input.cas.xmlspecializes○  Source Data

○  input.reqif

Input data in ReqIF format. It is assumed that it complies with the OMG Standard Requirements Interchange Format (ReqIF) and with the Prostep ivip Implementation Guideline ReqIF.

Properties

Element TypeData Object

Statements

□  Read File
reads○  input.reqif
○  input.reqifrealizes○  Partial Information
▣  Import Processing
shows○  input.reqif
○  input.reqifspecializes○  Source Data

□  Integrate Subgraph

The final subgraph is integrated in the common Graph, so that data from different sources in various formats can be analysed in a common context. It is used for display, exchange and reference by other applications including AI agents.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Check Package Constraints
precedes□  Integrate Subgraph
□  Integrate Subgraphreads/writes○  Graph
□  Integrate Subgraphrealizes□  Weave Subgraph into Graph
▣  Import Processing
shows□  Integrate Subgraph

○  itemType.json

JSON Schema declaration per CASCARA Metamodel item type, i.e. every block on the metamodel diagram. The latest CASCaRA schema files are published here. The web-service is CORS enabled, thus the schema files can be retrieved from any other web domain.

Properties

Element TypeData Object

Statements

□  JSON Schema Engine
reads○  itemType.json
▣  Import Processing
shows○  itemType.json
○  itemType.jsonspecializes○  Configuration Data

□  JSON Schema Engine

An engine checking a JSON or JSON-LD data set using JSON Schema declarations per CASCaRA Metamodel item type, see itemType.json.

Properties

Element TypeArchiMate:ApplicationService

Statements

□  JSON Schema Enginereads○  itemType.json
□  JSON Schema Engineserves□  Check CASCaRA JSON Schema
□  Check CASCaRA JSON-LD Schema
▣  Import Processing
shows□  JSON Schema Engine

○  Knowledge File

A subgraph represented as RDF/Turtle or JSON-LD.

Properties

Element TypeData Object

Statements

□  File System
accesses, stores○  Knowledge File
□  File System
contains○  Knowledge File
▣  App
shows○  Knowledge File

□  Knowledge Platform

Consider to use a backend with:

  • API4KP Knowledge Artifact Repository API
  • API4KP Knowledge Asset Repository API

Properties

Element TypeApplication Component

Statements

□  Knowledge Platformserves□  KP Storage Adapter
▣  App
shows□  Knowledge Platform

□  KP Storage Adapter

Store a subgraph in or retrieve it from a knowledge platform.

Properties

Element TypeApplication Component

Statements

□  CASCaRA App
composes□  KP Storage Adapter
□  Knowledge Platform
serves□  KP Storage Adapter
□  KP Storage Adapterserves□  Controller
▣  App
shows□  KP Storage Adapter

□  MCP API

A Model Context Protocol (MCP) API is an interface designed to manage and exchange context information between AI models, agents, or services. Its main purpose is to standardize how context—such as user intent, conversation history, environment variables, or task state—is represented, shared, and updated during interactions with or between AI systems.

Key features of a Model Context Protocol API:

  • Context Representation: Defines a structured format (often JSON or similar) for context data relevant to AI models.
  • Context Exchange: Provides endpoints or methods to retrieve, update, and synchronize context between clients, models, and other services.
  • Session Management: Supports tracking and managing context across sessions or conversations.
  • Interoperability: Ensures that different models or agents can understand and use shared context, enabling more coherent and personalized AI behavior.
  • Extensibility: Allows for custom context fields or domain-specific extensions.

Typical use cases:

  • Maintaining conversation state in chatbots or virtual assistants.
  • Sharing user preferences or history between multiple AI services.
  • Coordinating multi-step reasoning or workflows across several models.

Source: GitHub Copilot.

Properties

Element TypeArchiMate:ApplicationInterface

Statements

□  CASCaRA Server
composes□  MCP API
□  Common Lib
serves□  MCP API
▣  Server
shows□  MCP API

□  Model Integration Plugin

Integrates a new subgraph with the existing graph, e.g. by combining nodes representing the 'same' artifact. Two artefacts are considered the same, if class and title are equal. A preliminary decision has been taken to keep the original nodes and to create an 'umbrella' node pointing to two or more nodes of the same artifact.

Properties

Element TypeApplication Component

Statements

□  CASCaRA App
composes□  Model Integration Plugin
□  Ontology Plugin
serves□  Model Integration Plugin
□  Model Integration Pluginserves□  Controller
▣  App
shows□  Model Integration Plugin

□  MVF Engine

A Multi-Vocabulary-Facility mapping terms of multiple domain languages to the CASCaRA ontology terms and vice versa. The OMG Standard Multiple Vocabulary Facility (MVF) is partially implemented for that purpose.

Properties

Element TypeArchiMate:ApplicationService

Statements

□  MVF Enginereads○  any-to-cas.mvf
□  MVF Engineserves□  Assign Ontology Class
▣  Import Processing
shows□  MVF Engine

□  Ontology Plugin

The ontology plugin provides services such as Assign Ontology Class.

Properties

Element TypeApplication Component

Statements

□  CASCaRA App
composes□  Ontology Plugin
□  CASCaRA App
serves□  Ontology Plugin
□  Ontology Pluginserves□  Export Adapter
□  Import Adapter
□  Model Integration Plugin
□  UI Plugin
□  Validation Plugin
▣  App
shows□  Ontology Plugin

□  Original Authoring System

A system to create and maintain information somewhere in the product lifecycle. For example IBM DOORS for requirements management or Dassault Cameo for systems engineering.

Properties

Element TypeApplication Component

Statements

□  Original Authoring Systemrealizes□  Create Test-Data
□  File System
serves□  Original Authoring System
▣  Validation Process
shows□  Original Authoring System
□  Original Authoring Systemwrites○  Test Data [Original]

□  Other Storage Adapter

Store a subgraph in or retrieve it from any other storage system as required.

Properties

Element TypeApplication Component

Statements

□  CASCaRA App
composes□  Other Storage Adapter
□  Other Storage Adapterserves□  Controller
▣  App
shows□  Other Storage Adapter

○  Partial Information

Data provided by various authoring tools such as System Engineering Modeling Tools, Mechanical or Electrical CAD Tools. All are partial information concerning the same product and shall be analyzed and used in a common context.

Properties

Element TypeBusiness Object

Statements

□  Create CASCaRA Subgraph
reads○  Partial Information
○  input.cas.jsonld
○  input.cas.ttl
○  input.cas.xml
○  input.reqif
realizes○  Partial Information
▣  Import Processing
shows○  Partial Information

□  Read File

Read a file from local disk or from URL.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Read Fileprecedes□  Check CASCaRA JSON-LD Schema
□  Check CASCaRA XML Schema
□  Transform to Subgraph (SPARQL)
□  Transform to Subgraph (XSLT)
□  Read Filereads○  input.cas.jsonld
○  input.cas.ttl
○  input.cas.xml
○  input.reqif
□  Read Filerealizes□  Create CASCaRA Subgraph
▣  Import Processing
shows□  Read File

○  reqif-to-cas.xsl

A XSL stylesheet to extract relevant data from a ReqIF file. It is assumed that the source file to transform complies with the OMG Standard Requirements Interchange Format (ReqIF) and with the Prostep ivip Implementation Guideline ReqIF.

The fact that the ReqIF Implementation Guideline proposes certain attribute names as a convention, but no names for the entities (called OBJECT-TYPES) themselves, is a challenge for semantic interoperability. However, daily practice has adopted a number of entity names which can be included in the any-to-cas.mvf to find appropriate ontology classes. It is advised to design the XSL stylesheet for ReqIF in a way that the LONG-NAME of all OBJECT-TYPES is taken as entity class name and to leave all mapping with ontology terms to a subsequent process step, see Assign Ontology Class.

Properties

Element TypeData Object

Statements

□  Transform to Subgraph (XSLT)
reads○  reqif-to-cas.xsl
▣  Import Processing
shows○  reqif-to-cas.xsl
○  reqif-to-cas.xslspecializes○  Configuration Data

⬚  Single-User App

A stand-alone browser app. Data persistence is achieved by exporting a comprehensive file in JSON-LD and re-importing it in the next session. In addition, a browser database can be used.

Properties

Element TypeArchiMate:Grouping

Statements

⬚  Single-User Appcomposes□  CASCaRA App
⬚  Single-User Appcontains○  data.cas.jsonld
▣  Configuration Options
shows⬚  Single-User App

○  Sink Data

The most general term for data produced by the CASCaRA App for further processing.

Properties

Element TypeData Object

Statements

□  File System
□  Web-Server
accesses, stores○  Sink Data
□  File System
□  Web-Server
contains○  Sink Data
▣  App
▣  Validation Process
shows○  Sink Data
○  Test Data [RDF]
specializes○  Sink Data
□  CASCaRA App
writes○  Sink Data

○  Source Data

The most general term for data ingested by the CASCaRA App from previous processing steps.

Properties

Element TypeData Object

Statements

□  File System
□  Web-Server
accesses, stores○  Source Data
□  File System
□  Web-Server
contains○  Source Data
□  CASCaRA App
reads○  Source Data
▣  App
▣  Import Processing
▣  Validation Process
shows○  Source Data
○  input.cas.jsonld
○  input.cas.ttl
○  input.cas.xml
○  input.reqif
○  Test Data [Original]
specializes○  Source Data

□  SPARQL Engine

An engine performing a transformation using the SPARQL Protocol and RDF Query Language.

Properties

Element TypeArchiMate:ApplicationService

Statements

□  SPARQL Enginereads○  any-to-cas.sparql
□  SPARQL Engineserves□  Transform to Subgraph (SPARQL)
▣  Import Processing
shows□  SPARQL Engine

○  Test Data [Original]

Test data in a format provided by an Original Authoring System.

Properties

Element TypeData Object

Statements

□  File System
accesses, stores○  Test Data [Original]
□  File System
contains○  Test Data [Original]
□  Import Adapter
reads○  Test Data [Original]
▣  Validation Process
shows○  Test Data [Original]
○  Test Data [Original]specializes○  Source Data
□  Original Authoring System
writes○  Test Data [Original]

○  Test Data [RDF]

Test data in RDF/Turtle format to allow further processing and reasoning with tools of the RDF ecosystem.

Properties

Element TypeData Object

Statements

□  File System
accesses, stores○  Test Data [RDF]
□  File System
contains○  Test Data [RDF]
□  Triple-Store
reads○  Test Data [RDF]
▣  Validation Process
shows○  Test Data [RDF]
○  Test Data [RDF]specializes○  Sink Data
□  Export Adapter
writes○  Test Data [RDF]

□  Transform to Subgraph (SPARQL)

Transform the input data with its original Turtle format to a CASCaRA compliant subgraph. SPARQL queries defined in any-to-cas.sparql are used.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Read File
precedes□  Transform to Subgraph (SPARQL)
□  Transform to Subgraph (SPARQL)precedes□  Assign Ontology Class
□  Transform to Subgraph (SPARQL)realizes□  Create CASCaRA Subgraph
□  SPARQL Engine
serves□  Transform to Subgraph (SPARQL)
▣  Import Processing
shows□  Transform to Subgraph (SPARQL)

□  Transform to Subgraph (XSLT)

Transform the input data with its original XML format (such as ReqIF) to a CASCaRA compliant subgraph. A stylesheet per input format such as reqif-to-cas.xsl is used. It is advised that the stylesheet is designed to keep the original terminology, so that the transformation is as generally applicable as possible and to assign CASCaRA Ontology classes in a subsequent process step.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Read File
precedes□  Transform to Subgraph (XSLT)
□  Transform to Subgraph (XSLT)precedes□  Transform XML to JSON
□  Transform to Subgraph (XSLT)reads○  reqif-to-cas.xsl
□  Transform to Subgraph (XSLT)realizes□  Create CASCaRA Subgraph
□  XSLT Engine
serves□  Transform to Subgraph (XSLT)
▣  Import Processing
shows□  Transform to Subgraph (XSLT)

□  Transform XML to JSON

XML data compliant with the CASCaRA metamodel is transformed to the equivalent CASCaRA JSON-LD format.

Properties

Element TypeArchiMate:ApplicationFunction

Statements

□  Check CASCaRA XML Schema
□  Transform to Subgraph (XSLT)
precedes□  Transform XML to JSON
□  Transform XML to JSONprecedes□  Assign Ontology Class
□  Transform XML to JSONrealizes□  Create CASCaRA Subgraph
▣  Import Processing
shows□  Transform XML to JSON

□  Triple-Store

A standard database for knowledge graphs, e.g. Apache Fuseki.

Properties

Element TypeApplication Component

Statements

□  Triple-Storereads○  Test Data [RDF]
□  Triple-Storerealizes□  Apply Competency Question
□  File System
serves□  Triple-Store
▣  Validation Process
shows□  Triple-Store

□  UI Plugin

User Interface, such as

  • viewer,
  • editor by forms or diagramming.

The user-interface is class-driven, i.e. the details of the entity, relationship or organizer classes with their respective property classes determine the UI. For example, an editing form for a class with three property classes will have 3 fields expecting input according to its datatype and range. Or a graphical editor for a UML interaction diagram will present a tailored palette with drawing rules for interaction diagrams.

Properties

Element TypeApplication Component

Statements

□  CASCaRA App
composes□  UI Plugin
□  Ontology Plugin
serves□  UI Plugin
□  UI Pluginserves□  Controller
▣  App
▣  Validation Process
shows□  UI Plugin

□  Validation Plugin

Validates a package or a collection of packages, with

  • schema checking
  • constraint/consistency checking.

Properties

Element TypeApplication Component

Statements

□  CASCaRA App
composes□  Validation Plugin
□  Ontology Plugin
serves□  Validation Plugin
□  Validation Pluginserves□  Controller
▣  App
▣  Validation Process
shows□  Validation Plugin

□  Weave Subgraph into Graph

A subgraph transformed form input data is first mapped to the CASCaRA Ontology, checked by schema and constraints and then integrated in the common Graph.

Properties

Element TypeArchiMate:BusinessFunction

Statements

□  Weave Subgraph into Graphaccesses, stores○  CASCaRA Graph
□  Weave Subgraph into Graphcontains□  Check Package Constraints
□  Create CASCaRA Subgraph
precedes□  Weave Subgraph into Graph
□  Assign Ontology Class
□  Check CASCaRA JSON Schema
□  Integrate Subgraph
realizes□  Weave Subgraph into Graph
▣  Import Processing
shows□  Weave Subgraph into Graph

□  Web-Server

A standard web-server used for publication and exchange of information.

Properties

Element TypeApplication Component

Statements

□  Web-Serveraccesses, stores○  Sink Data
○  Source Data
□  Web-Servercontains○  Sink Data
○  Source Data
□  Web-Serverserves□  Export Adapter
□  Import Adapter
▣  App
shows□  Web-Server

□  XSLT Engine

An engine performing a transformation using the Extensible Stylesheet Language (XSL).

Properties

Element TypeArchiMate:ApplicationService

Statements

□  XSLT Engineserves□  Transform to Subgraph (XSLT)
▣  Import Processing
shows□  XSLT Engine