[Apologies if you receive multiple copies of this announcement]
BCS-FACS Evening Seminar
Joint event with the BCS Advanced Programming Group
Why separation logic is the bee's knees, and why you should care
Professor Richard Bornat
Middlesex University
8 December 2005
start time: 6pm
BCS London Offices
First Floor
The Davidson Building
5 Southampton Street
London WC2E 7HA
Long ago (in 1968, or maybe it was 1965) E.W. Dijkstra sorted out
concurrency _so far as programming methodology is concerned_. He laid
down conditions of what we now recognise as _separation_ between
threads (processes) and their associated variables, and conditions
for action on shared variables. But it remained _methodology_: that
is, pious words without formal content. Nobody, so far, has been able
to build a programming tool, like a compiler or an IDE, which can
help programmers write concurrent programs.
Recent developments have made things much worse. The inept, one could
reasonably say idiotic, introduction of concurrent programming
primitives to the masses through Java has collided with the now
almost universal use of pointers (aka references) in programming.
Pointers are another problem. Hoare logic, our only means of talking
about programs precisely up to now, can't really do pointers. If you
don't see the problem, here's a fact to choke on: every Swing Java
program (that is, every Java program with a GUI, which is every Java
program) runs 8 to 14 threads that _the programmer has no notion of_.
It's impossible to tell which thread you are in in a Java program,
and _it matters_: some program actions work in some threads, and
others simply and silently do not. Deadlock is a frequent problem.
Well, folks, there is good news. Separation logic is a reworking of
Hoare logic which deals with pointers, and concurrency, and pointers-
and-concurrency. We can give _completely formal_ descriptions of
popular and intricate concurrent algorithms and even of some hoary
old concurrency chestnuts. We have not yet built a tool because we
are at the beginning of the business of overturning computer science.
But overturned it will be (again!) and this time (again!) it will
matter.
If you are healthily cynical of the chances of a version of Hoare
logic making a blind bit of difference to anything at all, given its
spectacular failure to do _anything_ much that was worthwhile in its
heyday in the 1970s and 1980s, bring your scepticism along to the
meeting and I shall demolish it.
Oh, and did I say the talk would be funny? It will be.
Refreshments will be served from 5.15pm
The seminar is free of charge and open to everyone. If you would
like to attend, please email Paul Boca[[log in to unmask]] by
>>> 5 December 2005 <<<. Pre-registration is required, as security
at the BCS Offices is tight.
Location of venue:
http://www.bcs.org/NR/rdonlyres/B5872B38-3FBB-46E8-9CE7-6F43212E1198/0/londonss.jpg
BCS Advanced programming website:
http://www.bcs.org.uk/siggroup/advprog/
BCS-FACS website:
http://www.bcs-facs.org
BCS-FACS Evening Seminars website:
http://www.bcs-facs.org/events/EveningSeminars
|