OAA2 Distribution history ------------------------- -------------------------------------------------------------- Version 2.1.0 : September 2001 -------------------------------------------------------------- NEW AGENTS (oaa_shell, eliza, attain): OAA_SHELL: A utility and debugging tool for sending requests and queries to a facilitator, from the (Unix or DOS) command line. See http://www.ai.sri.com/~oaa/sri-private/distribv2/doc/agents/oaa_shell ELIZA: an OAA-wrapped version of Viren Patel's Prolog implementation of the classic AI program, which simulates the conversational capabilities of a psychotherapist. See http://www.ai.sri.com/~oaa/sri-private/distribv2/doc/agents/eliza ATTAIN: a set of Natural Language Understanding agents, based on SRI's Gemini system. Note: source code is not provided; just binaries. For this release, binaries are only provided for Sun/Solaris. ATTAIN is a package of natural language OAA agents which provides translation of English sentences into ICL messages that other agents can use. Thus, this package plays a similar role to that of the DCG-NL agent, but uses SRI's industrial strength Gemini parser. ATTAIN produces a more expressive ICL representation than that produced by DCG-NL, and brings several other advantages as well. For example, one practical advantage of ATTAIN is that the inflected forms of regular nouns and verbs (e.g. singular/plural, past tense), come for free with Gemini, whereas they have to be entered manually in the DCG nl agent. See http://www.ai.sri.com/~oaa/sri-private/distribv2/doc/agents/attain Note: none of these new agents is included in the StartIt config file; they are to be invoked from the command line, as described on their documentation pages. Also, the new natural language agent (ATTAIN) is not set up for use with the demo information agents (weather and employee DB). In future releases, we hope to have these new agents integrated more fully into the distribution. -------------------- Improvements to the prolog library : Refined and extended the way in which data callbacks (callbacks with ID app_on_data_change) and data triggers are tested for firing. In particular, data callbacks are now provided for solvables with and without bookkeeping (previously only with). In cases where multiple data elements are removed by one command, data triggers are now fired individually for every element removed or replaced. Increased flexibility in dealing with port availability. When a client agent isn't able to connect to a specified port, a number of options are provided (for example, continue trying every X seconds; try the next highest port). These options can be specified interactively, or in the setup file. These options are consistent with existing options for the facilitator. It's no longer necessary to specify parent_dialect on the commandline of prolog agents (see release notes for 2.0.10). (Sictus only) Added several missing predicates (in spcompat.pl); such as subtract/3 and intersect/2 and intersection/3. More selective in sending ev_agent_disconnected notification to other agents, when an agent disconnects. Now the notification is only sent if there's reason to believe the other agents need to know. COMM trace messages are more informative: They now include the agent's name, not just its address. Data synchronization (when an agent declares a data solvable, all existing facts for that solvable are downloaded from the facilitator when the agent starts up) is now optional, and can be specified using synchronize(true|false) in the parameter list for the data solvable. The default is false. More restrictive about propagating context params - only if reply(true). ------------------ Improvements to the facilitator: Now warns, but doesn't exit, when the specified host isn't the same as the execution machine. More careful attention to number of connections. A new parameter, max_connections, can be used to limit how many connections are accepted at any one time. This parameter can be set using the facilitator's commandline, environment variable, or set up file. The default value is 58, so as to avoid an infinite loop that comes up in Quintus under Solaris. Better exception handling (in Quintus) for the situation where too many connections are open. Minor improvement to the backwards compatibility module, so that OAA1 agents "turn green" in the StartIt GUI, and "can_solve" requests from OAA1 agents work properly. Also, corrected a problem with backwards translation of params in ev_solve events. ------------------ Improvements to the Java library : Bug fix: IclAppend now appends to the end of the list, rather than the beginning. Significant optimizations for speed. Callback id's now conform to those used in the Prolog library (app_do_event, app_idle, etc.) Backwards compatility is provided for the old id's (oaa_AppDoEvent, etc.) ------------------ Improvements to the C library : Callback id's now conform to those used in the Prolog library (app_do_event, app_idle, etc.) Backwards compatility is provided for the old id's (oaa_AppDoEvent, etc.) A variety of optimizations, bug fixes, and robusticizing of the code. This includes a number of code changes contributed by Pete Tinker, and described on the oaa-users mailing list. ------------------- Improvements to the DCG-NL agent : Bug fix: downloading vocabulary from the facilitator at startup, and checking the facilitatorfor additional vocabulary as needed (neither was working properly before the fix). Improvements to the monitor agent : Bug fix: Required semicolon is now inserted between preline and appline. Improvements to startit : Now works under Windows 2000 (code fix contributed by Matt Ginzton). ----------------------------------------------------------------- Version 2.0.12 : August 2, 2000 ----------------------------------------------------------------- Improvements to the facilitator and Prolog library : Bug fix: Prolog agents, including the facilitator, are currently unable to declare data solvables that overload compiled predicates. Previously, an attempt to do so would lead to an unhandled exception, and no warning message. Now, although the restriction still holds, the exception is handled and a warning message is printed. Improvements to the employee database (which impact natural language recognition) : Last or first name only, in addition to both names together, can now be used in queries. Proper translation of the word "phone" in a query. Improvements to the C library : Bug fix: Serious memory leak corrected. (This affected the C debug agent, as well as any new agents using the C library.) Version 2.0.11 : July 20 2000 ----------------------------- Improvements to the facilitator and Prolog library : We now include Sicstus-generated runtimes for the facilitator and natural language agents, both for Solaris and for Linux running on Intel x86 hardware. See README_PROLOG for notes about using Sicstus. Bug fix: oaa_priority_compare made equivalent in Quintus and Sicstus code. Previously, they differed so as to cause different orderings of incoming events. Various other minor bug fixes, mostly around communication primitives, Sicstus compatibility, and backwards compatibility. Improvements to the C and Java libraries : ICL parsing routines now handle the semicolon (:) and vertical bar (|) operators. Various optimizations for speed (Java library). Version 2.0.10 : July 19 2000 ----------------------------- Improvements to the facilitator and Prolog library : Initial version of sicstus compatibility code. This code should be considered a beta version. Sicstus users: please report any bugs or difficulties to oaa-staff@ai.sri.com. Note that we are NOT distributing any Sicstus-generated runtimes with this release; just updated Prolog source files that can be used in a Sicstus environment. In the next release, we plan to distribute Sicstus-generated runtimes for the facilitator and the DCG_NL agent, at least for Linux. (These will be our first distributed Linux runtimes.) Note that it is possible to have an application that uses a mix of Quintus and Sicstus agents. There is one caveat, though: when a Sicstus client agent connects to a Quintus facilitator, the command line argument -parent_dialect quintus should be passed to the Sicstus agent. Similarly, when a Quintus client agent connects to a Sicstus facilitator, this command line argument should be given to the Quintus agent: -parent_dialect sicstus Improvements to the C and Java libraries : ICL parsing routines now handle the colon (:) operator. Minor change to all libraries : Parameter block/1 (to oaa_Solve and other library functions) is now blocking/1. This was done because of Sicstus' use of block as a keyword. However, block/1, in older applications, will still work properly. Version 2.0.9 : May 25 2000 ----------------------------- Bug fixes : - Large messages correctly handled (C and Java were bogus) - Facilitator data solvable is no longer declared when agent A calls oaa_AddData for a solvable that A (only) declares - dcg_nl agent: Format translation is now done for all vocabulary items Improvements to the facilitator : - When parallel_ok(false), and multiple agents provide a requested service, a simple form of load balancing is used: the agents with the fewest outstanding requests are used first. Improvements to the libraries : - Command line option -oaa_name recognized by all libraries - Command line option -init_file recognized by the Prolog library - Prolog library now provides database save and load from file Version 2.0.8 : April 22 2000 ----------------------------- Release of the C library Version 2.0.7 : December 21, 1999 --------------------------------- Fixed the java library : Adding triggers locally fixed. book-keeping and ownership of data fixed. added iclReplaceNthTerm in iclContainers. fixed minor bugs in String management Improvements to the facilitator : When the requested port isn't available, gives a variety of options, which can be specified either interactively or in the setup file New commandline options: -usage -write_setup_file FilePath -write_connections_file FilePath Version 2.0.6 : ---------------------------- Fixed the java library : iclRemoveFromList is now based on unification. oaaInterpret returns false when the term to interpret is not a builtIn nor a user defined solvable fixed oaa_update_data and oaa_add_data_local temporarily removed oaa_id_ref management for the local agent database (turned bookkeeping off by default) implemented : oaa_replace_data_local(liboaa.jave) and db_Replace(icldb.java) removed the warning when attempting to call a non-registered callback. (It tends to confuse users) Fixed monitor : when killing an agent using the right-click button, does not generate null pointer exception anymore Version 2.0.5 : Dec 10, 1999 ---------------------------- Thanks to Jehan's comments : com/sri/oaa2/lib/LibOaa.java 4753: ';;' to be removed 4760: idem com/sri/oaa2/agt/startit/AgentButton.java class AgentSelects should be moved into its own file. Same for class AgentSelectsDetails LibOaa 230: remove prenthesis (#LibOaa) 270: "com." before "sri.oaa2.com" is missing 271: idem debugAgent.frmMain 140: no parenthesis and a pound sign (com.sri.oaa2.lib.LibOaa#oaaRegisterCallback) OaaAboutDialog 68: no package "oaa.tools" 69: idem Version 2.0.4 : Dec 5, 1999 --------------------------- DOC: Added the history.txt file JAVA : Fixed bugs in StartIt and added the Command option when running under Windows PROLOG: Put the latest faciliator Version 2.0.3 : November 15, 1999 --------------------------------- First initial distribution