Advertisement

A Virtual Machine for a Process Calculus

  • Luís Lopes
  • Fernando Silva
  • Vasco T. Vasconcelos
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1702)

Abstract

Despite extensive theoretical work on process-calculi, virtual machine specifications and implementations of actual computational models are still scarce.

This paper presents a virtual machine for a strongly typed, polymorphic, concurrent, object-oriented programming language based on the TyCO process calculus. The system runs byte-code files, assembled from an intermediate assembly language representation, which is in turn generated by a compiler. Code optimizations are provided by the compiler coupled with a type-inference system. The design and implementation of the virtual machine focuses on performance, compactness, and architecture independence with a view to mobile computing. The assembly code emphasizes readability and efficient byte code generation. The byte code has a simple layout and is a compromise between size and performance. We present some performance results and compare them to other languages such as Pict, Oz, and JoCaml.

Keywords

Process-Calculus Concurrency Abstract-Machine Implementation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Objective CAML Home Page, http://pauillac.inria.fr/ocaml
  2. 2.
    The JoCaml Home Page, http://pauillac.inria.fr/jocaml
  3. 3.
    Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996)MATHGoogle Scholar
  4. 4.
    Agha, G.: ACTORS: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  5. 5.
    Agha, G., Hewitt, C.: Actors: A Conceptual Foundation for Concurrent Object-Oriented Programming. In: Shiver, Wegner (eds.) Research Directions on Object-Oriented Programming. MIT Press, Cambridge (1981)Google Scholar
  6. 6.
    Amadio, R.M.: An Asynchronous Model of Locality, Failure, and Process Mobility. In: Garlan, D., Le Métayer, D. (eds.) COORDINATION 1997. LNCS, vol. 1282, pp. 374–391. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  7. 7.
    Fournet, C., Gonthier, G.: The Reflexive Chemical Abstract Machine and the Join-Calculus. In: Proceedings of the 23rd ACM Symposium on Principles of Programming Languages, pp. 372–385. ACM, New York (1996)Google Scholar
  8. 8.
    Fournet, C., Maranget, L.: The Join-Calculus Language (release 1.02). Institute National de Recherche en Informatique et Automatique (June 1997)Google Scholar
  9. 9.
    Honda, K., Tokoro, M.: An Object Calculus for Asynchronous Communication. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 141–162. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  10. 10.
    Janson, S.: AKL - A Multiparadigm Programming Language. PhD thesis, SICS Swedish Institute of Computer Science, Uppsala University (1994)Google Scholar
  11. 11.
    Jones, S.: Implementing Lazy Functional Languages on Stock Hardware: the Spineless Tagless G-machine. Journal of Functional Programming 2(2), 127–202 (1992)MATHCrossRefGoogle Scholar
  12. 12.
    Kobayashi, N.: Quasi-Linear Types. In: 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1999, pp. 29–42 (1999)Google Scholar
  13. 13.
    Kobayashi, N., Pierce, B., Turner, D.: Linearity and the π-calculus. In: ACM Symposium on Principles of Programming Languages (1996)Google Scholar
  14. 14.
    Lopes, L., Silva, F., Figueira, A., Vasconcelos, V.: DiTyCO: An Experiment in Code Mobility from the Realm of Process Calculi. In: 5th Mobile Object Systems Workshop (1999) part of ECOOP 1999Google Scholar
  15. 15.
    Lopes, L., Vasconcelos, V.: An Abstract Machine for an Object-Calculus. Technical report, DCC-FC LIACC, Universidade do Porto (May 1997)Google Scholar
  16. 16.
    Mehl, M., Scheidhauer, R., Schulte, C.: An Abstract Machine for Oz. Technical report, German Research Center for Artificial Intelligence (DFKI) (June 1995)Google Scholar
  17. 17.
    Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes (parts I and II). Information and Computation 100, 1–77 (1992)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Partain, W.: The nofib Benchmark Suite of Haskell Programs. In: Launchbury, J., Sansom, P.M. (eds.) Proceedings of Functional Programming Workshop, Workshops in Computing, pp. 195–202. Springer, Heidelberg (1992)Google Scholar
  19. 19.
    Pierce, B., Turner, D.: Pict: A Programming Language Based on the Pi-Calculus. Technical Report CSCI 476, Computer Science Department, Indiana University (1997); in Plotkin, G., Stirling, C., Toft e, M. (eds.) Proof, Language and Interaction: Essays in H onour of Robin Milner. MIT Press, Cambridge (1999) (to appear)Google Scholar
  20. 20.
    Ravara, A., Vasconcelos, V.T.: Behavioural types for a calculus of concurrent objects. In: Lengauer, C., Griebl, M., Gorlatch, S. (eds.) Euro-Par 1997. LNCS, vol. 1300, pp. 554–561. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  21. 21.
    Sangiorgi, D.: The name discipline of receptiveness. In: Degano, P., Gorrieri, R., Marchetti-Spaccamela, A. (eds.) ICALP 1997. LNCS, vol. 1256. Springer, Heidelberg (1997)Google Scholar
  22. 22.
    Turner, D.: The Polymorphic Pi-calculus: Theory and Implementation. PhD thesis, University of Edinburgh (1995)Google Scholar
  23. 23.
    Vasconcelos, V., Bastos, R.: Core-TyCO - The Language Definition. Technical Report TR-98-3, DI / FCUL (March 1998)Google Scholar
  24. 24.
    Vasconcelos, V., Lopes, L., Silva, F.: Distribution and mobility with lexical scoping in process calculi. In: 3rd International Workshop on High-Level Concurrent Languages. Electronic Notes in Theoretical Computer Science, vol. 16. Elsevier Science Publishers, Amsterdam (1998)Google Scholar
  25. 25.
    Vasconcelos, V., Tokoro, M.: A Typing System for a Calculus of Objects. In: Nishio, S., Yonezawa, A. (eds.) ISOTAS 1993. LNCS, vol. 742, pp. 460–474. Springer, Heidelberg (1993)Google Scholar
  26. 26.
    Walker, D.: Objects in the π-calculus. Journal of Information and Computation 116(2), 253–271 (1995)MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Luís Lopes
    • 1
  • Fernando Silva
    • 1
  • Vasco T. Vasconcelos
    • 2
  1. 1.DCC-FC & LIACCUniversidade do PortoPortoPortugal
  2. 2.DI-FCUniversidade de LisboaLisboaPortugal

Personalised recommendations