The Wayback Machine - https://web.archive.org/web/20081202044350/http://web2.comlab.ox.ac.uk:80/oucl/about/qata92.html
OXFORD UNIVERSITY COMPUTING LABORATORY

The Queen's Award for Technological Achievement 1992

Her Majesty the Queen has been graciously pleased to approve the Prime Minister's recommendation that The Queen's Award for Technological Achievement should be conferred this year upon Oxford University Computing Laboratory.

Oxford University Computing Laboratory gains the Award jointly with IBM United Kingdom Laboratories Limited for the development of a programming method based on elementary set theory and logic known as the Z notation, and its application in the IBM Customer Information Control System (CICS) product.

The use of Z reduced development costs significantly and improved reliability and quality. Precision is achieved by basing the notation on mathematics, abstraction through data refinement, re-use through modularity and accuracy through the techniques of proof and derivation.

CICS is used worldwide by banks, insurance companies, finance houses and airlines etc. who rely on the integrity of the system for their day-to-day business.


This award was made jointly to OUCL and IBM, for their collaboration in the use of formal methods -- "notations, theories, and processes", and specifically the use of the Z notation -- in the production of transaction processing software -- and specifically the Customer Information Control System (CICS) products in IBM's Enterprise Systems Architecture (ESA) environment.

For a decade, Oxford University Computing Laboratory and IBM UK Laboratories, Hursley Park, had been collaborating closely on the development of modern software engineering techniques, and their use in industrial practice. OUCL had been offering advice on mathematical techniques relevant to IBM's work, and helping IBM to apply them.

Central to this collaboration has been the use of Z: in essence elementary set theory and logic, engineered into a notation suitable for the specification, development and documentation of software systems; together with techniques and styles of use. The aim of applying this "ruggedised" mathematics to the development of computer programs is to reduce the costs and risks of the process of development, and to improve the quality of the product -- which itself reduces the costs of subsequent maintenance.

Before the collaboration which this award recognises, the use of Z had been confined mainly to small exercises, and largely within Oxford. The collaboration began tentatively, with small experiments to see whether Z really could be used in an industrial environment. Case studies which came from these experiments have proved useful foundations for subsequent work, but the most useful outcome was a significant transfer of culture -- in both directions -- between the academics and the practitioners.

It was then decided to use Z to develop the next release of a transaction processing system, CICS/ESA_V3.1, and to this end Z was integrated into IBM's existing and well-established development process. This demonstrated that it was possible to manage a large and important software development using mathematics.

Many measurements of the process of developing CICS/ESA_V3.1 were conducted by IBM, and they estimated that over all the other benefits of the experiment they were able to reduce their costs for the development by almost five and a half million dollars. Early results from customers indicate significantly fewer problems, and those that have been detected are less severe than would be expected otherwise.

The mingling of cultures has been of substantial benefit both to Oxford and to IBM. A choice example is the resolution of a problem in describing the correctness of a data-refinement step. One of the CICS designers knew that the step was valid, but the theory of refinements was unable formally to justify it. Research into this problem gave rise both to a new theory (complete in the technical sense), and a (complete in the usual sense) formal justification of the actual refinement.

The industry in general has benefited from IBM's support and encouragement for the standardisation of Z. The syntax and semantics in the standard are both closely based on work funded by IBM. Throughout the project there has been a policy of open publication, both of techniques and results, to an extent which has been unusual for IBM in projects of this kind. This openness has contributed not a little to the acceptance of formal methods in other parts of the industry (and in particular to the spread of Z).

It is pleasing to be able to acknowledge that IBM's contribution to this work included not only their own staff's time and financial support of staff at the laboratory, but also the bravery to commit to an experiment involving a substantial product development, and the persistence to see it through. There has been a good understanding at all levels of management in IBM of what formal methods can and cannot do: this has enabled them to direct the Laboratory's research at the most pressing problems.

Education has been an important part in this work: OUCL has taught these methods both to the students on its MSc in Computation course, and on external courses to commercial organisations, including of course IBM. (Courses in Z and its use are now also given by other organisations.) IBM has developed its own courses in consultation with Oxford, and this transfer of technology is as much a benefit of the collaboration as are the others, and is a welcome indicator that IBM had accepted that it had a stake in the methods. Students from IBM have been amongst the first to undertake the part-time Postgraduate Diploma and MSc in Software Engineering.

Selected bibliography

This work has been well-documented in the scientific literature, and there is a substantial and flourishing bibliography. These are a few of the documents relevant to this project:

S M Brien,
Z Base Standard - Version 0.5,
Oxford University Computing Laboratory, ZIP/PRG/91/43, 1991.
B P Collins, J E Nicholls, I H Sørensen,
Introducing Formal Methods: the CICS Experience with Z,
Technical Report TR12.260, IBM Hursley Park, December 1987.
B P Collins, C J Nix,
The use of software engineering, including the Z notation, in the development of CICS,
Quality Assurance. 14(2):103-110, September 1988.
P H B Gardiner, P J Lupton, J C P Woodcock,
A simpler semantics for Z,
in Z User Workshop, Oxford 1990, Springer Workshops in Computing, 1991.
I J Hayes (ed.),
Specification Case Studies,
Prentice Hall, 1987.
P Johnson,
Experience of formal development in CICS,
in J McDermid (ed) The Theory and Practice of Refinement, Butterworths, 1989.
S King,
Z and the Refinement Calculus,
PRG Technical Monograph PRG-79, Oxford University Computing Laboratory, 1990.
S King,
The use of Z at IBM Hursley: experience and results,
Oxford University Computing Laboratory, 1991.
S King, I H Sørensen, J C P Woodcock,
Z: grammar and abstract and concrete syntaxes,
PRG Technical Monograph PRG-68, Oxford University Computing Laboratory, 1987.
P J Lupton,
Promoting forward simulation,
Z User Workshop, Oxford 1990, Springer Workshops in Computing, 1991.
M A McMorran, J E Nicholls,
Z User Manual,
Technical Report TR12.274, IBM Hursley Park.
J C P Woodcock,
Mathematics as a management tool: proof rules for promotion,
in B A Kitchenham (ed) Software Engineering for large software systems, Elsevier, 1990.
J C P Woodcock,
Calculating properties of Z specifications,
ACM Software Engineering Notes, 14(5):43-54, 1989.
J B Wordsworth,
Formal methods in the development of CICS,
BCS Computer Bulletin, December 1987.
J B Wordsworth,
Program construction from a formal specification,
The Theory and Practice of Refinement, Butterworths, 1989.

[Oxford Spires]



Oxford University Computing Laboratory Courses Research People About us News