I-X is a systems integration architecture which supports the creation of collaborative and mulit-agent systems. It provides an issue-handling style of architecture, with reasoning and functional capabilities provided as plug-ins. Also via plug-ins it allows for sophisticated management of internal model representations. I-X agents may be combined in various ways, and may interwork with other processing capabilities or architectures.
The latest version of the I-X open source distribution can be obtained at http://www.aiai.ed.ac.uk/project/ix/release/.
The core distribution contains the I-X Second Life demonstration application.
This document assumes you are familiar with the following concepts: I-X technology, <I-N-C-A> and SL, in particular SL objects, communication and scripting. Also, that before running this application, you have created a SL Greeter object with the correct Linden Scripting Language (LSL) scripts, which must be running, and have at hand the ID of the channel to communicate with the Greeter.
If you want to try out the fire starting activities, get the sample Effects Generator object provided as a demonstration at AIAI2's facility in Second Life. This obbject can be controlled by command through I-X.
Also available with the application are the Greeter Linden scripts (in the '[app directory]/resources' directory): 'GreetingComms.lsl' and 'Greeting.lsl'. Plus the Greeter texture file (as seen in the above image) that is based on the NASA Personal Satellite Assistant robot texture.
I-X Greeter Agent:
The overall architecture of the application is:
As can been seen from the architecture diagram, the I-X Process Panel does not communicate directly with the SL Greeter, it is done via the proxy I-X Agent. As mentioned above, this decision was taken to reduce the complexity of the application. In essence the proxy acts as an <I-N-C-A> interpreter. The I-X Agent interprets <I-N-C-A> messages and forwards the necessary content to the SL Greeter. The I-X Agent also forwards any messages sent back from the SL Greeter, as <I-N-C-A> Reports, to the I-X Process Panel.
Communication between the I-X Agent and I-X Process Panel is done via
local communication channels, but can be, as with any I-X
configuration, done in various ways. Currently, the I-X Process Panel
is configured to run a local name server to which the SL I-X Agent
connects to. The I-X Agent communicates with the SL Greeter via the XML-RPC protocol. Due
to current SL limitations XML-RPC calls cannot initiate from within
the SL environment. So in order to allow the SL Greeter to send
event notices to the I-X Process Panel, a system has been implemented
whereby the I-X Agent polls the SL Greeter. This way the Greeter
can piggyback a report on an XML-RPC reply message.
I-X Name Server:
In the current configuration, it is necessary to run the I-X Process Panel first since it initialises the name server.
I-X Process Panel Test Menu: Using the test menu it is possible to send activities to the SL Greeter or send activities to the I-X Process Panel, which can then be delegated to the SL Greeter. The configuration file for the test menu is: [app directory]/config/sl-greeter-test.xml.
Configuration: The configuration file is [app directory]/config/sl-process-panel.props. Included in this file are details about the agents' capabilities. For the Greeter, it can start and stop.
Note: to see the fire-starter working, get a copy of the sample Effects Generator from the AIAI2 Office in Second Life and place it within 10m of the Greeter (so chat commands from the greeter can be heard by the object). http://slurl.com/secondlife/Vue/185/251/22
Configuration: Greeter communication parameters are stored in the I-X Agent configuration file: [app directory]/config/sl-greeter.props. Two parameters are required to communicate with the SL Greeter: