In selecting an appropriate agent-oriented analysis & design (AOAD) methodology, the project delivery team must carefully consider the ramifications of the methodology on the final solution and if the methodology’s presumed architectural paradigm, if there is one, is in line with the team’s goals for the project. With traditional object-oriented analysis & design (OOAD) methodologies – e.g., Domain Driven Design, Model Driven Engineering, Larman’s Applying UML and Patterns – the OOAD methodologies don’t typically have much presumption on the final architectural solution; one could use almost any OOAD methodology while resulting in a wide array of architectural implementations. Conversely, because AOAD methodologies not only assume a behavioral focus but often assume how those behaviors are organized, the selected AOAD methodology can have a significant impact on the architectural solution.
For example, choosing the 4D/RCS methodology, and following it to a tee, will result in a purely hierarchical architecture; the Australian AI Institute (AAII) methodology results in a Procedural Reasoning System (PRS) architecture; while the Multi-Agent Scenario-Based (MASB) results in a more reactive architecture. Accordingly, for the project at hand, I’m interested in a methodology which supports an architecture with the following attributes:
- The architectural solution must support deliberative planning to consider resource and environmental constraints and plan, accordingly.
- It must support reactive agents that will leverage a finite state machine to transition between behaviors.
- It must support interaction with other agents for cooperation and reactive coordination.
These basic architectural assumptions suggest a methodology which will result in a hybrid architecture supporting multi-agent coordination and interaction. (It’s already sounding like an InteRRaP or Alliance / L-Alliance agent architecture to support these needs.)
Ideally, I want to avoid picking a methodology which will dictate the agent architecture without negating the methodology’s usefulness. Accordingly, three general agent-oriented methodologies, which do not mandate a particular agent-architecture, were considered in detail: Tropos, MaSE (Multiagent System Engineering) & O-MaSE, and Gaia. Gaia was eliminated due to the fact that while it supports high-level design, it does not provide much guidance for detailed and lower-level implementation design. Both Tropos and MaSE provide good project life-cycle guidance and support high-level and detailed design. A major plus to Tropos is Formal Tropos, which includes support for symbolic model checking with T-Tool. It’s also built upon Eric Yu’s i* framework described in Agent-Oriented Modeling: Software versus the World. But ultimately, MaSE was selected as the methodology of choice for the following reasons:
- MaSE exhibits the same benefits as the other considered architectures: good project life-cycle support, open-ended agent-architecture, models and guidance for both high-level and detailed design.
- MaSE is in active development with the recent extension O-MaSE and appears to widely referenced in various publications.
- MaSE has a positively-reviewed, design tool available as agentTool III.
- MaSE has been proven in cooperative, multi-agent robotics (reference below).
Resource summary for MaSE and O-MaSE:
- Introduction to MaSE (Multiagent System Engineering) (pdf)
- Introduction to O-MaSE (pdf)
- MaSE designer agentTool III
- Additional publication listing
- Applying Agent Oriented Software Engineering to Cooperative Robotics
Resources which helped me make this decision include:
- Federico Bergenti’s (et. al.) Methodologies and Software Engineering for Agent Systems
- Agent-Oriented Information Systems I, II, III and IV
- An Introduction to MultiAgent Systems by Michael Wooldridge
- A Methodology to Evaluate Agent Oriented Software Engineering Techniques by Chia-En Li, et. al.
So with the methodology selected, it’s time to look at picking an architectural approach to the multi-agent system in the next post. A major advantage of the O-MaSE methodology is that it is built upon the premise of being a flexible methodology allowing one to pick and choose a number of techniques to assist in defining requirements. Accordingly, by knowing more about the intended architectural approach, we’ll be able to customize the O-MaSE methodology to better align the efforts with the end result.
This post is one in a series for the commercial development of a multi-agent, robotic, bell pepper picking team with scalable planning, supporting unstructured, outdoor horticulture. If you’d like to follow along, be sure to subscribe to SharpRobotica.com. In addition to commenting on posts, feel free to contact me anytime if you would like to discuss collaboration or funding prospects.