The book is aimed at Final Year and Masters students in Computer Science and related disciplines. It has also been written with the professional software engineer, and real-time systems engineer, in mind. Readers are assumed to have knowledge of sequential programming languages and some prior experience of C, Java and Ada, and to be familiar with the basic tenets of software engineering. The material presented reflects the content of courses developed over a number of years by the authors at various universities and for industry. These courses specifically address real-time systems and programming languages.

In order to give the chapters continuity, three programming languages are considered in detail: Ada, Java, and C. These languages have been chosen because they are actually used for software production. As C is a sequential language, it is used in conjunction with the POSIX family of operating system interfaces (in particular, the real-time extensions). To emphasize this, it will be referred to a C/Real-Time POSIX. As Java was not originally intended to be used for real-time systems development it must be augmented with the facilities of the Real-Time Specification for Java (RTSJ). To emphasize this, it will be referred to as Real-Time Java. Ada was designed for real-time systems development. Other theoretical or experimental languages are discussed when they offer primitives not available within the core languages. Practitioners who are primarily interested in only one of these languages should find sufficient material for their needs. The authors believe that a full appreciation of a language like Ada or Java, say, can only be obtained through a comparative study of their facilities.

Download Not Available

BibTex Entry

@book{Burns2009,
 author = {Alan Burns and Andy Wellings},
 edition = {4},
 isbn = {978-0-321-41745-9},
 link = {https://www.cs.york.ac.uk/rts/books/RTSBookFourthEdition.html},
 month = {4},
 publisher = {Addison Wesley Longmain},
 title = {Real-Time Systems and Programming Languages},
 year = {2009}
}