A Correct Abstract Machine for Safe Ambients

  • Daniel Hirschkoff
  • Damien Pous
  • Davide Sangiorgi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3454)


We describe an abstract machine, called GcPan, for the distributed execution of Safe Ambients (SA), a variant of the Ambient Calculus (AC).

Our machine improves over previous proposals for executing AC, or variants of it, mainly through a better management of special agents (forwarders), created upon code migration to transmit messages to the target location of the migration.

We establish the correctness of our machine by proving a weak bisimilarity result with a previous abstract machine for SA, and then appealing to the correctness of the latter machine.

More broadly, this study is a contribution towards understanding issues of correctness and optimisations in implementations of distributed languages encompassing mobility.


Operational Semantic Request Message Parent Location Correctness Proof Abstract Machine 
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.


  1. 1.
  2. 2.
    Bidinger, P., Stefani, J.-B.: The Kell Calculus: Operational Semantics and Type System. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 109–123. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Bugliesi, M., Castagna, G., Crafa, S.: Boxed ambients. In: Kobayashi, N., Pierce, B.C. (eds.) TACS 2001. LNCS, vol. 2215, pp. 38–63. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
  5. 5.
    Cardelli, L.: Mobile ambient synchronisation. Technical Report 1997-013, Digital SRC (1997)Google Scholar
  6. 6.
    Cardelli, L., Gordon, A.: Mobile Ambients. In: Nivat, M. (ed.) FOSSACS 1998. LNCS, vol. 1378, pp. 140–155. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  7. 7.
    Le Fessant, F., Piumarta, I., Shapiro, M.: An Implementation for Complete, Asynchronous, Distributed Garbage Collection. In: Proc. of PLDI 1998. ACM Sigplan Notices, pp. 152–161 (1998)Google Scholar
  8. 8.
    Fournet, C.: The Join-Calculus: a Calculus for Distributed Mobile Programming. PhD thesis, Ecole Polytechnique (1998)Google Scholar
  9. 9.
    Fournet, C., Le Fessant, F., Maranget, L., Schmitt, A.: JoCaml: A Language for Concurrent Distributed and Mobile Programming. In: Jeuring, J., Jones, S.L.P. (eds.) AFP 2002. LNCS, vol. 2638, pp. 129–158. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Fournet, C., Lévy, J.-J., Schmitt, A.: An asynchronous, distributed implementation of mobile ambients. In: Watanabe, O., Hagiya, M., Ito, T., van Leeuwen, J., Mosses, P.D. (eds.) TCS 2000. LNCS, vol. 1872, pp. 348–364. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  11. 11.
    Giannini, P., Sangiorgi, D., Valente, A.: Safe Ambients: abstract machine and distributed implementation. In: Orejas, F., Spirakis, P.G., van Leeuwen, J. (eds.) ICALP 2001. LNCS, vol. 2076, pp. 408–420. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Hirschkoff, D., Pous, D., Sangiorgi, D.: An Efficient Abstract Machine for Safe Ambients. Technical Report 2004–63, LIP – ENS Lyon (2004)Google Scholar
  13. 13.
    Levi, F., Sangiorgi, D.: Controlling interference in ambients. In: Proc. 27th POPL. ACM Press, New York (2000)Google Scholar
  14. 14.
    Levi, F., Sangiorgi, D.: Mobile Safe Ambients. Transactions on Programming Languages and Systems 25(1), 1–69 (2003)CrossRefGoogle Scholar
  15. 15.
    Milner, R., Sangiorgi, D.: Barbed bisimulation. In: Kuich, W. (ed.) ICALP 1992. LNCS, vol. 623, pp. 685–695. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  16. 16.
    De Nicola, R., Ferrari, G.L., Pugliese, R.: KLAIM: A Kernel Language for Agents Interaction and Mobility. IEEE Trans. Software Eng. 24(5), 315–330 (1998)CrossRefGoogle Scholar
  17. 17.
    Phillips, A., Yoshida, N., Eisenbach, S.: A Distributed Abstract Machine for Boxed Ambient Calculi. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 155–170. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Tarjan, R.E.: Efficiency of a good but not linear set union algorithm. Journal of ACM 22(2), 215–225 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Unyapoth, A., Sewell, P.: Nomadic Pict: Correct Communication Infrastructure for Mobile Computation. In: Proc. of 28th POPL, pp. 116–127. ACM Press, New York (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Daniel Hirschkoff
    • 1
  • Damien Pous
    • 1
  • Davide Sangiorgi
    • 2
  1. 1.ENS LyonFrance
  2. 2.Università di BolognaItaly

Personalised recommendations