Skip to main content
Loading navigation
Back to prompt library

Build an OT Network Ring Break Outage Rehearsal Simulator — implementation

Linked challenge: Build an OT Network Ring Break Outage Rehearsal Simulator

Prompt source

implementation86 lines11 sectionsNo variables1 code block
## Build
Model industrial Ethernet ring break scenarios using simulated open62541 network diagnostics nodes. Generate structured recovery drill instructions and assess failover readiness.

## User
Plant Automation Network Administrator

## Workflow
1. Read diagnostic port status nodes and error counters from simulated open62541 network bridge models.
2. Simulate link severance between ring switch nodes to determine backup path activation.
3. Calculate simulated convergence time and identify devices that lose polling communication.
4. Produce a step-by-step recovery drill playbook for planned maintenance rehearsals.

## Interface
Network ring schematic displaying active/blocked ports, simulated link severance toggle, and rehearsal audit logs.

## Data
Synthetic OPC UA server variables capturing network bridge port states, packet loss rates, and link change events.
Starter examples below are synthetic. They are not downloaded records.

## Source
[open62541 OPC UA](https://raw.githubusercontent.com/open62541/open62541/master/README.md)
Reads custom diagnostic and network monitoring information structures modeled inside open62541 servers.

## Tools
langgraph, networkx, pydantic.
LangGraph state graphs model sequential network failover transitions and rehearsal drill phases.
Local or hosted LLM with deep comprehension of industrial network redundancy protocols (e.g., MRP, RSTP).

## Deliverables
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.

## Acceptance
- Correctly identifies the segment containing the severed physical link.
- Verifies backup ring port unblocking within simulated protocol time limits.
- Generates an actionable restoration sequence for the rehearsal team.

## Starter Examples
```json
[
  {
    "input": {
      "ring_id": "RING-SOUTH",
      "switches": [
        "SW-1",
        "SW-2",
        "SW-3"
      ],
      "severed_link": {
        "from_node": "SW-1",
        "to_node": "SW-2"
      },
      "redundancy_protocol": "MRP",
      "failover_time_ms": 18
    },
    "expected_output": {
      "ring_status": "OPEN",
      "backup_path_active": true,
      "rehearsal_pass": true,
      "restoration_plan": [
        "Verify SW-3 MRM ring manager transitioned to open state",
        "Repair link SW-1 <-> SW-2",
        "Confirm SW-3 MRM transitions blocked port back to standby without frame loop"
      ]
    }
  },
  {
    "input": {
      "ring_id": "RING-NORTH",
      "switches": [
        "SW-A",
        "SW-B",
        "SW-C"
      ],
      "severed_link": {
        "from_node": "SW-A",
        "to_node": "SW-B"
      },
      "redundancy_protocol": "MRP",
      "failover_time_ms": 350
    },
    "expected_output": {
      "ring_status": "TIMEOUT_EXCEEDED",
      "backup_path_active": false,
      "rehearsal_pass": false,
      "restoration_plan": [
        "Check ring manager configuration on SW-A; failover exceeded 200ms threshold",
        "Isolate SW-B port prior to ring closure"
      ]
    }
  }
]
```

## Safety
Simulation and rehearsal runbook generation only; does not send configuration commands to physical switches.
Use mock external writes. Require human review before any real deployment.