Version 1.2 Beta of the framework is now available for download. A tutorial on the framework is included in this distribution. In the future an updated tutorial containing several programming exercises will be released.
• A LIDA tutorial focusing on the framework is available (PDF)
• A conference paper detailing the basics of the framework is available (PDF)
• The Javadoc for the new Version 1.2b may be viewed here
• A Google group for framework questions and issues: CCRG Google Group
• If you are interested in working on the LIDA framework or have licensing questions contact us at ccrg AT cs.memphis DOT edu. Please submit any how-to questions to the Google Group.
Work on a Software Framework for LIDA agents began in January 2009. As a software framework it promotes code reuse providing new users with a usable system instead of having to start from scratch. It allows developers to apply design principles, patterns and best practices easily. As a consequence the LIDA software framework is highly customizable. Essentially the framework implements the common, well-understood parts of the architecture leaving room for current and future developers to concentrate on domain (and module) specific problems. Cognitive systems can be very complex but they typically have a defined architecture with many domain independent parts.
The LIDA framework is intended to create a generic and configurable version of the domain independent modules and processes of LIDA implemented as a software framework in Java. It should be easily customizable for different domains (environments). It should permit changes to the implementation of each module and allow for XML definitions of the data structures, processes, parameters, and modules of the system. Since LIDA is a psychologically-realistic cognitive system, the framework should embrace parallelism and employ multithreading. Also, it should eschew an "information processing" style cognition in favor of many interacting process operating asynchronously. Finally, as a complex system, it should provide users with tools to make it more mangeable: GUI display of the inner workings of the system, logging of important events, and utilities to parse XML and Properties files for easy customization.