A Mobile Agent Service-Oriented Scripting Language Encoded on a Process Calculus

  • Hervé Paulino
  • Luís Lopes
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4228)


We present a service-oriented scripting language for programming mobile agents in distributed systems. The main novelty of the language we call Mob, is the integration of the service-oriented and mobile agent paradigms. Mob is also encoded onto a process calculus with a well studied semantics. The encoding provides a specification for the front-end of the language compiler and allows us to use, for the back-end and for the run-time system, a compiler and a virtual machine previously developed for the process calculus.


Virtual Machine Mobile Agent Abstract Machine Java Virtual Machine Process Calculus 
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.
    Horstmann, M., Kirtland, M.: DCOM Architecture. Microsoft (1997)Google Scholar
  2. 2.
    Object Management Group: The Common Object Request Broker: Architecture and Specification. Object Management Group (2001)Google Scholar
  3. 3.
    Platt, D.: Introducing Microsoft .NET, 3rd edn. Microsoft Press (2003)Google Scholar
  4. 4.
    Waldo, J.: The Jini Architecture for Network-Centric Computing. Commun. ACM 42(7), 76–82 (1999)CrossRefGoogle Scholar
  5. 5.
    Openwings: Openwings: A Service-Oriented Component Architecture for Self-Forming, Self-Healing, Network-Centric Systems (Rev 2.0) (2001), http://www.openwings.org
  6. 6.
    Lange, D.B., Oshima, M.: Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, Reading (1998)Google Scholar
  7. 7.
    Straber, M., Baumann, J., Hohl, F.: Mole - A Java Based Mobile Agent System. In: Muhlhauser, M. (ed.) Special Issues in Object Oriented Programming, pp. 301–308 (1997)Google Scholar
  8. 8.
    Glass, G.: Overview of Voyager: ObjectSpace’s Product Family for State-of-the-art Distributed Computing. Technical report, CTO ObjectSpace (1999)Google Scholar
  9. 9.
    Gray, R.S.: Agent Tcl: A Transportable Agent System. In: Proceedings of the CIKM Workshop on Intelligent Information Agents, Fourth International Conference on Information and Knowledge Management, CIKM 1995 (1995)Google Scholar
  10. 10.
    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. 316–323. Springer, Heidelberg (1997)Google Scholar
  11. 11.
    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
  12. 12.
    Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes (parts I and II). Information and Computation 100(1), 1–77 (1992)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Conchon, S., Fessant, F.L.: Jocaml: Mobile Agents for Objective-Caml. In: ASA/MA 1999, pp. 22–29. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  14. 14.
    Vasconcelos, V., Lopes, L., Silva, F.: Distribution and Mobility with Lexical Scoping in Process Calculi. In: Workshop on High Level Programming Languages (HLCL 1998). ENTCS, vol. 16(3), pp. 19–34. Elsevier Science, Amsterdam (1998)Google Scholar
  15. 15.
    Bettini, L., de Nicola, R., Pugliese, R.: X-Klaim and Klava: Programming Mobile Code. In: TOSCA 2001, vol. 62. Elsevier Science, Amsterdam (2001)Google Scholar
  16. 16.
    Wojciechowski, P.T., Sewell, P.: Nomadic Pict: Language and Infrastructure Design for Mobile Agents. IEEE Concurrency 8(2), 42–52 (2000)CrossRefGoogle Scholar
  17. 17.
    Sewell, P., Leifer, J.J., Wansbrough, K., Zappa Nardelli, F., Allen-Williams, M., Habouzit, P., Vafeiadis, V.: Acute: High-level Programming Language Design for Distributed Computation. In: ICFP 2005: Proceedings of The 10th ACM SIGPLAN International Conference on Functional Programming, pp. 15–26. ACM Press, New York (2005)CrossRefGoogle Scholar
  18. 18.
    Smolka, G.: Concurrent Constraint Programming Based on Functional Programming. In: Hankin, C. (ed.) ESOP 1998 and ETAPS 1998. LNCS, vol. 1381, pp. 1–11. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  19. 19.
    Paulino, H., Lopes, L., Silva, F.: Mob: A Scripting Language for Mobile Agents Based on a Process Calculus. In: Cueva Lovelle, J.M., Rodríguez, B.M.G., Gayo, J.E.L., del Pueto Paule Ruiz, M., Aguilar, L.J. (eds.) ICWE 2003. LNCS, vol. 2722, pp. 40–43. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Ravara, A., Matos, A., Vasconcelos, V., Lopes, L.: Lexically Scoped Distribution: What You See Is What You Get. In: FGC: Foundations of Global Computing. Electronic Notes in Theoretical Computer Science, vol. 85(1). Elsevier, Amsterdam (2003)Google Scholar
  21. 21.
    TyCO (Typed Concurrent Objects) Programming Language, available at: http://www.dcc.fc.up.pt/tyco/
  22. 22.
    White, J.E.: Telescript Technology: Scenes from the Electronic Marketplace. General Magic White Paper. General Magic edn. (1995)Google Scholar
  23. 23.
    Java Remote Method Invocation (Java RMI), http://java.sun.com/products/jdk/rmi/
  24. 24.
    Paulino, H., Lopes, L.: Mob Core Language and Virtual Machine. Technical Report DCC-2005-05, DCC - FC & LIACC, Universidade do Porto (2005), http://www.dcc.fc.up.pt/Pubs/treports.html
  25. 25.
    Vasconcelos, V., Lopes, L.: A Multi-threaded Assembly Language: Intermediate Language and Virtual Machine (unpublished)Google Scholar
  26. 26.
    Paulino, H., Marques, P., Lopes, L., Vasconcelos, V., Silva, F.: A Multi-Threaded Asynchronous Language. In: Malyshkin, V.E. (ed.) PaCT 2003. LNCS, vol. 2763, pp. 316–323. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  27. 27.
    Schmitt, A., Stefani, J.-B.: The M-calculus: A Higher-Order Distributed Process Calculus. In: Proceedings 30th Annual ACM Symposium on Principles of Programming Languages (POPL) (2003)Google Scholar
  28. 28.
    Germain, F., Lacoste, M., Stefani, J.-B.: An Abstract Machine for a Higher-Order Distributed Process Calculus. In: EATCS Workshop on Foundations of Wide Area Network Computing (FWAN 2002), vol. 66.3. Elsevier, Amsterdam (2002)Google Scholar
  29. 29.
    Pierce, B., Turner, D.: Pict: A Programming Language Based on the Pi-Calculus. In: Proof, Language and Interaction: Essays in Honour of Robin Milner, pp. 455–494. MIT Press, Cambridge (2000)Google Scholar
  30. 30.
    Unyapoth, A.: Nomadic Pi Calculi: Expressing and Verifying Infrastructure for Mobile Computation. Ph.D thesis, University of Cambridge (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Hervé Paulino
    • 1
  • Luís Lopes
    • 2
  1. 1.Departamento de Informática, Faculdade de Ciências e TecnologiaUniversidade Nova de LisboaPortugal
  2. 2.Departamento de Ciência de Computadores, Faculdade de CiênciasUniversidade do PortoPortugal

Personalised recommendations