Results 1 - 10
of
38
Model-Based Development of Dynamically Adaptive Software
- ICSE'06
, 2006
"... Increasingly, software should dynamically adapt its behavior at run-time in response to changing conditions in the supporting computing and communication infrastructure, and in the surrounding physical environment. In order for an adaptive program to be trusted, it is important to have mechanisms t ..."
Abstract
-
Cited by 130 (15 self)
- Add to MetaCart
Increasingly, software should dynamically adapt its behavior at run-time in response to changing conditions in the supporting computing and communication infrastructure, and in the surrounding physical environment. In order for an adaptive program to be trusted, it is important to have mechanisms to ensure that the program functions correctly during and after adaptations. Adaptive programs are generally more difficult to specify, verify, and validate due to their high complexity. Particularly, when involving multithreaded adaptations, the program behavior is the result of the collaborative behavior of multiple threads and software components. This paper introduces an approach to create formal models for the behavior of adaptive programs. Our approach separates the adaptation behavior and nonadaptive behavior specifications of adaptive programs, making the models easier to specify and more amenable to automated analysis and visual inspection. We introduce a process to construct adaptation models, automatically generate adaptive programs from the models, and verify and validate the models. We illustrate our approach through the development of an adaptive GSM-oriented audio streaming protocol for a mobile computing application.
Relax: Incorporating uncertainty into the specification of self-adaptive systems
- In 17th IEEE International Requirements Engineering Conference RE 2009
, 2009
"... 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 inc ..."
Abstract
-
Cited by 38 (7 self)
- Add to MetaCart
(Show Context)
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 selfadaptive systems and illustrate it using examples from the smart home domain. 1.
Goal-based modeling of dynamically adaptive system requirements
- IN: 15TH ANNUAL IEEE INT. CONF. ON THE ENGINEERING OF COMPUTER BASED SYSTEMS (ECBS
, 2008
"... Self-adaptation is emerging as an increasingly important capability for many applications, particularly those deployed in dynamically changing environments, such as ecosystem monitoring and disaster management. One key challenge posed by Dynamically Adaptive Systems (DASs) is the need to handle chan ..."
Abstract
-
Cited by 34 (15 self)
- Add to MetaCart
(Show Context)
Self-adaptation is emerging as an increasingly important capability for many applications, particularly those deployed in dynamically changing environments, such as ecosystem monitoring and disaster management. One key challenge posed by Dynamically Adaptive Systems (DASs) is the need to handle changes to the requirements and corresponding behavior of a DAS in response to varying environmental conditions. Berry et al. previously identified four levels of RE that should be performed for a DAS. In this paper, we propose the Levels of RE for Modeling that reify the original levels to describe RE modeling work done by DAS developers. Specifically, we identify four types of developers: the system developer, the adaptation scenario developer, the adaptation infrastructure developer, and the DAS research community. Each level corresponds to the work of a different type of developer to construct goal model(s) specifying their requirements. We then leverage the Levels of RE for Modeling to propose two complementary processes for performing RE for a DAS. We describe our experiences with applying this approach to GridStix, an adaptive flood warning system, deployed to monitor the River Ribble in Yorkshire, England.
Specifying monitoring and switching problems in context
- In: Proc. 15th Intl. Conference on Requirements Engineering
, 2007
"... Abstract Context-aware applications monitor changes in their operating environment and switch their behaviour to keep satisfying their requirements. Therefore, they must be equipped with the capability to detect variations in their operating context and to switch behaviour in response to such variat ..."
Abstract
-
Cited by 32 (6 self)
- Add to MetaCart
(Show Context)
Abstract Context-aware applications monitor changes in their operating environment and switch their behaviour to keep satisfying their requirements. Therefore, they must be equipped with the capability to detect variations in their operating context and to switch behaviour in response to such variations. However, specifying monitoring and switching in such applications can be difficult due to their dependence on varying contextual properties which need to be made explicit. In this paper, we present a problemoriented approach to represent and reason about contextual variability and assess its impact on requirements; to elicit and specify concerns facing monitors and switchers, such as initialisation and interference; and to specify monitoring and switching behaviours that can detect changes and adapt in response. We illustrate our approach by applying it to a published case study.
A.: Towards goal-oriented development of self-adaptive systems
- Proceedings of the 2008 international workshop on Software
, 2008
"... Self-adaptive software aims at anticipating changes which occur in a complex environment and to automatically deal with them at run-time. The increasing demand for complex networked software, which makes computing resources available to anyone, anywhere and at any time, is drawing attention to the e ..."
Abstract
-
Cited by 20 (5 self)
- Add to MetaCart
(Show Context)
Self-adaptive software aims at anticipating changes which occur in a complex environment and to automatically deal with them at run-time. The increasing demand for complex networked software, which makes computing resources available to anyone, anywhere and at any time, is drawing attention to the engineering of self-adaptive software. The objective of our work is to define a process and a tool-supported design framework to develop self-adaptive systems, which consider Belief-Desire-Intention agent models as reference architectures. We adopt an agent-oriented approach, which allows to explicitly model system goals in requirements specifica-tion and in the system architecture design. Moreover, goal achieve-ment conditions are specified along with their relationships with the environment and with possible failures, and corresponding recov-ery actions. This paper aims at motivating and giving an overview of our approach with the help of an example.
Towards Requirements Aware Systems: Run-time Resolution of Design-time Assumptions
"... Abstract—In earlier work we proposed the idea of requirements-aware systems that could introspect about the extent to which their goals were being satisfied at runtime. When combined with requirements monitoring and self adaptive capabilities, requirements awareness should help optimize goal satisfa ..."
Abstract
-
Cited by 15 (6 self)
- Add to MetaCart
(Show Context)
Abstract—In earlier work we proposed the idea of requirements-aware systems that could introspect about the extent to which their goals were being satisfied at runtime. When combined with requirements monitoring and self adaptive capabilities, requirements awareness should help optimize goal satisfaction even in the presence of changing run-time context. In this paper we describe initial progress towards the realization of requirements aware systems with REAssuRE. REAssuRE focuses on explicit representation of assumptions made at design time. When such assumptions are shown not to hold, REAssuRE can trigger system adaptations to alternative goal realization strategies. Keywords-requirements awareness; self adaptive systems; goals; claims; I.
Towards requirements engineering for context adaptive systems
- In The thirty-first Annual International Computer Software & Application Conference (COMPSAC). Volume 2 - Workshop Papers
, 2007
"... Building realistic end user scenarios for ubiquitous computing applications entails large up-front investments. Many context adaptive applications so far fail to live up to their expectations. Firstly, this is due to poorly conceived development tools and methods compared to other, more mature domai ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
(Show Context)
Building realistic end user scenarios for ubiquitous computing applications entails large up-front investments. Many context adaptive applications so far fail to live up to their expectations. Firstly, this is due to poorly conceived development tools and methods compared to other, more mature domains. And secondly, they seem to be particularly prone to problems related to a discrepancy between user expectation and systems behavior. This unwanted behavior prevents the vision of an emerging trend of context aware and adaptive applications in ubiquitous computing to become reality. A good understanding of business and customer’s requirements may be of immense importance. This paper presents a model-based requirements engineering approach to systematically analyze and specify the basic system behavior as well as the adaptation behavior starting from customer and business needs. 1.
Visualizing the Analysis of Dynamically Adaptive Systems Using i * and DSLs ∗
"... Self-adaptation is emerging as a crucial enabling capability for many applications, particularly those deployed in dynamically changing environments. One key challenge posed by Dynamically Adaptive Systems (DASs) is the need to handle changes to the requirements and corresponding behavior of a DAS i ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
(Show Context)
Self-adaptation is emerging as a crucial enabling capability for many applications, particularly those deployed in dynamically changing environments. One key challenge posed by Dynamically Adaptive Systems (DASs) is the need to handle changes to the requirements and corresponding behavior of a DAS in response to varying environmental conditions. In this paper we propose a visual model-driven approach that uses the i * modeling language to represent goal models for the DAS requirements. Our approach applies a rigorous separation of concerns between the requirements for the DAS to operate in stable conditions and those that enable it to adapt at run-time to enable it to cope with changes in its environment. We further show how requirements derived from the i * modeling can be used by a domain-specific language to achieve requirements modeldriven development. We describe our experiences with applying this approach to GridStix, an adaptive flood warning system, deployed on the River Ribble in North Yorkshire, England. 1.
Reflective Component-based Technologies to Support Dynamic Variability
"... In this paper we propose an approach to support dynamic or runtime variability in systems that must adapt dynamically to changing runtime context. The approach is founded on reflective component-based technologies to support the dynamic variability at the architectural level. Adaptive behaviour is e ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
(Show Context)
In this paper we propose an approach to support dynamic or runtime variability in systems that must adapt dynamically to changing runtime context. The approach is founded on reflective component-based technologies to support the dynamic variability at the architectural level. Adaptive behaviour is encoded in reconfiguration policies that are consulted at run-time when changes in the underlying environment are detected. Specifically, the reconfiguration policies dictate the component-based architecture to be used in actively changing contexts. However, the increasing number of variants and their interdependency relationships add to the complexity of variability management. Therefore, the paper also proposes a notation and associated models to address the management of dynamic variability. We describe our experience with applying this approach through a case study; the support and management of dynamic variability for service discovery protocols.
Awareness Requirements ⋆
"... Abstract. The functional specification of any software system operationalizes stakeholder requirements. In this paper we focus on a class of requirements that lead to feedback loop operationalizations. These Awareness Requirements talk about the runtime success/failure of other requirements and doma ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
(Show Context)
Abstract. The functional specification of any software system operationalizes stakeholder requirements. In this paper we focus on a class of requirements that lead to feedback loop operationalizations. These Awareness Requirements talk about the runtime success/failure of other requirements and domain assumptions. Our proposal includes a language for expressing awareness requirements, as well as techniques for elicitation and implementation based on the EEAT requirements monitoring framework. 1