Skip to main content
Challenge

Build an OPC UA Work-in-Progress Buffer Starvation Dispatcher

Analyze workstation cycle times and buffer levels from simulated OPC UA nodes. Synthesize dynamic lot dispatch proposals to prevent line starvation without direct PLC actuation.

EngineeringHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Analyze workstation cycle times and buffer levels from simulated OPC UA nodes. Synthesize dynamic lot dispatch proposals to prevent line starvation without direct PLC actuation.

Plant Production Dispatcher

Query simulated open62541 OPC UA server node values for station cycle times and queue sizes.

Evaluate upstream buffer depletion rates against scheduled station takt times.

Generate lot dispatch reassignment proposals to balance workstation loading.

Export the recommended dispatch schedule to manufacturing operations for sign-off.

Station throughput dashboard with buffer depletion sparklines and proposal approval actions.

Create synthetic normalized OPC UA data fixtures mimicking open62541 node tables with cycle metrics. Serve from a local mock JSON endpoint. Starter examples below are synthetic. They are not downloaded records.

open62541 OPC UA OPC UA information model variable nodes representing production machine states and telemetry from open62541.

pydantic-ai, fastapi, pandas. Pydantic AI ensures rigid type validation when transforming raw OPC UA telemetry into scheduling proposals. Fast reasoning LLM capable of tabular arithmetic and queue constraint evaluation.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Calculates starvation lead times for all monitored buffer queues.

Produces valid lot transfer recommendations without exceeding downstream capacities.

Flags capacity discrepancies when input station cycles are zero or missing.

```json [ { "input": { "stations": [ { "station_id": "ST_10", "buffer_count": 2, "cycle_time_sec": 45, "takt_sec": 50 }, { "station_id": "ST_20", "buffer_count": 12, "cycle_time_sec": 70, "takt_sec": 50 } ], "wip_lots": [ { "lot_id": "LOT_901", "current_location": "ST_20_QUEUE", "eligible_targets": [ "ST_10", "ST_20" ] } ] }, "expected_output": { "bottleneck_station": "ST_10", "dispatch_proposals": [ { "lot_id": "LOT_901", "recommended_station": "ST_10", "rationale": "ST_10 buffer below safety stock with fast cycle rate." } ], "starvation_warning": true } }, { "input": { "stations": [ { "station_id": "ST_30", "buffer_count": 0, "cycle_time_sec": 0, "takt_sec": 60 } ], "wip_lots": [] }, "expected_output": { "bottleneck_station": "ST_30", "dispatch_proposals": [], "starvation_warning": true } } ] ```

Read-only evaluation of production queue records. Dispatch proposals require manual dispatcher approval before MES entry. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Read-only evaluation of production queue records. Dispatch proposals require manual dispatcher approval before MES entry. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Calculates starvation lead times for all monitored buffer queues. Produces valid lot transfer recommendations without exceeding downstream capacities. Flags capacity discrepancies when input station cycles are zero or missing.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Query simulated open62541 OPC UA server node values for station cycle times and queue sizes. Evaluate upstream buffer depletion rates against scheduled station takt times. Generate lot dispatch reassignment proposals to balance workstation loading. Export the recommended dispatch schedule to manufacturing operations for sign-off.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Calculates starvation lead times for all monitored buffer queues. Produces valid lot transfer recommendations without exceeding downstream capacities. Flags capacity discrepancies when input station cycles are zero or missing.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Station throughput dashboard with buffer depletion sparklines and proposal approval actions.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Read-only evaluation of production queue records. Dispatch proposals require manual dispatcher approval before MES entry.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Query simulated open62541 OPC UA server node values for station cycle times and queue sizes.

  • Evaluate upstream buffer depletion rates against scheduled station takt times.

  • Generate lot dispatch reassignment proposals to balance workstation loading.

  • Export the recommended dispatch schedule to manufacturing operations for sign-off.

Resources and assets

Reference links and supporting material

Dataset notes

Create synthetic normalized OPC UA data fixtures mimicking open62541 node tables with cycle metrics. Serve from a local mock JSON endpoint. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Pydantic AI

Typed Python agent framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Query simulated open62541 OPC UA server node values for station cycle times and queue sizes. Evaluate upstr...
  • Calculates starvation lead times for all monitored buffer queues. Produces valid lot transfer recommendatio...
  • Station throughput dashboard with buffer depletion sparklines and proposal approval actions.
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 2 configured tools

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Pydantic AI · Optional
Orchestration
  • Pydantic AI · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build an OPC UA Work-in-Progress Buffer Starvation Dispatcher