The Reuse Policy in Developing Multi-Agent System
The agent-oriented (AO) methodology is an effective means for constructing distributed systems. Despite a great deal of research, a number of challenges still exist before making agent-based computing a widely accepted paradigm in software engineering practice. The problem of difficult to implement agent-based system originates from the gap between design models and system implementation to a high degree. Developers often feel that those characteristics depicted in agent design models are too abstract and difficult to implement. In order to solve this problem, the paper presents a hierarchical development architecture (HDA) approach to facilitate building up a new agent system. The HDA consists of two parts (analysis and design part, and the system implementation part), covering the entire development lifecycle. Each phase of the HDA is further categorized into a layered model structure. Based on the goal and the task of each layer, the user can fill different method fragments into the appropriate layers to handle different kinds of quality attributes. Instead of creating incompatible techniques, models and CASE tools for each methodology, modular and reusable models can be created once, and shared within different methodologies. It represents significant savings in the development cost and the learning cost. As the supporting tool, the method engineering process and design patterns play the key role in the HDA. In order to build a new method based on the reuse policy, we adopted (and extended) the method engineering paradigm. According to this approach, a new method is built by assembling pieces of method fragments from a method repository, which is a structural representation of the method fragments that compose the actual AO method with their composing relationships. In this way we could obtain the best method for our specific needs. In our view, the excellent design patterns will be a good choice for developers to customize their own infra-structure, which is flexible and pluggable. Therefore, a layered-structure is presented, aimed at giving an explicit guide about how to apply those patterns and an order of examination of pattern application. Through applying the HDA-based design patterns, developers can build applications from third party off-the-shelf solution components conveniently. To exemplify its feasibility and effectiveness, the construction of the C4I system is presented as a case study. An agent-oriented new approach derived from HDA is applied and the experimental result is satisfactory.
method fragment method engineering design pattern