
202 V. Grassi, R. Mirandola, and E. Randazzo
effectiveness, focusing in particular on their ability to meet non-functional require-
ments concerning performance and dependability attributes.
Modeling frameworks for dynamically changing software systems have been al-
ready proposed. Some of them are mainly targeted to the analysis of functional re-
quirements [2,5,6,11,18,22], and hence are not suitable for the effectiveness analysis
of such systems with respect to performance or dependability, while others address
the analysis of non functional requirements and are hence closer to our goal [3,7].
However, existing frameworks do not always consider explicitly the modeling and
analysis of the tradeoff between the advantages and costs of the system adaptation.
Besides this, such frameworks are often based on formal notations and modeling prin-
ciples which are quite far from those used by software designers, thus making awk-
ward their integration in the design process.
In this paper we propose a comprehensive framework, where both the costs and
benefits of adaptation (in terms of its impact on performance or dependability) can be
properly modeled and analyzed. We also address the problem of how our modeling
approach can be actually integrated in the design process of a dynamically adaptable
system, leveraging ideas from the Model Driven Development (MDD) paradigm [4].
MDD typically focuses on a transformation path, supported by automatic transfor-
mation tools, from high level to platform specific models (up to the executable code)
of a software system [3,4,24]. The idea of exploiting MDD methodologies for QoS
assessment has emerged in recent years (see [10] for a review of these methods). In-
deed, the construction of a QoS analysis model can be seen as a special type of model
transformation whose source is a “design oriented” model of the system (produced
during the design process by the system designers), while the target is a suitable
“analysis oriented” model, which lends itself to the application of sound analysis
methodologies. Recently, Ardagna et al. [3] presented a conceptual map where differ-
ent methods and models are positioned in a general MDD framework.
One of the main motivations is that embedding within automatic model transfor-
mation tools relevant parts of the expertise required to build QoS analysis models
should facilitate the integration of QoS assessment in the design and development
process. Indeed, it should allow to quickly get QoS analysis results starting from the
available design artifacts, and should also facilitate the use of QoS analysis method-
ologies within design teams with little expertise in this field.
Existing MDD-based methodologies for the generation of QoS analysis models do
not consider the modeling of adaptable systems. Moreover, they often devise the
transformation path as a single step transformation from the source design oriented
model to the target analysis oriented model. This single step transformation could be
excessively complex, for several reasons: the large semantic gap between the source
and target models, the different notations that could be used in the source model, and
the different target notations one could be interested in, to support different kinds of
analysis (e.g. queueing networks, Markov processes).
To face these problems, we propose a two-step transformation path from design
oriented to analysis oriented models centered around the construction of a bridge
model expressed in a suitable intermediate modeling language.
1
The goal is to split
into two parts the complex task of deriving an analysis model (e.g. a queueing
1
To better manage the process of devising each of these two basic steps, they could be further
decomposed into sub-steps.