Specification of distributed programs
This paper describes a technique for program development by refinement using complementary implicit and functional specifications. The approach can be used to specify programs expressed as networks of communicating processes. A typed functional notation is introduced for that purpose and its use illustrated in the specification of a kwic-index generation program.
General properties of a program can be established by proving theorems about the functional specification. Consequently proof techniques can be used at each stage of the development process. Proofs about the final implementation only need to establish that it meets its functional specification.
Unable to display preview. Download preview PDF.
- 2.BOYER, R. S. and MOORE, J. S. A Computational Logic, Academic Press, Inc. (London) Ltd., 1979.Google Scholar
- 3.BURSTALL, R. M. Proving Properties of Programs by Structural Induction Computer Journal, 12(1) 41–48, February 1969.Google Scholar
- 4.COLEMAN, D and GALLIMORE, R. Partial Correctness of Distributed Programs, these Proceedings.Google Scholar
- 5.CORRELL, C. H. Proving Programs Correct through Refinement, Acta Informatica, 9, 121–139 (1978).Google Scholar
- 6.de BAKKER, J. Mathematical Theory of Program Correctness, Prentice-Hall International, Inc., London 1981.Google Scholar
- 7.FLOYD, R. W. Assigning Meanings to Programs. AMS 19, 19–32 (1967).Google Scholar
- 10.JONES, C. B. Software Development: A Rigorous Approach, Prentice Hall International, Inc., London 1980.Google Scholar
- 11.KAHN, G. and MacQUEEN, D. B. Coroutines and Networks of Parallel Processes, Proc. IFIP Congress, 1977, North-Holland, Amsterdam 1977, pp 993–998.Google Scholar
- 12.LEVIN, G. M. and GRIES, D. A Proof Technique for Communicating Sequential Processes, Acta Informatica 15, 281–302 (1981).Google Scholar
- 13.GORDON, M. J., MILNER, A. J. and WADSWORTH, C. P. Edinburgh LCF, Lecture Notes in Computer Science 78, Springer-Verlag, Berlin 1979.Google Scholar
- 14.OWICKI, S. S., and GRIES, D. Verifying Properties of Parallel Programs: An Axiomatic Approach, Communications of the ACM 19, 5 (May 1976), 279–285.Google Scholar
- 15.SCOTT, D. S. and STRACHEY, C. Towards a Mathematical Semantic for Computer Languages, in Proc. Symp. Computers and Automata (J. Fox ed) pp 19–46, Polytechnic Institute of Brooklyn Press 1971.Google Scholar
- 16.GALLIMORE, R.M. and COLEMAN, D. Specification of a KWIC Index Generator, These proceedings.Google Scholar