School Seminar: Programs that Write Programs – Is that Interesting?- by Prof Ron Morrison, …with many ideas from…

Event details

  • When: 25th February 2013 15:00 - 16:00
  • Where: Phys Theatre C
  • Series: CS Colloquia Series
  • Format: Colloquium

This seminar is suitable for CS3053-RPIC

A talk by Prof Ron Morrison …with many ideas from:

Dharini Balasubramaniam, Graham Kirby, Kath Mickan – University of St Andrews, Brian Warboys, R. Mark Greenwood, Ian Robertson, Bob Snowdon – University of Manchester and technologies developed by some of the above and Alfred Brown, Al Dearle, Richard Connor, Quintin Cutts, David Munro and Stuart Norcross – University of St Andrews.

 Writing programs is a pretty exciting occupation. In the 1960s and 1970s it became fashionable, especially in the AI community, to explore mechanisms that supported programs that wrote other programs or fragments and allowed theses fragments to be executed in the on–going computation. Just how interesting can this stuff get?

 The techniques developed come under the general banner of reflection which may be described as the ability of a programming system to evolve itself. A number of quite different reflective systems appeared ranging from the Meta Object Protocols of OO systems like SMALLTALK, through the eval functions of Lisp, Javascript and the popval function of POP-2. Strongly typed run-time reflection first appeared in PS-algol and was enhanced in Napier88, both built in St Andrews, and later appeared in Java.

 In this talk I will introduce the concept of dynamic system co–evolution whereby businesses and their supporting software evolve to accommodate the constant revision and re-negotiation of commercial goals, and to intercept the potential of new technology. I will address three topics: structuring for dynamic co-evolution, incremental design, and adapting dynamic co-evolving systems and develop the theme that reflection can be used as the basis for dynamic system co–evolution.


The question is whether this work is still in advance of its time or a technological red herring.

Ron Morrison, School of Computer Science, University of St Andrews.