A Profile-driven Environment for Modeling and Analyzing Context-Aware
Software Services
Luca Berardinelli, Vittorio Cortellessa, Antinisca Di Marco
Dipartimento di Informatica
Universit` a dell’Aquila, Coppito, Italy
{luca.berardinelli, vittorio.cortellessa, antinisca.dimarco}@di.univaq.it
Abstract
Software services, in the near future, will be deployed on
mobile, resource-limited devices that communicate through
heterogeneous B3G (Beyond 3rd Generation) networks.
They shall adapt themselves according to context and
requirement changes without degrading software-related
QoS. Supporting the development and maintenance of such
services involves languages, methods and tools: this is the
main target of the framework presented in this paper. The
development process the framework refers to is a combina-
tion of multiple model-based solutions that aim at address-
ing these issues in a comprehensive way. In this paper, we
present the development environment that we have devised
to support part of such process. In particular, we show,
through a case study, how to model a service-based appli-
cation in the framework where each service is implemented
as a collection of components and, from the obtained Ser-
vice Model, how to generate and analyze a performance
model in order to validate performance requirements.
1 Introduction
Software services, in the near future, will be deployed on
mobile, resource limited, heterogeneous devices that com-
municate through networks based on heterogeneous con-
nection characteristics (namely B3G networks). In this sce-
nario services have to adapt themselves according to a set of
available resources without sensibly degrading their Qual-
ity of Service (intended as a combination of non-functional
properties). The development, deployment and mainte-
nance of such services claim for new approaches along the
whole lifecycle because traditional approaches do not pro-
vide adequate support in terms of languages, methods and
tools.
The main target of the PLASTIC project [37] is an inte-
grated model-based solution to the development and main-
tenance of services deployable over B3G networks. The
leading idea of the project is to make the context, such as
device and network related characteristics, emerging at the
level of software services, so that services can be designed
to adapt to context changes.
In practice, the role of the middleware is not any more
to hide the network or device characteristics, but rather of-
fering an homogeneous functional interface to the services
through which context data can be queried and retrieved.
A new development process model has been devised [1]
to achieve this goal in a comprehensive way, as illustrated
in Figure 1. All the activities originate from the PLASTIC
Conceptual Model [36, 2], that is the starting point of the
whole development process. A Service Model is built on
the basis of concepts described in the PLASTIC Conceptual
Model, and it can be ideally partitioned in two sides, that
are: the Service Functional Specification and the Service
Non Functional Specification. The process in Figure 1 can
be accordingly partitioned in two sides, each representing a
set of activities that takes place concurrently with the ones
in the other side.
The left-hand side of the figure shows the generation
of multiple analysis models [14, 15, 16, 20, 19] that sup-
port the QoS validation of the service under development,
whereas the right-hand side shows the generation of the ser-
vice code. Both sides are based on model-to-model and
model-to-code transformations supported by free Eclipse-
based tools [10, 21]. All the models that feed such transfor-
mations are exported in the free Eclipse UML format thanks
to the seamless integration of MagicDraw [31] with the
Eclipse platform. The final result of this process is a de-
ployable service code [25, 26, 27] that, through the support
of the analysis models generated during the development,
has the capability to adapt to heterogeneous devices with
heterogeneous network connections while still providing an
acceptable level of QoS.
In this paper we focus on the construction of a Service
Model and the model-based validation of the service per-
formance requirements. The service modeling is based on a
2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications
978-0-7695-4170-9/10 $26.00 © 2010 IEEE
DOI 10.1109/SEAA.2010.47
199