Advertisement

Semantics of Objects As Processes (SOAP)

  • Uwe Nestmann
  • António Ravara
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Mobile Process Behavioral Typing Process Calculus Structural Operational Semantic Object Interface 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Martín Abadi and Luca Cardelli. A Theory of Objects. Monographs in Computer Science. Springer-Verlag, 1996.Google Scholar
  2. [2]
    Samson Abramsky. The lazy lambda-calculus. In Research Topics in Functional Programming, pages 65–117. Addison Wesley, 1990.Google Scholar
  3. [3]
    Pierre America. Issues in the design of a parallel object-oriented language. Formal Aspects of Computing, 1(4):366–411, 1989.CrossRefGoogle Scholar
  4. [4]
    Jos Baeten and Peter Weijland. Process Algebra, volume 18 of Cambridge Tracts in Computer Science. Cambridge University Press, 1990.Google Scholar
  5. [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.CrossRefGoogle Scholar
  6. [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.zbMATHCrossRefGoogle Scholar
  7. [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. [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. [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. [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. [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. [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. [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. [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. [15]
    Charles A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.zbMATHCrossRefMathSciNetGoogle Scholar
  16. [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. [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. [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. [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. [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.CrossRefGoogle Scholar
  21. [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. [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. [23]
    Xinxin Liu and David Walker. Partial confluence of processes and systems of objects. Theoretical Computer Science, 1998.Google Scholar
  24. [24]
    Xinxin Liu and David Walker. Concurrent objects as mobile processes. In Plotkin et al. [37]. To appear.Google Scholar
  25. [25]
    Robin Milner. A Calculus of Communicating Systems. Springer-Verlag, 1980. LNCS 92.zbMATHGoogle Scholar
  26. [26]
    Robin Milner, Joachim Parrow, and David Walker. A calculus of mobile processes, part I/II. Information and Computation, 100:1–77, September 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  27. [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. [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. [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. [30]
    O. Nierstrasz. Regular types for active objects. In Object-Oriented Software Composition, pages 99–121. Prentice Hall, 1995.Google Scholar
  31. [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. [32]
    Anna Philippou. Reasoning about Systems with Evolving Structure. PhD thesis, University of Warwick, December 1996.Google Scholar
  33. [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. [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. [35]
    Benjamin C. Pierce. Fränkische OOrientierungstage 1993 (Rothenbühl, Fränkische Schweiz, Germany). Tutorial on programming in the π-calculus, 1993.Google Scholar
  36. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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.zbMATHCrossRefMathSciNetGoogle Scholar
  46. [46]
    Frits Vaandrager. Process algebra semantics for POOL. Report CS-R862, Centre for Mathematics and Computer Science, Amsterdam, August 1986.Google Scholar
  47. [47]
    Vasco T. Vasconcelos. A process-calculus approach to typed concurrent objects. PhD thesis, Keio University, 1994.Google Scholar
  48. [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. [49]
    David Walker. Objects in the π-calculus. Information and Computation, 116(2):253–271, 1995.zbMATHCrossRefMathSciNetGoogle Scholar
  50. [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.CrossRefGoogle Scholar
  51. [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

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Uwe Nestmann
    • 1
  • António Ravara
    • 2
  1. 1.BRICS⋆ ⋆ ⋆ Aalborg UniversityDenmark
  2. 2.IST, Technical University of LisbonPortugal

Personalised recommendations