Difference between revisions of "The CINDY Cognitive Architecture"

From David Vernon's Wiki
Jump to: navigation, search
Line 1: Line 1:
CINDY stands for '''Ci'''rcular '''N'''etwork '''Dy'''namics. It is just beginning and is based on many other cognitive architectures, especially the iCub cognitive architecture which was never fully realized.  CINDY is a very early work-in-progress but the long-term goal. Right now, in addition to some utility functions, it comprises just two prototype components that serve simply as examples of how a typical component in the architecture should be implemented.  Over the coming months, additional components will be added. These will provide to the functionality expected in a cognitive architecture.
+
CINDY stands for '''Ci'''rcular '''N'''etwork '''Dy'''namics. It is just beginning and is based on many other cognitive architectures, especially the iCub cognitive architecture which was never fully realized.  CINDY is a very early work-in-progress but the long-term goal is to design and implementation of an emergent artificial cognitive system that builds on the principles of growth and development through circular causality, sharing many of the principles of the field of Systems Dynamics.
 +
 
 +
Right now, in addition to some utility functions, it comprises just two prototype components that serve simply as examples of how a typical component in the architecture should be implemented.  Over the coming months, additional components will be added. These will provide to the functionality expected in a cognitive architecture.
  
 
'''These prototype components can also be used as the basis for developing applications using the component-port-connector model of component-based software engineering.  One of the prototypes features a graphic user interface (GUI) implemented using FLTK, while the other does not.'''
 
'''These prototype components can also be used as the basis for developing applications using the component-port-connector model of component-based software engineering.  One of the prototypes features a graphic user interface (GUI) implemented using FLTK, while the other does not.'''

Revision as of 08:46, 15 February 2015

CINDY stands for Circular Network Dynamics. It is just beginning and is based on many other cognitive architectures, especially the iCub cognitive architecture which was never fully realized. CINDY is a very early work-in-progress but the long-term goal is to design and implementation of an emergent artificial cognitive system that builds on the principles of growth and development through circular causality, sharing many of the principles of the field of Systems Dynamics.

Right now, in addition to some utility functions, it comprises just two prototype components that serve simply as examples of how a typical component in the architecture should be implemented. Over the coming months, additional components will be added. These will provide to the functionality expected in a cognitive architecture.

These prototype components can also be used as the basis for developing applications using the component-port-connector model of component-based software engineering. One of the prototypes features a graphic user interface (GUI) implemented using FLTK, while the other does not.

The long-term goal is to design and implementation of an emergent artificial cognitive system that builds on the principles of growth and development through circular causality, sharing many of the principles of the field of System Dynamics.

In the long-term, CINDY will feature:

  • exogenous and endogenous attention (both overt and covert)
  • joint perceptuo-motor representations (e.g. joint episodic-procedural memory)
  • value-system driven development
  • action selection based on internal simulation

The following sections will help you install the current implementation and run some test applications. It also provides a comprehensive overview of how to develop a new component for the architecture.

There are also a set of software engineering standards which have been adopted to make sure the software can be maintained in the long term. Please respect these standards if you are developing code that you intend to be integrated into the architecture.

Developer Guides

Software Engineering Standards