Giter VIP home page Giter VIP logo

associationengine's Issues

Integrate Tox Into Testing

We want to use tox to consolidate and standardizing testing frameworks. Helps test code against multiple versions of python quickly.

Create Wrapper Methods for Matrix in Manager

Need to implement wrappers for Matrix methods:

  • get_value_matrix
  • get_relationships_by_value_range

This needs to be done to avoid the end user needing to acquire an instance of AssociationMatrix and operate on it directly. Instead, the end user should only ever interact directly with an instance of Manager.

Update UML Diagrams

Changes to the architecture have been made and we need to update the diagrams to reflect the new architecture.

Be Able To Feed Program Spread Sheet Of Data and Run From There

This Serves Two Purposes

  1. This spread sheet should be used for integration testing
  2. What will be run as an example for the demo

Realistically, sensors don't follow perfect functions like Sine and Cosine.
Instead, we should have a sensors read a spreadsheet column to get it's values. This is a sufficient way to simulate "real-life" data.

Research Aggregation Algorithm

The meat of the Snapper's functionality.

This will include the method for synchronizing values into a coherent snapshot in the event that they are out of line. This issue will be long-standing and will encompass multiple smaller issues for a while as we research the viability of different approaches.

Implement Aggregation

Must actually implement proper aggregation to replace the simple echo placeholder

Relationship Mock Class

Create a MockRelationship class that inherits from the Relationship class that makes testing the parts of the system easier and more reliable.

Implement Placeholder Snapshot Aggregation

Implement a basic aggregation method to fill in for the final method in Issue #10 until we complete research.

This fill in method should just simply return the most recent value from each sensor for publishing to its corresponding variable and be written in a way that will allow for easy transition to the true algorithm by just simply reading from the built in data buffer.

Create Variable

Variable should be able to subscribe to Snapper and publish to the relationship subscribers

Create Association Matrix

  • Determine effective data format (possibly a nested array?)
  • Develop method to add relationship object
  • Develop method to remove relationship object

Restructure Snapper Module

Need to restructure the module to have a clean interface via a manager class that creates and manages instances of Snapper, AssociationMatrix, and the Variables, Relationships, etc necessary for function internal to the system.

Create Subscriber interface

The 'on_data' function is spread across multiple different classes for subscribing which should be put in it's own interface.

Create Snapper

Snapper should be able to subscribe to a Raw Sensor, and publish data to it's subscribers.

  • Determine output format for interfacing with Variable
  • Determine expected input value from Raw Sensor
  • Implement algorithm to convert from input to output
  • Implement actual publish-subscribe connections to Raw Sensor and Variable objects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.