Agent Programming and Scripting languages
Vince Delle Donne, Daniel Gauvin and Hervé Marchal of CRIM (Computer Research center In Montreal) have developed LALO, a language and a framework for developing intelligent multiagents systems. LALO is a language which uses the Agent Oriented Programming (AOP) paradigm as defined by Yoav Shoam. In AOP, an agent is determined by it beliefs, his capabilities, and his commitments, which together comprise its mental state. AOP encourages a social view of computation in which communities of agents interact by exchanging information, sending specific requests, offering services, accepting or refusing tasks, competing with each other for a task to be accomplished or cooperating with each other. A program written in LALO is translated into C++ source code, and then may be compiled with your regular C++ compiler. The agents communicate with KQML (Knowledge Query Manipulation Language). The LALO framework is available on UNIX platforms, Windows NT and Windows 95. Send email to lalo@crim.ca for more information. 12/11/96
IBM has released a new version of their Agent Building Environment -- a toolkit for software developers that makes it easy to build an application based on agents, or to add them to an existing application. In the alpha version, the intelligent agent watches for a certain condition, decides what to do based on the rules you've given it, and triggers an action as a result. This developer kit comes with a number of pre-built parts which make it easy for you to add agent technology to applications. The "central intelligence" brain for the agent is based on reasoning engine and adapter technologies from IBM's T.J. Watson Research Lab. "Adapters" or interfaces allow the agent to interact with the rest of the world. The HTTP adapter, for instance, interfaces with the world-wide-web. The NNTP adapter interfaces with internet USENET news services, and the timer adapter allows events to be triggered based on time. You can write your own adapters, as well, and guidelines and a sample adapter are provided. Custom adapters can be written in either C++ or Java **. A simple full-screen interface is also provided to allow you to specify the rules for the agent's behavior. 12/7/96
People building agents in Java may find these two Prolog interpreters written in Java of interest. W-Prolog is a simple interpreter for a pure subset of Prolog which runs as an applet or as a stand-alone application. jProlog is an interpreter by Paul Tarau and Bart Demoen which uses a compiler to produce faster code. It is close to Clocksin-Mellish Prolog, with lots of the typical builtins. You need a Prolog system (e.g., SICStus, BinProlog, BIMprolog) to get it to work. 12/2/96
General Magic announced and is shipping two Telescript-based products in a new line of Tabriz software for the web which "transform passive networks and applications into active, secure processes for competitive advantage." Tabriz AgentWare is general-purpose software that enables the creation and interaction of "processes" that can occur and interact with one another, even while users requesting the processes aren't actively connected to a network. Processes can be requests for information, authorization and verification and other tasks that are part of a larger goal. The technologies used to build AgentWare result in processes that are active, secure and persistent across the Internet, the World Wide Web and corporate intranets-processes that can be used to build a new, superior class of applications. Tabriz Agent Tools is an integrated, graphical set of tools for creating, debugging and maintaining Tabriz applications. Tabriz Agent Tools is available now as a UNIX System application; a beta release of a version for Windows NT is expected to ship this Autumn. Tabriz Agent Tools provides a source-code editor, a class browser, a source-level debugger and features for managing the components used to build Tabriz applications.8/10/96
Phantom is an interpreted language designed for large-scale, interactive, distributed applications such as distributed conferencing systems, multi-player games, and collaborative work tools. Phantom combines the distributed lexical scoping semantics of Obliq with a substantial language core. The language core is based on a safe, extended subset of Modula-3, and supports a number of modern programming features, including static typing with implicit declarations, objects, lightweight threads, and higher-order functions and lambda expressions. 7/27/96
IBM's RAISE-based AgentBuilder Product now available as Alpha version. AgentBuilder is an extensible C++ class library for enhancing applications, especially network-centric applications, with embedded intelligent agents. AgentBuilder has innovative technology for agents to perform reasoning, and for agents to be embedded closely and flexibly with a variety of applications and software environments. 7/27/96
Bits & Pixels's Java Intelligent Agent Library ($179) provides components for building intelligent agents, implemented entirely in Java. The library is a collection of over 150 java classes covering various aspects of building intelligent agents. In addition to agent communication and data handling facilities, the library contains rule-based and neural net-based processing modules. There is also an extensive modeling facility for prototyping agent interactions and graphical classes for creating static and animated interactive displays. 7/21/96
Technology: Sun has released Tcl Plug-ins for Netscape Navigator, making it possible to create Web pages that include Tcl/Tk scripts. This provides an interesting alternative to the use of Java applets for Web-based agent programs. Sun's current version of the Tcl plug-in runs only with Netscape Navigator under Solaris, Macintosh, and Windows with support for other browsers and operating systems planned. 9/11/96
Technology: IBM Tokyo Research Laboratory is making available an early release of their Aglets Library for programming mobile agents in Java(tm). The package is based on JDK 1.0.2 and Object Serialization in the RMI package from JavaSoft. The first beta release includes Java packages, documentation, and a demo applications. 7/9/96
Technology: IBM has released an alpha version of AgentBuilder, a developer's toolkit for building agent-based systems. The OS/2 version is curretnly available for download over Internet. AgentBuilder is based in great part on the research version of the RAISE (Reusable Agent Intelligence Software Environment) class library developed at IBM's T.J. Watson Research Center by Benjamin Grosof, David W. Levine, Hoi Y. Chan, and others. 7/2/96
Technology: Jess is a clone of the core of the CLIPS expert system shell written by Ernest Friedman-Hill at Sandia National Laboratories in Livermore, CA. Jess contains only the essential features of CLIPS, and leaves out a lot (e.g., COOL) but it is a powerful, fast, and efficient tool with many applications. Jess is downward compatible with CLIPS, in that every valid Jess script is a valid CLIPS script. Like CLIPS, Jess uses the Rete algorithm to process rules, a very efficient mechanism for solving the difficult many-to-many matching problem. 6/22/96
Penguin
is a Perl 5 module that provides a set of functions to (1) send encrypted, digitally signed perl code to a remote machine to be executed; and (2) receive code and, depending on who signed it, execute it in an arbitrarily secure, limited compartment. The combination of these functions enable direct perl coding of algorithms to handle safe internet commerce, mobile information-gathering agents, "live content" web browser helper apps, distributed load-balanced computation, remote software update, distance machine administration, content-based information propagation, Internet-wide shared-data applications, network application builders, and so on. 6/16/96
Aglets is the name of a Java class library for mobile Internet agents developed at the IBM Tokyo Research Laboratory. An aglet is a persistent and transportable Java(tm) object that executes asynchronously on the host computer in an execution context. The execution context provides a secure environment, protecting both the host computer system and the aglet from malicious aglets. 5/14/96
Technology: HORB is a free package that supports distributed Java programming -- e.g., remote object creation, remote method call, and object passing. HORB consists of the HORBC compiler, the HORB server (a kind of ORB, Object Request Broker), and the HORB class library. Java objects compiled by the HORBC compiler are ready to be used in distributed environments. HORB works with the Javac compiler, Java interpreter and Java system classes distributed by Sun. For details, see The Magic Carpet for Network Computing: HORB Flyer's Guide, HIRANO Satoshi, 1996/03/21 for HORB 1.2. 5/23/96
Technology: Autonomous Agent Programming using Java. The Applied Internet Technologies branch of SAIC has developed a framework in Java for the development of autonomous agents. We have provided links to the documentation of the Framework. 5/11/96
Technology: Java-To-Go - Itinerative Computing Using Java. Java-To-Go is an experimental infrastructure developed by William Li (wli@eecs.berkeley.edu) that assists in the development and experimentation of mobile agents and agent-based applications for itinerative computing (itinerative computing: the set of applications that requires site-to-site computations. Sites are usually traversed in sequence by a single mobile agent or in parallel by a group of agents). Agents are given the freedom to perform active computations (that is, computations are initiated by the agents at its volition) at one or more remote agent servers. In contrast, standard Java applets can only be invoked passively. 5/11/96
Technology: Ftp Software has released the CyberAgent Software Development Kit which provides numerous agent classes designed to expedite the development of Java-based mobile agents. The CyberAgent classes include templates to create an intelligent agent, start an agent, stop an agent, define a travel plan, allow access to OLE-enabled applications, and support secure agent communications. You can also use the agent classes with various third-party Java integrated development environments (IDEs). 5/11/96
Technology: Oracle Web Agent is a generic procedural gateway, which seamlessly invokes Oracle stored procedures, and provides an object-oriented, user-extendible framework for producing dynamic HTML pages using Oracle's PL/SQL scripting language. The Oracle Web Agent is implemented using CGI, enabling it to function with any Web Server. 5/11/96
Paper: Distributed Active Objects, Marc H. Brown and Marc A. Najork, DEC SRC Report #141a, April 15, 1996, 21 pages. Abstract: Many Web browsers now offer some form of active objects, written in a variety of languages, and the number of types of active objects are growing daily in interesting and innovative ways. This report describes our work on Oblets, active objects that are distributed over multiple machines. Oblets are written in Obliq, an object-oriented scripting language for distributed computation. The high-level support provided by Oblets makes it easy to write collaborative and distributed applications. 5/10/96
Technology: Ray Johnson (Raymond.Johnson@Eng.Sun.COM) points out that Sun has some tools for creating Tcl extensions in Java. This sounds quite useful for building agent-oriented code. See ftp://ftp.sunlabs.com/pub/tcl/tcljava*. 3/7/96
Language Support for Mobile Agents, Fritz Knabe, Ph.D. Dissertation, CMU. 1/19/95
Sun Labs has built most of the concepts of Safe-Tcl into Tcl 7.5 , now available in as an alpha release. In addition to running on PCs and Macs (with a Motif look and feel), this new version lets you dynamically load binaries and create additional interpreters and execute untrusted scripts using a generalization of Borenstein's and Rose's Safe-Tcl. Ray Johnson (Raymond.Johnson@Eng.Sun.COM) reports that they have some examples of it running with a web browser and are considering creating a Netscape Plug-in to run safe Tcl scripts (See http://www.sunlabs.com:80/research/tcl/java.html for a discussion of the relationship between Tcl/Tk and Java) and planning on doing some work with Safe-Tk. 1/16/95
Agent Tcl is a transportable agent system in which the agents are written in Tcl 7.4 and Tk 4.0. Agent Tcl is under continuous use at Dartmouth in a range of information-retrieval and information-management applications. It is roughly analagous to Telescript except that it uses Tcl, is lightweight, and *currently* provides limited security. An alpha release is now available which runs on standard Unix platforms. 12/11/95
http://www.ecrc.de/research/projects/facile/facile_