Embedded systems are informally defined as a collection of programmable parts surrounded by ASICs and other standard components, which interact continuously with an environment through sensors and actuators. The programmable parts include micro-controllers and Digital Signal Processors (DSPs).
Embedded systems are often used in life-critical situations, where reliability and safety are more important criteria than performance. Today, embedded systems are designed with an ad-hoc approach that is heavily based on earlier experience with similar products and on manual design.
Use of higher-level languages such as C helps structure the design somewhat, but with increasing complexity it is not sufficient. Formal verification and automatic synthesis of implementations are the surest ways to guarantee safety. Thus, the POLIS system -- a co-design environment for embedded systems based on a formal model of computation.
POLIS was initiated in 1988 as a research project at the University of California at Berkeley and, over the years, grew into a full design methodology with a software system supporting it. Hardware-Software Co-Design of Embedded Systems: The POLIS Approach is intended to give a complete overview of the POLIS system, including its formal and algorithmic aspects.
This book will be of interest to embedded system designers (automotive electronics, consumer electronics and telecommunications), micro-controller designers, CAD developers and students.
Authors: Felice Balarin, Massimiliano Chiodo, Paolo Giusto, Harry Hsieh, Attila Jurecska, Luciano Lavagno, Claudio Passerone, Alberto Sangiovanni-Vincentelli, Ellen Sentovich, Kei Suzuki, Bassam Tabbara.
Table of Contents
List of Figures
List of Tables
The Importance of Embedded Systems
Design of Embedded Systems
The POLIS System
Models and Representations
Co-design models and languages
CFSMs: Intuitive Semantics
CFSMs: Mathematical Model
CFSMs: Modeling Data Flow
The SHIFT Format
Specification: Synchronous Languages
Overview of the ESTEREL language
Specification: Graphical FSMs Modeling Software CFSMs
Software Cost Model
Processor Characterization Model
Partitioning and Architecture Selection
Software Cost Estimation
Interface Synthesis and the Real-Time Operating System
Real-Time Operating System Synthesis
Network-Specific Parts: Interfacing Hardware and Software
Target-Specific Parts: Creating an Abstraction
Scheduling-Specific Parts: Coordinating sw-CFSMs
Common Parts: Filling the Gaps
Co-simulation using the PTOLEMY environment
Simulation as partitioning support
High-level Co-simulation using VHDL
Interfacing to External Hardware and Software
Interfacing to an External RTOS
A Dashboard Controller
An Automotive Bus Controller
A Shock Absorber Controller
Conclusions and Future Work
The Syntax of SHIFT
Hardcover; 320 pages.