Skip to content

P3: integrate trusted-SCL initial snapshot into IED Connection workspace #87

Open

Description

@masarray

Goal

Make the production IED Connection workspace consume the P2 trusted-SCL runtime instead of leaving MmsSclAssistedConnectClient as an unused core API.

Product behavior

With a trusted CID/SCL loaded

Open CID/SCL → Connect must:

  1. Use the bounded SCL parser result as the authoritative model source.
  2. Establish the existing proven MMS association.
  3. Run MmsTcpLiveDiscoverySession::synchronize_scl().
  4. Validate Domains only; do not repeat full NamedVariable/GVAA/DataSet discovery.
  5. Build the UI data-model tree from trusted SCL structure/type metadata.
  6. Apply P2 initial FC-root snapshot values to the exact SCL leaves.
  7. Preserve missing/extra-domain diagnostics without rewriting SCL identity.
  8. Keep the association active for subsequent Read/Write/report workflows.
  9. Surface the model source clearly in UI/diagnostics.

Without a trusted CID/SCL loaded

Preserve the existing full live-discovery path unchanged as the fallback.

Fail-closed rule

If the user selected a trusted SCL source and parsing/synchronization fails, surface the failure. Do not silently switch to full discovery and thereby change model semantics.

Implementation started on PR #82

  • 0b50e9a075fdd95fe7b383d4e7fba04cc9149ec0 — adds MmsSclClientProjection.hpp to project trusted SCL + snapshot evidence into the existing MmsLiveModelDocument/tree shape and collect initial leaf values.
  • 79db771f51d10d28b2bc7ad699a86e3b11e00a8b — adds trusted-SCL/model-source state to MmsClientController.
  • b95f078e13aa8207614c37695edefa495228f035 — switches MmsClientController::connectToIed() between trusted-SCL synchronization and legacy full discovery, with no silent fallback on trusted-SCL failure.
  • b2f42bb3f2851e37232b4d79fd2259460ea839e6 — arms the client trusted-SCL path only after SclWorkspaceController reports a successfully loaded engineering file.

Required QA

  • Qt build with strict warnings.
  • Existing no-SCL MMS client QA remains green (fallback regression).
  • Add trusted-SCL controller QA proving:
    • no GVAA/full discovery on trusted path;
    • SCL LD/LN/DO/DA counts are projected;
    • initial FC-root values land on the correct leaf keys;
    • association remains active;
    • trusted-SCL parse/sync failure does not silently fall back;
    • stale-session/reconnect generation protection remains intact.
  • Windows Release Hardening from exact final P3 head.
  • External target-client validation remains a separate field gate; do not claim vendor external IEC 61850 client parity solely from internal CI.

Keep this issue OPEN until product integration QA and exact-head package validation pass.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions