Development
This page provides a short overview of software development in OpenCog. The Getting Started page can help you get oriented.
Download, Build, & Install
- Build instructions are located here: Building OpenCog. How to download OpenCog source from Github and compile.
- Report problems on the opencog mailing list, or in github.
- Bug-fixing is a good way to get started (see github!!), but there is also a list of quick tasks and also some not so quick tasks.
System Documentation
The AGI Summer School 2009 had lectures explaining many of the ideas in OpenCog, which are available online at http://agi-school.org. Major components of the core framework, listed in order of complexity/layering:
- AtomSpace - Overview of OpenCog's core data store.
- Atom types - List of atom types currently documented/in use.
- Atomspace Visualization.
- Scheme - The scheme shell/repl loop/scheme language bindings/programming interface.
- Python - The python shell/repl loop/python language bindings/programming interface.
- Pattern matcher - Performing queries against the AtomSpace.
- Rule engine - a forwards and backward chainer for combining rules.
- NLP pipeline - the current state of affairs in the natural language processing pipeline.
- Embodiment - the software powering the Hanson Robotics robots.
- OpenPsi - Rule selection system.
- ECAN - Attention allocation.
- PLN - probabilistic reasoning.
- ComboReduct - Internal programming language to represent patterns/skills; Reduct reduces it to a normal form.
- MOSES - Meta Optimizing Semantic Evolutionary Search. Evolves programs in Combo.
Specific subtopics can be found in various categories, such as the Category:Infrastructure Documentation or Category:Embodiment.
Development Guidelines & Tools
- Development standards - Code formatting and development practices
- Set-up a QT Creator Project for OpenCog
- File bugs at Github.
- Unit tests are strongly encouraged for any new code.
Future Planning
There are several architectural design tasks planned for OpenCog. Some are a long way off, while others are more of a priority. However, there have been discussions on these topics and so records are kept here to avoid rehashing the same arguments when we DO come to implementing these tools.
- OpenCog HK 2014 High Level Goals
- OpenCog HK 2014 Dialogue System Task Breakdown
- Distributed Architecture
- Unified Rule Engine
- Ideas for enhancements, improvements, new features and future projects
More
More on the Talk:Development page!