[alicebot-archcomm] AIML architecture vs. application architecture
Eugene Lebedev
alicebot-archcomm@list.alicebot.org
Mon, 12 Nov 2001 17:12:56 -0500
This is a multi-part message in MIME format.
------=_NextPart_000_0012_01C16B9D.4568D420
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0013_01C16B9D.4568D420"
------=_NextPart_001_0013_01C16B9D.4568D420
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I see a lot of independent tasks from the main=20
thread of abstract AIML architecture (model).
I hope you will see my point in the attachment.=20
Eugene
----- Original Message -----=20
From: "Noel Bush" <noel@alicebot.org>
To: <alicebot-archcomm@list.alicebot.org>
Sent: Monday, November 12, 2001 3:43 AM
Subject: [alicebot-archcomm] AIML architecture vs. application =
architecture
> 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:
>=20
> 1) architecture of an abstract AIML interpreter
> 2) architecture of Program D
>=20
> 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.
>=20
> 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.
>=20
> 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.
>=20
> 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.
>=20
> We're making heavy use of CVS, so all changes are traceable, =
reversible,
> documented, etc.
>=20
> 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.
>=20
> Noel
>=20
> _______________________________________________
> alicebot-archcomm mailing list
> alicebot-archcomm@list.alicebot.org
> http://list.alicebot.org/mailman/listinfo.cgi/alicebot-archcomm
------=_NextPart_001_0013_01C16B9D.4568D420
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>I see a lot of independent tasks from the main =
<BR>thread=20
of abstract AIML architecture (model).<BR>I hope you will see my point =
in the=20
attachment. <BR><BR>Eugene<BR><BR>----- Original Message ----- <BR>From: =
"Noel=20
Bush" <noel@alicebot.org><BR>To:=20
<alicebot-archcomm@list.alicebot.org><BR>Sent: Monday, November =
12, 2001=20
3:43 AM<BR>Subject: [alicebot-archcomm] AIML architecture vs. =
application=20
architecture<BR><BR><BR>> Even though this may be opening up a can of =
worms,=20
I feel obligated to<BR>> mention that I notice a positive =
development: a=20
clearer distinction<BR>> between two tasks:<BR>> <BR>> 1) =
architecture=20
of an abstract AIML interpreter<BR>> 2) architecture of Program =
D<BR>>=20
<BR>> Some of our disputes in the past may be seen as having missed=20
this<BR>> distinction, so that at times we were talking about *both* =
the=20
Program D<BR>> architecture and the architecture of an abstract AIML=20
interpreter. For<BR>> instance, the question of "how to set =
things at=20
startup" looks like an<BR>> application architecture question, not=20
(necessarily) an AIML<BR>> architecture question. On the other =
hand,=20
the question of "how <random><BR>> should behave" is clearly an =
AIML=20
architecture question.<BR>> <BR>> I mention this because I've =
recently=20
been doing some cleanup,<BR>> optimization and enhancement work on =
Program D,=20
and I've found it much<BR>> easier than in the past to see this=20
distinction. The AIML spec WD does<BR>> still stipulate a few =
things=20
which perhaps impinge too much on<BR>> application architecture, but =
for the=20
most part it sticks with AIML<BR>> interpreter architecture.<BR>> =
<BR>>=20
This gives me the feeling (perhaps mistaken) of liberty to =
introduce<BR>>=20
changes in how Program D is configured, so long as they do not =
change<BR>>=20
the runtime interpretation of AIML. For instance, in looking at =
how=20
to<BR>> make Program D support externalized substitutions, it seems =
clear=20
that<BR>> these can be specified in an XML file using a =
<substitute>=20
tag (a la<BR>> TinyAlice) without causing any controversy, since=20
<substitute> makes no<BR>> claims on being an AIML =
element. =20
Program D could just as well implement<BR>> this using a non-XML =
format=20
(unlikely) or by requesting substitution<BR>> information at a =
command-line=20
on startup (obviously silly) -- the point<BR>> is that nothing is =
changed=20
about the behavior of the AIML interpreter.<BR>> <BR>> I hasten to =
add=20
that all such changes are being reviewed continuously by<BR>> Kim =
Sullivan=20
and Tom Ringate, who have distinguished themselves as<BR>> =
high-profile,=20
energetic advocates of usability with respect to both<BR>> Program D =
and AIML=20
in general. The present work is on an incremental<BR>> version =
"4.1.3"=20
which will include not only cleanup and optimization<BR>> fixes =
grounded on=20
Tom's & Pedro's AIML compliance work, but also bug<BR>> fixes, =
some=20
forward-looking architectural improvements, as well as some<BR>> =
functional=20
enhancements (user authentication option, external<BR>> substitution=20
specification). As in most user community-driven<BR>> =
scenarios, it is=20
expected that the smaller advocacy group (in this case,<BR>> Kim and =
Tom)=20
will be widened to a larger group with either a beta<BR>> release =
(something=20
we haven't done yet), or just a "point release" (less<BR>> than =
ideal, but it=20
works), from which additional user feedback will be<BR>> gathered and =
factored into future releases.<BR>> <BR>> We're making heavy use =
of CVS,=20
so all changes are traceable, reversible,<BR>> documented, =
etc.<BR>>=20
<BR>> Any comments are welcome. If somebody feels like this is =
not the=20
way to<BR>> go -- that small changes to the reference implementation =
also=20
need to go<BR>> through committee -- please do say so. In such =
a case I=20
think we need<BR>> to work up an actual Program D spec, which I =
personally=20
feel will<BR>> introduce an unnecessary delay.<BR>> <BR>> =
Noel<BR>>=20
<BR>> _______________________________________________<BR>>=20
alicebot-archcomm mailing list<BR>>=20
alicebot-archcomm@list.alicebot.org<BR>>=20
http://list.alicebot.org/mailman/listinfo.cgi/alicebot-archcomm<BR></BODY=
></HTML>
------=_NextPart_001_0013_01C16B9D.4568D420--
------=_NextPart_000_0012_01C16B9D.4568D420
Content-Type: text/html;
name="ActorsAndGoals.html"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="ActorsAndGoals.html"
<html>
<head>
<title> Actors And Goals</title>
<style type=3D"text/css">
body {background-color: #808080; font-family: Arial}
div.page {background-color: white; width: 80%; padding: 10px}
h1 {border: solid black 1px; padding-left: 10px; color: white; =
background-color: black}=20
th {font-style: italic; background-color: #829AEE}
td {vertical-align: top; padding-left: 5px; padding-top: 5px}
ul {margin-left: 10px; padding-left: 5px}
p.note {font-size: 10px}
</style>
</head>
<body>
<div class=3D"page">
<h1> Actors & Goals (AIML Platform) </h1>
<table border=3D1 cellspacing=3D0 cellpadding=3D0>
<tr>
<th>Actor</th>
<th>Goals</th>
</tr>
<tr>
<td>Bot Administrator</td>
<td>
<ul>
<li>To install and configure the Bot</li>
<li>To install and configure the knowledge base storage(s)</li>
<li>To install predefined knowledge bases</li>
<li>To grant access to the Bot to other actors</li>
<li>To provide ability to update knowledge in knowledge base =
storages to other actors</li>
<li>To prove/check that Bot can keep required number of =
simultaneous sessions</li>
<li>To organize backup of log files </li>
<ul>
</td>
<tr>
<tr>
<td>Knowledge Base Content Manager</td>
<td>
<ul>
<li>To specify the content of the knowledge base</li>
<li>To easy check that the content corresponds to the original =
specification</li>
<li>To track changes of knowledge base</li>
</ul>
</td>
<tr>
<tr>
<td>Knowledge Engineer</td>
<td>
<ul>
<li>To create knowledge base according to original knowledge base =
specification</li>
<li>To make required modifications</li>
<li>To merge modified knowledge bases</li>
</ul>
=09
</td>
<tr>
<tr>
<td>Knowledge Base Tester</td>
<td>
<ul>
<li>To check that knowledge base contains correct knowledge =
base.</li>
<li>To check changes of knowledge base</li>
</ul>
=09
</td>
<tr>
<tr>
<td>Knowledge Base and Logs Analyzer</td>
<td>
<ul>
<li>To find out gaps in the knowledge bases</li>
<li>To review the log file and to find our user=92s =
satisfaction</li>
<li>To provide report regarding gaps in the knowledge bases</li>
<li>To provide report regarding subject of knowledge used during =
the chat</li>
</ul>
</td>
<tr>
<tr>
<td>Bot</td>
<td>
<ul>
<li>To be ready for chat 24/7</li>
<li>To satisfy customer=92s requests during the chat</li>
<li>To redirect customer to another Bot or Live agent in =
predefined cases</li>
<li>To log chat content</li>
<li>To handle predefined number of independent sessions =
simultaneously</li>
<li>To load updated knowledge</li>
<li>To get information from the external sources</li>
<li>To represent necessary predefined information for the =
user</li>
<li>To send the notification to the Bot Administrator in case of =
some technical troubles</li>
</ul>
</td>
<tr>
<tr>
<td>User/Customer</td>
<td>
<ul>
<li>To chat with Bot with some particular goal</li>
</ul>
</td>
<tr>
<tr>
<td>Bot Owner</td>
<td>
<ul>
<li>To attract more customers by Bot</li>
<li>To make customer happy</li>
<li>To simplify process and procedures for customer</li>
<li>To push/advertise predefined goods or services</li>
</ul>
</td>
<tr>
</table>
<p class=3D"note">
Note: Actor here is an actor in standard UML understanding
</p>
</div>
</body>
</html>
------=_NextPart_000_0012_01C16B9D.4568D420--
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com