@chefsteph9 chefsteph9 released this Jul 6, 2017 · 504 commits to master since this release

Assets 3

This release fixes an issue with generating projects in the openECA client.

@ritchiecarroll ritchiecarroll released this Jun 6, 2017 · 529 commits to master since this release

Assets 3

This is the initial 1.0 release of the openECA. This update includes the ability to deploy analytics as a service which includes an associated installation package, plus many bug fixes.

Pre-release

@ritchiecarroll ritchiecarroll released this Jan 2, 2017 · 909 commits to master since this release

Assets 3

This is the initial Alpha Release of the openECA. The update includes metadata and data structure definitions for returning values to the openECA server components and enhanced UI components.

See UI Enhancements

Pre-release

@StephenCWills StephenCWills released this Nov 16, 2016 · 1030 commits to master since this release

Assets 3

This update includes data windowing options, parallel data and metadata structure inputs, UI improvements and bug fixes including type pagination, auto-definition of phasor types from synchrophasor input streams, and more.

See more detail for new UI updates.

Pre-release

@ritchiecarroll ritchiecarroll released this Jul 12, 2016 · 1157 commits to master since this release

Assets 3

This is an update to the pre-release of version 0.1 of the openECA platform that now includes analytic templates for creating "Test Harness" applications in MATLAB. The templates can also target C#, F#, Visual Basic and IronPython all of which can be used for algorithm development.

Example MATLAB algorithm:

classdef Algorithm
    methods (Static)
        function UpdateSystemSettings()
            NET.setStaticProperty('ECAClientFramework.SystemSettings.ConnectionString', 'server=localhost:6190; interface=0.0.0.0');
            NET.setStaticProperty('ECAClientFramework.SystemSettings.FramesPerSecond', 30);
            NET.setStaticProperty('ECAClientFramework.SystemSettings.LagTime', 3);
            NET.setStaticProperty('ECAClientFramework.SystemSettings.LeadTime', 1);
        end
        function output = Execute(input) % AllInput
            import ECAClientFramework.*;

            output = AllOutput();

            try
                output.IMVMProduct = input.VIPair.Current.Magnitude * input.VIPair.Voltage.Magnitude;
                output.FreqAverage = mean(input.Frequencies.Values);

                MainWindow.WriteMessage(strcat('IM*VM=', num2str(output.IMVMProduct), 'Freq Avg=', num2str(output.FreqAverage)));
            catch ex
                % Display exceptions to the main window
                MainWindow.WriteError(System.InvalidOperationException(getReport(ex)));
            end
        end
    end
end
Pre-release

@ritchiecarroll ritchiecarroll released this Jul 6, 2016 · 1165 commits to master since this release

Assets 3

This is an update to the pre-release of version 0.1 of the openECA platform that includes an operational prototype of the Data Modeling Manager and analytic templates for creating "Test Harness" applications. The templates now target C#, F#, Visual Basic and IronPython all of which can be used for algorithm development.

Example C# algorithm:

using System.Linq;
using ECAClientFramework;
using CS.Model.GPA;

namespace CS
{
    static class Algorithm
    {
        public static void UpdateSystemSettings()
        {
            SystemSettings.ConnectionString = @"server=localhost:6190; interface=0.0.0.0";
            SystemSettings.FramesPerSecond = 30;
            SystemSettings.LagTime = 3;
            SystemSettings.LeadTime = 1;
        }

        public static AllOutput Execute(AllInput input)
        {
            AllOutput output = new AllOutput();

            MainWindow.WriteMessage($"IM*VM={input.VIPair.Current.Magnitude * input.VIPair.Voltage.Magnitude}, Freq Avg={input.Frequencies.Values.Average()}");

            return output;
        }
    }
}

Example F# algorithm:

namespace FS

open System.Linq
open ECAClientFramework
open FS.Model.GPA

module Algorithm =
    let UpdateSystemSettings() =
        SystemSettings.ConnectionString <- @"server=localhost:6190; interface=0.0.0.0"
        SystemSettings.FramesPerSecond <- 30
        SystemSettings.LagTime <- 3.0
        SystemSettings.LeadTime <- 1.0
    let Execute(input : AllInput) : AllOutput =
        let output = new AllOutput()

        MainWindow.WriteMessage("IM*VM=" + (input.VIPair.Current.Magnitude * input.VIPair.Voltage.Magnitude).ToString() + ", Freq Avg=" + input.Frequencies.Values.Average().ToString())

        output

Example IronPython algorithm:

import clr

clr.AddReference('System.Core')
clr.AddReference('ECAClientFramework')

from System import *
from System.Linq import Enumerable
from ECAClientFramework import *

class Algorithm(object):
    @staticmethod
    def UpdateSystemSettings():
        SystemSettings.ConnectionString = "server=localhost:6190; interface=0.0.0.0"
        SystemSettings.FramesPerSecond = 30
        SystemSettings.LagTime = 3
        SystemSettings.LeadTime = 1

    @staticmethod
    def Execute(input): # AllInput
        from Model.GPA import AllOutput
        output = AllOutput.AllOutput()

        MainWindow.WriteMessage('IM*VM=' + str(input.VIPair.Current.Magnitude * input.VIPair.Voltage.Magnitude) + ', Freq Avg=' + str(Enumerable.Average(Array[Double](input.Frequencies.Values))))

        return output

Example Visual Basic algorithm:

Imports ECAClientFramework
Imports VB.Model.GPA

Module Algorithm

    Public Sub UpdateSystemSettings()

        SystemSettings.ConnectionString = "server=localhost:6190; interface=0.0.0.0"
        SystemSettings.FramesPerSecond = 30
        SystemSettings.LagTime = 3
        SystemSettings.LeadTime = 1

    End Sub

    Public Function Execute(input As AllInput) As AllOutput

        Dim output As new AllOutput()

        MainWindow.WriteMessage($"IM*VM={input.VIPair.Current.Magnitude * input.VIPair.Voltage.Magnitude}, Freq Avg={input.Frequencies.Values.Average()}")

        Return output

    End Function

End Module
Pre-release

@ritchiecarroll ritchiecarroll released this Jun 29, 2016 · 1191 commits to master since this release

Assets 3

This is a pre-release of the openECA platform that includes an operational prototype of Data Modeling Manager and C# based analytic template, i.e., the "Test Harness" application to be used for algorithm development.