Design and Implementation of an Agent-Based Architecture for a Process Support System
Vartiala, Mikko Veikko Tapani (2010)
Vartiala, Mikko Veikko Tapani
2010
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2010-04-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201004121099
https://urn.fi/URN:NBN:fi:tty-201004121099
Tiivistelmä
Tool integration is an important aspect of software development process support. In such systems it should be possible to integrate tools flexibly and incrementally. In addition, for performance and usability reasons, it should be possible to use the tools both on local and remote computers.
To address this problem of flexible tool integration, an agent-based architecture style was designed. The architecture strives to attain the needed flexibility by few simple design rules. One of the rules is to divide the functionality to agents and locations. The locations work as adapters to tools and provide basic infrastructure of the system. The agents move among the locations and implement the high level business logic of the system by using the methods of the locations. A general principle is that each agent implements a single business case. This makes it easy to view, control, and adapt the high level business logic as the logic is located in one place.
The architecture style is not tied to any specific programming language. However, for the purposes of this thesis an agent-based software framework was implemented using C++. A distributed process support system was then implemented by specializing the agent framework. The process support domain provides a good case study for the validity of the agent-based architecture as the process support system needs to integrate various tools supporting the process.
As a result of this thesis, an agent-based architecture style was designed and prototyped. The implementation of the process support system was used to evaluate the agent-based architecture style and to find out the challenges in building systems using the principles of the agent-based architecture. The architecture could be extended in many ways, but it was shown to be usable in the domain of tool integration. In addition, the implemented process support system fulfilled the quality requirements laid out for it. /Kir10
To address this problem of flexible tool integration, an agent-based architecture style was designed. The architecture strives to attain the needed flexibility by few simple design rules. One of the rules is to divide the functionality to agents and locations. The locations work as adapters to tools and provide basic infrastructure of the system. The agents move among the locations and implement the high level business logic of the system by using the methods of the locations. A general principle is that each agent implements a single business case. This makes it easy to view, control, and adapt the high level business logic as the logic is located in one place.
The architecture style is not tied to any specific programming language. However, for the purposes of this thesis an agent-based software framework was implemented using C++. A distributed process support system was then implemented by specializing the agent framework. The process support domain provides a good case study for the validity of the agent-based architecture as the process support system needs to integrate various tools supporting the process.
As a result of this thesis, an agent-based architecture style was designed and prototyped. The implementation of the process support system was used to evaluate the agent-based architecture style and to find out the challenges in building systems using the principles of the agent-based architecture. The architecture could be extended in many ways, but it was shown to be usable in the domain of tool integration. In addition, the implemented process support system fulfilled the quality requirements laid out for it. /Kir10