Abstract: Cows are animals composed of a complex variety of organs, limbs, and other internals. When a cow gets older, its body degrades, which causes the animal to exhibit odd behaviour or, in the worst case, die. The same can be said about configurations of (web) services (with the acronym CoWS): they may contain complex sub-compositions, using services from a variety of suppliers and servers. These complex configurations can function perfectly well at design time, but when the configuration exists for a longer period of time, problems may arise. Servers and connections can go down, suppliers may come and go, and services can be updated or changed. In the dynamic environment of the Internet, chances are that at some point in the future a created configuration of webservices will malfunction or not function at all. More and more human skills are required to install, configure, tune, and maintain complex systems composed of a variety of components operating in large-scale distributed heterogeneous environments. When facing system malfunctions and system outages, manually determining the root cause of software runtime failures in such complex systems is hindered by the lack of appropriate system logs. Ideally, automated support would be able to recognise and solve a large portion of these failures without human help. This would require these systems to be self-aware, know when and where an error state occurs, analyse the problem situation, make healing plans, and suggest various solutions to the system administrator or heal themselves without human intervention. To this end, a model-based self-healing framework has been designed. At the highest level two modules are distinguished: a managed-system and an autonomic-manager. The managed-system can be any existing distributed system that has been extended with sensors. Sensors provide runtime information from the running system to the autonomic-manager and a selection of sensors can be inserted in the managed system by automation, based on the system model. The system model specifies the structure, functionality and expected behaviour of the managed system, and is used to (a) detect unexpected behaviour, and (b) evaluate possible reconfigurations and its consequences. The autonomic-manager consists of two modules: (1) a diagnosis module, and (2) an adaptation module. The diagnosis module monitors system behaviour, analyses unexpected behaviour, and if possible, determines a diagnosis. The adaptation module is responsible for resolving the abnormal behaviour (i.e. reconfiguration). To enable self-healing (1) the running system needs to be able to be structured, as components and connectors; (2) a (partial) model of expected behaviour needs to be devised: the structures need to be annotated, specifying the functionality, kind of structure, and expected behaviour (both correct and erroneous); (3) a library of healing plans is needed (in the case of using re-configuration a library of reusable components/structures), which also need to be annotated (e.g., comparable with having backup services running)); (4) the interoperability between structures needs to be standardised, or explicitly defined, to allow automated integration of sensors, and automated integration of changes in the service composition. This approach has been successfully applied to webservice reconfiguration, and is currently being applied to legacy trading systems (i.e. distributed object oriented legacy systems) within a financial organisation.
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, Webserviceconfiguration and general software composition. The differences and similarities between these approaches, and the progress that is being made are discussed.
Abstract: The World Wide Web is dynamic, webservices come and go, temporarily or for good. This also holds for webserviceconfigurations: configurations of webservices composed to fulfill more complex tasks. Unless .... complex webserviceconfigurations can be reconfigured on demand. The goal of our research is to develop a fully automated configurationservice designed specifically for this purpose: to adapt to change. Our approach is template based. Each template describes a single level composition of one of more abstract, annotated webservices, their input and output behaviour, and the conditions for activation of these abstract webservices. The abstract webservices themselves, may likewise be composed of one or more other abstract webservices. Function, structure and behaviour can be depicted at the level at which it is most appropriate in the composition, by using local specified knowledge defined in templates on these properties. The current implementation of this system uses OWL-S annotation in addition to the standard SOAP annotations to support web portal software configuration.
Abstract: Webservice 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 Webservices using DAML-S and how our Agent Factory has used these descriptions in its design process to derive a Webserviceconfiguration.
Abstract: Execution of complex workflows is one of many applications of P2P networks. Sustaining complex workflows in a dynamic P2P network requires adaptation when hosts involved in the workflow lose network connectivity. Adaptation of complex workflows without centralised monitoring and control is a challenge, and is often limited to instance replacement. If requirements are given on the performance of the complex workflow as a whole, then possibilities for automated adaptation are limited even more.
This paper describes how adaptation of complex webserviceconfigurations can be applied on complex workflows in P2P networks.
In our approach templates are used as a structuring principle, allowing distribution of the requirements on which the complex serviceconfiguration is based. This distribution of requirements allows local adaptation, without centralised monitoring and control. Checking locally whether overall performance requirements are satisfied for a proposed adaptation is enabled by propagation functions. By deploying a template-based webserviceconfiguration over the P2P network, effectively a distributed adaptive overlay network is created.
Abstract: Multi Agent Systems (MAS) provide a useful paradigm for accessing distributed resources in an autonomic and self-directed manner. Resources, such as webservices, 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: As the number of webservices in repositories on the World Wide Web increases so will the number of complex configurations of webservices. However, as the World Wide Web is dynamic, webservices will come and go, temporarily or for good. As a result, complex webserviceconfigurations will need to be reconfigured on demand. To this purpose, complex webserviceconfigurations need to include local knowledge about (1) the function, structure and behaviour of each component in a configuration, and (2) the dependencies between components at each level of composition. Templates are proposed as a means to represent such knowledge. To illustrate the process of reconfiguration, an example is given of reconfiguration of a complex webservice, for which a template is used specifying both types of local knowledge.