Session 1: Capabilities

 

Goals:

  1. Completeness/Breadth of coverage
    1. Support any potentially useful primitives
  2. Architectural commitments to constraints for
    1. Efficiency
    2. Making “the things you want to do” easier and everything else harder
    3. To fit human data
  3. Valid cognitive architecture
  4. Useful intelligent agent architecture

 

Current deficiencies:

  1. Learning
    1. Category/semantic
    2. Reinforcement
    3. Episodic
    4. Predictive learning
    5. Ubiquitous automated learning
    6. Speculative execution
  2. Representations
    1. Iconic
    2. Support for goal trees
    3. Planning mechanisms/representations
  3. Subcognitive processing
    1. Emotion/mood/affect (human performance moderators)
    2. Physiological models
    3. Activation-based memory
    4. Non-symbolic decision making
    5. Architectural clock
    6. Chunk decay
  4. Cognitive processing
    1. Managing deadlocks and resource conflicts
    2. Standardized perceptual/motor modules
    3. Standard variety of memory buffers
    4. Partial matching
    5. Analogy
    6. Attention

                                                               i.      Cognitive

                                                             ii.      Sensorimotor

    1. Structure and search of semantic memory
    2. Bounded matching, instantiation, and elaboration
    3. Passing of time (urgency, time=cost)
    4. Spatial situation, reasoning, and representation
    5. Models of micro-worlds (as opposed to problem spaces)
  1. Metacognitive processing
    1. Knowledge revision: can change rules
    2. Rules can match against rules
    3. Arbitrary function calls in rule conditions
    4. Forgetting in long-term memory
  2. Preferences and working memory

Session 2: Architecture development usability: extensibility & embedability

 

Goals:

  1. Tease apart from TCL
  2. Default user interface that’s simpler than TCL
  3. Managing I/O better (don’t’ crash…easy to do…standard representations)
  4. Decrease version specificity
  5. More modular kernel
  6. Cleaner API to kernel
  7. API to kernel components
  8. Interfaces to higher-level applications
  9. Thread-safe/multi-threading
  10. Support for multi-agent applications
  11. Support for psychologists
  12. Support easy/small experimentation with architecture
  13. Improve ease of understanding of kernel
  14. Support variations on kernel
  15. Make sure kernel never hangs
  16. Ability to run days at a time
  17. Ability to scale to large systems without changing things

 

Current deficiencies

  1. Agent I/O systems
    1. Standard functions and data structures for processing I/O
    2. Reading and writing XML for I/O (translation to and from WMEs)
    3. Interfaces to perceptual motor modules
    4. Stress testing of I/O systems (so they don’t crash)
  2. Kernel to embedded systems
    1. Create an external kernel API that won’t change for at least 10 years
    2. Create library of interfaces to other languages and systems
    3. Do we have to worry about OS level mechanisms (like paging)?
  3. Kernel to multi-agent systems
    1. Refactor and separate multi-agent controller (controller distinct from kernel)
    2. Inter-communication of agent statistics
  4. Kernel to end-users and model developers
    1. Design and build a stripped-down user interface
    2. User-defined collection of performance and behavior statistics and observations
    3. Make available tunable run-time parameters for behavior and performance
    4. Dynamically loadable behavior and performance modules
    5. Callbacks for user variations on behavior
  5. Kernel internals
    1. Refactor the kernel
    2. Eliminate memory leaks
    3. New component-oriented design of kernel
    4. Well defined API for kernel components
    5. Reimplement in an object-oriented language
    6. Version control (CVS)
  6. Docs and specs
    1. A real BNF for Soar rule syntax
    2. XML or Skeptic specification of kernel processing