Concurrent and real-time programming in Ada 2005 / Alan Burns and Andy Wellings.

By: Burns, AlanMaterial type: TextTextPublication details: Cambridge ; New York : Cambridge University Press, 2007Description: xiv, 461 p. : 26 cmISBN: 9780521866972 (hbk.); 0521866979 (hbk.)Subject(s): Ada (Computer program language) | Parallel Programming (Computer science) | Real-time ProgrammingDDC classification: 005.133
Contents:
Introduction 1.1 Concurrency 1.2 Real-time systems 1.3 Ada's time and clock facilities 1.4 Summary 1.5 Further reading The nature and uses of concurrent programming 2.1 Uses of concurrent programming 2.2 Program entities 2.3 Process representation 2.4 A simple embedded system 2.5 Summary 2.6 Further reading Inter-process communication 3.1 Data communication 3.2 Synchronisation 3.3 Deadlocks and indefinite postponements 3.4 System performance, correctness and reliability 3.5 Dining philosophers problem 3.6 Shared variables and protected variables 3.7 Semaphores 3.8 Monitors 3.9 Message-based communication 3.10 Summary 3.11 Further reading Task types and objects 4.1 Task creation 4.2 Task activation, execution, finalisation and termination 4.3 Task hierarchies 4.4 Task identification 4.5 Task creation, communication and synchronisation within task finalisation 4.6 Summary The rendezvous 5.1 The basic model 5.2 The entry statement 5.3 The accept statement 5.4 The Count attribute 5.5 Entry families 5.6 Three-way synchronisation 5.7 Private entries 5.8 Exceptions and the rendezvous 5.9 Task states 5.10 Summary The select statement and the rendezvous 6.1 Selective accept 6.2 Guarded alternatives 6.3 Delay alternative 6.4 The else part 6.5 The correct use of guards 6.6 The terminate alternative 6.7 The exception Program-Error 6.8 Summary of the selective accept statement 6.9 Conditional and timed entry calls 6.10 Mutual exclusion and deadlocks 6.11 The dining philosophers 6.12 Task states 6.13 Summary Protected objects and data-oriented communication 7.1 Protected objects 7.2 Mutual exclusion 7.3 Condition synchronisation 7.4 Entry calls and barriers 7.5 Private entries and entry families 7.6 Restrictions on protected objects 7.7 Access variables and protected types 7.8 Elaboration, finalisation and exceptions 7.9 Shared data 7.10 The readers and writers problem 7.11 The specification of synchronisation agents 7.12 Shared variables 7.13 Volatile and atomic data 7.14 Task states 7.15 Summary 8 Avoidance synchronisation and the requeue facility 8.1 The need for requeue 8.2 Semantics of requeue 8.3 Requeuing to other entities 8.4 Real-time solutions to the resource control problem 8.5 Entry families and server tasks 8.6 Extended example 8.7 Task states 8.8 Summary 9 Exceptions, abort and asynchronous transfer of control 9.1 Exceptions 9.2 The abort statement 9.3 Asynchronous transfer of control 9.4 Understanding the asynchronous select statement 9.5 A robust readers and writers algorithm 9.6 Task states 9.7 Summary 10 Object-oriented programming and tasking 10.1 The Ada 2005 OOP model 10.2 Tasks and interfaces 10.3 Protected types and interfaces 10.4 Synchronized interfaces 10.5 Summary 10.6 Further reading 11 Concurrency utilities 11.1 Communication and synchronisation abstractions 11.2 Semaphores 11.3 Locks 11.4 Signals 11.5 Event variables 11.6 Buffers 11.7 Blackboards 11.8 Broadcasts 11.9 Barriers 11.10 Concurrent execution abstractions 11.11 Callables and futures 11.12 Executors 11.13 Completion services 11.14 Image processing example revisited 11.15 Summary 12 Tasking and systems programming 12.1 Device driving and interrupt handling 12.2 Model of interrupts 12.3 Task identifiers 12.4 Task attributes 12.5 Summary 12.6 Further reading 13 Scheduling real-time systems - fixed priority dispatching 13.1 Scheduling 13.2 Fixed priority dispatching 13.3 Priority ceiling locking 13.4 Entry queue policies 13.5 Active priorities and dispatching policies 13.6 Summary 13.7 Further reading 14 Scheduling real-time systems - other dispatching facilities 14.1 Non-preemptive dispatching 14.2 Round-robin dispatching 14.3 Earliest deadline first dispatching 14.4 Mixed scheduling 14.5 Dynamic priorities 14.6 Synchronous and asynchronous task control 14.7 Summary 14.8 Further reading 15 Timing events and execution-time control 15.1 Events and event handling 15.2 Timing events 15.3 Dual priority scheduling 15.4 Execution-time clocks 15.5 Execution-time timers 15.6 Group budgets 15.7 Task termination events 15.8 Summary 15.9 Further reading 16 Real-time utilities 16.1 Real-time task state 16.2 Real-time task release mechanisms 16.3 Periodic release mechanisms 16.4 Sporadic release mechanisms 16.5 Aperiodic release mechanisms and execution-time servers 16.6 Real-time tasks 16.7 The cruise control system example 16.8 Summary 17 Restrictions, metrics and the Ravenscar profile 17.1 Restricted tasking and other language features 17.2 The Ravenscar profile 17.3 Partition elaboration control 17.4 Examples of the use of the Ravenscar profile 17.5 Metrics and optimisations 17.6 Summary 17.7 Further reading 18 Conclusion 18.1 Support for concurrency 18.2 Support for real-time 18.3 New to Ada 2005 18.4 Outstanding issues and the future
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Status Date due Barcode Item holds
General Books General Books Central Library, Sikkim University
General Book Section
005.133 BUR/C (Browse shelf(Opens below)) Available P31276
Total holds: 0

Introduction
1.1 Concurrency
1.2 Real-time systems
1.3 Ada's time and clock facilities
1.4 Summary
1.5 Further reading
The nature and uses of concurrent programming
2.1 Uses of concurrent programming
2.2 Program entities
2.3 Process representation
2.4 A simple embedded system
2.5 Summary
2.6 Further reading
Inter-process communication
3.1 Data communication
3.2 Synchronisation
3.3 Deadlocks and indefinite postponements
3.4 System performance, correctness and reliability
3.5 Dining philosophers problem
3.6 Shared variables and protected variables
3.7 Semaphores
3.8 Monitors
3.9 Message-based communication
3.10 Summary
3.11 Further reading
Task types and objects
4.1 Task creation
4.2 Task activation, execution, finalisation and termination
4.3 Task hierarchies
4.4 Task identification
4.5 Task creation, communication and synchronisation within task
finalisation
4.6 Summary
The rendezvous
5.1 The basic model
5.2 The entry statement
5.3 The accept statement
5.4 The Count attribute
5.5 Entry families
5.6 Three-way synchronisation
5.7 Private entries
5.8 Exceptions and the rendezvous
5.9 Task states
5.10 Summary
The select statement and the rendezvous
6.1 Selective accept
6.2 Guarded alternatives
6.3 Delay alternative
6.4 The else part
6.5 The correct use of guards
6.6 The terminate alternative
6.7 The exception Program-Error
6.8 Summary of the selective accept statement
6.9 Conditional and timed entry calls
6.10 Mutual exclusion and deadlocks
6.11 The dining philosophers
6.12 Task states
6.13 Summary
Protected objects and data-oriented communication
7.1 Protected objects
7.2 Mutual exclusion
7.3 Condition synchronisation
7.4 Entry calls and barriers
7.5 Private entries and entry families
7.6 Restrictions on protected objects
7.7 Access variables and protected types
7.8 Elaboration, finalisation and exceptions
7.9 Shared data
7.10 The readers and writers problem
7.11 The specification of synchronisation agents
7.12 Shared variables
7.13 Volatile and atomic data
7.14 Task states
7.15 Summary
8 Avoidance synchronisation and the requeue facility
8.1 The need for requeue
8.2 Semantics of requeue
8.3 Requeuing to other entities
8.4 Real-time solutions to the resource control problem
8.5 Entry families and server tasks
8.6 Extended example
8.7 Task states
8.8 Summary
9 Exceptions, abort and asynchronous transfer of control
9.1 Exceptions
9.2 The abort statement
9.3 Asynchronous transfer of control
9.4 Understanding the asynchronous select statement
9.5 A robust readers and writers algorithm
9.6 Task states
9.7 Summary
10 Object-oriented programming and tasking
10.1 The Ada 2005 OOP model
10.2 Tasks and interfaces
10.3 Protected types and interfaces
10.4 Synchronized interfaces
10.5 Summary
10.6 Further reading
11 Concurrency utilities
11.1 Communication and synchronisation abstractions
11.2 Semaphores
11.3 Locks
11.4 Signals
11.5 Event variables
11.6 Buffers
11.7 Blackboards
11.8 Broadcasts
11.9 Barriers
11.10 Concurrent execution abstractions
11.11 Callables and futures
11.12 Executors
11.13 Completion services
11.14 Image processing example revisited
11.15 Summary
12 Tasking and systems programming
12.1 Device driving and interrupt handling
12.2 Model of interrupts
12.3 Task identifiers
12.4 Task attributes
12.5 Summary
12.6 Further reading
13 Scheduling real-time systems - fixed priority dispatching
13.1 Scheduling
13.2 Fixed priority dispatching
13.3 Priority ceiling locking
13.4 Entry queue policies
13.5 Active priorities and dispatching policies
13.6 Summary
13.7 Further reading
14 Scheduling real-time systems - other dispatching facilities
14.1 Non-preemptive dispatching
14.2 Round-robin dispatching
14.3 Earliest deadline first dispatching
14.4 Mixed scheduling
14.5 Dynamic priorities
14.6 Synchronous and asynchronous task control
14.7 Summary
14.8 Further reading
15 Timing events and execution-time control
15.1 Events and event handling
15.2 Timing events
15.3 Dual priority scheduling
15.4 Execution-time clocks
15.5 Execution-time timers
15.6 Group budgets
15.7 Task termination events
15.8 Summary
15.9 Further reading
16 Real-time utilities
16.1 Real-time task state
16.2 Real-time task release mechanisms
16.3 Periodic release mechanisms
16.4 Sporadic release mechanisms
16.5 Aperiodic release mechanisms and execution-time servers
16.6 Real-time tasks
16.7 The cruise control system example
16.8 Summary
17 Restrictions, metrics and the Ravenscar profile
17.1 Restricted tasking and other language features
17.2 The Ravenscar profile
17.3 Partition elaboration control
17.4 Examples of the use of the Ravenscar profile
17.5 Metrics and optimisations
17.6 Summary
17.7 Further reading
18 Conclusion
18.1 Support for concurrency
18.2 Support for real-time
18.3 New to Ada 2005
18.4 Outstanding issues and the future

There are no comments on this title.

to post a comment.
SIKKIM UNIVERSITY
University Portal | Contact Librarian | Library Portal

Powered by Koha