Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Process algebra with guards: Combining Hoare logic with process algebra

Published: 01 March 1994 Publication History

Abstract

We extend process algebra with guards, comparable to the guards in guarded commands or conditions in common programming constructs such as ‘if — then — else — fi’ and ‘while — do — od’.
The extended language is provided with an operational semantics based on transitions between pairs of a process and a (data-)state. The data-states are given by a data environment that also defines in which data-states guards hold and how atomic actions (non-deterministically) transform these states. The operational semantics is studied modulo strong bisimulation equivalence. For basic process algebra (without operators for parallelism) we present a small axiom system that is complete with respect to a general class of data environments. Given a particular data environmentL we add three axioms to this system, which is then again complete, provided weakest preconditions are expressible andL is sufficiently deterministic.
Then we study process algebra with parallelism and guards. A two phase-calculus is provided that makes it possible to prove identities between parallel processes. Also this calculus is complete. In the last section we show that partial correctness formulas can easily be expressed in this setting. We use process algebra with guards to prove the soundness of a Hoare logic for linear processes by translating proofs in Hoare logic into proofs in process algebra.

References

References

[1]
Austry D. and Boudol G. Algèbre de processus et synchronisations Theoretical Computer Science 1984 30 1 91-131
[2]
Apt K.R. Ten years of Hoare's logic: a survey — Part I ACM Transactions on Programming Languages and Systems 1981 3 4 431-483
[3]
Apt K.R. Ten years of Hoare's logic: a survey — Part II; Nondeterminism Theoretical Computer Science 1984 28 83-109
[4]
de Bakker, J.W.:Mathematical theory of program correctness. Prentice Hall International, 1980.
[5]
Baeten J.C.M. and Bergstra J.A. Global renaming operators in concrete process algebra Information and Computation 1988 78 3 205-245
[6]
Baeten, J.C.M. and Bergstra, J.A.: Process algebra with signals and conditions. In M. Broy, editor,Programming and Mathematical Methods, Proceedings Summer School Marktoberdorf 1991, NATO ASI Series F88, pages 273–323, Springer-Verlag, 1991.
[7]
Baeten, J.C.M. and van Glabbeek, R.J.: Merge and termination in process algebra. In K.V. Nori, editor,Proceedings 7thConference on Foundations of Software Technology and Theoretical Computer Science, Pune, India, volume 287 ofLecture Notes in Computer Science, pages 153–172. Springer-Verlag, 1987.
[8]
Bergstra, J.A. and Klop, J.W.: The algebra of recursively defined processes and the algebra of regular processes. In J. Paredaens, editor,Proceedings 11thICALP, Antwerp, volume 172 ofLecture Notes in Computer Science, pages 82–95. Springer-Verlag, 1984.
[9]
Bergstra J.A. and Klop J.W. Process algebra for synchronous communication Information and Computation 1984 60 1/3 109-137
[10]
Bergstra, J.A. and Klop, J.W.: Verification of an alternating bit protocol by means of process algebra. In W. Bibel and K.P. Jantke, editors,Math. Methods of Spec. and Synthesis of Software Systems '85, Math. Research 31, pages 9–23, Berlin, 1986. Akademie-Verlag. First appeared as: Report CS-R8404, CWI, Amsterdam, 1984.
[11]
Bergstra, J.A. Klop, J.W. and Tucker, J.V.: Process algebra with asynchronous communication mechanisms. In S.D. Brookes, A.W. Roscoe, and G. Winskel, editors,Seminar on Concurrency, volume 197 ofLecture Notes in Computer Science, pages 76–95. Springer-Verlag, 1985.
[12]
Baeten, J.C.M. and Weijland, W.P.:Process algebra. Cambridge Tracts in Theoretical Computer Science 18. Cambridge University Press, 1990.
[13]
van Dalen, D.:Logic and Structure. Springer-Verlag, 1983.
[14]
Dijkstra E.W. A Discipline of Programming 1976 Englewood Cliffs Prentice Hall International
[15]
van Glabbeek, R.J.: The linear time — branching time spectrum. In J.C.M. Baeten and J.W. Klop, editors,Proceedings CONCUR 90, Amsterdam, volume 458 ofLecture Notes in Computer Science, pages 278–297. Springer-Verlag, 1990.
[16]
van Glabbeek, R.J.: The linear time — branching time spectrum II (the semantics of sequential systems with silent moves). In E. Best, editor,Proceedings CONCUR 93, Hildesheim,Lecture Notes in Computer Science, Springer-Verlag, to appear.
[17]
van Glabbeek, R.J. and Vaandrager, F.W.: Modular specifications in process algebra — with curious queues (extended abstract). In M. Wirsing and J.A. Bergstra, editors,Algebraic Methods: Theory, Tools and Applications, Workshop Passau 1987, volume 394 ofLecture Notes in Computer Science, pages 465–506. Springer-Verlag, 1989.
[18]
Hennessy M. A proof system for communicating processes with value-passing Formal Aspects of Computing 1991 3 346-366
[19]
Hoare C.A.R., Hayes I.J., Jifeng He., Morgan C.C., Roscoe A.W., Sanders J.W., Sorensen I.H., Spivey J.M., and Sufrin B.A. Laws of programming Communications of the ACM 1987 30 8 672-686
[20]
Hoare, C.A.R.: An axiomatic basis for computer programming.Communications of the ACM, 12(10), October 1969.
[21]
Hoare, C.A.R.:Communicating Sequential Processes. Prentice Hall International, 1985.
[22]
Hopcroft, J.E. and Ullman, J.D.:Introduction to Automata Theory, Languages and Computation. Addison-Wesley, 1979.
[23]
ISO.Information processing systems — open systems interconnection — LOTOS — a formal description technique based on the temporal ordering of observational behaviour, 1987. ISO/TC97/SC21/N DIS8807.
[24]
Lamport L. The ‘Hoare logic’ of concurrent programs Acta Informatica 1980 14 21-37
[25]
Manes, E.G. and Arbib, M.A.:Algebraic Approaches to Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, 1986.
[26]
Manna, Z.:Mathematical Theory of Computation. McGraw-Hill Book Co., 1974.
[27]
Milner, R.:A Calculus of Communicating Systems, volume 92 ofLecture Notes in Computer Science. Springer-Verlag, 1980.
[28]
Milner, R.:Communication and concurrency. Prentice Hall International, 1989.
[29]
Owicki, S. and Gries, D.: An axiomatic proof technique for parallel programs.Acta Informatica, pages 319–340, 1976.
[30]
Park, D.M.R.: Concurrency and automata on infinite sequences. In P. Deussen, editor, 5thGI Conference, volume 104 ofLecture Notes in Computer Science, pages 167–183. Springer-Verlag, 1981.
[31]
Plotkin, G.D.: A structural approach to operational semantics. Report DAIMI FN-19, Computer Science Department, Aarhus University, 1981.
[32]
Ponse A. Process expressions and Hoare's logic Information and Computation 1991 95 2 192-217
[33]
Sioson F.M. Equational bases of Boolean algebras Journal of Symbolic Logic 1964 29 3 115-124
[34]
SPECS-Semantics and Analysis.Definition of MR and CRL Version 2.1. Specification and Programming Environment for Communicating Software (SPECS), RACE Ref: 1046, Report 46/SPE/WP5/DS/A/017/b1, December 1990.
[35]
Stirling C. A generalization of Owicki-Gries's Hoare logic for a concurrent whilelanguage Theoretical Computer Science 1988 58 34-359
[36]
Vaandrager, F.W.: Specificatie en verificatie van communicatieprotocollen met procesalgebra. Dept. of Computer Science, University of Amsterdam, 1989. Lecture notes, in Dutch.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Formal Aspects of Computing
Formal Aspects of Computing  Volume 6, Issue 2
Mar 1994
134 pages
ISSN:0934-5043
EISSN:1433-299X
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 March 1994
Accepted: 15 December 1992
Received: 15 October 1991
Published in FAC Volume 6, Issue 2

Author Tags

  1. Process Algebra
  2. Hoare Logic
  3. Guards
  4. Structural/ed Operational Semantics
  5. Bisimulation
  6. Completeness
  7. Partial Correctness
  8. Conditionals

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)30
  • Downloads (Last 6 weeks)4
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media