My Account Log in

2 options

Building Parallel, Embedded, and Real-Time Applications with Ada / John W. McCormick, Frank Singhoff, J賴me Hugues.

Online

Available online

View online

Cambridge Core All Books Available online

View online
Format:
Book
Contributor:
McCormick, John W., 1948-
Singhoff, Frank.
Hugues, J賴me.
Series:
Cambridge books online.
Language:
English
Subjects (All):
Ada (Computer program language).
Parallel programming (Computer science).
Embedded computer systems--Programming.
Embedded computer systems.
Real-time data processing.
Multiprocessors--Programming.
Multiprocessors.
Physical Description:
1 online resource (386 pages) : digital, PDF file(s)
Place of Publication:
Cambridge : Cambridge University Press, 2011.
System Details:
Mode of access: World Wide Web.
text file
PDF
Summary:
The arrival and popularity of multi-core processors have sparked a renewed interest in the development of parallel programs. Similarly, the availability of tow-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. Book jacket.
Contents:
1 Introduction and overview 1
1.1 Parallel programming 2
1.2 Distributed programming 11
1.3 Real-time systems 12
Exercises 20
Summary 19
2 Sequential programming with Ada 23
2.1 Control structures 26
2.2 Subprograms 30
2.3 The Ada type model 35
2.4 Blocks and exceptions 62
2.5 Programming in the large 65
2.6 Object-oriented programming 76
2.7 Low-level programming 82
Summary 102
Exercises 103
3 Task basics 107
3.1 Denning tasks 107
3.2 The task life cycle 109
3.3 Task hierarchies 113
3.4 Exceptions 117
3.5 The implementation of Ada tasking 119
3.6 Other task features 119
Summary 121
Exercises 122
4 Communication and synchronization based on shared objects 126
4.1 Mutual exclusion 126
4.2 The protected object 130
4.3 Synchronization 134
4.4 The protected entry 135
4.5 Restrictions 140
4.6 Entry queues 141
4.7 Some useful concurrent patterns 143
4.8 Requeue and private operations 149
4.9 Pragmas Atomic and Volatile 153
4.10 Interrupts 155
Summary 161
Exercises 162
5 Communication and synchronization based on direct interaction 166
5.1 The rendezvous 166
5.2 The selective accept statement 171
5.3 Entry call options 180
5.4 State machines 181
Summary 191
Exercises 192
6 Distributed systems with Ada 195
6.1 What are distributed systems? 195
6.2 Middleware, architectures, and concepts 200
6.3 DSA, the Distributed Systems Annex 202
6.4 Poly ORB: compilation chain and run-time for the DSA 212
6.5 Advanced DSA concepts 215
6.6 CORBA, the Common Object Request Broker Architecture 221
6.7 Advanced CORBA concepts 236
6.8 CORBA versus the DSA 247
Summary 248
Exercises 250
7 Real-time systems and scheduling concepts 251
7.1 Task characteristics 253
7.2 Real-time schedulers 257
7.3 Dependent tasks 278
Summary 285
Exercises 286
8 Real-time programming with Ada 294
8.1 Expressing time 295
8.2 Implementing periodic tasks 298
8.3 Ada implementation of the car application 303
8.4 Handling shared resources 305
8.5 The Ada scheduling model 308
8.6 Ravenscar 312
8.7 POSIX 1003.1b and its Ada binding 314
8.8 POSIX implementation of the car application 324
8.9 Ada tasks versus POSIX processes 328
Summary 329
Exercises 330
9 Tools for building and verifying real-time applications 333
9.1 Ada run-times to implement real-time applications 334
9.2 Some variants of the GNAT run-time 339
9.3 Validating scheduling of a system 347
Summary 355
Exercises 356.
Notes:
Title from publishers bibliographic system (viewed on 02 Mar 2012).
Other Format:
Print version:
ISBN:
9780511973345
9780521197168
Access Restriction:
Restricted for use by site license.

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account