Preface Acknowledgments 1.INTRODUCTION 1.1 Terms and scope 1.2 Application areas 1.3 Growing importance of embedded systems 1.4 Structure of this book 2.SPECIFICATIONS 2.1 Requirements 2.2 Models of computation 2.3 StateCharts 2.4 General language characteristics 2.5 SDL 2.6 Petri nets 2.7 Message Sequence Charts 2.8 UML 2.9 Process networks 2.10 Java 2.11 VHDL 2.12 SystemC 2.13 Verilog and SystemVerilog 2.14 SpecC 2.15 Additional languages 2.16 Levels of hardware modeling 2.17 Language comparison 2.18 Dependability requirements EMBEDDED SYSTEM HARDWARE 3.1 Introduction 3.2 Input 3.3 Communication 3.4 Processing Units 3.5 Memories 3.6 Output EMBEDDED OPERATING SYSTEMS,MIDDLEWARE, AND SCHEDULING 4.1 Prediction of execution times 4.2 Scheduling in real-time systems 4.3 Embedded operating systems 4.4 Middleware IMPLEMENTING EMBEDDED SYSTEMS:HARDWARE/SOFTWARE CODESIGN 5.1 Task level concurrency management 5.2 High-level optimizations 5.3 Hardware/software partitioning 5.4 Compilers for embedded systems 5.5 Voltage Scaling and Power Management 5.6 Actual design flows and tools VALIDATION 6.1 Introduction 6.2 Simulation 6.3 Rapid Prototyping and Emulation 6.4 Test 6.5 Fault simulation 6.6 Fault injection 6.7 Risk- and dependability analysis 6.8 Formal Verification References About the author List of Figures Index