Building Common Awareness in Agent Organizations
Ioannis Partsakoulakis and George Vouros
Department of Information and Communication Systems Engineering
83200 Karlovassi, Samos
Greece
{jpar,georgev}@aegean.gr
Abstract. Groups of collaborative agents within organizations need to achieve
goals creating group awareness. This is necessary for groups to act as single
entities. The notion of collective belief has been used extensively in formal
models for collaborative activity to deal with group awareness. However,
collective belief alone is neither sufficient nor effortless for group members to
act collaboratively. In human organizations, the members of a group accept that
certain states hold based on shared practices and beliefs of individual agents.
These acceptances are formed even if some members of the group do not
believe that the corresponding states hold. This paper distinguishes between
individual beliefs and group acceptances in multi-agent systems in wellorganized settings. It introduces state recognition recipes that drive groups
within organizations to create common awareness, and thoroughly explains the
exploitation of these recipes.
1
Introduction
The ability to interact with others is one of the fundamental characteristics of agency.
However, to form collaborative groups and act as group members, the exchange of bit
streams is not enough. Agents must share knowledge and practices and must be able
to build and maintain models of their peers.
This paper deals with groups of agents within organized settings: groups follow a
pre-specified organizational model stated in terms of roles. The objective of this
research is to build multi-agent systems that form the digital analogue of human
organizations and help humans to fulfill their responsibilities individually or in
collaboration with other colleagues. Agents represent humans within the digital
organization. Representatives play the roles that their human partners play within the
human organization and have the same responsibilities.
Subsequently, referring to individual agents or groups of agents playing specific
roles within organizations we mean representatives or groups of representatives that
play the corresponding roles within digital organizations.
Participating in a group, agents must reconcile between their individual beliefs and
group’s views, creating group awareness independently of their perceptual and
cognitive abilities, permissions to access information sources, knowledge that they
posses, preferences etc.
2
Ioannis Partsakoulakis and George Vouros
Theoretical models of collaborative decision making [2, 8, 12, 5] adopt the notion
of collective or mutual belief to cope with group awareness. According to this notion,
a group of agents collectively believe a state α, if every individual in the group
believes α and everyone in the group believes that everyone believes α, and so on.
This definition is well-grounded; however, in settings where information is inherently
distributed and access restrictions to information sources apply, the views of a group
cannot be based on the individual beliefs of all group members.
Furthermore, it is rather difficult to build systems based on the notion of collective
belief, unless certain assumptions are made [4, Chapter 11]. Such assumptions are
often implicit, affecting system’s openness and dynamic re-structuring: newcomers in
a group must be informed about these assumptions, and the group may need to adjust
its policies for group awareness when it is re-structured.
The above issues introduce the problem of representing and exploiting the policies
for building and maintaining common awareness within groups. For instance, in
certain settings, group members must be able to exploit a policy that states that the
group shall accept something only if the majority of the group members believe it,
although there may be some group members with a different opinion. More than
policies, the above example reveals the necessity for agents to clearly distinguish
between their beliefs and their acceptances as group members.
Concluding the above, based solely on the notion of collective belief, agents can
not tolerate different beliefs towards group common awareness, leaving outside many
interesting group settings.
This paper distinguishes between acceptances and beliefs [13, 11], and proposes
state recognition recipes for the representation of group policies towards forming
group acceptances.
As it is stated in [13], “one can accept something even if they feel it is false …
(and) whereas acceptance is voluntary, and thus decidable at will, belief is not [1]”.
Based on this distinction, we assume that group members form group-accepted beliefs
or acceptances; these are accepted by the group as a whole, even if there are
individuals that do not believe them.
Section 2 of this paper presents a simple model for specifying organizational
structures. Section 3 introduces the notion of responsibility and section 4 presents the
state recognition recipes (r-recipes), i.e. the representations of group policies for
forming acceptances. Section 5 presents how r-recipes are exploited towards forming
acceptances and finally, section 6 concludes the paper.
2
Organizational structure
This section presents a model for specifying the structure of an organization. A
complete model that captures every aspect of an organization is out of the scope of
this paper.
A central construct in the model is that of the “role”. A role serves as a prototype
that specifies the normative behaviour of an individual or of a set of individuals that
form a group.. Examples of roles are “company” and “department”. Generally, roles
can have several constituents and can be related to each other with various relations
Building Common Awareness in Agent Organizations
3
[9, 3, 7]. In this paper we assume that each role comprises responsibilities and recipes,
and that roles are interrelated via the relation “contains”.
Using the “contains” relation between roles, a role aggregation hierarchy is
created. Roles are distinguished into atomic roles, which do not contain other roles,
and composite roles, that contain at least one role. The roles layer in Fig. 1 shows a
small example of a role aggregation hierarchy. Roles customer, “seller”, “engineer”
and “manufacturer” are atomic roles, while roles “company”, “customer department”,
“engineering department” and “manufacturing department” are composite roles.
According to this specification, a company has three types of departments: customer
departments, engineering departments and manufacturing departments. These
departments in their own turn have individuals that are sellers, customers, engineers
and manufactures.
The association between agents and roles is done through (organizational)
positions [6]. Positions that correspond to atomic roles are called atomic positions and
are place holders for individual agents, while those that correspond to composite roles
are called composite positions and are place holders for groups of agents. Positions
are related via the “contains” relation as well. Any containment relation between
positions that has not been anticipated in the roles’ layer is not allowed between
positions. Positions inherit responsibilities and recipes from the corresponding roles
and they can have additional ones. Each role can be associated with one or more
positions.
As Fig. 1 shows, the containment relation between positions directly reflects the
containment relation between roles. For example, the position “Engineer2” of an
individual agent that represents Mike is contained to the position “E-dept” that in is
own turn is contained to the position “The Company”. The positions layer is referred
to as the organization structure, while the roles layer is referred to as the organization
model.
customer
company
Roles layer
(model)
customer
department
seller
engineering
department
engineer
Positions layer
(structure)
manufacturer
manufacturing
department
Customer1
Customer2
Seller
Notation
correspondance
C- dept
Engineer1
assignment
Enginner2
The Company
contains
E- dept
Manufacturer1
position
role
individual
The
Company
M- dept
Manufacturer2
Mike
Groups layer
E- Dept
Fig. 1. Part of the organization that represents a company.
4
Ioannis Partsakoulakis and George Vouros
Groups of agents are denoted by the capital letter G. When a set of agents is
assigned to a composite position, then the group plays the corresponding role. The
same relation holds between individuals that fill atomic positions and the
corresponding atomic roles.
3
Responsibilities
Responsibilities are normative for agents and comprise a goal state and a condition.
States and conditions are atomic first-order predicate-logic formulae that may contain
free variables. The application of a list of substitutions σ to a state s is denoted s|σ.
A responsibility is a rule of the form s ⇒ g where g is the goal state and s the
corresponding condition. Since the responsibility can have variables, we put the
restriction that the variables of the goal state must appear in the corresponding
condition. In case a responsibility has variables, then it is a responsibility template
and at a specific time point it can have several instances. For example, the
responsibility template, “if there is a customer order, then orders must be scheduled”
has one instantiation for each customer order known at a specific time point.
Responsibilities are assigned to roles and are either individual or group
responsibilities. If s ⇒ g is an individual responsibility of a role that an agent plays
and the agent believes that an instance s|σ of s holds, then it must see to it that (stit)
the goal state g|σ holds (for stit see [10]). If s ⇒ g is a group responsibility and the
group accepts that an instance s|σ of s holds, then it must see to it (collectively) that
the goal state g|σ holds.
This paper focuses on group responsibilities. Due to information distribution and
access restrictions in information sources within organizations, it is not possible each
member of a group to recognize each instance of a group responsibility. State
recognition recipes (r-recipes) represent specific organization policies that drive
groups to accept that the conditions of responsibilities hold. For a group of agents to
form an acceptance that a state holds, it is not necessary that all agents within the
group believe that this state holds. For instance, the belief of even a single “trusted”
agent can be enough for the group to form an acceptance.
4
R-Recipes
While individual agents use individual actions to form beliefs, group members use
state recognition recipes (r-recipes) in order to form acceptances.
An r-recipe belongs to a specific role, which is called the relevant role, and is a
policy for all groups that play that role (i.e. groups that occupy positions which
correspond to this role). Each group that plays the relevant role is a relevant group for
this recipe. As Fig. 2 shows, an r-recipe is associated to a specific state, which is
called the recipe state.
Building Common Awareness in Agent Organizations
5
Indicator
ρ ind:s
Internal Role
Recipe State
Subsidiary
State
Role
Recognition
Recipe
State
Fig. 2. The constituents of an r-recipe.
The body of an r-recipe comprises elements of the form ρind:s, where ρ is an
internal role, ind an indicator, and s is a subsidiary state of recipe’s state. The
indicator is a quantifier for the players of ρ and can take the value all or one,
indicating all the players of ρ, or at least one of them, respectively. Each internal-role
in the r-recipe must be contained (via the relation “contains”) to the relevant role of
the recipe.
An r-recipe specifies that the members of a group G shall form an acceptance about
the recipe state, when sufficient number of individuals (resp. subgroups) of G believe
(resp. accept) the subsidiary states. In other words, state recognition recipes are
specifications of policies that state which are the “authorized” individuals and
subgroups in G to disseminate beliefs and acceptances, and specify how the
combination of subsidiary beliefs and acceptances yields to new acceptances.
Specifically and in order to reduce complexity, let us consider a simple r-recipe,
whose body comprises a single element 〈α, {ρind:s}〉 and whose relevant group is G.
Τhe recipe specifies that the members of G shall accept that α|σ holds, if and only if:
•
•
ρ is a composite role, and all or at least one – depending on the value of ind – of
the subgroups of G that play ρ accept that s|σ holds.
ρ is an atomic role, and all or at least one – depending on the value of ind – of
the agents that play ρ believe that a state s|σ.
In case there is more than one element in the body of an r-recipe, then there must
be a substitution for each subsidiary state and these substitutions must be composable.
In this case, the accepted state results by applying the composition of these
substitutions to α.
Whether the internal role ρ is atomic or composite, the players of this role
“contribute” to the acceptance of α|σ through the acceptance/belief of s|σ. This is a
“direct contribution” specified by the triple (s|σ, 〈rec, ρind〉, α|σ), where rec is the
specific r-recipe used. Given the substitution list σ, the contribution shall be denoted
(s, 〈rec, ρind〉, α)|σ. The generic form of a contribution is defined in the section that
follows.
It must be noticed that if ρ is a composite role then the groups that play this
internal role must have acceptances for the subsidiary state. This is done by using rrecipes of their group. In case ρ is an atomic role, agents must have individual beliefs
rather than acceptances.
6
Ioannis Partsakoulakis and George Vouros
The following is an example of an r-recipe:
〈ordered(p,c),{
customerone: want-product(p,c),
sellerall: pending(p,c)}〉.
This r-recipe belongs to the role “customer department” in our example
organization and states that the members of a customer department shall accept that a
specific product p for a customer c is ordered, when it is known that at least one
customer believes that it wants the product p and that all sellers believe that the
product order is pending. Fig. 3 shows a graphical representation of this recipe.
ordered(p,c)
sellerall:
customerone:
pending(p,c)
want-product(p,c)
Fig. 3. An example of a state recognition recipe (r-recipe).
company:
order-prepared(p,c)
engineeringdepartmentone
manufacturingdepartmentone
designed(p,c)
rec2
customerdepartmentone
manufactured(p,c)
ordered(p,c)
rec3
rec1
rec4
engineeringdepartment:
manufacturingdepartment:
customerdepartment:
designed(p,c)
manufactured(p,c)
ordered(p,c)
engineerone
manufacturerone
designed(p,c)
manufactured(p,c)
customerone
sellerall
want-product(p,c) pending(p,c)
Fig. 4. Four r-recipes.
Further examples of r-recipes are provided in Fig. 4. As it will be shown, the
combination of these recipes can drive members of the group “The company” to form
acceptances about instances of the state “order-prepared(p,c)”.
5
Forming acceptances
The acceptance of a state requires communication between group members and
knowledge about the position of each agent in the organization.
Building Common Awareness in Agent Organizations
7
In our example, let us consider the state “order-prepared(p,c)” – where c and p are
variables denoting a customer and a product. Towards the acceptance of one or more
instances of this state by the members of the group “The Company”, each member
must find r-recipes that specify how its individual beliefs can “contribute” to this
acceptance, based on organization policies. Based on the contributions of company
members, and according to the r-recipes of the company, one or more instances of the
state “order-prepared(p,c)” may be accepted by the group.
The following paragraphs formalize the generic notion of the “contribution” and
specify how acceptances are formed based on the contributions of individual agents.
5.1
Contributions
As already pointed, given an r-recipe rec ≡ 〈α, {…, ρind:s, …}〉, players of the internal
role ρ are considered to “contribute” to the acceptance of the state α|σ. This is a
“direct contribution” specified by the triple (s, 〈rec, ρind〉 α)|σ where rec is the rrecipe, ρind:s, is an element of rec and σ is a substitution list.
In general, a “contribution” of an individual agent to the acceptance of a state α
can be either a direct contribution of the form (s1, 〈rec, ρind〉, α)|σ, or a contribution
(s1, 〈rec1, ρ 1ind〉, s2, … , sk)|σ to a state sk followed by a direct contribution from sk to
α. Such a contribution is represented as a list
(s1, 〈rec1, ρ 1ind_1〉, s2, … , sk, 〈reck, ρ kind_k〉, sk+1)|σ,
where si directly contributes to the acceptance of si+1 by means of the ρ iind_i:si element
of the r-recipe reci and sk+1 is equivalent to α.
Fig. 5 shows a contribution to a state s4, which is indicated as a path in a tree
constructed by r-recipes (r-tree). Each node in the r-tree corresponds to a state, and
each arc in the r-tree corresponds to an element in the body of an r-recipe.
s4
s3
s2
s1
a personal contribution
Fig. 5. A contribution is a path in an r- tree constructed by r-recipes.
Two contributions (s1, 〈rec1, ρ 1ind〉, s2,…, sk, 〈reck, ρ kind_k〉, sk+1) and (s-t1,〈rec-t1, ρt ind_1〉,s-t2,…, s-tk, 〈rec-tk, ρ-t kind〉, s-tk+1) are unified, if they are of the same length
and there is a unifier σ, s.t. si|σ = s-ti|σ, reci = rec-tι and ρi = ρ-ti, i = 1, 2, .., k.
1
8
5.2
Ioannis Partsakoulakis and George Vouros
Personal contributions
Each agent computes its own contributions to a state s|σ proactively without being
asked to do so. This is done without constructing the whole r-tree and without
considering the contributions of the others. The number of r-trees is determined by the
number of r-recipes known by an agent, for each instantiation of a state s.
When an agent in a group G searches for personal contributions to the state s it
selects an r-recipe of this group with recipe state s. Then, it considers only those
elements of the r-recipe that concern roles played by groups in which the agent
participates. For example, when an engineer searches for contributions for the state
“order-prepared(p,c)”, then it may use the recipe rec2 in Fig. 4. This agent shall
consider only the element that corresponds to the role “engineering department”,
since engineers in our example organization participate only in groups that play this
role.
Given a composite role ρ that an agent plays, the agent can find its personal
contributions for a state s according to the following algorithm:
Compute-personal-contributions (s, ρ)
{Let contributions be the set of all contributions to s computed}
contributions is set to {}
for each r-recipe of ρ with relevant state s do
for each element ρ iind:si in the body of rec do
if ρ i is an atomic role played by the agent
for each instance si|σ that
the agent believes that it holds
contributions = contributions∪(si, 〈rec:ρ iind〉, s)|σ
end for
if ρ i is a composite role played by a group of the agent
C = Compute-personal-contributions(si,ρ i)
for each contribution (s1,…,si)|σ in C
contributions = contributions∪(s1,….,si,〈rec:ρ iind〉, s)|σ
end for
end for (element in r-recipe)
end for (r-recipe)
return contributions
end
For instance, for an engineer to find a personal contribution to the state “orderprepared(p,c)”, it must find all recipes towards this state. One of these recipes is the
recipe rec2 in Fig. 4. As already said, the only recipe element that is of interest for the
engineer is the one represented by the leftmost arc. This element concerns the
engineering department which is the only group in which the engineer participates.
According to the algorithm, for this element, and since “engineering department” is a
composite role, the agent must compute all its contributions to the subsidiary state
“designed(p,c)” recursively. Again, the agent finds all recipes towards this state. Let
rec1 in Fig. 4 be one of these recipes. This recipe has one element with internal role
“engineer”. Since this is an atomic role, according to the algorithm, the agent finds all
instances designed(p,c)|σ that it believes they hold. Let “designed(laptop,george)” be
one such instance with σ = {p/laptop, c/george}. In this case the resulting personal
contribution is
Building Common Awareness in Agent Organizations
9
(designed(laptop,george), 〈rec1,engineerone〉,
designed(laptop,george), 〈rec2,engineering-departmentone〉,
order-prepared(laptop,george))
Given the same r-recipes, for each different instance of the state “designed(p,c)”
that the agent believes, a different contribution to the state “order-prepared(p,c)”
would be constructed. Contributions are multiplied when alternative recipes to states
exist.
5.3
Group contributions
Each agent in a group G computes its personal contributions to a state α. These
contributions must be combined in order a specific group to form acceptances.
Towards forming acceptances, one must gather the contributions of all members and
for each one of them, must check whether a sufficient number of group members
agree on it. In this case personal contributions become group contributions.
The combination of personal contributions is done by a server agent that is
knowledgeable about the personal contributions of the group. Each agent that belongs
to the group G must send its contributions to the server agent in the organization. This
agent combines the contributions, identifies potential acceptances and forms group
contributions. In an organization there may by several server agents that are
responsible to identify potential acceptances. For example, each group can have its
own server agent that accepts agent contributions and computes potential acceptances
only for its group. The algorithm for forming group contributions and thus “potential
acceptances” for specific positions by a server agent is the following:
Form group contribution
Given the contribution
C = (s1,〈rec1, ρ 1ind_1〉, s2,…, sk, 〈reck, ρ kind_k〉, sk+1)
for each position of role ρ 1
if the agent in position has identified this contribution
mark s1 as a belief of position
end for
for i = 2 to k do
Given the direct contribution (si – 1,〈reci, ρ i – 1ind〉,si)
(*)for each position of role ρ i
Compute the fraction F of agents/groups that
are in positions of ρ i – 1 contained in position and
have si as a belief or potential acceptance
if (ind = all and F = 1) or (ind = one and F > 0)
mark si as a potential acceptance of position
end for
end for
compute the loop (*) for the role ρ and for i = k+1.
end
Let us assume that in our example the company has two customer departments “Cdept1”, with seller positions “seller1” and “seller2”, and “C-dept2” with seller positions
“seller3” and “seller4”.
10
Ioannis Partsakoulakis and George Vouros
Given the recipes rec4 and rec2 in Fig. 4, let us assume that “seller1”, “seller2” and
“seller4” have sent the following personal contribution
(pending(pi,ci),〈rec4, sellerall〉, ordered(pi,ci),〈rec2, customer-departmentone〉, orderprepared(pi, ci))
where pi and ci are specific instances of p and c respectively. The server agent
constructs the table shown in Table 1. Following the algorithm, for i = 1, the server
identifies the positions of role “seller” and for each seller that has sent this
contribution, it ascribes the belief for the state “pending(pi,ci)”. These positions in
Table 1 have been marked with a tick (;) and the rest with a cross (:).
Contribution:
(pending(pi,ci), 〈rec4, sellerall〉, ordered(pi,ci), 〈rec2,
customer-departmentone〉, order-prepared(pi, ci))
company:
order-prepared(pi,ci)
customerdepartmentone
The Company
;
C-dept1
;
ordered(pi,ci)
sellerall
pending(pi,ci)
seller1
;
seller2
;
C-dept2
:
seller3
:
seller4
;
Table 1. A group contribution for “The Company”.
Continuing for i = 2, given the direct contribution
(pending(pi,ci), 〈rec4, sellerall〉, ordered(pi,ci))
the server identifies the positions of the role “customer department” and for each
position of this role it computes the fraction F of sellers that (a) are contained in this
department and (b) believe “pending(pi,ci)”. The “C-dept1” contains “seller1” and
“seller2”. Therefore F = 1. The “C-dept2” contains “seller3” and “seller4”. Thus F =
½. Since the indicator in this direct contribution is “all” the state “ordered(pi,ci)” is
marked as potential acceptance for “C-dept1”. However, this is not the case for “Cdept2”.
For i = 3, given the direct contribution
(ordered(pi,ci), 〈rec2, customer-departmentone〉, order-prepared(pi, ci))
The server identifies the positions of the role “company” and for each position (in our
case there is only one - “The company”) it computes the fraction F of customer
departments that are contained in this position and have the state “ordered(pi,ci)”
marked as a potential acceptance. In our case F = ½ since one of the two customer
departments have a potential acceptance for “ordered(pi,ci)”. Since the indicator in
this direct contribution is “one” the state “order-prepared(pi,ci)” is marked as a
potential acceptance for the group in the position “The company”.
Building Common Awareness in Agent Organizations
11
It must be emphasized that in this stage, to form group contributions, the server
agent does not need to take into account all the elements of the r-recipes used. The
server agent considers only the recipe elements that have been used by the agents for
the construction of their personal contributions. For instance, computing the group
contributions for the state “ordered(pi,ci)”, the server agent does not need to take into
account the contributions of customers, even if – according to the r-recipe rec4 Fig. 4
– the contributions of both parties, sellers and customers, are required in order a
customer department to form an acceptance concerning the state “ordered(pi,ci)”.
Therefore, during the identification of group contributions the server agent forms
“potential acceptances” rather than acceptances.
As Section 5.4 shows, given the r-recipe rec4 in Fig. 4, the state “ordered(pi,ci)”
shall be accepted by one customer department if and only if, at least one of its
customers have expressed – via its personal contribution to the state “ordered(pi,ci)” –
its belief to the state “want-product(pi,ci)” and all its seller agents have expressed –
via their personal contribution to the state ordered(pi,ci) – their belief to the state
“pending(pi,ci)”.
5.4
Acceptances
To form acceptances for a position, the server agent must combine the group
contributions of this position, checking whether the requirements of r-recipes are
satisfied. This means that for each recipe element ρind:s there is a contribution
towards s|σ from a group or individual agent that plays the role ρ.
For example, for the state “order-prepared(pi, ci)” to be accepted , according to the
recipes in Fig. 4, all group contributions shown in Fig. 6 are necessary.
A
C1
C2
C3
order-prepared(pi,ci)
order-prepared(pi,ci)
order-prepared(pi,ci)
rec2
engineeringdepartmentone
designed(pi,ci)
rec1
B
rec2
rec2
manufacturingdepartmentone
customerdepartmentone
manufactured(pi,ci)
ordered(pi,ci)
rec3
rec4
engineerone
manufacturerone
designed(pi,ci)
manufactured(pi,ci)
customerone
want-product(pi,ci)
C4
order-prepared(pi,ci)
rec2
customerdepartmentone
ordered(pi,ci)
rec4
sellerall
pending(pi,ci)
Fig. 6. Group contributions
The server agent must combine these contributions and identify that they satisfy
the requirements of the r-recipes used. Fig. 7 shows how the set of contributions in
Fig. 6 satisfy the requirements of the r-recipes in Fig. 4 for the acceptance of the state
“order-prepared(pi,ci)”.
12
Ioannis Partsakoulakis and George Vouros
company:
order-prepared(p,c)
engineeringdepartmentone
C1
designed(p,c)
manufacturingdepartmentone
manufactured(p,c)
C2
engineerone
designed(p,c)
customerdepartmentone
manufacturerone
ordered(p,c)
C3
customerone
manufactured(p,c) want-product(p,c)
C4
sellerall
pending(p,c)
Fig. 7. Contributions satisfying the requirements of r-recipes.
Given a set of group contributions (Contributions) of a specific position (Position),
(the state of each contribution in this set is a potential acceptance of the group in
Position) the server agent runs the following algorithm to form acceptances.
Accepted-States(Contributions, Position)
Let REC be a set of r-recipes, initially empty
while Contributions not empty
If a subset of Contributions have a unifier σ, then apply σ to all contributions
{It is assumed that no couple of contributions share the same variable}
Let C=(S1,〈rec1, ρ 1ind_1〉,S2,…,Sk, 〈reck, ρ kind_k〉, Sk+1) be in
Contributions
Let E= (S1,〈rec1, ρ 1ind_1〉,S2)
(*) Choose a rec1|σ in REC, and let u_rec1 be that recipe. In case no such recipe exists in REC, let u_rec1
be rec1
For the r-recipe u_rec1 do the following:
{an element in the body of a r-recipe is marked as “pending’ when there is no direct contribution
that satisfies it}
1
-Let (ρ ind_1:S) be a pending element of the r-recipe u_rec1 such that
S|τ=S1|τ.
In case no such element exists, then backtrack to the choice point (*)
1
-Mark the element (ρ ind_1:S) as “satisfied”
-Apply τ to all the elements and to the relevant state of u_rec1
-Mark the rest of the elements of u_rec1|τ that are not “satisfied” as
“pending”
-Add u_rec1|τ in REC
Backtrack to the choice point (*) {to choose another recipe in REC}
{This is necessary for each contribution to satisfy as much pending recipe elements as possible}
Update Contributions by replacing C with
C’=(S2,〈rec2, ρ2ind_2〉,…,Sk, 〈reck, ρ kind_k〉, Sk+1)
end while
for each r-recipe rec in REC whose relevant state is Sk+1|σ and has no pending elements
if Check-accepted-state(rec)
Form the recipe state of this r-recipe as an acceptance of Position.
end for
end
Building Common Awareness in Agent Organizations
13
Check-accepted-state(recipe)
if (for every element (ρ ind:S) of recipe
S is believed by individual agents (the role ρ is atomic) or
There is a recipe rec in REC with
recipe state S
and
no pending elements and
check-accepted-state(rec))
return true
else return false
end
According to the above algorithm, given the set of contributions for the group “The
Company” depicted in Fig. 6 the server agent checks whether there is a subset of
contributions that can be unified. Since no such subset exists, the server chooses a
contribution. Let that be C4 and let C4B be the part B of this contribution, shown in
Fig. 6. Given that REC is initially empty, the algorithm uses the recipe rec4 in Fig. 4.
Choosing the corresponding (pending) element of this recipe, it computes the unifier τ
= {c/ci, p/pi}. It marks this element of this recipe as “satisfied” and the other element
as “pending”. It computes rec4|τ and adds the new recipe in REC. The set of
contributions is updated by replacing C4 by its part C4A.
We must notice that according to the algorithm, the recipe rec4|τ{} does not replace
rec4|τ in REC. This allows REC to contain recipes with pending elements, which can
be satisfied by contributions to multiple instances. Doing so, the server agent
identifies all different instances of states that are accepted.
Although the server agent may choose any contribution in the contributions set, let
us suppose that it chooses C3. Let C3B be the part B of this contribution, shown in Fig.
6. Given that REC contains rec4|τ, the algorithm uses this recipe. Locating the
corresponding (pending) element of this recipe, which has been instantiated according
to τ, it identifies that it can be unified with C3B. In this case the unifier is the empty
set. It marks this element of the recipe as “satisfied” and adds rec4|τ{} recipe in REC.
The set of contributions is updated by replacing C3 by its part C3A.
Now, the set of contributions contains a subset of contributions, i.e. {C3A, C4B} that
can be unified. The resulting set after this unification contains {C1,C2,C3A}.
Continuing for the rest of contributions, the server finally succeeds to conclude that
the state “order-prepared(pi,ci)” shall be accepted by “The Company”, since the recipe
rec2|σ in REC according to the check-accepted-state function has no pending elements,
and every subsidiary state can be accepted.
6.
Concluding remarks
Collaborative activity between agents is a type of complex group behavior that
requires sharing of knowledge and communication to create common awareness.
Models of collaborative decision making and action use the notion of collective belief
to cope with group awareness. However, collective belief is neither sufficient nor
efficient for organizations members to act collaboratively in distributed and dynamic
settings.
14
Ioannis Partsakoulakis and George Vouros
This paper focuses on the specification of group policies for forming acceptances
in organized settings by means of state recognition recipes. According to our
knowledge, the concept of acceptance has not been used for creating awareness in
multi-agent systems.
The paper proposes a specific set of constructs for building organization models
and structures which is by no means complete. Future work concerns the extention of
this set. Furthermore, extending the expressiveness of r-recipes is a major point of
future research. For instance, we shall examine a more rich set of indicators as well as
the addition of constraints or percentages in the indicators in order to be able to
specify more sophisticated organization policies.
Finally, another interesting point for future work concerns the exploitation of the
above structures for the specification of decision-making policies for the collaborative
activity itself.
Acknowledgments
This research is supported by the Pythagoras grand no. 1349 under the Operational
Program for Education and Initial Training.
References
[1] L. J. Cohen. Belief and Acceptance, Mind, 391, pp 367 – 389, 1989.
[2] P. R. Cohen and H. J. Levesque. Teamwork. Nous, 25, 487 – 512, 1991.
[3] V. Dignum, J.-J. Meyer, H. Weigand, and F. Dignum. An organization-oriented
model for agent societies. In Proceedings of RASTA workshop (AAMAS), 2002.
[4] R. Fagin, J. Halpern, Y. Moses, M. Vardi. Reasoning about Knowledge, MIT
Press, Cambridge, MA, 1995.
[5] B. Dunin-Keplicz and R. Verbrugge. Collective Commitments. In Proceedings
of the Second International Conference on Multi-Agent Systems, AAAI-Press,
1996.
[6] James J. Odell, H. Van Dyke Parunak, and Mitchell Fleischer. The Role of Roles
in Designing Effective Agent Organizations. In Software Engineering for LargeScale Multi-Agent Systems, A. Garcia, C. Lucena, F. Zambonelli, A. Omicini, J.
Castro (eds.), LNCS 2603, 2003.
[7] O. Pacheco and J. Carmo. A Role Based Model for the Normative Specification
of Organized Collective Agency and Agents Interaction. Autonomous Agents
and Multi-Agent Systems, 6, 145 – 184, 2003.
[8] P. Panzarassa, N. R. Jennings, and T. J. Normal. Formalizing Collaborative
Decision-making and Practical Reasoning in Multi-agent Systems. Journal of
Logic and Computation, 11(6), 1 – 63, 2001.
[9] I. Partsakoulakis, V. Kourakos-Mavromichalis, and G. Vouros. Social
Deliberating Agents for Human-Centered Knowledge Management. In
Proceedings of the IEEE International Conference on Systems, Man and
Cybernetics, The Hague, 2004.
Building Common Awareness in Agent Organizations
15
[10] K. Segerberg. Bringing it about. Journal of Philosophical Logic. 18, pp. 327 –
347, 1989.
[11] R. Tuomela. Group Knowledge Analyzed. Episteme 1(2), 2004.
[12] M. Wooldridge and N. R. Jennings. Cooperative problem solving. Journal of
Logic and Computation, 9, 563 – 592, 1999.
[13] K. Brad Wray. Collective Belief and Acceptance. Synthese 129, pp. 319 – 333,
2001.