Embedded Systems Design Based on Formal Models of Computation - Radojevic, Ivan.; Salcic, Zoran; SpringerLink (Online service). (Dordrecht Springer Netherlands, 2011)
One of the key problems in modern embedded systems design is the productivity gap. While the performance of computing architectures has been rapidly increasing in the past few decades, design tools have not kept pace. As a result, it is becoming increasingly difficult for embedded systems designers to handle complex applications. An obvious solution is to raise the abstraction level of design tools and at the same time enable automatic synthesis from high level specifications.  This leads to a demand for a formal model of computation, which sets the rules for communication among concurrent processes comprising the system. Since there is a lack of suitable models of computation for heterogeneous embedded systems containing both control-driven and data-driven behaviors, this book attempts to fill that gap with a new design methodology.  At the heart of the methodology lies a model called DFCharts.  A complete design flow is covered, from a system specification in a formal language to an implementation on a multiprocessor architecture. The methodology is demonstrated with a practical heterogeneous embedded system applied in power systems monitoring. In addition, suggestions are provided as to how DFCharts-based modeling can be used to improve design with two popular system level languages, SystemC and Esterel. Throughout the book, examples are provided to illustrate main concepts. The reader is not required to have a deep understanding of models of computation. Only basic familiarity is assumed.
1. Introduction -- 2. Models of Computation and Languages -- 3. Specification in DFCharts -- 4. Semantics of DFCharts -- 5. DFCharts in SystemC and Esterel -- 6. Java Environment for DFCharts -- 7. Heterogeneous Reactive Architectures of Embedded Systems -- 8. Implementation of DFCharts on HiDRA -- 9. Conclusions -- 10. References.
Keywords: Electronic books; Engineering; Software engineering; Engineering, general; Special Purpose and Application-Based Systems