Dr Alan Blackwell

Who needs programming languages

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".

Visual 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

Locality, Independence and Linearity

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.

Dan Flickinger

Collaborative language Engineering for Efficient Grammar-based Processing

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

On Model Checking Security Properties of CryptoGraphic Protocols

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.