As advocated in [158], MASs, once developed up to their full potential, can be generally seen as representing a class of complex artificial systems, wide and meaningful enough to legitimise, in principle, the application to MASs of the general principles and laws governing complex systems. This means that it is possible to apply the “hierarchy prin- ciple” (see Section 11.2) to the design of MASs: this first suggests that MAS models, abstractions, patterns and technologies can be suitably categorised and compared using a layered description. More simply and directly, when applied to the engineering of MASs, the hierarchy principle suggests that agent-oriented processes and methodologies should support some forms of MAS layering, allowing engineers to design and develop MAS along different levels of abstractions—a number of independent, but strictly related, MAS layers (Chapter 11).
Accordingly, one should expect that existing methodologies actually do support ab- stractions and processes for MAS layering—like for example the OPM’s zooming. Quite interestingly, however, current AO methodologies offer very little (if any) support for hi- erarchical representation of MASs. So, in the following subsection the main AO method- ologies are surveyed to look for some support for layered representation of MAS.
12.3.1
AO Methodologies & Layering
Many methodologies exist in the literature aimed at the engineering of artificial systems in terms of MASs (Chapter 4). Although none of those methodologies provides MAS engineers with an explicit layering mechanism, some of them exhibit some implicit mech- anisms that make it possible in some sense to analyse the system at different levels of detail.
To the best of our knowledge, the most cited AO methodology, Gaia, does not intro- duce any mechanism providing for MAS layering. In MaSE, instead, two models allow MASs to be represented at different levels of abstraction: the creating-agent-classes model should provide a high-level vision of the MAS agents and of their main conversations; the assembling-agent-classes model “zooms” on the inner agent structure, and provides for a number of predefined components, which may also have sub-architectures (with further sub-components) of their own.
Tropos promotes a form of refinement across different stages of the MAS analysis process, such as when the actor and dependency models built in the early requirements
phase are extended during the late requirements phase by adding the system-to-be as
another actor, along with its inter-dependencies with social actors. Also MESSAGE
[69] uses a refinement model in the analysis phase: the level 0 model gives an overall view of the system, its environment, and its global functionality; next level 1 defines the structure and the behaviour of entities such as organisation, agents, tasks, goals,
domain entities; further levels (2, 3, . . . ) might be defined for pointing out specific
aspects of the system dealing with functional requirements, as well as non-functional requirements such as performance, distribution, fault tolerance, security. In Prometheus [164], a progressive refinement process is used which starts by describing agents internals in terms of capabilities. The internal structure of each capability is then given, optionally using or introducing further capabilities, which are refined in turn until all capabilities have been defined: capability nesting is allowed, thus allowing for arbitrarily many layers, in order to achieve an understandable complexity at each level.
Finally a recent proposed methodology called ASPECS [37] suggests a method for managing the complexity of the representation tied to the system holonic structure (Sec- tion 11.4) where holons can be seen, depending on the level of observation, either as an autonomous “atomic” entity or as an organisation of holons. The main vocation of ASPECS is towards the development of societies (organisations) of holonic (as well as not- holonic) multi-agent systems. ASPECS proposes a multiview approach that consists in merging the various points of view on the system (including the functional and ontological views). This approach respects the hierarchical nature of the system revealed by the onto- logical approach – where the system ontology is hierarchical decomposed, and Uses cases referring to ontological concepts of the same level are grouped – but it clearly separates use cases attached to different system functionalities. The granularity of functionalities and the different levels of abstraction present in the system are respected. The hierarchi- cal decomposition of ontology inducts a decomposition of the global behaviour embodied by an organisation into smaller interacting behaviours. Each organisation is decomposed and it is specified the precise behavioural contribution of sub-level organisations to an upper-level organisation.
The above forms of layering, however, are quite limited and more tied to the struc- ture of the system – ASPECS in particular – then to view the system at different level of abstractions. First of all, they enforce only a top-down, mono-directional form of zooming—so, refinement is allowed, abstraction is not allowed. Then, they have only a pre-fixed scope and structure, which limits in principle their flexibility and possibly their ability to fit the many different MAS application scenarios. Mechanisms for zooming are then not explicit, and no ontological support is currently provided by any of the available AO methodologies to the best of our knowledge.
So, it is no surprise that OPM was extended in order to support concepts from the agent field. OPM/MAS [201] takes MAS building-blocks from the Gaia methodology. The set of MAS building blocks is divided into two groups: the first contains static, declarative building blocks, while the second group contains building blocks with a behavioural,
dynamic nature. The building blocks in the first group – which include organisation, society, platform, rule, role, user, protocol,belief, desire, fact, goal, intention, and service – are modelled as OPM objects; the building blocks in the second group – which include agent, task, and messaging – are modelled using the process concept.
OPM/MAS is indeed the first actual effort to introduce the zooming mechanism into a methodology for modelling multi-agent systems. However, apart from the obvious prob- lems arising from the uneven mixture of the very different OPM and Gaia approaches, OPM zooming mechanisms appear too generic for Gaia-derived agent abstractions, which were not conceived with zooming in mind. For instance, in-zooming an agent according to OPM rules would generally lead to another object or to another agent, more plausibly: there is no way that an activity represented at a given abstraction level as an agent could become a society of agents at the next, more refined level.