This is a preliminary version of an experimental mechanism that sends world-state changes from an agent to other, specified agents. Instead of sending every change, the changes are filtered so that only changes that match specified patterns will be sent.
Note: The way in which exports and filters are specified may change completely in future versions of I-X.
Use the agent extension mechanism to add state-exporting when a panel first starts up. This is done by specifying a command-line argument or props file entry
extension-classes=ix.test.StateExportExtensionAnother useful parameter is
state-export-list=resource-nameThis specifies a file that contains a list of export specifications in the form described in the next section. A "resource name" can be a file name or a URL.
To export state, you will need to define some world-state-export objects which specify what is in each "view" you wish to export and its destination.
Note: The world-state-export class is currently a subclass of world-state-view, and so the export objects will sometimes be referred to as "views". However, in future versions this relationship may change so that a world-state-export instead contains a world-state-view.
Here is the XML syntax. (Other representations correspond to this in the usual way.)WORLD-STATE-EXPORT ::= <world-state-export> <name>STRING</name> <destination>STRING</destination> <filter-patterns><list>...</list></filter-patterns> </world-state-export>
An world-state-export has the following fields:
The string-valued fields may instead be written as attributes of the world-state-export element, and the filter-patterns can be written as list-text elements. Usually, you will need a list of world-state-exports, so an example might look like this:
<list xmlns="http://www.aiai.ed.ac.uk/project/ix/"> <world-state-export name="example-1" destination="coordinator"> <filter-patterns> <list> <list-text>((location ?object) = ?place)</list-text> <list-text>((is-cold ?place) = ??)</list-text> </list> </filter-patterns> </world-state-export> </list>