Dr Alan Blackwell
What is programming? Why do we have programming languages? Who
needs them? These have never been simple questions, but they are
becoming both more complex and more critical. Many computer users
are frustrated in what they can achieve with their computers,
leading to widespread research in "end-user programming".
programming languages aim to make programming accessible to a
wider audience. Metaphorical user interfaces disguise the
abstract pill of programming with a graphical sugar coating.
Meanwhile, many people get on with the job of "programming" in
spreadsheets, in HTML, in scripts and macros, or in the user
interfaces of video recorders and central heating controllers.
What do these things have in common, and how can computer
scientists address the resulting issues?
The main claim of this
talk will be that many of the most critical research issues in
programming languages fall within the domain of human computer
interaction, rather than mathematical computer science.
Professor Glynn Winskel
Starting with a process language for cryptographic protocols and a semantics designed to support reasoning about secrecy and authentication, I'll illustrate the roles of locality, independence and linearity in understanding and reasoning about distributed processes. This will lead on to a sketch of the broader research intrests of myself and students.
For the past several years the Linguistic Grammars Online (LinGO) project at
the Center for the Study of Language and Information (CSLI) at Stanford
University has been part of a consortium of research groups working on the
development and application of broad-coverage declarative grammars built on
sound linguistic foundations, focusing on efficient technology for parsing and
generating with such grammars. I will present and demonstrate several aspects
of this collaborative work, including (1) descriptive formalism requirements;
(2) linguistics framework and resources; (3) grammar development tools; (4)
diagnostics and measurement; (5) processing efficiency; (6) semantic
engineering; (7) re-usability and exchange to support collaboration; and (8)
practical applications. The goal is to show that a consistent, fine-grained
mapping between form and meaning is of critical importance in some NLP
applications, and that recent advances in grammar development and processing
implementations offer hope of meeting these demands for precision.
Dr Marcelo Fiore
I will consider the problem of automatically verifying cryptographic protocols. In particular, I will present an algorithm that given a finite process describing a protocol in a hostile environment computes a model in which security and authentication properties can be checked. This algorithm, I hope, will serve as the basis for a verification tool.