A model driven architecture based approach for developing multi-agent systems
Thesis DisciplineComputer Science
Degree GrantorUniversity of Canterbury
Degree NameMaster of Science
The research described in this thesis is an attempt to utilize the Model Driven Architecture for semi-automatically developing a prototype Multi-Agent System to support the management of a real container terminal. Agent technology has been increasingly applied in Transport Logistics and seems to be a viable solution to support the container terminal management. Thus, from the user point of view, the focus of this research is to investigate the applicability of Multi-Agent Systems to assist the container terminal's decision makers in improving the container terminal productivity, which is often measured in terms of the productivity of cranes. A prototype Multi-Agent System has been developed to evaluate and compare a set of proposed vehicle dispatching strategies, which are a collection of rules that a vehicle (e.g. straddle carrier) uses to decide the priority of serving the working cranes. Employing an appropriate dispatching strategy may greatly improve the efficiency of vehicle allocation to the working cranes, so as to increase the utilization of cranes which directly enhance the container terminal productivity. In order to investigate the applicability of the Multi-Agent System for supporting the container terminal management, experiments have been conducted in a variety of real-world scenarios. The experiment results have revealed that Multi-Agent Systems are applicable to assist container terminal decision makers in evaluating operating strategies. On the other hand, from the developer point of view, the author investigates how to apply the Model Driven Architecture to agent technologies, providing a partially automated support for the derivation of Multi-Agent System implementation from the agent-oriented design, independently from the target implementation platforms. The Model Driven Architecture approach studied in this research is a model-driven software development process that explicitly separates models at three different levels of abstraction: platform independent models, platform specific models, and implementation models. In contrast to the conventional code-centric software development, the Model Driven Architecture based software development uses models as the primary engineering artifacts. The adopted development approach is to take a high-level abstraction model of a system and transform it into a set of platform specific models, each of which is in turn transformed into the corresponding implementation. Transformations between models are automatically carried out by a set of transformation tools. The experience of using the Model Driven Architecture for the development of the prototype Multi-Agent System has revealed the following benefits: (a) automated transformations between models increase software productivity; (b) separating the high-level specification of the system from the underlying implementation technology improves the portability of the system's high-level abstraction model; (c) strong separation of concerns, guaranteed consistency between models, and automatic generation of source code minimize future software maintenance effort.