Skip to main content

One post tagged with "real-time"

View All Tags

Working with Deadlines

· 15 min read
Edward A. Lee
Professor at UC Berkeley
Ravi Akella
Sr. Research Engineer, DENSO International America Inc.
Francesco Paladino
Postdoc, UC Berkeley
Keiichi Bando
Chief Engineer, DENSO Create Inc.

SensorProcessorActuator diagram

Deadlines in Lingua Franca serve three purposes: they specify real-time requirements, guide scheduling, and provide fault handlers to invoke when real-time requirements are not met. But they can be subtle to use, and, do not guide scheduling as much as we would like. This blog outlines the current state of affairs and lays out ongoing work to improve the situation.

A deadline specifies that the physical time at which a reaction starts minus the logical time of that reaction (a time difference called the lag) should not exceed some threshold. If it does, then the deadline violation handler is invoked rather than the regular reaction.

Deadlines expose a number of scheduling subtleties because unrelated reactions can cause a deadline violation. Moreover, many users wonder why the deadline refers to the physical time at which a reaction starts rather than the time at which it ends. Here, we explain some of the subtleties.