简介
"This book is a comprehensive text for the design of safety critical, hard real-time embedded systems. It offers聽 a splendid example for the balanced, integrated treatment of systems and software engineering, helping readers tackle the hardest problems of advanced real-time system design, such as determinism, compositionality, timing and fault management. This book is an essential reading for advanced undergraduates and graduate students in a wide range of disciplines impacted by embedded computing and software. Its conceptual clarity, the style of explanations and the examples make the abstract concepts聽accessible for a wide audience." Janos Sztipanovits, Director E. Bronson Ingram Distinguished Professor of Engineering Institute for Software Integrated Systems Vanderbilt University Real-Time Systems focuses on hard real-time systems, which are computing systems that must meet their temporal specification in all anticipated load and fault scenarios. The book stresses the system aspects of distributed real-time applications, treating the issues of real-time, distribution and fault-tolerance from an integral point of view. A unique cross-fertilization of ideas and concepts between the academic and industrial worlds has led to the inclusion of many insightful examples from industry to explain the fundamental scientific concepts in a real-world setting.聽 Compared to the first edition, new developments in聽complexity management,聽energy and power management, dependability, security, and聽the internet of things, are addressed. The book is written as a standard textbook for a high-level undergraduate or graduate course on real-time embedded systems or cyber-physical systems. 聽Its practical approach to solving real-time problems, along with numerous summary exercises, makes it an excellent choice for researchers and practitioners alike.
目录
Preface 5
Acknowledgements 7
Contents 9
Chapter 1: The Real-Time Environment 19
1.1 When Is a Computer System Real-Time? 20
1.2 Functional Requirements 21
1.2.1 Data Collection 21
1.2.2 Direct Digital Control 23
1.2.3 Man-Machine Interaction 24
1.3 Temporal Requirements 24
1.3.1 Where Do Temporal Requirements Come from? 24
1.3.2 Minimal Latency Jitter 27
1.3.3 Minimal Error-Detection Latency 28
1.4 Dependability Requirements 28
1.4.1 Reliability 28
1.4.2 Safety 29
1.4.3 Maintainability 30
1.4.4 Availability 30
1.4.5 Security 31
1.5 Classification of Real-Time Systems 31
1.5.1 Hard Real-Time System Versus Soft Real-Time System 31
1.5.2 Fail-Safe Versus Fail-Operational 33
1.5.3 Guaranteed-Response Versus Best-Effort 34
1.5.4 Resource-Adequate Versus Resource-Inadequate 34
1.5.5 Event-Triggered Versus Time-Triggered 34
1.6 The Real-Time Systems Market 35
1.6.1 Embedded Real-Time Systems 36
1.6.2 Plant Automation Systems 38
1.6.3 Multimedia Systems 39
1.7 Examples of Real-Time Systems 40
1.7.1 Controlling the Flow in a Pipe 40
1.7.2 Engine Control 41
1.7.3 Rolling Mill 42
Chapter 2: Simplicity 47
2.1 Cognition 48
2.1.1 Problem Solving 48
2.1.2 Definition of a Concept 50
2.1.3 Cognitive Complexity 51
2.1.4 Simplification Strategies 52
2.2 The Conceptual Landscape 53
2.2.1 Concept Formation 54
2.2.2 Scientific Concepts 55
2.2.3 The Concept of a Message 56
2.2.4 Semantic Content of a Variable 57
2.3 The Essence of Model Building 58
2.3.1 Purpose and Viewpoint 59
2.3.2 The Grand Challenge 60
2.4 Emergence 61
2.4.1 Irreducibility 61
2.4.2 Prior and Derived Properties 62
2.4.3 Complex Systems 62
2.5 How Can We Achieve Simplicity? 63
Chapter 3: Global Time 69
3.1 Time and Order 70
3.1.1 Different Orders 70
3.1.2 Clocks 71
3.1.3 Precision and Accuracy 73
3.1.4 Time Standards 74
3.2 Time Measurement 75
3.2.1 Global Time 76
3.2.2 Interval Measurement 77
3.2.3 蟺/鈭?Precedence 78
3.2.4 Fundamental Limits of Time Measurement 79
3.3 Dense Time Versus Sparse Time 80
3.3.1 Dense Time-Base 81
3.3.2 Sparse Time-Base 82
3.3.3 Space-Time Lattice 82
3.3.4 Cyclic Representation of Time 83
3.4 Internal Clock Synchronization 84
3.4.1 The Synchronization Condition 84
3.4.2 Central Master Synchronization 86
3.4.3 Fault-Tolerant Synchronization Algorithms 87
3.4.4 State Correction Versus Rate Correction 90
3.5 External Clock Synchronization 91
3.5.1 External Time Sources 91
3.5.2 Time Gateway 92
3.5.3 Time Formats 93
Chapter 4: Real-Time Model 97
4.1 Model Outline 98
4.1.1 Components and Messages 98
4.1.2 Cluster of Components 99
4.1.3 Temporal Control Versus Logical Control 100
4.1.4 Event-Triggered Control Versus Time-Triggered Control 102
4.2 Component State 102
4.2.1 Definition of State 102
4.2.2 The Pocket Calculator Example 103
4.2.3 Ground State 104
4.2.4 Database Components 106
4.3 The Message Concept 106
4.3.1 Message Structure 106
4.3.2 Event Information Versus State Information 107
4.3.3 Event-Triggered Message 108
4.3.4 Time-Triggered Message 109
4.4 Component Interfaces 110
4.4.1 Interface Characterization 111
4.4.2 Linking Interface 112
4.4.3 Technology Independent Control Interface 112
4.4.4 Technology Dependent Debug Interface 113
4.4.5 Local Interfaces 113
4.5 Gateway Component 113
4.5.1 Property Mismatches 114
4.5.2 LIF Versus Local Interface of a Gateway Component 115
4.5.3 Standardized Message Interface 116
4.6 Linking Interface Specification 117
4.6.1 Transport Specification 117
4.6.2 Operational Specification 118
4.6.3 Meta-Level Specification 119
4.7 Component Integration 120
4.7.1 Principles of Composability 120
4.7.2 Integration Viewpoints 122
4.7.3 System of Systems 122
Chapter 5: Temporal Relations 129
5.1 Real-Time Entities 130
5.1.1 Sphere of Control 130
5.1.2 Discrete and Continuous Real-Time Entities 130
5.2 Observations 131
5.2.1 Untimed Observation 131
5.2.2 Indirect Observation 132
5.2.3 State Observation 132
5.2.4 Event Observation 132
5.3 Real-Time Images and Real-Time Objects 133
5.3.1 Real-Time Images 133
5.3.2 Real-Time Objects 134
5.4 Temporal Accuracy 134
5.4.1 Definition 134
5.4.2 Classification of Real-Time Images 137
5.4.3 State Estimation 138
5.4.4 Composability Considerations 139
5.5 Permanence and Idempotency 140
5.5.1 Permanence 140
5.5.2 Duration of the Action Delay 141
5.5.3 Accuracy Interval Versus Action Delay 142
5.5.4 Idempotency 142
5.6 Determinism 143
5.6.1 Definition of Determinism 143
5.6.2 Consistent Initial States 145
5.6.3 Non-deterministic Design Constructs 146
5.6.4 Recovery of Determinism 148
Chapter 6: Dependability 152
6.1 Basic Concepts 153
6.1.1 Faults 153
6.1.2 Errors 155
6.1.3 Failures 156
6.2 Information Security 158
6.2.1 Secure Information Flow 159
6.2.2 Security Threats 160
6.2.3 Cryptographic Methods 162
6.2.4 Network Authentication 165
6.2.5 Protection of Real-Time Control Data 166
6.3 Anomaly Detection 167
6.3.1 What Is an Anomaly? 167
6.3.2 Failure Detection 168
6.3.3 Error Detection 169
6.4 Fault Tolerance 170
6.4.1 Fault Hypotheses 171
6.4.2 Fault-Tolerant Unit 172
6.4.3 The Membership Service 175
6.5 Robustness 177
6.5.1 The Concept of Robustness 177
6.5.2 Structure of a Robust System 177
6.6 Component Reintegration 178
6.6.1 Finding a Reintegration Point 178
6.6.2 Minimizing the Ground-State 179
6.6.3 Component Restart 180
Chapter 7: Real-Time Communication 184
7.1 Requirements 185
7.1.1 Timeliness 185
7.1.2 Dependability 185
7.1.3 Flexibility 188
7.1.4 Physical Structure 188
7.2 Design Issues 189
7.2.1 A Waistline Communication Model 189
7.2.2 Physical Performance Limitation 191
7.2.3 Flow Control 191
7.2.4 Thrashing 193
7.3 Event-Triggered Communication 195
7.3.1 Ethernet 196
7.3.2 Controller Area Network 196
7.3.3 User Datagram Protocol 197
7.4 Rate-Constrained Communication 197
7.4.1 Token Protocol 198
7.4.2 Mini-slotting Protocol ARINC 629 198
7.4.3 Avionics Full Duplex Switched Ethernet 199
7.4.4 Audio Video Bus 199
7.5 Time-Triggered Communication 200
7.5.1 Time-Triggered Protocol 201
7.5.2 Time-Triggered Ethernet 203
7.5.3 FlexRay 204
Chapter 8: Power and Energy Awareness 207
8.1 Power and Energy 208
8.1.1 Basic Concepts 208
8.1.2 Energy Estimation 209
8.1.3 Thermal Effects and Reliability 213
8.2 Hardware Power Reduction Techniques 216
8.2.1 Device Scaling 216
8.2.2 Low-Power Hardware Design 217
8.2.3 Voltage and Frequency Scaling 218
8.2.4 Sub-threshold Logic 218
8.3 System Architecture 219
8.3.1 Technology-Agnostic Design 219
8.3.2 Pollack麓s Rule 220
8.3.3 Power Gating 221
8.3.4 Real Time Versus Execution Time 222
8.4 Software Techniques 223
8.4.1 System Software 223
8.4.2 Application Software 224
8.4.3 Software Tools 1
8.5 Energy Sources 1
8.5.1 Batteries 1
8.5.2 Energy Harvesting 226
Chapter 9: Real-Time Operating Systems 230
9.1 Inter-Component Communication 231
9.1.1 Technology Independent Interface 231
9.1.2 Linking Interface 231
9.1.3 Technology Dependent Debug Interface 232
9.1.4 Generic Middleware 232
9.2 Task Management 233
9.2.1 Simple Tasks 233
9.2.2 Trigger Tasks 235
9.2.3 Complex Tasks 235
9.3 The Dual Role of Time 236
9.3.1 Time as Data 237
9.3.2 Time as Control 238
9.4 Inter-task Interactions 238
9.4.1 Coordinated Static Schedules 239
9.4.2 The Non-blocking Write Protocol 239
9.4.3 Semaphore Operations 240
9.5 Process Input/Output 241
9.5.1 Analog Input/Output 241
9.5.2 Digital Input/Output 242
9.5.3 Interrupts 243
9.5.4 Fault-Tolerant Actuators 244
9.5.5 Intelligent Instrumentation 1
9.5.6 Physical Installation 247
9.6 Agreement Protocols 247
9.6.1 Raw Data, Measured Data, and Agreed Data 248
9.6.2 Syntactic Agreement 248
9.6.3 Semantic Agreement 248
9.7 Error Detection 249
9.7.1 Monitoring Task Execution Times 249
9.7.2 Monitoring Interrupts 250
9.7.3 Double Execution of Tasks 250
9.7.4 Watchdogs 250
Chapter 10: Real-Time Scheduling 253
10.1 The Scheduling Problem 254
10.1.1 Classification of Scheduling Algorithms 254
10.1.2 Schedulability Test 255
10.1.3 The Adversary Argument 256
10.2 Worst-Case Execution Time 257
10.2.1 WCET of Simple Tasks 257
10.2.2 WCET of Complex Tasks 260
10.2.3 Anytime Algorithms 260
10.2.4 State of Practice 261
10.3 Static Scheduling 262
10.3.1 Static Scheduling Viewed as a Search 262
10.3.2 Increasing the Flexibility in Static Schedules 264
10.4 Dynamic Scheduling 265
10.4.1 Scheduling Independent Tasks 265
10.4.2 Scheduling Dependent Tasks 267
10.5 Alternative Scheduling Strategies 269
10.5.1 Scheduling in Distributed Systems 269
10.5.2 Feedback Scheduling 270
Chapter 11: System Design 273
11.1 System Design 274
11.1.1 The Design Process 274
11.1.2 The Role of Constraints 275
11.1.3 System Design Versus Software Design 276
11.2 Design Phases 277
11.2.1 Purpose Analysis 278
11.2.2 Requirements Capture 278
11.2.3 Architecture Design 279
11.2.4 Design of Components 279
11.3 Design Styles 280
11.3.1 Model-Based Design 280
11.3.2 Component-Based Design 281
11.3.3 Architecture Design Languages 282
11.3.4 Test of a Decomposition 283
11.4 Design of Safety-Critical Systems 285
11.4.1 What Is Safety? 286
11.4.2 Safety Analysis 288
11.4.3 Safety Case 290
11.4.4 Safety Standards 293
11.5 Design Diversity 295
11.5.1 Diverse Software Versions 295
11.5.2 An Example of a Fail-Safe System 296
11.5.3 Multilevel System 297
11.6 Design for Maintainability 298
11.6.1 Cost of Maintenance 298
11.6.2 Maintenance Strategy 299
11.6.3 Software Maintenance 301
Chapter 12: Validation 304
12.1 Validation Versus Verification 305
12.2 Testing Challenges 306
12.2.1 Design for Testability 306
12.2.2 Test Data Selection 307
12.2.3 Test Oracle 309
12.2.4 System Evolution 309
12.3 Testing of Component-Based Systems 310
12.3.1 Component Provider 310
12.3.2 Component User 311
12.3.3 Communicating Components 311
12.4 Formal Methods 312
12.4.1 Formal Methods in the Real World 312
12.4.2 Classification of Formal Methods 313
12.4.3 Benefits of Formal Methods 314
12.4.4 Model Checking 315
12.5 Fault Injection 315
12.5.1 Software-Implemented Fault Injection 316
12.5.2 Physical Fault Injection 316
12.5.3 Sensor and Actuator Failures 318
Chapter 13: Internet of Things 320
13.1 The Vision of an Internet-of-Things 321
13.2 Drivers for an IoT 322
13.2.1 Uniformity of Access 322
13.2.2 Logistics 322
13.2.3 Energy Savings 323
13.2.4 Physical Security and Safety 323
13.2.5 Industrial 324
13.2.6 Medical 324
13.2.7 Life Style 324
13.3 Technical Issues of the IoT 324
13.3.1 Internet Integration 324
13.3.2 Naming and Identification 325
13.3.3 Near Field Communication 326
13.3.4 IoT Device Capabilities versus Cloud Computing 327
13.3.5 Autonomic Components 327
13.4 RFID Technology 328
13.4.1 Overview 329
13.4.2 The Electronic Product Code 329
13.4.3 RFID Tags 330
13.4.4 RFID Readers 331
13.4.5 RFID Security 331
13.5 Wireless Sensor Networks 333
Chapter 14: The Time-Triggered Architecture 337
14.1 History of the TTA 338
14.1.1 The MARS Project 338
14.1.2 The Industrial TTA Prototype 339
14.1.3 The GENESYS Project 339
14.2 Architectural Style 340
14.2.1 Complexity Management 340
14.2.2 Component Orientation 341
14.2.3 Coherent Communication 342
14.2.4 Dependability 343
14.2.5 Time Aware Architecture 344
14.3 Services of the TTA 344
14.3.1 Component-Based Services 344
14.3.2 Core System Services 345
14.3.3 Optional System Services 346
14.4 The Time-Triggered MPSoC 348
Abbreviations 352
Glossary 354
References 370
Index 380
Acknowledgements 7
Contents 9
Chapter 1: The Real-Time Environment 19
1.1 When Is a Computer System Real-Time? 20
1.2 Functional Requirements 21
1.2.1 Data Collection 21
1.2.2 Direct Digital Control 23
1.2.3 Man-Machine Interaction 24
1.3 Temporal Requirements 24
1.3.1 Where Do Temporal Requirements Come from? 24
1.3.2 Minimal Latency Jitter 27
1.3.3 Minimal Error-Detection Latency 28
1.4 Dependability Requirements 28
1.4.1 Reliability 28
1.4.2 Safety 29
1.4.3 Maintainability 30
1.4.4 Availability 30
1.4.5 Security 31
1.5 Classification of Real-Time Systems 31
1.5.1 Hard Real-Time System Versus Soft Real-Time System 31
1.5.2 Fail-Safe Versus Fail-Operational 33
1.5.3 Guaranteed-Response Versus Best-Effort 34
1.5.4 Resource-Adequate Versus Resource-Inadequate 34
1.5.5 Event-Triggered Versus Time-Triggered 34
1.6 The Real-Time Systems Market 35
1.6.1 Embedded Real-Time Systems 36
1.6.2 Plant Automation Systems 38
1.6.3 Multimedia Systems 39
1.7 Examples of Real-Time Systems 40
1.7.1 Controlling the Flow in a Pipe 40
1.7.2 Engine Control 41
1.7.3 Rolling Mill 42
Chapter 2: Simplicity 47
2.1 Cognition 48
2.1.1 Problem Solving 48
2.1.2 Definition of a Concept 50
2.1.3 Cognitive Complexity 51
2.1.4 Simplification Strategies 52
2.2 The Conceptual Landscape 53
2.2.1 Concept Formation 54
2.2.2 Scientific Concepts 55
2.2.3 The Concept of a Message 56
2.2.4 Semantic Content of a Variable 57
2.3 The Essence of Model Building 58
2.3.1 Purpose and Viewpoint 59
2.3.2 The Grand Challenge 60
2.4 Emergence 61
2.4.1 Irreducibility 61
2.4.2 Prior and Derived Properties 62
2.4.3 Complex Systems 62
2.5 How Can We Achieve Simplicity? 63
Chapter 3: Global Time 69
3.1 Time and Order 70
3.1.1 Different Orders 70
3.1.2 Clocks 71
3.1.3 Precision and Accuracy 73
3.1.4 Time Standards 74
3.2 Time Measurement 75
3.2.1 Global Time 76
3.2.2 Interval Measurement 77
3.2.3 蟺/鈭?Precedence 78
3.2.4 Fundamental Limits of Time Measurement 79
3.3 Dense Time Versus Sparse Time 80
3.3.1 Dense Time-Base 81
3.3.2 Sparse Time-Base 82
3.3.3 Space-Time Lattice 82
3.3.4 Cyclic Representation of Time 83
3.4 Internal Clock Synchronization 84
3.4.1 The Synchronization Condition 84
3.4.2 Central Master Synchronization 86
3.4.3 Fault-Tolerant Synchronization Algorithms 87
3.4.4 State Correction Versus Rate Correction 90
3.5 External Clock Synchronization 91
3.5.1 External Time Sources 91
3.5.2 Time Gateway 92
3.5.3 Time Formats 93
Chapter 4: Real-Time Model 97
4.1 Model Outline 98
4.1.1 Components and Messages 98
4.1.2 Cluster of Components 99
4.1.3 Temporal Control Versus Logical Control 100
4.1.4 Event-Triggered Control Versus Time-Triggered Control 102
4.2 Component State 102
4.2.1 Definition of State 102
4.2.2 The Pocket Calculator Example 103
4.2.3 Ground State 104
4.2.4 Database Components 106
4.3 The Message Concept 106
4.3.1 Message Structure 106
4.3.2 Event Information Versus State Information 107
4.3.3 Event-Triggered Message 108
4.3.4 Time-Triggered Message 109
4.4 Component Interfaces 110
4.4.1 Interface Characterization 111
4.4.2 Linking Interface 112
4.4.3 Technology Independent Control Interface 112
4.4.4 Technology Dependent Debug Interface 113
4.4.5 Local Interfaces 113
4.5 Gateway Component 113
4.5.1 Property Mismatches 114
4.5.2 LIF Versus Local Interface of a Gateway Component 115
4.5.3 Standardized Message Interface 116
4.6 Linking Interface Specification 117
4.6.1 Transport Specification 117
4.6.2 Operational Specification 118
4.6.3 Meta-Level Specification 119
4.7 Component Integration 120
4.7.1 Principles of Composability 120
4.7.2 Integration Viewpoints 122
4.7.3 System of Systems 122
Chapter 5: Temporal Relations 129
5.1 Real-Time Entities 130
5.1.1 Sphere of Control 130
5.1.2 Discrete and Continuous Real-Time Entities 130
5.2 Observations 131
5.2.1 Untimed Observation 131
5.2.2 Indirect Observation 132
5.2.3 State Observation 132
5.2.4 Event Observation 132
5.3 Real-Time Images and Real-Time Objects 133
5.3.1 Real-Time Images 133
5.3.2 Real-Time Objects 134
5.4 Temporal Accuracy 134
5.4.1 Definition 134
5.4.2 Classification of Real-Time Images 137
5.4.3 State Estimation 138
5.4.4 Composability Considerations 139
5.5 Permanence and Idempotency 140
5.5.1 Permanence 140
5.5.2 Duration of the Action Delay 141
5.5.3 Accuracy Interval Versus Action Delay 142
5.5.4 Idempotency 142
5.6 Determinism 143
5.6.1 Definition of Determinism 143
5.6.2 Consistent Initial States 145
5.6.3 Non-deterministic Design Constructs 146
5.6.4 Recovery of Determinism 148
Chapter 6: Dependability 152
6.1 Basic Concepts 153
6.1.1 Faults 153
6.1.2 Errors 155
6.1.3 Failures 156
6.2 Information Security 158
6.2.1 Secure Information Flow 159
6.2.2 Security Threats 160
6.2.3 Cryptographic Methods 162
6.2.4 Network Authentication 165
6.2.5 Protection of Real-Time Control Data 166
6.3 Anomaly Detection 167
6.3.1 What Is an Anomaly? 167
6.3.2 Failure Detection 168
6.3.3 Error Detection 169
6.4 Fault Tolerance 170
6.4.1 Fault Hypotheses 171
6.4.2 Fault-Tolerant Unit 172
6.4.3 The Membership Service 175
6.5 Robustness 177
6.5.1 The Concept of Robustness 177
6.5.2 Structure of a Robust System 177
6.6 Component Reintegration 178
6.6.1 Finding a Reintegration Point 178
6.6.2 Minimizing the Ground-State 179
6.6.3 Component Restart 180
Chapter 7: Real-Time Communication 184
7.1 Requirements 185
7.1.1 Timeliness 185
7.1.2 Dependability 185
7.1.3 Flexibility 188
7.1.4 Physical Structure 188
7.2 Design Issues 189
7.2.1 A Waistline Communication Model 189
7.2.2 Physical Performance Limitation 191
7.2.3 Flow Control 191
7.2.4 Thrashing 193
7.3 Event-Triggered Communication 195
7.3.1 Ethernet 196
7.3.2 Controller Area Network 196
7.3.3 User Datagram Protocol 197
7.4 Rate-Constrained Communication 197
7.4.1 Token Protocol 198
7.4.2 Mini-slotting Protocol ARINC 629 198
7.4.3 Avionics Full Duplex Switched Ethernet 199
7.4.4 Audio Video Bus 199
7.5 Time-Triggered Communication 200
7.5.1 Time-Triggered Protocol 201
7.5.2 Time-Triggered Ethernet 203
7.5.3 FlexRay 204
Chapter 8: Power and Energy Awareness 207
8.1 Power and Energy 208
8.1.1 Basic Concepts 208
8.1.2 Energy Estimation 209
8.1.3 Thermal Effects and Reliability 213
8.2 Hardware Power Reduction Techniques 216
8.2.1 Device Scaling 216
8.2.2 Low-Power Hardware Design 217
8.2.3 Voltage and Frequency Scaling 218
8.2.4 Sub-threshold Logic 218
8.3 System Architecture 219
8.3.1 Technology-Agnostic Design 219
8.3.2 Pollack麓s Rule 220
8.3.3 Power Gating 221
8.3.4 Real Time Versus Execution Time 222
8.4 Software Techniques 223
8.4.1 System Software 223
8.4.2 Application Software 224
8.4.3 Software Tools 1
8.5 Energy Sources 1
8.5.1 Batteries 1
8.5.2 Energy Harvesting 226
Chapter 9: Real-Time Operating Systems 230
9.1 Inter-Component Communication 231
9.1.1 Technology Independent Interface 231
9.1.2 Linking Interface 231
9.1.3 Technology Dependent Debug Interface 232
9.1.4 Generic Middleware 232
9.2 Task Management 233
9.2.1 Simple Tasks 233
9.2.2 Trigger Tasks 235
9.2.3 Complex Tasks 235
9.3 The Dual Role of Time 236
9.3.1 Time as Data 237
9.3.2 Time as Control 238
9.4 Inter-task Interactions 238
9.4.1 Coordinated Static Schedules 239
9.4.2 The Non-blocking Write Protocol 239
9.4.3 Semaphore Operations 240
9.5 Process Input/Output 241
9.5.1 Analog Input/Output 241
9.5.2 Digital Input/Output 242
9.5.3 Interrupts 243
9.5.4 Fault-Tolerant Actuators 244
9.5.5 Intelligent Instrumentation 1
9.5.6 Physical Installation 247
9.6 Agreement Protocols 247
9.6.1 Raw Data, Measured Data, and Agreed Data 248
9.6.2 Syntactic Agreement 248
9.6.3 Semantic Agreement 248
9.7 Error Detection 249
9.7.1 Monitoring Task Execution Times 249
9.7.2 Monitoring Interrupts 250
9.7.3 Double Execution of Tasks 250
9.7.4 Watchdogs 250
Chapter 10: Real-Time Scheduling 253
10.1 The Scheduling Problem 254
10.1.1 Classification of Scheduling Algorithms 254
10.1.2 Schedulability Test 255
10.1.3 The Adversary Argument 256
10.2 Worst-Case Execution Time 257
10.2.1 WCET of Simple Tasks 257
10.2.2 WCET of Complex Tasks 260
10.2.3 Anytime Algorithms 260
10.2.4 State of Practice 261
10.3 Static Scheduling 262
10.3.1 Static Scheduling Viewed as a Search 262
10.3.2 Increasing the Flexibility in Static Schedules 264
10.4 Dynamic Scheduling 265
10.4.1 Scheduling Independent Tasks 265
10.4.2 Scheduling Dependent Tasks 267
10.5 Alternative Scheduling Strategies 269
10.5.1 Scheduling in Distributed Systems 269
10.5.2 Feedback Scheduling 270
Chapter 11: System Design 273
11.1 System Design 274
11.1.1 The Design Process 274
11.1.2 The Role of Constraints 275
11.1.3 System Design Versus Software Design 276
11.2 Design Phases 277
11.2.1 Purpose Analysis 278
11.2.2 Requirements Capture 278
11.2.3 Architecture Design 279
11.2.4 Design of Components 279
11.3 Design Styles 280
11.3.1 Model-Based Design 280
11.3.2 Component-Based Design 281
11.3.3 Architecture Design Languages 282
11.3.4 Test of a Decomposition 283
11.4 Design of Safety-Critical Systems 285
11.4.1 What Is Safety? 286
11.4.2 Safety Analysis 288
11.4.3 Safety Case 290
11.4.4 Safety Standards 293
11.5 Design Diversity 295
11.5.1 Diverse Software Versions 295
11.5.2 An Example of a Fail-Safe System 296
11.5.3 Multilevel System 297
11.6 Design for Maintainability 298
11.6.1 Cost of Maintenance 298
11.6.2 Maintenance Strategy 299
11.6.3 Software Maintenance 301
Chapter 12: Validation 304
12.1 Validation Versus Verification 305
12.2 Testing Challenges 306
12.2.1 Design for Testability 306
12.2.2 Test Data Selection 307
12.2.3 Test Oracle 309
12.2.4 System Evolution 309
12.3 Testing of Component-Based Systems 310
12.3.1 Component Provider 310
12.3.2 Component User 311
12.3.3 Communicating Components 311
12.4 Formal Methods 312
12.4.1 Formal Methods in the Real World 312
12.4.2 Classification of Formal Methods 313
12.4.3 Benefits of Formal Methods 314
12.4.4 Model Checking 315
12.5 Fault Injection 315
12.5.1 Software-Implemented Fault Injection 316
12.5.2 Physical Fault Injection 316
12.5.3 Sensor and Actuator Failures 318
Chapter 13: Internet of Things 320
13.1 The Vision of an Internet-of-Things 321
13.2 Drivers for an IoT 322
13.2.1 Uniformity of Access 322
13.2.2 Logistics 322
13.2.3 Energy Savings 323
13.2.4 Physical Security and Safety 323
13.2.5 Industrial 324
13.2.6 Medical 324
13.2.7 Life Style 324
13.3 Technical Issues of the IoT 324
13.3.1 Internet Integration 324
13.3.2 Naming and Identification 325
13.3.3 Near Field Communication 326
13.3.4 IoT Device Capabilities versus Cloud Computing 327
13.3.5 Autonomic Components 327
13.4 RFID Technology 328
13.4.1 Overview 329
13.4.2 The Electronic Product Code 329
13.4.3 RFID Tags 330
13.4.4 RFID Readers 331
13.4.5 RFID Security 331
13.5 Wireless Sensor Networks 333
Chapter 14: The Time-Triggered Architecture 337
14.1 History of the TTA 338
14.1.1 The MARS Project 338
14.1.2 The Industrial TTA Prototype 339
14.1.3 The GENESYS Project 339
14.2 Architectural Style 340
14.2.1 Complexity Management 340
14.2.2 Component Orientation 341
14.2.3 Coherent Communication 342
14.2.4 Dependability 343
14.2.5 Time Aware Architecture 344
14.3 Services of the TTA 344
14.3.1 Component-Based Services 344
14.3.2 Core System Services 345
14.3.3 Optional System Services 346
14.4 The Time-Triggered MPSoC 348
Abbreviations 352
Glossary 354
References 370
Index 380
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×