Advertisement

Simple Isolation for an Actor Abstract Machine

  • Benoit Claudel
  • Quentin Sabah
  • Jean-Bernard Stefani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9039)

Abstract

The actor model is an old but compelling concurrent programming model in this age of multicore architectures and distributed services. In this paper we study an as yet unexplored region of the actor design space in the context of concurrent object-oriented programming. Specifically, we show that a purely run-time, annotation-free approach to actor state isolation with reference passing of arbitrary object graphs is perfectly viable. In addition, we show, via a formal proof using the Coq proof assistant, that our approach indeed enforces actor isolation.

Keywords

Virtual Machine Message Passing Object Graph Call Graph Reduction Semantic 
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.
    Agha, G.A.: Actors: A Model of Concurrent Computation in Distributed Systems. The MIT Press (1986)Google Scholar
  2. 2.
    Armstrong, J.: Erlang. Commun. ACM 53(9) (2010)Google Scholar
  3. 3.
    Blackburn, S.M., Garner, R., Hoffman, C., et al.: The DaCapo benchmarks: Java benchmarking development and analysis. In: OOPSLA 2006. ACM (2006)Google Scholar
  4. 4.
    Carlsson, R., Sagonas, K.F., Wilhelmsson, J.: Message analysis for concurrent programs using message passing. ACM Trans. Program. Lang. Syst. 28(4) (2006)Google Scholar
  5. 5.
    Clarke, D., Wrigstad, T.: External uniqueness is unique enough. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 176–200. Springer, Heidelberg (2003)Google Scholar
  6. 6.
    Claudel, B.: Mécanismes logiciels de protection mémoire. PhD thesis, Université de Grenoble (2009)Google Scholar
  7. 7.
    Czajkowski, G., Daynès, L.: Multitasking without compromise: A virtual machine evolution. In: OOPSLA 2001. ACM (2001)Google Scholar
  8. 8.
    Coq development team, http://coq.inria.fr
  9. 9.
    Fahndrich, M., Aiken, M., et al.: Language Support for Fast and Reliable Message-based Communication in Singularity OS. In: 1st EuroSys Conference. ACM (2006)Google Scholar
  10. 10.
    Garner, R.J., Blackburn, S.M., Frampton, D.: A comprehensive evaluation of object scanning techniques. In: 10th ISMM. ACM (2011)Google Scholar
  11. 11.
    Geoffray, N., Thomas, G., Muller, G., et al.: I-JVM: a java virtual machine for component isolation in osgi. In: DSN 2009. IEEE (2009)Google Scholar
  12. 12.
    Gruber, O., Boyer, F.: Ownership-based isolation for concurrent actors on multi-core machines. In: Castagna, G. (ed.) ECOOP 2013. LNCS, vol. 7920, pp. 281–301. Springer, Heidelberg (2013)Google Scholar
  13. 13.
    Haller, P., Odersky, M.: Actors that unify threads and events. In: Murphy, A.L., Vitek, J. (eds.) COORDINATION 2007. LNCS, vol. 4467, pp. 171–190. Springer, Heidelberg (2007)Google Scholar
  14. 14.
    Haller, P., Odersky, M.: Capabilities for uniqueness and borrowing. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 354–378. Springer, Heidelberg (2010)Google Scholar
  15. 15.
    Hogg, J.: Islands: aliasing protection in object-oriented languages. SIGPLAN Not. 26(11) (1991)Google Scholar
  16. 16.
  17. 17.
    Karmani, R.K., Shali, A., Agha, G.: Actor frameworks for the JVM platform: a comparative analysis. In: 7th PPPJ. ACM (2009)Google Scholar
  18. 18.
    Klein, G., Nipkow, T.: A machine-checked model for a java-like language, virtual machine, and compiler. ACM Trans. Program. Lang. Syst. 28(4) (2006)Google Scholar
  19. 19.
    Minsky, N.H.: Towards alias-free pointers. In: Cointe, P. (ed.) ECOOP 1996. LNCS, vol. 1098, pp. 189–209. Springer, Heidelberg (1996)Google Scholar
  20. 20.
    Müller, P., Rudich, A.: Ownership transfer in universe types. SIGPLAN Not. 42(10) (2007)Google Scholar
  21. 21.
    Negara, S., Karmani, R.K., Agha, G.A.: Inferring ownership transfer for efficient message passing. In: 16th PPOPP. ACM (2011)Google Scholar
  22. 22.
    Sabah, Q.: SIAAM: Simple Isolation for an Abstract Actor Machine. PhD thesis, Université de Grenoble (December 2013)Google Scholar
  23. 23.
  24. 24.
    Srinivasan, S., Mycroft, A.: Kilim: Isolation-Typed Actors for Java. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 104–128. Springer, Heidelberg (2008)Google Scholar
  25. 25.

Copyright information

© IFIP International Federation for Information Processing 2015

Authors and Affiliations

  • Benoit Claudel
    • 1
  • Quentin Sabah
    • 2
  • Jean-Bernard Stefani
    • 3
  1. 1.The MathWorksGrenobleFrance
  2. 2.Mentor GraphicsGrenobleFrance
  3. 3.INRIA Grenoble-Rhône-AlpesValbonneFrance

Personalised recommendations