What is Real-time?
A system is defined as being real-time if it is required to respond to input stimuli within a finite and specified time interval. The stimuli being either an event at the interface to the system or some internal clock tick that is, at least notionally, coordinated with the passage of time in the system’s environment. Real-time systems are found in a wide range of applications areas, from simple domestic appliances to multimedia systems, large scale process control and safety critical avionics. In some systems the required response times are measured in milliseconds, in others it is seconds or even minutes. Nevertheless they all have deadlines that must be satisfied. In the production of real-time systems, it is insufficient to use testing of the final system to ensure its compliance with the timing requirements. A comprehensive and systematic approach to specification, design, implementation and analysis is required.
Areas of Activity
The overall goal of the group is to facilitate the design, construction, analysis and maintenance of potentially complex systems which have real-time constraints. The work of the group spans a wide range of topics associated with timing analysis, system design, programming languages, operating system kernels, heterogeneous and reconfigurable hardware.
Projects and Funding
Areas of application of our work include space and avionic systems, engine controllers, automobile control and multi-media systems. Work has been funded by the EPSRC and DTI, BAE SYSTEMS, European Union, European Space Agency (ESA), NASA, QinetiQ, Rolls Royce Aeroengines, DTI, the Health and Safety Executive (HSE), Sun Microsystems, Philips Research, Microsoft.
Detailed presentations of selected projects can be found on the Research Impact page.
Members of the group can be found on the People page.
Aim of the Group: To undertake fundamental research, and to bring into engineering practice modern techniques, methods and tools.
How can we design and build time-predictable systems using modern heterogeneous multicore architectures?
By what means can a system utilise free resources at run-time, to increase system utility, but still be guaranteed to meet its fundamental timing constraints?
Can a computational model for real-time systems be defined that is effective in terms of schedulability analysis, but can also be formally specified and implemented?
How can we implement, in combinations of software and hardware, complex real-time systems to meet timing and resource constraints?
To what extent can real-time systems be made architecture neutral?