The Tropos Methodology
Tropos is an agent-oriented software engineering (AOSE) methodology that covers the whole software development process. Tropos is based on two key ideas. First, the notion of agent and all related mentalistic notions (for instance goals and plans) are used in all phases of software development, from early analysis down to the actual implementation. Second, Tropos covers also the very early phases of requirements analysis, thus allowing for a deeper understanding of the environment where the software must operate, and of the kind of interactions that should occur between software and human agents.
The proposed methodology spans four phases:
- Early requirements, concerned with the understanding of a problem by studying an organizational setting; the output of this phase is an organizational model which includes relevant actors, their respective goals and their inter-dependencies. Early requirements include two main diagrams: the actor diagram and the goal diagram. The latter is a refinement of the former with emphasis on the goals of a single actor.
- Late requirements, where the system-to-be is described within its operational environment, along with relevant functions and qualities. The system-to-be is represented as one actor which has a number of dependencies with the other actors of the organization. These dependencies define the sytem's functional and non-functional requirements.
Architectural design, where the system’s global architecture is defined in terms of subsystems, interconnected through data, control and other dependencies. This phase is articulated in three steps:
- definition of the overall architecture
- identification of the capabilities the actors require to fulfill their goals and plans
- definition of a set of agent types and assignment to each of them one or more capabilities
- Detailed design, where behaviour of each architectural component is defined in further detail. Each agent is specified at the micro-level. Agents' goals, beliefs and capabilities are specified in detail, along with the interaction between them