My links and thanks to the IBM Vienna Lab#Cliff B Jones
February 18, 2018
Before that fateful April, I had been heavily involved in testing the first compiler for PL/I in IBM's Hursley Lab. A large number of test cases had been written and we supplemented them with a tool that automatically generated random "executable" programs. At some point in time, enough test cases ran that the decision was made to ship the PL/I F compiler to customers. I'll confine myself to saying that the product was not perfect.
I was convinced (long before I heard Edsger Dijkstra's biting aphorism about testing) that a quality product could only be achieved if the design process was sound. Sadly this was not widely accepted in IBM: one senior US manager maintained "give me a FORTRAN compiler and enough PL/I test cases, and I'll give you a PL/I compiler". My hope was that a formal description of a programming language could be used as the basis for a sound design process for a compiler.
My week in Wien not only introduced me to their semantic description method, I found that Peter Lucas was already reasoning about equivalence between formal semantic models. I also took long walks every morning and on one of these I recall seeing a workman stop the traffic - yes, even the Straßenbahn, to let a duck lead its ducklings across the Ringstraße. This was a city in which I felt life had a sensible balance and a place where I wanted to live.
Returning to my home location, I set about trying to fix an assignment to Vienna. In October 1968, I arrived at the start of a two year assignment to the Vienna Lab.
Adjusting to Viennese life was not completely problemlos. I remember Heinz Zemanek asking me whether I had found it easy to settle in and I don't think my "not entirely" was the wished-for answer. However, the plusses vastly outweighed the negatives. My parents had been neither academic nor musical. Vienna opened the window to opera, Lieder and, thanks to Hans Bekic, Hausmusik.
Professionally, in that first sojourn in Wien, my main collaborations were with Peter Lucas and Wolfgang Henhapl. Hans was away for one of the two years working with Peter Landin in London. I attended my first IFIP working group when WG 2.2 held a meeting in Vienna. This was a scene changing event: Scott met Strachey, Tony Hoare spoke (I believe for the first time) about his axiomatic approach. Back in the Lab we were trying to understand Bob Floyd's "Assigning meaning to programs" paper and after some debate it was decided to invite Dana Scott to see if he could help us. Fortunately, he ignored our stated purpose and turned up with a manuscript on which he and Jaco de Bakker had been working!
By the time I left Vienna for the first time in 1970, we had clearly established that it was possible to reason about a compiler design based on a "ULD" description of the source language; but we were also convinced that many facets of such descriptions introduced gratuitous difficulties. Peter, Hans and I exchanged letters on ways to circumvent these problems and the extent to which denotational semantics would provide a better basis.
Back in the Hursley Lab, I did some more work on a "functional" language semantics but also turned my attention to the development of normal (non compiler) programs. Many of the ideas of what most people think of as VDM come from this time (e.g. relational post conditions, data reification). Late in 1972, Peter Lucas called me at our home in Wilshire and explained that the Vienna Lab had the chance to develop the PL/I compiler for IBM's new ""FS" machines. My recollection is that I said "yes" before he actually asked if I'd return to Wien! This time I took a "permanent transfer" and became a full member of IBM Austria. The Lab was still located at Parkring 10 but we had acquired the third as well as the fifth foors.
We actually moved back to Vienna when our son Peter was only weeks old. The technical story of the denotational semantics description which got christened "VDM" has been told in other places. As Heinz Zemanek became ever more involved in IFIP, Kurt Walk took over as Lab director. Then FS machine was cancelled! The Lab began to haemorrhage its key people. Strenuous efforts were made to set up a new mission for the Vienna Lab. For me this included trips to Paris - sometimes with Heinz or with Kurt Bandat.
I was one of the last to go in that period of diaspora and when I left, I predicted that the Lab would survive only for a very short time because of its high "loaded manpower rate". It is to Kurt Walk's credit that he proved my time estimates overly pessimistic but in the end the Lab did die. One of Dines Bjorner's and my proudest joint achievements is rescuing the scientific ideas behind VDM first with the help of Springer Verlag (LNCS 61) and subsequently revising this for a book in Prentice-Hall's famous red-and-white series.
I moved to IBM's European Systems Research Institute. After this, I found another man who was prepared to back his personal judgement and accept a high school dropout with no qualifications - Tony Hoare got me into Oxford to pursue a belated doctorate.
The Vienna Lab provided a wonderful environment. Above all, the colleagues were superb (I dare not attempt to list them all for fear that I forget someone). Sadly, too many of them have "shuffeld off this mortal coil" far too early. The loss of Hans Bekic hit me soon after taking up my first chair at Manchester - again Springer helped record some of what might have otherwise been lost (LNCS 177).
PS: It might interest some readers that I have recently been working with a PhD student (Troy Astarte) on the history of Formal Semantics - one output of this effort is a comparison of four formal descriptions of ALGOL 60. See An Exegesis of Four Formal Descriptions of ALGOL 60.#