Skip to main content

Semantics of Objects As Processes (SOAP)

  • Conference paper
  • First Online:
  • 686 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1743))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Martín Abadi and Luca Cardelli. A Theory of Objects. Monographs in Computer Science. Springer-Verlag, 1996.

    Google Scholar 

  2. Samson Abramsky. The lazy lambda-calculus. In Research Topics in Functional Programming, pages 65–117. Addison Wesley, 1990.

    Google Scholar 

  3. Pierre America. Issues in the design of a parallel object-oriented language. Formal Aspects of Computing, 1(4):366–411, 1989.

    Article  Google Scholar 

  4. Jos Baeten and Peter Weijland. Process Algebra, volume 18 of Cambridge Tracts in Computer Science. Cambridge University Press, 1990.

    Google Scholar 

  5. 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.

    Chapter  Google Scholar 

  6. 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.

    Article  MATH  Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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).

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. Charles A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  16. 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.

    Google Scholar 

  17. Hans Hüttel and Josva Kleist. Objects as mobile processes. Research Series RS-96-38, BRICS, October 1996. Presented at MFPS’ 96.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Article  Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. Xinxin Liu and David Walker. Partial confluence of processes and systems of objects. Theoretical Computer Science, 1998.

    Google Scholar 

  24. Xinxin Liu and David Walker. Concurrent objects as mobile processes. In Plotkin et al. [37]. To appear.

    Google Scholar 

  25. Robin Milner. A Calculus of Communicating Systems. Springer-Verlag, 1980. LNCS 92.

    MATH  Google Scholar 

  26. Robin Milner, Joachim Parrow, and David Walker. A calculus of mobile processes, part I/II. Information and Computation, 100:1–77, September 1992.

    Article  MATH  MathSciNet  Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. O. Nierstrasz. Regular types for active objects. In Object-Oriented Software Composition, pages 99–121. Prentice Hall, 1995.

    Google Scholar 

  31. 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.

    Google Scholar 

  32. Anna Philippou. Reasoning about Systems with Evolving Structure. PhD thesis, University of Warwick, December 1996.

    Google Scholar 

  33. 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.

    Google Scholar 

  34. 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.

    Google Scholar 

  35. Benjamin C. Pierce. Fränkische OOrientierungstage 1993 (Rothenbühl, Fränkische Schweiz, Germany). Tutorial on programming in the π-calculus, 1993.

    Google Scholar 

  36. Benjamin C. Pierce and David N. Turner. Pict: A programming language based on the pi-calculus. In Plotkin et al. [37]. To appear.

    Google Scholar 

  37. Gordon Plotkin, Colin Stirling, and Mads Tofte, editors. Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 1999. To appear.

    Google Scholar 

  38. 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.

    Google Scholar 

  39. 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.

    Google Scholar 

  40. 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.

    Google Scholar 

  41. Franz Puntigam. Non-regular process types. In 5th International Euro-Par Conference, number 1685 in lncs, pages 1334–1343. sv, 1999.

    Google Scholar 

  42. 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.

  43. 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.

  44. 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.

    Google Scholar 

  45. 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.

    Article  MATH  MathSciNet  Google Scholar 

  46. Frits Vaandrager. Process algebra semantics for POOL. Report CS-R862, Centre for Mathematics and Computer Science, Amsterdam, August 1986.

    Google Scholar 

  47. Vasco T. Vasconcelos. A process-calculus approach to typed concurrent objects. PhD thesis, Keio University, 1994.

    Google Scholar 

  48. 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.

    Google Scholar 

  49. David Walker. Objects in the π-calculus. Information and Computation, 116(2):253–271, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  50. 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.

    Chapter  Google Scholar 

  51. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics