The agent metaphor has shown its usefulness for modelling as well as implementing complex and dynamic applications. Although a number of agent applications has been successfully realized and used, it must be stated that the distribution of commercial off-the-shelf applications is very scarce. For this dis-contenting situation, at least two reasons can be identified. On the one hand, the development of agent-based applications is difficult suffering from insufficient standards and tools and on the other hand deployment issues are little researched and supported.
| The ASCML introduces a platform independent deployment reference model, derived by the requirements for launching, configuring and monitoring of agent applications. The platform independence allows agent applications not only to be spread across different hosts but also to be composed of agents developed for different platforms. The launcher tool currently exists in two (slightly different) versions, developed for the JADE and Jadex platforms. | ![]() |
The ASCML is subdivided into three co-operating subsystems: the launcher, the repository, and the GUI. To enable subsystems being individually exchanged, modified or enhanced the connection between these components is lightweight based on inter-faces and event mechanisms. In the following each of the subsystems is described in more detail and their role within the ASCML’s architecture (as depicted in Fig. 6) is highlighted.
The repository-subsystem provides facilities to manage all necessary data used within the ASCML such as agent- and society models, properties and project-management data. The repository is used as an abstract shared data structure and may be accessed by all other subsystems. Furthermore, it is responsible for loading and saving model-objects from and to different data sources, like XML-files or databases. Changes made to the data contained within the repository are acquainted by events to all registered listeners.
The GUI-subsystem facilitates the interaction between the user and the underlying subsystems. It provides dialogs to view and change data contained within the repository and allows the user to interact with the launcher to perform actions such as starting and stopping of agent and society instances.
The launcher-subsystem realises the interface between the ASCML and the underlying agent-platform. It is responsible for the basic agent- and society management, which includes starting and stopping of agent instances, delegation of action-requests to remote ASCMLs and resolving dependencies defined by societies. It encapsulates the logic for communicating with the local agent-platform as well as with remote ASCMLs. Therefore parts of the launcher are platform-dependent, but may easily be exchanged to support different agent-platforms.
The ASCML is a powerful tool to easily start and stop whole societies consisting of several agents. You can not only define which agents to start but also which agent depends on what other agent.
Continue with the Tutorial to learn how to install and use the ASCML.