You are on page 1of 9

Handbook of

Real-Time and
Embedded Systems
Edited by

Insup Lee
University of Pennsylvania
Philadelphia, U.S.A.

Joseph Y-T. Leung


New Jersey Institute of Technology
Newark, U.S.A.

Sang H. Son
University of Virginia
Charlottesville, U.S.A.

#a|Chapman&
^ ^

Hall/CRC

Taylor & Francis Group


Boca Raton London New York

Chapman & Hall/CRC is an imprint of the


Taylor & Francis Group, an informa business

Contents

Preface

xv

Editors

xvii

Contributors

xix

I n t r o d u c t i o n a n d Overview
SangHyuk Son
1.1
Introduction
1.2
Overview

Insup Lee, Joseph Y-T. Leung and


1-1
1-1
1-2

I Real-Time Scheduling and Resource Management


2

Real-Time Scheduling and Resource Management


Giorgio C. Buttazzo
2.1
Introduction
2.2
Periodic Task Handling
2.3
Handling Aperiodic Tasks
2.4
Handling Shared Resources
2.5
Overload Management
2.6
Conclusions

2-1
2-1
2-3
2-7
2-9
2-12
2-14

Schedulability Analysis of Multiprocessor Sporadic Task Systems


Theodore P. Baker and Sanjoy K. Baruah
3.1
Introduction
3.2
Definitions and Models
3.3
Dynamic Priority Scheduling
3.4
Fixed Job-Priority Scheduling
3.5
Fixed Task-Priority Scheduling
3.6
Relaxations of the Sporadic Model
3.7
Conclusion

3-1
3-1
3-2
3-4
3-5
3-10
3-13
3-15

Rate-Based Resource Allocation M e t h o d s


Kevin Jeffay
4.1
Introduction
4.2
Traditional Static Priority Scheduling
4.3
A Taxonomy of Rate-Based Allocation Models
4.4
Using Rate-Based Scheduling

4-1
4-1
4-3
4-4
4-9
vii

viii

Contents
4.5
4.6

Hybrid Rate-Based Scheduling


Summary and Conclusions

Compositional Real-Time Schedulability Analysis


Insik Shirt and Insup Lee
5.1
Introduction
5.2
Compositional Real-Time Scheduling Framework
5.3
Workload Models
5.4
Resource Models
5.5
Schedulability Analysis
5.6
Schedulable Workload Utilization Bounds
5.7
Extension
5.8
Conclusions

Imprecise Computation Model: Total Weighted Error and Maximum


Weighted Error
Joseph Y-T. Leung
7.1
7.2
7.3
7.4

Introduction
Total Weighted Error
Maximum Weighted Error
Concluding Remarks

6-1
6-1
6-2
6-8
6-12

7-1
7-1
7-3
7-9
7-13

Imprecise Computation Model: Bicriteria and Other Related Problems


Joseph Y-T. Leung
8.1
Introduction
8.2
Total w-Weighted Error with Constraints
8.3
Maximum W-Weighted Error with Constraints
8.4
0/1-Constraints
8.5
Conclusions

5-1
5-1
5-3
5-6
5-7
5-9
5-12
5-16
5-18

Power-Aware Resource Management Techniques for Low-Power


E m b e d d e d Systems
JihongKim and Tajana Simunic Rosing
6.1
Introduction
6.2
Dynamic Voltage Scaling
6.3
Dynamic Power Management
6.4
Conclusions

4-12
4-13

8-1
8-1
8-2
8-3
8-6
8-10

Stochastic Analysis of Priority-Driven Periodic Real-Time Systems


Jose Luis Diaz, Kanghee Kim, Jose Maria Lopez,
Lucia Lo Bello, Daniel F. Garcia, Chang-Gun Lee,
Sang Lyul Min and Orazio Mirabella
9.1
Introduction
9.2
Related Work
9.3
System Model
9.4
Stochastic Analysis Framework
9.5
Steady-State Backlog Analysis
9.6
Computational Complexity
9.7
Experimental Results
9.8
Conclusions and Future Work

9-1
9-1
9-2
9-3
9-4
9-12
9-15
9-17
9-22

Contents

ix

II Programming Languages, Paradigms, and Analysis for


Real-Time and Embedded Systems
10

Temporal Control in Real-Time Systems: Languages and Systems


Sebastian Fischmeister and Insup Lee
10.1 Introduction
10.2 The Model
10.3 The Example: A Stopwatch
10.4 Implicit Temporal Control
10.5 Programming with Temporal Control
10.6 Comparison and Conclusions

11

12

13

14

10-1
10-1
10-3
10-4
10-6
10-7
10-18

The Evolution of Real-Time Programming


Christoph M. Kirsch and Raja Sengupta
11.1 Introduction
11.2 The Computing Abstractions of Control Engineering
11.3 Physical-Execution-Time Programming
11.4 Bounded-Execution-Time Programming
11.5 Zero-Execution-Time Programming
11.6 Logical-Execution-Time Programming
11.7 Networked Real-Time Systems

11-1
11-1
11-3
11-6
11-7
11-10
11-12
11-14

Real-Time Java
Andy Wellings and Alan Bums
12.1 Introduction
12.2 Background on the RTSJ
12.3 Scheduling Objects and Scheduling
12.4 Resource Sharing and Synchronization
12.5 Time Values and Clocks
12.6 Memory Management
12.7 Conclusions

12-1
12-1
12-2
12-3
12-9
12-11
12-13
12-17

Pro gramming Execution-Time Servers and Supporting EDF Scheduling


in Ada 2005
Alan Bums and Andy Wellings
13.1 Introduction
13.2 The Ada 95 Version of the Language
13.3 New Ada 2005 Features
13.4 Programming Execution-Time Servers
13.5 Support for Deadlines
13.6 Baker's Preemption Level Protocol for Protected Objects
13.7 Supporting EDF Scheduling in Ada
13.8 Mixed Dispatching Systems
13.9 Conclusion
13.10 PostscriptAda and Java

13-1
13-1
13-3
13-3
13-8
13-14
13-15
13-15
13-19
13-20
13-20

Synchronous P r o g r a m m i n g
Paul Caspi, Pascal Raymond and
Stavros Tripakis
14.1 Introduction
14.2 From Practice
14.3 IbTheory
14.4 Some Languages and Compilers

14-1
14-1
14-2
14-3
14-5

Contents

14.5
14.6

Back to Practice
Conclusions and Perspectives

14-14
14-19

III Operating Systems and Middleware for Real-Time and


Embedded Systems
15

16

17

18

Q o S - E n a b l e d C o m p o n e n t Middleware for Distributed


Real-Time a n d E m b e d d e d Systems
Gan Deng, Douglas C. Schmidt,
Christopher D. GUI and Nanbor Wang
15.1 Introduction
15.2 R&D Challenges for DRE Systems
15.3 Comparison of Middleware Paradigms
15.4 Achieving QoS-Enabled Component Middleware: CIAO,
DAnCE, and CoSMIC
15.5 Applications of CIAO, DAnCE, and CoSMIC
15.6 Related Work
15.7 Concluding Remarks

15-1
15-1
15-2
15-2
15-5
15-9
15-13
15-14

Safe a n d S t r u c t u r e d Use of I n t e r r u p t s in Real-Time a n d E m b e d d e d


Software
John Regehr
16.1 Introduction
16.2 Interrupt Definitions and Semantics
16.3 Problems in Interrupt-Driven Software
16.4 Guidelines for Interrupt-Driven Embedded Software
16.5 Conclusions

16-1
16-1
16-2
16-4
16-9
16-12

QoS S u p p o r t a n d an Analytic Study for USB l.x/2.0 Devices


Chih-Yuan Huang, Shi-Wu Lo, Tei-Wei Kuo and Ai-Chun Fang
17.1 Introduction
17.2 QoS Guarantees for USB Subsystems
17.3 Summary

17-1
17-1
17-6
17-18

Reference M i d d l e w a r e Architecture for Real-Time a n d E m b e d d e d


Systems: A Case for N e t w o r k e d Service Robots
Saehwa Kim and
Seongsoo Hong
18.1 Introduction
18.2 Robot Middleware Requirements
18.3 Reference Robot Middleware Architecture
18.4 Future Challenges of Robot Middleware
18.5 Conclusions

18-1
18-1
18-2
18-4
18-10
18-12

IV Real-Time Communications/Sensor Networks


19

O n l i n e QoS A d a p t a t i o n w i t h the Flexible Time-Triggered (FTT)


Communication Paradigm
Luis Almeida, Paulo Pedreiras, Joaquim Ferreira,
Mario Calha, Jose Alberto Fonseca, Ricardo Marau, Valter Silva and Ernesto Martins
19.1 Introduction
19.2 Toward Operational Flexibility

19-1
19-1
19-2

XI

19.3
19.4
19.5
19.6
19.7
20

21

The Flexible Time-Triggered Paradigm


The Synchronous Messaging System
The Asynchronous Messaging System
Case Study: A Mobile Robot Control System
Conclusions

19-5
19-8
19-14
19-17
19-19

Wireless Sensor N e t w o r k s
John A. Stankovic
20.1 Introduction
20.2 MAC
20.3 Routing
20.4 Node Localization
20.5 Clock Synchronization
20.6 Power Management
20.7 Applications and Systems
20.8 Conclusions

20-1
20-1
20-2
20-2
20-4
20-5
20-5
20-6
20-9

Messaging in Sensor Networks: Addressing Wireless Communications


a n d Application Diversity
Hongwei Zhang, Anish Arora, Prasun Sinha
and Loren J. Rittle
21.1 Introduction
21.2 SMA: An Architecture for Sensornet Messaging
21.3 Data-Driven Link Estimation and Routing
21.4 Related Work
21.5 Concluding Remarks

22

23

21-1
21-1
21-2
21-6
21-17
21-18

Real-Time Communication for Embedded Wireless Networks


Marco Caccamo and Tarek Abdehaher
22.1 Introduction
22.2 Basic Concepts for Predictable Wireless Communication
22.3 Robust and Implicit Earliest Deadline First
22.4 Higher-Level Real-Time Protocols for Sensor Networks
22.5 Real-Time Capacity of Wireless Networks
22.6 Concluding Remarks

22-1
22-1
22-2
22-3
22-9
22-11
22-13

P r o g r a m m i n g a n d Virtualization of D i s t r i b u t e d Multitasking
Sensor N e t w o r k s
Azer Bestavros and Michael]. Ocean
23.1 Introduction
23.2 The SNAFU Programming Language
23.3 Sensorium Task Execution Plan
23.4 The Sensorium Service Dispatcher
23.5 Sensorium Execution Environments
23.6 Putting It All Together
23.7 Related Work
23.8 Conclusion

23-1
23-1
23-4
23-7
23-9
23-12
23-16
23-18
23-19

V Real-Time Database/Data Services


24

Data-Intensive Services for Real-Time Systems


Lisa Cingiser DiPippo and Sang Hyuk Son
24.1 Introduction

Krithi Ramamritham,
24-1
24-1

Contents

Xll

24.2
24.3
24.4
24.5
24.6
24.7
24.8

25

26

Data Freshness and Timing Properties


Transaction Processing
Quality of Service in Real-Time Data Services
Data Services in Sensor Networks
Mobile Real-Time Databases
Dissemination of Dynamic Web Data
Conclusion

24-4
24-6
24-12
24-17
24-18
24-20
24-21

Real-Time D a t a D i s t r i b u t i o n
Angela Uvarov Frolov,
Lisa Cingiser DiPippo and Victor Fay-Wolfe
25.1 Introduction to Real-Time Data Distribution
25.2 Real-Time Data Distribution Problem Space
25.3 Approaches to Real-Time Data Distribution
25.4 Conclusion

25-1
25-1
25-1
25-5
25-16

Temporal Consistency Maintenance for Real-Time Update


Transactions
Ming Xiong and Krithi Ramamritham
26.1 Introduction
26.2 More-Less Using EDF
26.3 More-Less Using Deadline Monotonie
26.4 Deferrable Scheduling
26.5 Conclusions

27

Salvaging Resources by Discarding Irreconcilably Conflicting Transactions


in Firm Real-Time Database Systems
Victor C. S. Lee, Joseph Kee-Yin Ng
and Ka Man Ho
27.1 Introduction
27.2 Related Work
27.3 A New Priority Cognizant CC Algorithm
27.4 Experiments
27.5 Results
27.6 Conclusion

28

27-1
27-1
27-3
27-5
27-6
27-8
27-13

Application-Tailored Databases for Real-Time Systems


Aleksandra Tesanovic and Jrgen Hansson
28.1 Introduction
28.2 Dimensions of Tailorability
28.3 Tailorable Real-Time and Embedded Database Systems
28.4 The COMET Approach
28.5 Summary

29

26-1
26-1
26-3
26-7
26-8
26-17

28-1
28-1
28-2
28-3
28-6
28-16

DeeDS NG: Architecture, Design, and Sample Application Scenario


Sten F. Andler, Marcus Brohede, Sanny Gustavsson and Gunnar Mathiason
29.1 Introduction
29.2 Active Research Problems
29.3 DeeDS NG
29.4 Related Work
29.5 Summary

29-1
29-1
29-4
29-5
29-16
29-17

Contents

xiii

VI Formalisms, Methods, and Tools


30

State Space Abstractions for Time Petri Nets


Bernard Berthomieu and Francois Vernadat
30.1 Introduction
30.2 Time Petri Nets and Their State Space
30.3 State Space Abstractions Preserving Markings and Traces
30.4 State Space Abstractions Preserving States and Traces
30.5 Abstractions Preserving States and Brandung Properties
30.6 Computing Experiments
30.7 Conclusion and Further Issues

31

30-1
30-1
30-2
30-5
30-8
30-13
30-15
30-16

Process-Algebraic Analysis of Timing and Schedulability


Properties
Anna Philippou and Oleg Sokolsky
31.1 Introduction
31.2 Modeling of Time-Sensitive Systems
31.3 Modeling of Resource-Sensitive Systems
31.4 Conclusions

32

33

34

35

M o d u l a r Hierarchies of Models for E m b e d d e d Systems


32.1 Motivation
32.2 Comprehensive System Modeling Theory
32.3 Structuring Interfaces
32.4 Refinement
32.5 Composition and Combination
32.6 Modeling Time
32.7 Perspective, Related Work, Summary, and Outlook

31-1
31-1
31-4
31-9
31-19
Manfred Broy

32-1
32-1
32-3
32-10
32-15
32-18
32-20
32-23

Metamodeling Languages and Metaprogrammable Tools


Matthew Emerson, Sandeep Neema and Janos Sztipanovits
33.1 Introduction
33.2 Modeling Tool Architectures and Metaprogrammability
33.3 A Comparison of Metamodeling Languages
33.4 Relating Metamodeling Languages and
Metaprogrammable Tools
33.5 Conclusion

33-1
33-1
33-3
33-9

Hardware/Software Codesign
Wayne Wolf
34.1 Introduction
34.2 Hardware/Software Partitioning Algorithms
34.3 Cosynthesis Algorithms
34.4 CPU Customization
34.5 Codesign and System Design
34.6 Summary

34-1
34-1
34-2
34-4
34-5
34-6
34-7

33-14
33-16

Execution Time Analysis for Embedded Real-Time Systems


Andreas Ermedahl and Jakob Engblom
35.1 Introduction
35.2 Software Behavior
35.3 Hardware Timing
35.4 Timing by Measurements

35-1
35-1
35-4
35-5
35-8

xiv

Contents
35.5
35.6
35.7
35.8
35.9

Timing by Static Analysis


Hybrid Analysis Techniques
Tools for WCET Analysis
Industrial Experience with WCET Analysis Tools
Summary

35-10
35-15
35-15
35-15
35-17

VII Experiences with Real-Time and Embedded Systems


36

37

38

39

Index

D y n a m i c Q o S M a n a g e m e n t in Distributed Real-Time E m b e d d e d
Systems
Joseph P. Loyall and Richard E. Schantz
36.1 Introduction
36.2 Issues in Providing QoS Management in DRE Systems
36.3 Solutions for Providing QoS Management in DRE Systems
36.4 Case Studies of Providing QoS Management
36.5 Conclusions

36-1
36-1
36-2
36-5
36-12
36-30

E m b e d d i n g Mobility in M u l t i m e d i a Systems a n d Applications


Heonshik Shirt
37.1 Introduction
37.2 Challenges for Mobile Computing with Multimedia
37.3 System-Layer Approaches
37.4 Application-Layer Approaches
37.5 Conclusions

37-1
37-1
37-2
37-4
37-9
37-14

E m b e d d e d Systems a n d Software Technology in the A u t o m o t i v e


Domain
Manfred Broy
38.1 Introduction
38.2 TheHistory
38.3 State of Practice Today
38.4 The Domain Profile
38.5 TheFuture
38.6 Practical Challenges
38.7 Research Challenges
38.8 Comprehensive Research Agenda
38.9 Conclusion

38-1
38-1
38-2
38-2
38-3
38-4
38-6
38-11
38-16
38-18

Real-Time Data Services for A u t o m o t i v e Applications


Gurulingesh Raravi, Krithi Ramamritham and Neera Sharma
39.1 Introduction
39.2 Real-Time Data Issues in Automotive Applications
39.3 Adaptive Cruise Control: An Overview
39.4 Our Goals and Our Approach
39.5 Specifics of the Dual Mode System
39.6 Specifics of the Real-Time Data Repository
39.7 Robotic Vehicle Control: Experimental Setup
39.8 Results and Observations
39.9 Related Work
39.10 Conclusions and Further Work

39-1
39-1
39-2
39-5
39-7
39-8
39-10
39-12
39-13
39-17
39-18
1-1

You might also like