Abstract: Today's increasingly complex systems, composed of a variety of components, operating in large-scale distributed heterogeneous environments, require more and more human skills to install, configure, tune, and maintain. Determining the root cause of runtime failures, configuration errors, or reduced performance and scalability, for example, in such complex systems is hindered by the lack of appropriate diagnostic feedback to human users: system logs are the only information available. Automated support would clearly be seen as beneficial to both the user, in this example, the system administrator and the organisations in which they are used. A reflective framework for self-management of applications and middleware is being developed to reduce the cost and complexity of such systems. Such self-managing systems are self-aware: they know when and where an error state occurs, they have adequate knowledge to stabilize the system as a whole, they are able to analyze the problem from different perspectives, and can devise a strategy with which the problem can be solved, c.q. the system healed. The result is that a system can, in the end, reconfigure or heal itself given its knowledge of the problem and possible solutions, or suggest various solutions to a human user, in the example domain currently being pursued, the system administrator. In our approach, explicit reflective knowledge is essential: reflective agents are pivotal, they represent the processes involved. Reflective agents are capable of reasoning not only about their external environment, but also about their own behavior and other agents behavior at different meta-levels. In our framework reflective agents are associated with middleware services, applications, middleware/application components, and constituent classes for diagnosis and repair at the appropriate level.
Abstract: Re-use of software components is standard practice in software design and development in which humans play an important role. In many dynamic environments, however, (semi-)automated configuration of systems, is warranted. This paper examines three such domains: Agent Factories, Web service configuration and general software composition. The differences and similarities between these approaches, and the progress that is being made are discussed.
Abstract: Web service composition can provide a value-chain between customers and suppliers. The increasing number of services, and thus possible combinations, demands the development of dynamic and automatic techniques for their composition. Current commercial solutions are limited and are primarily static and manual. Automation requires reasoning about (semantic descriptions of) the services. In this paper we describe our initial work involving the semantic description of Web services using DAML-S and how our Agent Factory has used these descriptions in its design process to derive a Web service configuration.
Abstract: Multi Agent Systems (MAS) provide a useful paradigm for accessing distributed resources in an autonomic and self-directed manner. Resources, such as web services, are increasingly becoming available in large distributed environments. Currently, numerous multi agent systems are available. However, for the multi agent paradigm to become a genuine mainstream success certain key features need to be addressed: the foremost being security. While security has been a focus of the MAS community, configuring and managing such multi agent systems typically remains non-trivial. Well defined and easily configurable security policies address this issue. A security architecture that is both flexible and featureful is prerequisite for a MAS.
A novel security policy enforcement system for multi agent middleware systems is introduced. The system facilitates a set of good default configurations but also allows extensive scope for users to develop customised policies to suit their individual needs. An agent middleware, AgentScape, is used to illustrate the system.
Abstract: Networks of autonomous systems in dynamic
environments are explored within multi-agent system
research and development and within autonomic
computing. Self-management is core, self-configuration
often necessary. Current literature distinguishes two
types of assignment: (1)n delegating a system to perform
a task, and (2) mandating a system to perform a task.
These two types of assignment, however, do not suffice.
This paper explores the need for a new type of
assignment in networks of autonomous systems,
participation.