Skip to content

Scenario Analytics with OFacTAna

KPI and Schedule Analytics

The scenario analysis component is part of the planning services. This means that it is intended as a component for contact with the user. Especially for the production planner or controller, but actually only the frontends.

The component is used to analyze one to n scenarios. Analysing means in this context to calculate Key Performance Indices (KPI's), create schedules etc. Based on these scenario analyzes, they can be compared to each other.

Integration in the ecosystem

The OFacTANA (scenario analytics) component is based on the state model. It takes the process executions from the state model and creates for each process execution a data row entry in the event log table. Since each process execution has references to the associated entities (resources, parts, processes, orders), all required information can be extracted from the process executions. Given the event log table, KPIs can be calculated and presented on the dashboard.

Analytics Workflow

Event Log Tables

Coming deeper, a single table is not enough.

Table Brief Summary
Process Execution Each row contains a process execution.
Process Execution Order Each row contains a feature, order and process execution combination.
Process Execution Part Each row contains a part and process execution combination.
Process Execution Resource Each row contains a resource and process execution combination.
Order Each row contains an order.
Resource Inventory Each row contains a storage, stored entity, quantity and process execution combination.
Digital Twin Combines the process execution tables

Process Execution

The process execution table contains all process executions of the state model.

Column Name Description
Process Execution ID (int32) Unique Identification of the Process Execution (Reference for all other columns)
Event Type (str) PLAN or ACTUAL (np.nan if not available)
Start Time (datetime64[ns]) Start Time of the Process Execution
End Time (datetime64[ns]) End Time of the Process Execution
Process ID (int32) Unique Identification of the Process
Process Name (str) Name of the Process
Process Type (str) Process or ValueAddedProcess
Process Category (str) Main Material Flow (Order) or Supporting Material Flow (...)
Resulting Quality (float) Resulting Quality of the Process Execution
Main Resource ID (int32) Main Resource executed the Process
Origin ID (int32) Origin Resource from the Process Execution
Destination ID (int32) Destination Resource from the Process Execution
Order ID (int32) Unique Identification of the Order associated with the Process Execution
Source (str)
Connected Process Execution ID (int32)

Process Execution Order

The process execution table contains all process executions of the state model

Column Name Description
Process Execution ID (int32) Unique Identification of the Process Execution (Reference for all other columns)
Order ID (int32) Unique Identification of the Order associated with the Process Execution
Order Name (str) Name of the Order associated with the Process Execution
Order Identifier (str) Identifier of the Order coming from physical world
Feature Requested ID (int32) Unique Identification of the feature processed by the Process Execution
Feature Requested Name (str) Name of the feature processed by the Process Execution
Customer ID (int32) Unique Identification of the customer demand the product processed by the execution
Customer Name (str) Name of the customer demand the product processed by the execution

Process Execution Part

The process execution table contains all process executions of the state model

Column Name Description
Process Execution ID (int32) Unique Identification of the Process Execution (Reference for all other columns)
Part Involved ID (int32) Unique Identification of the Part processed in the Process Execution
Part Involved Name (str) Name of the Part processed in the Process Execution
Part Transformation Node ID (int32) Unique Identification of the Transformation Node processed the part in the Process Execution
Entity Type ID (int32) Unique Identification of the Entity Type from the Part
Entity Type Name (str) Name of the Entity Type from the Part

Process Execution Resource

The process execution table contains all process executions of the state model

Column Name Description
Process Execution ID (int32) Unique Identification of the Process Execution (Reference for all other columns)
Resource Used ID (int32) Unique Identification of the Resource executing the Process
Resource Used Name (str) Name of the Resource executing the Process
Resource Type (str) Type (class name) of the Respirce executing the Process
Superior Resource Used ID (int32) Unique Identification of the superior Resource executing the Process (e.g., StoragePlace -> Warehouse)

Order

The order table contains all orders of the state model

Column Name Description
Order ID (int32) Unique Identification of the Order (Reference for all other columns)
Order Name (str) Name of the Order associated with the Process Execution
Order Identifier (str) Identifier of the Order coming from physical world
Release Date (datetime64[ns]) Release Date of the Order
Delivery Date Planned (datetime64[ns]) Delivery Date Planned of the Order
Delivery Date Actual (datetime64[ns]) Delivery Date Actual of the Order
Customer ID (int32) Unique Identification of the Customer associated with the Order
Customer Name (str) Name of the Customer associated with the Order
Product ID (int32) Unique Identification of the Product associated with the Order
Product Entity Type ID (int32) Unique Identification of the Product Entity Type associated with the Order

Storage Inventory

The resource inventory table contains all resource inventories of the state model

Column Name Description
Process Execution ID (int32) Unique Identification of the Process Execution (Reference for all other columns)
Event Type (str) PLAN or ACTUAL (np.nan if not available)
Storage Resource ID (int32) Unique Identification of the storage, an entity is stored (add) or extracted (remove)
Superior Storage Resource ID (int32) Unique Identification of the superior resource of the storage resource
Part ID (int32) Unique Identification of the part stored/ extracted from the storage resource
Part Type ID (int32) Unique Identification of the part type stored/ extracted from the storage resource
Resource ID (int32) Unique Identification of the resource stored/ extracted from the storage resource
Timestamp (datetime64[ns]) Timestamp the storing/extraction take place
Quantity (int32) Quantity sored/extracted

Digital Twin

The digital twin table contains all process execution tables concatenated together

Architecture

The scenario analytics component contains two user interaction points, as depicted on the figure below. Both of these interaction points access to the multi scenario handler through an interface. The multi scenario handler manages the available scenarios. Each scenario is mapped to a single scenario handler. The single scenario handler has access to the business logic (kpi calculation) as well as to the repository service. In the business logic component, among others, kpis are calculated based on the event log tables (generated from the dynamic state model). Next to the business logic, the scenario handler can also use the repository services to persist the scenarios. This means that the event logs are persisted.

Architecture of the OFacTAna Component

Multi Scenario Handler

The multi scenario handler manages different scenarios, which can be current state or simulation scenarios. He is responsible for the matching of the scenarios (meaning that they become comparable), and serves also as storage keeper (delete old scenarios or persist them etc.).

(Single) Scenario Handler

The single scenario handler manages only one scenario. It serves as an interface to the kpi calculation and holds an individual scenario identification and a scenario name.

Business Logic

The business logic contains the kpi calculation as well as the calculations for figures. Next to kpi's also schedules can be created. The basis is always the process execution of the scenario state model.

Interface

To show the kpi's on the frontend/ dashboard, the interface is used, where the kpi calculation is pulled from the frontend.

KPI Dashboard

Repository Services

Since the scenarios are until now, only in the RAM storage, the repository services called from the multi scenario handler can be used to persist the scenarios into a database.

Raw Data

Storing the "process execution tables" which contains raw data for the kpi calculations.

KPI Data

Storing already calculated KPI data, equivalent to the values available on the frontend.