# Designing Multi-Agent System Organisations for Flexible Runtime Behaviour
## 2 Organisation-Oriented MAS Design and Development
### Organisation Meta-Models for MAS  
A recent trend in SE methodologies for MAS design is the use of model-driven engineering of MAS [54] or adopting a model-driven architecture [45]. This involves consideration of models and meta-models as artefacts used in the software engineering of systems. Different meta-models can be adopted to describe different domains or components of the overall system [45]. However even though there are many similar features in different meta-models, there is no standard approach for organisation meta-models. [PERSON] and colleagues proposed a high-level common conceptual structure for an organisation model based on existing models and suggested using an organisational interoperability layer to translate between different organisation meta-models [55]. This conceptual model includes functional, structural, interactive, and normative dimensions. Importantly, the idea that agents will adhere to prescribed specifications is not suggested. This is consistent with the aim of enabling some flexibility in agent behaviour, while maintaining social control with norms or policies. They also provided an overview of the approaches adopted in different organisation meta-models for MAS. Our approach is narrower--with a focus on design decisions that may impact flexibility and adaptability in the MAS behaviour at runtime. A model-driven approach has been used in the disaster management and emergency response domain to define distinct and separate model layers at various levels of abstraction [19; 50]. The ALIVE framework defines four layers based on existing systems in a service-oriented architecture: a web-services layer at the bottom, a service layer, a coordination layer, and then an organisation layer at the top level of abstraction [19; 50]. Considering the need for flexibility and adaptability in the final solution, designing a solution using different layers of abstraction allows for some autonomy and independence within each layer of abstraction. For example, [PERSON] and [PERSON] developeda meta-model for the design, development and specification of human-agent teams in complex systems [56]. This meta-model uses the abstractions of roles and responsibilities to separate agent allocations from goal states to be achieved. Each agent adopts responsibilities that contribute to roles. Runtime adaptation within a system is valuable and many researchers have investigated software engineering approaches for the development of self-adaptive systems [57], scalable agent organisations [58], and open MAS [59]. Interoperability between models is important to allow for open systems solutions that do not demand homogeneity in agents. [PERSON] et al. [55; 60] described a tool and process for describing and mapping between different organisational meta-models so that an integrated model view can be created. Providing adaptors between different models would enable an open system of multiple organisations of agents interacting and working together. [PERSON] [61] (p. 581) suggests that when choosing an organisation model for a MAS, the following questions should be considered. Can the goals and tasks be divided into independent, formalised, and standardised tasks? If so, how should one approach this best? Which of the tasks and sub-tasks have dependencies that need considering? Can tasks be grouped together, and what are good means to group tasks (function, geographical location, client, process, etc.)? At what level are decisions to be made and controls to be set up? What kind of environment is the organisation located in (open, closed, static, dynamic)? What is the line of reporting in the organisation? Who has authority and what is the chain of command? What rules and formal processes are being required in the organisation? What level of predictability is the organisation to have?