Semantics of Objects As Processes (SOAP)
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 , 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.
KeywordsMobile Process Behavioral Typing Process Calculus Structural Operational Semantic Object Interface
Unable to display preview. Download preview PDF.
- Martín Abadi and Luca Cardelli. A Theory of Objects. Monographs in Computer Science. Springer-Verlag, 1996.Google Scholar
- Samson Abramsky. The lazy lambda-calculus. In Research Topics in Functional Programming, pages 65–117. Addison Wesley, 1990.Google Scholar
- Jos Baeten and Peter Weijland. Process Algebra, volume 18 of Cambridge Tracts in Computer Science. Cambridge University Press, 1990.Google Scholar
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Hans Hüttel and Josva Kleist. Objects as mobile processes. Research Series RS-96-38, BRICS, October 1996. Presented at MFPS’ 96.Google Scholar
- 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
- 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
- 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
- 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
- Xinxin Liu and David Walker. Partial confluence of processes and systems of objects. Theoretical Computer Science, 1998.Google Scholar
- Xinxin Liu and David Walker. Concurrent objects as mobile processes. In Plotkin et al. . To appear.Google Scholar
- 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
- 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
- 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
- O. Nierstrasz. Regular types for active objects. In Object-Oriented Software Composition, pages 99–121. Prentice Hall, 1995.Google Scholar
- 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
- Anna Philippou. Reasoning about Systems with Evolving Structure. PhD thesis, University of Warwick, December 1996.Google Scholar
- 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
- 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
- Benjamin C. Pierce. Fränkische OOrientierungstage 1993 (Rothenbühl, Fränkische Schweiz, Germany). Tutorial on programming in the π-calculus, 1993.Google Scholar
- Benjamin C. Pierce and David N. Turner. Pict: A programming language based on the pi-calculus. In Plotkin et al. . To appear.Google Scholar
- 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
- 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
- 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
- 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
- Franz Puntigam. Non-regular process types. In 5th International Euro-Par Conference, number 1685 in lncs, pages 1334–1343. sv, 1999.Google Scholar
- 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.Google Scholar
- Frits Vaandrager. Process algebra semantics for POOL. Report CS-R862, Centre for Mathematics and Computer Science, Amsterdam, August 1986.Google Scholar
- Vasco T. Vasconcelos. A process-calculus approach to typed concurrent objects. PhD thesis, Keio University, 1994.Google Scholar
- 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
- 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