<html><body><div style="font-family: arial,helvetica,sans-serif; font-size: 12pt; color: #000000"><div><span data-mce-style="font-size: 12pt; font-family: arial,helvetica,sans-serif;" style="font-size: 12pt; font-family: arial,helvetica,sans-serif;">Talk:</span><br data-mce-bogus="1"></div><div><span data-mce-style="font-size: 12pt; font-family: arial,helvetica,sans-serif;" style="font-size: 12pt; font-family: arial,helvetica,sans-serif;">Interrupts in OS code: let’s reason about them. Yes, this means concurrency.</span></div><div><span data-mce-style="font-size: 12pt; font-family: arial,helvetica,sans-serif;" style="font-size: 12pt; font-family: arial,helvetica,sans-serif;">June Andronick, Data61</span><br></div><div><span data-mce-style="font-size: 12pt; font-family: arial,helvetica,sans-serif;" style="font-size: 12pt; font-family: arial,helvetica,sans-serif;">Monday, May 16th, 11:00am</span><br data-mce-bogus="1"></div><div><span data-mce-style="font-size: 12pt; font-family: arial,helvetica,sans-serif;" style="font-size: 12pt; font-family: arial,helvetica,sans-serif;">Computer Science 105</span><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div><p style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;" data-mce-style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;"><span data-mce-style="font-size: 12pt; font-family: arial,helvetica,sans-serif;" style="font-size: 12pt; font-family: arial,helvetica,sans-serif;">Existing modelled and verified operating systems (OS’s) typically run on uniprocessor platforms and run with interrupts mostly disabled. This makes formal reasoning more tractable: execution is mostly sequential. The eChronos OS is a real-time OS used in tightly constrained devices, running on (uniprocessor) embedded micro-controllers. It is used in the DARPA-funded HACMS program, where it runs the flight control software of a high-assurance quadcopter. To provide low latency, the eChronos OS runs with interrupts enabled and provides a preemptive scheduler. In terms of verification, this means that concurrency reasoning is required, which significantly increases the complexity: application and OS instructions may be interleaved with interrupt handler instructions.</span></p><p style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;" data-mce-style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;"><br data-mce-bogus="1"></p><p style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;" data-mce-style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;"><span data-mce-style="font-size: 12pt; font-family: arial,helvetica,sans-serif;" style="font-size: 12pt; font-family: arial,helvetica,sans-serif;">In our work we explicitly model the effect of interrupts and their handling by the hardware and OS. We provide a general formal model of the interleaving between OS code, application code and interrupt handlers. We then instantiate this model to formalise the scheduling behavior of the eChronos OS, and prove the main scheduler property: the running task is always the highest-priority runnable task.</span></p><p style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;" data-mce-style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;"><br data-mce-bogus="1"></p><p style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;" data-mce-style="color: #333333; font-family: sans-serif,Arial,Verdana,'Trebuchet MS'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20.8px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; margin: 0px;"><span data-mce-style="font-size: 12pt; font-family: arial,helvetica,sans-serif;" style="font-size: 12pt; font-family: arial,helvetica,sans-serif;">June Andronick is a Senior Researcher at Data61|CSIRO (formerly&nbsp;NICTA). Her research focuses on increasing the reliability of critical&nbsp;software systems, by mathematically proving that the code behaves as&nbsp;expected and satisfies security and safety requirements.&nbsp; She&nbsp;contributed to the seL4 correctness proof and now focuses on&nbsp;concurrency reasoning for OS code. She leads the concurrency software&nbsp;verification research in Data61, and is deputy leader of the&nbsp;Trustworthy Systems group. She was recognised in 2011 by MIT's&nbsp;Technology Review as one of the world's top young innovators&nbsp;(TR35). She holds a PhD in Computer Science from the University of&nbsp;Paris-Sud, France.</span></p></div><div><br></div></div></body></html>