Seminar: Higher-Order Multidimensional Programming
Dr. John Plaice (The University of New South Wales)
Tuesday, March 5, 2013, 11:00 a.m, EV 3.309
In 1975, William W. Wadge and Edward A. Ashcroft introduced the language Lucid, in which the value of a variable was a stream. The successors to Lucid took two paths.
The first path, taken by Lustre, was to restrict the language so that a stream could be provided with a timed semantics, where the i-th element of a stream appeared with the i-th tick of the stream's clock, itself a Boolean stream. Today, Lustre is at the core of the Scade software suite, the reference tool for avionics worldwide.
The second path was to generalize the language to include multidimensional streams and higher-order functions. The latest language along this path is TransLucid, a higher-order functional language in which variables define arbitrary-dimensional arrays, where any atomic value may be used as a dimension, and a multidimensional runtime context is used to index the variables.
The presentation will focus on the key problems pertaining to design, semantics and implementation of Lustre and TransLucid, and show how the two paths are being brought back together in the TransLucid project.
Dr. John Plaice (BMath 1979, University of Waterloo, Canada; PhD 1984, Grenoble Institute of Technology, France; Habilitation 2010, University of Grenoble) is Adjunct Associate Professor at The University of New South Wales, Sydney, Australia. He wrote the first semantics and compiler for Lustre (Synchronous Real-Time Lucid), the core real-time programming language in Esterel Technologies' Scade Suite, the leading solution in Europe for developing embedded software meeting stringent avionics standards. Since then, he has developed numerous techniques for adaptation to context, in programming languages, software configuration, electronic documents and digital typography.