[alicebot-archcomm] AIML architecture vs. application architecture
Eugene Lebedev
alicebot-archcomm@list.alicebot.org
Mon, 12 Nov 2001 10:25:55 -0500
This is a multi-part message in MIME format.
------=_NextPart_000_000C_01C16B64.69BCFF60
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
I'm glad that this issues has been raised (or raised one more time).
With my point of the primary tasks of ArchComm should should be bottom
and middle layers (please see the attachment): AIML Spec and API and
Standard Test Cases. (I really wish that we have some similar diagram on
the Internet site).
And internal algorithms (algorithms inside components) of reference
implementation should be up to
developers and should not be restricted by specification. That is, ArchComm
provides specification of the component as specification of black-boxes plus
standard test cases. This approach could automatically provide procedure of
sertification of AIML processors produced by other vendors.
And I see the possibility to provide more clean component architecture
of the AIML processor with strictly specified API. In this case it will be
possible to speed up development and testing of different component
independently.
In this situation if developers will come up with faster algorithm,
then it will be easy to replace the component.
Marketing people could/can/should come up with ideas only on some
conceptual level, but conceptual level will be always restricted
by AIML specification. So, here is the task for ArchComm to adjust
spec rapidly according to general marketing expectations.
Is my vision correspond to the vision of other members?
Eugene
----- Original Message -----
From: "Conan Callen" <ccallen@windowpane.com>
To: "Noel Bush" <noel@alicebot.org>
Cc: <alicebot-archcomm@list.alicebot.org>
Sent: Monday, November 12, 2001 4:36 AM
Subject: Re: [alicebot-archcomm] AIML architecture vs. application
architecture
>
> Your point that it is easier to distinguish this problem now is a credit
> to your's, Tom's and others work to get this project cleaned up. Kudos to
> all involved with the cleanup.
>
> The worms were already out of the can, this issue has surfaced many
> times, sometimes mingled in with other issues. From an aiml intreperter
> vendor perspective, I also feel that the implementation should be kept
seperate
> from the AIML spec. What the spec should call out is how to create an
> intrepreter that will work with any compliant aiml, similar to how ansi c
> code should compile on any ansi c compliant compiler (of course, taking
> versions into consideration).
>
> In research or competition, developing better data structures and
> algorithms is what differentates one implementation from another, If all
> implementations use the same internals ... where does that lead to?
>
>
> By driving the implementation into the AIML spec, a situation is
> created where the AIML spec needs to be updated everytime a data structure
or
> algorithm is modified. At every contract I have worked on the client has
> had a Product Spec (at least an idea of what they are trying to build).
> This product spec will typically identify the standards that the client
> wants to support in their product.
>
> As an engineer I will usually have to figure out what kinds of data
structures
> and algorithms will be needed. If I'm really lucky this design work has
> already been done and I just have to grind out code.
>
> Q) If someone comes up with a faster algorithm does this replace the
> existing feature in the spec, or are they told not to use it if they want
> to remain compliant? Although this could be an interesting way to limit
> the competition, which is just the kind of crazy idea that will light up
> the eyes of the marketing folks?
>
> Conan
>
> > Even though this may be opening up a can of worms, I feel obligated to
> > mention that I notice a positive development: a clearer distinction
> > between two tasks:
> >
> > 1) architecture of an abstract AIML interpreter
> > 2) architecture of Program D
> >
> > Some of our disputes in the past may be seen as having missed this
> > distinction, so that at times we were talking about *both* the Program D
> > architecture and the architecture of an abstract AIML interpreter. For
> > instance, the question of "how to set things at startup" looks like an
> > application architecture question, not (necessarily) an AIML
> > architecture question. On the other hand, the question of "how <random>
> > should behave" is clearly an AIML architecture question.
> >
> > I mention this because I've recently been doing some cleanup,
> > optimization and enhancement work on Program D, and I've found it much
> > easier than in the past to see this distinction. The AIML spec WD does
> > still stipulate a few things which perhaps impinge too much on
> > application architecture, but for the most part it sticks with AIML
> > interpreter architecture.
> >
> > This gives me the feeling (perhaps mistaken) of liberty to introduce
> > changes in how Program D is configured, so long as they do not change
> > the runtime interpretation of AIML. For instance, in looking at how to
> > make Program D support externalized substitutions, it seems clear that
> > these can be specified in an XML file using a <substitute> tag (a la
> > TinyAlice) without causing any controversy, since <substitute> makes no
> > claims on being an AIML element. Program D could just as well implement
> > this using a non-XML format (unlikely) or by requesting substitution
> > information at a command-line on startup (obviously silly) -- the point
> > is that nothing is changed about the behavior of the AIML interpreter.
> >
> > I hasten to add that all such changes are being reviewed continuously by
> > Kim Sullivan and Tom Ringate, who have distinguished themselves as
> > high-profile, energetic advocates of usability with respect to both
> > Program D and AIML in general. The present work is on an incremental
> > version "4.1.3" which will include not only cleanup and optimization
> > fixes grounded on Tom's & Pedro's AIML compliance work, but also bug
> > fixes, some forward-looking architectural improvements, as well as some
> > functional enhancements (user authentication option, external
> > substitution specification). As in most user community-driven
> > scenarios, it is expected that the smaller advocacy group (in this case,
> > Kim and Tom) will be widened to a larger group with either a beta
> > release (something we haven't done yet), or just a "point release" (less
> > than ideal, but it works), from which additional user feedback will be
> > gathered and factored into future releases.
> >
> > We're making heavy use of CVS, so all changes are traceable, reversible,
> > documented, etc.
> >
> > Any comments are welcome. If somebody feels like this is not the way to
> > go -- that small changes to the reference implementation also need to go
> > through committee -- please do say so. In such a case I think we need
> > to work up an actual Program D spec, which I personally feel will
> > introduce an unnecessary delay.
> >
> > Noel
> >
> > _______________________________________________
> > alicebot-archcomm mailing list
> > alicebot-archcomm@list.alicebot.org
> > http://list.alicebot.org/mailman/listinfo.cgi/alicebot-archcomm
> >
>
> _______________________________________________
> alicebot-archcomm mailing list
> alicebot-archcomm@list.alicebot.org
> http://list.alicebot.org/mailman/listinfo.cgi/alicebot-archcomm
------=_NextPart_000_000C_01C16B64.69BCFF60
Content-Type: image/gif;
name="Layers.gif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Layers.gif"
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
------=_NextPart_000_000C_01C16B64.69BCFF60--
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com