About Technologies4Targeting - Click HereMagentA

The Engine...

MagentA Home

Logical Architecture     

The logical architecture of the MagentA Engine includes the virtual world, its runtime system, interface system and extensions. To run an application, a subject domain ontology and application ontology are needed.

MagentA Engine Architecture

The ontology is a selection of updateable knowledge bases with a prescribed structure. It is structured as a semantic network that describes the virtual world of the domain, containing both declarative and procedural components.

Any virtual world is a model of a subset of the real world. In traditional multi-agent systems the virtual environment is very simple and contains only agents that communicate by sending messages. In MagentA architecture, the virtual world contains scenes that, besides agents, can additionally contain any other object type, with its properties and functions. Agents are able to perform actions on these objects.

Within a virtual world, populated by physical and abstract entities, we can create a scenario, perform actions on objects and observe their responses in accordance with rules imported from the corresponding section of the real world. For example, concerning an order agent, the logistics ontology would describe what items are needed to complete the order; who produces or delivers these items, and who can order and receive them. The details of the transaction are not coded; they are separated into text files to be automatically edited. If high efficiency of the system is needed, simple agents are utilised.

Having loaded a virtual world, the user can construct different scenarios describing how this world works, using the interface system. For example, in the logistics system, in a virtual world for an enterprise, a user can place on the screen cities and roads, assembly lines, group technology cells, and means of transport. A virtual market for an enterprise can be built for agents to trade and to develop contracts. There is also a need for abstract worlds, for example, the world of logistics (which includes objects such as: order, schedule, deadline, etc.) and the world of business (which includes objects such as: profit, income, business transaction). In the process of constructing a scenario, it is possible to define parameters for objects and agents and to set their initial states (eg, for a warehouse or a transport system) and to enter initial orders. Then, the virtual world can be set in motion.

To speed up the work of a system, some parts of the ontology can be implemented in C ++ or Object Pascal by developing libraries of extensions of the runtime system. With respect to the basic libraries of the system and in accordance with certain rules, objects (including the basic types of agents) and methods that can be called by agents are constructed. They can be programmed into the system or called in at the runtime. In a critical case, to increase the efficiency of the system, the whole subject domain ontology can be implemented as a selection of objects and methods of a library of extensions.

The Engine architecture provides the ability to generate both simple agents (which do not make use of ontology) and intelligent agents, which use ontology for reasoning and decision-making.

The runtime system includes a virtual parallel machine for running virtual worlds and supporting concurrent operation of agents; a subsystem for communication support; modules for ontology support; the dialogue management subsystem and the service subsystem.

MagentA Engine enables creation of intelligent agents as virtual creatures with physical and mental 'bodies'. A physical body of an agent possesses certain sensors and executive mechanisms, which allow agents to "visualise" and 'hear' a situation, to 'feel changes in an environment' and 'sense a touch'. These devices considerably decrease the cost of perceiving a scene. In addition, a physical body can observe the correctness of reproducing a world scene, perform planned actions, and respond to stimuli. Agent's mental body, on the other hand, handles scenes in abstract worlds, works out scenarios and analyses results.

The principle of developing a 'whole' as a result of a dynamic interaction of self-contained 'parts' opens up new opportunities in the development of complex agents. For example, an agent can be created as a whole virtual world with its own laws of self-organisation and evolution, within which, at any level, a simple agent can be easily replaced with an intelligent agent, and vice versa. Following this line of thoughts, one can easily envisage a dynamic interaction of "physical" and "mental' bodies, each of them consisting of simple agents. In addition, it is easy to imagine an ontology of agents, which is not just a "frozen" passive quantum of knowledge, but a whole world of interacting agents of notions and relations, capable of communicating, generating new notions (for example, by their generalisation) and of establishing associations between them. By extension, any intelligent agent with its own ontology may acquire the ability of understanding text and communicating in a natural language.

The Run Time System

C++ and Object Pascal Versions of the Run-Time System     top

With the requirements of real-time multi-agent systems in mind, Magenta Corporation has developed two runtime systems for use under Windows NT: for programmers both in Ñ++ and Object Pascal, to simplify and speed up the process of system development and make it possible to develop new applications not only by applied programmers, but also by application users.

The Ñ++ runtime system possesses a flexible language for representing agents and visual tools for supporting multi-agent development. This version is currently used for e-commerce systems and i-enterprise systems.

The Object Pascal runtime system is notable for its facility for low-level programming of simple agents in Object Pascal, in order to develop highly efficient applications. Logistics, knowledge management and text understanding systems were developed on the basis of this version of the runtime system.

The first experience of using these runtime systems for developing applications will prove their capabilities and convenience, even for users with minimal programming skills. Mastering the approach and developing the first working prototypes can take as little as 1 to 2 months.

Testing the Object Pascal runtime system has shown that on a computer with a configuration of an average Windows NT, the system is able to support around 500,000 agents with speed of negotiation up to 40,000 messages per second. As comparison, the standard, generally available thread mechanisms were able to support only around 5,000 agents.

Versions of the Run Time System for Hard-coded and Soft-coded Ontology     top

At present, both versions of the runtime system can support hard-coded and soft-coded ontology. The principal distinction of using intelligent agents with ontology is their global procedures for working with a semantic network, which allows the creation of new elements in the network and applying them for analysing situations, decision making and navigating through the elements of the system.

Hard-coded ontology segments from libraries of extensions provide quick action for developing systems. Alternatively, soft-coded ontology provide high flexibility for a system, enabling a user to change ontology without assistance. These two features complement each other: soft coded ontology are used at the beginning of the development of a system; as these fragments become customised, they are hard-coded, providing higher speed and efficiency for a system when flexibility becomes less important.

To simplify this process, Magenta Corporation is developing a family of interpreters and compilers for the language that describes subject domain ontology. On the basis of one ontology description, both flexible and more efficient versions of multi-agent systems can be developed.

The Interface System     top

The interface system is essentially a dialogue management system. It supports the development of a standard interface for working with multi-agent systems (access to agents, negotiations) as well as for extending this standard interface (new buttons and functions) for developing customised applications.

The standard dialogue management system for desktop applications provides basic functions for debugging multi-agent systems. It includes the means for detecting information sent by agents (type of a message, parameters, sender, addressee(s), delivery route), means for detecting the current state of an agent (a list of attributes with current values, a list of internal agents and processes) and means of changing agents' current states and a situation of the world as a whole. On the basis of the unified system of representation, new representations can be developed and adapted to specified tasks. For standard systems, open and dynamically extendable, all new representations can not only be integrated into an existing system, but can also use the capabilities of previously created visual representations. Each new project contributes to the development of a standard selection of visual representations. This contribution is particularly useful when new projects with similar capabilities are needed.

The standard system of dialogue management for web-based applications has been developed in a similar way, but has some distinguishing features. The basis for web applications are HTML (or WML) templates. The web application dialogue management system allows the combining of these templates into an effective internal representation and their dynamic linkage into a network with the help of the language of scenarios.

The system of template generation supports independent parallelism in forming an HTML page, when one part of the page (news column) is formed by one group of agents, and the other part of the page by another group. All technical problems of synchronisation are solved automatically. This approach favours the development of libraries of standard agents; it separates design, structure and the business logic of pages.

An important part of the web application dialogue management system is the library of interface system objects which provide:

    Interaction with a Microsoft Internet Information Server via a high-efficiency extension ISAPI;

    The support of own mini web-server for debugging and off-line demonstrations;

    The support of SMTP protocol for sending e-mails.

Standard interface agents can form a user's interface on the basis of the semantic description of an application domain. For example, in the News Agency, adding a new object, process or attribute will automatically cause a consistent correction of all forms connected to it.

Physical Architecture     top

The Object Pascal and C++ execution subsystems of the MagentA Engine include the following components:

    Runtime System. The system for running parallel processes, implemented in the engine, allows control of many more agents compared with the standard thread mechanism in Win32. Switch of control from one process to another is controlled by a programmer and it can be organised by including in the program special interruption points as system calls. There are available versions for working with ontology and for direct coding of agents in corresponding environments.

    The subsystem for extending the runtime system with functions of dynamic loading/reloading extensions modules. This mechanism allows a programmer to add to the system new modules of extensions: both for developing the functional part of the system, including new basic types of agents, and for the system interfaces (graphs, dialogues).

    The subsystem for support of semantic networks and ontology. The principal task of this system is to provide access to a subject domain ontology. This system is a linking component between the description, generated by the Ontology Development Toolkit, and the system.

    The subsystem for translation and execution of scripts. Scripting languages are an important part of ontology that allow the description of complex parallel scenarios for agents and their linking to specified pre-conditions.

    The subsystem for communication. One of the principal features of agents is their ability to communicate with other agents. In the runtime system great attention has been paid to the mechanism for messaging. The mechanism allows a programmer to send messages both in synchronous and asynchronous modes; to accumulate queues of messages for each process; to detect messages sent to discarded agents, to provide a log of messages for debugging agents interactions.

    The subsystem for serialisation/ de-serialisation in the context of agent work. This mechanism provides a unified saving/restoring of scenes of agent states, in the process of simulation of agents work in real time. This allows the interruption of all processes at any time to continue work later. The mechanism makes the processing of an user's work and a programmer's system debugging easier.

    The subsystem for linking with the external system of visualising/control. This allows the use of any external system, coded in accordance with specified requirements, to activate the runtime system.

Back to Technologies

MagentA Home

DATA IMPROVEMENT (RADIUS) - ANALYTICS (CUSTOMER INSIGHT) - TARGETING (KBASET) - ENQUIRY FORM
NEW DIRECT MARKETING
- INTRODUCTION - SUMMARY PAGE - HOW TO FIND US - JOB OPPORTUNITIES
 CONSULTANCY - TRAINING - SOFTWARE - SUPPORT - SPECIAL APPLICATIONS - BUREAU SERVICES

ABOUT TECH4T- HOME PAGE - EMAIL TECH4T

© Technologies4Targeting 2002/2003 All Rights Reserved