urable architectures with more than two levels. In
their work, the authors developed an algorithm that
reduces cost and time reconfiguration and proposed a
heuristic to solve the optimal number of reconfigura-
tion levels.
In (Baresi and Guinea, 2013), Baresi et al. inves-
tigated domain-specific abstractions for a multi-level
service based system. They proposed the Multi-layer
Collection and Constraint Language(mlCCL) which
allows to analyze runtime data in a multi-layered sys-
tem. To support this language, they implemented a
visualization tool by extending their ECoWare frame-
work to event correlation. The authors did not, how-
ever, deal with the refinement between levels or lay-
ers.
Brosch et al. (Brosch et al., 2011) proposed an
approach that integrates multi-level monitoring and
adaptation of software architectures, where the au-
thors proposed a meta-model for specifying adapt-
ability characteristics in a software product line. This
model is expressed on different levels. The archi-
tectural level uses composite components to encap-
sulate subsystems and enable their replacement. The
component level selects component implementations
for a given specification. The component implemen-
tation level uses component parameters for specific
product configurations The resource level uses allo-
cation references for for product line configurations.
The authors presented a tool support that allows the
architects to design the architecture with UML mod-
els, which are automatically transformed to Markov-
based prediction models, and evaluated to determine
the expected system reliability.
2.4 Discussion
A thorough overview of the literature indicates that
several studies have been performed on the model-
ing of multi-level, multi-layer, multi-view architec-
tures. Views described the system from the perspec-
tive of the stakeholders’ concerns. As refinement of
the architectural description continues, the views of
a software architecture can be organized into distinct
architectural levels (synonym to layers). We contin-
ually update the architecture description refinement
to demonstrate that the levels can also be organized
into different description scales oriented to facilitate
the architectural organization of complex systems’ re-
quirements. Several studies have been presented for
modeling these architectures using a unified and vi-
sual notation based on UML. These semi-formal ap-
proaches did not, however, include the concept of
refinement. Although formal techniques and, more
specifically, works based on graph transformations al-
low architecture refinement, they require certain ex-
pertise in mathematics for architects. Moreover, only
few studies have provided a clearly defined process
that takes the compatibility between different descrip-
tion levels into account, a challenging condition for
the multi-level description of dynamic architectures.
Our work focuses on modeling software architectures.
Similarly to those works, we consider that a given
modeling level can be described by several scales. We
choose pure UML notations to describe multi-scale
architectures. We need to follow a clear refinement
process to transit between scales. The aim of this
work is to provide solutions for modeling software ar-
chitectures so as to facilitate their validation at differ-
ent description levels. Thus, our approach is adding
a refinement element based on “scales" compared to
other UML approaches. The multi-scale perspective
is using onely the multi-level concept to describe soft-
ware architectures.
3 PROPOSED APPROACH
We propose a multi-scale modeling approach for
multi-level software architectures. The proposed de-
sign approach is founded on UML notations and uses
component diagrams. The diagrams are submitted
to vertical and horizontal transformations for refine-
ment; this is done to reach a fine-grain description that
contains necessary details that characterize the archi-
tectural style.
We present the multi-scale approach by a two-
dimensional array describing vertical and horizontal
refinements. Vertical description levels allow the ar-
chitect to describe the same inherent requirements
while providing multiple descriptions having differ-
ent granularity levels. Under each scale, there are
several horizontal refinements. We define a Vertical
description Scale “Sv
n
" as a model that provides ad-
ditional details of design (in a vertical way) which is
related to the higher scale “Sv
n−1
" and more abstrac-
tion which is related to the lower scale “Sv
n+1
". It can
be used, for example, to represent a given description
level or a given communication layer in communicat-
ing systems. Moreover, a vertical scale can be refined
into several Horizontal description Scales “Sv
n
/Sh
m
"
providing more details of the UML initial description
(in a horizontal way). We consider that n (resp. m)
represents the scale number (n,m ≥ 0).
We start by modeling the first scale, which is de-
fined by a UML component diagram. This diagram
is refined, through model transformation operations,
until reaching the last scale that represents the ar-
chitectural style. A simple description of our pro-
ICEIS2015-17thInternationalConferenceonEnterpriseInformationSystems
376