The present paper presents the work in progress and is
organized as follows: Section 2 motivates the topic of
embedded systems generation from application soft-
ware. In Section 3, the main idea and the scientific
approach for papagenoX is outlined. In Section 4 all
the envisioned parts of the concept are discussed in
detail and the overall concept is sketched with an ex-
emplary use case in Section 5. The paper concludes
with Section 6, in which the current state, the progress
made and the future work are explained.
2 MOTIVATION
The common process in embedded systems engi-
neering today usually starts with designing the hard-
ware according to requirements defined in natural lan-
guage. Subsequently, based on educated guesses or
best practices, a prototype is assembled, simulated
and tested. After this step, software development on
the prototype can start. As during software devel-
opment, new requirements can arise, this process is
prone to require multiple iterative redesign cycles in
order to result in a suitable hardware solution. In this
context, software development is much more dynamic
and flexible than the new development of hardware
prototypes. As a result, the prototypes are used for
as long as possible in order to avoid the time and ef-
fort involved in hardware redesign. In some cases,
however, the redesign becomes inevitable, resulting in
many different prototype variants with diverse prop-
erties. AS a result the state of the art is what we
call software development following hardware design
(“software follows or adjusts to hardware”).
With our contribution, we intend to invert the pro-
cess of embedded systems design towards “hardware
follows software”, introduced in detail in the follow-
ing Section 3.
3 SCIENTIFIC APPROACH
WITHIN papagenoX
In order to tackle the problems that arise as described
above, we intend to derive the requirements of a
system under development directly from previously
implemented application code in order to automati-
cally generate suitable and optimized lower layers.
As application code does not explicitly specify dis-
crete components but only functional requirements
(FRs), the analysis shall also consider additional non-
functional requirement (NFR) (e.g., communication
load, data retention time).
We have given our concept the name papagenoX,
an abbreviation for Prototyping APplication-based
with Automatic GENeration Of X, where X is for the
name of the corresponding layer (cf. Fig. 1).
The following structure is proposed to achieve the
envisioned goal: The process starts with ASW de-
velopment (implementation), followed by a thorough
analysis of all its FRs and NFRs. Based on this anal-
ysis, and a library of available hardware and soft-
ware modules, a configuration or selection space can
be opened over all these components, modules, and
possible interconnections. As this selection space can
still contain system configurations not suitable for the
objective (e.g., due to the unavailability of compo-
nents), further filtering towards special design deci-
sions must be applied. This yields several potential
configurations composed from different components
that can be optimized again in order to achieve the
best system that is suitable for all requirements. Of
course, optimization and selection metrics are also
based on FRs and NFRs (e.g., cost, size, energy
consumption, Electromagnetic Compatibility (EMC)
characteristics). This process is applied to all three
layers depicted in Fig. 1 in different extent and is ex-
plained in the following sections.
In this work, we additionally envision the use of
FPGAs or System on Programmable Chips (SoPCs)
to build hardware acceleration units by synthesizing
complex algorithms in logic (proper interfacing
included) to add further adaptability.
The fundamental paradigm shift towards “hard-
ware follows software” is mandatory to enable the ut-
most flexibility when designing future embedded sys-
tems. Since we understand established development
methods as being there for a reason, we will also re-
search methods to quantify the suitability of previ-
ously generated hardware configurations after soft-
ware changes, including possible necessary system
modification proposals.
4 ENVISIONED PARTS OF
papagenoX
The toolchain of the papagenoX concept will con-
tain a number of powerful features that facilitate au-
tomatic systems generation. This set of tools can be
divided into four main parts, being (A.) ASW analy-
sis, (B.) BSW generation, (C.) FPGA generation, and
(D.) PCB generation. All those parts are depicted in
Fig. 1 and are discussed in detail below. This work
presents solely the ideas of from a work in progress
concept and only few new findings at this stage.
papagenoX: Generation of Electronics and Logic for Embedded Systems from Application Software
137