ebook img

Introduction to Embedded Systems - A Cyber-Physical Systems Approach PDF

521 Pages·2011·22.96 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Introduction to Embedded Systems - A Cyber-Physical Systems Approach

Copyright ⃝c 2011 Edward Ashford Lee & Sanjit Arunkumar Seshia All rights reserved First Edition, Version 1.03 ISBN 978-0-557-70857-4 Please cite this book as: E. A. Lee and S. A. Seshia, Introduction to Embedded Systems - A Cyber-Physical Systems Approach, LeeSeshia.org, 2011. This book is dedicated to our families. Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi 1 Introduction 1 1.1 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Motivating Example . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 The Design Process . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 I Modeling Dynamic Behaviors 17 2 Continuous Dynamics 19 2.1 Newtonian Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 Actor Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 Properties of Systems . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4 Feedback Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 v 3 Discrete Dynamics 43 3.1 Discrete Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.2 The Notion of State . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.3 Finite-State Machines . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.4 Extended State Machines . . . . . . . . . . . . . . . . . . . . . . . 59 3.5 Nondeterminism . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.6 Behaviors and Traces . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4 Hybrid Systems 79 4.1 Modal Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.2 Classes of Hybrid Systems . . . . . . . . . . . . . . . . . . . . . . 84 4.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5 Composition of State Machines 107 5.1 Concurrent Composition . . . . . . . . . . . . . . . . . . . . . . . 109 5.2 Hierarchical State Machines . . . . . . . . . . . . . . . . . . . . . 122 5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6 Concurrent Models of Computation 131 6.1 Structure of Models . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.2 Synchronous-Reactive Models . . . . . . . . . . . . . . . . . . . . 134 6.3 Dataflow Models of Computation . . . . . . . . . . . . . . . . . . . 143 6.4 Timed Models of Computation . . . . . . . . . . . . . . . . . . . . 157 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 vi Lee & Seshia, Introduction to Embedded Systems II Design of Embedded Systems 171 7 Embedded Processors 173 7.1 Types of Processors . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.2 Parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 7.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 8 Memory Architectures 203 8.1 Memory Technologies . . . . . . . . . . . . . . . . . . . . . . . . 204 8.2 Memory Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . 207 8.3 Memory Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 8.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 9 Input and Output 225 9.1 I/O Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2 Sequential Software in a Concurrent World . . . . . . . . . . . . . 238 9.3 The Analog/Digital Interface . . . . . . . . . . . . . . . . . . . . . 249 9.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 10 Multitasking 267 10.1 Imperative Programs . . . . . . . . . . . . . . . . . . . . . . . . . 270 10.2 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 10.3 Processes and Message Passing . . . . . . . . . . . . . . . . . . . . 287 10.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 11 Scheduling 297 11.1 Basics of Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . 298 Lee & Seshia, Introduction to Embedded Systems vii 11.2 Rate Monotonic Scheduling . . . . . . . . . . . . . . . . . . . . . 305 11.3 Earliest Deadline First . . . . . . . . . . . . . . . . . . . . . . . . 309 11.4 Scheduling and Mutual Exclusion . . . . . . . . . . . . . . . . . . 314 11.5 Multiprocessor Scheduling . . . . . . . . . . . . . . . . . . . . . . 319 11.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 III Analysis and Verification 329 12 Invariants and Temporal Logic 331 12.1 Invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 12.2 Linear Temporal Logic . . . . . . . . . . . . . . . . . . . . . . . . 335 12.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 13 Equivalence and Refinement 349 13.1 Models as Specifications . . . . . . . . . . . . . . . . . . . . . . . 350 13.2 Type Equivalence and Refinement . . . . . . . . . . . . . . . . . . 352 13.3 Language Equivalence and Containment . . . . . . . . . . . . . . . 354 13.4 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 13.5 Bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 13.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 14 Reachability Analysis and Model Checking 377 14.1 Open and Closed Systems . . . . . . . . . . . . . . . . . . . . . . 378 14.2 Reachability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 380 14.3 Abstraction in Model Checking . . . . . . . . . . . . . . . . . . . . 387 14.4 Model Checking Liveness Properties . . . . . . . . . . . . . . . . . 390 14.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 viii Lee & Seshia, Introduction to Embedded Systems Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 15 Quantitative Analysis 399 15.1 Problems of Interest . . . . . . . . . . . . . . . . . . . . . . . . . . 401 15.2 Programs as Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 403 15.3 Factors Determining Execution Time . . . . . . . . . . . . . . . . . 408 15.4 Basics of Execution Time Analysis . . . . . . . . . . . . . . . . . . 414 15.5 Other Quantitative Analysis Problems . . . . . . . . . . . . . . . . 423 15.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 IV Appendices 429 A Sets and Functions 431 A.1 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 A.2 Relations and Functions . . . . . . . . . . . . . . . . . . . . . . . . 432 A.3 Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 B Complexity and Computability 441 B.1 Effectiveness and Complexity of Algorithms . . . . . . . . . . . . . 442 B.2 Problems, Algorithms, and Programs . . . . . . . . . . . . . . . . . 445 B.3 Turing Machines and Undecidability . . . . . . . . . . . . . . . . . 448 B.4 Intractability: P and NP . . . . . . . . . . . . . . . . . . . . . . . . 454 B.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 Bibliography 461 Notation Index 478 Index 481 Lee & Seshia, Introduction to Embedded Systems ix x Lee & Seshia, Introduction to Embedded Systems

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.