A constraint is a declarative description of a relation that we want to have hold, for example, that a set of icons be equally spaced and positioned at the bottom of a window, or that a resistor in an electrical circuit simulation obey Ohm’s Law. A constraint can support modularity in programs by providing a succinct way to express some property, in a way that lets it be combined flexibly with other constraints. Historically there have been two principal views of constraints in programing languages: as equations to be solved, or as relations to be maintained in the face of change. In this talk I’ll concentrate on the second view and how such constraints can be used in building interactive systems. There is a long history of work in this area. A key early system was Ivan Sutherland’s Sketchpad from 1963; a less notable but still early system was my own ThingLab from 1979. In this talk I’ll describe a little of that history, including a demo of a revived version of ThingLab, using the original code from 1979 running in a web browser using an interpreter written in Javascript. I’ll then describe some recent work on constraints for interactive systems, including Babelsberg, a family of object constraint programming languages by Tim Felgentreff (with help from myself and others), and a new constraint reactive programming language currently being implemented.
Alan Borning is a professor in the Department of Computer Science & Engineering at the University of Washington, Seattle, USA, and an adjunct faculty member in the Information School. His research interests are in constraint-based languages and systems, object-oriented programming, human-computer interaction, and designing for human values. Current projects in programming languages include work on object constraint programming and constraint reactive programming languages, and in HCI, tools for making public transit more usable, and systems to support civic engagement and participation. He received a BA in mathematics from Reed College in 1971, and a PhD in computer science from Stanford University in 1979. Awards include a Fulbright Senior Scholar Award for lecturing and research in Australia, and being named a Fellow of the Association for Computing Machinery in 2001.
Wed 16 MarDisplayed time zone: Belfast change
09:00 - 10:00 | |||
09:00 60mTalk | Constraints and Modularity Keynotes Alan Borning CDG Labs |