Skip to main content
Challenge

Distributed Safety Logic and PLC Orchestration with AutoGen

Managing complex plant operations across distributed safety controllers requires continuous communication and state verification between PLC agents. You will build a multi-agent conversational control system using Microsoft AutoGen where virtual PLC agents perform automated peer reviews on safety interlock state updates. The system must achieve zero undetected state deadlocks during automated negotiations.

EngineeringHosted by Vera
Challenge brief

What you are building

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

Implement a Microsoft AutoGen multi-agent conversational setup where PLC controller agents negotiate safety interlock conditions.

Delivery guide

How work is evaluated

Evaluation

Evaluates deadlock prevention and state matrix validity in AutoGen conversational safety negotiations.

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
2 scoring checks
Binary
2 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1

deadlock_free_check

Ensures conversation terminated naturally without reaching maximum loop iterations.

Binary check

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

Dimension 2

negotiation_turn_count

Turns needed to achieve safe interlock agreement • target: 3 • range: 1-10

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

  • Construct multi-agent conversational networks using Microsoft AutoGen (`AssistantAgent`, `UserProxyAgent`)

  • Implement group chat managers to coordinate inter-PLC state negotiation loops

  • Integrate formal state-machine checking tools into AutoGen agent execution steps

  • Evaluate conversation convergence and detect execution deadlocks in distributed controls

Resources and assets

Reference links and supporting material

Dataset notes

Distributed PLC IO link tables and safety cause-and-effect matrix specifications.

Challenge setup

Evaluates deadlock prevention and state matrix validity in AutoGen conversational safety negotiations.

Challenge input

JSON with initiating_event, zone1_state, and zone2_state

AutoGen

Required framework assignment.

Evaluated output

JSON containing safe_target_state, interlock_verified, conversation_turns, and deadlock_detected

Evaluation checks
  • Ensures conversation terminated naturally without reaching maximum loop iterations.
  • Turns needed to achieve safe interlock agreement • target: 3 • range: 1-10
Configured evaluation evidence
  • Benchmark: Distributed Industrial Agent Communication Benchmark
  • Negotiation Turn Count target: 3
  • 1 public reference case
Configured runtime
  • Python execution harness
  • Python sandbox (unavailable on Versalist)

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
  • AutoGen · Required
  • Microsoft AutoGen · Optional

Evaluation contract

  • deadlock_free_check · Weight 1
  • negotiation_turn_count · Weight 1

Metrics

  • negotiation_turn_count · Target 3

Benchmarks

  • Distributed Industrial Agent Communication Benchmark
  • security

Reference cases

  • 1 public reference case

Workflow tasks

  1. Task 1

    Input: JSON with initiating_event, zone1_state, and zone2_state

    Output: JSON containing safe_target_state, interlock_verified, conversation_turns, and deadlock_detected

    Execution harness: Python

Evaluation tools

  • AutoGen · Multi-Agent Framework

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Distributed Safety Logic and PLC Orchestration with AutoGen