# HG changeset patch
# User Christian Urban
Description: One of the more annoying aspects of giving a lecture is to ask a question - to the students and no matter how easy the questions is to not - receive an answer. Recently, the online course system + to the students and no matter how easy the question is to not + receive any answer. Recently, the online course system Udacity made an art out of asking questions during lectures (see for example the Web Application Engineering @@ -332,7 +332,7 @@ click on the appropriate answer. This works very well in the online world. For “real-world” lectures, the department has some clickers - (these are little devices part of an audience response systems). However, + (these are little devices which form a part of an audience response systems). However, they are a logistic nightmare for the lecturer: they need to be distributed during the lecture and collected at the end. Nowadays, where students come with their own laptop or smartphone to lectures, this can @@ -535,12 +535,33 @@ Isabelle. This theorem prover has been used to establish the correctness of some quite large programs (for example an operating system). - On a much smaller scale, there are a few programs and underlying algorithms where it - is not really understood whether they always compute a correct result. The aim of this + Together with colleagues from Nanjing, I used this theorem prover to establish the correctness of a + scheduling algorithm, called + Priority Inheritance, + for real time operating systems. This scheduling algorithm is part of the operating + system that drives, for example, the + Mars rovers. + Actually, the very first Mars rover mission in 1997 did not have this + algorithm switched on and it almost caused a catastrophic mission failure (see + this youtube video here + for an explanation what happened). + We were able to prove the correctness of this algorithm, but were also able to + establish the correctness of some optimisations in this + paper. +
+ +On a much smaller scale, there are a few small programs and underlying algorithms where it + is not really understood whether they always compute a correct result (for example the + regular expression matcher by Sulzmann and Lu in project [CU1]). The aim of this project is to completely specify an algorithm in Isabelle and then prove it correct (that is, it always computes the correct result).
++ Skills: + This project is for a very good student with a knack for theory and formal reasoning. +
+- Last modified: Thu Nov 21 14:26:03 GMT 2013 + Last modified: Wed Jun 4 11:33:30 BST 2014 [Validate this page.]