Software Adaptation in an Open Environment
eBook - ePub

Software Adaptation in an Open Environment

A Software Architecture Perspective

Yu Zhou, Taolue Chen

Partager le livre
  1. 218 pages
  2. English
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Software Adaptation in an Open Environment

A Software Architecture Perspective

Yu Zhou, Taolue Chen

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

The book is about a very active research field in software engineering. In modern society, the fact of the world's high reliance on software requires the system's robustness, i.e., continual availability and satisfactory service quality. This requirement gives rise to the popularity of the research on the self-adaptive software in open environment. There are some academic conferences dedicated to this field. But there is a lack of monographs about the topic. We believe such need is unmet in marketplace. By publishing the book, it can help bridge the gap and bring benefits to readers thereof.

Key Features:

  • The topic is well-motivated, interesting and actively studied worldwide

  • The research represents as the state-of-the-art in the field

  • The technical part of the book is rigidly evaluated

  • The theoretical part of the book is sound and proved

  • The organization and presentation of the book will be double-checked by professional scholars

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Software Adaptation in an Open Environment est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Software Adaptation in an Open Environment par Yu Zhou, Taolue Chen en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Informatik et Informationstechnologie. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Année
2017
ISBN
9781351723039
Édition
1

III FORMAL MODELING AND ANALYSIS

Chapter 7

Adaptation Rules Conflict Detection

CONTENTS

7.1 Introduction
7.2 Reconfiguration Modeling and Analysis
7.2.1 Critical pair and dependency
7.2.2 Architectural reconfiguration analysis
7.3 Case Study
7.4 Discussion
7.5 Related Work
7.6 Summary

7.1 Introduction

Architecture-based runtime adaptation has been proposed as an effective way to ensure the continuous availability of component-based software systems in an uncertain environment [136, 137]. Generally, such systems have embedded sensors to probe the context information and can propagate the changes to the rule management modules and direct the corresponding dynamic architectural reconfigurations accordingly.
In decentralized and distributed settings, interesting context changes might be reported from place to place, thus, it is highly possible that multiple architectural reconfiguration rules are applicable at the same time. These rules usually address different aspects of concerns, either functional or non-functional, and are not necessarily independent of each other. So, applying one rule may disable another one. Therefore, in this case, how to detect the potential conflicts between the reconfigurations becomes an important issue for efficient adaptation management.
To formalize the problem, given a set of reconfigurations: Sr = {r1,r2,...,rn}, we need to find the tuple sets:
{(ri,rj) | ri,rj ∈ Sr ^ (DEP(ri,rj) = TRUE √ CONFLICTS(ri,rj) = TRUE)}.
For example, in a component-based software system, the trust management module reports a fraud behavior of a third-party component and the adaptation rule indicates its removal from the system. Meanwhile, a performance monitor reports a low-performance event of another component and the adaptation rule implies an addition of a new back-up component. If the new component relies on the functions of the third-party component stated above, a conflict would happen between these two reconfigurations. Manually assigning each rule with an application-specific priority as commonly adopted leads to an ad-hoc solution which only partly addresses the problem, as the developer may still be unaware of the potential conflicts or the dependency relations between the involved reconfiguration possibilities. Besides, this mechanism lacks formal treatment of such problems.
Graph notations have been widely applied to software architecture modeling [18, 28, 115] due to their unique characteristics. Firstly, graph representation has the advantage of an intuitive visual correspondence to the common practice of box-line notation of software architecture; secondly, the widely recognized importance of the connector as a first-class entity can be well captured by the notion of edge attributes; thirdly, by production, the graph rewriting techniques can be employed to describe the evolution and to check some interesting properties, such as confluence, conflicts, etc. formally.
In this chapter, we will focus on the third point listed above and inspect the applicability of in the domain of dynamic software architectural reconfigurations. We leverage the theories from the critical pair analysis, inspect the relations between the reconfiguration rules such as dependence and confluence, and present a formal approach to analyze the potential conflicts of multiple reconfigurations. The rest of the chapter is organized as follows. Section 7.2 introduces some basic notions relevant to the formalism of conflict analysis and then outlines our approach. To illustrate its application and feasibility, a case study is presented with tool support in Section 7.3, followed by some discussions on the lessons learned and the limitations of our approach in Section 7.4. Section 7.5 reviews some related work. Section 7.6 summarizes this chapter.

7.2 Reconfiguration Modeling and Analysis

For architecture-based self-adaptation rules, basically, they have a spectrum of two layers as in [110], i.e., goal management layer and change management layer. The first handles the context changes which are usually reflected in the condition part of the rule. It is on the application level. The second deals with the reconfiguration actions which are on the architecture level. For example, a load-balancing rule specifies that when the workload of a component reaches a certain threshold, a backup component will be added dynamically to the system. As the condition part depends on the concrete requirements, it varies across applications. In contrast to this, the architectural reconfigurations are manipulated at the level of constituent components and connectors, which can be specified as the graph transformation rule [184]. With such considerations, we will focus on the architecture level rule modeling. It fits in the change actions management layer in [110]. To detect reconfiguration dependency and conflicts of dynamic software architecture, their independent relations need to be modeled and analyzed. In this section, we will first introduce some basic concepts, and then present our approach.

7.2.1 Critical pair and dependency

Critical pair analysis originated from term rewriting and later was generalized to graph transformation to check whether the transformation system is confluent [143]. Given a graph G, a production p : L ⇒ R and a match m : L ⇒ G, the transformation from G to H is specified as t:G⇒p,mH. A critical pair is a pair of transformations (p1, p2) in which t1:G⇒p1,m1H1 and t2:G⇒p2,m2H2 have potential conflicts with the minimal G = m1(L1) âˆȘ [m2(L2) to ensure that the critical pair sets for two rules are finite. Intuitively, for two rules both ap...

Table des matiĂšres