Mobile Agents Coordination in Mobadtl

  • Gianluigi Ferrari
  • Carlo Montangero
  • Laura Semini
  • Simone Semprini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1906)


We present and formalize Mobadtl, a model for network-aware applications, extending the Oikos-adtl temporal-logic based approach to the specification and verification of distributed systems. The model supports strong subjective mobility of agents under the control of stationary guardians. Communications are based on asynchronous message passing. The approach exploits the notions of coordination and refinement to deal separately with the specification of functional issues in the agents, and with the specification of coordination policies, e.g. security, routing, etc., in the guardians. The goal is to specify mobile agents as independently as possible of the requirements related to the other facets of distribution. The specification of an application is obtained by instantiating the general model, refining it along different dimensions corresponding to the different aspects of interest, and finally composing the refinements. The main advantage, besides the increased flexibility of the specification process, is that it is possible to specify rich coordination policies incrementally, while the functional units remain relatively simple. We use Mobadtl to specify a simple electronic commerce application, paying particular attention to the incremental specification of the policies. We show how refined policies lead to stronger system properties.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    J.-M. Andreoli, C. Hankin, and D. L. Métayer, editors. Coordination Programming: Mechanisms, Models and Semantics Imperial College Press, 1996.Google Scholar
  2. 2.
    F. Arbab, M. Bonsangue, and F. de Boer. A coordination language for mobile components. In Proc. of the 2000 ACM Symposium on Applied Computing (SAC 2000). ACM Press, 2000.Google Scholar
  3. 3.
    K. Arnold and J. Gosling. The Java Programming Language. The Java Series. Addison-Wesley, Reading, MA, second edition, 1998.MATHGoogle Scholar
  4. 4.
    R. Back and J. von Wright. Refinement Calculus. A Systematic Introduction. Graduate texts in computer science. Springer-Verlag, 1998.Google Scholar
  5. 5.
    L. Cardelli, G. Ghelli, and A. Gordon. Mobility Types for Mobile Ambients. In J. Wiederman, P. van Emde Boas, and M. Nielsen, editors, 26th Colloquium on Automata, Languages and Programming (ICALP) (Prague, Czech Republic), volume 1644 of Lecture Notes in Computer Science, pages 230–239. Springer-Verlag, July 1999.CrossRefGoogle Scholar
  6. 6.
    L. Cardelli and A. Gordon. Mobile ambients. In M. Nivat, editor, Foundations of Software Science and Computational Structures, volume 1378 of Lecture Notes in Computer Science, pages 140–155. Springer Verlag, 1998.CrossRefGoogle Scholar
  7. 7.
    N. Carriero and D. Gelernter. Coordination Languages and their Significance. Communications of the ACM, 5(2):97–107, 1989.Google Scholar
  8. 8.
    N. Carriero and D. Gelernter. Linda in Context. Communications of the ACM, 32(4):444–459, 1989.CrossRefGoogle Scholar
  9. 9.
    K. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, Reading Mass., 1988.MATHGoogle Scholar
  10. 10.
    G. Cugola, C. Ghezzi, G. Picco, and G. Vigna. Analyzing Mobile Code Languages. In Mobile Object Systems: Towards the Programmable Internet, volume 1222 of Lecture Notes in Computer Science, pages 93–110. Springer-Verlag, Apr 1997.Google Scholar
  11. 11.
    R. De Nicola, G. Ferrari, and R. Pugliese. A Kernel Language for Agents Interaction and Mobility. IEEE Transactions on Software Engineering, 24(5):315–330, 1998.CrossRefGoogle Scholar
  12. 12.
    R. De Nicola, G. Ferrari, R. Pugliese, and B. Venneri. Types for Access Control. Theoretical Computer Science, to appear, 2000. Available at
  13. 13.
    G. Ferrari, C. Montangero, L. Semini, and S. Semprini. Multiple Security Policies in Mobadtl. In Proc. Workshop on Issues in the Theory of Security (WITS’00), Geneva, 7,8 July 2000.Google Scholar
  14. 14.
    C. Fournet, G. Gonthier, J.-J. Lévy, L. Maranget, and D. Rémy. A Calculus of Mobile Agents. In U. Montanari and V. Sassone, editors, Proc. CONCUR’ 96: Concurrency Theory, 7th International Conference, volume 1119 of Lecture Notes in Computer Science, pages 406–421, Pisa, Aug. 1996. Springer-Verlag. 248 G. Ferrari et al.CrossRefGoogle Scholar
  15. 15.
    A. Fuggetta, G. Picco, and G. Vigna. Understanding Code Mobility. IEEE Transactions on Software Engineering, 24(5):342–361, 1998.CrossRefGoogle Scholar
  16. 16.
    D. Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, 1989.CrossRefMATHGoogle Scholar
  17. 17.
    L. Gong. Inside Java 2 Platform Security. Addison-WESLEY, 1999.Google Scholar
  18. 18.
    M. Hennessy and J. Riely. Resource Access Control in Systems of Mobile Agents. In U. Nestmann and B. Pierce, editors, Proc. HLCL’ 98: High-Level Concurrent Languages, volume 16.3 of Electronic Notes on Theoretical Computer Science, pages 3–17, Nice, France, Sep. 1998. Elsevier Science Publishers.Google Scholar
  19. 19.
    D. B. Lange and M. Oshima. Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, 1998.Google Scholar
  20. 20.
    F. Levi and D. Sangiorgi. Controlling Interference in Ambients. In Proc. 27 th Annual ACM Symp. on Principles of Programming Languages, pages 352–264, Boston, Jan 00. ACM Press.Google Scholar
  21. 21.
    P. McCann and G.-C. Roman. Compositional programming abstractions for mobile computing. IEEE Transactions on Software Engineering, 24(2):97–110, Feb. 1998.Google Scholar
  22. 22.
    C. Montangero and L. Semini. Composing Specifications for Coordination. In P. Ciancarini and A. Wolf, editors, Proc. 3nd Int. Conf. on Coordination Models and Languages, volume 1594 of Lecture Notes in Computer Science, pages 118–133, Amsterdam, Apr. 1999. Springer-Verlag.Google Scholar
  23. 23.
    G. Necula. Proof-carrying code. In Proc. of the ACM Symposium on Principles of Programming Languages. ACM, 1997.Google Scholar
  24. 24.
    L. Paulson and T. Nipkow. Isabelle.
  25. 25.
    D. Sangiorgi. Personal Communication.Google Scholar
  26. 26.
    L. Semini and C. Montangero. A Refinement Calculus for Tuple Spaces. Science of Computer Programming, 34:79–140, 1999.MathSciNetCrossRefMATHGoogle Scholar
  27. 27.
    P. Sewell and J. Vitek. Secure Composition of Insecure Components. In Proc. Computer Security Foundations Workshop 12, CSFW-12. IEEE, 1999.Google Scholar
  28. 28.
    J. Vitek and G. Castagna. Towards a Calculus of Secure Mobile Computations. In Proc. Workshop on Internet Programming Languages, volume 1686 of Lecture Notes in Computer Science, Chicago, Illinois, May 1998. Springer-Verlag.Google Scholar
  29. 29.
    J. E. White. Mobile Agents. In J. Bradshaw, editor, Software Agents. AAAI Press and MIT Press, 1996.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Gianluigi Ferrari
    • 1
  • Carlo Montangero
    • 1
  • Laura Semini
    • 1
  • Simone Semprini
    • 1
  1. 1.Dipartimento di InformaticaUniversitá di PisaItaly

Personalised recommendations