Text
Introduction to embedded systems: a cyber-physical systems approach
Contents:
1 Introduction
1.1 Applications
1.2 Motivating example
1.3 The design process
1.4 Summary
I Modeling dynamic behaviors
2 Continuous dynamics
2.1 Newtonian mechanics
2.2 Actor models
2.3 Properties of systems
2.4 Feedback control
2.5 Summary
Exercises
3 Discrete dynamics
3.1 Discrete systems
3.2 The notion of state
3.3 Finite-state machines
3.4 Extended state machines
3.5 Nondeterminism
3.6 Behaviors and traces
3.7 Summary
Exercises
4 Hybrid systems
4.1 Modal models
4.2 Classes of hybrid systems
4.3 Summary
Exercises
5 Composition of state machines
5.1 Concurrent composition
5.2 Hierarchical state machines
5.3 Summary
Exercises
6 Concurrent models of computation
6.1 Structure for models
6.2 Synchronous-reactive models
6.3 Dataflow models of computation
6.4 Timed models of computation
6.5 Summary
Exercises
II Design of embedded systems
7 Sensors and actuators
7.1 Models of sensors and actuators
7.2 Common sensors
7.3 Actuators
7.4 Summary
Exercises
8 Embedded processors
8.1 Types of processors
8.2 Parallelism
8.3 Summary
Exercises
9 Memory architectures
9.1 Memory technologies
9.2 Memory hierarchy
9.3 Memory models
9.4 Summary
Exercises
10 Input and output
10.1 I/O hardware
10.2 Sequential software in a concurrent world
10.3 Summary
Exercises
11 Multitasking
11.1 Imperative programs
11.2 Threads
11.3 Processes and message passing
11.4 Summary
Exercises
12 Scheduling
12.1 Basics of scheduling
12.2 Rate monotonic scheduling
12.3 Earliest deadline first
12.4 Scheduling and mutual exclusion
12.5 Multiprocessor scheduling
12.6 Summary
Exercises
III Analysis and verification
13 Invariants and temporal logic
13.1 Invariants
13.2 Linear temporal logic
13.3 Summary
Exercises
14 Equivalence and refinement
14.1 Models as specifications
14.2 Type equivalence and refinement
14.3 Language equivalence and containment
14.4 Simulation
14.5 Bisimulation
14.6 Summary
Exercises
15 Reachability analysis and model checking
15.1 Open and closed systems
15.2 Reachability analysis
15.3 Abstraction in model checking
15.4 Model checking liveness properties
15.5 Summary
Exercises
16 Quantitative analysis
16.1 Problems of interest
16.2 Programs as graphs
16.3 Factors determining execution time
16.4 Basics of execution time analysis
16.5 Other quantitative analysis problems
16.6 Summary
Execises
17 Security and privacy
17.1 Cryptographic primitives
17.2 Protocol and network security
17.3 Software security
17.4 Information flow
17.5 Advanced topics
17.6 Summary
Exercises
IV Appendices
A Sets and functions
A.1 Sets
A.2 Relations and functions
A.3 Sequences
Exercises
B Complexity and computability
B.1 Effectiveness and complexity of algorithms
B.2 Problems, algorithms and programs
B.3 Turing machines and undecidability
B.4 Intractability: P and NP
B.5 Summary
Exercises
Bibliography
Notation index
Index
No other version available