Coercing real-time refinement

Dr Ian Hayes - University of Queensland

Our overall goal is to support the development of real-time programs from specifications via a process of stepwise refinement. One problem in developing a real-time program in a high-level programming language is that it is not possible to determine the detailed timing characteristics of the program until the compiler and target machine are taken into account. To overcome this problem the programming language can be augmented with directives specifying real-time constraints; it is a compile-time error if the compiler cannot guarantee that the generated code will meet them.

During the refinement process the timing directives are inserted into the program in order to ensure it meets the specification. In this way timing constraints can be separated out at the appropriate points in the refinement process. This allows the remainder of the refinement process to be similar to normal sequential refinement.

Computers and Media

Geoff Vincent - Mediation Technology

One of the most important new areas of application for computer technology - from high speed ATM networks to RISC processors - is media. Computers are not only replacing conventional technology, in every medium from newspapers to television, but are creating entirely new media. The Internet is a computer network; but it is also developing as a new medium for communication and interaction.

All this is raising new challenges for computer science - such as the need for broadband networks allowing on-demand universal access to everything from text to television. With examples from leading edge media applications, this seminar will examine the interaction between computers and media, and how both are changing as a result.

Operational reasoning about functions with local state

Dr Andy Pitts - Computer Laboratory

Languages like Standard ML or Scheme permit (higher order) function expressions with locally declared storage locations. Although this can be very convenient from a programming point of view, it severely complicates the properties of program equivalence in such languages. I will illustrate some of these complications by example, making use of a simple fragment of ML. For example, naive notions of function extensionality fail to hold, because of the ability of names of local storage locations to "leak out" from their textual scope into the context in which the function expression is used. I will go on to outline some methods which have been developed, both in Cambridge and elsewhere, to reason about programs with such features. The methods are based directly on the (rather straightforward) operational semantics of such languages.

A Portable Target Code for Compilers

Dr Martin Richards - Computer Laboratory

In this talk I will present a target code for compilers that can be loaded and executed efficiently on any target machine. The code is designed to be compact to minimise communication delays over a network and can be translated at load time into a form that can be executed efficiently. It was originally designed for interpretive execution but is also equally suitable translation into native machine instructions when higher execution efficiency is required.

Object modules in this code are about 30% smaller than the corresponding rather compact modules used in the BCPL Cintcode system and have, in addition, many other advantages over the Cintcode approach particularly in terms of flexibility and runtime efficiency. The strategy adopted in this design could equally well be applied to the implementation of Java.

GIS: A Computing Perspective

Professor Michael Worboys - Keele University

Geographic Information Systems (GIS) deal with data referenced spatially to the Earth. Such systems are finding wide application, ranging from global environmental modelling to national land registration. The talk will review some of the major contributions made to this technology by computing science.

Spatial data management has stretched traditional relational database systems, with graphics and computational geometry contributing algorithms, data structures and approaches to visualization. The talk will also discuss some current challenges in the field: integration of Earth observation data into GIS, dynamic spatial data management, and liberation from traditional cartography.

Virtual Databases and Browsing Agents

Professor Heather Brown - University of Kent at Canterbury

Virtual databases were developed as part of a project to investigate indexing techniques for multimedia objects. They provide facilities for organising hierarchical indexes of references to distributed multimedia objects and allow users to attach a variety of personal `cues' or annotations to the references. Small virtual databases work well but, as they grow, users need specialised browsing facilities to help them find objects again. Users may also expend significant amounts of time and effort searching for useful references to add to their virtual database only to find that they have to repeat the process frequently when the references become out-of-date.

Browsing agents, which automate many aspects of searching and browsing, were added to virtual databases to minimise these problems. Users create browsing agents by specifying composite queries and giving starting points for searching. When a browsing agent is activated it follows links from object to object, selecting some and discarding others according to the queries supplied. Searching extends transparently from cues in the virtual database to remote objects. The results of the search are stored in the virtual database for inspection.

Computational Simulation of the Co-evolution of Language and the Human Language Faculty

Dr Ted Briscoe - University of Cambridge Computer Laboratory

Current (computational) linguistic theory is dominated by a knowledge-based (AI) approach in which descriptions of natural languages are manually encoded (at great cost) by experts. However, as we all know, language is varied and changes constantly, therefore, the resulting "high-level compiling" technology is very brittle.

The A-life approach offers an alternative framework in which variation and change are fundamental. The talk will describe a software simulation in which language is treated as a complex adaptive system and syntactic aspects of language variation and change are modelled as an evolutionary process. To be selected, languages must be learnable, parsable and expressible.

Because theory is interesting and engineering is difficult, I'll show how constraints of learnability and parsability may explain many syntactic properties of the world's attested languages, and I'll argue that the human language faculty may have co-evolved with early languages to restrict the class of learnable human languages. Nevertheless, I'll also try to outline how this perspective on language may help solve problems of language processing technology.