scispace - formally typeset
Search or ask a question
Proceedings Article

A Systematic Review of Self-adaptation in Service-oriented Architectures

TL;DR: A systematic review of the study of adaptivity in which both the extension and complexity of this notion are examined, and the hypothesis of using the scope of service-oriented architecture as a comparable model for the whole field is checked.
Abstract: The study of adaptivity, i.e., the capability to react to changes in the environment, is becoming ever more important in many fields of study, and in the development of software in particular. This paper presents a systematic review in which both the extension and complexity of this notion are examined. After studying the influence from external fields, this review checks the hypothesis of using the scope of service-oriented architecture as a comparable model for the whole field. As part of the systematic review, the influence of the most relevant bibliography is considered, and the terminology is clarified.

Content maybe subject to copyright    Report

A Systematic Review of Self-adaptation in Service-oriented Architectures
M. Pilar Romay
Dept. Inf. & Com. Syst. Engineering (DISIT)
St. Paul-CEU University
Boadilla del Monte, Madrid, Spain
pilar.romayrodriguez@ceu.es
Luis Fernández-Sanz, Daniel Rodríguez
Dept. of Computer Science
University of Alcalá (UAH)
Alcalá de Henares, Madrid, Spain
luis.fernandezs@uah.es, daniel.rodriguezg@uah.es
AbstractThe study of adaptivity, i.e., the capability to react to
changes in the environment, is becoming ever more important
in many fields of study, and in the development of software in
particular. This paper presents a systematic review in which
both the extension and complexity of this notion are examined.
After studying the influence from external fields, this review
checks the hypothesis of using the scope of service-oriented
architecture as a comparable model for the whole field. As part
of the systematic review, the influence of the most relevant
bibliography is considered, and the terminology is clarified.
Keywords adaptivity; self-adaptation; service architecture;
autonomic systems; SOA; systematic review.
I. INTRODUCTION
The growing complexity, along with continuous
operation, of software systems not only conventional ones,
but also the next complexity level, so-called large-scale
software systems [1] has greatly increased the interest of a
series of techniques for self-managing system features. These
techniques make possible for them to guarantee a wide range
of properties, all by themselves. Traditionally, these
properties had been dealt with manually, or had to be
developed from specific requirements. Instead of that, the
new approach considers them as intrinsic system properties,
and thus they should be dealt with automatically, and
considered as just another issue in conventional software
systems development.
Systems conceived in such a way are generically known
as adaptive systems or, more specifically, as self-adaptive
systems [2].
Therefore, we have systems able to deal with faults and
critical situations (self-healing), able to control their own
behavior (self-managing) [3], able to observe and evaluate
their own performance (self-monitoring), able to modify their
own configuration to react to changes in their environment
(self-configuring), or even to automatically guarantee certain
system-level properties, such as protection, fault tolerance,
etc. (autonomic systems) [4] [5], among many others.
The wide range of systems which could make use of
these adaptive properties causes a great variability; therefore
many different approaches could be conceived. For this
reason, it is reasonable to focus our efforts on a specific area
of study: in our case, software services. This area has been
chosen because it still covers a wide range of systems and
shows a great variability itself, and therefore it can be
considered as a representative, even a lower-scale analog, for
the whole of the field of adaptive systems. The goal of this
work is, therefore, to study self-adaptive software services.
Software services define, due to their own properties, an
area of a great potential to describe and use adaptive (or
adaptation-related) features. Moreover, service and service-
oriented architectures are among the systems where the need
for these features is clearer, and more compelling: the nature
of services is inherently dynamic, and this implies the need
for adaptation; and also the structure of service architectures
requires the flexibility that self-adaptation provides. In short,
this make our specific goal (consider adaptation in services,
rather than in general systems) even more pragmatic. Finally,
considering the growing, relevance and broad dissemination
of service ecosystems, this is also the environment in which
this approach is currently pertinent and more interesting.
Adaptivity is often described at different levels, namely
at service level or the wider system level [6], but this will not
be the main interest of our study. Instead of that, we will
focus on exploring and analyzing adaptivity and all its
related properties, a set which is often generically known as
self-*.
Moreover, this paper will also consider the impact of
self-organization (considered as a related notion, rather than
as an adaptive feature) within the specific area of service-
oriented architecture. Our main goal is to determine which
properties are implied in adaptive systems, with a special
focus on service architectures i.e., to be able to evaluate
adaptivity in services.
For this purpose, this paper presents an initial study of
the field, which will be used to delimit the boundaries of the
area and to check the reliability of the hypothesis about the
service-oriented approach and its applicability to evaluation.
The core of this study is structured as a systematic review:
after defining a set of goals and the corresponding research
questions, and discussing the background on the field, the
review makes an extensive bibliography review, which is
carefully examined and analyzed in order to achieve the
corresponding conclusions.
The paper is structured as follows: first, we present the
context of our study, including the definition of four primary
goals and the method of our systematic review. Then, we
provide some background justifying the interest of this study,
as well as the implicit connections between its areas. After
that, we characterize the revised information, and outline the
method we have used to locate and classify this information,
describing the performed searches and their results. We end
by summarizing the conclusions from several perspectives.
331
ICSEA 2011 : The Sixth International Conference on Software Engineering Advances
Copyright (c) IARIA, 2011. ISBN: 978-1-61208-165-6

II. CONTEXT OF THE STUDY
Though it might seem a secondary issue, the relevance of
adaptivity is such that even well-known authors as Kramer &
Magee have claimed [7] that “a significant advance in the
techniques which are required for the effective development
of adaptive systems would imply an advance of an order of
magnitude in every fundamental aspect of Software
Engineering”.
Having this relevance in mind, the main goal which has
driven the conception of this study is focused in finding a
model which makes possible, by using a set of attributes, to
define and assess adaptivity in the context of services. This
model could alternatively take the form of a framework, or
even a methodology.
Then, this paper intends to provide a characterization of
the field of adaptivity. For this purpose, it lays out a set of
specific goals to drive the study, which should make possible
to measure and digest the breadth of the field, and to confirm
the need of the study itself. Moreover, it also intends to value
the most important contributions in the process.
From these goals, the paper follows a methodological
approach based on [8] with the purpose to achieve a greater
soundness than a traditional narrative description. The more
important limitations of such a study are also considered:
publication limitations (publishing bias), and selection
limitations (selection bias). The first one refers to the relative
impact of negative studies i.e. which have not significant
differences with previous proposals, when these have not
been published, or are only rarely referenced in the literature.
Also, there could be interesting studies written in another
language, or even duplicate references which could later
influence the metanalysis. The second one is related to the
definition of inclusion and exclusion criteria: the purpose is
to avoid to neglect the inclusion of relevant work, and also to
include misleading papers, which hinder dealing with the
relevant topics in an objective way.
The systematic review will be developed in the next
sections. First, we will describe the main goals of the study,
and outline our methodological approach. Next, we will
briefly explore the background on service-oriented
architectures and their relationship to adaptivity, focusing on
the need for evaluation and the influence of dynamic service
composition models. Then the systematic review itself is
unfolded: after presenting the main data sources, the search
strategies and selection criteria are described to later
present the results of the review and discuss the conclusions.
A. Goals of the Study
Therefore, the goals of our systematic study are: (1) To
confirm the breadth and applicability range of adaptivity. (2)
To verify the novelty of this field of study within the context
of Software Engineering. (3a) Related to the previous one, to
evaluate adaptivity in service-oriented architectures. (3b) To
assess interesting contributions which could be applied to the
study’s primary goal (i.e., to determine the properties which
characterize adaptive systems). (4) By exploring the previous
four points, to identify the used terminology.
B. Methodological Approach in the Study
This (systematic) study begins by planning the review,
then conducting the review, and finally reporting the review.
The first activity of this process is a bibliographic search.
Based on a set of research questions related to context
definition, modelling, and management, we defined a list of
keywords and search strings used for our investigation.
The defined searches will be oriented to cover the goals
of the study, as proposed in section II.A. In this part of the
process, the selected keywords and their synonyms are of a
great relevance: the obtained results strongly depend on a
good selection of these terms.
For this reason, we also designed and realized an specific
search, focusing on articles and papers which tried to provide
a wider vision of the field, such as (other) research reviews,
overviews, state-of-the-art articles, etc.
The initial terminology search should just be considered
as an approximation, and it will be later tuned and adjusted,
to be refined by means of the obtained results during all the
process. To some extent, the process itself serves as the main
control in this initial search phase, and it could cause an
additional iteration within the systematic review process it
just depends on the actual extension and variability of the
terminology in the field.
After the search, we proceed to select and evaluate the
obtained information. For this purpose, as already noted, the
study defines acceptance and rejection criteria related to its
specific goals, and in particular to the main goal which was
the reason to do the study, in the first place.
To finish, the obtained results will be analyzed and
interpreted. In this phase, the process will make possible to
synthesize the results with regard to the proposed goals.
III. BACKGROUND: ADAPTIVITY IN SERVICE-ORIENTED
ARCHITECTURES
Nowadays, the notions of service orientation (or service-
oriented computing, SOC) [9] and service-oriented
architectures (SOA) have been totally integrated in the
current conception of software. This is the reason why they
define a perfect workbench to assess adaptive properties in
generic software systems.
Therefore, this section reviews the context of work in
both fields, focusing in the assessment of adaptivity, and
service-oriented architectures.
A. Adaptivity Assessment & Evaluation
Adaptive systems can be defined as “systems able to
react to automatically adapt themselves to changes in their
environment”. This reaction can be specifically programmed,
or could rise from an emergent behavior. This category of
systems has been globally designated with the name of self-*
systems [10], which explicitly refers to the variability of the
concrete aspect to consider. However, in recent times most
authors prefer to designate them with the generic name of
adaptive (or self-adaptive) systems, like this paper did also in
the Introduction.
332
ICSEA 2011 : The Sixth International Conference on Software Engineering Advances
Copyright (c) IARIA, 2011. ISBN: 978-1-61208-165-6

Adaptivity is a complex field of study. First, because the
term has explicitly been conceived to be generic, so we must
first decide which specific feature (“attribute”) are we going
to consider every time. And second, because too often we
lack a clear reference model which could serve as the basis
to compare to the system’s degree of adaptivity. Therefore, it
is necessary to have some kind of model to make possible to
assess those capabilities, either quantitatively (in the ideal
case) or at least roughly, by approximation.
In general, the development of adaptive systems, as well
as the more concrete development of adaptive services, lacks
a clear set of methods and metrics able to assess the actual
capabilities of a specific implementation. That is, it is really
difficult to even decide if a given system is “adaptive” or not.
In fact, this particular distinction is almost intuitive; however
the increasing importance of this features, and the difficulties
in their implementation, highlight the relevance of achieving
the definition of a quantitative approach, able to deal with
concrete values. For this reason, one of the main goals of this
study focuses in checking existing references, which enable
or guide the process to obtain either the model or relevant
metrics, to be able to assess the level of adaptivity, even in a
qualitative way.
B. Service-Oriented Architecture: Service Composition
Mechanisms
A well-known definition of service-oriented architecture
(SOA), as given by Michael Papazoglou [11] states that it is
“a meta-architectural style, based in loosely coupled
services, which provides flexibility to business processes in
an interoperable way, and independently from the
technology”. Therefore, its main goal is interoperability,
which is itself a consequence of loose coupling.
However, a standard definition of SOA is still debated, in
spite of the popularity of the term probably because it has
been used with different meanings in different contexts, and
referring to different technological aspects. Beyond those
details which distinguish the many variants of the concept of
service (web services, RESTful services, grid systems, etc.),
there are still several intrinsic features in its definition. These
features imply that service-oriented architectures are a priori
more dynamic and flexible than many “traditional” ones, in
particular component-based architectures and this can be
considered inherent to its own nature.
From this point of view, it is interesting to note at least
two of these features, which suggest this kind of architecture
as a good evaluation workbench for adaptivity:
1) External Composition Mechanisms. First, services are
always part of a modular system they are conceived to be
used as part of a larger structure. However, there is a subtle
difference to more traditional approaches: service systems
are designed to be composed at runtime.
Services cannot assume anything about the rest of the
elements in the composition. First, their interface is separated
from the rest of the service, and therefore services never
interact directly to the rest of the system. Second, they are
not designed as part of a concrete compound: instead of that,
once they are implemented and deployed, they are included
in some composite system, which was later conceived.
These are the reasons why the well-known composition
models for services (choreography and orchestration) must
be conceived as external compositions. Thus a service does
not even need to know if it is contained in a composite: the
business logic (the “intelligence” of the system) belongs in
the structure itself, not in its individual components. Within
an orchestration, it is in the orchestrator; but choreographies
are even more complex, as the composition schema is
distributed along the composite i.e. it is decentralized.
Every individual service receives just a “local” subset of
instructions, without a perspective of the global plan. Even
service mashups, a promising approach, are again an external
composition model in fact, essentially an orchestration.
Another consequence is crosscutting. Unlike traditional
composition, service models do not preclude that the same
service is simultaneously a part of more than one composite.
This implies that every service composition is orthogonal to
any other which is performed later [6].
2) Instrinsically Open Architecture. Of course, many
existing systems, and distributed systems in particular, have
claimed to define an open architecture. In practice, an open
system is every system which, by defining or using an
standard interface, is able to compose any external element
defined as a client of that interface. However, if constraints
imposed by this interface are too strict, the limits they define
hinder the capture of information about the different clients
i.e. it would present an homogeneous architecture,which is
exactly the opposite of our goal.
Services use a different approach: the interface is defined
at the beginning, to offer a concrete functionality (a service),
and to guarantee a certain quality level (i.e. QoS). But apart
from that, services are conceived, even at the technical level,
to be composed to any other element able to interact to them.
Therefore, they are presented as the ultimate open system: in
the specific case of RESTful web services, for instance, the
only actual constraint is the use of the HTTP protocol, which
was conceived using the REST architectural style itself - and
this is not an actual constraint, nowadays.
Also, we have to consider that the current evolution of
service systems has a clear trend towards a significant rise of
the scale. The original “XML web services” were in general
small modules, of a scale comparable to that of objects, or
even smaller. Currently, the concept is clearly shifting to be
equivalent to so-called Software as a Service (SaaS) where
the scale of a service is similar to that of a complete
application. In fact, the approach itself is evolving from the
potential provided by a concrete technology which focused
on interoperability, to the design of a new, generic software
distribution model (shifting from “product” to “service”).
In any case, current service-oriented architectures, when
this term is understood in the wider sense [12], present the
same features of flexible and open composition we have
already noted and this makes them adequate as a
workbench for adaptivity evaluation in software systems.
IV. REVISED INFORMATION & METHODOLOGY
This study is based on information obtained from several
digital bibliography search engines. Specifically, we have
333
ICSEA 2011 : The Sixth International Conference on Software Engineering Advances
Copyright (c) IARIA, 2011. ISBN: 978-1-61208-165-6

used search engines from the best known and most widely
recognized publishers in the fields of Computer Science &
Information Technology, as well as Google Scholar.
To have a preliminary structuring of the area, we first
considered the results provided by Google Scholar. The goal
was to assess the research activity on adaptive systems in the
period 2000-2011, including every potential environment,
and comparing these results to those in the specific subarea
of service-oriented architectures in section A .
The remaining searches followed a more systematic
approach, guided by specific goals (in the form of questions),
specifically those which were proposed in section II.A.
Throughout all this search process, we have considered
the possibility of evaluating the used terminology, with the
purpose of extending the search to a wider scope but still
within the parameters of the study. This evaluation has made
possible to change and evolve the initial searches, to the final
form we will describe in the following.
After performing those search processes, our inclusion
and exclusion criteria were used to select the most relevant
articles. Then we also examined the references cited in these
papers, with the purpose to select other relevant papers,
which were not located previously due to their publication
stage, or which have been published by some additional
publisher. This way, the publishing bias we mentioned in
section II.B.
A. Search Strategy and Selection of Areas
The search strategy has been guided by our goals, by
answering to a set of questions.
The questions were bound to specific terminology. The
variety of meanings of some of the terms used in our search
made necessary to apply an iterative, evolutionary approach,
in which those search terms were finely tuned. At the end of
the process, our study has made possible to obtain a specific
terminology summary, which covers goal (4). This specific
terminology, obtained from multiple sources in the revised
information, has been represented using a pyramidal mesh,
which will be detailed in section IV.C. Therefore the most
significant terms and notions related to our field of study
have been collected, also emphasizing their similarities and
differences, something which is not always completely clear.
This way, in our iterative process we have refined concepts
such as autonomic vs. autonomous, adaptation vs. self-
adaptation, adaptive, self-organization, self-monitoring, etc.
The definition of these terms, as part of the results for our
goal (4), is briefly explained in section IV.C, where it also
explains the aforementioned pyramidal structure.
Within these terms, we should emphasize those which
were considered for our search, namely:
Adaptation, adaptive, adaptivity, self-*
“Software service”, service-oriented, SOA
Evaluation, “quality model”
In order to fulfill our first and second goals, we
performed a series of searches on Google Scholar, as well as
other databases. In the final search on Scholar, the questions
related to these goals were the following:
Assessment of the number of articles dealing with
adaptivity, against the number of those doing the
same in the service-oriented architecture area.
Which disciplines (research areas) are dealing with
and applying adaptation?
The first search, which intends to identify the different fields
of study related to adaptivity, is driven by the following
queries, referring to the compared subsets:
Query #1: (("autonomic" OR adaptive OR
adaptation OR autonomous OR adaptivity OR self)
AND (evaluation OR quality))
Query #2: (("autonomic computing" OR adaptive
OR adaptation OR autonomous OR adaptivity OR
self) AND (evaluation OR quality)) AND
(("software service") OR ("service-oriented
Architecture") OR ("Service Oriented
Architecture"))
These queries, on the Google Scholar engine, resulted in
about 7.806.600 references for query #1 and a total of 17.565
for query #2. The refined search provides roughly about
1500 results every year, from 2000 to 2011. The scope of the
study is very wide, covering almost any scientific area
which is not surprising and confirms our intuition.
2011
2010
2009
2008
2007
2006
2005
2004
2003
2002
2001
2000
770
2980
3180
3050
2630
1980
1410
668
379
243
189
86
Figure 1. References for Query #2 from 2000 to 2011 (1-12)
The most representative areas for query #1 are: Life Science,
Engineering, Social Science and Law, Mathematics and
Statistics, Medicine and Computer Science (e.g. Ubiquitous
Computing, Grid Environments [13], mobile systems and
services [14] [15], Domotics [16], etc.)
Goals numbered as (3) are essential in the context of this
study i.e. the evaluation of adaptivity in service-oriented
architectures. Related searches have been more specific, and
they have already been performed in bibliography databases
from the publishers themselves. The purpose was to obtain a
more accurate list of articles, trying to reach all the relevant
information without any accidental loss. We also have used
3; 3180; 19%
6; 1980; 11%
7; 1410; 8%
8; 668; 4%
12; 86; 0%
11; 189; 1%
9; 379; 2%
10; 243; 1%
1; 770; 4%
1
2
3
4
5
6
7
8
9
10
11
12
334
ICSEA 2011 : The Sixth International Conference on Software Engineering Advances
Copyright (c) IARIA, 2011. ISBN: 978-1-61208-165-6

references from the selected articles, and in relevant cases we
have also searched for the corresponding citations.
For instance, a representative query could be:
Query #3: ((("autonomic computing" or self) and
(adaptive or adaptation or adaptivity)) and
(evaluation or quality)) and (("software service") or
("service-oriented Architecture") or ("Service
Oriented Architecture"))
B. Inclusion and Exclusion Criteria.
1) Related to goals (1) and (2): Neither inclusion nor
exclusion criteria were defined this search was delimited
just by query clauses themselves, i.e. queries #1 and #2. This
could seem less “systematic” than the remainder of the study.
However, we did not intend to do a detailed classification of
areas and fields of study, but to assess if our suggestion (to
focus on service architectures) was reasonable. This goal
alone could be used to justify a specific systematic study,
which would be even more complex than the one presented
here. The reason to include this goal is to perform a shallow
examination of some of the areas suggested by many search
engines, with the purpose of perceiving the actual extension
of the field, as well as its growing rate. A systematic study
on this specific aspect would be of great interest to detect
methods or tools (from other fields) which could be applied
in the context of adaptive software.
2) Related to goals numbered as (3). In this search
process, queries are quite more specific, and they mainly
focus in evaluating adaptivity by means of self-properties.
Therefore it considers papers including models, frameworks,
metrics and evaluations on the topic. This study excluded
papers not dealing with self-properites, and those which did
not focus on assessing adaptivity/autonomic features.
3) Related to goal (4): The resulting terminology has
been extracted from papers selected in the previous phase.
Therefore their inclusion and exclusion criteria are the same.
However, some additional selection criteria are also added;
specifically, articles which define or clarify terminological
aspects, or which perform reviews in which terminological
features are also clarified.
C. Results
1) Related to goals (1) and (2): The range and scope of
the many fields of study which apply adaptivity is too wide
to be considered in this paper in fact, it would require an
specific study itself. Therefore, for this purpose we refer to
the results outlined in section IV.A, and to the conclusions
summarized in sections V.B and V.C, which expose a global
vision for this part of our study.
2) Related to goal (3): This goal, together with results
about terminology from goal (4), provides a characterization
of adaptivity. The following table summarizes briefly this
part of the study. It describes representative categories of
existing work, indicating for each one of them references,
goals, projects, metrics and their organization.
TABLE I. EVALUATION OF ADAPTIVITY
Ref
Evaluation of Adaptivity
Goal/ Project/ Context
Metrics/ Organization
[28]
[29]
Metrics to evaluate Self-*
systems criteria
/ -- /
Web-based C/S, E-learning
(AHA!), Videoconference,
Multiagent Systems
The many metrics for each
Propierties (reuse, genericity…)
/methodological, architectural,
intrinsic characteristic and
runtime
[30]
Metrics for restarting
strategies in WS Reliable
Messaging (WSRM)
/ -- / WSRM
Effective Transmission Time
(ETTi), Unnecessary Resource
Consumption (URCi),
Savings (SAVi)
/ Adaptation parameters
(structures, payoff,
environments, time)
[34]
Quality Model for the
software architecture of
self-healing applications
(based on ISO 9126)
/Attribute-based
architectural styles
(ABAS)
/ --
Traditional quality attributes
(Maintainability Modifiability,
Extensibility-, Reliability Fault
tolerance, Robustness-)
Specific Autonomic Quality
attributes (Support for detecting
anomalous system behavior,
Failure Diagnosis, Simulation of
expected behavior, Differencing
between expected and actual
behavior, Testing of correct
behavior). Autonomic Metrics:
Detection ratio, Detection time,
Fault Model Observability,
Awareness, Coupling
/ Traditional and Autonomic
attributes
[35]
User-level Quality of
Service (QoS)
(Context awareness)
/ PLASTIC, model PFM
/ Pervasive Networking
Environment
Performance evaluation
[36]
Quality model to evaluate
Self-* attributes (adopts 6
features of ISO 9126:
Reliability, Efficiency,
Maintainability, Usability,
Functionality, Portability)
/ --
/ --
The autonomic maturity of each
level in complex software
(Complexity of development,
business domain and
management)
/ Three-level Autonomic
Evaluation Model
(Software Complexity, Relative
Quality Factor, Autonomic
features).
Fuzzy comprehensive evaluation
(qualitative factors)
3) Related to goal (4): These results are summarized in
Fig. 2, which shows the wide spectrum of so-called self-
properties, ranging from very generic properties which can
be applied in many systems (such as context-awareness) to
specific attributes which are only found in some approaches
(like emergence). Apart from these, there are several other,
less frequent, properties also, many of them are referred to
using different names and variants (self-managing vs. self-
management). All these issues have been considered in the
study, and they are implicitly included in this paper.
Fig. 2 represents three pyramids rather than one they
are conceptually related, but they must be studied separately.
Pyramid #1 represents environmental adaptation, i.e. the
335
ICSEA 2011 : The Sixth International Conference on Software Engineering Advances
Copyright (c) IARIA, 2011. ISBN: 978-1-61208-165-6

Citations
More filters
Proceedings ArticleDOI
04 Jun 2012
TL;DR: This paper externalize and decentralize autonomic managers, thereby providing support for autonomic orchestration of services and hence autonomic adaptation of the business process in the response to failures.
Abstract: This paper describes a novel software engineering approach for designing self-healing systems to manage business processes with particular focus on the recovery from faults caused by uncertainty and semantic failures of data. By the employment of service-oriented software engineering methods, mediation, service discovery, and late binding, we externalize and decentralize autonomic managers, thereby providing support for autonomic orchestration of services and hence autonomic adaptation of the business process in the response to failures. The complexity of the resulting self-healing business process manager is reduced as the system is decomposed into a large number of small and thus easy to maintain components, each implementing a very simple behavior. Similar to systems occurring in nature, the dynamic, composition of these small components spontaneously leads to sophisticated healing capabilities.

10 citations


Cites background from "A Systematic Review of Self-adaptat..."

  • ...Thus the operation of an individual service is not contingent upon recognition or knowledge of the composite system; instead, the business logic (the “intelligence” of the system) belongs in the structure itself, not in its individual components [13]....

    [...]

Proceedings Article
01 Jan 2014
TL;DR: This paper proposes an automated evaluation method which composes the architectural tactics and the patterns to measure the availability of software architectures and improves the data gathering and analysis activities of the SASSY (Self-Adaptive Software SYstems) framework.
Abstract: nowadays, several non-automatic or semi-automatic software architecture evaluation methods have been proposed to evaluate their quality attributes as availability. In spite of their applicability, they are not effective in self-adaptive software architectures due to their off-line properties; e.g., scenario-based methods. Since the architectural tactics provide a bridge between architectural designs and quality attributes, they have sufficient potential to resolve this problem. In this paper, we assume that the software architecture is completely composed of some architectural patterns. Then we propose an automated evaluation method which composes the architectural tactics and the patterns to measure the availability of software architectures. In this method, the composition of a few availability tactics and patterns are simulated with appropriate probability distribution functions. To predict the availability of patterns, a data mining approach is applied to these simulated models to generate training models for each combination of tactics and patterns. Furthermore, a utility function is defined to compute the availability of systems by these models in O(n) where n is the number of patterns of systems. This method improves the data gathering and analysis activities of the SASSY (Self-Architecting Software SYstems) framework. To validate our method, we have applied it to the Rapidminer case study. KeywordsAvailability, Self-Adaptive Architecture, Architectural Tactic, Architectural Pattern, Data Mining.

5 citations


Cites background from "A Systematic Review of Self-adaptat..."

  • ...The quality measurement is one of these problems which addressed in self-adaptive software architectures when they monitor the context of systems to analyze their quality in run time [12]....

    [...]

01 Jan 2015
TL;DR: In this paper, a self-adaptive process (SAP) that maintains the software architecture quality using the MAPE-K standard model is proposed, which can be plugged into various software development processes and service-oriented methodologies due to its explicitly defined inputs and outputs.
Abstract: We propose a self-adaptive process (SAP) that maintains the software architecture quality using the MAPE-K standard model. The proposed process can be plugged into various software development processes and service-oriented methodologies due to its explicitly defined inputs and outputs. To this aim, the proposed SAP is integrated with the service-oriented modeling and application (SOMA) methodology in a two-layered structure to create a novel methodology, named self-adaptive service-oriented architecture methodology (SASOAM), which provides a semi-automatic self-aware method by the composition of architectural tactics. Moreover, the maintenance activity of SOMA is improved using architectural and adaptive patterns, which results in controlling the software architecture quality. The improvement in the maintainability of SOMA is demonstrated by an analytic hierarchy process (AHP) based evaluation method. Furthermore, the proposed method is applied to a case study to represent the feasibility and practicality of SASOAM.

5 citations

Proceedings ArticleDOI
02 Jul 2013
TL;DR: The principles embodied in adaptive architectures seem to provide a good basis for the definition and description of systems-of-systems, and a pace layering strategy is suggested to coordinate both through a paceLayering strategy.
Abstract: Adaptivity and systems-of-systems (SoS) have always had a close relationship, as it is one of their defining features. Moreover, there is a clear similarity between the requirements of a SoS and those of many adaptive systems, such as autonomic and self-adaptive systems. In recent years, this kind of adaptive systems has been carefully studied; however, they often operate at a very different scale, being smaller than a typical SoS. The common nexus between both perspectives seem to be situated at the architectural level: the same adaptive techniques are recursively applied in different strata in a hierarchical composite. Therefore, the principles embodied in adaptive architectures seem to provide a good basis for the definition and description of SoS. This paper relates those principles to the corresponding structures in software evolution, and suggests to coordinate both through a pace layering strategy.

5 citations


Cites background or methods from "A Systematic Review of Self-adaptat..."

  • ...This is not completely new, as this is also a feature of many of the adaptive architectures mentioned in the previous section, and prominently of service-oriented architectures [1, 47, 48]....

    [...]

  • ...The basic idea is to use an adaptive architecture as the basis to build the composite, conceiving the constituent systems as the components of this dynamic architecture, which provides the required features as a set of adaptive services [47]....

    [...]

  • ...In our previous work [20, 47], as well as in the previous section, we have outlined the features and requirements for self-adaptive (and autonomic) systems, relating them to the essential definition of system-of-systems....

    [...]

  • ...As already noted, self-adaptation is a very complex issue, and it can be considered at many different levels of description; it has even been described as a set of conceptual layers composing a pyramidal hierarchy [20], or even three [47]....

    [...]

Journal ArticleDOI
TL;DR: This study identifies the key factors that influence runtime adaptation in service-oriented systems (SOSs) and examines how well they are addressed in 29 adaptation approaches intended to support SOSs.
Abstract: Software as a Service reflects a ‘service-oriented’ approach to software development that is based on the notion of composing applications by discovering and invoking network-available services to accomplish some task. However, as more business organisations adopt service-oriented solutions and the demands on them grow, the problem of ensuring that the software systems can adapt fast and effectively to changing business needs, changes in their runtime environment and failures in provided services has become an increasingly important research problem. Dynamic adaptation has been proposed as a way to address the problem. However, for adaptation to be effective several other factors need to be considered. This study identifies the key factors that influence runtime adaptation in service-oriented systems (SOSs) and examines how well they are addressed in 29 adaptation approaches intended to support SOSs.

4 citations


Cites background or methods from "A Systematic Review of Self-adaptat..."

  • ...Romay’s [21] review of self-adaptation techniques in SOA reveals that current research focuses largely on selfconfiguring techniques....

    [...]

  • ...The work of [19], [8] and [21] describe self-configuring adaptation techniques....

    [...]

References
More filters
Journal ArticleDOI
Jeffrey O. Kephart1, David M. Chess1
TL;DR: A 2001 IBM manifesto noted the almost impossible difficulty of managing current and planned computing systems, which require integrating several heterogeneous environments into corporate-wide computing systems that extend into the Internet.
Abstract: A 2001 IBM manifesto observed that a looming software complexity crisis -caused by applications and environments that number into the tens of millions of lines of code - threatened to halt progress in computing. The manifesto noted the almost impossible difficulty of managing current and planned computing systems, which require integrating several heterogeneous environments into corporate-wide computing systems that extend into the Internet. Autonomic computing, perhaps the most attractive approach to solving this problem, creates systems that can manage themselves when given high-level objectives from administrators. Systems manage themselves according to an administrator's goals. New components integrate as effortlessly as a new cell establishes itself in the human body. These ideas are not science fiction, but elements of the grand challenge to create self-managing computing systems.

6,527 citations


"A Systematic Review of Self-adaptat..." refers background or methods in this paper

  • ...the capability of a system to act independently) from autonomic (understood here as the combination of several self-properties [4][22])....

    [...]

  • ...(autonomic systems) [4] [5], among many others....

    [...]

  • ...The wide scope of the field suggests that there could be methods and techniques designed for the evaluation of adaptivity [2] [4] [5] [22] which could be applied at the software architecture level....

    [...]

01 Jan 2004

3,740 citations


"A Systematic Review of Self-adaptat..." refers methods in this paper

  • ...From these goals, the paper follows a methodological approach based on [8] with the purpose to achieve a greater soundness than a traditional narrative description....

    [...]

Journal ArticleDOI
TL;DR: An introduction to the motivation and concepts of autonomic computing is provided and some research that has been seen as seminal in influencing a large proportion of early work is described, including the works that have provided significant contributions to an established reference model.
Abstract: Autonomic Computing is a concept that brings together many fields of computing with the purpose of creating computing systems that self-manage. In its early days it was criticised as being a “hype topic” or a rebadging of some Multi Agent Systems work. In this survey, we hope to show that this was not indeed ‘hype’ and that, though it draws on much work already carried out by the Computer Science and Control communities, its innovation is strong and lies in its robust application to the specific self-management of computing systems. To this end, we first provide an introduction to the motivation and concepts of autonomic computing and describe some research that has been seen as seminal in influencing a large proportion of early work. Taking the components of an established reference model in turn, we discuss the works that have provided significant contributions to that area. We then look at larger scaled systems that compose autonomic systems illustrating the hierarchical nature of their architectures. Autonomicity is not a well defined subject and as such different systems adhere to different degrees of Autonomicity, therefore we cross-slice the body of work in terms of these degrees. From this we list the key applications of autonomic computing and discuss the research work that is missing and what we believe the community should be considering.

918 citations


"A Systematic Review of Self-adaptat..." refers methods in this paper

  • ...(autonomic systems) [4] [5], among many others....

    [...]

  • ...The wide scope of the field suggests that there could be methods and techniques designed for the evaluation of adaptivity [2] [4] [5] [22] which could be applied at the software architecture level....

    [...]

Proceedings ArticleDOI
23 May 2007
TL;DR: Some of the current promising work in self-management is discussed and an outline three-layer reference model is presented as a context in which to articulate some of the main outstanding research challenges.
Abstract: Self-management is put forward as one of the means by which we could provide systems that are scalable, support dynamic composition and rigorous analysis, and are flexible and robust in the presence of change. In this paper, we focus on architectural approaches to self-management, not because the language-level or network-level approaches are uninteresting or less promising, but because we believe that the architectural level seems to provide the required level of abstraction and generality to deal with the challenges posed. A self-managed software architecture is one in which components automatically configure their interaction in a way that is compatible with an overall architectural specification and achieves the goals of the system. The objective is to minimise the degree of explicit management necessary for construction and subsequent evolution whilst preserving the architectural properties implied by its specification. This paper discusses some of the current promising work and presents an outline three-layer reference model as a context in which to articulate some of the main outstanding research challenges.

900 citations


"A Systematic Review of Self-adaptat..." refers background in this paper

  • ...Though it might seem a secondary issue, the relevance of adaptivity is such that even well-known authors as Kramer & Magee have claimed [7] that “a significant advance in the techniques which are required for the effective development of adaptive systems would imply an advance of an order of magnitude in every fundamental aspect of Software Engineering”....

    [...]

Book
15 Sep 2007
TL;DR: The concept of Software as a Service, a More Complete Definition of Web Services, and the Service Oriented Architecture Revisited, a Practical Guide to Web Services Design and Implementation, are presented.
Abstract: PART 1 BASICS Chapter 1. Web Services basics 1.1. Introduction 1.2. The Concept of Software as a Service 1.3. A More Complete Definition of Web Services 1.4. Characteristics of Web Services 1.5. Service Interface and Implementation 1.6. The Service Oriented Architecture (SOA) 1.7. The Web Services Technology Stack 1.8. Quality of Service 1.9. Web Services Interoperability 1.10. Web Services versus Components 1.11. Impact and Shortcomings of Web Services 1.12. Summary PART 2 ENABLING INFRASTRUCTURE Chapter 2. Distributed Computing Infrastructure 2.1. Distributed Computing and Internet Protocols 2.2. The Client/Server Model 2.3. Characteristics of Inter-Process Communication 2.4. Synchronous Forms of Middleware 2.5. Asynchronous Forms of Middleware 2.6. Request/Reply Messaging 2.7. Message Oriented Middleware 2.8. Transaction Oriented Middleware 2.9. EnterpriseApplication and e-Business Integration 2.10. Summary Chapter 3. Brief Overview of XML 3.1. XML Document Structure 3.2. URIs and XML Namespaces 3.3. Defining Structure in XML Documents 3.4. XML Schema Reuse 3.5. Document Navigation and Transformation 3.6. Summary PART 3 CORE FUNCTIONALITY AND STANDARDS Chapter 4. SOAP: Simple Object Access Protocol 4.1. Inter-Application Communication and Wire Protocols 4.2. SOAP as a Messaging Protocol 4.3. Structure of a SOAP Message 4.4. The SOAP Communication Model 4.5. Error Handling in SOAP 4.6. SOAP over HTTP 4.7. Advantages and Disadvantages of SOAP 4.8. Summary Chapter 5. Describing Web Services 5.1. Why is a Service Description Needed? 5.2. WSDL: Web services Description Language. 5.3. Using WSDL to Generate Client Stubs 5.4. Non-functional Descriptions in WSDL 5.5. Summary Chapter 6. Registering and Discovering Web Services 6.1. Service Registries 6.2. Service Discovery 6.3. UDDI: Universal Description, Discovery, and Integration. 6.4. Summary PART 4: EVENT NOTIFICATION AND SERVICE ORIENTED ARCHITECTURES Chapter 7. Addressing and Notification 7.1. Web Services and Stateful Resources 7.2. Introduction to the WS-Resource Framework 7.3. Web Services Notification 7.4. Web Services Eventing 7.5. Summary Chapter 8. Service-Oriented Architectures 8.1. What is a Software Architecture 8.2. The Service Oriented Architecture Revisited. 8.3. Service Roles in an SOA 8.4. Reliable Messaging 8.5. The Enterprise Service Bus 8.6. The Extended Service Oriented Architecture 8.7. Summary PART 5: SERVICE COMPOSITION AND SERVICE TRANSACTIONS Chapter 9. Processes and Workflows 9.1. Business Processes and their Management 9.2. Workflows 9.3. Business Process Integration and Management 9.4. Cross-enterprise Business Processes 9.5. Service Composition Meta-model 9.6. Web Services Orchestration and Choreography 9.7. The Business Process Execution Language (BPEL) 9.8. Choreography 9.9. Other Initiatives and Languages 9.10. Summary Chapter 10. Transaction Processing 10.1. What is a Transaction? 10.2. Distributed Transactions 10.3. Nested Transactions 10.4. Transactional Web Services 10.5. WS-Coordination and WS-Transaction 10.6. Web Service Composite Application Framework 10.7. Summary PART 6: SERVICE SECURITY AND POLICIES Chapter 11. Securing Web Services 11.1. Web Services Security Considerations 11.2. Network Level Security Mechanisms 11.3. Application Level Security Mechanisms 11.4. Security Topologies 11.5. XML Security Standards 11.6. Securing Web Services 11.7. Summary Chapter 12. Service Policies and Agreements 12.1. What are Policies and why are they Needed? 12.2. Types of Policies 12.3. Policies and Web Services Standards 12.4. WS-Policy Framework 12.5. Service Agreements 12.6. Summary PART 7: SERVICE SEMANTICS AND BUSINESS PROTOCOLS Chapter 13. Semantics and Web Services 13.1. The semantic Interoperability Problem 13.2. The Role of Metadata 13.3. Resource Description Framework 13.4. Richer Schema Languages 13.5. WS-Metadata Exchange 13.6. Summary Chapter 14. Business Protocols 14.1. The Supply Chain Business EcoSystem 14.2. Semantic Problems at the Business Process-Level 14.3. Business Standards and Protocols 14.4. XML in Vertical Organizations 14.5. Summary. PART 8: SERVICE DESIGN AND DEVELOPMENT Chapter 15. Web Services Development Lifecycle 15.1. Why is a Web Services Development Methodology Needed? 15.2. Web Services Development and Related Methodologies 15.3. System Development Life Cycle 15.4. Properties of Service-Oriented Design and Development 15.5. Service-Oriented Design and Development Milestones 15.6. Qualitiy of Service-Oriented Design and Development. 15.7. Overview of Web Services Development Life Cycle 15.8 The Planning Phase 15.9 The Analysis Phase 15.10. The Service Design Phase 15.11. The Service Construction Phase 15.12 The Service Test Phase 15.13 The Service Provisioning Phase 15.14 The Service Deployment Phase 15.15 The Service Execution Phase 15.16 The Service Monitoring Phase 15.17 Summary PART 9: SERVICE MANAGEMENT Chapter 16. Web Services Management 16.1. Managing Distributed Systems 16.2. Enterprise Management Frameworks 16.3. Conceptual Management Architecture 16.4. Standard Distributed Management Frameworks 16.5. Web Services Management 16.6. The Web Services Distributed Management Initiative 16.7. Summary PART 10: EMERGING TRENDS Chapter 17. Recent Trends and Developments 17.1. Grid Computing 17.2. Mobile Computing 17.3. Summary References Index

688 citations