Real-time embedded systems analysis — From theory to practice
Ansuman Banerjee, Arijit Mondal, Arnab Sarkar, Santosh Biswas
- Year
- 2015
- Citations
- 5
Abstract
Real-time embedded applications span a wide range of domains including automotive and flight control systems, monitoring systems, multimedia systems, virtual reality, interactive gaming, robotics, telecommunications, etc. A late response in these systems might cause a wrong behavior which could possibly even lead to a critical system failure. A typical example is an anti-lock braking system in a car that is required to release the brakes within (say) 60 milliseconds to prevent the wheels from locking. In most real-time systems design, the task / application scheduler is a major architectural component responsible for ensuring proper processing of all tasks having timeliness constraints on their execution response. In the presence of several concurrent activities running on a processor, the realtime scheduler has to ensure that each activity completes within its deadline. The first part of this tutorial introduces real-time embedded systems in general highlighting their key design issues and then presents a few important scheduling mechanisms employed on uni-processor and multiprocessor real-time systems. While scheduling strategies are directed towards handling the contention for CPUs among several real-time tasks, it cannot guarantee timing and performance constraints for the entire system in the presence of variable memory access and data communication times, actual execution path taken by the applications, the micro-architecture of the platform used etc. Validating timing and performance properties for these embedded real-time systems through system level timing analysis has evolved as a research theme in its own merit. In the second part of this discussion, we will present a systematic study of the developments in this area. The embedded real-systems under consideration are becoming increasingly complex. With an ensemble of complex components and diverse functionalities on board, the problem of verification for real time systems implementations is often turning out to be an insurmountable task. This fascinating theme has inspired decades of research on effective full-proof methods that can handle these diverse system types and prove properties on them. Verification models ranging from automata variants and hybrid formalisms have appeared in literature and several success stories have been reported. In this part, we will present a survey of this evolving landscape with a detailed discussion on some of the promising methods that have been put to real practice. Validation and test have been intensively studied and understood for hardware systems and software programs separately. However, embedded systems not only consist of hardware components, a large portion is realized by firmware and programs. The general concept of VLSI testing cannot be directly applied for embedded hardware because of the close interaction with the software components. Thus, all the steps for testing namely test planning, test pattern generation, DFT etc. needs to consider the fact that the hardware needs to be looked from the angle that it executes some software embedded in it. As most of the embedded systems in modern times involve real time constraints, the test and validation techniques need not only determine correct operation but also ensure that computations are completed within the given time lines. In the fourth part of the tutorial, we will discuss the challenges involved in testing and validation of real-time embedded systems and various evolving techniques to handle them.
Keywords
Related papers
Statistical Learning Theory
Yuhai Wu, Vladimir Vapnik
1999
Artificial intelligence: a modern approach
1995
Fractional Differential Equations
Igor Podlubný
2025
Applied Nonlinear Control
Jean-Jacques Slotine, Weiping Li
1991