System Requirements Model. A model of the system requirements in terms of agency and purpose. Developing this model involves five steps:
Agent Society Model. A model of the social interactions and dependencies among the agents involved in the solution. Developing this model involves three steps:
- Domain Ontology Description (DOD). Use of class diagrams to describe domain categories (concepts), actions that could affect their state and propositions about values of categories.
- Communication Ontology Description (COD). Use of class diagrams to describe agents' communications in terms of referred ontology, interaction protocol and message content language.
- Role Description (RD). Use of class diagrams to show distinct roles played by agents, the tasks involved that the roles involve, communication capabilities and inter-agent dependencies in terms of services.
- Multi-Agent Structure Definition (MASD). Use of conventional class diagrams to describe the structure of solution agent classes at the social level of abstraction.
- Multi-Agent Behavior Description (MABD). Use of activity diagrams or state-charts to describe the behavior of individual agents at the social level of abstraction.
Implementation Model. A model of the solution architecture in terms of classes, methods, deployment configuration, code and testing directives; it is composed of ten phases, the first two are performed at both the multi-agent (whole agent society) and single-agent abstraction level:
- Single-Agent Structure Definition (SASD). Use of conventional class diagrams to describe the structure of solution agent classes at the implementation level of abstraction.
- Single-Agent Behavior Description (SABD). Use of activity diagrams or state-charts to describe the behavior of individual agents at the implementation level of abstraction.
- Deployment Configuration (D.C.). Use of deployment diagrams to describe the allocation of agents to the available processing units and any constraints on migration, mobility and configuration of hosts and agent-running platforms.
- Code Reuse (C.R.). A library of patterns with associated reusable code allows the automatic generation of significant portions of code.
- Code Completion (C.C.). Source code of the target system is manually completed.
- Agent Test: it is devoted to verifying the single behavior with regards to the original requirements of the system solved by the specific agent.
- Society Test: the validation of the correct interaction of the agents is performed, in order to verify that they actually concur in solving problems that need cooperation. This test is done in the most real situation that can be simulated in the development environment.
The Iteration Planning activity is someway positioned at an higher level of abstraction, above this logical sequence of models and phases. It is at the base of every iterative incremental process and in our case consists in the analysis of the Problem Statement and all the other available documents (for instance outputs of previous iterations) in order to identify the requirements (and related risks) that should be faced in the next iteration.