MilramX uses an Intelligent Agent architecture, for reasons explained in Why Intelligent Agents?.
These Intelligent Agents, known as MilramX Task Objects (MTOs) exchange High Level Data Objects (HLDOs) by means of messages in order to perform their collaborative analysis of data and exchange of information.
HLDOs are named sets of name:value parameter pairs, in the manner of a Jason string. Each HLDO has a formal definition in terms of its parameters, their data type, and allowed values. HLDOs provide a convenient, computer independent, representation of data, which is human readable.
Some of the functions that MTOs perform are as follows:
The messages exchanged between MTOs contain:
These messages are sent through the MX Message Exchange mechanism which forwards messages to the input queue of the designated HLDO.
This mechanism also includes the ability to specify a named distribution list of MTOs, so that a single message can be sent to multiple MTOs, in the manner of an Email forwarding mechanism. There is also an MX input port through which other systems can send HLDOs to the MX Exchange Mechanism.
These messages can also be sent to this port via the MillramX web-server interface. In future it is planned to add the capability for multiple MX systems to exchange messages across processors, resulting in a true distributed real-time AI system.
The MTOs communicate with external systems via MX Adaptors, which, in the case of external databases, can use the Tau-Adaptor rules-based expert system to automate the translation of complex database structures to and from HLDOs.
This enables these HLDOs to be manipulated by the MTO without needing any knowledge of the structure of an underlying database.
The MX Adaptors also perform the function of detecting bad characters in data retrieved from a source database or system, as well as validating that correctly formatted data is being sent to the target system. Where appropriate, these MX Adaptors, will also perform character set conversion, such as from Unicode to ASCII by substituting multiple ASCII characters for one Unicode character.
Please click here to learn about the MilramX Systems Architecture