96 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/picture-small.jpg"><IMG ALT="" SRC="picture-small.jpg" align="top"></A> |
96 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/picture-small.jpg"><IMG ALT="" SRC="picture-small.jpg" align="top"></A> |
97 </TD> |
97 </TD> |
98 </TR> |
98 </TR> |
99 </TABLE> |
99 </TABLE> |
100 <p> |
100 <p> |
101 <IMG SRC="new.gif" ALT="" style="" align="left"><A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Cookbook" target="_top">Isabelle Programming Tutorial</A> (draft of a 200-page tutorial on Isabelle programming)<BR> |
101 <IMG SRC="new.gif" ALT="" style="" align="left"><A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Cookbook" target="_top">Isabelle Programming Tutorial</A> (draft of a 200-page tutorial on Isabelle programming)<BR><BR> |
|
102 <IMG SRC="new.gif" ALT="" style="" align="left"><A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/itp-2015/">ITP'15</A> will take place in Nanjing organised by Xingyuan Zhang and me<BR> |
102 </TD> |
103 </TD> |
103 </TR> |
104 </TR> |
104 |
105 |
105 <TR> |
106 <TR> |
106 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
107 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
150 <A HREF="http://www.cis.upenn.edu/~bcpierce/wmm/">WMM'10</A> (invited speaker), |
151 <A HREF="http://www.cis.upenn.edu/~bcpierce/wmm/">WMM'10</A> (invited speaker), |
151 <A HREF="http://isabelle.in.tum.de/nominal/activities/idw10/idw.html">IDW'10</A> (co-organiser), |
152 <A HREF="http://isabelle.in.tum.de/nominal/activities/idw10/idw.html">IDW'10</A> (co-organiser), |
152 CPP'11 (member of PC), |
153 CPP'11 (member of PC), |
153 <A HREF="http://www.rdp2011.uns.ac.rs/rta/">RTA'11</A> (member of PC), |
154 <A HREF="http://www.rdp2011.uns.ac.rs/rta/">RTA'11</A> (member of PC), |
154 <A HREF="http://lfmtp11.cs.umn.edu">LFMTP'11</A> (member of PC), |
155 <A HREF="http://lfmtp11.cs.umn.edu">LFMTP'11</A> (member of PC), |
155 <A HREF="http://www.cs.uwyo.edu/~ruben/itp-2014">ITP'14</A> (member of PC) |
156 <A HREF="http://www.cs.uwyo.edu/~ruben/itp-2014">ITP'14</A> (member of PC), |
|
157 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/itp-2015/">ITP'15</A> (PC co-chair) |
156 <P> |
158 <P> |
157 |
159 |
158 <B>Current RA</B> Chunhan Wu<BR> |
160 <B>Current RA</B> Chunhan Wu<BR> |
159 <B>Former RAs</B> <A HREF="http://cl-informatik.uibk.ac.at/users/cek/">Cezary Kaliszyk</A>, |
161 <B>Former RAs</B> <A HREF="http://cl-informatik.uibk.ac.at/users/cek/">Cezary Kaliszyk</A>, |
160 <A HREF="http://dpt-info.u-strasbg.fr/~narboux/">Julien Narboux</A> |
162 <A HREF="http://dpt-info.u-strasbg.fr/~narboux/">Julien Narboux</A> |
218 My funding for this work came from the |
220 My funding for this work came from the |
219 <A HREF="http://www.sinogermanscience.org.cn/">Chinese-German Research Centre</A>. |
221 <A HREF="http://www.sinogermanscience.org.cn/">Chinese-German Research Centre</A>. |
220 </TD> |
222 </TD> |
221 </TR> |
223 </TR> |
222 |
224 |
|
225 <!-- |
|
226 <TR> |
|
227 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
|
228 <B>Priority Inheritance</B> |
|
229 In real-time operating systems with processes, resource locking and |
|
230 priority scheduling, one faces the problem of indefinite |
|
231 <A HREF="http://en.wikipedia.org/wiki/Priority_inversion">priority inversion</A> (processes |
|
232 with lower priority block processes with higher priority). If you do not prevent this problem, |
|
233 then processes can behave quite erratically, as <A HREF="http://www.nasa.gov">NASA</A> found out the |
|
234 <A HREF="http://catless.ncl.ac.uk/Risks/19.54.html#subj6">hard</A> way with their |
|
235 <A HREF="http://www.nasa.gov/mission_pages/mars-pathfinder/index.html">Mars Pathfinder mission</A>. |
|
236 The priority inheritance protocol is a widely used schedulling algorithm that prevents |
|
237 priority inversion. However, the <A HREF="http://dx.doi.org/10.1109/12.57058">original paper</A> |
|
238 describing this algorithm contains an incorrect algorithm and a bogus correctness proof |
|
239 (this seems to be the only "proof" about priority inheritance in the literature). |
|
240 |
|
241 We formalised the priority inheritance protocol, including a generalisation |
|
242 of the original work. |
|
243 |
|
244 using the inductive method we learned from |
|
245 <A HREF="https://www.cl.cam.ac.uk/~lp15/">Prof. Larry Paulson</A>. |
|
246 While the problem with the original algorithm was already known, the incorrect |
|
247 specification seems to be still in use |
|
248 |
|
249 <A HREF="http://mcs.une.edu.au/%7Eiam/Data/threads/node15.html">here</A> |
|
250 <A HREF="http://ems2.be/Portals/6/course_docs/OS_pathfinder_failure.ppt"> |
|
251 |
|
252 This is joint work with Prof. Xingyuan Zhang and his student Chunhan Wu from the |
|
253 <A HREF="http://www.ust.com.cn/">PLA University of Science and Technology</A> in Nanjing. |
|
254 </TD> |
|
255 </TR> |
|
256 --> |
|
257 |
223 <TR> |
258 <TR> |
224 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
259 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
225 <B>Nominal Unification and Alpha-Prolog</B> |
260 <B>Nominal Unification and Alpha-Prolog</B> |
226 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Unification">Nominal unification</A> is one outcome of |
261 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Unification">Nominal unification</A> is one outcome of |
227 my involvement in the nominal logic project in Cambridge. Another is the logic programming language |
262 my involvement in the nominal logic project in Cambridge. Another is the logic programming language |