A Software Framework for Rapid Prototyping of Run-Time Systems for Mobile Calculi

  • Lorenzo Bettini
  • Rocco De Nicola
  • Daniele Falassi
  • Marc Lacoste
  • Luís Lopes
  • Licínio Oliveira
  • Hervé Paulino
  • Vasco T. Vasconcelos
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3267)


We describe the architecture and the implementation of the Mikado software framework, that we call IMC (Implementing Mobile Calculi). The framework aims at providing the programmer with primitives to design and implement run-time systems for distributed process calculi. The paper describes the four main components of abstract machines for mobile calculi (node topology, naming and binding, communication protocols and mobility) that have been implemented as Java packages. The paper also contains the description of a prototype implementation of a run-time system for the Distributed Pi-Calculus relying on the presented framework.


Virtual Machine Rapid Prototype Mobile Agent Software Framework Tuple Space 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Acharya, A., Ranganathan, M., Saltz, J.: Sumatra: A Language for Resource-aware Mobile Programs. In: Vitek, Tschudin (eds.) [35], pp. 111–130Google Scholar
  2. 2.
    Bettini, L.: Linguistic Constructs for Object-Oriented Mobile Code Programming & their Implementations. PhD thesis, Dip.di Matematica, Università di Siena (2003), Available at:
  3. 3.
    Bettini, L., Boreale, M., De Nicola, R., Lacoste, M., Vasconcelos, V.: Analysis of Distribution Structures: State of the Art. MIKADO Global Computing Project Deliverable D3.1.1 (2002)Google Scholar
  4. 4.
    Bettini, L., De Nicola, R., Pugliese, R.: X-Klaim and Klava: Programming Mobile Code. In: Lenisa, M., Miculan, M. (eds.) TOSCA 2001. ENTCS, vol. 62. Elsevier, Amsterdam (2001)Google Scholar
  5. 5.
    Bettini, L., De Nicola, R., Pugliese, R.: Klava: a Java Package for Distributed and Mobile Applications. Software - Practice and Experience 32(14), 1365–1394 (2002)CrossRefzbMATHGoogle Scholar
  6. 6.
    Boudol, G., Castellani, I., Germain, F., Lacoste, M.: Models of Distribution and Mobility: State of the Art. MIKADO Global Computing Project Deliverable D1.1.1 (2002)Google Scholar
  7. 7.
    Cabri, G., Leonardi, L., Zambonelli, F.: Reactive Tuple Spaces for Mobile Agent Coordination. In: Rothermel, K., Hohl, F. (eds.) MA 1998. LNCS, vol. 1477, pp. 237–248. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  8. 8.
    Ciancarini, P., Rossi, D.: Jada - Coordination and Communication for Java Agents. In: Vitek, Tschudin (eds.) [35], pp. 213–228Google Scholar
  9. 9.
    Cugola, G., Ghezzi, C., Picco, G., Vigna, G.: Analyzing Mobile Code Languages. In: Vitek, Tschudin (eds.) [35]Google Scholar
  10. 10.
    Dumant, B., Horn, F., Dang Tran, F., Stefani, J.-B.: Jonathan: an Open Distributed Processing Environment in Java. In: Proceedings MIDDLEWARE 1998 (1998)Google Scholar
  11. 11.
    ExoLab Group. The OpenORB project (2002), Software available for download at:
  12. 12.
    Fournet, C., Maranget, L.: The Join-Calculus Language (1997), Software and documentation available from:
  13. 13.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)zbMATHGoogle Scholar
  14. 14.
    Harrison, C., Chess, D., Kershenbaum, A.: Mobile agents: Are they a good idea? Research Report 19887, IBM Research Division (1994)Google Scholar
  15. 15.
    Hayton, R., Herbert, A., Donaldson, D.: Flexinet: a Flexible Component Oriented Middleware System. In: Proceedings ACM SIGOPS European Workshop (1998)Google Scholar
  16. 16.
    Hennessy, M., Riely, J.: Resource access control in systems of mobile agents. In: Nestmann, U., Pierce, B.C. (eds.) HLCL 1998: High-Level Concurrent Languages, Nice, France, September 12, 1998, vol. 16.3, pp. 3–17. Elsevier Science Publishers, Amsterdam (1998)Google Scholar
  17. 17.
    Huntchinson, N., Peterson, L.: The x-kernel: an Architecture for Implementing Network Protocols. IEEE Transactions on Software Engineering 17(1), 64–76 (1991)CrossRefGoogle Scholar
  18. 18.
    Klefstad, R., Schmidt, D., O’Ryan, C.: The Design of a Real-time CORBA ORB using Real-time Java. In: Proceedings ISORC 2002 (2002)Google Scholar
  19. 19.
    Knabe, F.: An overview of mobile agent programming. In: Dam, M. (ed.) LOMAPS-WS 1996. LNCS, vol. 1192. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  20. 20.
    Krakowiak, S.: The Jonathan Tutorial: Overview, Binding, Communication, Configuration and Resource Frameworks. ObjectWeb Consortium (2002), Available electronically at:
  21. 21.
    Lacoste, M.: Building Reliable Distributed Infrastructures Revisited: a Case Study. In: International DOA Workshop on Foundations of Middleware Technologies (WFoMT 2002) (2002)Google Scholar
  22. 22.
    Lacoste, M.: IMC: Flexible Communication Support for Implementing Mobile Process Calculi. Technical report, France Telecom R&D (2003)Google Scholar
  23. 23.
    Lange, D., Oshima, M.: Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, Reading (1998)Google Scholar
  24. 24.
    Le Fessant, F.: The JoCaml System Prototype (1998), Software and documentation available from:
  25. 25.
    Levi, F., Sangiorgi, D.: Controlling Interference in Ambients. In: Proc. 27th ACM Symposium on Principles of Programming Languages (POPL 2000), pp. 352–364. ACM Press, New York (2000)Google Scholar
  26. 26.
    Lopes, L.: On the Design and Implementation of a Virtual Machine for Process Calculi. PhD thesis, University of Porto (1999)Google Scholar
  27. 27.
    Milner, R., Parrow, J., Walker, J.: A Calculus of Mobile Processes, I and II. Information and Computation 100(1), 1–40, 41–77 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    O’Ryan, C., Kuhns, F., Schmidt, D., Othman, O., Parsons, J.: The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, p. 372. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  29. 29.
    Park, A., Reichl, P.: Personal Disconnected Operations with Mobile Agents. In: Proc. of 3rd Workshop on Personal Wireless Communications, PWC 1998 (1998)Google Scholar
  30. 30.
    Peine, H., Stolpmann, T.: The Architecture of the Ara Platform for Mobile Agents. In: Rothermel, K., Popescu-Zeletin, R. (eds.) MA 1997. LNCS, vol. 1219, pp. 50–61. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  31. 31.
    Picco, G., Murphy, A., Roman, G.-C.: Lime: Linda Meets Mobility. In: Garlan, D. (ed.) Proc. of the 21st Int. Conference on Software Engineering (ICSE 1999), pp. 368–377. ACM Press, New York (1999)Google Scholar
  32. 32.
    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, pp. 408–420. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  33. 33.
    Thorn, T.: Programming Languages for Mobile Code. ACM Computing Surveys 29(3), 213–239 (1997)CrossRefGoogle Scholar
  34. 34.
    Vasconcelos, V., Lopes, L., Silva, F.: Distribution and Mobility with Lexical Scoping in Process Calculi. In: Workshop on High Level Programming Languages (HLCL 1998), vol. 16(3), pp. 19–34. Elsevier Science, Amsterdam (1998)Google Scholar
  35. 35.
    Vitek, J., Tschudin, C. (eds.): Mobile Object Systems - Towards the Programmable Internet. LNCS, vol. 1222. Springer, Heidelberg (1997)Google Scholar
  36. 36.
    White, J.E.: Mobile Agents. In: Bradshaw, J. (ed.) Software Agents. AAAI Press and MIT Press (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Lorenzo Bettini
    • 1
  • Rocco De Nicola
    • 1
  • Daniele Falassi
    • 1
  • Marc Lacoste
    • 2
  • Luís Lopes
    • 3
  • Licínio Oliveira
    • 3
  • Hervé Paulino
    • 4
  • Vasco T. Vasconcelos
    • 5
  1. 1.Dipartimento di Sistemi e InformaticaUniversità di FirenzeItaly
  2. 2.Distributed Systems Architecture Department, France Telecom R & DFrance
  3. 3.Departamento de Ciência de Computadores, Faculdade de CiênciasUniversidade do PortoPortugal
  4. 4.Departamento de Informática, Faculdade de Ciências e TecnologiaUniv. Nova de LisboaPortugal
  5. 5.Departamento de Informática, Faculdade de CiênciasUniversidade de LisboaPortugal

Personalised recommendations