[alicebot-archcomm] Another suggestion for AIML architecture
Dr. Rich Wallace
alicebot-archcomm@list.alicebot.org
Fri, 28 Feb 2003 20:24:25 +0100 (CET)
You've hit upon one of least well defined areas of AIML here Gary.
One of the difficulties here is that, even if we specify the existence of
a general <system> tag like you've proposed, it still makes a lot of
assumptions about the run-time environment.
For example, Does <system>X</system> start a new process? And, if not,
can it hold up the AIML parser forever if X does not return?
Say two calls to <system> occur in two templates, is there any sharing of
run-time information possible between them?
Another issue that came up, was, does the <system> or <javascript>
environment have access to the objects of the underlying AIML interpreter?
Is there a convention to access, for example, the binding of the AIML
"star" from inside the script?
The more I think about these problems, the more confused I get. The idea
of a <system> tag is simple. But spelling out its exact behavior in a
language-independent, platform independent way is not.
I tend to think that the ad hoc solutions adopted by each interpreter are
going to be around for a while.
> 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.
>
>
> _______________________________________________
> alicebot-archcomm mailing list
> alicebot-archcomm@list.alicebot.org
> http://list.alicebot.org/mailman/listinfo/alicebot-archcomm
--
Dr. Rich
W A L L A C E
ALICE A.I. Foundation
drwallace@www.alicebot.org