# Designing Multi-Agent System Organisations for Flexible Runtime Behaviour
## 2 Organisation-Oriented MAS Design and Development
### Organisation Meta-Models for MAS
In addition, further high-level design considerations may impact the flexibility in agent behaviour at runtime such as the level of agent awareness, the independence of design components, and mechanisms for coordination and communication. In existing organisation meta-models, mechanisms for agents' awareness of the current organisational structure and their individual responsibilities include using artefacts (e.g., [25; 62]), giving agents explicit awareness of the organisational structure as part of shared organisation beliefs (e.g., [63]), and using commitments and conventions [64] to establish mutual beliefs [65]. Artefacts are external to the agents and can be shared amongst agents and used as a tool for sharing knowledge. In contrast, if agents hold individual beliefs without a shared artefact, then agents need to communicate to share their beliefs in order to maintain mutual beliefs within the organisation. This requires that individuals have awareness and beliefs about others in the organisation [66]. Approaches to the functional specification of a problem and alignment of the functionality to agents can be based on a top down design so that agents are allocated to enact organisation roles defined at design time (e.g., OperA+ [28], MOISE+ [67], JaCaMo+ [25], and OMACS [68; 23]). Roles are often directly implicitly or explicitly associated with tasks or goals that the system needs to achieve. The specification of system objectives is based on organisational designs specified at design time, with limited scope for agents to behave outside these specifications at runtime. Our requirements demand that we take a different approach in this regard. A related perspective, under which the organisational model is not a structure that simply distributes goals to its agents, but is a way for coordinating responsibility assumption by the agents, is used in the ADOPT framework [69]. It has been argued that the structural dimension of an organisation should be defined separately and independently of the functional dimension so that agents can effectively achieve the organisation's purpose and also reason about each dimension separately [67]. This approach was adopted in MOISE+ [67; 70] which also included a deontic specification. In OMACS [23], an organisation can define a separate functional specification of the problem or organisational objectives in terms of a flexible decomposition tree of goals and sub-goals [68]. In the goal tree, multiple pathways can be defined. This introduces some runtime flexibility, as it is possible to select a goal path dynamically at runtime, based on the agents available. At an organisation level, models can be separated based on how adaptable the organisation structure is and whether the organisation is capable of restructuring at runtime. If organisation structural change is possible, are agents responsible for this or is it controlled externally?Is reorganisation a structural change to the organisation or a change of allocations of agents to roles or responsibilities? Tables 1 and 2 position a number of organisation meta-models in terms of the approaches used in each. The coordination approaches are categorised dependent upon how coordination is specified and how much flexibility is afforded to agents. The coordination can be specified in plans written at design time or using roles that define processes. Other points of distinction between models shown in Table 2 include whether functional goals or states are specified distinctly and separately from roles; whether roles define agent capabilities; how roles are described in terms of responsibilities, outputs, and procedures; and whether agents can mutually adjust their behaviour with some autonomy at run time. The following brief analysis of closely-related organisation meta-models highlights their features and also their limitations with particular reference to requirements for flexibility in agent behaviour at runtime.