Author :
Banerjee, Ansuman ; Mondal, Arijit ; Sarkar, Arnab ; Biswas, Santosh
Author_Institution :
Adv. Comput. & Microelectron. Unit, Indian Stat. Inst., Kolkata, India
Abstract :
Summary form only given. 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 impleme- tations 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 :
automata theory; embedded systems; formal verification; scheduling; systems analysis; DFT; VLSI testing; antilock braking system; application scheduler; architectural component; automata variants; automotive system; brakes; car; concurrent activities; critical system failure; data communication times; flight control system; hybrid formalisms; interactive gaming; monitoring systems; multimedia systems; multiprocessor real-time system; performance constraints; real-time embedded systems analysis; real-time systems design; realtime scheduler; robotics; software components; system level timing analysis; task scheduler; telecommunications; test pattern generation; test planning; timing constraints; uniprocessor real-time system; variable memory access; verification models; virtual reality; wheels; Computer science; Electronic mail; Embedded systems; Hardware; Real-time systems; Timing;