EMBEDDED SYSTEMS – THEORY AND DESIGN METHODOLOGY Edited by Kiyofumi Tanaka Embedded Systems – Theory and Design Methodology Edited by Kiyofumi Tanaka Published by InTech Janeza Trdine 9, 51000 Rijeka, Croatia Copyright © 2012 InTech All chapters are Open Access distributed under the Creative Commons Attribution 3.0 license, which allows users to download, copy and build upon published articles even for commercial purposes, as long as the author and publisher are properly credited, which ensures maximum dissemination and a wider impact of our publications. After this work has been published by InTech, authors have the right to republish it, in whole or part, in any publication of which they are the author, and to make other personal use of the work. Any republication, referencing or personal use of the work must explicitly identify the original source. As for readers, this license allows users to download, copy and build upon published chapters even for commercial purposes, as long as the author and publisher are properly credited, which ensures maximum dissemination and a wider impact of our publications. Notice Statements and opinions expressed in the chapters are these of the individual contributors and not necessarily those of the editors or publisher. No responsibility is accepted for the accuracy of information contained in the published chapters. The publisher assumes no responsibility for any damage or injury to persons or property arising out of the use of any materials, instructions, methods or ideas contained in the book. Publishing Process Manager Marina Jozipovic Technical Editor Teodora Smiljanic Cover Designer InTech Design Team First published February, 2012 Printed in Croatia A free online edition of this book is available at www.intechopen.com Additional hard copies can be obtained from orders@intechweb.org Embedded Systems – Theory and Design Methodology, Edited by Kiyofumi Tanaka p. cm. ISBN 978-953-51-0167-3 Contents Preface IX Part 1 Real-Time Property, Task Scheduling, Predictability, Reliability, and Safety 1 Chapter 1 Ways for Implementing Highly-Predictable Embedded Systems Using Time-Triggered Co-Operative (TTC) Architectures 3 Mouaaz Nahas and Ahmed M. Nahhas Chapter 2 Safely Embedded Software for State Machines in Automotive Applications 17 Juergen Mottok, Frank Schiller and Thomas Zeitler Chapter 3 Vulnerability Analysis and Risk Assessment for SoCs Used in Safety-Critical Embedded Systems 51 Yung-Yuan Chen and Tong-Ying Juang Chapter 4 Simulation and Synthesis Techniques for Soft Error-Resilient Microprocessors 73 Makoto Sugihara Chapter 5 Real-Time Operating Systems and Programming Languages for Embedded Systems 123 Javier D. Orozco and Rodrigo M. Santos Part 2 Design/Evaluation Methodology, Verification, and Development Environment 121 Chapter 6 Architecting Embedded Software for Context-Aware Systems 123 Susanna Pantsar-Syväniemi Chapter 7 FSMD-Based Hardware Accelerators for FPGAs 143 Nikolaos Kavvadias, Vasiliki Giannakopoulou and Kostas Masselos VI Contents Chapter 8 Context Aware Model-Checking for Embedded Software 167 Philippe Dhaussy, Jean-Charles Roger and Frédéric Boniol Chapter 9 A Visual Software Development Environment that Considers Tests of Physical Units 185 Takaaki Goto, Yasunori Shiono, Tomoo Sumida, Tetsuro Nishino, Takeo Yaku and Kensei Tsuchida Chapter 10 A Methodology for Scheduling Analysis Based on UML Development Models 203 Matthias Hagner and Ursula Goltz Chapter 11 Formal Foundations for the Generation of Heterogeneous Executable Specifications in SystemC from UML/MARTE Models 227 Pablo Peñil, Fernando Herrera and Eugenio Villar Chapter 12 Concurrent Specification of Embedded Systems: An Insight into the Flexibility vs Correctness Trade-Off 251 F. Herrera and I. Ugarte Chapter 13 SW Annotation Techniques and RTOS Modelling for Native Simulation of Heterogeneous Embedded Systems 277 Héctor Posadas, Álvaro Díaz and Eugenio Villar Chapter 14 The Innovative Design of Low Cost Embedded Controller for Complex Control Systems 303 Meng Shao, Zhe Peng and Longhua Ma Chapter 15 Choosing Appropriate Programming Language to Implement Software for Real-Time Resource-Constrained Embedded Systems 323 Mouaaz Nahas and Adi Maaita Part 3 High-Level Synthesis, SRAM Cells, and Energy Efficiency 339 Chapter 16 High-Level Synthesis for Embedded Systems 341 Michael Dossis Chapter 17 A Hierarchical C2RTL Framework for Hardware Configurable Embedded Systems 367 Yongpan Liu, Shuangchen Li, Huazhong Yang and Pei Zhang Contents VII Chapter 18 SRAM Cells for Embedded Systems 387 Jawar Singh and Balwinder Raj Chapter 19 Development of Energy Efficiency Aware Applications Using Commercial Low Power Embedded Systems 407 Konstantin Mikhaylov, Jouni Tervonen and Dmitry Fadeev Preface Nowadays, embedded systems have permeated various aspects of industry. Therefore, we can hardly discuss our life or society from now on without referring to embedded systems. For wide-ranging embedded systems to continue their growth, a number of high-quality fundamental and applied researches are indispensable. This book addresses a wide spectrum of research topics on embedded systems, including basic researches, theoretical studies, and practical work. The book consists of nineteen chapters. In Part 1, real-time property, task scheduling, predictability, reliability and safety, which are key factors in real-time embedded systems and will be further treated as important, are introduced by five chapters. Then, design/evaluation methodology, verification, and development environment, which are indispensable to embedded systems development, are dealt with in Part 2, through ten chapters. In Part 3, two chapters present high-level synthesis technologies, which can raise design abstraction and make system development periods shorter. The third chapter reveals embedded low-power SRAM cells for future embedded system, and the last one addresses the important issue, energy efficient applications. Embedded systems are part of products that can be made only after fusing miscellaneous technologies together. I expect that various technologies condensed in this book would be helpful to researchers and engineers around the world. The editor would like to express his appreciation to the authors of this book for presenting their precious work. The editor would like to thank Ms. Marina Jozipovic, the publishing process manager of this book, and all members of InTech for their editorial assistance. Kiyofumi Tanaka School of Information Science Japan Advanced Institute of Science and Technology Japan [...]... these functions can be provided by the system components 4 Embedded Systems – Theory and Design Methodology Requirement definition System and Software design Implementation Integration and Testing Operation and Maintenance Fig 1 The system development life cycle (Nahas, 2008) For successful design, the system requirements have to be expressed and documented in a very clear way Inevitably, there can be... (software or hardware) scheduler that enforces – at run-time – the task sequencing determined by the designed schedule (Cho et al., 2007) 10 Embedded Systems – Theory and Design Methodology Generally, it has been argued that there is a wide gap between scheduling theory and its implementation in operating system kernels running on specific hardware, and for any meaningful validation of timing properties... the various scheduler implementations are compared and contrasted in terms of jitter characteristics, error handling capabilities and resource requirements The overall chapter conclusions are presented in Section 9 2 Software architectures of embedded systems Embedded systems are composed of hardware and software components The success of an embedded design, thus, depends on the right selection of the... important design requirement for many embedded systems, TT software architectures have become the subject of considerable attention (e.g see Kopetz, 1997) In particular, it has been widely accepted that TT 6 Embedded Systems – Theory and Design Methodology architectures are a good match for many safety-critical applications, since they can help to improve the overall safety and reliability (Allworth, 1981;... used in the design of real-time embedded systems, namely "time-triggered" and "event-triggered" Section 3 introduces and compares the two most known scheduling policies, "co-operative" and "pre-emptive", and highlights the advantages of co-operative over pre-emptive scheduling Section 4 discusses the relationship between scheduling algorithms and scheduler implementations in practical embedded systems. .. mechanism – based on a 16 Embedded Systems – Theory and Design Methodology hardware timer – which can be used to ensure that a particular code section always takes approximately the same period of time to execute The SD operates as follows: [1] A timer is set to run; [2] An activity is performed; [3] The system waits until the timer reaches a predetermined count value In these circumstances – as long... offer The chapter, however, discussed major problems that can affect 26 Embedded Systems – Theory and Design Methodology the performance of TTC schedulers and reviewed some suggested solutions to overcome such problems Then, the discussions focused on the relationship between scheduling algorithm and scheduler implementations and highlighted the challenges faced when implementing software for a particular... Similarly, Jerri (1977) discusses the serious impact of jitter on applications such as spectrum analysis and filtering Also, in control systems, jitter can greatly degrade the performance by varying the sampling period (Torngren, 1998; Marti et al., 2001) 14 Embedded Systems – Theory and Design Methodology When TTC architectures (which represent the main focus of this chapter) are employed, possible... (2000) highlights that TT systems are easy to validate, test, and certify because the times related to the tasks are deterministic Detailed comparisons between the TT and ET concepts were performed by Kopetz (1991a and 1991b) 3 Schedulers and scheduling algorithms Most embedded systems involve several tasks that share the system resources and communicate with one another and/ or the environment in which... ISR, the scheduler waits – in idle mode – for a period of time equals to the WCETs of Task A and Task B before running Task C Fig 20 shows that when an MTI method is used, the periods between the successive runs of Task C (the lowest priority task in the system) are always equal This means that the task jitter in such 22 Embedded Systems – Theory and Design Methodology implementation is independent . EMBEDDED SYSTEMS – THEORY AND DESIGN METHODOLOGY Edited by Kiyofumi Tanaka Embedded Systems – Theory and Design Methodology Edited by Kiyofumi. hardware) scheduler that enforces – at run-time – the task sequencing determined by the designed schedule (Cho et al., 2007). Embedded Systems – Theory and Design Methodology 10 Generally,. functions and the desirable features of the system. The system design process then determines how these functions can be provided by the system components. Embedded Systems – Theory and Design Methodology