Editorial: Embedded Systems-New Challenges and Future Directions

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

37

Editorial:
Embedded Systems—New Challenges and
Future Directions
Embedded systems applications are present in several products in modern life
ranging from consumer electronics to industrial systems like cell phones, digital
televisions and video game consoles. The amount of functionality incorporated
in an embedded system is continuously increasing. These applications are mi-
grating from single processor-based systems to heterogeneous multiprocessing
in a single chip (MPSoCs) with complex communication infra-structures. De-
signing embedded systems requires concurrent design of complex embedded
software and a sophisticated hardware platform. This platform can contain
several different types of processors with a complex interconnection network,
the memory system can be heterogeneously distributed around the machine.
The lack of early coordination between different teams belonging to differ-
ent cultures ultimately causes delays and cost overheads that are no longer
acceptable for the design of embedded systems. Traditionally, programming
models have been used to coordinate software and hardware communities for
the design of classic computers. A programming model provides an abstraction
of HW–SW interfaces and allows concurrent design of complex systems. Ex-
amples include Abstract Programming Interfaces (API), RTOS libraries, and
devices drivers, typically summarized as hardware-dependent software. This
abstraction smoothes the design flow and eases interaction between different
teams belonging to different cultures. The abstract hardware/software interface
model defined in the early stage of the design process will then act as a contract
between separate teams that can work concurrently to develop the hardware
and the software parts.
Designing and programming heterogeneous embedded systems is now be-
coming a major challenge due to real-time requirements. Embedded system
applications typically require real concurrence not just the apparent concur-
rency of a multitasking operating system. Parallelism is very important in em-
bedded computing that must obey several others constraints like real-time re-
sponse requirements, area efficiency, energy efficiency, proper I/O connections,
and performance requirements.

1. CHALLENGES
Software development is a major challenge for embedded system designers. The
software that runs on a multiprocessor must be high performance, real-time,
and low power. A harder challenge is to write parallel applications – that’s
the whole education of an entire software community in describing, validating,
and specifying parallel systems. The hardest task is mapping those parallel


C 2008 ACM 1539-9087/2008/07-ART37 $5.00 DOI 10.1145/1376804.1376805 http://doi.acm.org/
10.1145/1376804.1376805

ACM Transactions on Embedded Computing Systems, Vol. 7, No. 4, Article 37, Publication date: July 2008.
37:2 • Editorial

applications to the target platform. Another problem related to mapping is that


much of the software in embedded systems is not written by software engineers.
It is written by signal processing and communications engineers who have
little or no formal background in computer science. Also, the designers need
to exploit the characteristics specific to embedded system applications to use
parallel programming models in a more efficient way. Moreover the designer has
stringent cost requirements as well as real-time performance requirements. To
satisfy these requirements, embedded software needs to be optimized in terms
of code size, execution time, memory cost, and energy consumption.
Application-level behavior also provides a major challenge for embedded soft-
ware. The detailed behavior of a task application can influence its execution
time and therefore the system schedule that is managed by the real-time operat-
ing system. The designers need a better understanding of how to abstract tasks
properly to capture the essential characteristics of their low-level behavior for
system-level analysis. Architecture Analysis and Design Language models can
help the designer in this step, supporting quantitative analysis of the runtime
architecture of the embedded software in computer systems with multiple crit-
ical operational properties, such as responsiveness, safety-criticality, security,
and reliability. Another important challenge is the processor interconnection.
Network-on-chip has emerged as an architectural approach to the design of em-
bedded systems. A network-on-chip uses packet networks to interconnect the
processors and the IP cores in the embedded system.
FPGAs have emerged as a viable alternative to ASICs in many markets and
configurable fabrics are also integrated into embedded system architectures.
The FPGA logic can be used for custom logic that could not be designed before
manufacturing. This approach is a good complement to software-based cus-
tomization. Tools are needed to help designers understand performance and
allocation using FPGAs as processor elements in the multiprocessor. Finally,
embedded systems will increasingly be connected into networks of chips (e.g.
sensor networks).
Design methodologies for these types of embedded systems must be adapted
to take into account the varying environments in which the systems will have
to operate.

2. DESIGN METHODOLOGIES
It is clear that many kinds of tools and specialized design methodologies are
needed. Although advanced tools and methodologies exist today to solve partial
problems, much remains to be done when considering heterogeneous embedded
systems architectures as a whole. On this new design scenario, fast design time,
higher level abstractions, predictability of results, and meeting design metrics
are the main goals.
Fast design time is very import in light of typical applications for embed-
ded architectures that have particularly tight time-to-market. Embedded ap-
plications use hundreds of thousands of lines of dedicated software and com-
plex software development environments; programmers cannot use mostly low-
level programming languages anymore; higher level abstractions are needed on
ACM Transactions on Embedded Computing Systems, Vol. 7, No. 4, Article 37, Publication date: July 2008.
Editorial • 37:3

the software side. On the hardware side, register-transfer level models are too
time consuming to design and verify when considering multiple processor cores;
higher abstraction levels are needed here, too.
High-level abstractions make global embedded system design methodolo-
gies possible by hiding precise circuit behavior from system-level designers
and tools. However, embedded systems are mostly targeted for real-time appli-
cations in which accurate performance information must be available at design
time in order to respect deadlines. High-level estimation metrics and evalu-
ation remains an active research subject since a system’s design metrics are
not easy to compose. A complete design flow for embedded systems includes
refinement processes that require multiple competences and tools because of
the complexity and diversity of the current applications. Current work tries to
reduce the gap between different design steps and to master the integration of
heterogeneous components, including hardware and software parts. This spe-
cial issue tries to answer some of these questions as it broadens the discussion
about embedded system design challenges.

3. THIS ISSUE
The article “A Re-configurable FTL (Flash Translation Layer) Architecture for
NAND Flash based Applications” by C. Park et al. presents a novel FTL archi-
tecture for NAND applications such as mp3 players, DSCs (Digital Still Cam-
era) and SSDs (Solid State Drive). The article “Platform-Based Software Design
Flow for Heterogeneous MPSOC” by K. Popovici et al. proposes a platform based
software design flow able to efficiently use the resources of the architecture.
Chattopadhyay et al., in their article “Prefabrication and Postfabrication Ar-
chitecture Exploration for Partially Reconfigurable VLIW Processors”, present
a high-level specification and design methodology for partially reconfigurable
VLIW processors. The article “Modeling and Analysis of Core-Centric Network
Processors” by Lin et al., analyzes the core-centric NPs and aims at deriving
a feasible modeling framework towards rapid system prototyping and mech-
anisms to properly exploit the core. Hugues et al., in their article “From the
Prototype to the Final Embedded System Using the Ocarina AADL Tool Suite”,
show how the AADL helps solve the issues related to the rapid prototyping
process based on tasks automation.
We sincerely hope that you enjoy reading the articles and find them enlight-
ening.

FABIANO HESSELL
PUCRS, Brazil
KENNETH KENT
University New Brunswick, Canada
DIONISIOS PNEVMATIKATOS
Tech. University of Crete, Greece

ACM Transactions on Embedded Computing Systems, Vol. 7, No. 4, Article 37, Publication date: July 2008.

You might also like