To meet this development goal, we propose an ap-
proach that starts from a set of unfeasible reconfigu-
rations to construct a Software Product Line that can
be reused in a predictive and organized way to recon-
figure a system to as to meet its timing constraints.
To make sure that the SPL offers only various fea-
sible reconfigurations, we define an intelligent agent
that automatically checks the system’s feasibility af-
ter a reconfigurationscenario is applied on a multipro-
cessor embedded system. This agent dynamically de-
termines precious technical solutions to define a new
product whenevera reconfiguration is unfeasible. The
set of reconfigurations thus defined by the agent can
then be unified into an SPL. The originality of our ap-
proach is its capacity to extract, from the unfeasible
configurations of an embedded system, an SPL de-
sign enriched with real-time constraints and modeled
with a UML Marte profile. The SPL design can assist
in the comprehension, reconfiguration as well as evo-
lution of the SPL in order to satisfy real-time require-
ments and to obtain a feasible system under normal
and overload conditions.
The proposed approach adapts the bottom-up SPL
construction method proposed in (Maazoun et al.,
2013) for software products. In the original method,
an SPL is constructed from variant products’ source
code; it models a family of product solutions that can
used to derive new products in the SPL domain. The
variability is represented through features (defined as
an end user, visible system characteristic (Kang et al.,
1990)) that are related with constrained relationships
to guide their reuse. Compared to existing SPL meth-
ods (cf., (Ziadi, 2004), (Ziadi et al., 2012), (She et al.,
2011), (Al-Msie’Deen et al., 2012)), the method of
(Maazoun et al., 2013) has the merit of producing
all mandatory and variable features along with all the
constraints (and, or, require, etc) relating them. In
our adaptation of this method, the SPL construction
starts from the tasks’ variable parameters of the failed
(unfeasible) system, which we consider as a feature.
It produces an SPL representing a set of feasible re-
configurations. To model the SPL, we use extend the
SPL-UML profile (Maazoun et al., 2013) with timing
constraints as proposed in the UML Marte profile; we
call the resulting profile SPL-UML-Marte.
The remainder of the paper is organized as fol-
lows. In Section 2, we overview work pertinent to
scheduling with a focus on our optimal scheduling
algorithm which is used for the reconfiguration con-
struction. Section 3 presents the SPL-UML Marte
as a profile for software product lines. Section 4
presents the SPL construction approach which pro-
duces a set of feasible reconfigurations from unfeasi-
ble ones. Section 5 summarizes the main results and
outlines their intended future extensions.
2 RELATED WORK
As discussed in the introduction, our approach tackles
the development of reconfigurable, embedded real-
time systems in terms of task scheduling. In our
approach, a reconfiguration scenario entails the con-
struction of a new SPL starting from the current (spo-
radic/periodic) tasks’ parameters. A sporadic task
is described by a minimum inter-arrival time P
p,ψ
h
i
which is assumed to be equal to its relative deadline
D
p,ψ
h
i
, and a worst-case execution time (WCET)C
p,ψ
h
i
for each reconfiguration scenario ψ
h
and on each pro-
cessor p. Indeed, a hard real-time system typically
has a mixture of off-line and on-line workloads and
assumed to be feasible before any reconfigurationsce-
nario ψ
h
. According to (Brocal et al., 2011), a hy-
perperiod is defined as HP = [ζ, 2∗ LCM + ζ], where
LCM is the well-known Least Common Multiple of
the tasks periods and ζ is the largest task offset. This
algorithm, in our original paper assumes that sporadic
tasks span no more than one hyperperiod of the pe-
riodic tasks for each reconfiguration scenario ψ
h
on
each processor p.
In this section, we first present works dealing with
reconfigurations and real-time scheduling of embed-
ded systems. Second, we illustrate the scheduling al-
gorithm we adopted in the proposed SPL construc-
tion approach. In recent works, many real-time sys-
tems rely on the EDF scheduling algorithm in the case
of uniprocessor scheduling theory. This algorithm
has been shown to be optimal under many different
conditions. For example, for independent, preemp-
tive tasks, on a uni-processor, EDF is optimal in the
sense that if any algorithm can find a schedule where
all tasks meet their deadlines, then EDF can meet the
deadlines (Dertouzos, 1974).
To address demands for increasing processor
performance, silicon vendors no longer concentrate
wholly on the miniaturization needed to increase pro-
cessor clock speeds, as this approach has led to prob-
lems with both high power consumption and exces-
sive heat dissipation. Instead, there is now an increas-
ing trend towards using multiprocessor platforms for
high-end real-time applications (Brocal et al., 2011).
For these reasons, we will use in our work the
case of real-time scheduling on homogeneous multi-
processor platforms. Before presenting our original
contribution, we will present some definitions below.
According to (Gharsellaoui et al., 2012), each peri-
odic task is described by an initial offset a
i
(activation
time), a worst-case execution time (WCET) C
i
, a rel-
ENASE2015-10thInternationalConferenceonEvaluationofNovelSoftwareApproachestoSoftwareEngineering
170