scispace - formally typeset
Search or ask a question

Showing papers by "Betty H. C. Cheng published in 2009"


Book ChapterDOI
TL;DR: The goal of this roadmap paper is to summarize the state-of-the-art and to identify critical challenges for the systematic software engineering of self-adaptive systems.
Abstract: The goal of this roadmap paper is to summarize the state-of-the-art and to identify critical challenges for the systematic software engineering of self-adaptive systems. The paper is partitioned into four parts, one for each of the identified essential views of self-adaptation: modelling dimensions, requirements, engineering, and assurances. For each view, we present the state-of-the-art and the challenges that our community must address. This roadmap paper is a result of the Dagstuhl Seminar 08031 on "Software Engineering for Self-Adaptive Systems," which took place in January 2008.

1,133 citations



Proceedings ArticleDOI
31 Aug 2009
TL;DR: It is argued that a more rigorous treatment of requirements explicitly relating to self-adaptivity is needed and that, in particular, requirements languages for self- Adaptive systems should include explicit constructs for specifying and dealing with the uncertainty inherent in self- adaptive systems.
Abstract: Self-adaptive systems have the capability to autonomously modify their behaviour at run-time in response to changes in their environment. Self-adaptation is particularly necessary for applications that must run continuously, even under adverse conditions and changing requirements; sample domains include automotive systems, telecommunications, and environmental monitoring systems. While a few techniques have been developed to support the monitoring and analysis of requirements for adaptive systems, limited attention has been paid to the actual creation and specification of requirements of self-adaptive systems. As a result, self-adaptivity is often constructed in an ad-hoc manner. In this paper, we argue that a more rigorous treatment of requirements explicitly relating to self-adaptivity is needed and that, in particular, requirements languages for self-adaptive systems should include explicit constructs for specifying and dealing with the uncertainty inherent in self-adaptive systems. We present RELAX, a new requirements language for self-adaptive systems and illustrate it using examples from the smart home domain.

270 citations


Book ChapterDOI
01 Oct 2009
TL;DR: A variation of threat modeling to identify sources of uncertainty is introduced and it is demonstrated how the RELAX specification language can be used to specify more flexible requirements within a goal model to handle the uncertainty.
Abstract: Dynamically adaptive systems (DASs) are intended to monitor the execution environment and then dynamically adapt their behavior in response to changing environmental conditions. The uncertainty of the execution environment is a major motivation for dynamic adaptation; it is impossible to know at development time all of the possible combinations of environmental conditions that will be encountered. To date, the work performed in requirements engineering for a DAS includes requirements monitoring and reasoning about the correctness of adaptations, where the DAS requirements are assumed to exist. This paper introduces a goal-based modeling approach to develop the requirements for a DAS, while explicitly factoring uncertainty into the process and resulting requirements. We introduce a variation of threat modeling to identify sources of uncertainty and demonstrate how the RELAX specification language can be used to specify more flexible requirements within a goal model to handle the uncertainty.

251 citations


Proceedings ArticleDOI
02 Mar 2009
TL;DR: A modular model checking approach to verifying that a formal model of an adaptive program satisfies its requirements specified in LTL and A-LTL, respectively.
Abstract: Cyber-physical systems increasingly rely on dynamically adaptive programs to respond to changes in their physical environment; examples include ecosystem monitoring and disaster relief systems. These systems are considered high-assurance since errors during execution could result in injury, loss of life, environmental impact, and/or financial loss. In order to facilitate the development and verification of dynamically adaptive systems, we separate functional concerns from adaptive concerns. Specifically, we model a dynamically adaptive program as a collection of (non-adaptive) steady-state programs and a set of adaptations that realize transitions among steady state programs in response to environmental changes. We use Linear Temporal Logic (LTL) to specify properties of the non-adaptive portions of the system, and we use A-LTL (an adapt-operator extension toLTL) to concisely specify properties that hold during the adaptation process. Model checking offers an attractive approach to automatically analyzing models for adherence to formal properties and thus providing assurance. However, currently, model checkers are unable to verify properties specified using A-LTL. Moreover, as the number of steady-state programs and adaptations increase, the verification costs (in terms of space and time) potentially become unwieldy. To address these issues, we propose a modular model checking approach to verifying that a formal model of an adaptive program satisfies its requirements specified in LTL and A-LTL, respectively.

107 citations


Proceedings ArticleDOI
15 Jun 2009
TL;DR: This paper proposes an approach to leverage genetic algorithms in the decision-making process of an autonomic system that enables a system to dynamically evolve reconfiguration plans at run time in response to changing requirements and environmental conditions.
Abstract: Increasingly, applications need to be able to self-reconfigure in response to changing requirements and environmental conditions. Autonomic computing has been proposed as a means for automating software maintenance tasks. As the complexity of adaptive and autonomic systems grows, designing and managing the set of reconfiguration rules becomes increasingly challenging and may produce inconsistencies. This paper proposes an approach to leverage genetic algorithms in the decision-making process of an autonomic system. This approach enables a system to dynamically evolve reconfiguration plans at run time in response to changing requirements and environmental conditions. A key feature of this approach is incorporating system and environmental monitoring information into the genetic algorithm such that specific changes in the environment automatically drive the evolutionary process towards new viable solutions. We have applied this genetic-algorithm based approach to the dynamic reconfiguration of a collection of remote data mirrors, with the goal of minimizing costs while maximizing data reliability and network performance, even in the presence of link failures.

89 citations


Book ChapterDOI
01 Jan 2009
TL;DR: Current requirements engineering (RE) research is reviewed and future research directions suggested by emerging software needs are identified, which aim to address RE needs for emerging systems of the future.
Abstract: In this paper, we review current requirements engineering (RE) research and identify future research directions suggested by emerging software needs. First, we overview the state of the art in RE research. The research is considered with respect to technologies developed to address specific requirements tasks, such as elicitation, modeling, and analysis. Such a review enables us to identify mature areas of research, as well as areas that warrant further investigation. Next, we review several strategies for performing and extending RE research results, to help delineate the scope of future research directions. Finally, we highlight what we consider to be the “hot” current and future research topics, which aim to address RE needs for emerging systems of the future.

60 citations


Proceedings Article
01 Jan 2009
TL;DR: This paper presents a model-based approach that leverages evolutionary computation to automatically generate, at run time, target system models that balance tradeoffs between functional and non-functional requirements in response to run-time monitoring of environmental conditions.
Abstract: Increasingly, applications need to dynamically self-reconfigure as new environmental conditions arise at run time. In order to selfreconfigure, an adaptive system must determine which target system configuration will yield the desired behavior based on current execution conditions. However, it may be impractical to evaluate all potential system configurations in a reasonable time frame. This paper presents a model-based approach that leverages evolutionary computation to automatically generate, at run time, target system models that balance tradeoffs between functional and non-functional requirements in response to run-time monitoring of environmental conditions. Specifically, this approach generates graph-based representations of architectural models for potential target system configurations. The current run-time system models serve to constrain the degree of change and novelty in the newly generated models. This approach is applied to the dynamic reconfiguration of a set of remote data mirrors, where operational and reconfiguration costs are minimized, while maximizing data reliability and network performance.

15 citations


Proceedings ArticleDOI
16 May 2009
TL;DR: The SEAMS workshop series consolidates the interests in the software engineering community on self-adaptive and self-managing systems and provides a forum for researchers to share new results, raise awareness, and promote collaboration.
Abstract: With the rapid growth of web services and the continuous evolution from software-intensive systems to socio-technical ecosystems, the management of modern computing systems with many uncertainties in their environments presents significant challenges and risks for businesses. End-users increasingly demand software systems that are resilient, dependable, fault-tolerant, energy-efficient, or self-healing. One of the most promising approaches to engineering these properties is to equip software systems with feedback control to address the management of inherent system dynamics. The resulting self-adapting and self-managing computing systems are better able to cope with and even accommodate changing contexts and environments, shifting requirements, and computing-on-demand needs. The SEAMS workshop series consolidates the interests in the software engineering community on self-adaptive and self-managing systems. SEAMS provides a forum for researchers to share new results, raise awareness, and promote collaboration. SEAMS 2009 builds on the success of the SEAMS ICSE workshops of 2008 in Leipzig, Germany, 2007 in Minneapolis, USA, and 2006 in Shanghai, China.

13 citations


Proceedings ArticleDOI
15 Jun 2009
TL;DR: This paper presents a case study in which adaptation patterns are applied in the design of a dynamically adaptive news web server, resulting in a system that supports dynamic adaptation and is easier to maintain and analyze.
Abstract: Dynamic adaptation may be used to prevent software downtime while new requirements and responses to environmental conditions are incorporated into the system. Previously, we studied over thirty adaptation-related projects to develop twelve adaptation-oriented design patterns that can be leveraged from one adaptive system to another. This paper presents a case study in which we apply our adaptation patterns in the design of a dynamically adaptive news web server. This pattern-based design separates the functional logic from the adaptive logic, resulting in a system that supports dynamic adaptation and is easier to maintain and analyze. Furthermore, to address assurance concerns, we applied automated formal verification techniques to ensure instantiated pattern models satisfy invariant properties specified in each adaptation pattern.

12 citations


Proceedings ArticleDOI
08 Jul 2009
TL;DR: The results of experiments demonstrate that populations of digital organisms are capable of evolving to distribute data in a network, and that through the application of different selective pressures, these digital organisms can overcome communication obstacles such as message loss, limited bandwidth, and node failure.
Abstract: This paper describes a study of the evolution of robust communication, specifically the distribution of data among individuals in a population, using digital evolution. In digital evolution, a population of self-replicating computer programs exists in a user-defined computational environment and is subject to instruction-level mutations and natural selection. To encourage the evolution of this cooperative behavior, we make use of "digital germlines," a form of group-level selection similar to multicellularity in biology. The results of experiments using the Avida platform for digital evolution demonstrate that populations of digital organisms are capable of evolving to distribute data in a network, and that through the application of different selective pressures, these digital organisms can overcome communication obstacles such as message loss, limited bandwidth, and node failure.