[alicebot-archcomm] Another suggestion for AIML architecture

Gary Dubuque alicebot-archcomm@list.alicebot.org
Fri, 28 Feb 2003 09:47:36 -0800


There are several versions of the AIML engine, each specialized in an
operating environment, that is, a language.  We have Program E which prefers
PHP.  We have Program V which uses Perl.  Of course there is the Program D
which is Java.  Program N written in C++ (or Program J if you prefer.)  And
Program P for Pascal.  Program Z for Lisp.

Each of these (except J and possibly P) have extended the AIML standard to
include the language best for their environment.  Starting with D we have
<javascript>.  In E we get <php>.  In V we get <perl>.  In N we get
<script>.  Does Z have <lisp>? And in each we have <system> which probably
is different for all.

I propose that we create a standard tag for extensions to the language that
is best for the platform.  In html it is called <script> and it adapts to
what the browser can handle by an attribute.  I wouldn't really want to
confuse the html with aiml, so I suggest we improve the <system> tag
(although I am surely open for debate here since html and aiml should work
together and share functions like formatting - including scripting.)
Instead of <perl> we could write <system language="perl">.  Instead of <php>
we could write <system language="php">.  This would allow the aiml standard
to have a fixed specification for any future API or languages that might
benefit the aiml engine.  A <system> without the language attribute would
operate either as the preferred language of the engine or as the existing
<system> does now.  Actually the existing definition for <system> means no
single implementation of <system> acts as it does now, since by the standard
it is platform dependent.  Which is exactly what the new additional tags
seem to be doing and want to do.  They are enhancements for the platform in
which they run.