Using Learning to Support the Development of Embedded Systems

Lead Research Organisation: University of York
Department Name: Computer Science

Abstract

Reasoning about the timing properties of many modern systems is crucial. Examples include anti-lock braking systems, air traffic control systems, and even medical applications such as X-ray dosage delivery equipment. Reasoning about response times of such systems has been the subject of much research. In particular, a great deal of scheduling theory has been developed to provide bounds on worst-case response times. Such work assumes the timing properties of individual components in the system are well understood. In particular, the Worst Case Execution Time (WCET) for an individual task is an input to all forms of real-time scheduling theory. The derivation of such WCETs therefore underpins our efforts to guarantee response times in critical systems. The real-time systems community recognizes this as a major challenge. Approaches developed for WCET analysis must give conservative bounds but the degree of pessimism is typically too great for many purposes. All such analysis tools must ultimately rely on information about hardware instruction execution. However, modern processors are becoming very complex and the information needed to calculate WCETs is typically unavailable (e.g. internals of processors are commercially confidential). Where such information is provided, it has often proved to be wrong. In many cases instruction WCET is of secondary interest to the manufacturers and WCET techniques developers are not the target audience of the information they make available. Several researchers have identified measurement-based approaches as a promising candidate to cope with modern-day engineering demands. However, relying only on measurements to infer WCET bounds in a black box approach is regarded as unsound by most researchers. We need information to reason effectively about WCETs, but this is not readily available. Measurements however, can be taken freely. The weakness of measurement is ensuring the results are safe. Thus, rather than directly inferring bounds on WCETs from execution trace timings, why not use the measurements to infer a model of the underlying system that can form an input into further WCET calculations? Our proposal addresses this very question. Since the problem is in essence a learning problem, we propose to investigate how well leading edge machine learning approaches can be adopted or adapted to this end.
 
Description The project established important machine learning and search-based techniques for Worst-Case Execution Time (WCET). The principal results were machine learning techniques for exactly determining the loop bounds of software and understanding cache behaviours, and how to achieve better confidence when searching for the WCET.
Exploitation Route In particular the work on loop bounds is useful to those performing static analysis. The approaches to machine learning is generating interest from other researchers
Sectors Aerospace, Defence and Marine,Healthcare,Transport