Werkzeuggestützte Entwicklung kooperativer Agenten im Dienstkontext
Agent-oriented techniques aim at the realization of distributed, communicating, and self-coordinating systems on the basis of so-called software agents. Many ofthe scientific topics do also apply to the field of telecommunication applications: The presence of competing service providers and the growing complexity of the services being delivered raise the need for open service platforms supporting the creation as well as the delivering of services. Intelligent and flexible control mechanisms are characteristic features for such platforms. This thesis describes the design and implementation of a development environment for the realization of agent-based services comprising an agent programming language, an agent architecture, and a testbed. The agent programming process is supported by graphical editors on top of four specification languages: Services are specified declaratively by the concept of tasks and procedurally with a modular scripting language. The mental state of an agent constitutes goal-directed behaviour and is described by means of motivations,goals, and sensing alarms. Simple social interactions can be expressed by speech acts whereas rather complex negotiations between several parties are to be specifiedwith a role-based interaction protocol language. A component-based reactive agent architecture enhances agents with powerful generic management capabilities: Integrated into the architecture are capabilities of thread-parallel execution, dynamic prioritized scheduling, logging of runtime data, intelligent action selection, a persistence mechanism, and a learning facility. The occurence of errors is detected automatically and handled in a flexible manner, either by selecting alternative scripts or delegating tasks to other agents. Based on the architecture´s generic management capabilities agents are flexible, self-coordinating, communicating information processors. Being distributed, autonomous systems, the intended behaviour of agent-based systems is a difficult task to ensure. It is the purpose of the agent testbed to allow empirical testing and debugging. Several monitor applications for the particular aspects of the agent programming language constitute the testbed. With these tools causal relationships inside the agents as well as in an agent society can be monitored, and modified by controlled experimentation. Furthermore, runtime protocols can be generated and evaluated.