By Burns A., Wellings A.
Ada is the single ISO-standard, object-oriented, concurrent, real-time programming language. it's meant to be used in huge, long-lived purposes the place reliability and potency are crucial, really real-time and embedded structures. during this publication, Alan Burns and Andy Wellings provide a radical, self-contained account of the way the Ada tasking version can be utilized to build quite a lot of concurrent and real-time platforms. this can be the single ebook that specializes in an in-depth dialogue of the Ada tasking version. Following on from the authors' prior identify Concurrency in Ada, this booklet brings the dialogue brand new to incorporate the hot Ada 2005 language and the new advances in real-time programming suggestions. it is going to be of price to software program execs and complex scholars of programming alike: certainly each Ada programmer will locate it crucial examining and a prime reference paintings that might sit down along the language reference handbook.
Read or Download Concurrent and real-time programming in Ada 2005 PDF
Best programming books
Online game Programming gem stones 2, the second one quantity during this winning sequence, includes a thoroughly new set of over 70 articles on assorted subject matters that may be utilized in your personal video game tasks. Written by way of video game programming specialists, each one contribution offers a hands-on strategy to programming difficulties, or an inventive technique for lowering programming time and redundancy.
This quantity includes the papers awarded on the third Glasgow Workshop on practical Programming which was once held in Ullapool, Scotland, 13-15 August 1990. contributors of the useful programming teams on the universities of Glasgow and Stirling attended the workshop, including a small variety of invited members from different universities and undefined.
Programming Languages and Systems: 17th European Symposium on Programming, ESOP 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings
This e-book constitutes the refereed lawsuits of the seventeenth ecu Symposium on Programming, ESOP 2008, held in Budapest, Hungary, in March/April 2008, as a part of ETAPS 2008, the eu Joint meetings on conception and perform of software program. The 25 revised complete papers offered including the summary of 1 invited speak and instrument displays have been conscientiously reviewed and chosen from 104 submissions and deal with primary matters within the specification, research, and implementation of programming languages and sytems.
- Computability and Complexity: From a Programming Perspective (Foundations of Computing)
- Professional C++ (2nd Edition)
- Lean Software Development: An Agile Toolkit (The Agile Software Development Series)
- Game Coding Complete (4th Edition)
- Ruby Cookbook (2nd Edition)
- Functional and Logic Programming: 4th Fuji International Symposium, FLOPS’99 Tsukuba, Japan, November 11-13, 1999 Proceedings
Additional resources for Concurrent and real-time programming in Ada 2005
3 Using a concurrent programming language In a concurrent programming language, concurrent activities can be identified explicitly in the code: with Data_Types; use Data_Types; with IO; use IO; with Control_Procedures; use Control_Procedures; procedure Controller is task Temp_Controller; task Pressure_Controller; task body Temp_Controller is TR : Temp_Reading; HS : Heater_Setting; begin loop Read(TR); Temp_Convert(TR,HS); Write(HS); Write(TR); end loop; end Temp_Controller; task body Pressure_Controller is PR : Pressure_Reading; PS : Pressure_Setting; begin loop Read(PR); Pressure_Convert(PR,PS); Write(PS); Write(PR); end loop; end Pressure_Controller; begin null; -- Temp_Controller and Pressure_Controller -- have started their executions end Controller; The logic of the application is now reflected in the code; the inherent parallelism of the domain is represented by concurrently executing tasks in the program.
Both these models are appropriate in Ada programs. In the following sections, however, we start by considering the problems of communicating indirectly by the use of only passive entities. 1 Data communication The partitioning of a system into tasks invariably leads to the requirement that these tasks exchange data in order for the system to function correctly. For example, a device driver (a process with sole control over an external device) needs to receive requests from other processes and return data if appropriate.
The complete actions on the resource must therefore have been performed before any other process could execute any, possibly corrupting, action. Definition: Condition synchronisation is the synchronisation that ensures that a process only accesses a resource when the resource is in a particular state. Condition synchronisation is necessary when a process wishes to perform an operation that can only sensibly, or safely, be performed if another task has itself taken some action or is in some defined state.