MULTIAGENT-BASED ARCHITECTURE FOR THE DYNAMIC DSS
According to what has been described in the previous sections, we may distinguish various activities that must be carried out during the dynamic DSS operation. This system should work in the following way.
When an enterprise domain requires some information, a user of that domain gets into the dynamic DSS and formulates a query in natural language. The system interprets that query, compares the contents of the query with its knowledge about the type of information each domain can provide, and identifies the domains to which the information requirement must be derived. Then, the system communicates with this domain and waits for an answer. In case it does not obtain a positive answer, it communicates with the other domains. Once the pursued answer is obtained, this is transferred to the domain of origin and, if necessary, the knowledge updating is also done.
A system that operates in the described way can be implemented using the mobile agent technology (Rus, Gray, & Kots, 1998).
An agent is a software component that performs specific tasks in an autonomous, intelligent, and collaborative way in order to achieve its design objectives. Two classes of agents may be identified: static agents, which stay in their respective computers; and mobile agents, which are able to migrate among different locations of the network in order to perform their tasks locally.
A multiagent system consists of a set of software agents, each performing a specific activity but behaving as an organization, i.e., in a coordinated way. The main activities this system must perform are:
Each of these activities requires a different type of software agent. A multiagent architecture for this dynamic DSS should be made up of three main kinds of software agents:
Figure 1 is a schematic representation of the multiagent architecture for the dynamic DSS.
This multiagent system, as depicted in Figure 1, works as follows:
When a decision-maker needs specific information, the former, being helped by an assistant, expresses the information he/she would like to receive (1). Then, the assistant passes it to the Domain Representative Agent (2), which changes the query into a format accepted by the mobile agents and sends it to the Collecting Agent Server (3). The Collecting Agent Server gives the query to a domain Collecting Agent, and it goes to a special agent server the Router Agent (4). It receives the Collecting Agent that has just left its domain, reads the formulated query, filters it, and according to the information kept in its knowledge base (5), it computes the discriminating function of each domain and gives the Collecting Agent a ranked list of domains that would provide the searched information (6). The Collecting Agent visits these domains with its query (7). Once it has found the answer and is about to go back to the original domain (8-12), it visits the Router Agent again to inform it of the obtained results, allowing it to have new information to update its knowledge base for future queries (13). That information is stored in the cases base to be used in the learning process. Finally, the Collecting Agent goes back to its domain, delivers the information and destroys itself (14-17).