Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
5616a98
docs: reposition ARSAS as unified IEC 61850 suite
masarray Jul 18, 2026
039e4b6
docs: add full IEC 61850 product roadmap
masarray Jul 18, 2026
2225e19
docs: add clear licensing and distribution notice
masarray Jul 18, 2026
c92276f
docs: add citation metadata
masarray Jul 18, 2026
6337dd4
chore: align package metadata with ARSAS product direction
masarray Jul 18, 2026
3afcd98
site: rebuild ARSAS landing page and SEO positioning
masarray Jul 18, 2026
c1b2749
site: document full IEC 61850 capability matrix
masarray Jul 18, 2026
5850332
site: add transparent full-suite product roadmap
masarray Jul 18, 2026
02b3b4e
site: align Smart Control page with ARSAS branding
masarray Jul 18, 2026
0471d59
site: document full ARSAS and ARIEC61850 architecture
masarray Jul 18, 2026
336ac85
site: update ARSAS 404 page
masarray Jul 18, 2026
7cd5675
site: update sitemap for ARSAS URLs and roadmap
masarray Jul 18, 2026
31a0d2c
site: point robots to ARSAS sitemap
masarray Jul 18, 2026
539e385
site: update ARSAS web manifest
masarray Jul 18, 2026
9a1b3fc
ci: validate ARSAS canonical URLs and roadmap page
masarray Jul 18, 2026
34b49d9
ci: align workflow branding with ARSAS
masarray Jul 18, 2026
7f96743
ci: finish ARSAS branding in source cleanliness gate
masarray Jul 18, 2026
6542c6a
docs: complete ARSAS community conduct rebrand
masarray Jul 18, 2026
b778d14
docs: professionalize ARSAS contribution guide
masarray Jul 18, 2026
a5156f4
docs: align ARSAS security policy with full protocol scope
masarray Jul 18, 2026
8807797
docs: expand ARSAS support guidance
masarray Jul 18, 2026
12edc53
community: add safe engineering bug report form
masarray Jul 18, 2026
44b52df
community: add IEC 61850 feature proposal form
masarray Jul 18, 2026
604e912
community: update issue links for ARSAS
masarray Jul 18, 2026
182522c
community: add professional ARSAS pull request template
masarray Jul 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: Engineering bug report
description: Report a reproducible ARSAS defect using synthetic or sanitized evidence.
title: "[Bug]: "
labels:
- bug
body:
- type: markdown
attributes:
value: |
Thank you for helping improve ARSAS. Do not include credentials, customer SCL files, relay settings, packet captures, disturbance records, private endpoints, or confidential station data.

- type: input
id: arsas-version
attributes:
label: ARSAS version or commit
description: Provide the release version or full commit SHA.
placeholder: "1.6.16 or commit SHA"
validations:
required: true

- type: input
id: engine-version
attributes:
label: ARIEC61850 version or commit
description: Provide the engine branch, release, or full commit SHA.
placeholder: "main at commit SHA"
validations:
required: true

- type: dropdown
id: workflow
attributes:
label: Affected workflow
options:
- MMS connection or discovery
- Reporting or live monitoring
- GOOSE subscriber
- Sampled Values / SMV
- IEC 61850 file transfer or COMTRADE retrieval
- SCL import, comparison, export, or generation
- Smart Control
- Sequence of events or diagnostics
- Project persistence
- Windows packaging or installer
- UI, accessibility, or performance
- Other
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: Include Windows version, .NET version, connection method, adapter/Npcap details when relevant, and sanitized scale information.
placeholder: |
Windows 11 24H2
.NET 8.x
Connection: direct IP / saved project / SCL import
Scale: 3 IEDs, 1,200 selected signals
validations:
required: true

- type: textarea
id: steps
attributes:
label: Reproduction steps
description: Provide the smallest deterministic sequence using synthetic or sanitized data.
placeholder: |
1. Add a synthetic IED endpoint...
2. Discover the model...
3. Select...
4. Observe...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
validations:
required: true

- type: textarea
id: observed
attributes:
label: Observed behavior
description: Include sanitized diagnostic text and exact error messages when safe.
validations:
required: true

- type: dropdown
id: validation-source
attributes:
label: Reproduction source
options:
- Unit test or deterministic fixture
- Loopback or simulator
- Authorized laboratory IED
- Authorized FAT/SAT/commissioning environment
- Unable to reproduce independently
validations:
required: true

- type: checkboxes
id: safety
attributes:
label: Safety and data confirmation
options:
- label: I removed credentials, private endpoints, customer names, station identifiers, relay settings, packet captures, disturbance records, and confidential SCL or diagnostic content.
required: true
- label: This report does not claim switching authority, formal conformance, functional-safety certification, or universal interoperability.
required: true
- label: Any active testing described here was performed inside an approved boundary with the required authorization.
required: true
17 changes: 10 additions & 7 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability
url: https://github.com/masarray/ArIED61850Tester/security
about: Review SECURITY.md and use private vulnerability reporting when available.
- name: Support and diagnostics guide
url: https://github.com/masarray/ArIED61850Tester/blob/main/SUPPORT.md
about: Review connection checks, required environment details, and sanitization rules before filing an issue.
url: https://github.com/masarray/arsas/security/advisories/new
about: Report exploitable vulnerabilities privately. Do not publish credentials, private endpoints, customer SCL, captures, relay settings, or disturbance records.
- name: Support and sanitization guidance
url: https://github.com/masarray/arsas/blob/main/SUPPORT.md
about: Review troubleshooting information and required data sanitization before opening an issue.
- name: Product roadmap
url: https://github.com/masarray/arsas/blob/main/ROADMAP.md
about: Review current capability maturity and planned IEC 61850 milestones.
- name: Product website
url: https://masarray.github.io/ArIED61850Tester/
about: Product overview, features, Smart Control, and architecture.
url: https://masarray.github.io/arsas/
about: Explore ARSAS capabilities, architecture, Smart Control, and the full IEC 61850 product direction.
94 changes: 94 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Engineering feature proposal
description: Propose a bounded ARSAS or ARIEC61850 capability with a clear engineering outcome.
title: "[Feature]: "
labels:
- enhancement
body:
- type: markdown
attributes:
value: |
Describe the engineering problem before the preferred implementation. Large protocol changes may belong in ARIEC61850 rather than the ARSAS application layer.

- type: textarea
id: problem
attributes:
label: Engineering problem
description: What FAT, SAT, commissioning, troubleshooting, research, or development task is difficult today?
placeholder: "During ... engineers must ... which causes ..."
validations:
required: true

- type: textarea
id: outcome
attributes:
label: Desired outcome
description: Describe the observable result and who benefits.
validations:
required: true

- type: dropdown
id: area
attributes:
label: IEC 61850 area
options:
- MMS discovery or services
- Reporting and DataSets
- GOOSE
- Sampled Values / SMV
- File transfer or COMTRADE
- SCL engineering or generation
- Smart Control
- SOE, diagnostics, or evidence export
- Project workflow
- UI, accessibility, or performance
- Packaging, installer, or release engineering
- Other
validations:
required: true

- type: dropdown
id: layer
attributes:
label: Likely implementation layer
options:
- ARSAS application and UX
- ARIEC61850 protocol engine
- Both repositories
- Documentation or validation only
- Unsure
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed workflow
description: Explain the user flow, protocol evidence, failure behavior, and expected diagnostics. Avoid copying another product's UI or internal design.
validations:
required: true

- type: textarea
id: validation
attributes:
label: Validation plan
description: Which unit tests, deterministic fixtures, simulator cases, laboratory devices, performance limits, and negative paths would demonstrate completion?
validations:
required: true

- type: textarea
id: boundaries
attributes:
label: Safety, security, and claim boundaries
description: Identify active operations, sensitive data, operational authority, interoperability limitations, and non-goals.
validations:
required: true

- type: checkboxes
id: provenance
attributes:
label: Provenance confirmation
options:
- label: This proposal is independently authored and does not reproduce proprietary source, documentation, tests, UI, screenshots, or restricted material.
required: true
- label: I have not attached customer, employer, station, relay-setting, credential, capture, or confidential SCL data.
required: true
79 changes: 79 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
## Engineering problem

Describe the IEC 61850, application, UX, packaging, documentation, or validation problem this pull request addresses.

## Solution

Explain what changed and why this approach belongs in ARSAS, ARIEC61850, or both.

## Capability maturity

- [ ] Existing available capability remains available
- [ ] Engineering-preview capability
- [ ] New available capability with completed validation
- [ ] Roadmap or documentation only
- [ ] No public capability claim changed

## Validation

List the checks performed and their results.

- [ ] Source and provenance gate
- [ ] Landing-page validation, when applicable
- [ ] .NET restore and Release build
- [ ] Relevant unit or deterministic fixture tests
- [ ] Simulator or loopback validation
- [ ] Authorized laboratory IED validation
- [ ] Negative and failure-path validation
- [ ] Windows installer or portable-package validation
- [ ] Performance or allocation measurements, when applicable

Provide details:

```text
Commands, environment, test boundary, result, and known limitations
```

## IEC 61850 evidence

For MMS, reporting, GOOSE, Sampled Values, file transfer, SCL, or control changes, describe:

- affected services, models, or control blocks;
- expected and observed behavior;
- timestamp, quality, sequence, error, or termination evidence;
- unsupported or intentionally bounded behavior;
- ARSAS/ARIEC61850 contract changes.

## UI and accessibility

For UI changes, include:

- tested Windows scaling and resolution;
- keyboard workflow;
- screen-reader or accessible-name impact where relevant;
- responsiveness or rendering impact;
- screenshots using synthetic, non-confidential data only.

## Safety, security, and data handling

- [ ] No credentials, private endpoints, customer names, station identifiers, relay settings, packet captures, disturbance records, or confidential SCL/project data are included.
- [ ] Active testing, if any, occurred inside an approved boundary with the required authorization.
- [ ] The change does not imply switching authority, formal conformance, functional-safety certification, cybersecurity approval, or universal interoperability.
- [ ] Downloaded files and local paths are handled safely when file-transfer behavior is affected.

## Provenance and licensing

- [ ] The contribution is independently authored.
- [ ] No proprietary source, documentation wording, tests, UI, screenshots, or restricted engineering material was copied.
- [ ] Third-party components and licenses are identified.
- [ ] Public license, commercial-license, and trademark wording remains accurate.
- [ ] Commits include the required DCO sign-off.

## Documentation

- [ ] README, website, roadmap, support, security, or engineering documentation was updated where behavior or claim boundaries changed.
- [ ] No documentation update is required.

## Reviewer focus

Call out the highest-risk files, assumptions, or decisions that deserve focused review.
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build ArIED 61850
name: Build ARSAS

on:
push:
Expand All @@ -14,7 +14,7 @@ jobs:
name: Build, validate and package Windows application
runs-on: windows-latest
steps:
- name: Checkout ArIED application
- name: Checkout ARSAS application
shell: powershell
run: |
$ref = if ($env:GITHUB_HEAD_REF) { $env:GITHUB_HEAD_REF } else { $env:GITHUB_REF_NAME }
Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:
- name: Upload source snapshot
uses: actions/upload-artifact@v4
with:
name: ArIED61850-source-snapshot
name: ARSAS-source-snapshot
path: |
ArIED61850Tester/App.xaml
ArIED61850Tester/MainWindow.xaml
Expand Down Expand Up @@ -232,5 +232,5 @@ jobs:
- name: Upload portable package
uses: actions/upload-artifact@v4
with:
name: ArIED61850-win-x64
name: ARSAS-win-x64
path: ArIED61850Tester\dist\*.zip
13 changes: 9 additions & 4 deletions ArIED61850Tester.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,16 @@
<Authors>Ari Sulistiono / masarray</Authors>
<Copyright>Copyright (C) 2026 Ari Sulistiono</Copyright>
<Product>ARSAS</Product>
<AssemblyTitle>ARSAS - Smart IEC 61850 Communication Tester</AssemblyTitle>
<Description>Smart Windows IEC 61850 communication tester for SCL-assisted project setup, interoperable Edition 1/2 SCL export, live MMS model discovery, independent multi-IED monitoring, SCL-aware GOOSE subscription, reporting diagnostics, sequence of events, and guarded Smart Control.</Description>
<AssemblyTitle>ARSAS - IEC 61850 Engineering Workstation</AssemblyTitle>
<Description>Open-source Windows IEC 61850 engineering workstation for MMS model discovery, reporting, independent multi-IED monitoring, GOOSE subscription, fault-record file transfer, Sampled Values engineering, SCL workflows, diagnostics, sequence of events, and guarded control validation.</Description>
<Version>1.6.16</Version>
<AssemblyVersion>1.6.16.0</AssemblyVersion>
<FileVersion>1.6.16.0</FileVersion>
<PackageTags>iec61850;iec-61850;mms;goose;goose-subscriber;scl;ied-explorer;multi-ied-monitoring;relay-testing;substation-automation;digital-substation;report-control-block;sequence-of-events;smart-control;wpf;dotnet</PackageTags>
<PackageProjectUrl>https://github.com/masarray/arsas</PackageProjectUrl>
<RepositoryUrl>https://github.com/masarray/arsas</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageTags>iec61850;iec-61850;mms;goose;sampled-values;smv;iec-61850-file-transfer;comtrade;scl;scl-generator;ied-explorer;multi-ied-monitoring;relay-testing;substation-automation;digital-substation;report-control-block;sequence-of-events;smart-control;wpf;dotnet</PackageTags>
<PackageLicenseExpression>GPL-3.0-or-later</PackageLicenseExpression>
<ArIec61850Project Condition="'$(ArIec61850Project)' == '' and '$(ARIEC61850_PROJECT)' != ''">$(ARIEC61850_PROJECT)</ArIec61850Project>
<ArIec61850Project Condition="'$(ArIec61850Project)' == ''">..\ARIEC61850\src\AR.Iec61850\AR.Iec61850.csproj</ArIec61850Project>
Expand All @@ -30,6 +34,7 @@
<Resource Include="Assets\app-icon.ico" />
<Resource Include="Assets\app-icon-256.png" />
<Resource Include="Assets\gateway-hero.png" />
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>

<ItemGroup>
Expand All @@ -39,7 +44,7 @@

<Target Name="ValidateArIec61850Project" BeforeTargets="PrepareForBuild">
<Message Importance="High" Text="ARSAS is compiling against ARIEC61850 project: $(ArIec61850Project)" />
<Message Importance="High" Text="ARSAS GOOSE Subscriber is compiling against Npcap transport: $(ArIec61850NpcapProject)" />
<Message Importance="High" Text="ARSAS process-bus workflows are compiling against Npcap transport: $(ArIec61850NpcapProject)" />
<Error Condition="!Exists('$(ArIec61850Project)')"
Text="ARIEC61850 engine project was not found at '$(ArIec61850Project)'. Place this folder beside the ARIEC61850 repository, or build with -p:ArIec61850Project=FULL_PATH_TO_AR.Iec61850.csproj." />
<Error Condition="!Exists('$(ArIec61850NpcapProject)')"
Expand Down
Loading
Loading