Professional Documents
Culture Documents
Generic Specific
Fig. 2 DERAF aspects set to handle NFR
Fig. 1 NFR classification for DERTS
Due to paper lengths limitations a detailed
Each NFR can be handled by one or more aspects,
explanation of each NFR is omitted. Time classification
such as the TimmingAttributes and PeriodicTiming
defines requirements related to temporal constraints of
aspects, which add timing attributes to active objects3
system activities. Performance requirements are tightly
(e.g. deadline, priority, start/end time, and so on), as well
related to those presented in the Time and Distributed
as adapt their behavior (e.g. adding code to control the
classification. They express a global need of
frequency of periodic execution of a task). There are
performance, such as end-to-end response time for a
aspects which adapts the way of an activity executes,
certain activity, as well as a required throughput rate.
such as DataFreshness and ConcurrentAccessControl.
Distribution classification defines requirements related to
The former associates timestamps to data, verifying their
the distribution of DERTS activities in different nodes.
validity before they are used[12], while the last one adds
Concerns related to embedded systems generally present
a control mechanism to the concurrent access of shared
requirements/constraints related to memory usage,
resources. However, DERAF aspects can also be used to
energy consumption, and required hardware area size.
setup configurable platforms, such as Message-related
To support the handling of NFR from earlier
aspects, which can be used to configure a communication
development stages on, DERAF, an extensible high-level
API with features like acknowledge message,
aspects framework based on the aspect orientation
compression and integrity checking. Aspects in the
conceptual model proposed in [20], is proposed. DERAF
embedded package deal are related to monitoring and
aims provide a modularized way to handle NFR,
controlling features such as energy consumption,
improving the reuse of aspects in different DERTS
memory and FPGA area usage. Nevertheless, these
projects. A detailed discussion on aspect-oriented
features must be supported by the target Hw and/or Sw
concepts is out of the scope of this paper and can be
platform.
found in [3], [7] and [20].
After the modeling phase, aspects must be
The main idea behind DERAF is to provide aspects
implemented through either application or platform4
which adapt modeled system elements by adding specific
code. Thus each DERAF aspect is linked to an
behavior and structure to handle NFR, without binding
implementation technology. The semantics of how and
the DERTS model to a specific solution (e.g. an
where each aspect affects system elements are defined
implementation for cyclical activation of periodic tasks).
at high-level and must be preserved, such that every
To ensure implementation independence, details related
to aspect adaptations are abstracted. This means that the 3
Active objects have their own thread of control and execute
designer selects aspects based on how the aspect concurrently with other active objects [10][11].
4
improves the system elements, and defines which According [13], platform is a set of previously developed and tested
hardware and software components that can be configured and reuse
implementation must follow these semantics in order to
allow the reuse of previously developed aspects
implementation Sometimes, it is also interesting to
evaluate the impact of the aspects implementation into
the design at the modeling phase. Therefore, it is
necessary to provide models to describe how each aspect
implementation affects the original specification. On
other words, it is necessary to provide an aspects model
weaving, like the ideas presented in [7]. In spite of its
importance, a detailed discussion about both
implementations (models and code), as well as model
weaving are, due to paper lengths limitation, beyond the
scope of this paper.
Finally, it is important to highlight that DERAF does
not provide aspects to handle all NFR present in a
Fig. 3 UAV movement control FRs and NFR
DERTS design. Fault-tolerance is an important NFR is
not addressed in the initial version of DERAF. However,
RT-UMLs diagrams are used for functional
DERAF was proposed as an extensible framework, and
requirements specification (see for instance [25]). NFR
support to fault-tolerance aspects will be incorporated in
are handled through DERAF aspects. In the proposed
future versions.
approach, the designer describes the selection of model
3. Application example elements, which will be affected by the selected aspects,
through Join Point Designation Diagrams (JPDD) [21].
This section presents the design of a distributed real-
JPDDs are used to describe the join point [20] selection
time embedded automation and control system for an
at modeling level, that means, in order to describe
unmanned air vehicle (UAV) [22][23][24] in order to
where the selected aspects will insert adaptations. The
illustrate how to use the DERAF framework. The
use of high-level join point descriptions improves their
proposed UAV system consists of a helicopter that can
reuse, allowing that the same join point be used with
be used in a variety of applications, such as environment
different adaptations. JPDD can be modeled using
monitoring, rescue of victims in natural disasters, or
interaction, activity and statechart diagram capturing,
urban security. UAV functionalities include navigation,
respectively, control flow, data flow, and state models.
movement control, collision detection, target pursuit,
For this initial proposal, only interaction JPDD to
system maintenance, mission management, camera
capture control flow join points are used.
control and data exchange with an on ground base. This
For illustration purposes, a very simple aspect was
case study will focus on the movement control sub-
chosen to show how to specify JPDDs and how it adapts
system, which is composed by sensors and actuators and
the functional specification. The chosen DERAF aspect
whose control algorithm takes into account environment
was DataFreshness, which handle the Precision NFR of
information (e.g. wind speed and direction, humidity and
values with a lifetime restriction. Fig. 4 shows the JPDD
temperature).
that selects behavioral elements. The stereotype
The design starts with the requirements analysis,
<<JPDD>> indicates the JPDD representing a join point
following the FRIDA (From RequIrements to Design
selection. The <<JoinPoint>> stereotype indicates the
using Aspects) methodology [17], which has been
element that will be selected when the JPDD will be
adapted to real-time and embedded systems domain. In
evaluated. For details on the elements naming pattern
this phase, both functional and non-functional
and wildcards, please refer to [21]. Fig. 4a shows the
requirements must be elicited using the aspects described
selection of the construction message for objects
in section 2. At the end of this phase, a use case diagram
representing information (i.e. all the classes whose name
is provided to describe graphically the specified system
finishes with Information) that is concurrently accessed
functionalities and their crosscuttings NFRs (depicted as
(i.e. annotated with the <<SAresource>> stereotype). On
stereotypes annotating the affected use cases). Fig. 3
the other hand, Fig. 4b shows the JPDD that selects all
shows the use cases diagram for the UAV system. .The
messages requesting data (i.e. message whose name
used notation follows ideas taken mainly from [19] and
starts with get), that are sent from active objects (i.e.
[7]. For details on adapted FRIDA methodology see
annotated with <<SAschedRes>>) to information
[18].
objects.
Fig. 4 Join point selection: (a)Object creation (b)Message