Motivated by the technological and social changes of this mobile era, the ALICE A.I. Foundation has released a new, free, open source Java implementation of the AIML 2.0 Draft Specification. Following the tradition of naming AIML interpreters after letters of the alphabet (Program A (SETL), Program B (Java), Program D (Java), Program E (PHP), J-Alice (C++), Program N (C++), Program O (PHP/MySQL), Program P (Pascal), Program Q (C++, Qt), Program R (Ruby), Program V (Perl), Program W (Java), Program Y/PyAIML (Python), and Program Z (Lisp)), this new system is called Program AB to indicate a "fresh start" with AIML 2.0.
Program AB serves as the reference implementation of AIML 2.0 and is currently the primary platform for experimenting with new features. The program is structured to enable developers to easily extend AIML with custom tags. Program AB implements AIML 2.0 features including Sets and Maps, Zero+ wildcards, and the capability to connect to remote bots and web services through the new
Significantly, Program AB implements some memory and storage optimizations that make it possible to run a sophisticated chatbot on a mobile device or embedded system. Versions of Program AB have already been tested on Android phones and tablets, as well as the Raspberry Pi single-board computer. Embedding the artificial intelligence engine in such devices provides the possibility of creating virtual assistants that work without an internet connection, as well as enhancing user privacy because the application does not rely on transmitting conversation data to a remote server.
Program AB is available for beta testing at https://code.google.com/p/program-ab/.