Agent System Engineering Methodology
The Agent Systems Engineering Methodology (ASEME) is a model-driven agent-based software development process.
It uses the Agent Modeling Language (AMOLA) for modeling multi-agent systems. AMOLA provides the syntax and semantics for creating models of multi-agent systems covering the analysis and design phases of a software development process. It supports a modular agent design approach and introduces the concepts of intra-and inter-agent control. The first defines the agent's behavior by coordinating the different modules that implement his capabilities, while the latter defines the protocols that govern the coordination of the society of the agents. The analysis phase builds on the concepts of capability and functionality. AMOLA deals with both the individual and societal aspect of the agents showing how protocols and capabilities can be integrated in agents design. This is the first originality of ASEME, the fact that the inter-agent control model is defined using the same formalism with the intra-agent control model thus allowing the integration of inter-agent protocols in the agent's model as capabilities.
ASEME applies a model driven engineering approach to multi-agent systems development, thus the models of a previous development phase are transformed to models of the next phase. This is the second originality of ASEME, the fact that different models are created for each development phase and the transition of one phase to another is assisted by automatic model transformation including model to model (M2M), text to model (T2M) and model to text (M2T) transformations leading from requirements to computer programs.
The development process is described using the Software Process Engineering Metamodel (SPEM), the language that is proposed by FIPA for such processes specification. The ASEME Platform Independent Model (PIM) that is the output of the design phase is a statechart that can be instantiated in a number of platforms using existing CASE tools and to an agent platform, the Java Agent Development Framework (JADE). The ASEME process is iterative, allowing for incremental development and provides the original possibility to jump backwards to any previous phase due to the utilized model driven engineering (MDE) approach. There are six development phases, the first four produce system models (development phases), while the last two (verification and optimization phases) evaluate and optimize these models.