Technical Area
Resources to ensure that data published in BACK-X is understandable and reusable by all Eclipse EDC connectors and ecosystem participants.
Electronic backend vocabulary
Agreed definitions of domain terms to ensure semantic interoperability between participants.
MachineAsymtekDAODispenserAsymtek dispensing machine. Includes reference to a fluid cabinet (SmartFluidCabinet) through smartfluidcabinet_id. Process: application of adhesives and solder pastes.
MachinePemtronDAOAOIPemtron automated optical inspection (AOI) equipment. Captures circuit images to detect soldering defects, component placement issues and paste quality.
MachineVerticalOvenDAOCuringVertical curing oven. Defines temperature zones (BufferZoneDAO), number of columns, layout and sorting direction. Process: curing of adhesives and resins.
MachineLoaderDAOTransportPCB loader. Defines the maximum buffer capacity (max_range). Controls board entry to the production line.
MachineOkNokDAOTestOK/NOK classification station. Separates conforming from non-conforming products after inspection. Defines maximum buffer capacity (max_range ).
MachineSmartFluidCabinetDAOAuxiliarySmart fluid cabinet. Has three configurable tanks (left/center/right) with material level, variable codes and associated material.
MachineReviewStationDAOInspectionManual review station with AOI integration. Allows an operator to review and reclassify automatic inspection results.
MachineSmartInfinityDAOAdvanced AOISmart Infinity machine with advanced AOI capabilities. Includes AOI software version (version_of_aoi) and AOI activation flag.
Data dictionaries
Technical details of all fields in each data product: type, description, value domain and validation rules.
| Field | Type | Req. | Description | Example |
|---|---|---|---|---|
| Event identification | ||||
event_id |
GUID | Yes | Unique event identifier. Corresponds to EventBase.id | 550e8400-e29b-41d4… |
event_type |
string | Yes | Type discriminator: ProcessEvent, BufferEvent, AlarmEvent, VariableAlarmEvent, InspectionEvent, CommandEvent, MachineEvent | ProcessEvent |
created_timestamp |
DateTime | Yes | Event creation timestamp in the source system | 2024-01-15T08:32:11Z |
updated_timestamp |
DateTime | Yes | Timestamp of last event update | 2024-01-15T08:32:45Z |
| Plant context | ||||
line_id |
GUID | Yes | Reference to lines.id. Identifies the production line where the event occurred | 3f8c2d1a-b4e7… |
line_name |
string | Yes | Descriptive line name (denormalized for queries) | Backend Line 01 |
machine_line_id |
GUID | Yes | Identifier of the machine instance on the line (MachineLineBase.identifier) | a1b2c3d4-e5f6… |
machine_name |
string | Yes | Name of the machine on the line | Asymtek D-250 |
machine_type |
string | Yes | Machine type derived from BSON discriminator. Values: dispenser, vertical_oven, aoi, loader, unloader, ok_nok, review_station, fluid_cabinet | dispenser |
| Product context | ||||
customer_product_id |
string | No | Customer product ID. Nullable if the event is not associated with a specific product | CUST-001 |
part_number |
string | No | Product part number | PN-12345-REV-B |
| Specific data: ProcessEvent | ||||
process_code |
string | Cond. | Only present in ProcessEvent and BufferEvent. Action code: PCB_MACHINE_IN, PCB_MACHINE_OUT, PCB_START_PRODUCTION | PCB_MACHINE_IN |
event_timestamp |
DateTime | Cond. | Actual moment of the process event (different from created_timestamp) | 2024-01-15T08:30:00Z |
buffer_index |
int | Cond. | BufferEvent only. Position in the machine buffer | 3 |
| Specific data: AlarmEvent | ||||
alarm_code |
string | Cond. | Machine alarm code | TEMP_OUT_OF_RANGE |
alarm_message |
string | No | Descriptive alarm message. Nullable | Zone 2 temperature exceeds maximum |
alarm_start |
DateTime | Cond. | Alarm start | 2024-01-15T09:15:00Z |
alarm_end |
DateTime | No | Alarm end. Null if the alarm is still active | 2024-01-15T09:42:00Z |
variable_code |
string | No | VariableAlarmEvent only. Code of the variable that triggered the alarm | ZONE2_TEMP |
| Specific data: InspectionEvent | ||||
inspection_id |
string | Cond. | Unique inspection identifier | INS-2024-001547 |
inspection_start |
DateTime | Cond. | Inspection start | 2024-01-15T10:00:00Z |
inspection_steps_count |
int | Cond. | Total number of inspection steps executed | 12 |
inspection_errors_count |
int | Cond. | Number of steps with error result | 2 |
| Technical metadata | ||||
source_system |
string | Yes | Source system that generated the event | ProcessTracker v2.1 |
ingestion_timestamp |
DateTime | Yes | Event ingestion moment in BACK-X | 2024-01-15T08:33:00Z |
version_schema |
string | Yes | Data product schema version | BACKX.LineMachineEvents.v1 |
Data traceability
BACK-X records data lineage from ingestion to materialization as data products, enabling audits and impact analysis.
ProcessTracker vX.Y
ingestion_timestamp registrado
JOIN lines + machines + customer_products
version_schema = v1 · DCAT-AP metadata
Use: internal consortium analytics
Vista agregada · Herramientas internas
Each transformation is recorded in the Clearing House (under implementation) with a timestamp, the participant that executed it, the input/output schema version and a reference to the active EDC contract.
Eclipse EDC in BACK-X
EDC_BACKX
Central Eclipse EDC connector operated by ONIZEA. Acts as the contract-negotiation hub for the main BACK-X node.
EDC_MSTECH
MSTECH Eclipse EDC connector. Manages publication and transfer of plant data from MES systems to the BACK-X node.
EDC_UC3M
UC3M Eclipse EDC connector. Allows UC3M to act as Data Consumer for data products and as Service Provider publishing AI model results.
ODRL Policies
The usage conditions for each data product are translated into ODRL policies automatically enforced by the EDC connector during contract negotiation.
Dataspace Protocol (DSP)
BACK-X adopts the Dataspace Protocol for contract negotiation and data transfer, ensuring interoperability with other European industrial data spaces.
OAuth2 / OIDC
EDC connectors are registered as OAuth2 clients in the BACK-X IdP and use the client credentials flow for node-to-node authentication during contract negotiation.