Abstract
One of the most popular programming paradigms today is that of object-oriented programming. With the growing popularity of the language C++ and the advent of Java as the language of choice for the World Wide Web, object-oriented programs have taken center stage. Consequently, the past decade has seen an exponentially increasing interest within the programming language research community for providing a firm semantic basis for object-oriented constructs.
Recently, there has been growing interest in studying the behavioral properties of object-oriented programs using concepts and ideas from the world of concurrent process calculi, in particular calculi with some notion of mobility. Not only do such calculi, as the well-known π-calculus by Milner, Parrow and Walker [26], have features like references and scoping in common with objectoriented languages; they also provide one with a rich vocabulary of reasoning techniques firmly grounded in structural operational semantics and static typing.
The process calculus view has therefore proven to be advantageous in many ways for semantics and verification issues. On the one hand, the use of encodings of object-oriented languages into existing typed mobile process calculi enables formal reasoning about the correctness of programs; on the other hand, using standard techniques from concurrency theory in the setting of calculi for objects may help in reasoning about objects, e.g. by finding appropriate and mathematically tractable notions of behavioral equivalences. Encodings may also help clarify the overlap and differences of objects and processes, and suggest how to integrate them best in languages with both.
The aim of the SOAP workshops is to bring together researchers working mainly in this area, but in related fields as well, where other process models or calculi are used as a basis for the semantics of objects.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Martín Abadi and Luca Cardelli. A Theory of Objects. Monographs in Computer Science. Springer-Verlag, 1996.
Samson Abramsky. The lazy lambda-calculus. In Research Topics in Functional Programming, pages 65–117. Addison Wesley, 1990.
Pierre America. Issues in the design of a parallel object-oriented language. Formal Aspects of Computing, 1(4):366–411, 1989.
Jos Baeten and Peter Weijland. Process Algebra, volume 18 of Cambridge Tracts in Computer Science. Cambridge University Press, 1990.
Gérard Boudol. Typing the use of resources in a concurrent calculus. In Asian Computing Science Conference, volume 1345 of lncs, pages 239–253. sv, 1997.
Gérard Boudol. the π-calculus in direct style. Higher-Order and Symbolic Computation, 11:177–208, 1998. Previously published in the Proceedings of POPL’ 97, pages 228-241.
Ed Brinksma, Giuseppe Scollo, and Chris Steenbergen. LOTOS specifications, their implementations and their tests. Protocol Specification, Testing and Verification VI, (IFIP), pages 349–360, 1987.
Jean-Louis Colaço, Mark Pantel, and Patrick Sallé. CAP: an actor dedicated process calculus. In Workshop Reader of the 10th European Conference on Object-Oriented Programming (ECOOP’96). Dpunkt Verlag, 1996.
Jean-Louis Colaço, Mark Pantel, and Patrick Sallé. A set constraint-based analyses of actors. In 2nd IFIP Workshop on Formal Methods for Open Object-based Distributed Systems (FMOODS’97). Chapman & Hall, 1997.
Jean-Louis Colaço, Mark Pantel, and Patrick Sallé. From set-based to multisetbased analysis: a practical approach. In 4th Workshop on Set Constraints and Constraint-based Program Analysis, 1998. Satellite event of the 4th International Conference on Principles and Practice of Constraint Programming (CP’98).
Jean-Louis Colaço, Mark Pantel, Fabien Dagnat, and P. Sallé. Static safety analyses for non-uniform service availability in actors. In 4th IFIP Workshop on Formal Methods for Open Object-based Distributed Systems (FMOODS’99). Kluwer, 1999.
Laurent Dami. Labelled reductions, runtime errors and operational subsumption. In 24th International Colloquium on Automata, Languages and Programming (ICALP’97), volume 1256 of Lecture Notes in Computer Science, pages 782–793. Springer-Verlag, 1997.
Paolo Di Blasio and Kathleen Fisher. A concurrent object calculus. In Ugo Montanari and Vladimiro Sassone, editors, Proceedings of CONCUR’ 96, volume 1119 of Lecture Notes in Computer Science, pages 655–670. Springer-Verlag, 1996. An extended version appeared as Stanford University Technical Note STAN-CSTN-96-36, 1996.
Andrew D. Gordon and Paul D. Hankin. A concurrent object calculus: Reduction and typing. In Uwe Nestmann and Benjamin C. Pierce, editors, Proceedings of HLCL’ 98, volume 16.3 of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, 1998.
Charles A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.
Kohei Honda and Mario Tokoro. An object calculus for asynchronous communication. In Pièrre America, editor, Proceedings of ECOOP’ 91, volume 512 of Lecture Notes in Computer Science, pages 133–147. Springer-Verlag, July 1991.
Hans Hüttel and Josva Kleist. Objects as mobile processes. Research Series RS-96-38, BRICS, October 1996. Presented at MFPS’ 96.
Hans Hüttel, Josva Kleist, Massimo Merro, and Uwe Nestmann. Migration =cloning; aliasing (preliminary version). In Informal Proceedings of the Sixth International Workshop on Foundations of Object-Oriented Languages (FOOL 6, San Antonio, Texas, USA). Sponsored by ACM/SIGPLAN, 1999.
Cliff Jones. Constraining interference in an object-based design method. In Marie-Claude Gaudel and Jean-Pierre Jouannaud, editors, Proceedings of TAPSOFT’ 93, volume 668 of Lecture Notes in Computer Science, pages 136–150. Springer-Verlag, 1993.
Cliff Jones. Accomodating Interference in the Formal Design of Concurrent Object-Based Programs. Formal Methods in System Design, 8(2):105–122, 1996. To appear.
Josva Kleist and Davide Sangiorgi. Imperative objects and mobile processes. In David Gries and Willem-Paul de Roever, editors, Proceedings of PROCOMET’ 98, pages 285–303. International Federation for Information Processing (IFIP), Chapman & Hall, 1998.
Xinxin Liu and David Walker. Confluence of processes and systems of objects. In Peter D. Mosses, Mogens Nielsen, and Michael I. Schwarzbach, editors, Proceedings of TAPSOFT’ 95, volume 915 of Lecture Notes in Computer Science, pages 217–231. Springer-Verlag, 1995. Presented in the CAAP-section. Available as University of Warwick Research Report CS-RR-272, October 1994.
Xinxin Liu and David Walker. Partial confluence of processes and systems of objects. Theoretical Computer Science, 1998.
Xinxin Liu and David Walker. Concurrent objects as mobile processes. In Plotkin et al. [37]. To appear.
Robin Milner. A Calculus of Communicating Systems. Springer-Verlag, 1980. LNCS 92.
Robin Milner, Joachim Parrow, and David Walker. A calculus of mobile processes, part I/II. Information and Computation, 100:1–77, September 1992.
Elie Najm, Abdelkrim Nimour, and Jean-Bernard Stefani. A calculus of object bindings. In 2nd IFIP Workshop on Formal Methods for Open Object-based Distributed Systems (FMOODS’97). Chapman & Hall, 1997.
Elie Najm, Abdelkrim Nimour, and Jean-Bernard Stefani. Guaranteeing liveness in an object calculus through behavioral typing. In IFIP Joint International Conference Formal Description Techniques For Distributed Systems and Communication Protocols & Protocol Specification, Testing, and Verification (FORTE/PSTV’99). Kluwer, 1999.
Elie Najm, Abdelkrim Nimour, and Jean-Bernard Stefani. Infinite types for distributed objects interfaces. In 4th IFIP Workshop on Formal Methods for Open Object-based Distributed Systems (FMOODS’99). Kluwer, 1999.
O. Nierstrasz. Regular types for active objects. In Object-Oriented Software Composition, pages 99–121. Prentice Hall, 1995.
Oscar Nierstrasz. Towards an object calculus. In M[ario] Tokoro, O[scar] Nierstrasz, and P[eter] Wegner, editors, Object-Based Concurrent Computing 1991, volume 612 of Lecture Notes in Computer Science, pages 1–20. Springer-Verlag, 1992.
Anna Philippou. Reasoning about Systems with Evolving Structure. PhD thesis, University of Warwick, December 1996.
Anna Philippou and David Walker. On confluence in the π-calculus. In Pierpaolo Degano, Roberto Gorrieri, and Alberto Marchetti-Spaccamela, editors, Proceedings of ICALP’ 97, volume 1256 of Lecture Notes in Computer Science, pages 314–324. Springer-Verlag, 1997.
Anna Philippou and David Walker. On transformations of concurrent object programs. Theoretical Computer Science, 195(2):259–289, 1998. An extended abstract appeared in Proceedings of CONCUR’ 96, LNCS 1119: 121-146.
Benjamin C. Pierce. Fränkische OOrientierungstage 1993 (Rothenbühl, Fränkische Schweiz, Germany). Tutorial on programming in the π-calculus, 1993.
Benjamin C. Pierce and David N. Turner. Pict: A programming language based on the pi-calculus. In Plotkin et al. [37]. To appear.
Gordon Plotkin, Colin Stirling, and Mads Tofte, editors. Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 1999. To appear.
Franz Puntigam. Types for active objects based on trace semantics. In 1st IFIP Workshop on Formal Methods for Open Object-based Distributed Systems (FMOODS’96), pages 5–20. Chapman & Hall, 1996.
Franz Puntigam. Coordination requirements expressed in types for active objects. In 11th European Conference on Object-Oriented Programming (ECOOP’97), number 1241 in lncs, pages 367–388. sv, 1997.
Franz Puntigam. Coordination requirements expressed in types for active objects. In 4th International Euro-Par Conference, number 1470 in lncs, pages 720–727. sv, 1998.
Franz Puntigam. Non-regular process types. In 5th International Euro-Par Conference, number 1685 in lncs, pages 1334–1343. sv, 1999.
António Ravara and Luís Lopes. Programming and implementation issues in nonunifom TyCO. Technical report, Department of Computer Science, Faculty of Sciences, University of Porto, 4150 Porto, Portugal, 1999. Presented at the Workshop on Object-Oriented Specification Techniques for Distributed Systems and Behaviours (OOSDS’99). Satellite event of the 1st Conference on Principles, Logics and Implementations of high-level programming languages (PLI’99). Web page: http://www.tec.informatik.uni-rostock.de/IuK/congr/oosds99/program.htm.
António Ravara, Pedro Resende, and Vasco T. Vasconcelos. An algebra of behavioural types. Technical report, Section of Computer Science, Department of Mathematics, Instituto Superior Técnico, 1049-001 Lisboa, Portugal, 1999. Preliminary version presented at the 1st Workshop on Semantics of Objects as Processes (SOAP’98). Satellite event of the 25th International Colloquium on Automata, Languages and Programming (ICALP’98). Web page: http://www.cs.auc.dk/soap99/index98.html.
António Ravara and Vasco T. Vasconcelos. Behavioural types for a calculus of concurrent objects. In 3th International Euro-Par Conference, number 1300 in lncs, pages 554–561. sv, 1997. Full version available as DM-IST Research Report 06/97.
Davide Sangiorgi. An interpretation of typed objects into typed π-calculus. Information and Computation, 143(1):34–73, 1998. Earlier version published as Rapport de Recherche RR-3000, INRIA Sophia-Antipolis, August 1996.
Frits Vaandrager. Process algebra semantics for POOL. Report CS-R862, Centre for Mathematics and Computer Science, Amsterdam, August 1986.
Vasco T. Vasconcelos. A process-calculus approach to typed concurrent objects. PhD thesis, Keio University, 1994.
Vasco T. Vasconcelos and Mario Tokoro. A typing system for a calculus of objects. In 1st International Symposium on Object Technologies for Advanced Software, volume 742 of lncs, pages 460–474. sv, 1993.
David Walker. Objects in the π-calculus. Information and Computation, 116(2):253–271, 1995.
Peter Wegner and Stanley B. Zdonik. Inheritance as an incremental modification mechanism or what like is and isn’t like. In 2nd European Conference on Object-Oriented Programming (ECOOP’88), number 322 in lncs, pages 55–77. sv, 1988.
Xiaogang Zhang and John Potter. Class-based models in the pi-calculus. In Christine Mingins, Roger Duke, and Bertrand Meyer, editors, Proceeding of The 25th International Conference in Technology of Object-Oriented Languages and Systems (TOOLS Pacific’ 97, Melbourne, Australia), pages 219–231, November 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nestmann, U., Ravara, A. (1999). Semantics of Objects As Processes (SOAP). In: Moreira, A. (eds) Object-Oriented Technology ECOOP’99 Workshop Reader. ECOOP 1999. Lecture Notes in Computer Science, vol 1743. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46589-8_18
Download citation
DOI: https://doi.org/10.1007/3-540-46589-8_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66954-8
Online ISBN: 978-3-540-46589-8
eBook Packages: Springer Book Archive