Muutke küpsiste eelistusi

Building Parallel, Embedded, and Real-Time Applications with Ada [Kõva köide]

(University of Northern Iowa), , (Université de Bretagne Occidentale)
  • Formaat: Hardback, 388 pages, kõrgus x laius x paksus: 254x181x27 mm, kaal: 910 g, Worked examples or Exercises; 50 Line drawings, black and white
  • Ilmumisaeg: 07-Apr-2011
  • Kirjastus: Cambridge University Press
  • ISBN-10: 0521197163
  • ISBN-13: 9780521197168
  • Formaat: Hardback, 388 pages, kõrgus x laius x paksus: 254x181x27 mm, kaal: 910 g, Worked examples or Exercises; 50 Line drawings, black and white
  • Ilmumisaeg: 07-Apr-2011
  • Kirjastus: Cambridge University Press
  • ISBN-10: 0521197163
  • ISBN-13: 9780521197168
"The arrival and popularity of multi-core processors has sparked a renewed interest in the development of parallel programs. Similarly, the availability of low-cost microprocessors and sensors has generated a great interest in embedded real-time programs. This book provides students and programmers whose backgrounds are in traditional sequential programming with the opportunity to expand their capabilities into parallel, embedded, real-time and distributed computing. It also addresses the theoretical foundation of real-time scheduling analysis, focusing on theory that is useful for actual applications. Written by award-winning educators at a level suitable for undergraduates and beginning graduate students, this book is the first truly entry-level textbook in the subject. Complete examples allow readers to understand the context in which a new concept is used, and enable them to build and run the examples, make changes, and observe the results"--

Provided by publisher.

Arvustused

'By providing an extensive foundation for real-time and embedded systems programming, this book serves a much-needed role for both students and professional alike.' Patrick Rogers, AdaCore ' very well-written Building Parallel, Embedded, and Real-Time Applications with Ada is one of those volumes that makes you think, especially about the hard problems (like real-time, multitasking and multicore) facing the firmware world today. I recommend it.' Jack G. Ganssle, embedded.com

Muu info

The complete guide to understanding and implementing multi-core, concurrent, embedded, distributed, and real-time applications with Ada and related technologies.
List of illustrations
viii
List of tables
x
Foreword xi
Preface xiii
1 Introduction and overview
1(22)
1.1 Parallel programming
2(9)
1.2 Distributed programming
11(1)
1.3 Real-time systems
12(11)
Summary
19(1)
Exercises
20(3)
2 Sequential programming with Ada
23(84)
2.1 Control structures
26(4)
2.2 Subprograms
30(5)
2.3 The Ada type model
35(27)
2.4 Blocks and exceptions
62(3)
2.5 Programming in the large
65(11)
2.6 Object-oriented programming
76(6)
2.7 Low-level programming
82(25)
Summary
102(1)
Exercises
103(4)
3 Task basics
107(19)
3.1 Defining tasks
107(2)
3.2 The task life cycle
109(4)
3.3 Task hierarchies
113(4)
3.4 Exceptions
117(2)
3.5 The implementation of Ada tasking
119(1)
3.6 Other task features
119(7)
Summary
121(1)
Exercises
122(4)
4 Communication and synchronization based on shared objects
126(40)
4.1 Mutual exclusion
126(4)
4.2 The protected object
130(4)
4.3 Synchronization
134(1)
4.4 The protected entry
135(5)
4.5 Restrictions
140(1)
4.6 Entry queues
141(2)
4.7 Some useful concurrent patterns
143(6)
4.8 Requeue and private operations
149(4)
4.9 Pragmas Atomic and Volatile
153(2)
4.10 Interrupts
155(11)
Summary
161(1)
Exercises
162(4)
5 Communication and synchronization based on direct interaction
166(29)
5.1 The rendezvous
166(5)
5.2 The selective accept statement
171(9)
5.3 Entry call options
180(1)
5.4 State machines
181(14)
Summary
191(1)
Exercises
192(3)
6 Distributed systems with Ada
195(56)
6.1 What are distributed systems?
195(5)
6.2 Middleware, architectures, and concepts
200(2)
6.3 DSA, the Distributed Systems Annex
202(10)
6.4 PolyORB: compilation chain and run-time for the DSA
212(3)
6.5 Advanced DSA concepts
215(6)
6.6 CORBA, the Common Object Request Broker Architecture
221(15)
6.7 Advanced CORBA concepts
236(11)
6.8 CORBA versus the DSA
247(4)
Summary
248(2)
Exercises
250(1)
7 Real-time systems and scheduling concepts
251(43)
7.1 Task characteristics
253(4)
7.2 Real-time schedulers
257(21)
7.3 Dependent tasks
278(16)
Summary
285(1)
Exercises
286(8)
8 Real-time programming with Ada
294(39)
8.1 Expressing time
295(3)
8.2 Implementing periodic tasks
298(5)
8.3 Ada implementation of the car application
303(2)
8.4 Handling shared resources
305(3)
8.5 The Ada scheduling model
308(4)
8.6 Ravenscar
312(2)
8.7 POSIX 1003.1b and its Ada binding
314(10)
8.8 POSIX implementation of the car application
324(4)
8.9 Ada tasks versus POSIX processes
328(5)
Summary
329(1)
Exercises
330(3)
9 Tools for building and verifying real-time applications
333(26)
9.1 Ada run-times to implement real-time applications
334(5)
9.2 Some variants of the GNAT run-time
339(8)
9.3 Validating scheduling of a system
347(12)
Summary
355(1)
Exercises
356(3)
References 359(6)
Index 365
John McCormick is Professor of Computer Science at the University of Northern Iowa. Frank Singhoff is Professor of Computer Science at the Université de Bretagne Occidentale (University of Brest). Jérôme Hugues is Associate Professor in the Department of Mathematics, Computer Science, and Control at the Institute for Space and Aeronautics Engineering (ISAE), Toulouse.