2.2 VIATRA2
VIATRA2 is a model-driven framework for design
space exploration. This framework supports defin-
ing search strategies for traversing the design space,
starting from an initial model by applying rules.
VIATRA2 allows defining rules based on the meta-
model used. They are applied throughout the search
to explore the design space. Goals are defined as con-
ditions that must be satisfied for a solution.
VIATRA2 as used in our work presented here, is
actually just one tool of a set of tools developed over
time, where different tools provide different tech-
niques for design space exploration (Bergmann et al.,
2015).
2.3 Heuristic Search for Optimal
Solutions
Many search algorithms have been presented in the
literature, so it would be prohibitive to review all of
them here. Rather, we focus on those we use in the
experiment reported in this paper, a (unidirectional)
search algorithm with certain optimality guarantees
and a special case of it.
The traditional best-first search algorithm A*
(Hart et al., 1968) maintains the set OPEN of so-called
open nodes that have been generated but not yet ex-
panded, i.e., the frontier nodes. Much as any best-
first search algorithm, it always selects a node from
OPEN with minimum estimated cost, one of those it
considers “best”. This node is expanded and moved
from OPEN to CLOSED. A* specifically estimates the
cost of some node n with an evaluation function of
the form f (n) = g(n) + h(n), where g(n) is the (sum)
cost of a path found from s to n, and h(n) is a heuris-
tic estimate of the cost of reaching a goal from n, i.e.,
the cost of an optimal path from s to some goal t. If
h(n) never overestimates this cost for all nodes n (it
is said to be admissible) and if a solution exists, then
A* is guaranteed to return an optimal (minimum-cost)
solution (it is also said to be admissible). Under cer-
tain conditions, A* is optimal over admissible unidi-
rectional heuristic search algorithms using the same
information, in the sense that it never expands more
nodes than any of these (Dechter and Pearl, 1985).
Since A* needs an admissible heuristic evaluation
function, which is often not easy to find for problems
in industrial practice, let us also mention the special
case of A* without using heuristic knowledge, i.e.,
h(n) ≡ 0, or simply f (n) = g(n). In the special case
of unit costs, i.e., the cost of each step on each path is
exactly 1, this implements breadth-first search. Note,
that breadth-first search can also be implemented by
the traditional shortest-path algorithm due to (Dijk-
stra, 1959).
3 MODELING APPROACH
First, we present (part of) our meta-model as used by
VIATRA2 for design space exploration. In order to
enable it, we next define transformation rules based
on this meta-model, and goal conditions as given in
formally specified requirements for a new HSI. Fi-
nally, we explain how the search approach is im-
plemented in VIATRA2, and define our admissible
heuristic for guaranteeing optimal solutions.
3.1 Meta-model
Based on the sketch of the application domain above,
we specify here in the meta-model generically what
is needed for design space exploration. This meta-
model covers the structure of an ECU, the possible
variations for activating connections for a configura-
tion, and the currently selected configuration. Since
the searches for design space exploration must know
when a solution is found, they must be given goal con-
ditions. These are defined in the formally represented
Requirements, which are also generically included in
the meta-model. Technically, we created this meta-
model in Ecore and the Eclipse Modeling Framework
(EMF) (Eclipse, 2017; Steinberg et al., 2009), as this
meta-modeling approach is directly supported by the
VIATRA2 tool.
Figure 2 shows selected parts of the meta-model
that are essential for the purpose of explaining the
design space exploration. The following classes and
their associations define the application domain: ECU
pins (EcuPin), hardware components (HardwareCom-
ponent, HardwareComponentPort) and the micro-
controller (Microcontroller, McResource, McHwPin,
McPin, McPinConnection). Each instance of a Hard-
wareComponent is connected to a McPin instance
through HardwareComponentPort instances. The
same applies for the McResources of the Micron-
troller and the Ecu. Different interface types on hard-
ware components are expressed via the interfaceType
attribute of the HardwareComponent class.
Each instance of the meta-model represents a spe-
cific ECU model (and the Requirements on its HSI).
Actually, it also has the HSI configuration defined,
i.e., such an instance represents a specific state in the
search for design space exploration.
In addition, the meta-model defines all the possi-
bilities for variation and what is needed for defining
the transformation rules, see below. The variations
An Experimental Evaluation of Design Space Exploration of Hardware/Software Interfaces
291