Skip to content

P6.2 #144: preserve ServerAt SCD models and dual-MMS AP authority - #153

Closed
masarray wants to merge 9 commits into
ci/144-smart-interop-integrationfrom
fix/144-p62-scd-serverat-authority
Closed

masarray wants to merge 9 commits into
ci/144-smart-interop-integrationfrom
fix/144-p62-scd-serverat-authority

Conversation

@masarray

@masarray masarray commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

P6.2 — SCD ServerAt model authority (stacked / CodeVerified candidate)

Derived from the real-world Siemens 7SX85 case in which one IED has J (Server; local independent local MMS test server MMS simulator) and F (ServerAt apName="J"; its own 8-MMS ConnectedAP). The real station SCD is not committed to GitHub.

Root cause

  • Endpoint enumeration already retained both ConnectedAP addresses.
  • SclWorkspaceService.BuildDesignModel isolated each AP and discarded the Server declared under referenced AP J, leaving F's projected offline LD/LN/DataSet/RCB model empty.
  • SclEngineeringProfileBuilder wrongly emitted SCL_ACCESS_POINT_WITHOUT_SERVER even when ServerAt resolves legitimately.

Changes

  • Bounded same-IED ServerAt reference resolver (reject dangling, ambiguous and cyclic AP chains; never search another IED).
  • Clone the referenced Server only in the isolated model projection under selected AccessPoint F, preserving original station SCD and F's own endpoint/provenance.
  • Keep physical HasServer semantics; expose effective logical-device count and suppress spurious missing-Server warning for valid ServerAt; high-severity finding for invalid ServerAt.
  • Sanitized synthetic tests: dual 8-MMS addresses J/F, model equivalence, DataSet/RCB retention, valid vs invalid ServerAt, no fabricated model.

Safety / acceptance

  • No MMS network operations, RCB writes, polling, source-SCD mutation, or vendor-special-case branches added.
  • Keep draft and stacked on exact pinned P6.1 integration head; run .NET CI. CI != physical acceptance. Require live independent local MMS test server Server Open SCD test for J and F and correct per-AP model evidence before promotion.
  • Follow-on ARSAS consumer improvement will expose both AP endpoints while preserving one Engineering card.

Additional SCL-assisted connect correction

The exact MMS domain inventory and SCL initial FC-read builder now also resolve ServerAt to the same owning Server while preserving the selected endpoint AP identity. Both are covered by synthetic J/F parity tests and unresolved-reference fail-closed tests. No network activity or physical qualification asserted.

Copy link
Copy Markdown
Owner Author

2026-10-22 clean repository consolidation: original commit 352c81e6a798635c6addcee0683235ca87ad416d is a complete immutable ancestor of draft #190 at 14b19d30466fd296ad1e6d0bddcdd574992bc464 (0 missing commits; verified with Git compare). CI on the exact integrated PR merge tree: https://github.com/masarray/ARIEC61850/actions/runs/39778971482 — 1,262/1,262 tests PASS, zero build warnings/errors.

Close as superseded by canonical integration PR #190; DO NOT equate this closure with engine merge to main, ARSAS lock update, simulator qualification or physical FAT acceptance. Historic source, branch, provenance and discussion are all preserved. Reopen if consolidation is withdrawn.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant