=Paper=
{{Paper
|id=Vol-1294/paper20
|storemode=property
|title=Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
|pdfUrl=https://ceur-ws.org/Vol-1294/paper20.pdf
|volume=Vol-1294
|dblpUrl=https://dblp.org/rec/conf/icaase/BouguessaBM14
}}
==Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform==
ICAASE'2014 Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
Adaptation of Service-Based Context-
Aware Applications with FraSCAti Platform
Abdelkader Bouguessa Boudjemaa Boudaa Leila Amel Mebarki
Department of Computer Science Ibn Department of Computer Science Department of Computer Science
Ibn Khaldoun University Ibn Khaldoun University Ibn Khaldoun University
Tiaret, Algeria Tiaret, Algeria Tiaret, Algeria
abdelkader.bouguessa@gmail.com boudjemaa.boudaa@univ-tiaret.dz leilamel.mebarki@gmail.com
Abstract – The dynamic adaptation of running service-based applications without stopping has long been
shown to be more than a dream for designers and developers. Recently, several works have been proposed
in the literature, where most of them do not have a clear and complete process of adaptation or count on a
specific plat-form that decreases the use of these adaptable large-scale applications. This paper aims to
present a context-aware dynamic adaptation that covers techniques for handling the impact of context
changes onto the execution of context-aware applications. We propose a comprehensive solution with
software architecture that enables the dynamic adaptation of services built by assembling components,
depending on context execution. This architecture is based on SCA (Service Component Architecture)
specification, and implemented with the FraSCAti platform. The SCA specification guarantees pure
component assembly and the FraSCAti platform guarantees the automatic reconfiguration. A case study of
a modern tourism agency is treated by the proposed adaptation solution in order to exhibit its feasibility.
Keywords – Dynamic Adaptation, Context-awareness, Service-based applications, FraSCAti, MAPE.
SCA [3] is principally elaborated to realize large-
1. INTRODUCTION scale systems and distributed applications.
Regardless to communication protocols or
Advances in technology allow us to design programming languages, SCA standard aims to
efficient applications, where their contextual define a set of services in one architecture that
conditions are different. In order to meet specific stands on four specifications: assembly
needs, components or services of these language, component implementations, bindings,
applications can act synergistically and and policies [4]. This paper describes a support
communicate with each other within one or to the execution of service-based applications
different operating systems and across two or that may require adaptation to tackle changing
more connected computers. The agility, user context, or even altering environment. Due
reliability, flexibility and reusability that the to the situation where the services may become
service-based architecture (SOA) [1] promises available or not during the execution of the
are the main raisons of building service-based application, this concept helps constructing
applications (SBAs) on such an architecture. This service-based applications that are capable to
development, if properly designed and autonomously adapting, and consequently
implemented, will make these SBAs (such as involve the evaluation of novel changes to its
healthcare, travel, aerospace and defense current design. The goal is to propose a
applications) able to discover and compose complete process of adaptation that does not
services at runtime, thus fulfilling ever-changing count on a specific platform in order to increase
requirements. Based on the combination of the use of these adapt-able large-scale
Service-Oriented Architecture (SOA) and applications within open, dynamic, and
Component-Based Software Engineering distributed environments.
(CBSE) [2] principles, the evolving paradigm
International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria. 171
ICAASE'2014 Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
A general definition of context provided by Dey et the creation of self-adaptive applications, and
al. [5] is stated as “any in-formation used to Dynaco offers an adaptation framework,
characterize the situation of entities (i.e., whether originally designed for applications on grids.
a person, place, or object) that are considered According to these two generic frameworks, the
relevant to the interaction between a user and an adaptation is separated into phases in order to
application, including the user and the application perform several types of adaptations. The MAPE
themselves. Context is typically the location, model [11] becomes now a standard reference
identity, and state of people, groups, for specifying a way to divide the different
computational and physical objects”. The adaptation phases. The limit of these two works
Context-awareness concept that our solution is that they are intended to the reconfiguration of
depends on, determines an application’s component-based applications. Concerning
behavior, it can be also defined as a response dynamic adaptation of service-based
component used to manage environmental applications, we will consider the generic
awareness issues as well as unforeseen framework presented by Andrés et al. in [12] to
changes by providing better information to specify different kinds of adaptation in various
designers, and hence they would dynamically environments. The authors tackled in detail the
adjust their applications. four functionalities of the MAPE model [11] (see
The particularity of our proposal is to consider section C). Nevertheless, the main difference
the work of Dey et al. [5] that introduced the idea between their proposition and ours is the
of adaptation by defining context-awareness as a technologies, techniques and infrastructure. Our
leading concept to the automation of a software selection of FraSCAti platform is motivated by its
system, and to use the FraSCAti plat-form as a ability of customization depending on the
run-time support for SCA, which offers designer needs; also, it carries runtime
management features that allow us to easily reconfiguration capabilities into a SCA
perform dynamic adaptation. Intended to environment.
implement context-aware applications that can
dynamically change or adapt their behavior
based on their context, our proposed solution is 3. A DYNAMIC ADAPTATION OF CONTEXT-
presented through an interesting Tourism AWARE APPLICATIONS
Agency System case study, where it seeks
mainly to help travelers finding their suitable In this section, we will introduce and define the
destinations in the appropriate time based on elements of our solution, by mentioning the
monitored information provided by various adaptation fields. We will mention then existing
services. The rest of the paper is organized as adaptation types, and discuss in detail the ones
follows. Section 2 discusses related work. that we focus on in our work. At the end of this
Section 3 proposes a strategy of dynamic section, we will present our proposed solution,
adaptation for service-based applications in which target dynamic adaptation for context-
which a functional architecture based on aware application, and describe each phase of
adaptation module is detailed. Finally, section 4 the MAPE model. Cloud Computing, mobile
reports our Tourism Agency System case study computing, and others are among the research
while section 5 concludes this paper, and areas that introduce the challenge of applications
indicates our future work. adaptation, and the ability to reconfigure them so
that they will be able to adapt themselves to their
executions environment. Adaptation can be
2. RELATED WORK considered as the process of modifying an
application in order to fit new situations and
Various researches found in the literature with satisfy specific requirements. An application
the objective to support the dynamic adaptation, should be adjusted if its execution context has
notably Context Toolkit [2], SECAS [6], been changed. Context-aware applications
COSMOS [7] and WildCAT [8], have tried to should adapt themselves at run-time, for many
realize frameworks that make applications different purposes, in particular, to deal with the
adaptable. However, most of them proposed amount of available resources, and by using
incomplete adaptation approaches; where some more efficient program, the user needs will be
works performed dynamic adaptation depending better satisfied. Note that introducing facilities for
on a given infrastructure, and others are limited context-aware adaptation in exiting code is a
to an application domain [12]. To the best of our very difficult task.
knowledge, SAFRAN [9] and Dynaco [10] are
two important works, which present clear
dynamic adaptation strategies. SAFRAN enables
International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria. 172
ICAASE'2014 Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
3.1. Adaptation types observation process is done at each layer of the
architecture, and equally the adaptation
Adaptation types can be defined as mechanisms, schedules may also be performed at different
which enable the application to react in order to layers as needed.
fulfill specific adaptation needs, regarding the
evolutions of the context. These are the five 3.2.1. OS & hardware layer
possible types of adaptation strategies [9]:
parametric adaptation, functional adaptation, This level is the infrastructure that constitutes
structural adaptation, behavioral adaptation, and the context source. For example, in case new
the environmental adaptation. For the purpose of OS policies become available, this level may
better control the parametric adaptation [13], our require dynamic adaptation.
solution will touch only input and output service
parameters. The process of modifying those 3.2.2. FraSCAti Platform layer
parameters will be not only to ensure the proper
functioning but also to leverage new possibilities, At this level, explorer can detect that a service
which can appear dynamically. appears or disappears; that means keeping
Input parameter. This parameter under observation various services’ progresses.
comprises the population of operation FraSCAti [14], which is a reflective platform for
parameters based on context. One or deploying, hosting, and managing SCA
more parameters values of the request applications, its different subsystems are
message are replaced with values implemented as SCA components. FraSCAti
related to contextual information. provides a homogeneous view of a middleware
Output parameter. Response software stack where the platform, the non-
manipulation is also a context-based; functional services, and the applications are
where the service responses can be uniformly designed and implemented with the
manipulated and modified. The same component-based and service-oriented
adaptation is done after the service has paradigm. This platform has the particularity of
executed and constructed a response. facilitating the process of dynamic adaptation of
This can have sorting or filtering SCA components. Our work is motivated by the
operations, for instance. fact that FraSCAti is a general model, i.e. it is not
specific to an application domain [15]. Moreover,
3.2. Solution overview it is an extension of the Fractal model, in other
words, it contains the various basic concepts
This paper presents a novel approach that shared by most other models. Technically, the
aims at dynamically adapting the execution of FraSCAti model is very flexible, allowing for
the service-based applications at runtime in many dynamic reconfigurations and especially is
case of context changes. As shown in Fig. 1, designed primarily to be easily extended, and it
our proposal relies on four main layers; allows the addition of new features. Likewise, an
where, it is important to emphasize that the application built using FraSCAti is seen as a set
Figure 1: Architecture of the proposed Dynamic Adaptation.
International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria. 173
ICAASE'2014 Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
of components and services, these components possibilities that may appear during its
communicate with each other through referrals. execution. According to the MAPE model [11],
The extension of the FraSCAti model provides the adaptation module is divided into four main
better support for synchronization of different phases: Monitoring or observation, Analysis or
application entities during the adaptation Decision, Planning, and Execution.
process. This dynamic model offers also all the In the next section, we will describe in more
basic functionalities we need without making it detail the MAPE module as well as techniques
more complex than necessary, allowing us to and technologies related to each phase of it.
easily integrate our work into the framework of
the model itself. 3.3. Adaptation module
3.2.3. Service-based applications layer This section will give some details about our
implementation that relies on the adaptation
The end user interacts directly with this layer, module. This last is responsible for managing
which represents the application he is using; an the dynamic adaptation of context-aware
adaptation may be triggered via an adaptor, in service-based application. The MAPE model
case the user changes his requirements, which [11] divides this module into four phases (Fig. 1):
can be detected via an explorer. As obvious in
Fig. 1, the present layer contains service-based 3.3.1. The observation phase
applications (SBA) with Service Component
Architecture (SCA), which defines a general The first phase of the MAPE model corresponds
approach that can exploit components, and to the observation. It consists of monitoring the
describe how they work together. In particular, context of the application in order to detect
SCA specification defines how to create changes that need adaptation. This context can
components and how to combine them into change from available system resources
complete applications [16]. Regardless of the (bandwidth, CPU, etc.) to the user preferences
language used to build the components of an and environmental properties (weather, time,
SCA application and beyond the component etc.) [15]. Monitoring the environment (execution
technology used, SCA defines a common context) of the application and/or the application
assembly mechanism for specifying how these itself is the detection of the occurrence of certain
elements are gathered within applications. The circumstances requiring adaptation. This step
SCA platform is a framework designed for the can be implemented using context-aware
development of service-based applications. The adaptive application. The technology we used in
main characteristic of this platform is that it this phase is WildCAT, a Generic Framework for
supports a wide variety of programming Context-Awareness [9]. This Framework’s
languages for implementing and defining objective is to offer a pragmatic approach to
interfaces as well as components. SCA does not ease the creation of Context-Aware applications.
offer a new programming language, or a new Fig. 2 depicts the main function of the WildCAT
technology for accessed services, but it can programming interface [8], which allows
assemble all these existing technologies [17]. discovering the characteristics of the context,
Beyond the advantages inherent to this reason on it and automatically be notified when
approach, SCA allows easy integration of specific events occur. The main reasons behind
existing non-SCA development. One more our choice of this system is the simplicity of its
feature of the present platform is the policies use by application programmers, and it’s
that are defined outside the code performing the considered generic, i.e. it’s not tied to a specific
service may be changed without impact on the application domain, moreover this system
application code, which will save time and enables and allows an efficient and custom
money by allowing the developer to focus on implementations for particular domains. The
business logic. Adaptation module is connected with each layer
through two elements; an Explorer that
3.2.4. Adaptation module layer measures the level’s state and extracts new
information appearing in that layer, for example
WSensors in this level can listen multiple at the OS & Hardware layer. The Explorer can
explorers and push various events directly given determine this level’s properties, such as the
to the adaptation module, whose function is not number of available processors as well as RAM
only to keep the application running, but also to capacity.
make the best reconfiguration based on the new
International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria. 174
ICAASE'2014 Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
various parts that compose a Drools rule may be
extended to lend any domain- specific sense to
the rule. As depicted in Fig. 3, a Drools rule has
the following structure: A set of Events, which is
the conditional parts of the rule, and a set of
Actions, which is a block that allows specific
actions to be done. The decision phase is the
start point of our solution to perform adaptation;
it relies on gathered contextual information to
decide whether the current situation requires
adaptation or not. Once this phase has decided
that an adaptation should be done, it transmits
Figure 2: WildCAT overview. reaction to the planning phase. The reaction
describes what kind of adaptation should be
Second element is an Adaptor that is charged of
performed.
performing adaptation within layers if necessary.
In our case every Explorer is linked by a 3.3.3. The planning phase
"WSensor". In order to monitor the execution
context and detect its changing over time, This third phase consists on establishing a plan
WildCAT gives a special implementation to the to apply reactions given from the Decision
used monitors and after a certain period, the phase, this plan is a set of actions of various
system collects the new contextual information types (environmental, structural, functional,
so it will be notified by the occurred events, behavioral, or even parametric) able to change
hence the application adapts to those changes the current state of the application into its new
taking into account the new contexts. state. Before applying reconfiguration
operations, we must associate those operations
3.3.2. The decision phase
to their components, this step is called weaving
of adaptation policies. To do so, our approach is
Considering the current state of the application
based on the aspect paradigm. Aspect-Oriented
and depending on the new contextual
Programming (AOP) [19] gives us mechanisms
circumstances detected in the first phase, the
to achieve an adaptation as a Cross-Cutting
application must decide reconfiguration Concern, which means to separate the
operations to perform so it adapts to new adaptation code from the functional code of the
situations. To do this, the second phase of the application. The aspect includes a code that can
MAPE model consists on reactivating an be grafted (or weaved) in a source code through
adaptation policy, detecting events occurring in a program called Weaver and cut-off points or
the context and according to these events as actions. The FraSCAti platform considers the
well as the current state of the system, an Aspect as a component named FraSCAti Aspect
adaptation has to be done for this application. Component (FAC for short). FAC is the mapping
How decision is made and which actions must of the general model [20] (aspect component
be performed to execute the reaction are closely (AC), aspect domain, and aspect binding) on the
related to the information received from the FraSCAti components model. Fig. 3 illustrates
previous phase and to the goal given to dynamic how to implement an AC by a sample source
adaptation. Adaptation policies can be realized code. ACs apply the component methods shown
by a rules-based inference engine, in our case by the client and server interfaces. An
they are implemented using the Drools system. implementation of the IntentHandler interface is
Drools [18] is a Business Rule Management required when declaring an AC. The invoke
System with a rule-based engine, more correctly method describes the behavior of the aspect.
known as a Production Rule System, which The parameter of the Invoke method is a
execute actions based on conditions. Drools has reification of a FraSCAti interface invocation. It
an enhanced and optimized implementation of provides a set of methods for a joint point
introspection. The argument of the invocation
the Rete algorithm. One of the main reasons of
can be changed. The code written in this method
using Drools in our case, is that it is flexible
will be executed around the join point. The
enough [18] to match the semantics of the
“proceed” call is the original method call.
dynamic adaptation problem. Moreover, the
International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria. 175
ICAASE'2014 Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
Figure 3: Overview of the implementation process.
The main advantage of considering our solution have control structures. An FPath expression
as an Aspect system is that after the observation evaluates without side effects and always
of changes that are significant enough, and the returns a value, which can be one of the
decision to react to those changes, the Aspect following types: general classic types (numbers,
Component model in particular, FraSCAti string and Boolean) and specific types for FPath
component will be able to make a plan given to (homogeneous set of components of interfaces
the execution phase, which addresses the or attributes). A path is a specific expression
dynamicity of the execution environment. FPath. This type of expression allows browsing
and selecting items inside FraSCAti
3.3.4. The execution phase architectures, with another word FPath is a way
to select a set of node that meets certain criteria
Once the system knows to what state it has to by navigating along the arcs. To do this, a path
evolve, we must define how it should do it consists of a set of successive steps, separated
(execution plan) and run the adaptation. The by a slash. Each of these steps is itself divided
implementation plan will define the list of into three parts: an axis, a test and a collection
operations to be performed by the component to of predicate possibly empty. The concrete
achieve its new state. Thus the order of syntax of a path is:
executing these operations. This plan can be axe1::test1[pred1]/axe2::test2[pred2]/...
managed by a set of rules for an initial state and The axis is an indenting from a finite set, which
a final state given a list of actions to perform. corresponds to the possible labels for arcs. The
The implementation of the adaptation is the test is either a name (identifier) or a star *.
most sensitive part. At this level, the component Predicates are complete FPath expressions
knows the order of execution of adaptation evaluated for their Boolean values. We now
operations. Although it supports all the features describe the FScript language. Compared to
we need, the FraSCAti platform specified as a FPath, FScript adds the ability to define new
set of application programming interfaces functions (used in FPath expressions) and
(APIs). This form does not fit the way we use: it especially reconfiguration actions, which unlike
is impossible to guarantee the consistency of functions are able to modify the architecture of
reconfigurations performed, the corresponding FraSCAti components. For this, FScript supports
code is very complex and incomprehensible and a number of control structures and especially
specific concepts of FraSCAti does not exist enriches the FPath "standard library" with a set
directly in Java. These limitations have led us to of primitive actions that act on FraSCAti
choose FScript [21] a language dedicated for the components. An FScript program consists of a
specification and the execution of application set of functions and actions. The difference
and FraSCAti components reconfiguration, between the two is that the functions are strictly
FScript includes FPath [21] another language no side effect on the architecture FraSCAti: Only
used to navigate inside FraSCAti architecture. actions can invoke other actions. The only
FPath can only write expressions and does not
International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria. 176
ICAASE'2014 Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
syntactic difference between functions and the calculated total price using the currency of
actions appear in their definitions. Functions are the visitor in accordance with the exchange rate.
introduced by the keyword function while actions To more clarify the implementation of this
use the keyword action. The body defining a runtime adaptation, Fig. 4 illustrates the tourism
process consists of a sequence of instructions. agency services composite, which covers four
components representing the following services:
The "Tourism Agency Component" encapsulates
4. Tourism agency case study all calls to other services; it also contains two
properties that describe the expected user input:
Aimed at improving our proposed architecture
Twitter or Facebook account, plus the date of
and its implementation, we have chosen
the visit. The second service "Visiting Service
“Tourism agency System” as an illustrative case
Component" displays the list of the touristic
study, which is one of the most important and
areas according to the user preferences and his
required services in the market at the global
current detected location from his IP address. It
scale. This web application shown in Fig. 4,
also suggests indoors and outdoors places in a
allows the visitor to find a destination among
specific order referring to the user favorites, and
different touristic regions or events belong to the
time conditions; for example if the condition time
visited country, which is located by the system
is good it proposes both of places, while only
based on the visitor IP address. It also provides
indoors places will be recommended if the
a chronological classification for each touristic
condition time is bad. The "Travel Service
site so the visitor can easily move to the
Component" displays the list of available means
selected destination. To get there, he can
of transport leading to the selected site and a
choose a conveyance from a given list with the
map between his current location and the
price of each one, after that the total of the tour
selected destination. The last service "Banking
is calculated automatically by the system. In
Service Component" converts the calculated
order to strengthen and develop a context-aware
total, which consists of two prices: the visit price,
Web application (reconfigurable), we have
and the transport price.
added other functions to the previous features
Fig. 5 demonstrates two possible scenarios
by using the power of social networking tools
seamlessly supported by our new architectural
(Twitter or Facebook in our case) to gather the
solution. In the first scenario (Fig. 5.Case1), the
user’s contextual information based on his
application starts by the observation phase and
account preferences. At the end of the whole
shows (Fig. 5.A) in the home page. When the
process, the application offers a conversion of
user introduces no input information, i.e. no
Figure 4: General Architecture of Tourism Agency Composite.
International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria. 177
ICAASE'2014 Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
contextual changes are applied; the system be displayed as well (Fig. 5.F). The total prices
displays his current location detected from his IP will be shown (Fig. 5.G) only after the selection
address, as well as a brief description of that of a mean traveling. This scenario depends
area and its corresponding weather information. always on the user interaction.
After selecting the suitable site (Fig. 5.D); which In the second scenario (Fig. 5.Case2), the user
represents a contextual change for the introduces his Facebook or Twitter username as
application, this last reacts by showing some an input, which allows detecting contextual
information about the located area and a table of changes during the first phase of the MAPE
the current conditions and forecasts including model (the observation phase) as long as the
seven day outlook (Fig. 5.E). When the user user updates his account settings and
chooses a day from this showing table, which preferences and attempt to use our web
means that the application has detected another application. Liked pages, visited areas, tweets,
contextual change and needs to be adapted and others factors can permit the application to
again, the process of adaptation is applied for decide (at the decision phase) automatically and
the second time. The application shows a list of then plans a new action (at the planning phase)
means transports with their prices, a map that to propose when using the application. In the
helps the user to reach the visiting location will end those plans will be executed (Fig. 5.B) at
the execution phase. The second one that
covers more dynamicity explains our
implemented solution (Fig. 5.C) which consists
of auto-charging different displayed information
such as the selected touristic area, the preferred
visiting day, and the mean of transport. All these
features will help the visitor to make suitable
decisions, save time and money.
The strength of the services offered by the
“Tourism Agency” resides on the fact that
defining at design time all possible contexts and
their evolutions is not obligatory needed. That
means that the agency system will be drastically
able to plan and react even with the unexpected
context changes, hence specific user’s
requirements will be satisfied according to the
adaptation strategy.
The main contribution of this proposal is the
strength architecture that has been illustrated
with the above-described case study, in which
we applied the MAPE Model for developing
adaptive service-based applications. We also
demonstrated how the specific features of the
FraSCAti platform could be exploited during the
application’s adaptation process, and then how
the defined dynamic adaptation strategy can be
used to develop high quality, flexible, and
scalable service-based applications.
5. Conclusion
The present work stands on the FraSCAti
Platform used to develop and adapt dynamically
the SCA-based context-aware applications. SCA
is a standard for the distribution of Service-
Oriented Architectures (SOA). The novelty of
Figure 5: Demonstration of the running FraSCAti is to bring the adaptation of
application. applications during their execution according to
International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria. 178
ICAASE'2014 Adaptation of Service-Based Context-Aware Applications with FraSCAti Platform
changes in their context. The solution provided Computer Science, vol. 4089. Springer
in this work is performed by a case study on Berlin / Heidelberg, 2006, pp. 82–97.
tourism services by presenting a variety of [10] J. Buisson, F. André, and J.L. Pazat,
“Supporting adaptable applications in grid
choices in order to satisfy customer’s needs. resource management systems,” in 8th
Aiming at making the application benefit from IEEE/ACM International Conference on
appearing contexts. In addition, other examples Grid Computing, Austin, USA, pp. 19-21,
September. 2007.
can also verify the feasibility of the proposed
[11] J. O. Kephart and D. M. Chess, “The
solution and demonstrate the effectiveness of vision of autonomic computing,” Computer,
the dynamic adaptation using FraSCAti. Our vol. 36, no. 1. 2003, pp. 41–50.
future work is to strengthen the flexibility, and [12] F. André, E. Daubert, and G. Gauvrit,
the semantic of the decision phase by utilizing “Towards a Generic Context Aware
other rule-based engines as SWRL rules Framework for Self-Adaptation of Service-
Oriented Architectures,” in 5th International
combining OWL, and RuleML scripts [20]. Conference on Internet and Web
Moreover, we want to fully achieve other Applications and Services, Barcelona,
aspects of contextual adaptation by addressing Spain, 2010, pp. 309–314.
the behavioral aspect (changes of SCA [13] M. Kapitsaki, A. Kateros, N. Prezerakos, S.
Venieris, “Model-driven development of
component’s behavior), and the structural composite context- aware web
aspect of a SCA composite (changes in the applications,” Information and Software
structure of the components). Technology 51, 2009, pp. 1244–1260.
[14] R. M´elisson, P. Merle,D. Romero,R
Rouvoy, and L Seinturier. “Reconfigurable
6. REFERENCES run-time support for distributed service
component architectures,” Automated
[1] N. Bieberstein, S. Bose, M. Fiammante, Software Engineering, Tool Demonstration,
K. Jones, and R. Shah, “Service-Oriented Antwerp Belgique, 2010. URL
Architecture Compass : Business Value, http://hal.inria.fr/inria-00499477/en/.
Plan-ning, and Enterprise Roadmap,” [15] L. Seinturier, P. Merle, “A Component-
Prentice Hall PTR, Upper Saddle River, NJ, Based Middleware Platform for
USA, 2005. Reconfigurable Service-Oriented
Architectures,” April. 2012.
[2] J.Q. Ning, “Component-Based Software [16] C. David, “Introducing SCA,” white paper,
Engineering (CBSE),” In 5th International Chappell & Associates, July. 2007.
Symposium on Assessment of Software
Tool (SAST’97), 1997, pp. 34-43. [17] L. Seinturier, P. Merle, D. Fournier, N. Dolet,
V. Schiavoni, and J.B. Stefani,
[3] M. Beisiegel, D. Booz, A. Colyer and K. “Reconfigurable SCA Applications with
Team, “Service Component Architecture,” the FraSCAti Platform,” In Proceedings of
Novomber. 2007. the 6th IEEE International Conference on
[4] D. Fournier, P. Merle, and al., “ANR Service Computing (SCC’09), pp. 268–275,
SCOrWare Project: WP1 – SCA Platform September. 2009.
Specification,” April. 2009, [18] Drools docs.
www.scorware.org/. http://docs.jboss.org/drools/release/5.2.0.Fin
[5] A. Dey, G Abowd and D Salber, “A al/droolsexpert-docs/html/ch05.html.
Conceptual framework and toolkit for [19] G. Kiczales, J. Lamping, A. Mendhekar,
supporting the rapid prototyping of C. Maeda, C. Lopes, J.M. Loingtier, and
context-aware applications,” 2001, pp. 97- J. Irwin, “Aspect-Oriented Programming,”
166. In Proceedings of the 11th European
[6] T. Chaari, “adapt applications to new Conference on Object-Oriented
contexts of use”. SECAS Project: INSA Programming (ECOOP’97), volume 1241
Lyon, 2006. of LNCS, pp. 220–242. Springer, June.
1997.
[7] C. Sophie, C Denis, and T Cahantal,
“Service Management Context COSMOS,” [20] N. Pessemier, L. Seinturier, L. Duchien, and
ADAPT09, September. 2009. T. Coupaye, “A Model for Developing
Component-Based and Aspect-Oriented
[8] P.C. David and T. Ledoux, “Wildcat: a Systems” In Proceedings of the 5th
generic framework for context-aware International Symposium on Software
applications,” in MPAC ’05: Proceedings Composition (SC’06), volume 4089 of
of the 3rd international workshop on LNCS, pp. 259–274. Springer, March. 2006.
Middleware for pervasive and ad-hoc
computing. New York, NY, USA: ACM, [21] P.C. David, “Développement de
2005, pp. 1–7. composants Fractal adaptatifs : un
langage dédié à l’aspect d’adaptation,”
[9] P.C. David and T. Ledoux, “An aspect- PhD thesis, University of Nantes / Ecole
orienteach for developing selfadaptive des Mines de Nantes, 2005.
fractal components,” in Soft-ware
Composition, ser. Lecture Notes in
International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria. 179