Babel2 is a general framework for implementing and running your agent-based experiments, both in a simulated environment or embodied in grounded robots. It connects our core technologies such as Fluid Construction Grammar and Incremental Recruitment Language (IRL) with mechanisms for multi-agent interactions, robotic embodiment, cognitive processing and learning. An extensive monitoring system opens up every detail of Babel2’s intermediate representations and underlying dynamics. A modular design ensures that the system can be used in a wide variety of scenarios. It is therefore possible to use each component individually, according to your needs.
Babel2 is written in Common Lisp and runs in most major Lisp implementations (CCL, SBCL and LispWorks (excluding Personal Edition)) on all major platforms (Linux, Mac OS X, Windows). Its source code is frequently released to the public under the Apache 2.0 License. We recommend using the Emacs editor with SLIME or Sublime Text with additional packages for Babel development.
The best place for Babel2 and FCG discussion is the mailing list.
Please note that this repository contains only the public release of the Babel2 package. Our team works on another, private repository. We aim to release new functionality on a regular basis.
Mac OS X or Linux
Currently, we do not have an installation script for Windows. This is work in progress. For now, you will have to set up a Lisp environment yourself. You can install everything manually in Windows.
The FCG cookbook is a dynamic document hosting practical recipes for learning about common problems and solutions in the Babel2 framework. This ranges from installation and Lisp editing tools, over writing constructions to more advanced topics such as setting up your own FCG server, creating a web demonstration, etc.
A good starting point for learning Fluid Construction Grammar is the article "Basics of Fluid Construction Grammar" by Luc Steels, published in Constructions and Frames 9(2). You can download a draft of the article here. The web demonstration that supports the article is available here.
We regularly organise tutorials on Babel2. Please check our events page.
Contributing to Babel2
Feel free to contribute to the Babel2 package! There are 2 ways to do so:
- Reporting problems by creating an issue
- Extending Babel2 using a pull request
You can find more information in the CONTRIBUTING file.