Technology – Architecture

Basics  Memory  Module Types  Cognitive Modeling  Integration Points  Architecture

NeurOS System Architecture

NeurOS is architected as an open platform to accelerate research and development of cognitive systems.  It provides, supports and enables:

  • extensive built-in tools and component module libraries
  • easy integration with external systems and technologies
  • multiple development tools
  • application portability without redesign to multiple operating system and system configuration platforms
  • performance scalability via pipelined and partitioned dataflow parallelism across uni-processors, multi-processors, distributed and heterogeneous systems, without application redesign
  • sharing and reuse of custom modules, sub-assemblies, applications and learned memory patterns
NeurOS Architecture

At the core are neural graphs.  These are platform-independent representations of sub-graphs and whole applications.  An XML file format allows easy interchange among tools and run-time systems, without requiring application redesign.  Additional formats allow saving and reuse/sharing of learned memory pattern spaces.

Development tools edit neural graphs and provide debugging and visualization.  The primary built-in tool is the NeurOS Designer IDE (Integrated Development Environment).  It supports graphical editing of neural graphs via dragging and dropping of NeuroBlock modules from a extendable and customizable parts bin, pop-up parameter setting, custom wrapping and module development, memory pattern visualization, tracing, variable-speed execution and single-stepping, graphical activity monitoring, development scaffolding, hierarchical design, and other development and visualization aids.

NeurOS run-time systems enable neural graph execution on a variety of platforms.  Courtesy of data flow rules, a neural graph can execute on a growing range of operating system and hardware configurations, as supported by NeurOS system development.  Run-time support for stand-alone programs and custom GPU and neuromorphic hardware are planned.

Extensive built-in module libraries provide a wide range of general-purpose capabilities for inputs/senses, outputs/effectors, processing and memory.  Modules have both design-time and platform-independent and dependent run-time components.

The initial NeurOS implementation, used to build and run all the example usages and applications, is written in Python using the Spyder IDE on Windows 7/8, with limited multi-processing capabilities.  However, applications written in this version will port seamlessly to future design-time and run-time implementations on multiple platforms.

A more detailed presentation was given to the Boston Software Architecture, Development and Integration Meetup on 2017-09-14.

Basics  Memory  Module Types  Cognitive Modeling  Integration Points  Architecture

Leave a Reply

Your email address will not be published. Required fields are marked *