Figure 1 - uploaded by Jean-Marc Jézéquel
Content may be subject to copyright.
The web server architecture modelled as UML2.0 component diagram 

The web server architecture modelled as UML2.0 component diagram 

Source publication
Article
Full-text available
In a highly dynamic environment, software systems requires a capacity of self-adaptation to the environ- ment and the user needs evolution, which increases the software architecture complexity. Despite most current execution platforms include some facilities for handling dynamic adaptation, current design methodologies do not address this issue. On...

Context in source publication

Context 1
... improve it, we suggest to build a system which can adapt its own architecture to the load. Therefore, the system in- cludes an optional cache component and a set of data servers as shown on Figure 1. The incoming requests are handled by the Proxy component which can use the Cache component to hold the request or transfer it to the Load Balancer component. ...

Similar publications

Article
Full-text available
Background Metagenomics is gaining attention as a powerful tool for identifying how agricultural management practices influence human and animal health, especially in terms of potential to contribute to the spread of antibiotic resistance. However, the ability to compare the distribution and prevalence of antibiotic resistance genes (ARGs) across m...

Citations

... Приведенное выше напоминание FTPL направлено на иллюстрацию временных шаблонов, интегрированных в политики адаптации. Напомним, что эти шаблоны делают политики более выразительными, чем представленные в [8], использующие только свойства состояний и инвариантов над конфигурациями. ...
... Определим теперь политики адаптации с временными шаблонами, используя как базу определения в [8] и упрощая обозначения из [4]. ...
... Например, в [1] авторы преобразовывают нечеткие значения для операций реконфигурирования, используя упорядочение, при этом полезность применения операций гарантируется пороговым значением. Правила политик адаптации, реализованных в Tangram4Fractal [8], рассматриваются в порядке объявления: для применения выбирается правило, которое является первым применяемым в порядке описания в политике адаптации. В [17] авторы классифицируют реконфигурирования в соответствии с определенными приоритетами: если допустимы две операции с одинаковым приоритетом, выбирается первая из них. ...
Article
Full-text available
Self-adaptation of complex systems is a very active domain of research with numerous application domains. Component systems are designed as sets of components that may reconfigure themselves according to adaptation policies, which describe needs for reconfiguration. In this context, an adaptation policy is designed as a set of rules that indicate, for a given set of configurations, which reconfiguration operations can be triggered, with fuzzy values representing their utility. The adaptation policy has to be faithfully implemented by the system, especially w.r.t. the utility occurring in the rules, which are generally specified for optimizing some extra-functional properties (e.g. minimizing resource consumption). In order to validate adaptive systems’ behaviour, this paper presents a model-based testing approach, which aims to generate large test suites in order to measure the occurrences of reconfigurations and compare them to their utility values specified in the adaptation rules. This process is based on a usage model of the system used to stimulate the system and provoke reconfigurations. As the system may reconfigure dynamically, this online test generator observes the system responses and evolution in order to decide the next appropriate test step to perform. As a result, the relative frequencies of the reconfigurations can be measured in order to determine whether the adaptation policy is faithfully implemented. To illustrate the approach the paper reports on experiments on the case study of platoons of autonomous vehicles.
... Possible components of an HTTP server are given in Fig. 1, as an example of a component-based architecture, already used in [6]. Requests are read by the RequestReceiver component and transmitted to the RequestHandler component. ...
... For example, if you try to remove a component not included in an architecture, the original architecture will be returned. The same if you try to add a component already included in the architecture 6 . As a consequence, these topological operations-addition or removal of a component or a binding-are idempotent: applying such an operation twice results in the same effect than applying it once. ...
... On another point, we are interested in this work in reconfigurations, but not in reasons for these reconfigurations 15 , most often expressed by reconfiguration policies [6]. In parallel, we are working on an extension of [14] taking such policies into account [16]. ...
Article
Full-text available
Reconfiguration paths express sequences of successive reconfiguration operations within a component-based approach allowing dynamic reconfigurations. We use constructs from regular expressions-pin particular, alternatives-to introduce multiple reconfiguration paths. We show how to put into action procedures allowing architectural, event, and temporal properties to be proved. Our method, related to finite state automata and using marking techniques, generalises what we did within previous work, where the regular expressions we processed were more restricted. But we can only deal with a subset of first-order logic formulas.
... However, due to less considerations of handling fuzziness in self-adaptation loops, these tools cannot be employed to our SFSA approach. Moreover, several pieces of current work also use fuzzy methodology to qualitatively describe adaptation policies [12], interpret contexts[13], and address uncertainty in requirements[14] of self-adaptive software systems, but no effective supporting tools can be found in them. Therefore, to the best of our knowledge, none of existing work has explicitly presented effective and efficient tools for handling fuzziness in loops of software self- adaptation. ...
Conference Paper
Full-text available
Handling uncertainty in software self-adaptation has become an important and challenging issue. In our previous work, we proposed a fuzzy control based approach named Software Fuzzy Self-Adaptation (SFSA) to address fuzziness, a kind of uncertainty in software self-adaptation. However, our SFSA approach still lacks a tool to efficiently support the implementation process of SFSA. Existing tools for realizing self-adaptive applications does not directly deal with fuzziness in self-adaption loops. In this paper, we present the FuAET, a tool designed for building fuzzy self-adaptive software systems. The novelty of the tool is that it can not only provide a friendly GUI for editing and testing fuzzy self-adaptation strategies in intelligible domain specific language (DSL), but also automatically convert DSL-based fuzzy selfadaptation strategies into aspect-based programming code in native-language (NL), e.g., C++. This paper describes the design framework and implementation principles of FuAET, and then proposes a general development process using FuAET for reference to developers. Finally, we conduct an empirical study for evaluation of FuAET using an industrial control application. The results show that FuAET can automate the development of SFSA and ease the burden of the software engineers.
... While there exist a few works that employ principles of fuzzy set theory in connection with adaptation, each of these works only focuses on a particular adaptation aspect without considering how fuzzy set theory can be weaved into the entire adaptation control loop in a modular way. In [5,22,10] the authors implement heuristic controllers based on imprecise information. However, these controllers are based on fixed ad-hoc knowledge management, which might compromise the solution reusability and its ability to evolve. ...
... These works deal with adap- tation behavior specification at a different abstraction level (requirement elicitation) than ours, and we see them as complementary approaches, as the development process advocated by our framework can be modified to integrate structured languages used to specify requirements and goals. The work by Chauvel et al. [5] presents an approach for qualitative description of adaptation policies, specified at design time and interpreted at runtime. The policies can be composed using two different types of fuzzy rule sets: local reconfiguration rules, for adjustment of local system properties, and architectural reconfiguration rules, which describe the utility of a specific architecture reconfiguration. ...
Article
Full-text available
Adaptation is an increasingly important requirement for software systems executing in large-scale, heterogeneous, and dynamic environments. A central aspect of the adaptation methodology is management of contextual information needed to support the adaptation process. A major design challenge of managing contextual data lies in the fact that the information is partial, uncertain, and inherently suitable for diverging interpretations. While existing adaptation solutions focus on techniques, methods, and tools, the challenge of managing and interpreting ambiguous contextual information remains largely unresolved. In this paper, we present a new approach to knowledge management in adaptation feedback control loops that aims to overcome these issues by applying fuzzy set theory and approximate reasoning. Our new knowledge management scheme interprets imprecise information and effectively integrates this information into the adaptation feedback control loop. To test and evaluate our solution, we implemented it in an adaptation engine to perform rate control for media streaming applications. The evaluation results show the benefits of our approach in terms of flexibility and performance when compared to more traditional methods, such as TCP-friendly rate control.
... While there exist a few works that employ principles of the fuzzy set theory in connection to adaptation, each of these works only focuses on a particular adaptation aspect without considering how fuzzy set theory can be weaved into the entire methodology in a modular way. In [5, 20, 10] the authors implement heuristic controllers based on imprecise information. However, these controllers are based on fixed ad-hoc knowledge management, which might compromise the solution reusability and its ability to evolve. ...
... These works deal with adaptation behavior specification at a different abstraction level (requirement elicitation) than ours, and we see them as complementary approaches, as the development process advocated by our framework can be modified to integrate structured languages used to specify requirements and goals. The work by Chauvel et al. [5] presents an approach for qualitative description of adaptation policies, specified at design time and interpreted at runtime. The policies can be composed using two different types of fuzzy rule sets: local reconfiguration rules, for adjustment of local system properties , and architectural reconfiguration rules, which describe the utility of a specific architecture reconfiguration. ...
Conference Paper
Full-text available
Adaptation is an increasingly important requirement for software systems executing in large-scale, heterogeneous, and dynamic environments. A central aspect of the adaptation methodology is management of contextual information needed to support the adaptation process. A major design challenge of managing contextual data lies in the fact that the information is partial, uncertain, and inherently suitable for diverging interpretations. While existing adaptation solutions focus on techniques, methods, and tools, the challenge of managing and interpreting ambiguous contextual information remains largely unresolved. In this paper, we present a new adaptation approach that aims to overcome these issues by applying fuzzy set theory and approximate reasoning. It proposes a knowledge management scheme to interpret imprecise information and effectively integrate this information into the adaptation feedback control loop. To test and evaluate our solution, we implemented it in an adaptation engine to perform rate control for media streaming applications. The evaluation results show the benefits of our approach in terms of flexibility and performance when compared to more traditional methods, such as TCP-friendly rate control.
... Designing a DAS involves specifying environmental fluctuations that have an impact on the system, as well as the related strategies for performing the structural changes. This is captured by an adaptation logic that expresses the actions to be adopted when the environment changes [4], [7], [9], [15]. More precisely, adaptation logics drive the adaptation process and compute the right system configuration that should be adopted given an environmental condition. ...
... Monitoring can handle physical resource information (battery, CPU, memory, etc), and/or the user behavior (how the user uses the application, what are her preferences, etc), and/or QoS properties (response time, availability, etc). There exist different techniques to bridge the gap between runtime events and context models: Complex Event Processing (CEP) [19], Fuzzy Logic [20] ...
Conference Paper
Full-text available
Modern software systems need to be continuously available under varying conditions. Their ability to dynamically adapt to their execution context is thus increasingly seen as a key to their success. Recently, many approaches were proposed to design and support the execution of Dynamically Adaptive Systems (DAS). However, the ability of a DAS to evolve is limited to the addition, update or removal of adaptation rules or reconfiguration scripts. These artifacts are very specific to the control loop managing such a DAS and runtime evolution of the DAS requirements may affect other parts of the DAS. In this paper, we argue to evolve all parts of the loop. We suggest leveraging recent advances in model-driven techniques to offer an approach that supports the evolution of both systems and their adaptation capabilities. The basic idea is to consider the control loop itself as an adaptive system.
... Designing a DAS involves specifying environmental fluctuations that have an impact on the system, as well as the related strategies for performing the structural changes. This is captured by an adaptation logic that expresses the actions to be adopted when the environment changes [5], [8], [10], [15]. More precisely, adaptation logics drive the adaptation process and compute the right system configuration that should be adopted given an environmental condition. ...
Article
Full-text available
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.
... To motivate and to illustrate our approach, let us consider an example of an HTTP server from [11]. The architecture of this server is displayed in Fig. 2 We consider that the HTTP server can be reconfigured during the execution by the following reconfiguration operations: ...
... all the enable reconfigurations are explored, the recorded results are used to choose the most appropriate reconfiguration operation which is then applied to the system. To help this choice, adaptation policies [13,11] defined by the user, or distributed controllers [18] for knowledge-based priority properties, or runtime enforcement monitors [16] built automatically for several enforcable properties, can be used. ...
Conference Paper
Full-text available
Dynamic reconfigurations increase the availability and the reliability of component-based systems by allowing their architectures to evolve at runtime. Recently we have proposed a temporal pattern logic, called FTPL, to characterize the correct reconfigurations of component-based systems under some temporal and architectural constraints. As component-based architectures evolve at runtime, there is a need to check these FTPL constraints on the fly, even if only a partial information is expected. Firstly, given a generic component-based model, we review FTPL from a runtime verification point of view. To this end we introduce a new four-valued logic, called RV-FTPL (Runtime Verification for FTPL), characterizing the “potential” (un)satisfiability of the architectural constraints in addition to the basic FTPL semantics. Potential true and potential false values are chosen whenever an observed behaviour has not yet lead to a violation or satisfiability of the property under consideration. Secondly, we present a prototype developed to check at runtime the satisfiability of RV-FTPL formulas when reconfiguring a Fractal component-based system. The feasability of a runtime property enforcement is also shown. It consists in supervising on the fly the reconfiguration execution against desired RV-FTPL properties. The main contributions are illustrated on the example of a HTTP server architecture.
... Thus, it is important to know how safe or acurate is the information shared by each robot, as it can (willingly or not) provide others with useless or even dangerous information. Coupling context information with fuzzy logic could simplify the design of context models [4]. ...
Conference Paper
Full-text available
Robotic systems are becoming increasingly complex, as their tasks and working environments become ever richer. As a result, there is an urgent need to provide robots with self-awareness and self-adaptation capabilities that allow them to autonomously deal, among other things, with software and hardware failures, changes in the environment, or interactions with other systems. The use of high-level models that can be adapted at run-time by the robot itself, promises to signi cantly boost the applicability and performance of robotic systems. This paper reports our experience in applying the DiVA model-driven adaptive approach to a robotics case study, describing its bene ts and limitations for robotics. This work has been partially funded by the EXPLORE project (Spanish MICINN, TIN2009-08572,http://www.dsie.upct.es/proyectos/web_explore/) and the DiVA project (EU FP7 STREP, contract 215412, http://www.ict-diva.eu/)