ebook img

Copyright cG2011-2012 Edward Ashford Lee & Sanjit Arunkumar Seshia All rights reserved PDF

519 Pages·2013·23.76 MB·English
by  
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 Copyright cG2011-2012 Edward Ashford Lee & Sanjit Arunkumar Seshia All rights reserved

Copyright ⃝c 2011-2012 Edward Ashford Lee & Sanjit Arunkumar Seshia All rights reserved First Edition, Version 1.08 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 v 3 Discrete Dynamics 41 3.1 Discrete Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.2 The Notion of State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.3 Finite-State Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.4 Extended State Machines . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.5 Nondeterminism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.6 Behaviors and Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4 Hybrid Systems 77 4.1 Modal Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.2 Classes of Hybrid Systems . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5 Composition of State Machines 107 5.1 Concurrent Composition . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.2 Hierarchical State Machines . . . . . . . . . . . . . . . . . . . . . . . . 124 5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6 Concurrent Models of Computation 133 6.1 Structure of Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.2 Synchronous-Reactive Models . . . . . . . . . . . . . . . . . . . . . . . 136 6.3 Dataflow Models of Computation . . . . . . . . . . . . . . . . . . . . . . 146 6.4 Timed Models of Computation . . . . . . . . . . . . . . . . . . . . . . . 160 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 vi Lee & Seshia, Introduction to Embedded Systems II Design of Embedded Systems 175 7 Embedded Processors 177 7.1 Types of Processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.2 Parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 7.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 8 Memory Architectures 207 8.1 Memory Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 8.2 Memory Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 8.3 Memory Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 8.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 9 Input and Output 227 9.1 I/O Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2 Sequential Software in a Concurrent World . . . . . . . . . . . . . . . . 240 9.3 The Analog/Digital Interface . . . . . . . . . . . . . . . . . . . . . . . . 250 9.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 10 Multitasking 269 10.1 Imperative Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 10.2 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 10.3 Processes and Message Passing . . . . . . . . . . . . . . . . . . . . . . . 289 10.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 11 Scheduling 297 11.1 Basics of Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Lee & Seshia, Introduction to Embedded Systems vii 11.2 Rate Monotonic Scheduling . . . . . . . . . . . . . . . . . . . . . . . . 304 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 331 12 Invariants and Temporal Logic 333 12.1 Invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 12.2 Linear Temporal Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 12.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 13 Equivalence and Refinement 351 13.1 Models as Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . 352 13.2 Type Equivalence and Refinement . . . . . . . . . . . . . . . . . . . . . 354 13.3 Language Equivalence and Containment . . . . . . . . . . . . . . . . . . 356 13.4 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 13.5 Bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 13.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 14 Reachability Analysis and Model Checking 379 14.1 Open and Closed Systems . . . . . . . . . . . . . . . . . . . . . . . . . 380 14.2 Reachability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 14.3 Abstraction in Model Checking . . . . . . . . . . . . . . . . . . . . . . . 389 14.4 Model Checking Liveness Properties . . . . . . . . . . . . . . . . . . . . 392 14.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 viii Lee & Seshia, Introduction to Embedded Systems Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 15 Quantitative Analysis 401 15.1 Problems of Interest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 15.2 Programs as Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 15.3 Factors Determining Execution Time . . . . . . . . . . . . . . . . . . . . 410 15.4 Basics of Execution Time Analysis . . . . . . . . . . . . . . . . . . . . . 416 15.5 Other Quantitative Analysis Problems . . . . . . . . . . . . . . . . . . . 425 15.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 IV Appendices 431 A Sets and Functions 433 A.1 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 A.2 Relations and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 A.3 Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 B Complexity and Computability 443 B.1 Effectiveness and Complexity of Algorithms . . . . . . . . . . . . . . . . 444 B.2 Problems, Algorithms, and Programs . . . . . . . . . . . . . . . . . . . . 447 B.3 Turing Machines and Undecidability . . . . . . . . . . . . . . . . . . . . 449 B.4 Intractability: P and NP . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 B.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 Bibliography 461 Notation Index 477 Index 479 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.