ARSVIN GitHub

ARIEC61850 sibling-engine integration

Ownership

ARSVIN Publisher and ArSubsv Subscriber are derived applications. Reusable IEC 61850 protocol, Sampled Values, SCL, PCAP, transport, measurement, diagnostics, and evidence behavior is owned by the sibling masarray/ARIEC61850 repository.

The application repository owns WPF presentation, commands, workflow orchestration, application settings, branding, and packaging. The inactive src/ARSVIN.Engine directory is temporary migration material and is not an active project reference.

Pinned engine contract

The paired revision is recorded in engines/ARIEC61850.lock.json. CI, CodeQL, local paired validation, packaging, and release automation must resolve the engine from that file and verify the exact 40-character commit SHA. A moving branch name is retained only as human context; it is not the reproducible build identity.

Current paired revision for this draft:

ARIEC61850 ref: agent/sv-core-unification
ARIEC61850 commit: 143e6ca69986cd553405eec883a9928cdfda9367
ARIEC61850 PR: #45

Migrated reusable contracts

The paired engine branch now owns the reusable contracts required by both applications:

These contracts are implemented and tested in ARIEC61850. Application code consumes them; it must not maintain a second behavioral copy.

Paired local layout

C:\Git\
├── ARIEC61850\
└── arsvin\

For the unmerged integration test:

git clone https://github.com/masarray/ARIEC61850.git C:\Git\ARIEC61850
git -C C:\Git\ARIEC61850 fetch origin 143e6ca69986cd553405eec883a9928cdfda9367
git -C C:\Git\ARIEC61850 checkout --detach 143e6ca69986cd553405eec883a9928cdfda9367

git clone https://github.com/masarray/arsvin.git C:\Git\arsvin
git -C C:\Git\arsvin switch agent/ariec-sibling-integration

Run the complete paired gate:

cd C:\Git\arsvin
.\scripts\test-paired-engine.ps1

For a faster application-only iteration after the engine suite has already passed:

.\build.ps1

The default sibling path can be overridden:

$env:ARIEC61850_ROOT = 'D:\Engineering\ARIEC61850'
.\scripts\test-paired-engine.ps1

Paired test sequence

  1. Verify the local engine checkout exactly matches the lock file.
  2. Restore, build, and test ARIEC61850.
  3. Build ARSVIN Publisher and ArSubsv against that exact checkout.
  4. Run ARSVIN regression and coverage gates.
  5. Run Publisher dry-run and PCAP generation, including nofASDU=1 and one multi-ASDU case.
  6. Open the generated PCAP in ArSubsv without SCL; verify generic raw words and unresolved semantics.
  7. Import the matching SCL; verify ordered dataset mapping, evidence-backed scaling, waveform, RMS, and phasor behavior.
  8. Export two Subscriber evidence reports and verify the shared comparator identifies source failover, health regression, and continuity changes.
  9. Run authorized isolated live capture/transmit tests only after offline tests pass.
  10. Preserve artifacts/paired-validation/paired-validation.json with the test notes.

Migration rules

Current draft pairing

Repository Branch Pull request
ARIEC61850agent/sv-core-unificationmasarray/ARIEC61850#45
ARSVINagent/ariec-sibling-integrationmasarray/arsvin#51

Neither pull request is intended for merge until paired local testing, pinned CI, CodeQL, packaging, and offline PCAP/SCL regression tests are complete.

GPL-3.0-or-later community documentation. Commercial terms require a separate agreement.Review this page on GitHub →