Refinement is the term used to describe systematic and formal methods of specifying hard- and software and transforming the specifications into designs and implementations. The value of formal methods in producing reliable hard- and software is widely appreciated by academics and workers in industry, despite the fact that certain research areas, such as the application to industrial-scale problems, are still in their infancy. This volume contains the papers presented at the 5th Refinement Workshop held in London, 8-10 January 1992. Its theme was the theory and practice of software specifications, which is the transformation of formal software specifications into more correct specifications, designs and codes. This has been an important area of research for the last 5 years and the workshop addressed specific issues and problems related to it. Among the topics discussed in this volume are: the role of refinement in software development, parallel designs and implementations, methods and tools for verification of critical properties, refinement and confidentiality, concurrent processes as objects, the compliance of Ada programs with Z specifications and a tactic driven refinement tool. This is the latest refinement workshop proceedings to be published in the Workshops in Computing series (the 3rd and 4th workshops having appeared in 1990 and 1991 respectively). It will be of interest to academic and industrial researchers, postgraduate students and research-oriented developers in the computer industry.
Opening Address.- Concurrent Processes as Objects (Abstract).- Formalising Dijkstra's Development Strategy within Stark's Formalism.- A Recursion Removal Theorem.- Demonstrating the Compliance of Ada Programs with Z Specifications.- Methods and Tools for the Verification of Critical Properties.- Refinement and Confidentiality.- Software Reification using the SETS Calculus.- Classification of Refinements in VDM.- Constructive Refinement of First Order Specifications.- A Model of the Refinement Process.- A Window Inference Tool for Refinement.- Using Metavariables in Natural Deduction Proofs.- A Tactic Driven Refinement Tool.- Revisiting Abstraction Functions for Reasoning about Concurrency.- A Case Study in Formally Developing State-Based Parallel Programs - the Dutch National Torus.- Proving Total Correctness with Respect to a Fair (Shared-State) Parallel Language.- A Note on Compositional Refinement.- Implementing Promoted Operations in Z.- Author Index.