The tower of informatic models

Software science has always dealt with models of computatio n that associate meaning with syntactical construction. The link between software science and software engineering has for many year s been tenuous. A recent initiative,model-driven engineering(MDE), has begun to emphasize the role of models in software construction. Hi therto, the notions of ’model’ entertained by software scientists and e gineers have differed, the former emphasizing meaning and the latter emp hasizing toolbased engineering practice. This essay finds the two approac hes consistent, and proposes to integrate them in a framework that allo ws one model to explainanother, in a sense that includes both implementation and va lidation. 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 no n-Frenchman I can also testify that colleagues in other countries have fel t th same. I begin by recalling two events separated by thirty years; on e private to him and me, one public in the UK. I met Gilles in Stanford University in 19 72, when he was studying for the PhD degree—which, I came to believe, he found unnecess ary to acquire. His study was, I think, thwarted by the misunderstanding of othe rs. I was working on two different things: on computer-assisted reasoning in a logi c f Dana Scott based upon domain theory, which inspired me, and on models of interacti on—which I believed would grow steadily in importance (as indeed they have). The re was hope to unite the two. Yet it was hard to relate domain theory to the non-det erminism inherent in interactive processes. I remember, but not in detail, a disc ussion of this connection with Gilles. The main thing I remember is that he ignited. He h ad got the idea of the domain of streams which, developed jointly with David Ma cQueen, became one of the most famous papers in informatics; a model of determinis tic processes linked by streams of data. The public event, in 2002, was the launching workshop of the U K Exercise in Grand Challenges for Computing Research. It identified eigh t or so Grand Challenge topics that now act as a focus for collaborative research; pa rt of their effect is to unite researchers who would otherwise never have communicated. B efore the workshop we