From Semantics to Computer Science: The tower of informatic models

Software science has always dealt with models of computation that associate meaning with syntactical construction. The link between software science and software engineering has for many years been tenuous. A recent initiative, model-driven engineering (MDE), has begun to emphasize the role of models in software construction. Hitherto, the notions of ’model’ entertained by software scientists and engineers have differed, the former emphasizing meaning and the latter emphasizing toolbased engineering practice. This essay finds the two approaches consistent, and proposes to integrate them in a framework that allows one model to explain another, in a sense that includes both implementation and validation. This essay is dedicated in admiration to the memory of Gilles Kahn, a friend and guide for thirty-five years. I have been struck by the confidence and warmth expressed towards him by the many French colleagues whom he guided. As a non-Frenchman I can also testify that colleagues in other countries have felt the same. I begin by recalling two events separated by thirty years; one private to him and me, one public in the UK. I met Gilles in Stanford University in 1972, when he was studying for the PhD degree—which, I came to believe, he found unnecessary to acquire. His study was, I think, thwarted by the misunderstanding of others. I was working on two different things: on computer-assisted reasoning in a logic of Dana Scott based upon domain theory, which inspired me, and on models of interaction—which I believed would grow steadily in importance (as indeed they have). There was hope to unite the two. Yet it was hard to relate domain theory to the non-determinism inherent in interactive processes. I remember, but not in detail, a discussion of this connection with Gilles. The main thing I remember is that he ignited. He had got the idea of the domain of streams which, developed jointly with David MacQueen, became one of the most famous papers in informatics; a model of deterministic processes linked by streams of data. The public event, in 2002, was the launching workshop of the UK Exercise in Grand Challenges for Computing Research. It identified eight or so Grand Challenge topics that now act as a focus for collaborative research; part of their effect is to unite researchers who would otherwise never have communicated. Before the workshop we