My Library

University LibraryCatalogue

     
Limit search to items available for borrowing or consultation
Result Page: Previous Next
 
Look for full text

Search Discovery

Search CARM Centre Catalogue

Search Trove

Add record to RefWorks

PRINTED BOOKS
Author Burns, Alan, 1953-

Title Concurrency in ADA / Alan Burns and Andy Wellings.

Published Cambridge ; New York : Cambridge University Press, 1998.

Copies

Location Call No. Status
 UniM Store Engin  005.133 BURN    AVAILABLE
Edition 2nd ed.
Physical description xviii, 390 pages : illustrations ; 23 cm
Bibliography Includes bibliographical references and index.
Contents 1 Ada Language 1 -- 1.1 Programming in the small 2 -- 1.2 Packages and library units 9 -- 1.3 Generics 15 -- 1.4 Exception handling and type security 16 -- 2 Nature and Uses of Concurrent Programming 21 -- 2.1 Uses of concurrent programming 22 -- 2.2 Program entities 24 -- 2.3 Process representation 25 -- 2.4 A simple embedded system 27 -- 2.5 Clocks and time 34 -- 3 Inter-Process Communication 41 -- 3.1 Data Communication 41 -- 3.2 Synchronisation 43 -- 3.3 Deadlocks and indefinite postponements 44 -- 3.4 System performance, correctness and reliability 45 -- 3.5 Dining philosophers problem 47 -- 3.6 Shared variables and protected variables 49 -- 3.7 Semaphores 51 -- 3.8 Monitors 53 -- 3.9 Message-based communication 56 -- 4 Ada Task Types and Objects 63 -- 4.1 Task creation 64 -- 4.2 Task activation, execution, finalisation and termination 72 -- 4.3 Task hierarchies 78 -- 4.4 Task identification 82 -- 4.5 Task creation, communication and synchronisation within task finalisation 83 -- 4.6 Task states 84 -- 5 Rendezvous 87 -- 5.1 Basic model 87 -- 5.2 Entry statement 89 -- 5.3 Accept statement 91 -- 5.4 Entry families 96 -- 5.5 Three-way synchronisation 98 -- 5.6 Private entries 99 -- 5.7 Exceptions and the rendezvous 101 -- 5.8 Task states 102 -- 6 Select Statement and the Rendezvous 105 -- 6.1 Selective accept 105 -- 6.2 Guarded alternatives 109 -- 6.3 Delay alternative 110 -- 6.4 Else part 114 -- 6.5 Correct use of guards 116 -- 6.6 Terminate alternative 118 -- 6.7 Exception Program Error 123 -- 6.8 Summary of the selective accept statement 124 -- 6.9 Conditional and timed entry calls 125 -- 6.10 Mutual exclusion and deadlocks 128 -- 6.11 Dining philosophers 130 -- 6.12 Task states 133 -- 7 Protected Objects and Data-Oriented Communication 135 -- 7.1 Protected objects 135 -- 7.2 Mutual exclusion 136 -- 7.3 Condition synchronisation 138 -- 7.4 Entry calls and barriers 140 -- 7.5 Private entries and entry families 144 -- 7.6 Restrictions on protected objects 148 -- 7.7 Access variables and protected types 150 -- 7.8 Elaboration, finalisation and exceptions 151 -- 7.9 Shared data 152 -- 7.10 Shared variables 157 -- 7.11 Volatile and atomic data 161 -- 7.12 Task states 165 -- 8 Avoidance Synchronisation and the Requeue Facility 167 -- 8.1 Need for requeue 167 -- 8.2 Semantics of requeue 178 -- 8.3 Requeuing to other entities 181 -- 8.4 Real-time solutions to the resource control problem 185 -- 8.5 Entry families and server tasks 189 -- 8.7 Task states 196 -- 9 Using Protected Objects as Building Blocks 199 -- 9.1 Semaphores 200 -- 9.2 Persistent signals 203 -- 9.3 Transient signals 205 -- 9.4 Events 206 -- 9.5 Buffers 208 -- 9.6 Blackboards 209 -- 9.7 Broadcasts 210 -- 9.8 Barriers 214 -- 9.9 Selective entry calls 215 -- 10 Exceptions, Abort and Asynchronous Transfer of Control 225 -- 10.1 Exceptions 225 -- 10.2 Abort statement 227 -- 10.3 Asynchronous transfer of control 230 -- 10.4 Understanding the asynchronous select statement 241 -- 10.5 A robust readers and writers algorithm 246 -- 10.6 Task states 250 -- 11 Tasking and Systems Programming 253 -- 11.1 Device driving and interrupt handling 255 -- 11.2 Model of interrupts 259 -- 11.3 Task identifiers 269 -- 11.4 Task attributes 272 -- 12 Real-Time Programming 277 -- 12.1 Task priorities 277 -- 12.2 Dynamic priorities 285 -- 12.3 Synchronisation primitives 292 -- 12.4 Immediacy of abort 296 -- 12.5 Restricted tasking 297 -- 12.6 Other provisions 300 -- 13 Object-Oriented Programming and Tasking 303 -- 13.1 An overview of Ada's support for OOP 303 -- 13.2 Synchronisation, protected units and tagged types 312 -- 13.3 Reusable and extensible communication abstractions 319 -- 13.4 Tasks and tagged types 332 -- 14 Distributed Systems 339 -- 14.1 Ada model of distribution 340 -- 14.2 Program elaboration and termination 346 -- 14.3 Remote communication 346 -- 14.4 Programming paradigms for distributed systems 349 -- 14.5 Tolerance of processing element failure 366 -- 15.1 Ada 83 and Ada 95 373 -- 15.2 Outstanding issues 376 -- 15.3 Future 378.
Summary A major feature of the Ada programming language is the facilities it provides for concurrent programming. Alan Burns and Andy Wellings provide here a thorough and self-contained account of concurrent programming in Ada, and so show users, even beginners, how to harness the full power of the whole language.
Other author Wellings, Andrew J.
Subject Ada (Computer program language)
Parallel programming (Computer science)
ISBN 052162911X (paperback)