Results 1 - 10
of
30
FUSION: A framework for engineering selftuning self-adaptive software systems
- In: Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE ’10
, 2010
"... Self-adaptive software systems are capable of adjusting their behavior at run-time to achieve certain objectives. Such systems typically employ analytical models specified at design-time to assess their characteristics at run-time and make the appropriate adaptation decisions. However, prior to syst ..."
Abstract
-
Cited by 31 (9 self)
- Add to MetaCart
(Show Context)
Self-adaptive software systems are capable of adjusting their behavior at run-time to achieve certain objectives. Such systems typically employ analytical models specified at design-time to assess their characteristics at run-time and make the appropriate adaptation decisions. However, prior to system’s deployment, engineers often cannot foresee the changes in the environment, requirements, and system’s operational profile. Therefore, any analytical model used in this setting relies on underlying assumptions that if not held at run-time make the analysis and hence the adaptation decisions inaccurate. We present and evaluate FeatUre-oriented Self-adaptatION (FUSION) framework, which aims to solve this problem by learning the impact of adaptation decisions on the system’s goals. The framework (1) allows for automatic online fine-tuning of the adaptation logic to unanticipated conditions, (2) reduces the upfront effort required for building such systems, and (3) makes the run-time analysis of such systems very efficient.
An Architecture for Requirements-Driven Self-reconfiguration
"... Abstract. Self-reconfiguration is the capability of a system to autonomously switch from one configuration to a better one in response to failure or context change. There is growing demand for software systems able to self-reconfigure, and specifically systems that can fulfill their requirements in ..."
Abstract
-
Cited by 24 (7 self)
- Add to MetaCart
(Show Context)
Abstract. Self-reconfiguration is the capability of a system to autonomously switch from one configuration to a better one in response to failure or context change. There is growing demand for software systems able to self-reconfigure, and specifically systems that can fulfill their requirements in dynamic environments. We propose a conceptual architecture that provides systems with selfreconfiguration capabilities, enacting a model-based adaptation process based on requirements models. We describe the logical view on our architecture for selfreconfiguration, then we detail the main mechanisms to monitor for and diagnose failures. We present a case study where a self-reconfiguring system assists a patient perform daily tasks, such as getting breakfast, within her home. The challenge for the system is to fulfill its mission regardless of the context, also to compensate for failures caused by patient inaction or other omissions in the environment of the system. 1
Exploiting non-functional preferences in architectural adaptation for self-managed systems.
- ACM Symposium on Applied Computing, Track on Dependable and Adaptive Distributed Systems,
, 2010
"... ABSTRACT Among the many challenges of engineering dependable, self-managed, component-based systems is their need to make informed decisions about adaptive reconfigurations in response to changing requirements or a changing environment. Such decisions may be made on the basis of non-functional or Q ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
(Show Context)
ABSTRACT Among the many challenges of engineering dependable, self-managed, component-based systems is their need to make informed decisions about adaptive reconfigurations in response to changing requirements or a changing environment. Such decisions may be made on the basis of non-functional or QoS aspects of reconfiguration in addition to the purely functional properties needed to meet a goal. We present a practical approach for using non-functional information to guide a procedure for assembling, and subsequently modifying, configurations of software components, and compare the performance of two variants of the approach. In addition, we outline a scheme for monitoring non-functional properties in the running system such that more accurate information can be utilised in the next adaptation.
A Case Study in Goal-Driven Architectural Adaptation
"... To operate reliably in environments where interaction with an operator is infrequent or undesirable, an autonomous system should be capable of both determining how to achieve its objectives and adapting to novel circumstances on its own. We have developed an approach to constructing autonomous syste ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
(Show Context)
To operate reliably in environments where interaction with an operator is infrequent or undesirable, an autonomous system should be capable of both determining how to achieve its objectives and adapting to novel circumstances on its own. We have developed an approach to constructing autonomous systems that synthesise tasks from high-level goals and adapt their software architecture to perform these tasks reliably in a changing environment. This paper presents our approach through a detailed case study, highlighting the challenges involved. 1
oro.open.ac.uk SOCIAL ADAPTATION When Software Gives Users a Voice
"... For guidance on citations see FAQs. ..."
(Show Context)
Programming Language Support to Context-Aware Adaptation—A Case-Study with Erlang.
- In SEAMS,
, 2010
"... ABSTRACT Software applications are increasingly situated in a world where context changes continuously. At the same time, applications need to provide continuous service, and the service provided often needs to change in order to adapt to the new contexts. Context-aware adaptation can be greatly fa ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
(Show Context)
ABSTRACT Software applications are increasingly situated in a world where context changes continuously. At the same time, applications need to provide continuous service, and the service provided often needs to change in order to adapt to the new contexts. Context-aware adaptation can be greatly facilitated by using programming languages that natively support high-level features to deal with contexts, context changes, and context-aware behaviors. Although contextoriented programming has been around for a while, most existing efforts focus on incorporating context-oriented features in languages that are not primarily oriented to concurrency, distribution, and dynamic reconfiguration. These features, however, characterize most pervasive context-aware situations. In this work, we illustrate how context-aware programming primitives may introduced in the parallel and distributed Erlang programming language. We also present an extended example, which illustrates the benefits of using our extension (ContextErlang) to design context-aware pervasive applications.
A survey of formal methods in self-adaptive systems
- In Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering, C3S2E ’12
, 2012
"... One major challenge in self-adaptive systems is to assure the re-quired quality properties. Formal methods provide the means to rigorously specify and reason about the behaviors of self-adaptive systems, both at design time and runtime. To the best of our knowl-edge, no systematic study has been per ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
One major challenge in self-adaptive systems is to assure the re-quired quality properties. Formal methods provide the means to rigorously specify and reason about the behaviors of self-adaptive systems, both at design time and runtime. To the best of our knowl-edge, no systematic study has been performed on the use of formal methods in self-adaptive systems. As a result, there is no clear view on what methods have been used to verify self-adaptive sys-tems, and what support these methods offer to software develop-ers. As such insight is important for researchers and engineers, we performed a systematic literature review covering 12 main soft-ware engineering venues and 4 journals, resulting in 75 papers used for data collection. The study shows that the attention for self-adaptive software systems is gradually increasing, but the number of studies that employ formal methods remains low. The main fo-cus of formalization is on modeling and reasoning. Model check-ing and theorem proving have gained limited attention. The main concerns of interest in formalization of self-adaptation are effi-ciency/performance and reliability. Important adaptation concerns, such as security and scalability, are hardly considered. To verify the concerns of interest, a set of new properties are defined, such as in-terference freedom, responsiveness, mismatch, and loss-tolerance. A relevant part of the studies use formal methods at runtime, but the use is limited to modeling and analysis. Formal methods can be applied to other runtime activities of self-adaptation, and there is a need for light-weight tools to support runtime verification.
A Policy-Based Management Architecture for Mobile Collaborative Teams
"... Abstract—Many missions are deemed dangerous or impractical to perform by humans, but can use collaborating, self-managing Unmanned Autonomous Vehicles (UAVs) which adapt their behaviour to current context, recover from component failure or optimise performance. This paper describes a policy-based di ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
(Show Context)
Abstract—Many missions are deemed dangerous or impractical to perform by humans, but can use collaborating, self-managing Unmanned Autonomous Vehicles (UAVs) which adapt their behaviour to current context, recover from component failure or optimise performance. This paper describes a policy-based distributed self-management framework for both individual and teams of UAVs. We use three levels of specifications — policy, mission class and mission instance to enable reuse of both policies and mission classes. The architecture has been tested on devices ranging from small laptops to body area networks. Initial evaluation shows the distributed architecture is scalable and outperforms a centralised mission management scheme. I.
Context for Goal-level Product Line Derivation
"... Product line engineering aims at developing a family of products and facilitating the derivation of product variants from it. Context can be a main factor in determining what products to derive. Yet, there is gap in incorporating context with variability models. We advocate that, in the first place, ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
(Show Context)
Product line engineering aims at developing a family of products and facilitating the derivation of product variants from it. Context can be a main factor in determining what products to derive. Yet, there is gap in incorporating context with variability models. We advocate that, in the first place, variability originates from human intentions and choices even before software systems are constructed, and context influences variability at this intentional level before the functional one. Thus, we propose to analyze variability at an early phase of analysis adopting the intentional ontology of goal models, and studying how context can influence such variability. Below we present a classification of variation points on goal models, analyze their relation with context, and show the process of constructing and maintaining the models. Our approach is illustrated with an example of a smarthome for people with dementia problems. 1.
Coupling Software Architecture and Human Architecture for Collaboration-Aware System Adaptation
"... Abstract—The emergence of socio-technical systems characterized by significant user collaboration poses a new challenge for system adaptation. People are no longer just the “users” of a system but an integral part. Traditional self-adaptation mechanisms, however, consider only the software system an ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
(Show Context)
Abstract—The emergence of socio-technical systems characterized by significant user collaboration poses a new challenge for system adaptation. People are no longer just the “users” of a system but an integral part. Traditional self-adaptation mechanisms, however, consider only the software system and remain unaware of the ramifications arising from collaboration interdependencies. By neglecting collective user behavior, an adaptationmechanismisunfittoappropriatelyadapttoevolution of user activities, consider side-effects on collaborations during the adaptation process, or anticipate negative consequence upon reconfiguration completion. Inspired by existing architecture-centric system adaptation approaches,weproposelinkingtheruntimesoftwarearchitecture to the human collaboration topology. We introduce a mapping mechanism and corresponding framework that enables a system adaptation manager to reason upon the effect of software-level changes on human interactions and vice versa. We outline the integration of the human architecture in the adaptation process and demonstrate the benefit of our approach in a case study. Index Terms—collaboration topology, software architecture, runtime mapping, architecture reconfiguration, dynamic adaptation