3 THE MAS DESIGN
The MAS design was made using MIDAS (Haend-
chen Filho et al 2007), a MAS development frame-
work specified under the service-oriented architec-
ture (SOA). The platform is based on the coexis-
tence of several containers, each one executing a
JVM (Java Virtual Machine). It provides a complete
execution environment in where agents can execute
concurrently in the same host and communicate via
web services with external heterogeneous platforms.
The mechanisms embedded in MIDAS
work into two abstraction levels: (1) in the generic
architectural level, providing infrastructure services,
such as message transport (send/receive,
pack/unpack, requests translate), the control over the
platform and agents’ lifecycle, tasks for services
handling (services registry, publication and discov-
ery), and (2) in the agents’ design level, providing
abstract classes that define the hot-spots from which
specific features of the concrete agents (or compo-
nents) can be implemented, wrapper components
encapsulating Web Services and a blackboard to
support the agents’ communication model. The
blackboard (Ferber 2000) is a software entity widely
used in symbolic cognitive multi-agent systems. Its
structure is defined to enable agents interact indi-
rectly by sharing data and perceiving environmental
changes.
At the design level, the following application
agents must be developed:
Publisher: responsible for formatting and publishing
answers to the consumers, identifying the different
GUI devices to display the information.
1. QueryMgt: plays the roles related to requests
receiving, proceeding to the matching between
the user question and the expert profiles, look-
ing for the best set of experts able to answer the
question.
2. DomainExpert: created for each expert involved
in the question answer, this agent is responsible
to support the human expert in managing her/is
answering process, maintaining all information
relevant (e.g., the timetable to generate an an-
swer and the experts´ names working together
to find a consensus) to the process.
3. Consensus: its main role is to analyze the an-
swers from the DomainExpert and control a co-
ordination cycle until finding a consensus
among the domain experts.
Beyond application agents, some components
must be developed: The AnswerSearch component
encapsulates the web services getAnswerInKB that
retrieve information about knowledge base and
searchAnswerer that retrieves a researcher able to
reply the consumer question. Other components,
such as data access objects and graphical user inter-
face devices must also be implemented.
4 EXPERT/CUSTOMER
MEDIATION
The application developed is named BeyondLabel
(BL). The agents in the presentation and logical
layer (Publisher, QueryMgt, DomainExpert, Con-
sensus) interact with MIDAS (SOM, Blackboard).
The sequence diagram in Figure 3 shows the actions
carried out when a service request is sent from a user
to obtain any product information. The players
weakly shadowed represent application agents,
while the darker ones are components of MIDAS.
The sequence of actions in BL starts when a
service request is sent from a user. This action is
performed in a GUI device and directed to the SOM
agent. Following a typical SOA model, the agents do
not communicate directly among them. The Que-
ryMgt agent receives the service request via SOM,
verifying first if an answer already exists in the KB.
If so, the agent requests the responseDirect service
that is forwarded by SOM to the Publisher agent and
sent to publication. If there is no answer in the KB,
the QueryMgt agent requests the queryDirect service
that is forwarded by SOM to the DomainExpert
agent that will proceed a matching between the user
question and the expert profiles, looking for the best
set of experts able to answer the question.
One DomainExpert agent is instantiated for
each expert involved in the question answer. After
receiving the technical response from the expert that
may be a human or a software agent, the Domain-
Expert analyses the responses. If no divergence re-
mains regarding to the answers, it is driven to SOM
and forwarded to publication. If the DomainExpert
agent detects any divergence, the message is written
in the Blackboard.
The Consensus agent monitors the Blackboard
and, when a message to him is there, it is recovered
and the agent processes this message until finding a
consensus. In case a consensus is not possible, the
conflict information is sent to the administrator that
will forward the problem to a set of experts in that
domain that will discuss deeper the question. From
this point, all interactions among the experts fall out
of the system.
A SOA-BASED MULTI-AGENT APPLICATION FOR THE CROSSLINGUAL COMMUNICATION PROBLEM
253