This research project attempts to define a methodology for designing and developing multi-agent systems (MAS). In this project we draw from the legacy of object-oriented methodologies such as Rumbaugh's Object Modeling Technique (OMT) and the Unified Modeling Language (UML). Basically, we will extend the concept of object-orientation to multi-agent systems.
While similar to objects, agents are typically defined to have traits such as autonomy, cooperation, perception, and pro-activeness that imply characteristics objects generally do not have. There are two basic differences:
- Objects are passive. They react to external stimuli, but do not exhibit goal directed behavior.
- Agents typically use a common messaging language between all agents whereas object messages are usually class dependent.
Looking at the characteristics mentioned above, it seems obvious that we can model agents as "active objects", or, in other words, an object with goals. We will base our approach on existing object-oriented analysis and design techniques such as OMT and UML and will add additional features (such as goals, sensors, and effectors) and modify existing OO notations to take on agent specific semantics.
The primary focus of MaSE is to help a designer take an initial set of requirements and analyze, design, and implement a working multiagent system. This methodology is the foundation for the agentTool development system, which also serves as a validation platform and a proof of concept. The agentTool system is a graphically-based, fully interactive software engineering tool for the MaSE methodology. agentTool supports the analysis and design in each of the seven MaSE steps as well as automatic verification of inter-agent communications and code generation for multiple multiagent system frameworks.
Figure 1. MaSE Phases
The MaSE methodology, as well as agentTool, is independent of any particular agent architecture, programming language, or communication framework. The focus of our work is on building heterogeneous multiagent systems. We can implement a multiagent system designed in MaSE in several different ways from the same design. The MaSE methodology is a specialization of more traditional software engineering methodologies. The general operation of MaSE follows the phases and steps shown on the right side of Figure 1. The MaSE Analysis phase consists of three steps: Capturing Goals, Applying Use Cases, and Refining Roles. The Design phase has four steps: Creating Agent Classes, Constructing Conversations, Assembling Agent Classes, and System Design. The rounded rectangles denote the MaSE models used to capture the output of each step while the arrows between them show how the models affect each other. While we have drawn it as a single flow from top to bottom, with the models created in one step being the inputs for subsequent steps, in practice the methodology is iterative. The intent is that the analyst or designer be allowed to move between steps and phases freely such that with each successive pass, additional detail is added and, eventually, a complete and consistent system design is produced. A major strength of MaSE is the ability to track changes throughout the process. Every object created during the analysis and design phases can be traced forward or backward through the different steps to other related objects. For instance, a goal derived in the Capturing Goals step can be traced to a specific role, task, and agent class. Likewise, an agent class can be traced back through tasks and roles to the system level goal it was designed to satisfy. The details of the individual steps of the analysis and design phases are discussed in the paper Multiagent Systems Engineering.
Current and future focus areas include:
- Adapting MaSE for use in multiagent robotic teams
- Extending MaSE to include ontology development activities
- Expanding the modeling capabilities for
- Ontology definition
- Multiagent conversations
- "Overhearing" conversations
- Enhanced environment modeling
- Reactive environments
- Extending MaSE to handle the notion of organizational/social tasks and constraints
- Scott A. DeLoach. Multiagent Systems Engineering of Organization-based Multiagent Systems. 4th International Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS'05). May 15-16, 2005, St. Louis, MO. Springer LNCS Vol 3914, Apr 2006, pp 109 - 125.
- Scott A. DeLoach, Mark F. Wood and Clint H. Sparkman, Multiagent Systems Engineering, The International Journal of Software Engineering and Knowledge Engineering, Volume 11 no. 3, June 2001.
- Scott A. DeLoach & Madhukar Kumar. Multiagent Systems Engineering: a Case Study. In Agent-Oriented Methodologies. Brian Henderson-Sellers and Paolo Giorgini (eds). Idea Group, 2004 (in press).
- Scott A. DeLoach. The MaSE Methodology. In Methodologies and Software Engineering for Agent Systems. The Agent-Oriented Software Engineering Handbook Series : Multiagent Systems, Artificial Societies, and Simulated Organizations, Vol. 11. Bergenti, Federico; Gleizes, Marie-Pierre; Zambonelli, Franco (Eds.) Kluwer Academic Publishing (available via Springer), August 2004.
- Scott A. DeLoach, Eric T. Matson, Yonghua Li. Exploiting Agent Oriented Software Engineering in the Design of a Cooperative Robotics Search and Rescue System. The International Journal of Pattern Recognition and Artificial Intelligence, 17 (5) August 2003.
- Scott A. DeLoach, Specifying Agent Behavior as Concurrent Tasks: Defining the Behavior of Social Agents. Proceedings of the Fifth Annual Conference on Autonomous Agents, Montreal Canada, May 28 - June 1, 2001.
- Scott A. DeLoach. Analysis and Design using MaSE and agentTool, Proceedings of the 12th Midwest Artificial Intelligence and Cognitive Science Conference (MAICS 2001). Miami University, Oxford, Ohio, March 31 - April 1, 2001.
- Scott A. DeLoach, Specifying Agent Behavior as Concurrent Tasks: Defining the Behavior of Social Agents. Technical Report, Air Force Institute of Technology, AFIT/EN-TR-00-03, July 2000.
- Scott A. DeLoach & Mark Wood, Multiagent Systems Engineering: the Analysis Phase. Technical Report, Air Force Institute of Technology, AFIT/EN-TR-00-02, June 2000.
- Wood, Mark & Scott A. DeLoach, An Overview of the Multiagent Systems Engineering Methodology. The First International Workshop on Agent-Oriented Software Engineering (AOSE-2000), June 10, 2000 - Limerick, Ireland
- DeLoach, Scott A. Multiagent Systems Engineering: A Methodology and Language for Designing Agent Systems, Agent-Oriented Information Systems '99 (AOIS'99), Seattle WA, 1 May 1998.