The PASSI Lifecycle
The models and phases of PASSI are:
System Requirements Model. An anthropomorphic model of the system requirements in terms of agency and purpose. Developing this model involves four steps:
- Domain Description (D.D.): A functional description of the system using conventional use-case diagrams.
- Agent Identification (A.Id.): Separation of responsibility concerns into agents, represented as stereotyped UML packages.
- Role Identification (R.Id.): Use of sequence diagrams to explore each agent’s responsibilities through role-specific scenarios.
- Task Specification (T.Sp.): Specification through activity diagrams of the capabilities of each agent.
Agent Society Model. A model of the social interactions and dependencies among the agents involved in the solution. Developing this model involves three steps in addition to part of the previous model:
- Role Identification (R.Id.). See the System Requirements Model.
- Ontology Description (O.D.). Use of class diagrams and OCL constraints to describe the knowledge ascribed to individual agents and the pragmatics of their interactions.
- Role Description (R.D.). Use of class diagrams to show distinct roles played by agents, the tasks involved that the roles involve, communication capabilities and inter-agent dependencies.
- Protocol Description (P.D.). Use of sequence diagrams to specify the grammar of each pragmatic communication protocol in terms of speech-act performatives.
Agent Implementation Model. A model of the solution architecture in terms of classes and methods, the development of which involves the following steps:
Code Model. A model of the solution at the code level requiring the following steps to produce:
Deployment Model. A model of the distribution of the parts of the system across hardware processing units, and their migration between processing units. It involves one step:
- Deployment Configuration (D.C.). Use of deployment diagrams to describe the allocation of agents to the available processing units and any constraints on migration and mobility.
Testing: the testing activity has been divided into two different steps: the (single) agent test is devoted to verifying its behavior with regards to the original requirements of the system solved by the specific agent. During the society test, the validation of the correct interaction of the agents is performed, in order to verify that they concur in solving problems that need cooperation.