Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/964001.964012acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article

Asynchronous and deterministic objects

Published: 01 January 2004 Publication History

Abstract

This paper aims at providing confluence and determinism properties in concurrent processes, more specifically within the paradigm of object-oriented systems. Such results should allow one to program parallel and distributed applications that behave in a deterministic manner, even if they are distributed over local or wide area networks. For that purpose, an object calculus is proposed. Its key characteristics are asynchronous communications with futures, and sequential execution within each process.While most of previous works exhibit confluence properties only on specific programs -- or patterns of programs, a general condition for confluence is presented here. It is further put in practice to show the deterministic behavior of a typical example.

References

[1]
M. Abadi and L. Cardelli. A Theory of Objects. Springer-Verlag New York, Inc., 1996.
[2]
G. Agha, I. A. Mason, S. Smith, and C. Talcott. Towards a theory of actor computation (extended abstract). In W. R. Cleaveland, editor, CONCUR'92: Proc. of the Third International Conference on Concurrency Theory, pages 565--579. Springer, Berlin, Heidelberg, 1992.
[3]
G. Agha, I. A. Mason, S. F. Smith, and C. L. Talcott. A foundation for actor computation. Journal of Functional Programming, 7(1):1--72, 1997.
[4]
L. Cardelli. A language with distributed scope. In Conference Record of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'95), pages 286--297, San Francisco, January 22--25, 1995. ACM Press.
[5]
D. Caromel. Toward a method of object-oriented concurrent programming. Communications of the ACM, 36(9):90--102, Sept. 1993.
[6]
D. Caromel, L. Henrio, and B. P. Serpette. Asynchronous sequential processes. Technical report, INRIA Sophia Antipolis, 2003. RR-4753.
[7]
D. Caromel, W. Klauser, and J. Vayssière. Towards seamless computing and metacomputing in Java. Concurrency: Practice and Experience, 10(11--13):1043--1061, 1998. Proactive available at http://www.inria.fr/oasis/proactive.
[8]
C. Flanagan and S. Qadeer. A type and effect system for atomicity. In Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, pages 338--349. ACM Press, 2003.
[9]
C. Fournet and G. Gonthier. The reflexive CHAM and the join-calculus. In Conference Record of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'96), pages 372--385, St. Petersburg, Florida, January 21--24, 1996. ACM Press.
[10]
C. Fournet, G. Gonthier, J. Levy, L. Maranget, and D. Remy. A Calculus of Mobile Agents. In U. Montanari and V. Sassone, editors, Proc. 7th Int. Conf. on Concurrency Theory (CONCUR), volume 1119 of Lecture Notes in Computer Science, pages 406--421, Pisa, Italy, Aug. 1996. Springer-Verlag, Berlin.
[11]
Gordon, Hankin, and Lassen. Compilation and equivalence of imperative objects. FSTTCS: Foundations of Software Technology and Theoretical Computer Science, 17, 1997.
[12]
A. D. Gordon and P. D. Hankin. A concurrent object calculus: Reduction and typing. In Proceedings HLCL'98. Elsevier ENTCS, 1998.
[13]
R. H. Halstead, Jr. Multilisp: a language for concurrent symbolic computation. ACM Transactions on Programming Languages and Systems (TOPLAS), 7(4):501--538, 1985.
[14]
K. Hammond. Parallel Functional Programming: An Introduction (invited paper). In H. Hong, editor, First International Symposium on Parallel Symbolic Computation (PASCO'94), Linz, Austria, pages 181--193. World Scientific Publishing, 1994.
[15]
A. Jeffrey. A distributed object calculus. In ACM SIGPLAN Workshop Foundations of Object Oriented Languages, 2000.
[16]
C. B. Jones and S. Hodges. Non-interference properties of a concurrent object-based language: Proofs based on an operational semantics. In B. Freitag, C. B. Jones, C. Lengauer, and H.-J. Schek, editors, Object-Orientation with Parallelism and Persistence, chapter~1, pages 1--22. Kluwer Academic Publishers, 1996. ISBN 0-7923-9770-3.
[17]
G. Kahn. The semantics of a simple language for parallel programming. In J. L. Rosenfeld, editor, Information Processing '74: Proceedings of the IFIP Congress, pages 471--475. North-Holland, New York, NY, 1974.
[18]
G. Kahn and D. MacQueen. Coroutines and Networks of Parallel Processes. In B. Gilchrist, editor, Information Processing 77: Proc. IFIP Congress, pages 993--998. North-Holland, 1977.
[19]
O. Kaser, S. Pawagi, C. R. Ramakrishnan, I. V. Ramakrishnan, and R. C. Sekar. Fast parallel implementation of lazy languages - the EQUALS experience. In LISP and Functional Programming, pages 335--344, 1992.
[20]
N. Kobayashi, B. C. Pierce, and D. N. Turner. Linearity and the pi-calculus. In Proceedings of POPL '96, pages 358--371. ACM, Jan. 1996.
[21]
X. Liu and D. Walker. Confluence of processes and systems of objects. In P. D. Mosses, M. Nielsen, and M. I. Schwarzbach, editors, TAPSOFT '95: Theory and Practice of Software Development, 6th International Joint Conference CAAP/FASE, volume 915 of LNCS, pages 217--231. Springer, 1995.
[22]
R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes, part I/II. Journal of Information and Computation, 100:1--77, Sept. 1992.
[23]
U. Nestmann, H. Hüttel, J. Kleist, and M. Merro. Aliasing models for mobile objects. Information and Computation, 175(1):3--33, 2002.
[24]
O. Nierstrasz. Towards an object calculus. In M. Tokoro, O. Nierstrasz, and P. Wegner, editors, Proceedings of the ECOOP'91 Workshop on Object-Based Concurrent Computing, volume 612 of LNCS, pages 1--20. Springer-Verlag, 1992.
[25]
B. C. Pierce and D. N. Turner. Concurrent objects in a process calculus. In T. Ito and A. Yonezawa, editors, Proceedings Theory and Practice of Parallel Programming (TPPP 94), pages 187--215, Sendai, Japan, 1995. Springer LNCS 907.
[26]
Y. ri Choi, A. Garg, S. Rai, J. Misra, and H. Vin. Orchestrating computations on the world-wide web. In B. Monien and R. Feldmann, editors, Euro-Par, volume 2400 of Lecture Notes in Computer Science. Springer, 2002.
[27]
D. Sangiorgi. The typed π-calculus at work: A proof of Jones's parallelisation theorem on concurrent objects. Theory and Practice of Object-Oriented Systems, 5(1), 1999. An early version was included in the Informal proceedings of FOOL 4, January 1997.
[28]
B. C. Smith. Reflection and semantics in lisp. In Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, pages 23--35, Salt Lake City, Utah, January 15--18, 1984. ACM SIGACT-SIGPLAN, ACM Press.
[29]
G. L. Steele, Jr. Making asynchronous parallelism safe for the world. In ACM, editor, POPL '90. Proceedings of the seventeenth annual ACM symposium on Principles of programming languages, January 17--19, 1990, San Francisco, CA, pages 218--231, New York, NY, USA, 1990. ACM Press.
[30]
M. Steffen and U. Nestmann. Typing confluence. Interner Bericht IMMD7-xx/95, Informatik VII, Universit\"at Erlangen-Nürnberg, 1995.

Cited By

View all
  • (2024)A Survey of Actor-Like Programming Models for Serverless ComputingActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_5(123-146)Online publication date: 29-Jan-2024
  • (2024)Active Objects Based on Algebraic EffectsActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_1(3-36)Online publication date: 29-Jan-2024
  • (2023)A Survey on Parallelism and DeterminismACM Computing Surveys10.1145/356452955:10(1-28)Online publication date: 2-Feb-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2004
364 pages
ISBN:158113729X
DOI:10.1145/964001
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 39, Issue 1
    POPL '04
    January 2004
    352 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/982962
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrency
  2. determinism
  3. distribution
  4. futures
  5. object calculus
  6. object-oriented languages
  7. parallelism

Qualifiers

  • Article

Conference

POPL04

Acceptance Rates

POPL '04 Paper Acceptance Rate 29 of 176 submissions, 16%;
Overall Acceptance Rate 860 of 4,328 submissions, 20%

Upcoming Conference

POPL '26

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A Survey of Actor-Like Programming Models for Serverless ComputingActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_5(123-146)Online publication date: 29-Jan-2024
  • (2024)Active Objects Based on Algebraic EffectsActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_1(3-36)Online publication date: 29-Jan-2024
  • (2023)A Survey on Parallelism and DeterminismACM Computing Surveys10.1145/356452955:10(1-28)Online publication date: 2-Feb-2023
  • (2019)Web Portals for High-performance ComputingACM Transactions on the Web10.1145/319738513:1(1-36)Online publication date: 5-Feb-2019
  • (2018)Active Objects for Coordinating BSP Computations (Short Paper)Coordination Models and Languages10.1007/978-3-319-92408-3_10(220-230)Online publication date: 27-May-2018
  • (2017)A Survey of Active Object LanguagesACM Computing Surveys10.1145/312284850:5(1-39)Online publication date: 5-Oct-2017
  • (2017)Behavioural semantics for asynchronous componentsJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2017.02.00389(1-40)Online publication date: Jun-2017
  • (2016)A framework for deadlock detection in core ABSSoftware and Systems Modeling (SoSyM)10.1007/s10270-014-0444-y15:4(1013-1048)Online publication date: 1-Oct-2016
  • (2016)Towards a $$\mathbb {K}$$Kool FutureEssays Dedicated to Frank de Boer on Theory and Practice of Formal Methods - Volume 966010.1007/978-3-319-30734-3_22(325-343)Online publication date: 1-Jan-2016
  • (2014)AmbientTalkComputer Languages, Systems and Structures10.1016/j.cl.2014.05.00240:3(112-136)Online publication date: 1-Oct-2014
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media