Organisational change through influence - CiteSeerX

3 downloads 0 Views 2MB Size Report
Jan 5, 2008 - Ferber, J., Gutknecht, O., & Fabien, M. (2003). From agents to organizations: An organizational view of multi-agent systems. In P. Giorgini, J. P. ...
Auton Agent Multi-Agent Syst (2008) 17:157–189 DOI 10.1007/s10458-007-9024-7

Organisational change through influence Mairi McCallum · Wamberto W. Vasconcelos · Timothy J. Norman

Published online: 5 January 2008 Springer Science+Business Media, LLC 2008

Abstract Influence is a phenomenon underpinning many types of interactions in both human and artificial organisations, and has a significant impact on the operation of the organisation. If influence can be examined at the organisational level, instead of at the level of the agents involved, engineers can better understand an organisation’s robustness to structural, behavioural and population changes. In this paper we present the Model of Organisational Change using Agents (MOChA) as a means to formally specify, check and simulate organisations using agents, particularly with a view to determining the impact of influence on the operation of an organisation. This formalisation of influence is not specific to our model, and is relevant and adaptable to any organisational model in which explicit relationships among roles of agents are formed. Keywords Organisations · Organisational changes · Formal specification and analysis/verification · Software agents

1 Introduction Agents operating in realistic shared environments will experience interference between their respective activities [3]. In response to this interference, be it positive or negative, an agent may attempt to modify its own behaviour, or the behaviour of another agent. In this work, we refer to the attempt to affect the behaviour of another as the phenomenon of exerting influence. An attempt to influence another agent may not require communication; an agent may carry out an action in anticipation of how it will affect the actions of another agent.

M. McCallum · W. W. Vasconcelos (B) · T. J. Norman Department of Computing Science, University of Aberdeen, AB24 3UE, Aberdeen, UK e-mail: [email protected] M. McCallum e-mail: [email protected] T. J. Norman e-mail: [email protected]

123

158

Auton Agent Multi-Agent Syst (2008) 17:157–189

Alternatively, the attempt to influence may involve a more structured interaction such as delegation or collaborative decision-making, and may require the existence of pre-established relationships. Our interpretation of influence is in keeping with that of Panzarasa et al. [22], in that it is a general process, fundamental to social interaction in multi-agent systems. In many organisational models influence takes place when an organisation is enacted, but the organisation design cannot be easily examined to determine the impact of influence on the operation of the organisation. Consequently, models are not appropriate for describing how an organisation changes as a result of influence, and cannot aid the engineer in the design of an organisation. The phenomenon of influence can be identified by examining the interactions which can take place; the protocols associated with roles (in Gaia [31] or ISLANDER [8], for example) but the influence relationships that underpin the interactions are seldom captured explicitly. In the model presented in this paper we explicitly describe influence relationships between roles and, hence, the agents enacting them. To date, much of the emphasis of related work has been on the impact of social concepts at the level of individual agents and not at the organisational level. Our focus is on the impact of influence on the operation of the whole organisation. We do not attempt to describe how influence is exerted and are not concerned with the mechanics of influence at the level of an agent. We do not consider the impact of influence on an agent’s mental state (see [22] for a treatment of this) or with interaction protocols that detail the specific method used to exert influence. Our model, however, should be considered complimentary to such approaches. In this paper, our major concern is in advancing the understanding of organisational structures using agents, enabling designers to analyse and verify various properties of systems, and to investigate the consequences of agents’ attempts to influence one another on an organisation’s operation. The main contributions of our research are [19]: –

– –

a formal model of organisational structure that captures aspects of both the normative state of a role and the influences that agents may exert due to their organisational position (or role); an analysis of organisational change through influence; machinery for the analysis and verification of organisations.

We recognise that the operation of an organisation varies as a result of how and when its members attempt to exert influence over one another. By formalising this phenomenon we can analyse the structure of an organisation to determine properties that may otherwise be unapparent until runtime, such as bottlenecks in delegation and issues of stability. If the structure of an organisation can be given a well-defined syntax and precise semantics the engineer gains the benefits associated with describing a system in a formal specification. One of the major advantages of this is that the organisation specification can be analysed and manipulated by automated tools. It provides a high-level account of a solution and can be used to verify properties mechanically as well as to test hypotheses [27]. The features of the model presented here are informed by the type of scenarios we wish to analyse. The formalism of the phenomenon of influence and the analysis of organisations, however, are not tied to this specific model and have relevance and adaptability to other organisational models. This paper is structured as follows. We present our organisational model in Sect. 2. In Sect. 3 we present our approach to investigating the impact that influence has on an organisation. We present a suite of automatic checks that can be carried out in Sect. 4 and how they support the engineer in designing an organisation and investigating potential changes to a specification. Section 5 provides an evaluation and discussion of our model, including a comparison

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

159

with another recent approach to modelling organisations using agents; we identify a number of interesting avenues for future work in Sect. 6.

2 MOChA: a model of organisational change using agents In this section we introduce our Model of Organisational Change using Agents (MOChA). In this model a distinction is made between the structure of an organisation and a population of agents. Although a seemingly obvious or trivial point to make, this is essential to facilitate the analysis of inherent organisational properties and also to perform analysis such as assessing the suitability of a specific population in enacting an organisation. We adopt a normative (or policy-based) view of organisations, and capture the notion of social influence (one of two types of power identified by Pörn [23]) through relationships between roles: a fundamental phenomenon of social systems [22]. The concepts of MOChA and their relationships with one another are illustrated in Fig. 1: on the left-hand side we show the organisation components and on the right-hand side the population concepts (we also indicate where they are discussed in the paper). In MOChA, an organisation consists of a set of actions and a set of roles; an action has a duration and may be broken down into constituent sub-actions. Further, actions have constraints associated to them, thus increasing the expressiveness of our model. Roles have obligations (sets of actions), influences (sets of actions that can be delegated), predecessor (influencing) and successor (influenced) roles.A population (right-hand side diagram of Fig. 1) is a set of agents, each with a set of allocations which determine the roles they are enacting in specific organisations, and their attitudes towards these roles. We will present the model ‘bottom-up’, introducing first the organisational structure (starting with the constraints attached to actions, then the actions themselves and so on), then we describe a population of an organisation. We use examples from an intuitive domain: an organisation concerned with the delivery of an undergraduate course. This organisation consists of a course-coordinator (responsible for the course as a whole and all the activities of the lecturing team), a lecturing team (in which each lecturer is responsible for lectures and tutorials and preparing and marking assessments) and a group of students (who must attend lectures and tutorials and attempt assessments). We make use of disjoint sets of labels to identify the components of our model:

Organisation (section 2.6) set of

set of Action (section 2.2) 1 Duration

Role (section 2.5) expr

Constituents 1 Action (section 2.2) expr Constraints (section 2.1)

set of Obligation (section 2.3)

Population (section 2.7)

set of

set of

Influence (section 2.4)

set of

set of

Predecessor

Predecessor

Predecessor

set of Successor

1

set of Agent (section 2.7) set of

Action (section 2.2)

Allocation

expr Constraints (section 2.1)

1 Role (section 2.5)

1 Organisation (section 2.6)

set of Attitudes (section 2.7)

Fig. 1 MOChA’s organisation components (left) and population (right)

123

160

Auton Agent Multi-Agent Syst (2008) 17:157–189

Definition 1 Let there be a finite and non-empty set Labels = (AgIds ∪ OrgIds ∪ RoleIds ∪ ActionIds) where: – – – –

AgIds = {AgId 1 , . . . , AgId n } are agent identifiers, OrgIds = {OrgId 1 , . . . , OrgId n } are organisation names, RoleIds = {RoleId 1 , . . . , RoleId n } are role labels, ActionIds = {ActionId 1 , . . . , ActionId n } are action names.

These labels are used throughout the definitions that follow to uniquely identify components of the model. 2.1 Constraints Our model employs temporal constraints using arithmetic expressions, presented in Definition 2. These constraints are used to restrict the start times of actions. Definition 2 Temporal constraints are of the form (x : Exprs). Exprs is defined below, where c ∈ IN and x, y are variables. E x pr s ::= E x pr, Exprs | E x pr E x pr ::= T er m O p T er m T er m ::= x | y | c | f (T er ms) T er ms ::= T er m, T er ms | T er m O p ::= < | ≤ | = | > | ≥ For example, to state that something must start between 9 a.m. and 11 a.m. we could use the expression x : x ≥ 900, x ≤ 1,100 or if it must start at exactly 9 a.m., x : x = 900. The units used to measure time used will depend on the domain and this decision should be made by the engineer. In this presentation we restrict the type of constraint imposed on actions to temporal ones, however this approach can be generalised to accommodate constraints on constraints of an arbitrary nature. By allowing variables in the expressions, in addition to the start time variable, we can refer to the start times of other activities. For example, x : x ≥ y will ensure that the action x refers to will not start before that of which y is the start time. However, the scope of these variables is limited to the role in which they are being used. We can also compare constraints to determine any overlap. We borrow the intersection operator ∩ from set notation to capture the overlap of two sets of constraints. For example: ((x : x ≥ 0, x ≤ 200) ∩ (x : x ≥ 50, x ≤ 500)) = (x : x ≥ 50, x ≤ 200). If one set of constraints completely overlaps or subsumes another we use the ⊂ operator: (x : x = 100) ⊂ (x : x ≥ 0, x ≤ 200). 2.2 Actions, constituents and hierarchies In our model we capture generic activities that agents populating an organisation may be obliged to enact or may have influence over. These generic activities (actions) are structured in hierarchies, with each action having an estimated duration.1 1 We recognise that, in reality, how long an action takes may depend on the specific actor. We are, however,

interested both in assessing the feasibility of an organisation independent of specific populations. Possible extensions here may include the specification of duration estimates at various levels of temporal granularity or through the use of probability distributions. We prefer, however, not to explore these possibilities here as they are not our main focus.

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

161

Definition 3 An action is a tuple A = ActionId, n, Constituents where: – ActionId ∈ ActionIds is a label uniquely identifying the action. – n ∈ IN is the duration of the action, – Constituents is a disjunction of conjunction of action labels identifying the actions that make up this action. If Constituents is true then the action is a primitive action, as opposed to a composite action. The time or duration of an action is simply a resource requirement and as such could be used to represent other kinds of resources such as cost or energy. An example action, prepareCourseMaterial, and its primitive components may be defined as in the set: ⎫ ⎧ ... ⎪ ⎪ ⎪ ⎪ ⎛ ⎞ ⎪ ⎪  ⎪ ⎪ prepareLectures∧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ prepareCourseMaterial, 1000, ⎝ prepareTutorials∧ ⎠ ∨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ prepareExam ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ requestMaterialFromPreviousLecturer∧ ⎨ ⎬ , prepareExam Actionscs1011 = ⎪ ⎪ ⎪ ⎪ ⎪ prepareLectures, 400, true, ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ prepareTutorials, 400, true, ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ prepareExam, 200, true, ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ requestMaterialFromPreviousLecturer, 10, true, ⎪ ⎪ ⎪ ⎪ ⎩ ⎭ ... The Constituents expression is a disjunction of conjunctions of action labels. The execution of all the actions in any one of these conjuncts equates to the execution of the action being defined. The use of disjunctive normal form allows us to express more complex situations than simply, for example, a list. The action hierarchy that results from examining the constituents in action definitions can be used as a plan database, allowing agents to select from different plans to achieve the same result. This allows us to model interesting aspects of real world problems without having to include a more sophisticated plan representation. The composite action can be used as defined when scheduling and influencing. The specification can be automatically checked to ensure that the duration of a composite action is greater than or equal to the sum of the durations of the actions in the constituents, so there is no inconsistency in the time allocations in a schedule. 2.3 Obligations In MOChA, obligations are attached to roles, not to agents: an organisation specification is independent from any specific population. Once an organisation is instantiated an agent may be obliged due to the obligations of its roles in the organisation. An obligation refers to an action with temporal constraints: its holder (once the organisation is populated) is obliged to execute the action within the specified constraints. Obligations are held by one role to another. Obligations are thus defined:

Definition 4 An obligation is the tuple O = ActionId, C , RoleIds P  where: – ActionId ∈ ActionIds is the name of the action to which the obligation refers. – C is an expression determining the constraints under which the action should be executed.2 2 For the types of situations we wish to describe in our model it is not necessary to include constraints for

obligations as well. If the constraint on the obligation was for a time different from the constraint on the action the sense becomes, at best, ambiguous. A more detailed discussion of this issue can be found in [19].

123

162



Auton Agent Multi-Agent Syst (2008) 17:157–189



RoleIds P ⊆ RoleIds, RoleIds P = ∅, is the set of labels of predecessor roles within this organisation to whom the obligation is held.

A negated action, ¬ActionId, in an obligation tuple represents a prohibition, where the constraints determine when the action concerned should not be executed. When a composite action is prohibited we can express that there must remain at least one action in each conjunct that is not executed to ensure that the prohibition against the composite action is not violated. For example, given an action a, 200, (b∧c∧d)∨(e∧ f ) the effect of its prohibition on its constituents could be captured using the construct ¬(b ∧ c ∧ d) ∧ ¬(e ∧ f ). This feature, coupled with the possibility of constituent actions being prohibited, adds an additional level of complexity to the detection of conflicts between obligations.3 When we consider the possibility of obligations not being fulfilled we can see one of the benefits of explicitly including a predecessor in the definition—this is required if any sanctioning were to be considered. If a predecessor were not included in the definition we would almost certainly be making an assumption about whom an obligation is held to, probably in terms of the source of the obligation. For instance, markExams, (x:5,000 < x < 10,000), {courseCoordinator}, means that the action markExams should be executed between the times of 5,000 and 10,000, and that this obligation is held to the role courseCoordinator; ¬issueAssessment, (x : 0 < x < 5, 000), {cour seCoor dinator } means that the action issueAssessment should not be executed between the times of 0 and 5,000, and that this obligation is held to the role courseCoordinator. The use of variables in constraints means that obligations can be specified that force a complete or partial ordering of actions. For instance, in ⎫ ⎧ ... ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ writeAssessment, (w : w > 0), {courseCoordinator}, ⎪ ⎪ ⎪ ⎪ ⎬ ⎨ issueAssessments, (x : x > w, x < (y − 2000)), {courseCoordinator}, Obls2 = collectAssessments, (y : y < z), {courseCoordinator}, ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ markAssessments, (z : z = 5000), {courseCoordinator} ⎪ ⎪ ⎪ ⎪ ⎭ ⎩ ... we can see interdependent variables in obligations: if these obligations are fulfilled then writeAssessment will be executed before issueAssessments, which will be executed at least 2,000 units of time before collectAssessments, which in turn will be executed before markAssessments. This final action will be executed at time 5,000. Obligations may conflict and checking for such conflicts is an important aspect of organisational analysis, as discussed in Sect. 4. Attaching temporal constraints to the actions of obligations allows us to capture an important issue in real-world scenarios, providing additional means of assessing conflict between obligations—without it, the only type of conflict that would arise is between an obligation and a prohibition (negated obligation, in our model) concerning the same action. 3 An alternative, stricter interpretation of the prohibition of the action would be to prohibit every action in

all of its constituents, that is, (¬b ∧ ¬c ∧ ¬d) ∧ (¬e ∧ ¬ f ). This has an advantage over our interpretation described above, as it does not increase to complexity of conflict checks to the same extent. However, the prohibition of every constituent action of a prohibited action seems unnecessarily strict and in some cases counter-intuitive. Note that we also take this approach to prohibitions when there is a negative action in the constituents of an action. For example, given an action  p, 200, (q ∧ r ∧ ¬s) the effect of its prohibition on its constituents in our interpretation would simply be ¬(q ∧ r ∧ ¬s).

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

163

2.4 Influence When agents operate in a shared world their actions are likely to interfere with one another, favouring or threatening the goals of others. This interference motivates coordination amongst agents. From the point of view of an individual agent, coordination can be achieved either by that agent modifying its own behaviour or by the agent attempting to modify or influence the behaviour of others. Influences in MOChA concern obligations, that is, actions with associated temporal constraints, and are associated with roles (and, hence, not directly to any particular agents). Influences describe what can be influenced, but not how the influence is exerted: they are held over someone (the agent enacting the role) by someone else.

Definition 5 An influence is the tuple I = ActionId, C , RoleIds P  where: – – –

ActionId ∈ ActionIds is the name of the action to which the influence refers. C is an expression which limits the constraints under which the action should be executed, should the influence be exerted and an obligation taken on. RoleIds P ⊆ RoleIds, RoleIds P = ∅, is the set of labels of predecessor roles within this organisation that may exert this influence over the role that it is associated with.

It is important to note that the temporal constraints in an influence are different from the temporal constraints in an obligation. The constraints in an influence essentially limit the constraints in a resulting obligation. The set of influences of a role describes the potential for predecessors to cause the role holder to adopt new obligations. An influence definition takes the same form as an obligation definition, but an obligation is only formed from an influence if it is successfully exerted by an agent enacting a predecessor role. Agents can only be influenced to adopt obligations, they cannot be influenced to influence others. However, an agent may choose to influence another to fulfil an obligation that it has taken on as a result of being influenced itself. This is discussed in more detail in Sect.3. Note that whilst we do not directly model the strength of influence some differentiation may be apparent from an analysis of the topology of an organisation. There may be roles which hold considerably more influences than others, or influence relationships may be uni-directional in some parts the organisation. Obligations and influences define a form of dependency similar to dependency networks [3,5,25]. Consequently, from an organisation specification we can calculate dependency relations between roles. 2.5 Roles Roles are enacted by agents, and the same role can be played by different agents simultaneously. They are associated to specific organisations, and the relationships between roles are captured through obligations and influences. Moreover, a role has a set of roles to which its obligations are held and another (possibly overlapping) set of roles over which it can exert influence: Definition 6 A role is the tuple R = OrgId, RoleId, Obls, Infs, RoleIds P , RoleIds S  where: – – – –

OrgId ∈ OrgIds is the name of the organisation in which this role definition applies. RoleId ∈ RoleIds is the label of the role. Obls is the set of obligations associated with the role. Infs is the set of influences associated with the role.

123

164

– –

Auton Agent Multi-Agent Syst (2008) 17:157–189

RoleIds P ⊆ RoleIds is the set of labels of predecessor roles to the role. This is the union of all the sets of predecessors in the obligations and influences of the role. RoleIds S ⊆ RoleIds is the set of labels of successor roles to the role. This is the set of all roles in the organisation, OrgId, in which RoleId appears in the predecessor set.

In addition to identifying the organisation to which a role belongs, the organisation label can be considered a context for the role. This distinction is necessary in the role definition because the same role may have different responsibilities associated with it in different organisations. Roles are a key component of our organisational model. In its simplest form a role may specify a single task or action to carry out, or a certain state of the world to bring about. We distinguish between two types of relationship between roles that agents may take. The first of these is an obligation that an agent taking on one role has to an agent taking on another role. The second type of relationship is an influence that an agent taking on one role has over an agent taking on another role. This adds an additional element of variety to agents’ normative positions within an organisation, as the agents who have the potential to influence others may not always choose to exert it (cf. [22]). Again we use only obligations in these constructs but consider the concept applicable to a broader range of norms. The set of successors, RoleIds S , is the set of roles within the same organisation that hold an obligation to the role or that the role holder can exert influence over. The obligations that can be requested are those in the successor role’s set of influences. Holders of successor roles can only be influenced by predecessors in the same organisation—that is, the role definitions must have the same organisational label. Note that the sets RoleIds S and RoleIds P can be computed from the sets of obligations and influences. Their explicit specification by the engineer is, therefore, not be necessary (they may be inferred). By explicitly including predecessors and successors in the role definition, however, we enable the engineer to examine the organisational structure at a higher level of abstraction without examining the details of each obligation. A set of roles of organisation cs1011 is: ⎫ ⎧ cs1011, courseCoordinator, Obls1 , {}, {}, {lecturer}, ⎬ ⎨ Rolescs1011 = cs1011, lecturer, Obls2 , Infs1 , {courseCoordinator, student}, {student}, ⎭ ⎩ cs1011, student, Obls3 , Infs2 , {lecturer}, {lecturer}, 2.6 Organisations We now put together all the components of an organisation in MOChA. An organisation can operate within another either explicitly, by being assigned a role in it (the organisation is treated as an agent), or implicitly, by being defined independently but populated solely by members of the super-organisation. An organisation is defined by the set of roles that belong to it and the set of actions that are referred to by those roles: Definition 7 An organisation is the tuple Org = OrgId, Roles, Actions where: – – –

OrgId ∈ OrgIds is the name of the organisation, Roles = {R1 , . . . , Rn }, such that Ri = OrgId, RoleId i , Oblsi , Infsi , RoleIdsiP , RoleIdsiS , 1 ≤ i ≤ n, that is, all the roles have the same OrgId label, Actions = {Act0 , . . . , Actm } such that: – –

Act j = ActionId j , Duration j , Constituents j , 0 ≤ j ≤ m, Act j , C , Roles P  ∈ (Oblsi ∪ Infsi ), 1 ≤ i ≤ n, 0 ≤ j ≤ m.

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

165

That is, every action is part of either an obligation or influence in at least one of the roles in the organisation. Thus, organisation cs1011 is: Orgcs1011 = cs1011, Rolescs1011 , Actionscs1011  We delay the presentation of a full organisation example until Sect. 2.9, where we present both an example organisation and populations that may enact it. 2.7 Populations We now introduce the concept of a population of an organisation. Again, we emphasise that the population of an organisation is not a part of the organisational structure, and the same organisational structure may have multiple alternative populations. We define populations so that we may perform analyses such as: is an organisation–population pair still viable if some agents of that population stop functioning? We do not attempt to model the internal state of agents. We assume that agents’ activities are motivated solely by the obligations that they inherit from the roles that these agents commit to. In a realistic system, of course, an agent may have other motives that contribute to its decision-making. Our purpose here, however, is to analyse the impact of the use of social influence in the context of existing social constraints. An agent may, however, play several roles simultaneously, and these roles may or may not be in different organisations. We assume that agents have specific attitudes towards the roles that they take on. In this way, the behaviour of agents that comprise a population are abstracted to a number of stereotypes. This enables us to investigate issues such as how robust an organisation is to a certain proportion of ‘lazy’ agents, but in a controlled manner. Each agent in the model is described by an agent label and a set of role allocation tuples. The agent label uniquely identifies the agent, and each role allocation tuple consists of an organisation label, a role label and a set of attitudes. The organisation and role labels identify each role that the agent holds, and in which organisation it applies. The attitudes determine the agent’s reactions to attempts by others to exert social influence on it as a player of that role, as well as how it uses its social influence over other agents: Definition 8 An allocation is a tuple Alloc = OrgId, RoleId, Attitudes where: – – –

OrgId ∈ OrgIds, OrgId = ActorId is the name of the organisation in which the role allocation holds. RoleId ∈ RoleIds is the label of the role held, Attitudes are the agent’s attitudes to influencing and being influenced in this role.

Definition 9 An agent is a pair A = ActorId, Allocs where: – –

ActorId ∈ (AgIds ∪ OrgIds) is the unique identifier of the actor.4 Allocs is a set of allocations associated with this agent. An agent agent, john, enacting three roles across two organisations may be defined as:    csddept, lecturer, {Lazy, Cautious}, john, cs3515, lecturer, {Keen, Bold}, csddept, 4th_year_tutor, {Keen, Cautious}

4 Notice that organisations can also be considered agents in our model, and hence organisations may adopt

roles within other organisations We explore this issue further in the following section.

123

166

Auton Agent Multi-Agent Syst (2008) 17:157–189

The organisation label is necessary because the roles allocated to an agent are specific to certain organisations. For example, an agent may hold the role of employee within a certain organisation, but they are clearly unlikely to be an employee of all possible organisations. In the example below, john holds the role of lecturer both in organisations csddept and cs3515, but not in organisation cs1011: ⎧ ⎫   csddept, lecturer, {Lazy, Cautious}, ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ , ⎪ john, cs3515, lecturer, {Keen, Bold}, ⎪ ⎪ ⎪ ⎪ ⎪ csddept, 4th_year_tutor, {Keen, Cautious} ⎪ ⎪ ⎨ ⎬   csddept, lecturer, {Lazy, Bold}, Population = paul, , ⎪ ⎪ ⎪ ⎪ cs1011, lecturer, {Keen, Bold} ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ mary, {csddept, lecturer, {Keen, Bold}}, ⎪ ⎪ ⎩ ⎭ admin, {csddept, undergraduate_admissions, {Keen, Cautious}} Agents may also hold several roles within the same organisation; john is both lecturer and 4th_year_tutor in the same organisation. It is likely that the role lecturer will mean different things depending on whether it is in an academic department in general or for a specific course. Similarly, more than one agent can hold the same role; john, paul and mary all have the role lecturer within the organisation csddept and, in the cases of john and paul, also within other organisations. The formalism allows organisations as well as individual agents to hold roles, so some of the roles may be held by organisations. The fourth agent described in the above example illustrates a situation when an organisation, admin, takes on a role within another organisation, csddept. An agent’s attitude towards a particular role allocation both affects when it will choose to exert influence over a successor and when it will accept an attempt to influence from a predecessor. This provides us with a mechanism for addressing some of the limitations of not capturing the internal state of agents. Agents with distinct attitudes will differ in how they enact the same roles, allowing us to examine the effect of populating organisations with different combinations of attitudes and adding an additional element to the kind of scenarios that can be captured in our model. In our definition of an agent (Definition 9) we do not restrict the members of the set of attitudes. We feel that any attitudes could be included providing the required associated behaviour is also defined. In our examples, however, we have chosen to restrict ourselves to two attitudes for influencing agents (Keen and Lazy) and two attitudes for agents being influenced (Bold and Cautious). These attitudes allow us to simulate alternative behaviours in agents that we anticipated would have a noticeable impact at the organisational level. We emphasise at this stage that attitudes are associated by agents to organisation and role tuples, thus the same agent may be Keen in one role but Lazy in another. If an agent has the attitude Keen in a specific role it will attempt to carry out the obligations defined in that role (or accepted as a result of influence in that role) itself, only influencing others when necessary to resolve a conflict. A Lazy influencing agent will attempt to use influence to achieve as many of its obligations as possible, regardless of its own ability to satisfy them. If an agent is Cautious it will only accept an attempt to influence in that role if it can fulfil the obligation itself without causing conflict with any of its existing obligations. A Bold agent, however, will accept an obligation it cannot fulfil itself as long as it its role allocations are such that it can attempt to influence a third agent to do so. The effect of attitudes on influence is discussed further in Sect. 3.2.1. We define a populated organisation as both the organisation and all the agents who hold one or more roles in that organisation, as detailed below. Note, again, that the agents may include other organisations that have accepted roles in the organisation concerned.

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

167

Definition 10 A populated organisation is the pair Org, Agents where: – –

Org = OrgId, Roles, Actions, OrgId ∈ OrgIds, Agents = {Agent0 , . . . , Agentn } such that Agenti = ActorId i , Alloci , 0 ≤ i ≤ n, ∃alloc ∈ Alloci such that alloc = OrgId, RoleId, Attitudes. That is, every agent has at least one allocation concerning a role in that organisation.

2.8 Organisational agenda As we adopt a set-based notation for our formalism we inherit the intuitive semantics of sets (see [10], for example). In addition, we can extract from a specification the set of actions that each agent must execute in order to fulfil their obligations, along with the constraints on these actions. We can formally describe this organisational agenda. Definition 11 The initial organisational agenda in a populated organisation Org, Agents is created by the function f (Org, Agents) = S where S is a finite, possibly empty, set of tuples ActorId, Action Details such that: – –



ActorId, Alloc ∈ Agents. Action Details = {Details0 , . . . , Detailsn }, Detailsi = ActionId i , Ci , 0 ≤ i ≤ n, where OrgId, RoleId, Attitudes ∈ Alloc, R = OrgId, RoleId, Obls, Infs, RoleIds P , RoleIds S , O ∈ Obls, O = ActionId i , Ci , RoleIds P . That is, the action label, ActionId i , and associated constraints, Ci , are from an obligation in a role which agent ActorId is enacting. The constraints Ci are satisfiable, that is, it is possible to find values for all variables satisfying all constraints.

The organisational agenda captures the semantics of an organisation. We have used constraint logic programming techniques [11] to find schedules for the agents’ activities according to the organisational agenda. We identify, when possible, schedules of action execution where the constraints on all actions are satisfied. First, however, we must consider how influence affects the organisational agenda. In Sect. 3 we describe how we can use rules to map an organisation specification and its initial organisational agenda onto a new organisational agenda according to the impact that agents exerting influence have on an organisation. 2.9 A complete organisation example In this section we describe and discuss a simple example organisation modelled using our approach. The organisation cs1011 is concerned with the running of an undergraduate course as described at the beginning of this section and referred to throughout. The organisational structure is given below, followed by two possible populations for it. The complete organisational structure specification for the undergraduate course example is shown in Fig. 2—recall that an organisation is described by the tuple OrgId, Roles, Actions. Three roles are defined courseCoordinator, lecturer and student and a set of actions referred to by these roles. The course concerned runs from time 1,000 to 5,000, with a single assessment. In Fig. 3 we provide a simple population for the organisational structure of Fig. 2; agent 1 holds both the lecturer and courseCoordinator roles and there are three agents holding the student role. Note that several agents have roles in other organisations, but all have roles in cs1011 which is what causes them to be part of the population (the allocations for cs1011 are in bold).

123

168

Auton Agent Multi-Agent Syst (2008) 17:157–189

Fig. 2 Organisation specification for undergraduate courses

Fig. 3 Population for organisation of Fig. 2

In Fig. 4 we show an alternative population, where the role of lecturer is taken on by lecturingTeam. In this example, lecturingTeam is the name of another organisation. We can see that agent 5 , agent 6 and agent 7 all hold roles in this organisation, and as such will be responsible, as a group, for the role of lecturer in cs1011. To see exactly how the responsibilities of lecturer are handled we need to look to the specification for the organisation lecturingTeam—recall that the engineer must specify the distribution of obligations and influences in a specification when an organisation is enacting a role. In Fig. 5 we illustrate abstractions of organisation cs1011 with different populations. The solid lines and broken lines represent obligations and influences held between the agents, respectively.

3 Organisational change through influence In our organisational model we distinguish between two types of relationship between roles that agents may take on when joining an organisation. The first of these is an obligation that an agent taking on one role has to an agent taking on another role. The second, the impact of

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

169

Fig. 4 Alternative population for organisation of Fig. 2

Fig. 5 Organisation cs1011 with agents from Fig. 3 (left) and Fig. 4 (right)

Fig. 6 An organisation (top) in which influence may be exerted on obligations relating to supervisePractical, and a population of agents (bottom)

which is the principal focus of this section, is an influence that an agent taking on one role has over an agent taking on another role. In this section we shall refer to the simple organisation of Fig. 6, in which a lecturer can influence a demonstrator to take on obligations concerning supervisePractical. The organisation is populated by three agents. In Fig. 6 john has an obligation concerning giveLecture and another concerning supervisePractical with conflicting sets of temporal constraints—both actions must be carried out at time 550. Further, john has the attitude Lazy in the role lecturer. In this section we shall see how these two features will motivate john to influence fred to take on new obligations, and why fred will accept being influenced.

123

170

Auton Agent Multi-Agent Syst (2008) 17:157–189

3.1 An organisational view of influence In our work we make the distinction between a specific agent taking on a role and the roles, as well as relationships between these roles, that are captured within an organisation definition. The roles and relationships provide social constraints that agents populating that organisation must take into account when deciding what to do. However, agents may have differing attitudes to the various roles they may take on. In presenting this analysis of organisational change through influence, we are investigating the interplay between the social constraints (norms) in an organisational specification and the attitudes of individual agents populating that organisation. To do this we make the following assumptions about agents populating an organisation: 1.

2.

3.

Agents’ activities are motivated solely by the obligations that they inherit from the roles that these agents commit to. In a realistic system, an agent may have other motives that contribute to its decision-making. However, our purpose here is to analyse the impact on an organisation of the use of social influence in the context of existing social constraints. In order to focus on this issue, therefore, we assume that an agent’s actions are motivated solely by its social obligations. These social obligations are also the motivators for attempts to influence. Agents have specific attitudes towards the roles that they take on. In this way, the agents that comprise a population are abstracted to a couple of stereotypical attitudes. This enables us to investigate issues such as how robust an organisation is to a certain proportion of lazy agents, but in a controlled manner. Agents will exploit the influences they have in all the roles they enact in order to fulfil their obligations. That is, an agent will exert influence from one role to fulfil an obligation in another when necessary. In this way, the combinations of roles enacted by agents become crucial to the operation of an organisation.

3.2 Influence in MOChA The type of influence that can be modelled in MOChA is restricted to agents influencing others to take on obligations concerning specific actions. As agents’ activities, including their attempts to influence, are motivated solely by their obligations there is the potential for confusion between the phenomenon of influence that we are attempting to capture and that of delegation. Delegation involves entrusting a representative to act on one’s behalf. [20] identify that for delegation to be successful there must be a relationship between the agent delegating and the agent being delegated to. We consider influence to be concerned with this relationship, not the process of delegation itself. Agents have influence over one another according to the relationships between the roles they are enacting. They can exert this influence to attempt to make others take on additional social constraints (norms). In our model social constraints are restricted to obligations concerned with actions and the desire to fulfil these obligations motivates agents to exert influence. However, this is a limitation of our model, balancing the need to capture interesting real world situations and the expense of a more extensive representation. The phenomenon of influence is not unique to delegation. It should be understood that our model treats obligations (and negated obligations) as existentially quantified. Existential quantification is assumed throughout the model, so an obligation concerning an action is an obligation that someone must execute that action. Therefore, once an agent has successfully exerted influence concerning an obligation it need do nothing more to fulfil the original obligation—it assumes the agent that has been influenced

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

171

will fulfil its new obligation. This approach, however, does not fit so well with prohibitions (expressed as obligations concerning negated actions in our model). It is not intuitive that influencing another to take on a prohibition frees one from it. 3.2.1 Agent Attitudes In our definition of an agent (Definition 9) we do not restrict the members of the set of attitudes. We feel that any attitudes could be included providing the required associated behaviour was also defined. Leaving the set unrestricted adds to the extensibility of the model; if we chose to introduce more motives for influencing, for example, we could add attitudes related to these motives. For the time being we have chosen to restrict ourselves to two attitudes for influencing agents and two attitudes for agents being influenced. We emphasise at this stage that attitudes are associated by agents to organisation and role tuples, thus the same agent may be Keen in one role but Lazy in another. If an agent has the attitude Keen in a specific role it will attempt to carry out the obligations defined in that role itself, only attempting to influence others when necessary to resolve a conflict. An agent with a Lazy attitude to a role will attempt to influence others to take on as many of its obligations as possible, regardless of its own ability to schedule them. In Fig. 6, for instance, agent john has attitude Lazy towards the role of lecturer and as a result will attempt to use influence to make others fulfil the obligations associated with that role whenever possible. Similarly, an agent’s response to an attempt to influence it is dependent to some degree on its attitude. If an agent is Cautious it will only accept an attempt to influence it in that role if it can fulfil the obligation itself without causing conflict with any of its existing obligations. An agent with a Bold attitude to a role, however, will accept an attempt to influence it even if it cannot fulfil the obligation concerned itself, as long as its role allocations are such that it can attempt to influence a third agent to take the obligation on. A Bold agent may still refuse to accept an attempt to influence it if there is no way it could satisfy the obligation concerned. If an attempt to influence is successful the influencing agent does not need to do anything more to fulfil the obligation concerned and the influenced agent must add it to its own obligation set. If an attempt to influence is unsuccessful the influencing agent may have a number of other options. It may attempt to influence a different agent to accept the obligation, or it may influence any agent to take on an obligation concerning an action of which the original obligation action is a constituent. If this is not possible it may attempt to influence one or more agents to take on the constituent actions of the obligation and fulfil the original obligation that way. Finally, if the influencing agent is unable to execute the action under the appropriate constraints and unable to use any of the above approaches to see to its execution by another agent it will fail to fulfil the obligation. 3.2.2 Influencing across organisations As well as capturing the notion of influence between agents holding roles in the same organisation, our model allows agents to exploit the influences they have in one role or organisation to fulfil obligations they hold in another. This feature allows the expression of more complex organisations, and, in particular, means that the distribution of roles in the populations of organisations will have a significant impact on the operation of the organisation. Further, if this exploitation of influence was not allowed the effect on an organisation of the combination of roles enacted by individual agents would be reduced to a simple scheduling

123

172

Auton Agent Multi-Agent Syst (2008) 17:157–189

problem, losing an interesting social phenomenon captured in the model. The analysis of the effects of allowing cross-role and cross-organisation influence is discussed in more detail in Sect. 4. 3.3 Modelling Influence We now further describe the semantics of influence in our model, and, in particular, how we describe the reasons for it and record the effects of it. The phenomena of influence in our formalism lends itself well to expression in production rules. Our approach is a kind of production system [17,24] whose inference rules are exhaustively applied to a database of facts. We provide a set of generic rules that can be applied to any organisation specified in our formalism. The rules describe all possible scenarios for influencing and are prioritised to determine which should be applied first when there is more than one option. Each successful rule application changes the distribution of obligations in the organisation. 3.3.1 Recording attempts to influence It is necessary to record the changes in distribution of obligations after successful attempts to influence. However, we cannot modify the role definitions when an influence is accepted because this would affect all agents enacting the roles concerned, rather than just the agents involved in the attempt to influence. An agent should not attempt to influence another repeatedly if it has already refused to take on the obligation concerned, and once an agent has successfully influenced another to take on an obligation it should not attempt to do so again. So, a new structure, AttemptsToInfluence, is introduced to record the details of all attempts to influence. Definition 12 The influences already attempted are described by a set of tuples Attempt = A1 , Alloc1 , A2 , Alloc2 , Obl, Inf , N ewObl where: – – – – –





A1 ∈ AgIds identifies the influencing agent, Alloc1 = OrgId, R1 , Attitudes1  is the allocation held by A1 , that permits the attempt to influence, where OrgId ∈ OrgIds and R1 ∈ RoleIds. A2 ∈ AgIds identifies the agent being influenced, Alloc2 = Org I d, R2 , Attitudes2  is the allocation that permits the attempt to influence, where Org I d ∈ OrgIds and R2 ∈ RoleIds. Obl = Action I d, C1 , P1  is the obligation which the attempt is concerned with, held by the influencing agent, where Action I d ∈ ActionIds. C1 is the temporal constraints on the action and P1 is the set of predecessor role to whom this obligation is held. Inf = Action I d, C2 , P2  is the influence that allows the influencing agent to attempt to influence, where R1 ∈ P2 . C2 is the temporal constraints on the action and P2 is the set of predecessor roles who can exert this influence. N ewObl = Action I d, C3 , {R1 } is the new obligation that the agent being influenced will take on if the attempt is successful, where C3 = C1 ∩ C2 .

3.3.2 Rules of influence We can create a set of rules that describe all possible occasions for attempts to influence, and all possible results of it. These rules modify the distribution of obligations throughout the organisation and the results of their repeated application are recorded to reflect how the distribution of obligations has changed due to influence. The rules, which can be expressed almost

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

173

entirely in our existing notation, check details such as the roles of the participating agents and the influences they contain, the current distribution of obligations in the organisation and reasons for the attempt to influence. A set of generic rules detailing all possible variations of attitude types, conflict types and so on are provided and can be applied within different organisations. Table 1 describes the rules introduced in [19] which capture all successful attempts to exert influence, where the influencing agent is attempting to fulfil an obligation concerning some action X. The conflict type determines why the influencing agent is attempting to exert influence in each case. For example, the agent may be attempting to exert influence because it has a conflicting obligation and prohibition (subsumption)—that is, there is a prohibition regarding an action whose set of possible start times subsumes those of an obligation to carry out the same action. A conflict because of subsumption will also be detected by an attempt to schedule but it is useful to make a distinction between the two types of conflict, particularly as it is likely to be more cost-effective to detect subsumption by a specific test than by scheduling all the agent’s obligations. In cases where there is a conflict motivating the attempt to influence the attitude of the influencing agent has no effect on the choice of rule. Similarly, when the agent being influenced is able to fulfil the obligation concerned itself its attitude has no effect. The agent being influenced will always accept the attempt to influence if it is able to fulfil the obligation concerned itself. An agent with a Bold attitude to a role, however, will accept an attempt to influence it even if it cannot fulfil the obligation concerned itself, as long as its role allocations allow it to attempt to influence a third agent to take the obligation on. The rules are numbered for easy reference, but the ordering of the rules in the table also corresponds to the priority in which they are applied. For example, cases where there is some kind of conflict motivating the attempt to influence (rules 1–12) should always be given priority over cases where there is no conflict (rules 13– 18). This ensures that conflicts which may jeopardise the operation of the whole organisation are handled before attempts to influence motivated solely by an agent having a Lazy attitude. This priority is discussed further in Sect. 3.3.3 where we describe how the rules are applied. An annotated rule corresponding to rule 13 in Table 1 is given in Fig. 7. Intuitively, the left-hand side of a rule describes the conditions on the organisational structure and distribution of obligations required for the rule to apply. The right-hand side depicts the updates to components of the organisation as a result of the attempt to exert influence. The rule describes the case of an agent who has no conflict, but has the attitude Lazy in regard to a particular obligation and as a result will attempt to exert influence. In the example we introduce two new operators. The scheduling mechanism attempts to find a schedule where all the obligations of an agent are satisfied, according to the organisational agenda. This includes all the obligations of each role, taking into account all the previously accepted attempts to influence and (depending on the agent’s attitudes) possible future attempts to influence the agent can make. In our prototypical implementation we make use of an existing constraint solver here. The operator ⊕ is used to add an attempt to influence and records the application of the rule—this is the only structure that is changed; the organisation and population specification remain unchanged. The full set of rules is listed in [19].

3.3.3 Application of rules Our approach to applying the rules is a kind of forward-chaining production system, where the influence rules described above are used as inference rules and the organisation specification

123

174

Auton Agent Multi-Agent Syst (2008) 17:157–189

Table 1 An overview of the rules of influence Rule No.

Conflict type

Action

Inf’ing Att.

Inf’ed Att.

Reason for accepting influence

1

Subsumption

X





Influenced agent can fulfil obligation concerning X

2

Scheduling

X





Influenced agent can fulfil obligation concerning X

3

Subsumption

X



Bold

Influenced agent can exert influence concerning X

4

Scheduling

X



Bold

Influenced agent can exert influence concerning X

5

Subsumption

Y





Influenced agent can fulfil obligation concerning Y, where X is included in all conjunctions in Y’s constituents

6

Scheduling

Y





Influenced agent can fulfil obligation concerning Y, where X included in all conjunctions in Y’s constituents

7

Subsumption

Y



Bold

Influenced agent can exert influence concerning Y, where X included in all conjunctions in Y’s constituents

8

Scheduling

Y



Bold

Influenced agent can exert influence concerning Y, where X included in all conjunctions in Y’s constituents

9

Subsumption

Z





Influenced agent can fulfil obligation concerning Z, where Z is included in a conjunction in X’s constituents

10

Scheduling

Z





Influenced agent can fulfil obligation concerning Z, where Z is included in a conjunction in X’s constituents

11

Subsumption

Z



Bold

Influenced agent can exert influence concerning Z, where Z is included in a conjunction in X’s constituents

12

Scheduling

Z



Bold

Influenced agent can exert influence concerning Z, where Z is included in a conjunction in X’s constituents

13

No conflict

X

Lazy



Influenced agent can fulfil obligation concerning X

14

No conflict

X

Lazy

Bold

Influenced agent can exert influence concerning X

15

No conflict

Y

Lazy



Influenced agent can fulfil obligation concerning Y, where X is included in all conjunctions in Y’s constituents

16

No conflict

Y

Lazy

Bold

Influenced agent can exert influence concerning Y, where X is included in all conjunctions in Y’s constituents

17

No conflict

Z

Lazy



Influenced agent can fulfil obligation concerning Z, where Z is included in a conjunction in X’s constituents

18

No conflict

Z

Lazy

Bold

Influenced agent can exert influence concerning Z, where Z is included in a conjunction in X’s constituents

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

175

Fig. 7 A sample rule (rule 13 in Table 1)

and record of attempts to influence form the knowledge base. As in many production systems our approach can be split into three phases: 1.

2.

3.

Match phase—The set of instantiated rules, R, that can be applied is identified. These are the rules whose left-hand side can be satisfied by the facts in the working memory. The working memory consists of the organisation specification and the record of previous attempts to influence. Conflict resolution phase—This phase determines which rule, R ∈ R, from the set of applicable rules should be executed. In our approach we only execute one rule at a time. We adopt two approaches to conflict resolution: no duplication and priority. In adopting no duplication we do not allow the same rule to be executed more than once with the same arguments. Further, the rules are given a priority and rules with higher priorities take precedence. This priority corresponds to the order of the rules in Table 1, so rule 4 would take precedence over rule 8, for example. If there is more than one rule with the same priority the choice is random. Act phase—The actions of the chosen rule are executed. In our system this means that the attempt to influence described by the rule has been successful, and results in a record of the attempt to influence being added to the facts. The organisation specification is not modified by the application of the rules.

This process is repeated until no more applicable rules can be found at the match phase. As a simple illustration we describe what happens when we apply our rules to the lecturingTeam organisation specified in Fig. 6. The set of attempts to influence that result are detailed in Fig. 8. In the first match phase the organisation specification is examined—as this

123

176

Auton Agent Multi-Agent Syst (2008) 17:157–189

Fig. 8 Two attempts to influence resulting from applying rules to Fig. 6

is the first iteration of the rule application loop there are no previous attempts to influence to be taken into consideration. The agent john, holding the role lecturer, has an obligation concerning giveLecture and another concerning supervisePractical with conflicting sets of temporal constraints—both actions must be carried out at time 550. However, fred has the influence super vise Practical, (q : q = 550), {lectur er } in the role of demonstrator. There is a sufficient overlap between the constraints of the original obligation and the obligation in the influence (in this case they are identical) and there exists a schedule such that fred can fulfil this new obligation along with the existing ones. Consequently, rule 2 will be identified as applicable with these facts at the match phase. However, john has the attitude Lazy in the role of lecturer and so will attempt to exert influence whenever possible. As a result the facts that matched rule 2 described above will also match rule 13. In addition, the instantiation of rule 13 concerning john’s obligation super vise Practical, (e : e > 50, e < 525), {cour seCoor dinator } and fred having the influence super vise Practical, (r : r > 200, r < 500), {lectur er } will also be applicable. At the conflict resolution phase the instantiation of rule 2 will be selected for execution, as it has priority over the two instantiations of rule 13. When the rule is executed in the act phase the second attempt listed in Fig. 8 will be recorded—new elements are added to the front of the structure, and the structure is empty at the beginning of the process of rule application. The system returns to the match phase again, this time examining facts from both the organisation specification and the attempt to influence recorded in the previous cycle. The record of the influence to achieve john’s obligation supervisePractical, (d : d = 550), {courseCoordinator} created in the previous turn prevents rule 2 and rule 13 from being selected again with the same arguments. The instantiation of rule 13 concerning supervisePractical, (e : e > 50, e < 525), {courseCoordinator}, however, is still identified as applicable. As it is the only applicable rule this turn it is automatically selected at the conflict resolution phase and executed at the act phase, recording the first attempt listed in Fig. 8. The system will return to the match phase once again, but as no applicable rules can be identified the process will terminate. In this case the priority of the rules did not have a significant impact on the final distribution of obligations—the rules could have been applied in a different order and the end result would have been the same. The purpose of the rules of influence is to modify the organisational agenda. Given all organisations  and all organisational agendas A, the rules R map onto organisational agendas, that is: R :  × A → A.

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

177

Fig. 9 Potential activities of agents of organisation in Fig. 6

When this conceptual presentation is implemented in Prolog the approach is simplified. In particular, the match phase is neatly handled by Prolog’s unification mechanism. However, the presentation of the approach as a production system is a useful abstraction that does not depend on the characteristics of a specific programming language. In Sect. 3.4 we describe how we can obtain a simulation of the actual operation of the organisation using the results of the application of the rules of influence and the scheduling mechanism. A major limitation of our approach is that the order in which rules are applied in our production system can have an effect on whether or not an organisation is found to be feasible. As a result, the rules are not guaranteed to find a feasible distribution of obligations in every organisation, where such a distribution exists. In Sect. 3.7 we discuss the reasons for, and possible solutions to this limitation. 3.4 Simulation In our rules describing influence we use a scheduling mechanism to find a schedule where all the obligations of an agent are satisfied. In the rules this is required simply as a boolean check, to ensure that there exists some schedule where the agent could satisfy all the obligations it is responsible for. From an organisation specification and the final record of attempts to influence from the production system we can obtain the organisational agenda after the affects of influencing. We can use the scheduling mechanism to simulate the activities of agents in an organisation. This can, to some extent, replace a true distributed simulation, as we can create a set of possible runs for the agents of the organisation, detailing when they should execute actions in order to satisfy their obligations. We can create a set of schedules for the agents paul, john and fred from Fig. 6 in which they satisfy the final distribution of obligations captured by the attempts to influence in Fig. 8. A possible schedule for the activities of paul, john and fred is illustrated in Fig. 9. Note that this is only one possible schedule for the actions—some of the actions can be carried out across a range of time, but the scheduler finds and returns only the first schedule in which all obligations are satisfied, attributing specific times to the temporal constraints on actions. In some organisations the number of feasible schedules will be very large, many of them varying only slightly in terms of when actions are executed. Creating schedules in this manner allows us to examine the potential operation of the organisation without the added complications of a true distributed simulation. It should be noted that this approach is essentially a test for feasibility—not a guarantee that an organisation will

123

178

Auton Agent Multi-Agent Syst (2008) 17:157–189

operate in this, only an check that it can. Our representation of the internal states of agents is limited and does not capture features such as the fact that norms can be violated and that agents may have their own planning methods—our use of attitudes allows us to capture only a small set of stereotypical behaviours. Further, we make a point throughout this work of not stating how influence should actually occur, in terms of the specific interactions between agents. These features, which are not the principle focus of this research, would have to be further investigated to produce a truly distributed simulation. However, as we are interested in the impact of influence on organisational structure in general, this approach offers us an additional way to view the results of influence at little extra cost. Simulation is particularly useful for examining the effects of populating the model with different societies of agents (see Sect. 4.3). 3.5 Limitations of approach We now discuss features of our formalism that are not accurately captured by our approach to modelling influence. In each case, however, the limitation is not one of practical impossibility but of increased complexity. The approach could be extended to accommodate these features but has not been to date because of the unsatisfactory increase in computational cost that would result. The first issue concerns influence and composite actions. Let us consider the action definition for prepareCourseMaterial:



⎛⎛



⎞ ⎞ prepareLectures∧ ⎟ ⎜ ⎝ prepareTutorials∧ ⎠ ∨ ⎟ ⎜ ⎟ prepareExam prepareCourseMaterial, 1000, ⎜ ⎜

⎟ ⎝ requestMaterialFromPreviousLecturer∧ ⎠ prepareExam

If an agent wished to influence another to take on an obligation concerning the action prepareExam, but could not do so, it may consider if its influences would allow it to influence another agent to take on an obligation concerning prepareCourseMaterial, as this would ensure the execution of prepareExam (captured by rules 5–8, 15 and 16 in Table 1). In exerting influence regarding one action to achieve another in this manner an agent must check that all possible plans for achieving the first action include the execution of second; in this example, influencing regarding prepareCourseMaterial to achieve prepareLectures would not ensure its execution. If an agent wished to influence another to take on an obligation concerning prepareCourseMaterial but could not do so, it could consider influencing regarding the constituent actions of one of the two conjunctions instead—a situation described by rules 9–12, 17 and 18 in Table 1. However, the rules do not check that all the actions of a constituent can be fulfilled (either directly or through delegation). As a result, influence may be exerted regarding some of the actions before it becomes apparent that this approach will not fulfil the original obligation. The cost of including such a check is significant—almost as costly as executing the rules in full for every action concerned. If there are multiple conjunctions in the constituents of the action of the original obligation, checking quickly becomes very costly. Further, if the check were to be included it would make sense to exert influence regarding all the necessary actions immediately after the check (as the distribution of obligations may change in the next cycle). This would require ‘nesting’ or recursion in the rules concerned, as each action of the original obligation would need to considered separately as the subject for influence.

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

179

Fig. 10 A set of obligations whose actions have interdependent constraints (top) and same obligations with restricted ranges in the temporal constraints (bottom)

Consequently, the rules do not currently include such a check when an action from the constituents of the original action is the subject of the obligation influencing is being exerted in regard to. A negative result of this is that agents may exert influences that are later found not to have achieved their intended purpose. This problem could be alleviated to some extent if there were some way to retract attempts to influence that were later found to be unhelpful, a possibility that is discussed further in Sect. 3.7. A second issue concerns influence and interdependent constraints. Our model allows interdependent variables in the action constraints of the obligations of a role. In the example below, for instance, the fact that write Assessment must be executed before issue Assessments is captured by the constraints w : w < x on write Assessment, where x is the start time of issue Assessments. However, this provides us with a problem if one of these obligations is to be the subject of an attempt to influence. The scope of variables is the set of obligations of the role in which they are defined and only for the particular agent enacting that role. As a result, agents are not aware of the start times of other agents actions when planning their own. Therefore, if any obligations of this nature are to be fulfilled as a result of influence, a mechanism to analyse variable interdependencies is required and the temporal constraints modified accordingly. The ranges in the temporal conditions in the top set of obligations of Fig. 10, for instance, can be restricted in a way that ensures the original order of action execution is maintained, as shown in the bottom set of obligations of Fig. 10. However, choosing specific values for the constraints in this way is likely to unnecessarily restrict the capabilities of agents to fulfil their obligations, but a more sophisticated resolution is likely to be very computationally expensive. Given the unsatisfactory solutions available to us and acknowledging that not including this feature will have only a small effect on the expressiveness of the model, we have opted not to support influence concerning obligations containing interdependent variables in the model at this stage. We have implemented the system in SICStus Prolog [26], using the clp(FD) library [2] to handle the scheduling. Our notation lends itself well to conversion into Prolog syntax, allowing us to keep the Prolog representation of an organisation very close to the original mathematical notation. Having identified a limitation regarding the action hierarchy, we implemented a subset of the influence rules, excluding those which refer to the action hierarchy. This allowed us to focus on identifying other issues in implementing our approach. Further, we modify our approach slightly to reduce the number of calls to the scheduler as this is by far the most computationally expensive part of the system; by harnessing clp(FD) at certain points we can reduce the complexity of the constraint satisfaction problems we are trying to solve, and consequently reduce the solution time. The most significant difference between the approach described here and our implementation is that in the implementation

123

180

Auton Agent Multi-Agent Syst (2008) 17:157–189

rules are applied to facts concerning one agent at a time. A consequence of this ‘turn about’ approach is that the order in which agents take turns corresponds to an implicit prioritisation. Consequently, altering the order of the agents’ turns may alter the final distribution of obligations, and even the feasibility of the organisation as a whole. We can address this problem by trying all orders of agents exhaustively, or until an order which produces a feasible organisation is identified. 3.6 Influence and organisations as agents A feature of our model is that we allow organisations to act as agents, enacting roles in other organisations. In this situation the engineer is responsible for specifying the distribution of obligations and influences of the role taken on by the organisation amongst its own roles. There is no automated support for this process. If the engineer wants every agent in the organisation to be responsible for the influences that can be exerted on the organisation as a whole, for example, he must include the influences in the definitions of all the roles of the organisation. When an organisation is the agent being influenced in a rule, the member (or one of the members) of the organisation responsible for that influence must be identified. If the attitude of the organisation in the role concerned is Cautious, it is the schedule of that particular agent that must be able to accommodate the new obligation. However, we do not assume that individual agents have the same attitude as the organisation in the appropriate role— once more this is down to the decision of the engineer when the organisation specification is written. If the agent has the attitude Bold in this role and can further exert influence to fulfil this obligation the organisation as a whole will accept the attempt to influence. Similarly, if the organisation has the attitude Bold in this role its influences will be taken into consideration. Although we rely on the engineer to detail the relationship between an organisation that is enacting a role and its members, the influence rules do not currently capture the differences when a role is being enacted by an organisation rather than an individual agent. As a result, the rules would need to be extended to capture this aspect of our formalism accurately. 3.7 Retracting attempts to influence As already identified, the order in which rules are applied in our production system can have an effect on whether or not an organisation is found to be feasible. Currently, in order to determine whether an organisation is truly feasible an engineer must consider using different strategies or attempt to identify why an organisation is unfeasible using the support provided (see Sect. 4). An arbitrary choice between rules early in the process may have an unforeseen impact on the choice of rules available later, and ultimately may prevent the satisfaction of one or more obligations, where an alternative choice may not have. However, predicting this kind of interference would require treating the whole problem as a constraint satisfaction problem, which may prove to be unsatisfactorily expensive in large organisations. One solution would be to implement the system in such a way that allowed backtracking, so choice points could be returned to and reconsidered in the result of an unsatisfactory conclusion. To do this exhaustively is possible, but computationally expensive without some human intervention. Alternatively we could incorporate explicit retraction of attempts to influence. For instance, we could create rules specifically for retracting the results of other rules under certain conditions. However, we would only wish to retract attempts to influence

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

181

when we knew for certain that doing so was appropriate. Detecting when this is the case is likely to be computationally expensive, as it involves examining the impact of each influence exerted and comparing results.

4 Verification and analysis to support organisational change Once engineers prepare their formal specifications and create simulations of organisations using MOChA they can perform a number of checks to guarantee the existence of desirable properties (or the absence of undesirable ones). These checks should aid the engineer in correcting any errors in a specification. In addition, the specification and results of change through influencing can be analysed to determine further properties of the organisation. Examining specifications in this way aids the engineer in identifying the need for changes in the structure or population of an organisation and predicting the possible consequences of such changes. This creates a ‘virtuous cycle’, where from verification and analysis feed back into the design process. In this section we discuss some kinds of verification and analysis that can be carried out on organisations defined in our notation. We describe some of these checks in first-order logic, but given the formal specification of our model we can also formally define how we would go about check for these properties. We have implemented a number of the checks described here in Prolog. 4.1 Verification We can check to ensure that the constructs conform to the syntax of our notation and that all the components (labels) referred to are defined. In addition to these standard compiler checks we can verify the action hierarchy, checking for loops and inconsistent durations in composite actions, and verify the feasibility of the organisation using our production system and scheduling mechanism (see Sect. 3). We have compiled a list of checks specifications ought to satisfy: – Actions must not be self-referential as this could cause infinite looping. That is, an action must not contain a reference to itself in its constituents. The action might be not be mentioned in its constituents directly, but referred to further down the hierarchy, in one of its constituents’ constituents and so on. – An action is an indirect constituent of itself if it is in the constituents of an action that is a constituent or indirect constituent of it. – We want to know if it is possible for all the agents to fulfil all their obligations within an organisation. This is determined by using the production system and simulation approach described in Sect. 3. By varying how the rules of influence are used, the engineer can check the feasibility of an organisation with different degrees of complexity of influence. 4.2 Analysis We now discuss a number of ways that a specification and the results of simulation can be analysed. Which particular properties are desirable will vary depending on the organisation being modelled. Given the acknowledged computational costs of the production system described in the previous section, we favour analysis that can be carried out using only the static specification when possible. However, in some cases performing analysis that does not involve the application of influence rules will give an indication of the possibility of the

123

182

Auton Agent Multi-Agent Syst (2008) 17:157–189

existence a property, not a definite guarantee. In addition to the properties below, in [19] we find distribution of responsibilities (to determine measures of balance in an organisation), dependency and (redundancy (to determine the robustness of an organisation) and failure (to determine the level at which an organisation was rendered unfeasible). 4.2.1 Role enactment A check can be carried out to determine if there are any roles that are defined in the specification but not being enacted by any agents in a given population. We can define this check as: ∀r ∃x. r ole(r ) ∧ agent (x) ∧ enacting(x, r ) That is, for all roles, there is some agent enacting the role. Once again, this may only be a concern in certain domains. 4.2.2 Loops in influence Unlike loops in the action hierarchy, which always pose a potential problem, loops in influence may not be considered a problem in some domains. Further, loops can be checked for at a number of levels of increasing precision and, as result, increasing computational cost. The simplest level of check it to check for loops in predecessors (or successors) without examining the specific influences. We check if a role is a predecessor to itself directly or indirectly: ∃x. r ole(x) ∧ ( pr edecessor (x, x) ∨ indir ect pr edecessor (x, x)) A role is an indirect predecessor to itself if it is predecessor to a role that is a predecessor to it or an indirect predecessor to it. ⎞ ⎛ x = y = z ∧ r ole(x)∧ ⎟ ⎜ r ole(y) ∧ r ole(z)∧ ⎟ ⎜ ⎟ ⇒ indir ect pr edecessor (x, z) ⎜ pr edecessor (x, y)∧ ∃ x y z. ⎜ ⎟ ⎝ indir ect pr edecessor (y, z)∨ ⎠ pr edecessor (y, z)) However, this check may identify roles which are indirect predecessors to themselves, but could never cause a loop in influence. 4.2.3 Role allocation consistency We now turn to the analysis to determine whether or not obligations of roles and agents are consistent; that is, free from conflict. However, checking static model will not determine the actual workloads of agents. After applying the rules of influence, the workloads of agents in an organisation can be calculated from the runs generated by simulation, by calculating the amount of time each agent spends executing actions (adding up the durations of the actions undertaken). An analysis of the influence relationships may also result in the identification of roles or agents that are more powerful than others; if they are the predecessors in the majority of their influence relationships. By analysing these relationships in the whole organisation a hierarchy, if one exists, can be detected. Both individual roles and sets of roles

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

183

(such as the set enacted by a particular agent) can be checked for consistency. A role is consistent if there are no pairs of obligations of the role that conflict: ⎛ ⎞ o1 = o2 ∧ r ole(r )∧ ∀ r ¬∃ o1 o2 . ⎝ obligationof (o1 , r ) ∧ obligationof (o2 , r )∧ ⎠ ⇔ consistent (r ) con f licting(o1 , o2 ) A role may be inconsistent in the following ways. A role is strongly inconsistent if there is one or more conflicts between its obligations where there is not an influence relationship that would allow an agent holding the role to attempt to solve the conflict through exerting influence: ⎞ ⎛ o1 = o2 ∧ r1 = r2 ∧ r ole(r1 ) ∧ r ole(r2 )∧ ⎜ obligationof (o1 , r1 ) ∧ obligationof (o2 , r1 )∧ ⎟ ⎟ ∀ r1 ∃ o1 o2 r2 ¬∃ i. ⎜ ⎝ conflicting(o1 , o2 ) ∧ pr edecessor (r1 , r2 , i)∧ ⎠ (cansatisfy(i, o1 ) ∨ cansatisfy(i, o2 )) ⇔ stronglyinconsistent (r1 ) A role is weakly inconsistent if there is one or more conflicts between its obligations but there is an influence relationship that would allow an agent holding the role to attempt to solve the conflict through exerting influence: ⎛ ⎞ o1 = o2 ∧ r1 = r2 ∧ r ole(r1 ) ∧ r ole(r2 )∧ ⎜ obligationof (o1 , r1 ) ∧ obligationof (o2 , r1 )∧ ⎟ ⎟ ∀ r1 ∃ o1 o2 r2 i. ⎜ ⎝ conflicting(o1 , o2 ) ∧ pr edecessor (r1 , r2 , i)∧ ⎠ cansatisfy(i, o1 ) ∧ ¬stronglyinconsistent (r1 ) ⇔ weaklyinconsistent (r1 ) We borrow the terms strong inconsistency and weak inconsistency from NoA [15,16], where they are used in a similar manner to identify the types of conflict that arise when an agent considers adopting new norms. Given that agents enacting roles may take on new obligations as a result of the influence relationships in which they are successors. In [19] we also define the case of a potentially inconsistent role, in which the role holder may be influenced (as a result of being a successor in an influence relationship) to adopt one or more obligations that would conflict either with existing obligations of the role or other obligations that may come about through being influenced. 4.3 Impact of verification and analysis on organisational change In [7] the authors identify two types of change: behavioural and structural. In Sect. 3 we described change through influence—one type of behavioural change captured in our model. In this section we discuss another type of behavioural change, change in the agents populating the organisation, and structural change in an organisation specification. In each case we discuss possible changes that the designer may be interested in investigating and how automated analysis can support this investigation. Our decision to separate the structure and the population of an organisation supports the analysis of the effect different populations of agents have on the operation of an organisation, as the same organisational structure can be populated with many different populations and the results compared. There are a number of ways in which different populations can change how an organisation operates. In many organisations the combinations of roles allocated to each agent will have an impact on the success of the organisation. Let us consider an organisation with four roles,

123

184

Auton Agent Multi-Agent Syst (2008) 17:157–189

r1 , r2 , r3 , r4 . We have two agents with which to populate this organisation, but roles r1 and r2 are unavoidably conflicting, as are roles r3 and r4 , and r1 and r4 . As a result the only feasible allocation of roles is that one agent takes on roles r1 and r3 and the other takes on r2 and r4 . Any other allocation would cause the organisation to be unfeasible. The differences in the operation of an organisation with different populations will often be complex—all the features of a population combine to give the final result. Also, populations need not render an organisation unfeasible to be worthy of analysis; different populations will result in different properties of feasible organisations such as the workload of agents and the depth and frequency of delegation. Through analysis the engineer could identify a minimum population for an organisation. A potential population could be identified as the minimum number of agents and their allocations where the allocations are all consistent or at least weakly inconsistent. This population could then be tested to determine the feasibility of the organisation using our production system. 4.3.1 Supporting change in organisational structure Engineers may wish to alter an organisation structure after it is created. Informed by the results of analysis the engineer can identify the types of structural change required and, after having made a change, can compare the alternative specifications through further analysis. At this stage the change itself is manual, but automation of some types of changes is an area for future work. We recognise, however, that some human input will be required to limit the vast number of alternative specifications, perhaps in terms of desirable properties of the resulting specification. The role definitions of an organisation may be changed in response to analysis, or to examine the effects of a possible change in the organisation such as the distribution of the obligations of one role amongst existing roles. This would be particularly useful if we are to offer more support for the feature of organisations taking on roles, as a distribution of the organisation role’s responsibilities could be automatically suggested. Our analysis can support the engineer in identifying the dependencies between roles in an organisation, ensuring that all affected roles are identified. Once the obligations and influences have been distributed the consistency of the roles can be tested. Finally, testing for feasibility will determine if the organisation can operate successfully with the new distribution of responsibilities. Change in the action definitions of an organisation may also be something an engineer would wish to examine. In particular, removing or adding a means to achieve an action can be captured by altering the constituents of an action. It is intuitive that removing the means to achieve an action may prevent an agent from fulfilling its obligations and that adding a new means may alleviate a conflict of a certain type. By analysing the action hierarchy we can automatically identify all actions that will be affected by the modification. Roles which have obligations and influences which refer to these actions can then be identified. These roles can be checked for consistency given the new action definitions, as can any agents enacting the affected roles.

5 Comparison with related work As far as we are aware, this is the first attempt to provide an approach that not only allows an engineer to develop flexible organisations of agents but also enables the engineer to analyse

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

185

the properties of those organisations. The focus on the organisational level in MOChA is in keeping with the three principles of an organisational perspective outlined by [9]: –





The organisational level describes the ‘what’ and not the ‘how’—Our model describes relationships between roles only in terms of obligations held to and influences held over other roles, not how actual interactions take place. In investigating social influence we are concerned with the effect of the phenomenon, not how influence is actually exerted in terms of performatives and interaction protocols and so on. No agent description and therefore no mental issues at the organisational level—We do not attempt to model the architecture or internal state of an agent, or the affect of organisational phenomena on that internal state. Our only concession here is to include attitudes for agents that can be used to reflect certain stereotypical types of behaviour, allowing us to investigate another feature of organisational performance. An organisation provides a way for partitioning a system, where each partition constitutes a context of interaction for agents—An organisation can operate as a ‘partition’ (sub-organisation) within another organisation (super-organisation) either explicitly, by being assigned a role in it (the sub-organisation is treated as an agent), or implicitly, by being defined independently but populated solely by members of the super-organisation. Roles are explicitly associated to particular organisations, providing a context for the interactions of an agent enacting that role.

Concerning our use of norms, this work can be compared to several other norm-based systems. Our decision to attach obligations to roles is influenced by the work of [21]. We restrict our use of norms to obligations. MOChA is not unique in its strict separation of organisational structure and population. In AGR [9], for example, the organisational structure is the abstract level of an organisation—the structure that persists regardless of the population of the organisation. One aspect which MOChA lacks compared to other approaches concerns the properties of and relationships between roles that can be specified. The extension to Gaia concerning organisational rules [32], for example, can express constraints on which agents can play which roles, on cardinality of roles and on the temporal dynamics of roles. On a similar note, AGR [9] can express a correspondence constraint between two roles, stating that an agent playing one will automatically play the other. Roles in ROADMAP [14] are part of a hierarchy, expressed as a tree, and inherit social laws from roles in the branches above them. Unlike the aspects of roles concerned with goals or beliefs that should be adopted by agents enacting the roles, these properties of, and relationships between, roles have an impact at the organisational level and being able to express them in MOChA would increase the variety of real-world scenarios that could be modelled. Consequently, this is acknowledged as an important area for future work. Roles in MOChA capture two types of relationships between the agents enacting them. Obligations are held by an agent enacting a role to another agent enacting a role. Influences are held over an agent enacting a role by another. Given the limited representation of individual agents in our model obligations are the sole motivators for agents activities. In order to simulate different tendencies of behaviour in agents we use stereotypical attitudes. This mechanism allows us to address some of the limitations of our highly organisation-oriented approach, by simulating types of behaviour in an agents’ role allocations. We could have opted to have roles describe objectives or goals to be achieved by the role holder, such as the responsibilities in Gaia [31] or the RoleGoal modality of [4]. However, we feel that using social constraints (obligations) is more in keeping with our focus on the social aspect of an organisation. Agents may use these norms to determine or prioritise their

123

186

Auton Agent Multi-Agent Syst (2008) 17:157–189

goals internally, but this is not a organisation level issue. Further, norms may be transgressed. We adopt the view of [13] and [18] that norms should describe the ideal functioning of a system, not necessarily the actual, and that the norms should not regiment the behaviour of the agents populating the system. This is clearly a different situation from a goal simply not being achieved. Although not fully incorporated in the model at this time, the notion of organisations being able to enact roles in the same way that agents do is an interesting and relatively novel feature of our model. When deciding to allow organisations to act as agents in MOChA our motivation was not so broad as addressing the problems in this shift from the object-oriented paradigm to the agent-oriented one. Rather, we felt it was intuitive that institutions should be the addressees of obligations and be able to exert influence over others, and that this concept was distinct from their participants having these faculties. However, despite the differing motivations behind the work, our notion of organisations enacting roles is in keeping with the idea of organisations as socially constructed agents proposed by [1] and shares some of the same influences. The further development of this aspect of the model is identified as an area of future work. In systems where analysis similar to ours takes place it is usual for the investigation to be focused at the agent level. The use of dependency networks to support coalition formation presented by [25], for example, includes automatic analysis of the dependencies between agents. However, this approach addresses only one property in an organisation and appears to have only been implemented on a relatively small scale; we anticipate that the cost of implementing it at an organisational level would outweigh the benefits. Our decision to focus on organisation level issues allows us to provide analysis at a relatively reduced cost. In addition, we have presented a number of approaches to examining the same property at different levels of abstraction. The engineer can then weigh up the cost of performing an analysis check against the importance of the accuracy of the result in a given situation, and perform the checks most appropriate to his needs. It is important to discuss the notion of influence in MOChA, and examine how our interpretation of influence fits in with other social concepts in multi-agent systems, particularly those investigated by [3]. We illustrate the relationship between these ideas in Fig. 11. In [3] the author identifies that agents operating in a shared world will experience interference among their actions and goals. That is, the actions (and their effects) of one agent are relevant to the goals of another. Interference may be positive, favouring the achievement of another’s goals, or negative, threatening their achievement. Dependency is a particularly strong case of interference: not only can one agent favour the goals of another, but the second agent cannot achieve the goal without that positive interference. Although MOChA is restricted to modelling the influencing of others to take on obligations, this limited type of influence is in keeping with our interpretation of the phenomenon in general. Extending the formalism to capture influence relationships of a different nature is a recognised area of future work in the model. We identified OperA [6] as the design method most relevant to our work and present a detailed comparison of the two frameworks in [19] . Many of the differences in expressiveness identified relate to the fact that the motivations for creating these two models were not the same. OperA attempts to provide a design methodology that addresses both the global requirements of organisations and the autonomy of agents. MOChA is concerned primarily with investigating the general phenomenon of influence independent of specific forms of interaction, and its effect on the operation of organisations. Consequently, there is more focus on the agent level in OperA than in MOChA, particularly in terms of specific interactions.

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

Negative

Positive

187

special, strong case

Adapting own Behaviour

Interference

Through Communication (Panzarasa et al)

motivates achieved by Coordination

through social action (Castelfranchi) Power to Influence .. (Porn)

Dependence

Exerting INFLUENCE

captured by

allow

Without communication

Influence Relationships

Fig. 11 Relationships between influence in MOChA and other social concepts

The role concept in OperA is more sophisticated than that of MOChA. In OperA it is possible to apply norms to groups of roles, resulting in all agents enacting those roles being addressees. Our current representation would require all roles of the organisation to explicitly contain the obligation in order for the actors of them all to be addressees. There is no implementation of the OperA framework—an omission in the work acknowledged by the author. A prototypical implementation has been created for MOChA which both demonstrates the soundness and practical results of our approach and identifies issues to be addressed if a complete implemented tool is to be provided. Despite the differences in focus, however, we feel that aspects of OperA should inform future work on MOChA.

6 Conclusions and future work Influence is a social phenomenon that underpins many types of interaction in organisations. Consequently, it is present in many existing organisational models, but is seldom captured explicitly. Without a formal description of influence it is hard to determine its impact on the operation of an organisation in advance. In this article we have described means to formally specify, analyse and simulate organisations using agents. We identified the need for an approach to modelling which would enable designers to gain better understanding of the organisational structure, enabling them to analyse and verify various properties of systems. Our model explicitly describes influence relationships and investigates their impact at the organisational level. By providing automated tools for analysis we support the investigation into the consequences of system reorganisation. The formalism and analysis of influence presented is relevant and adaptable to any organisational model where the engineer may benefit from reasoning about the consequences of influence at system design. We have detected a number of areas for future work. We are particularly interested in extensions to provide engineers with improved tools to enable the investigation of properties in more sophisticated organisations: –

Extensions to the formalism—In identifying extensions to the model we are attempting to find a balance between extending the kinds of interesting real-world scenarios we are able to capture whilst maintaining our organisational perspective. In particular, we would like to incorporate a notion of institutionalised power [12] to allow agents in an organisation to act on behalf of that organisation, and an explicit distinction between collective

123

188





Auton Agent Multi-Agent Syst (2008) 17:157–189

obligations and distributive obligations in a role, in order to determine when obligations apply to all the members of an organisation. Rules of influence and their application—Our scheduling mechanism, which is a solver for constraint satisfaction problems (CSPs), has been identified as the mostly costly part of the rule application process. We are optimistic that further investigation into constraint logic programming techniques will unearth approaches that can be applied to our scheduling CSP to reduce the time taken to found a solution. We acknowledge that the state of the art techniques may be unnecessarily sophisticated for our needs, but are confident that we can improve our current approach. Engineering tool for design and analysis—In addition to wrapping our analysis checks in a single application, we feel there is a need to provide a representation that can be easily manipulated for human consumption, and an associated editor (possibly a graphical one) which would support the design of organisations. Large, complex organisations are likely to be difficult for the engineer to examine in either the notation described in Sect. 2 above or its complementary Prolog representation. We want to investigate means to employ our specifications for the synthesis of components of a multi-agent systems along the lines of the work of [28–30]. Once engineers are satisfied with their specifications they could use the very same specification to automatically obtain an initial implementation for some components. This rapid prototyping would be a great advantage, as many design methodologies do not support an implementation of the final system.

References 1. Boella, G., & van der Torre, L. (2004). Organizations as socially constructed agents in the agent oriented paradigm. In Proceedings of Engineering Societies in the Agent World 2004. Springer-Verlag. 2. Carlsson, M., Ottosson, G., & Carlson, B. (1997). An open-ended finite domain constraint solver. In Ninth International Symposium on Programming Languages, Implementations, Logics, and Programs (PLILP’97) (Vol. 1292). Berlin: Springer-Verlag. 3. Castelfranchi, C. (1998). Modelling social action for AI agents. Artificial Intelligence, 103:157–182. 4. Cavedon, L., & Sonenberg, L. (1998). On social commitment, roles and preferred goals. In Proceedings of the Third International Conference on Multi-Agent Systems (pp. 80–87). 5. Conte, R., & Castelfranchi, C. (1995). Cognitive and social action. UCL Press. 6. Dignum, V. (2004). A model for organizational interaction: Based on agents, founded in logic. PhD thesis, Utrecht University. 7. Dignum, V., Dignum, F., & Sonenberg, L. (2004). Towards dynamic reorganization of agent societies. In ECAI Workshop on Coordinating Emergent Agent Societies. 8. Esteva, M. (2003). Electronic institutions: From specification to development. PhD thesis, Universitat Politècnica de Catalunya (UPC). IIIA monography (Vol. 19). 9. Ferber, J., Gutknecht, O., & Fabien, M. (2003). From agents to organizations: An organizational view of multi-agent systems. In P. Giorgini, J. P. Müller, & J. Odell (Eds.), 4th International Workshop on Agent Oriented Engineering. LNCS 2935, Springer-Verlag. 10. Halmos, P. R. (2001). Naive set theory. Springer-Verlag. 11. Van Hentenryck, P., Simonis, H., & Dincbas, M. (1992). Constraint satisfaction using constraint logic programming. Artificial Intelligence, 58(1–3):113–159. 12. Jones, A. J. I., & Sergot, M. (1996). A formal characterisation of institutionalised power. Journal of the Interest Group in Pure and Applied Logic, 4(3):427–443. 13. Jones, A. J. I., & Sergot, M. (1993). On the characterisation of law and computer systems: the normative systems perspective. In J.-J. Meyer, & R. J. Wieringa (Eds.), Deontic Logic in Computer Science: Normative System Specification (pp. 275–307). Wiley. 14. Juan, T., Pearce, A., & Sterling, L. (2002). ROADMAP: Extending the Gaia methodology for complex open systems. In Autonomous Agents and Multi-Agent Systems,(AAMAS 2002). 15. Kollingbaum, M. J. (2005). Norm-governed practical reasoning agents. PhD thesis, University of Aberdeen.

123

Auton Agent Multi-Agent Syst (2008) 17:157–189

189

16. Kollingbaum, M. J., & Norman, T. J. (2004). Norm adoption and consistency in the NoA agent architecture. In M. Dastani, J. Dix, & A. Seqhrouchni (Eds.), Programming Multiagent Systems: Languages, Frameworks Techniques, and Tools, volume 3067 of Lecture Notes in Artificial Intelligence. SpringerVerlag. 17. Kramer, B., & Mylopoulos, J. (1992). Knowledge representation. In S. C. Shapiro (Ed.), Encyclopedia of Artificial Intelligence (Vol. 1). Wiley. 18. Krogh, C. (1995). Obligations in multiagent systems. In A. Åmodt, & J. Komorowski (Eds.), Proceedings of the Fifth Scandinavian Conference on Artificial Intelligence (SCAI’95) (pp. 19–30). Trondheim, May 29–31, 1995. 19. McCallum, M. (2006). MOCHA: Modelling organisational change using agents. PhD thesis, Department of Computing Science, University of Aberdeen, Aberdeen, United Kingdom. 20. Norman, T. J., & Reed, C. A. (1986, 2001). Delegation and responsibility. Lecture Notes in Computer Science. 21. Pacheco, O., & Carmo, J. (2003). A role based model for the normative specification of organized collective agency and agents interaction. Autonomous Agents and Multi-Agent Systems, 6(6), 145–184. 22. Panzarasa, P., Jennings, N. R., & Norman, T. J. (2001). Social mental shaping: Modelling the impact of sociality on the mental states of autonomous agents. Computational Intelligence, 17(4), 738–782. 23. Pörn, I. (1970). The logic of power. Basil Blackwell. 24. Russell, S. J., & Norvig, P. (2003). Artificial intelligence: A modern approach (2nd ed.). Prentice Hall Inc., U.S.A. 25. Sichman, J. S., & Demazeau, Y. (2001). On social reasoning in multi-agent systems. In Revista IberoAmericana de Inteligência Artificial (Vol. 13, pp. 68–84). 26. Swedish Institute of Computer Science. SICStus prolog. http://www.sics.se/isl/sicstuswww/site/index. html, visited November 28th 2005. 27. van Lamsweerde, A. (2000). Formal specification: A roadmap. In Proceedings of the Conference on the Future of Software Engineering (pp. 147–159). 28. Vasconcelos, W. W., Robertson, D., Sierra, C., Esteva, M., Sabater, J., & Wooldridge, M. (2004). Rapid prototyping of large multi-agent systems through logic programming. Annals of Mathematics and AI, 41(2–4), 135–169. 29. Vasconcelos, W. W., Sabater, J., Sierra, C., & Querol, J. (2002). Skeleton-based agent development for electronic institutions. In Proceedings of the 1st International Joint Conference on Autonomous Agents & Multi-Agent Systems, Bologna, Italy, ACM. 30. Vasconcelos, W. W., Sierra, C., & Esteva, M. (2002). An approach to rapid prototyping of large multi-agent systems. In Proceedings of the 17th IEEE International Conference on Automated Software Engineering (pp. 13–22). 31. Wooldridge, M., Jennings, N. R., & Kinny, D. (2000). The GAIA methodology for agent-oriented analysis and design. Autonomous Agents and Multi-Agent Systems, 3(3), 285–312. 32. Zambonelli, F., Jennings, N. R., & Wooldridge, M. (2001). Organisational rules as an abstraction for the analysis and design of multi-agent systems. International Journal of Software Engineering and Knowledge Engineering, 11(3), 303–328.

123