AutoGen IEC 61131-3 Code Translation & Refactoring Multi-Agent System
As industrial automation evolves into a software discipline, legacy PLC Structured Text code must be modernized and translated into testable Python/C++ control modules. Build a multi-agent system using AutoGen where a Programmer Agent and Verifier Agent collaboratively refactor legacy IEC 61131-3 logic. Success is measured by achieving 100% equivalence in automated unit test assertions.
What you are building
The core problem, expected build, and operating context for this challenge.
Design an AutoGen multi-agent conversational team that ingests legacy PLC Structured Text (ST) and outputs verified, unit-tested software control code.
How work is evaluated
Evaluates logical equivalence and execution correctness of translated PLC Structured Text code.
Challenge datasets
Public datasets, plus the private datasets you have access to.
How submissions are scored
These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.
all_unit_tests_pass
Verifies translated code satisfies 100% of functional test assertions.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
code_equivalence_rate
Percentage of test cases passing under translated code. • target: 1 • range: 0-1
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
What you should walk away with
Configure AutoGen Conversational Agents (AssistantAgent and UserProxyAgent) for code refactoring.
Translate IEC 61131-3 Structured Text (ST) state logic into Python object-oriented classes.
Synthesize automated PyTest unit suites within the agent conversation loop.
Iteratively fix logical discrepancies identified during simulated code execution.
Reference links and supporting material
Legacy IEC 61131-3 Structured Text routines representing conveyor control, valve sequencing, and PID loop blocks.
Challenge setup
Evaluates logical equivalence and execution correctness of translated PLC Structured Text code.
Challenge input
JSON object with st_code string and test_cases array
AutoGen
Required multi-agent framework for collaborative code translation and testing.
Evaluated output
JSON object with python_code, tests_passed, and equivalence_score
- Verifies translated code satisfies 100% of functional test assertions.
- Percentage of test cases passing under translated code. • target: 1 • range: 0-1
- Benchmark: PLC2CodeBench-2026
- Code Equivalence Rate target: 100%
- 1 public reference case
- 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
- AutoGen · Required
- Microsoft AutoGen · Optional
Evaluation contract
- all_unit_tests_pass · Weight 1
- code_equivalence_rate · Weight 1
Metrics
- code_equivalence_rate · Target 1
Benchmarks
- PLC2CodeBench-2026
- general
Reference cases
- 1 public reference case
Workflow tasks
- Task 1
Input: JSON object with st_code string and test_cases array
Output: JSON object with python_code, tests_passed, and equivalence_score
Execution harness: Python
Evaluation tools
- AutoGen · Agent Framework
Recipe freeze marker
No recipe freeze time is recorded.