A Distributed Abstract Machine for Boxed Ambient Calculi

  • Andrew Phillips
  • Nobuko Yoshida
  • Susan Eisenbach
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2986)


Boxed ambient calculi have been used to model and reason about a wide variety of problems in mobile computing. Recently, several new variants of Boxed Ambients have been proposed, which seek to improve on the original calculus. In spite of these theoretical advances, there has been little research on how such calculi can be correctly implemented in a distributed environment. This paper bridges a gap between theory and implementation by defining a distributed abstract machine for a variant of Boxed Ambients with channels. The abstract machine uses a list semantics, which is close to an implementation language, and a blocking semantics, which leads to an efficient implementation. The machine is proved sound and complete with respect to the underlying calculus. A prototype implementation is also described, together with an application for tracking the location of migrating ambients. The correctness of the machine ensures that the work done in specifying and analysing mobile applications is not lost during their implementation.


Mobile Application Reduction Rule Abstract Machine Runtime System Request Client 
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.
    Bettini, L., Nicola, R.D., Pugliese, R.: Xklaim and klava: Programming mobile code. In: Lenisa, M., Miculan, M. (eds.). ENTCS, vol. 62. Elsevier, Amsterdam (2002)Google Scholar
  2. 2.
    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
  3. 3.
    Bugliesi, M., Castagna, G., Crafa, S.: Reasoning about security in mobile ambients. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 102–120. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Bugliesi, M., Crafa, S., Merro, M., Sassone, V.: Communication interference in mobile boxed ambients. In: Agrawal, M., Seth, A.K. (eds.) FSTTCS 2002. LNCS, vol. 2556, pp. 71–84. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Cardelli, L.: Mobile ambient synchronization. Technical Report SRC-TN-1997-013, Hewlett Packard Laboratories, July 25 (1997)Google Scholar
  6. 6.
    Cardelli, L., Gordon, A.D.: Anytime, anywhere: Modal logics for mobile ambients. In: Proceedings of POPL 2000, January 2000, pp. 365–377. ACM Press, New York (2000)Google Scholar
  7. 7.
    Cardelli, L., Gordon, A.D.: Mobile ambients. Theoretical Comput. Sci. 240(1), 177–213 (2000); An extended abstract appeared in FoSSaCS 1998, pp. 140–155 (1998)Google Scholar
  8. 8.
    Castagna, G., Vitek, J., Zappa, F.: The seal calculus (2003), Available from:
  9. 9.
    Crafa, S., Bugliesi, M., Castagna, G.: Information flow security for boxed ambients. In: F-WAN 2002. ENTCS, vol. 66(3) (2002)Google Scholar
  10. 10.
    Dezani-Ciancaglini, M., Salvo, I.: Security types for mobile safe ambients. In: He, J., Sato, M. (eds.) ASIAN 2000. LNCS, vol. 1961, pp. 215–236. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  11. 11.
    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
  12. 12.
    Levi, F., Sangiorgi, D.: Controlling interference in ambients. In: POPL 2000. ACM Press, New York (2000)Google Scholar
  13. 13.
    Merro, M., Hennessy, M.: Bisimulation congruences in safe ambients. In: POPL 2002, pp. 71–80. ACM Press, New York (2002)CrossRefGoogle Scholar
  14. 14.
    Merro, M., Sassone, V.: Typing and subtyping mobility in boxed ambients. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 304–320. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Phillips, A.: The Channel Ambient System (2003), Runtime system and related documentation available from:
  16. 16.
    Phillips, A.: The Channel Ambient Calculus: From Process Algebra to Mobile Code. PhD thesis, Imperial College London (2004) (forthcoming)Google Scholar
  17. 17.
    Phillips, A., Eisenbach, S., Lister, D.: From process algebra to java code. In: ECOOP Workshop on Formal Techniques for Java-like Programs (2002)Google Scholar
  18. 18.
    Sangiorgi, D., Valente, A.: A distributed abstract machine for Safe Ambients. In: Orejas, F., Spirakis, P.G., van Leeuwen, J. (eds.) ICALP 2001. LNCS, vol. 2076, p. 408. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Turner, D.N.: The Polymorphic Pi-Calculus: Theory and Implementation. PhD thesis, LFCS, University of Edinburgh. CST-126-96 (also published as ECS-LFCS-96-345) (June 1996)Google Scholar
  20. 20.
    Unyapoth, A., Sewell, P.: Nomadic Pict: Correct communication infrastructures for mobile computation. In: POPL 2001, pp. 116–127 (2001)Google Scholar
  21. 21.
    Wojciechowski, P.T.: Nomadic Pict: Language and Infrastructure Design for Mobile Computation. PhD thesis, University of Cambridge(June 2000); Also appeared as Technical Report 492, Computer Laboratory, University of Cambridge (June 2000)Google Scholar
  22. 22.
    Wojciechowski, P.T.: The Nomadic Pict System (2000), Available electronically as part of the Nomadic Pict distributionGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Andrew Phillips
    • 1
  • Nobuko Yoshida
    • 1
  • Susan Eisenbach
    • 1
  1. 1.Department of ComputingImperial College LondonUK

Personalised recommendations