[
Lists Home |
Date Index |
Thread Index
]
I agree with what you are saying, but perhaps it is a poor example. The
idea behind COLAG is to be able to specify new logic, and not just new data
to be used by the existing coded logic. I mean, even if you read the data
to use for computing the discount from a relational database, the logic
that you have coded in the discount agent is still the same. lets say, at
runtime, business situation changes, and you now want the agent to not
calculate the discount but to ask for the discount from another agent, or
any other logic that you have not put in the agent at design time because
you did not anticipate it. COLAG lets you do this by creating a message
containing new logic and sending it to the agent to "tell" it about the new
behavior (logic) that it should follow.
Hope this helps. I will be glad to discuss it further.
Thanks,
Rahul
At 08:59 AM 3/3/2003 -0500, Chiusano Joseph wrote:
> >From your site:
>
><Quote1>
>As an example, consider the software agent that calculates the discount
>applicable on a product. Currently, to create such agent, we have to
>know and fix the categories of applicable discounts and their formula at
>design time and code them explicitly in the software.
></Quote1>
>
>Only poor system designers have to do this. As you no doubt know, one
>classic way of handling this is to store the cateogories of applicable
>discounts and their formulas in relational database tables that are
>maintained "outside" of the code, and accessed at run-time for the
>latest information.
>
>Kind Regards,
>Joe Chiusano
>Booz | Allen | Hamilton
>
>Rahul Jain wrote:
> >
> > Hi,
> > I invite your feedback on second version of COLAG. This includes major
> > changes and there is a new document containing examples, illustrating all
> > aspects of the technology.
> >
> > COLAG (Conversation Oriented Learning And Growing software) is an XML based
> > environment for writing software with the unique feature that the execution
> > logic (behavior) of the running COLAG program can be dynamically changed at
> > runtime using XML based messages without any need for re-compilation. COLAG
> > software is a collection of XML documents, where each document (called
> > 'specification file') specifies the data and behavior of an entity (class
> > in OOLanguage). An entity instance (similar to 'object') is represented by
> > an XML element called its 'instance element', and its data is represented
> > by an XML tree called 'instance tree'. COLAG introduces a new concept of
> > 'global data tree', which refers to a run-time XML tree that will contain
> > the instance trees of the instances created at run-time, i.e. instance
> > element of an instance will be added to the global tree after its creation.
> > The equivalent of a method in COLAG is called a 'conversation', but unlike
> > method, a conversation is capable of 'self-instantiation'. A conversation
> > will specify via XPath expression, the nodes in the global tree whose
> > update will instantiate it. A conversation will execute by constructing an
> > XML tree, called its 'conversation tree', and update the global tree by
> > transferring the content from the conversation tree to the global tree,
> > which might start other conversations and so on. COLAG also defines
> > concept of a 'message conversation, which will start in response to receipt
> > of an appropriate external message, as given by its start condition. An XML
> > based message format is also defined in COLAG that can be used to interact
> > with instances in a running COLAG program by instantiating their message
> > conversations. This can also be used to dynamically introduce new
> > conversations or modify/delete existing conversations of the instances,
> > there by changing the program logic.
> >
> > Please refer to the Primer document at colag.com for complete description
> > of the technology. Any comments are welcome.
> > Thanks,
> > Rahul Jain
> >
> > -----------------------------------------------------------------
> > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> > initiative of OASIS <http://www.oasis-open.org>
> >
> > The list archives are at http://lists.xml.org/archives/xml-dev/
> >
> > To subscribe or unsubscribe from this list use the subscription
> > manager: <http://lists.xml.org/ob/adm.pl>
>-----------------------------------------------------------------
>The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
>initiative of OASIS <http://www.oasis-open.org>
>
>The list archives are at http://lists.xml.org/archives/xml-dev/
>
>To subscribe or unsubscribe from this list use the subscription
>manager: <http://lists.xml.org/ob/adm.pl>
|