# HG changeset patch # User Christian Urban # Date 1568974358 -3600 # Node ID 99880ddeae63d7ab490e2ffbf3cf807ecef20e56 # Parent e6d58b2a29299642a154346b2f3660da315653a9 updated diff -r e6d58b2a2929 -r 99880ddeae63 index.html --- a/index.html Sat Sep 07 15:04:15 2019 +0100 +++ b/index.html Fri Sep 20 11:12:38 2019 +0100 @@ -14,7 +14,6 @@ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); - @@ -23,12 +22,13 @@ LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000"> + @@ -201,8 +201,8 @@ + + + + @@ -261,39 +308,6 @@ - -
Nominal Isabelle -I currently work on Nominal -Isabelle 2. This is joint work with +I am the main developer of Nominal +Isabelle. This is joint work with Dr Stefan Berghofer, Dr Markus Wenzel, Dr Cezary Kaliszyk, @@ -210,22 +210,69 @@ the Isabelle-team in Munich. Many of the theoretical ideas originate from the nominal logic project - a wonderful project headed by Prof. Andrew Pitts. -The aim of my work is to make formal reasoning involving binders as simple as +The aim with this work is to make formal reasoning involving binders as simple as on paper and the hope is to lure masses to automated theorem proving. My funding for this work was provided in 2004 and 2005 by a research fellowship from the Alexander-von-Humboldt foundation. During this time I was a visitor in the group of -Prof. Helmut Schwichtenberg. -Since 2006 this work is supported by an +Prof. Helmut Schwichtenberg in Munich. +Between 2006 and 2011 this work is supported by an Emmy-Noether -fellowship. +fellowship at the TUM. There is a webpage about Nominal Isabelle, which also includes a list of projects that use Nominal Isabelle. Users of Nominal Isabelle had their papers appearing at LICS, POPL, FOSSACS, SOS, TPHOLs, CPP, SEFM, the Haskell Symposium and -in the Journal of Automated Reasoning. +in the Journal of Automated Reasoning. Nowadays, Nominal Isabelle 2 is part of the Archive of Formal Proofs. +
+Real-Time Scheduling and Priority Inheritance + In real-time operating systems with processes, resource locking and + priority scheduling, one faces the problem of + priority inversion (processes + with lower priority block processes with higher priority indefinitely). If you do not prevent this problem, + then processes can behave erratically, as NASA found out the + hard way with their first + Mars Pathfinder mission. + The priority inheritance protocol is a widely used scheduling algorithm that prevents + priority inversion. However, the original paper + describing this algorithm contains an incorrect algorithm and a bogus(!) correctness proof. + + We formalised our version of the priority inheritance protocol, including a generalisation + of the original work (we allow overlapping critical sections) in the theorem prover + Isabelle. + + In our formalisation we use the inductive method we learned from + Prof. Larry Paulson. + He used this method in order to prove the correctness of security + protocols. We have implemented our algorithm on top of the + the small PINTOS + operating system used for teaching (we passed all their test cases and were + faster than their reference implementation). + + + While the problem with the original algorithm was already known for some time, the incorrect + specification seems to be still widely in use and described in many textbooks on real-time operating systems, + including famous and rather expensive + ones. Feel free to decide whether they are worth your time and money. Task: Spot the problems in + here, + here, + here, + here and + here! + Alternatively, you can look at the quotes and pointers in our + paper. A notable + exception is the textbook + by Buttazzo, who gives the correct specification. Unfortunately, his work did not + help us with proving the correctness of the priority inheritance protocol. + + This is joint work with Prof. Xingyuan Zhang and his student Chunhan Wu from the + PLA University of Science and Technology in Nanjing.
Nominal Unification and Alpha-Prolog @@ -370,7 +384,7 @@

-Time-stamp: <- 2017-09-26 19:52:51 by Christian Urban> [Validate this page.] +