Hugh Glaser Declarative Systems & Software Engineering Group Department of Electronics and Computer Science University of Southampton