You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is an offline alpha server model. It validates logical-device directory, logical-node directory, point reads, DataSet reads, RCB exposure, and read-only write rejection before a live TCP/MMS listener is added.
Copy file name to clipboardExpand all lines: ROADMAP.md
+19-4Lines changed: 19 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,20 @@ ARIEC61850 is a clean-room Apache-2 IEC 61850 engineering stack for .NET. The pr
4
4
5
5
## Current source milestone
6
6
7
+
### N5.30 - MMS listener skeleton profile foundation
8
+
9
+
- Added `MmsReadOnlyListenerSkeleton`, a loopback TCP listener harness that exercises the server-side request lifecycle before the live MMS PDU decoder is attached.
10
+
- Added `MmsReadOnlyListenerSkeletonProfile`, a typed evidence contract for bound endpoint, accepted connection count, request count, response status, write-guard verification, diagnostics, and probe steps.
11
+
- Added `mms-listener-skeleton-profile`, a CLI command that starts an ephemeral loopback listener, runs deterministic read-only probes, and exports Markdown/JSON evidence.
12
+
- Added deterministic unit tests for listener self-probe, invalid target handling, write guard verification, and Markdown evidence.
13
+
- Kept the scope explicit: this is a transport/session skeleton and JSON-line probe harness, not a full MMS PDU listener yet.
- Next maturity gate: attach TPKT/COTP/ACSE/MMS decoding/encoding to the read-only listener while preserving the same service contract.
100
+
101
+
102
+
## N5.30 — MMS Listener Skeleton Profile
103
+
104
+
This milestone adds the first live transport boundary for the simulator-backed server model. The listener binds to a loopback TCP endpoint, accepts a client session, dispatches deterministic read-only service requests, verifies write rejection, and exports Markdown/JSON evidence.
105
+
106
+
```text
107
+
virtual IED profile
108
+
→ read-only service handler
109
+
→ TCP listener skeleton
110
+
→ loopback probe
111
+
→ listener evidence
112
+
```
113
+
114
+
Scope boundary: the harness intentionally uses a JSON-line probe protocol. The next milestone should replace the probe decoder with TPKT/COTP/ACSE/MMS request handling while keeping the same read-only service semantics.
This command needs no IED and no network adapter. It builds a virtual IED model from the simulator profile and exercises read-only directory, read, DataSet read, and write-guard probes.
This command starts a loopback TCP listener, sends deterministic read-only probe requests, verifies directory/read/DataSet responses, confirms write rejection, and exits. It is a listener/session lifecycle harness, not a full MMS PDU server yet.
- Serve domains, variables, access attributes, and named variable lists from a simulator model.
117
+
- Attach TPKT framing to the listener skeleton.
118
+
- Add COTP connection confirm and ACSE associate response.
119
+
- Add MMS initiate response and confirmed read-directory/read request dispatch.
119
120
- Keep write/control disabled until read-only discovery and report readback are stable.
120
121
121
-
### N5.31 - Simulator bridge
122
+
### N5.32 - Simulator bridge
122
123
123
124
- Map simulator profiles into MMS server model, GOOSE publisher profiles, and SV publisher profiles.
124
125
- Add scenario scheduler for value changes, quality changes, timestamp faults, report triggers, GOOSE transitions, and SV disturbances.
@@ -139,6 +140,14 @@ ARIEC61850 engine repo
139
140
140
141
Product repos can later consume the engine as project references or NuGet packages without pulling protocol logic into UI code.
141
142
143
+
## N5.30 — MMS Listener Skeleton Profile
144
+
145
+
The engine now has a loopback TCP listener skeleton for the read-only virtual IED service handler. It can be tested without hardware using `mms-listener-skeleton-profile`, and it validates listener bind, accepted connection, request dispatch, read-only service responses, write rejection, and Markdown/JSON evidence.
The engine now has an offline server-side model profile that converts the simulator profile into a read-only virtual IED. It can be tested without hardware using `mms-server-readonly-profile`, and it validates directory, read, DataSet read, RCB exposure, and write rejection.
0 commit comments