Book contents
- Frontmatter
- Contents
- List of illustrations
- List of tables
- Foreword
- Preface
- 1 Introduction and overview
- 2 Sequential programming with Ada
- 3 Task basics
- 4 Communication and synchronization based on shared objects
- 5 Communication and synchronization based on direct interaction
- 6 Distributed systems with Ada
- 7 Real-time systems and scheduling concepts
- 8 Real-time programming with Ada
- 9 Tools for building and verifying real-time applications
- References
- Index
7 - Real-time systems and scheduling concepts
Published online by Cambridge University Press: 01 June 2011
- Frontmatter
- Contents
- List of illustrations
- List of tables
- Foreword
- Preface
- 1 Introduction and overview
- 2 Sequential programming with Ada
- 3 Task basics
- 4 Communication and synchronization based on shared objects
- 5 Communication and synchronization based on direct interaction
- 6 Distributed systems with Ada
- 7 Real-time systems and scheduling concepts
- 8 Real-time programming with Ada
- 9 Tools for building and verifying real-time applications
- References
- Index
Summary
Real-time systems are defined as those “systems in which the correctness of the system depends not only on the logical result of computation, but also on the time at which the results are produced” (Stankovic, 1988). When we design a real-time system, we must ensure that it meets three properties:
Correctness of functionality. We expect that our system will produce the correct output for every set of input data. Meeting this property is an expectation of all types of software including information technology and web applications. Traditional verification techniques such as testing and formal proof may be used to demonstrate functional correctness.
Correctness of timing behavior. As we stated in Chapter 1, the requirements of a real-time system include timing properties that must be met by the implementation. Deadlines may be assigned to particular system functions, and then to the tasks that implement these functions. Correct timing behavior is verified by checking that task execution times never exceed the required deadlines. This analysis of the timing behavior is called “schedulability analysis.”
Reliability. Software reliability is the probability of failure-free software operation for a specified period of time in a specified environment (Lyu, 1995). Real-time systems are often safety or mission critical — a failure may result in loss of life or property. Therefore, reliability is usually an important property of a real-time system.
- Type
- Chapter
- Information
- Building Parallel, Embedded, and Real-Time Applications with Ada , pp. 251 - 293Publisher: Cambridge University PressPrint publication year: 2011