𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Building Parallel, Embedded, and Real-Time Applications with Ada

✍ Scribed by John W. McCormick, Frank Singhoff, Jérôme Hugues


Publisher
Cambridge University Press
Year
2011
Tongue
English
Leaves
388
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


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.

✦ Table of Contents


CONTENTS......Page 7
List of illustrations......Page 10
List of tables......Page 12
Foreword......Page 13
Preface......Page 15
1 Introduction and overview......Page 21
1.1 Parallel programming......Page 22
1.2 Distributed programming......Page 31
1.3 Real-time systems......Page 32
Summary......Page 39
Exercises......Page 40
2 Sequential programming with Ada......Page 43
2.1 Control structures......Page 46
2.2 Subprograms......Page 50
2.3 The Ada type model......Page 55
2.4 Blocks and exceptions......Page 82
2.5 Programming in the large......Page 85
2.6 Object-oriented programming......Page 96
2.7 Low-level programming......Page 102
Summary......Page 122
Exercises......Page 123
3.1 Defining tasks......Page 127
3.2 The task life cycle......Page 129
3.3 Task hierarchies......Page 133
3.4 Exceptions......Page 137
3.6 Other task features......Page 139
Summary......Page 141
Exercises......Page 142
4.1 Mutual exclusion......Page 146
4.2 The protected object......Page 150
4.3 Synchronization......Page 154
4.4 The protected entry......Page 155
4.5 Restrictions......Page 160
4.6 Entry queues......Page 161
4.7 Some useful concurrent patterns......Page 163
4.8 Requeue and private operations......Page 169
4.9 Pragmas Atomic and Volatile......Page 173
4.10 Interrupts......Page 175
Summary......Page 181
Exercises......Page 182
5.1 The rendezvous......Page 186
5.2 The selective accept statement......Page 191
5.3 Entry call options......Page 200
5.4 State machines......Page 201
Summary......Page 211
Exercises......Page 212
6.1 What are distributed systems?......Page 215
6.2 Middleware, architectures, and concepts......Page 220
6.3 DSA, the Distributed Systems Annex......Page 222
6.4 PolyORB: compilation chain and run-time for the DSA......Page 232
6.5 Advanced DSA concepts......Page 235
6.6 CORBA, the Common Object Request Broker
Architecture......Page 241
6.7 Advanced CORBA concepts......Page 256
6.8 CORBA versus the DSA......Page 267
Summary......Page 268
Exercises......Page 270
7 Real-time systems and scheduling concepts......Page 271
7.1 Task characteristics......Page 273
7.2 Real-time schedulers......Page 277
7.3 Dependent tasks......Page 298
Summary......Page 305
Exercises......Page 306
8 Real-time programming with Ada......Page 314
8.1 Expressing time......Page 315
8.2 Implementing periodic tasks......Page 318
8.3 Ada implementation of the car application......Page 323
8.4 Handling shared resources......Page 325
8.5 The Ada scheduling model......Page 328
8.6 Ravenscar......Page 332
8.7 POSIX 1003.1b and its Ada binding......Page 334
8.8 POSIX implementation of the car application......Page 344
8.9 Ada tasks versus POSIX processes......Page 348
Summary......Page 349
Exercises......Page 350
9 Tools for building and verifying real-time
applications......Page 353
9.1 Ada run-times to implement real-time applications......Page 354
9.2 Some variants of the GNAT run-time......Page 359
9.3 Validating scheduling of a system......Page 367
Summary......Page 375
Exercises......Page 376
References......Page 379
Index......Page 385


πŸ“œ SIMILAR VOLUMES


Building Parallel, Embedded, and Real-Ti
✍ John W. McCormick, Frank Singhoff, JΓ©rΓ΄me Hugues πŸ“‚ Library πŸ“… 2011 πŸ› Cambridge University Press 🌐 English

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 w

Linux for Embedded and Real-Time Applica
✍ Doug Abbott πŸ“‚ Library πŸ“… 2003 πŸ› Newnes 🌐 English

This book is VERY light on content (it's a pretty small book, 193 pages for the primary material). If you just look at the table of contents, you can get more depth in a couple hours of googling.It just isn't a very useful book. It has nothing to offer a programmer with any level of experience wit

Linux for Embedded and Real-Time Applica
✍ Doug Abbott πŸ“‚ Library πŸ“… 2003 πŸ› Newnes 🌐 English

This book is VERY light on content (it's a pretty small book, 193 pages for the primary material). If you just look at the table of contents, you can get more depth in a couple hours of googling.It just isn't a very useful book. It has nothing to offer a programmer with any level of experience wit

Linux for Embedded and Real-Time Applica
✍ Doug Abbott πŸ“‚ Library πŸ“… 2003 πŸ› Newnes 🌐 English

This book is VERY light on content (it's a pretty small book, 193 pages for the primary material). If you just look at the table of contents, you can get more depth in a couple hours of googling. It just isn't a very useful book. It has nothing to offer a programmer with any level of experience w

Linux for Embedded and Real-Time Applica
✍ Doug Abbott πŸ“‚ Library πŸ“… 2003 πŸ› Newnes 🌐 English

This book is VERY light on content (it's a pretty small book, 193 pages for the primary material). If you just look at the table of contents, you can get more depth in a couple hours of googling. It just isn't a very useful book. It has nothing to offer a programmer with any level of experience w