Lecture Notes in 1212 Edited by G. Goos, J. Hartmanis and J. van Leeuwen

Advisory Board: W. Brauer D. Gries J. Stoer Jonathan P. Bowen Michael G. Hinchey David Till (Eds.)

ZUM '97: The Z Notation

10th International Conference of Z Users Reading, UK, April 3-4, 1997 Proceedings

~ Springer Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Cornell University, NY, USA Jan van Leeuwen, Utrecht University, The Netherlands

Volume Editors Jonathan P. Bowen The , Department of Computer Science Whiteknights, PO Box 225, Reading, Berks RG6 6AY, UK E-mail: [email protected]

Michael G. Hinchey New Jersey Institute of Technology, Real-Time Computing Laboratory University Heights, Newark NJ 07102, USA and University of Limerick, Dept. of Computer Science and Information Systems National Technological Park, Castletroy, Limerick, Ireland E-mail: [email protected]

David Till City University, Department of Computer Science Northampton Square, London EC1V 0HB, UK E-mail: till @soi.city.ac.uk

Cataloging-in-Publication data applied for Die Deutsche Bibliothek - CIP-Einheitsaufnahme The Z formal specification notation : proceedings / ZUM '97, 10th International Conference of Z Users, Reading, UK, April 3 - 4, 1997. Jonathan P. Bowen ... (ed.). - Berlin ; Heidelberg ; New York ; Barcelona ; Budapest ; Hong Kong ; London ; Milan ; Paris ; Santa Clara ; Singapore ; Tokyo : Springer, 1997 (Lecture notes in computer science ; Vol. 1212) ISBN 3-540-62717-0 NE: Bowen, Jonathan P. [Hrsg.]; ZUM <10. 1997, Reading>; GT CR Subject Classification (1991): D.2, 1.1.3,F.3.1, D.1, G.2, E4.1 ISSN 0302-9743 ISBN 3-540-62717-0 Springer-Verlag Berlin Heidelberg New York

This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law. © Springer-Verlag Berlin Heidelberg 1997 Printed in Germany Typesetting: Camera-ready by author SPIN 10549454 06/3142 - 5 4 3 2 1 0 Printed on acid-free paper Preface

This Z User Meeting (ZUM), was the tenth in the series originally started by Ib S~rensen in December 1986 at , under the auspices of the Oxford University Computing Laboratory. The first five meetings were all held in Oxford, initially at the Department of External Studies in Rewley House, and the last at one of the colleges, Lady Margaret Hall. There is no written record ofthe first meeting, but an informal proceedings was pro- duced by for the second and third meetings, still available on-line for those interested in the historical development of Z! In 1989 the first formal proceedings were edited by John Nicholls and published in the Spring-Verlag Workshops in Com- puting series. John helped develop and maintain the momentum of the Z User Meetings throughout their early years. In 1991, the first ZUM outside Oxford was held at the University of York, another centre of research in including the . The following year, the first meeting outside the realms of academe was held at the offices of the UK govern- ment Department of Trade and Industry (DTI) in London. This was particularly apt since the results of a DTI-funded initiative on Z, the ZIP project, were presented, and all the invited speakers were from industry. The meeting also saw the formal launch of the (ZUG), whose main function is to organize the Z User Meetings, and facil- itate interaction between users of Z. 1994 saw the largest Z User Meeting ever with around 140 delegates, perhaps en- couraged by the elegant surroundings of St. John's College, Cambridge and the change of timing from December to the summer. Subsequently ZUM has been held at approx- imately 18 month intervals, partly to avoid clashing with the Formal Methods Europe symposium which also runs to an 18 month cycle. The first meeting outside the United Kingdomwas held at Limerick in Ireland, with a change of name to the International Conference ofZ Users and a change of series for the proceedings to the well-regarded Lecture Notes in Computer Science, again published by Springer-Verlag. The meeting recorded in this volume was held back in the UK, at the University of Reading, and we intend to hold ZUM alternatively inside and outside the UK in the future. Our invited speakers for ZUM'97 were drawn from Italy, the UK, and the USA. Prof. Egon B6rger of the University of Pisa is a recognized European expert On formal meth- ods. Dr. Anthony Hall is well-known in Z circles as an industrial user of Z and other formal methods, working for Praxis plc, a company in Bath, UK, which applies formal methods widely, especially for the development ofsafety-critical systems. Dr. Constance Heitmeyer of the US Naval Research Laboratories comes from outside the Z community, but is widely respected for her work in the application of formal techniques to real-time systems. Tool demonstrations were organized by Ali Abdallah (University of Reading,UK) throughout the main meeting. The conference also saw the launch of a new International Series in Formal Methods published by Academic Press. As is traditional with ZUM, vI there were a number of associated activities both before and after the main meeting. Tu- torials were held immediately beforehand, organized by Sam Valentine of the University of York. On the day after the conference, the third in a successful series of informal Ed- ucational Issues Sessions was held, again organized by their original initiator, Neville Dean of Anglia Polytechnic University. ZUM'97 was supported by a number of companies and organizations. Praxis con- tinue to give valuable support in the running of the Z mailing list, which lightens the administrative burden on the Z User Group considerably. This year, IBM United King- dom Laboratories provided generous support for expenses of invited speakers, student bursaries, and the best paper prize. FACS, the Formal Aspects of Computer Science spe- cialist group of the (BCS), continue to support ZUG by pro- viding publicity. The University of Reading provided facilities for the conference; in particular, Roy Briggs has offered the use of the Museum of English Rural Life on the campus for a reception. During the week after ZUM'97, the fifth EU ESPRIT ProCoS-WG Working Group Meeting on Provably Correct Systems was held at Reading, enabling group members to attend both events easily if they wished. ProCoS-WG (ESPRIT Working Group 8694) gave financial support to cover secretarial assistance for ZUM which helped greatly with the organization of this conference as well as previous meetings. Christina Simmons, the local organizing secretary in the Department of Computer Science at Reading, pro- vided invaluable support in the administrative planning and smooth running of the con- ference. Joan Arnold, the ProCoS-WG secretary based at the Oxford University Com- puting Laboratory, was an experienced and appreciated helper at many of the Z User Meetings. On-line information concerning the conference is held under the following URL: http://www.cs.reading.ac.uk/zum97/

This will be kept up to date after the conference with any relevant information, and pro- vides links to other on-line resource concerning the Z notation such as previous Z User Meetings, and also formal methods in general. We welcome delegates to the Tenth In- ternational Conference of Z Users, and look forward to developments for the next ten in the series after this milestone point.

Reading, Limerick and London Jonathan Bowen (Conference Chair) January 1997 Mike I-Iinchey and David Till (Programme Co-Chairs) Programme Committee

Ali Abdallah, University of Reading, UK Jonathan Bowen, University of Reading, UK (Conference Chair) Paolo Ciancarini, University of Bologna, Italy Neville Dean, Anglia Polytechnic University, UK Andy Evans, University of Bradford, UK David Garlan, Carnegie Mellon University, USA Martine Guerlus, France Telecom CNET, France Jonathan Hammond, Praxis, UK Howard Haughton, JP Morgan, UK Ian Hayes, University of Queensland, Australia Mike Hinchey, NJIT, USA & Univ. of Limerick, Ireland (ProgrammeCo-Chair) Hans-Martin H6rcher, DST GmbH, Germany Jonathan Jacky, University of Washington, USA Kevin Lano, Imperial College, London, UK Shaoying Liu, Hiroshima City University, Japan Nimal Nissanke, University of Reading, UK Norah Power, University of Limerick, Ireland Chris Sennett, DRA Malvern, UK David Till, City University, UK (Programme Co-Chair) Sam Valentine, University of York, UK Jim Woodcock, Oxford University, UK John Wordsworth, IBM UK Laboratories, UK

External Referees

All submitted papers were reviewed by the programme committee and/or a number of external referees. We are very grateful to these people, and apologize in advance for any names omitted from this list:

Rob Arthan Michael Butler Stelvio Cimato Roger Duke Cecilia Mascolo Paul Mukherjee Larry Paulson Gordon Rose Margaret West VIII

Sponsors

The 10th International Conference of Z Users greatly benefited from the support and financial assistance of the following:

IBM United Kingdom Laboratories Praxis pie ProCoS-WG ESPRIT Working Group University of Reading

Tutorial Programme

Three tutorials were presented on the day prior to the main sessions (2nd April); they were:

How to Read the (draft) Z Standard Stephen Brien, Andrew Martin, and Jim Woodcock

Larch: Theory and Practice John Wordsworth

The Z/EVES System Mark Saaltink Contents

Real-Time Systems Formal Methods: A Panacea or Academic Poppycock? (Invited Paper) C.L. Heitmeyer ...... 3 An Introduction to the Event Calculus W.J. (Bill) Stoddart ...... 10

Tools Experiences with PiZA, an Animator for Z M.A. Hewitt, C.M. O'Halloran and C.T. Sennett ...... 37 Automating Test Case Generation from Z Specifications with Isabelle S. Helke, T. Neustupny and T. Santen ...... 52 The Z/EVES System M. Saaltink ...... 72

Applications I Taking Z Seriously (Invited Paper) J.A. (Anthony) Hall ...... 89 A Formal OO Method Inspired by Fusion and Object-Z K. Achatz and W. Schulte ...... 92

Logic W Reconstructed J. Hall and A. Martin ...... 115 Using the Rippling Heuristic in Set Membership Proofs I. Kraan ...... 135

System Development A Practical Method for Rigorously Controllable Hardware Design (Invited Paper) E. Brrger and S. Mazzanti ...... 151 Integrating VDM++ and Real-Time System Design K. Lano, S. Goldsack, J. Bicarregui andS. Kent ...... 188 x

Reactive Systems An Approach to the Design of Distributed Systems with B AMN M. Butler ...... 223 Specifying Reactive Systems in B AMN K. Lano ...... 242 An Improved Recipe for Specifying Reactive Systems in Z A.S. Evans ...... 275

Applications II A Z Specification of the Soft-Link Hypertext Model M. d'Inverno and M. Hu ...... 297 Experience with Z Developing a Control Program for a Radiation Therapy Machine ,1. Jacky, J. Unger, M. Patrick, D. Reid and R. Risler ...... 317 Preliminary Evaluation of a Formal Approach to User Interface Specification J.C. Knight and S.S. Brilliant ...... 329

Refinement Analyzing and Refining an Architectural Style P. Ciancarini and C. Mascolo ...... 349 Weak Refinement in Z J. Derrick, E. Boiten, H. Bowman and M. Steen ...... 369

Appendices

Select Z Bibliography J.P Bowen ...... 391 Comp.specification.z and Z FORUM Frequently Asked Questions J.P. Bowen ...... 425

Author Index ...... 435