17 research outputs found
Model Driven Mutation Applied to Adaptative Systems Testing
Dynamically Adaptive Systems modify their behav- ior and structure in
response to changes in their surrounding environment and according to an
adaptation logic. Critical sys- tems increasingly incorporate dynamic
adaptation capabilities; examples include disaster relief and space exploration
systems. In this paper, we focus on mutation testing of the adaptation logic.
We propose a fault model for adaptation logics that classifies faults into
environmental completeness and adaptation correct- ness. Since there are
several adaptation logic languages relying on the same underlying concepts, the
fault model is expressed independently from specific adaptation languages.
Taking benefit from model-driven engineering technology, we express these
common concepts in a metamodel and define the operational semantics of mutation
operators at this level. Mutation is applied on model elements and model
transformations are used to propagate these changes to a given adaptation
policy in the chosen formalism. Preliminary results on an adaptive web server
highlight the difficulty of killing mutants for adaptive systems, and thus the
difficulty of generating efficient tests.Comment: IEEE International Conference on Software Testing, Verification and
Validation, Mutation Analysis Workshop (Mutation 2011), Berlin : Allemagne
(2011
Adaptable transition systems
We present an essential model of adaptable transition systems inspired by white-box approaches to adaptation and based on foundational models of component based systems. The key feature of adaptable transition systems are control propositions, imposing a clear separation between ordinary, functional behaviours and adaptive ones. We instantiate our approach on interface automata yielding adaptable interface automata, but it may be instantiated on other foundational models of component-based systems as well. We discuss how control propositions can be exploited in the specification and analysis of adaptive systems, focusing on various notions proposed in the literature, like adaptability, control loops, and control synthesis
Using Abstraction in Modular Verification of Synchronous Adaptive Systems
Self-adaptive embedded systems autonomously adapt to
changing environment conditions to improve their functionality and to
increase their dependability by downgrading functionality in case of fail-
ures. However, adaptation behaviour of embedded systems significantly
complicates system design and poses new challenges for guaranteeing
system correctness, in particular vital in the automotive domain. Formal
verification as applied in safety-critical applications must therefore be
able to address not only temporal and functional properties, but also
dynamic adaptation according to external and internal stimuli.
In this paper, we introduce a formal semantic-based framework to model,
specify and verify the functional and the adaptation behaviour of syn-
chronous adaptive systems. The modelling separates functional and adap-
tive behaviour to reduce the design complexity and to enable modular
reasoning about both aspects independently as well as in combination.
By an example, we show how to use this framework in order to verify
properties of synchronous adaptive systems. Modular reasoning in com-
bination with abstraction mechanisms makes automatic model checking
efficiently applicable
Adaptability Checking in Multi-Level Complex Systems
A hierarchical model for multi-level adaptive systems is built on two basic
levels: a lower behavioural level B accounting for the actual behaviour of the
system and an upper structural level S describing the adaptation dynamics of
the system. The behavioural level is modelled as a state machine and the
structural level as a higher-order system whose states have associated logical
formulas (constraints) over observables of the behavioural level. S is used to
capture the global and stable features of B, by a defining set of allowed
behaviours. The adaptation semantics is such that the upper S level imposes
constraints on the lower B level, which has to adapt whenever it no longer can
satisfy them. In this context, we introduce weak and strong adaptabil- ity,
i.e. the ability of a system to adapt for some evolution paths or for all
possible evolutions, respectively. We provide a relational characterisation for
these two notions and we show that adaptability checking, i.e. deciding if a
system is weak or strong adaptable, can be reduced to a CTL model checking
problem. We apply the model and the theoretical results to the case study of
motion control of autonomous transport vehicles.Comment: 57 page, 10 figures, research papaer, submitte
Modelling and analyzing adaptive self-assembling strategies with Maude
Building adaptive systems with predictable emergent behavior is a challenging task and it is becoming a critical need. The research community has accepted the challenge by introducing approaches of various nature: from software architectures, to programming paradigms, to analysis techniques. We recently proposed a conceptual framework for adaptation centered around the role of control data. In this paper we show that it can be naturally realized in a reflective logical language like Maude by using the Reflective Russian Dolls model. Moreover, we exploit this model to specify, validate and analyse a prominent example of adaptive system: robot swarms equipped with self-assembly strategies. The analysis exploits the statistical model checker PVeStA
A Conceptual Framework for Adapation
This paper presents a white-box conceptual framework for adaptation that promotes a neat separation of the adaptation logic from the application logic through a clear identification of control data and their role in the adaptation logic. The framework provides an original perspective from which we survey archetypal approaches to (self-)adaptation ranging from programming languages and paradigms, to computational models, to engineering solutions
A Conceptual Framework for Adapation
We present a white-box conceptual framework for adaptation. We called it CODA, for COntrol Data Adaptation, since it is based on the notion of control data. CODA promotes a neat separation between application and adaptation logic through a clear identification of the set of data that is relevant for the latter. The framework provides an original perspective from which we survey a representative set of approaches to adaptation ranging from programming languages and paradigms, to computational models and architectural solutions
A Conceptual Framework for Adapation
This paper presents a white-box conceptual framework for adaptation that promotes a neat separation of the adaptation logic from the application logic through a clear identification of control data and their role in the adaptation logic. The framework provides an original perspective from which we survey archetypal approaches to (self-)adaptation ranging from programming languages and paradigms, to computational models, to engineering solutions
RELAX:a language to address uncertainty in self-adaptive systems requirement
Self-adaptive systems have the capability to autonomously modify their behavior 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 specication of requirements of self-adaptive systems. As a result, self-adaptivity is often constructed in an ad-hoc manner. In order to support the rigorous specication of adaptive systems requirements, this paper introduces RELAX, a new requirements language for self- adaptive systems that explicitly addresses uncertainty inherent in adaptive systems. We present the formal semantics for RELAX in terms of fuzzy logic, thus enabling a rigorous treatment of requirements that include uncertainty. RELAX enables developers to identify uncertainty in the requirements, thereby facilitating the design of systems that are, by denition, more exible and amenable to adaptation in a systematic fashion. We illustrate the use of RELAX on smart home applications, including an adaptive assisted living system