Architecture
Behaviour Twin KIT
BASIC ARCHITECTURE
OVERVIEW
A Behaviour Twin use case consists of data and calculation services. In addition, a logic is required, that defines how data and services must interact to produce the desired result. This logic is called skill. It must be invoked directly or indirectly by the consumer.
Data and services are federated over the dataspace:
A use case may consist of multiple data sources and calculation services:
ROLES
Each participant in a Behaviour Twin use case applies to one or more of the following roles:
- consumer (result requester)
- skill provider (provider of the use case logic)
- data provider (provider of usage data, likely an OEM)
- delegator (delegates data to calculation services, likely a supplier of a component that is assembled of sub-components which are providing calculation services)
- calculation service provider (likely a supplier of a part or component)
DETAILED ARCHITECTURE
KNOWLEDGE AGENT
The architecture is based on so-called Knowledge Agents that consists of:
- Federated Catalog
- Matchmaking Agent
- Binding Agents (Provisioning Agent/Remoting Agent)
- Bindings (configurations of binding agents)
The components are federated over all participants. All data (and services) are represented together as a federated knowledge graph. The processing logic for the agents is defined in so-called skills. All communication is handled by EDC connectors.
A detailed view of how Knowledge Agents and skills work is given in the section Knowledge Agent (which comes next to this section).
BUSINESS PROCESS
In Behaviour Twin use cases, the fist step into the federated logic is usually the data provider. There, dependencies of the targeted main-component (e.g. a vehicle) are known. Therefore, registering predefined skills at the data provider is a common option. Such skills then can be initiated by external partners as well as internally. As an alternative, skills can be hosted externally (at the consumer or a third party). In every case, especially if the skill is not located at the data provider, the skill must be written in a way that the relation between the usage data and the calculation services is resolved at the data provider or any other party, that has all the required information in its federated catalog (see To Be Considered).
The following business process is only an example. Depending on how the skill is written, the process can vary.
-
Register skill asset (0.1) and sync federated catalog (0.2):
The predefined skill is registered as an asset at the data provider's EDC connector. The federated catalogs are synchronized periodically. -
Invoke skill asset:
The consumer invokes the skill by calling the agents API at its own EDC connector. The partner's EDC connector address must be known. To resolve this address is up to the use case. A prognosis function result type and a component or vehicle ID (e.g. VIN) is set as parameter for the skill. -
Request skill asset:
The skill is invoked by requesting the skill asset at the data provider via EDC connectors. -
Resolve prognosis function assets by requested result type:
The Knowledge Agent resolves all prognosis function assets from the federated catalog that matches the desired result type. -
Resolve prognosis data assets by function parameter types:
The Knowledge Agent resolves all data assets by the parameter types of the previously matched prognosis function(s). -
Resolve actual usage data and service provider by component ID:
The Knowledge Agent resolves the sub-component of interest, its supplier and the actual related data by the component's ID. -
Fetch data:
The data (parameters for prognosis functions) are fetched from the data provider's bound data source. They are transferred into graph representation by a provisioning agent (data binding agent). -
Transfer data and deploy sub-skill:
The fetched data and a sub-skill (logic for calling the calculation service) are transferred to the calculation service provider's Knowledge Agent via EDC connectors. -
Call service and fetch result:
The calculation service (prognosis function) is called. The data (parameters for the prognosis function) are translated into the format the service requires. This is automatically done by an remoting agent (service binding agent), which is statically configured by service bindings. The result of the service then is translated back into graph format by the remoting agent. -
Return result:
The result is transferred to the invoker of the sub-skill (here, it is the data provider) via EDC connectors. -
Delegate result:
The result is delegated to the consumer via EDC connectors. -
Get result:
The result is delegated to the consumer's application.
To have a common understanding of how to interpret and translate elements in the graph, common ontologies and taxonomies must be used. These are also needed for the interpretation of skills and sub-skills as there is e.g. inheritance in ontologies which must be known by the Knowledge Agent to resolve relations.
BUILDING BLOCK COMPONENTS
USE-CASE-SPECIFIC COMPONENTS
Subsystem | Description |
---|---|
Data Consuming App | This component is the app that is hosted at the consumer and provides the end user interface. |
Usage Data | A data source at the data provider that provides usage data that are required for prognosis services. It can be accessed by the Knowledge Agent via data bindings. |
Calculation Service | A calculation service at the service provider. It accepts input data from federated data sources, calculates the result values and returns them. |
KNOWLEDGE AGENT COMPONENTS
Subsystem | Description |
---|---|
Matchmaking Agent | This component supports SPARQL (skills/sub-skills) to traverse the federated data space as a large data structure. It interacts with the EDC connector. A provider's Matchmaking Agent will be activated by its EDC connector. Therefore, the EDC must offer a Graph Asset (variant of ordinary data assets in the related Catena-X standards). A consumer's Matchmaking Agent interacts with its EDC to negotiate and perform the transfer of sub-skills to other dataspace participants. The Matchmaking Agents are matching the (sub-)graphs and negotiate appropriated graph assets with the partner EDCs. |
Binding Agent | The Binding Agent is a restricted version of the Matchmaking Agent (subset of OWL/SPARQL, e.g., without federation) which is just focused on translating sub-skills of a particular business domain (Bill-Of-Material, Chemical Materials, Production Sites, etc.) into proper SQL- or REST based backend system calls. Binding agents for data bindings are called Provisioning Agent. Binding agents for service bindings are called Remoting Agent. |
Binding | A Binding is part of the configuration of a Binding Agent. It defines the binding (translation form/into graph representation) for specific data/service instances. |
Ontology | The ontology is a formal representation of knowledge that captures concepts, relationships, and properties. It allows a shared understanding and reasoning about the respective domain. It must be hosted in a way that all participants can access it. |
Skill/Sub-Skill | The Skill describes, what to do (which data have to be connected, transferred, processed ...). |
CATENA-X CORE SERVICES (EXCEPT KNOWLEDGE AGENT COMPONENTS)
Subsystem | Description |
---|---|
EDC connector | The Connector of the Eclipse Dataspace Components (EDC) provides a framework for sovereign, inter-organizational data exchange. It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems. |