2. A component is hardware or software whose speci- foo.c ,
Embedded ArchitectE m
fication is fixed, though possibly parameterized. A compo-
nent represents some portion of an architecture, ranging
Gcc~L I 'real"
r~.l Correlator I [-~-14J.a,,"~"
~ source --~ I I ~ I A
from a single subsystem to a frozen portion of the config- I cpp ~J I code ~ T !4~
uration consisting of several subsystems and connections. I Source + "~ - -
I RTL : i code.view ~ User I
2.2 Design Space Exploration f -~ ' , ' ~ export . :F i flail,! Interface I
/ Library of / r--t--, I ,,.as :.:i:i " 1' '
Design space exploration (DSE) ~omponents j
research can be classified as I as I I,----L--i :: view 4,
addressing aspects of representation, 4' " ; [ I mep~rt ~ . ; .i t ~: : | Manual I
fo00
_" i [ ,..r~ J V .... l
" I .'l I
r ^ .
uycles i
I
estimation, and exploration a l g o - I Architecture ~
F~" w . ~ :::; : Intemal ~ .! I
rithms. As shown to the right, a
DSE framework generates candidate
"Generator"
,~,
]
' I T'ace Represen*a*'°°:
Generator CFG, PDG, Automatic
i
architectures using a library of Candidate I ,~,:: . labels Cycles
components. Each candidate is Architecture o I • Pseud ° Tr ace " : .
evaluated based on a set of metrics .a
that may guide future architecture 'i' "~ Figure 3. Embedded Architect implementation.
generation. Our Embedded Archi- Evaluator
tect tool supports an evaluator in an provides a constraint. Using this constraint, more
existing framework by providing a 't' automatic constraint cycles are attempted, continuing until
rapid estimate of a performance Metrics . . . . all predicates are constrained.
metric.
3. I m p l e m e n t a t i o n o f E m b e d d e d A r c h i t e c t
Figure 1. DSE flow
2.3 Scenario Specification An overview of the tool is shown in Figure 3. To
Intuitively, an evaluation scenario corresponds to a walk provide for a comparison of performance estimates to code
through the collection of CFGs that expresses the executing on real hardware, the starting point is the gee
functional architecture. The flow to specify a scenario is compiler, as it can produce production quality code for a
shown in Figure 2, which begins with a set of CFGs to variety of processor architectures. The compiler was
analyze and the start/end nodes of the scenario. To define a instrumented to export a CFG, which is imported into
scenario, the designer needs to constrain all control Embedded Architect. The dashed line represents Embedded
operation predicates. An initial pruning cycle analyzes the Architect, and the shaded portion indicates the focus of the
control dependences between the start and end nodes and research prototype.
extracts predicate constraints. This begins an automatic
4. F u t u r e W o r k
cycle in which constraints are applied, nodes are pruned
from the CFG, and data flow facts are propagated. Embedded Architect analyzes a candidate architecture
If the data flow fact propagation results in new and eventually leads to a performance estimate. In addition
constraints on any control operations, then subsequent to comparing the fidelity of the estimates, the efficacy of
automatic cycles continue until no new constraints are the scenario specification is demonstrated based on the
found. If there are any control operations letI to constrain, number of control operation nodes eliminated due to
a manual constraint cycle begins in which the designer pruning (more is better), the number of constraints found
automatically from propagation of data flow facts (more is
Initial pruning due better), and the number of manual constraints supplied by
to end nodes the designer (fewer is better).
Find initial I
constraints I " 5. R e f e r e n c e s
~ Designer
Constrain CFG pI--j ~constraint ~ ~, [1] V. Basili, B. Boehm, COTS-Based Systems Top 10 List,
' + Computer, v 34, n 5, May 2001, pp 91-93
[2] U. Rastofer, F. Bellosa, Component-based software
I Prune nodes, I engineering for distributed embedded real-time systems, IEEE
§1~ I pr°pagate facts J / A . n Y ~ -18 Proc.-Software, v 148, n 3, June 2001
[3] J. Russell, M. Jaeome, Scenario-Based SoRware
Characterization as a Contingency to Traditional Program
Profiling, CASES '02, Grenoble, France, Oct. 2002
[4] M. Sparling, Lessons learned through six years of
component-baseddevelopment, Comm. ACM, v43, nl0, Oct 2000
Figure 2. Flow to specify evaluation scenario.
825