[go: up one dir, main page]

Academia.eduAcademia.edu
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.