Abstract
This paper is intended to give an overview of the formal techniques that have been developed to deal with the parallel object-oriented language POOL and several related languages. We sketch a number of semantic descriptions, using several formalism: operational semantics, denotational semantics, and a new approach to semantics, which we call layered semantics. Then we summarize the progress that has been made in formal proof systems to verify the correctness of parallel object-oriented programs. Finally we survey the techniques that we are currently developing to describe the behaviour of objects independently of their implementation, leading to linguistic support for behavioural subtyping.
This paper was written in the context of ESPRIT Basic Research Action 3020: Integration.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Pierre America and Frank de Boer. A proof system for a parallel language with dynamic process creation. ESPRIT Project 415 Document 445, Philips Research Laboratories, Eindhoven, the Netherlands, October 1988. Chapter 2 (pages 121–200) of [Boe91]. A slightly shortened version was published as [AB90].
Pierre America and Frank de Boer. A sound and complete proof system for a sequential version of POOL. ESPRIT Project 415 Document 499, Philips Research Laboratories, Eindhoven, the Netherlands, 1989. Chapter 2 (pages 15–119) of [Boe91].
Pierre America and Frank de Boer. A proof system for process creation. In IFIP TC2 Working Conference on Programming Concepts and Methods, Sea of Galilee, Israel, April 2–5, 1990, pages 303–332.
Pierre America, Jaco de Bakker, Joost N. Kok, and Jan Rutten. Operational semantics of a parallel object-oriented language. In Conference Record of the 13th Symposium on Principles of Programming Languages, St. Petersburg, Florida, January 13–15, 1986, pages 194–208.
Pierre America, Jaco de Bakker, Joost N. Kok, and Jan Rutten. Denotational semantics of a parallel object-oriented language. Information and Computation, 83(2):152–205, November 1989.
Krzysztof R. Apt, Nissim Francez, and Willem Paul de Roever. A proof system for Communicating Sequential Processes. ACM Transactions on Programming Languages and Systems, 2(3):359–385, July 1980.
J. K. Annot and P. A. M. den Haan. POOL and DOOM: The object-oriented approach. In P. C. Treleaven, editor, Parallel Computers: Object-Oriented, Functional, Logic, Wiley, 1990, pages 47–79.
Peter Apers, Bob Hertzberger, Ben Hulshof, Hans Oerlemans, and Martin Kersten. PRISMA, a platform for experiments with parallelism. In Pierre America, editor, Parallel Database Systems: Proceedings of the PRISMA Workshop, Noordwijk, The Netherlands, September 24–26, 1990, Springer Lecture Notes in Computer Science 503, pages 169–180.
Pierre America, Ben Hulshof, Eddy Odijk, Frans Sijstermans, Rob van Twist, and Rogier Wester. Parallel computers for advanced information processing. IEEE Micro, 10(6):12–15, 61–75, December 1990.
Pierre America and Frank van der Linden. A parallel object-oriented language with inheritance and subtyping. In Proceedings of OOPSLA/ECOOP '90, Ottawa, Canada, October 21–25, 1990, pages 161–168.
Pierre America. A proof theory for a sequential version of POOL. ESPRIT Project 415 Document 188, Philips Research Laboratories, Eindhoven, the Netherlands, October 1986.
Pierre America. Inheritance and subtyping in a parallel object-oriented language. In ECOOP '87: European Conference on Object-Oriented Programming, Paris, France, June 15–17, 1987, Springer Lecture Notes in Computer Science 276, pages 234–242.
Pierre America. Definition of POOL2, a parallel object-oriented language. ESPRIT Project 415 Document 364, Philips Research Laboratories, Eindhoven, the Netherlands, April 1988.
Pierre America. A behavioural approach to subtyping in object-oriented programming languages. In M. Lenzerini, D. Nardi, and M. Simi, editors, Workshop on Inheritance Hierarchies in Knowledge Representation and Programming Languages, Viareggio, Italy, February 6–8, 1989, Wiley, 1991, pages 173–190. Also appeared in Philips Journal of Research, Vol. 44, No. 2/3, July 1989, pages 365–383.
Pierre America. Issues in the design of a parallel object-oriented language. Formal Aspects of Computing, 1(4):366–411, 1989.
Krzysztof R. Apt. Ten years of Hoare logic: A survey — part I. ACM Transactions on Programming Languages and Systems, 3(4):431–483, October 1981.
Pierre America and Jan Rutten. Solving reflexive domain equations in a category of complete metric spaces. Journal of Computer and System Sciences, 39(3):343–375, December 1989.
Pierre America and Jan Rutten. A layered semantics for a parallel object-oriented language. In Foundations of Object-Oriented Languages: Proceedings of the REX School/Workshop, Noordwijkerhout, The Netherlands, May 28–June 1, 1990, Springer Lecture Notes in Computer Science 489, pages 91–123. To appear in Formal Aspects of Computing.
J. W. de Bakker, editor. Languages for Parallel Architectures: Design, Semantics, Implementation Models. John Wiley & Sons, 1989.
J.A. Bergstra and J.W. Klop. Process algebra for synchronous communication. Information and Control, 60:109–137, 1984.
J. A. Bergstra and J.W. Klop. Algebra of communicating processes with abstraction. Theoretical Computer Science, 37(1):77–121, May 1985.
Frank S. de Boer. A proof rule for process creation. In Martin Wirsing, editor, Formal Description of Programming Concepts III — Proceedings of the Third IFIP WG 2.2 Working Conference, Gl. Avernæs, Ebberup, Denmark, August 25–28, 1986, North-Holland, pages 23–50.
Frank S. de Boer. A proof system for the language POOL. In Proceedings of the 17th International Colloquium on Automata, Languages, and Programming, Warwick, England, July 16–20, 1990, Springer Lecture Notes in Computer Science 443.
Frank S. de Boer. Reasoning about Dynamically Evolving Process Structures: A Proof Theory for the Parallel Object-Oriented Language POOL. PhD thesis, Free University of Amsterdam, April 15, 1991.
J. W. de Bakker and J. I. Zucker. Processes and the denotational semantics of concurrency. Information and Control, 54:70–120, 1982.
W. Damm and G. Döhmen. The POOL-machine: A top level specification for a distributed object-oriented machine. ESPRIT Project 415 Document 1, Lehrstuhl für Informatik, RWTH Aachen, West Germany, October 3, 1986.
W. Damm, G. Döhmen, and P. den Haan. Using AADL to specify distributed computer architectures: A case study. In J. W. de Bakker, editor, Deliverable 3 of the Working Group on Semantics and Proof Techniques, Chapter 1.4, ESPRIT Project 415, October 1987.
Hans Demmers and Pieter Kleingeld. SPOOL-S: An object-oriented language with behavioural subtyping. Master's thesis, University of Utrecht, Department of Computer Science, Utrecht, the Netherlands, May 1991.
J. Dugundji. Topology. Allyn and Bacon, Boston, Massachusetts, 1966.
Joost Engelfriet, George Leih, and Grzegorz Rozenberg. Net-based description of parallel object-based systems, or POTs and POPs. In Foundations of Object-Oriented Languages: Proceedings of the REX School/Workshop, Noordwijkerhout, The Netherlands, May 28–June 1, 1990, Springer Lecture Notes in Computer Science 489, pages 229–273.
R. Engelking. General Topology, volume 6 of Sigma Series in Pure Mathematics. Heldermann, Berlin, 1989.
John V. Guttag, James J. Horning, and Andrés Modet. Report on the Larch shared language, version 2.3. Report 58, DEC Systems Research Center, Palo Alto California, April 1990.
C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–580,583, October 1969.
C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, August 1978.
Matthew Hennessy and Gordon Plotkin. Full abstraction for a simple parallel programming language. In J. Bečvář, editor, Proceedings of the 8th Symposium on Mathematical Foundations of Computer Science, Springer Lecture Notes in Computer Science 74, 1979, pages 108–120.
Jozef Hooman and Willem-P. de Boever. The quest goes on: A survey of proof systems for partial correctness of CSP. In J. W. de Bakker, W. P. de Roever, and G. Rozenberg, editors, Current Trends in Concurrency, Springer Lecture Notes in Computer Science 224, 1987, pages 343–395.
Gordon D. Plotkin. A powerdomain construction. SIAM Journal on Computing, 5(3):452–487, September 1976.
Gordon D. Plotkin. A structural approach to operational semantics. Report DAIMI FN-19, Aarhus University, Computer Science Department, Aarhus, Denmark, September 1981.
Gordon D. Plotkin. An operational semantics for CSP. In D. Bjørner, editor, Formal Description of Programming Concepts II, North-Holland, 1983, pages 199–223.
Jan Rutten. Semantic correctness for a parallel object-oriented language. SIAM Journal on Computing, 19(3):341–383, 1990.
Michael B. Smyth. Power domains. Journal of Computer and System Sciences, 16:23–36, 1978.
Alan Snyder. Encapsulation and inheritance in object-oriented programming languages. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, Portland, Oregon, September 1986, pages 38–45.
P. C. Treleaven, editor. Parallel Computers: Object-Oriented, Functional, Logic. Wiley, 1990.
Frits W. Vaandrager. Process algebra semantics for POOL. Report CS-R8629, Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, August 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
America, P. (1991). Formal techniques for parallel object-oriented languages. In: Baeten, J.C.M., Groote, J.F. (eds) CONCUR '91. CONCUR 1991. Lecture Notes in Computer Science, vol 527. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54430-5_75
Download citation
DOI: https://doi.org/10.1007/3-540-54430-5_75
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54430-2
Online ISBN: 978-3-540-38357-4
eBook Packages: Springer Book Archive