Font Size: a A A

Research On Agent-based Running Mechanism And Implementation Technologies For Self-adaptive Systems

Posted on:2012-01-22Degree:DoctorType:Dissertation
Country:ChinaCandidate:M G DongFull Text:PDF
GTID:1118330341951737Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the rapid development and popularity of the technologies such as micro-electronics, computer, network and multimedia, softwares have been used at every aspect of human lives after entering into this century, and the era of pervasive computing is coming. Softwares have more and more powerful functionalities. Meanwhile, there are new problems appeared, especially how to develop software systems which are able to adapt to dynamic, open and unpredictable environment like Internet. In such environment, software systems are expected to be able to autonomously adjust their structure and behaviours according to changes of the environment and their internal state in order to make systems much more flexible and robust.In the past years, researchers have made great efforts on the technologies of self-adaptive software systems from different viewpoints and purposes, for example construction methods based on software architecture, development and verification methods based on model, software execution platform based on reflective middleware, etc. However, there are still some open problems in this research area. The first is how to provide natural and high-level abstractions to guide the specification and design of self-adaptive systems. The second is how to design diverse and efficient mechanisms to support the analysis and construction of self-adaptive systems. The last is how to provide the technologies to support the development and running of self-adaptive systems.This dissertation attempts to address the above problems. We systematically investigate the software engineering approaches to self-adaptive systems from different aspects, including modeling, execution mechanism, programming language and runtime platform. The main contributions of this dissertation are described as follows.1. We propose a model and execution mechanisms for self-adaptive systems based on agent technologies and organization metaphor so that software entities in self-adaptive systems are modeled and encapsulated as self-adaptive software agents. The dynamic binding self-adaptive mechanism is proposed, in which an agent can adjust its structure and behaviours by binding to different roles when its environment changes. The self-adaptive model and the semantics of the self-adaptive operations are formally defined, which establishes a solid foundation for investigating the construction technologies and platform for self-adaptive systems.2. We propose policy-based implementation technologies for self-adaptive systems. The flexible and efficient construction framework is used to realize the model of self-adaptive systems. A language called SADL (Self-Adaptive strategy Description Language) is designed to describe the adaptive rules and constraints. Furthermore, the adaptive logic is separated from the business logic, which is helpful to control complexity and simplify the development. We propose the approach of dynamic association relationship between softsensors and the environment, so as to separate the sensing functionalities from the business functionalities. In this way, agents can perceive the environment transparently, and the sensing module can be reused.3. We propose learning-based implementation technologies for self-adaptive system. The dissertation combines the reinforcement learning and software agent technology, and presents the self-adaptive mechanism and self-adaptive agent modular based on the reinforcement learning to deal with the dynamic and unpredictable environment. The construction framework and adaptation learning algorithms are also presented. All of these can support an agent to learn the adaptation policies by interacting with the environment in the way of"trial-and-error". The learning-based technologies can be used to guide the development of self-adaptive system which can make decisions on-line.4. We present a structured development process and implement a Self-adaptive Agent Development and Execution environment (SADE), which consists of several parts such as the SADL compiler and editor, the executing engine, the supporting functional components for learning, the monitor and system updating components, etc. SADE can support the development, operation and evolution of self-adaptive systems.Compared to the related work, our approach has some advantages. Firstly, the self-adaptive mechanism is designed based on high-level abstractions. Secondly, software entities are more autonomous. Thirdly, the environment of a software system can be represented explicitly and the system can perceive it efficiently. Lastly, we separate adaptation logics from business logics to make it easier to manage and maintain software systems. The reinforcement learning techniques are introduced into self-adaptive systems to enable agents situated in a dynamic and unpredictable environment to make decisions on-line. Case studies illustrate the feasibility and effectiveness of our models, mechanisms, language and platform.
Keywords/Search Tags:Self-adaptive Systems, Agent, Dynamic Binding, Self-adaptive mechanism, Role, Reinforcement learning
PDF Full Text Request
Related items