mensions to investigate social patterns. Each dimen-
sion reflects a particular aspect of a MAS architecture.
Other modeling frameworks like AUML (Bauer,
2001) represent the detailed design of a MAS by
adapting and extending object-oriented concepts. We
believe that a conceptual framework primarily based
on MAS concepts (such as beliefs, intentions, goals,
. . . ) is more appropriate than extended object-
oriented frameworks that treat agents as objects of a
particular type.
• The social dimension identifies the relevant agents
in the system and their intentional interdependen-
cies.
• The intentional dimension identifies and formalizes
services provided by agents to realize the intentions
identified by the social dimension, independently
of the plans that implement those services. This
dimension answers the question: ”What does each
service do?”
• The structural dimension operationalizes the ser-
vices identified by the intentional dimension in
terms of agent-oriented concepts like beliefs,
events, plans, and their relationships. This dimen-
sion answers the question: ”How is each service
operationalized?”
• The communicational dimension models the tem-
poral exchange of events between agents.
• The dynamic dimension models the synchroniza-
tion mechanisms between events and plans.
The social and the intentional dimensions are spe-
cific to MAS. The structural, communicational, and
dynamic dimensions of the architecture are also rele-
vant for traditional (non-agent) systems, but we have
adapted and extended them with agent-oriented con-
cepts. This section details the dimensions and illus-
trates them with the Broker pattern.
3.1 Social Dimension
The social dimension specifies a number of agents
and their intentional interdependencies using the i*
model (Yu, 1995). Figure 1 shows a social-dimension
diagram for the Broker pattern. Agents are drawn
as circles and their intentional dependencies as ovals.
An agent (the depender) depends upon another agent
(the dependee) for an intention to be fulfilled (the de-
pendum). Dependencies have the form depender →
dependum → dependee.
The Broker pattern can be considered as a com-
bination of (1) a Subscription pattern (shown en-
closed within dashed boundary (a)), that allows ser-
vice providers to subscribe their services to the Bro-
ker agent and where the Broker agent plays the role of
yellow-page agent, (2) one of the other pair patterns
Figure 1: Social diagram for the Broker pattern
(Booking, Call-for-Proposals, or Bidding) whereby
the Broker agent requests and receives services from
service providers (in Figure 1, it is a Bidding pat-
tern, shown enclosed within dotted boundary (b)), and
(3) interaction between Broker and client: the Broker
agent depends on the client for sending a service re-
quest and the client depends on the Broker agent to
forward the service.
To formalize intentional interdependencies, we
use Formal Tropos (Fuxman, 2001), a first-order
temporal-logic language that provides a textual no-
tation for i* models and allows to describe dynamic
constraints. A forward service dependency can be
defined in Formal Tropos as follows.
Dependum Forward Service
Mode: Achieve
Depender: Client cl
Dependee: Broker br
Fulfillment:
(∀sr : ServiceRequest, st : ServiceT ype)
request(cl, br, sr) ∧ provide(br, st)
∧ of T ype(sr, st) → ♦ received(cl, br, st)
[Broker br successfully provides its service to client cl if all
requests sr from cl to br, that are of a type st that br can
handle, are eventually satisfied]
3.2 Intentional Dimension
While the social dimension focuses on interdepen-
dencies between agents, the intentional view aims
at modeling agent rationale. It is concerned with
the identification of services provided by agents and
made available to achieve the intentions identified in
the social dimension. Each service belongs to one
agent. Service definitions can be formalized as in-
tentions that describe the fulfillment condition of the
service. The collection of services of an agent defines
its behavior.
Table 1 gives an informal definition for
several services of the Broker pattern. The
FindBroker service allows a client to find
a broker that can handle a given service re-
quest. The client then sends the request to the
broker through the SendServiceRequest
ICEIS 2004 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
50