19th International Workshop on
Worst-Case Execution Time Analysis
The International Workshop on Worst-Case Execution Time Analysis (WCET 2019) focuses on the analysis and design of real-time systems in a broad sense, with a particular emphasis on techniques to analyze the worst-case execution time (WCET) of real-time software. The workshop covers topics related to hard and soft real-time systems, program analysis, timing analysis, as well as (timing-predictable) hardware designs and operating systems. As in previous years, the 19th edition of the WCET workshop will be co-located with the Euromicro Conference on Real-Time Systems (ECRTS 2019) in Stuttgart, Germany, from July 9-12, 2019.
Keynote of WCET 2019
Devices and physical products covering a multitude of domains form the basis of Bosch’s internet-of-things activities. The corresponding embedded applications, often safety-critical, have to work reliably with
The structure of embedded software reflects its physical environment, concurrently reacting to sensors and writing to actuators – at appropriate points in time. Embedded software complexity grows with the number of quasi-parallel components. Embedded programming constraints impose restrictions on usable programming languages; at the same time, all languages used lack orthogonal abstractions for deterministic concurrency and timing behaviour. Mechanisms outside the language mitigate these deficits. This creates applications, which are difficult to understand and maintain.
The principles of synchronous languages are here to solve these problems. Being dissatisfied with the few available synchronous languages, we started to create Blech. It allows us to express temporal behaviour in time-steps, deterministic concurrent composition, and deterministic parallel programming. In this keynote, we will illustrate some features of this language: the realisation of synchronous control flow with a focus on separate compilation, a practical way of integrating aggregated data types like arrays, records and references without obstructing causality analysis, and our approach to task-parallel programming based on the principle of logical-execution-time.
Due to Blech’s embedded focus, the compiler guarantees otherwise intractable properties. We think this can also simplify the static analysis of non-functional requirements, like bounded memory usage and execution time. We hope to ignite a discussion on abstractions for embedded real-time programming, in order to further shape the language design and the compiler implementation, both being work in progress.