Abstract
This paper presents a comparative survey of formalisms related to mobile agents. It describes the π-calculus and its extensions, the Ambient calculus, Petri nets, Actors, and the family of generative communication languages. Each of these formalisms defines a mathematical framework that can be used to reason about mobile code; they vary greatly in their expressiveness, in the mechanisms they provide to specify mobile code based applications and in their practical usefulness for the validation and the verification of such applications. In this paper we show how these formalisms can be used to represent the mobility and communication aspects of two mobile code environments: Obliq and Messengers. We compare and classify the different formalisms with respect to mobility and discuss some shortcomings and desirable extensions. We also point to other emerging concepts in formalisms for mobile code systems.
This is a preview of subscription content, access via your institution.
References
Abadi, M. and A.D. Gordon (1997), “A Calculus for Cryptographic Protocols: The Spi Calculus,” In Fourth ACM Conference on Computer and Communications Security, ACM Press, New York, NY, pp. 36–47.
Agha, G.A. (1986), Actors: A Model of Concurrent Computation in Distributed Systems, MIT Press, Cambridge, MA.
Agha, G.A., I.A. Mason, S.F. Smith and C.L. Talcott (1997), “A Foundation for Actor Computation,” Journal of Functional Programming 7, 1, 1–72.
Amadio, R.M. (1997), “An Asynchronous Model of Locality, Failure, and Process Mobility,” In Proceedings of the 2nd International Conference on Coordination Languages and Models (COORDINATION'97), Lecture Notes in Computer Science, Vol. 1282, Springer-Verlag, Berlin, Germany, pp. 374–391. Full version as Rapport Interne, LIM Marseille, and Rapport de Recherche RR-3109, INRIA Sophia-Antipolis, 1997.
Asperti, A. and N. Busi (1996), “Mobile Petri Nets,” Technical Report UBLCS-96-10, Laboratory for Computer Science, University of Bologna, Italy.
Biberstein, O. (1997), “CO-OPN/2 An Object-Oriented Formalism for Concurrent Processes,” PhD Dissertation, University of Geneva, Geneva, Switzerland.
Cardelli, L. (1995), “A Language with Distributed Scope,” Computing Systems 8, 1, 27–59.
Cardelli, L. and A.D. Gordon (1998), “Mobile Ambients,” In Proceedings of Foundations of Software Science and Computation Structures (FoSSaCS), European Joint Conferences on Theory and Practice of Software (ETAPS), Springer-Verlag, Berlin, Germany, to appear.
Chandy, K. and J. Misra (1988), Parallel Program Design, Addison-Wesley, Reading, MA.
Ciancarini, P. (1994), “Distributed Programming with Logic Tuple Spaces,” New Generation Computing 12, 3, 251–284.
Ciancarini, P., R. Gorrieri and G. Zavattaro (1996), “Towards a Calculus for Generative Communication,” In Proceedings of 1st IFIP Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS), Chapman, Paris, France, pp. 289–306.
Dalmonte, A. and M. Gaspari (1995), “Modelling Interaction in Agent System,” Technical Report UBLCS-95-7, Laboratory for Computer Science, University of Bologna, Italy.
De Nicola, R., G. Ferrari and R. Pugliese (1997a), “Coordinating Mobile Agents via Blackboards and Access Rights,” In Proceedings of the 2nd International Conference on Coordination Languages and Models (COORDINATION'97), Lecture Notes in Computer Science, Vol. 1282, Springer-Verlag, Berlin, Germany, pp. 220–237.
De Nicola, R., G. Ferrari and R. Pugliese (1997b), “Locality Based Linda: Programming with Explicit Localities,” In Proceedings of Theory and Practice of Software Development (TAPSOFT'97), Lecture Notes in Computer Science, Vol. 1214, Springer-Verlag, Berlin, Germany, pp. 712–726.
Di Marzo, G., M. Muhugusa and C.F. Tschudin (1996), “Agent Mobility,” In Bots and Other Internet Beasties, J. Williams, Ed., Sams.net, Indianapolis, IN, pp. 375–406.
Fournet, C. and G. Gonthier (1996), “The Reflexive CHAM and the Join-Calculus,” In Conference Record of POPL'96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM Press, New York, NY, pp. 372–385.
Fournet, C., G. Gonthier, J. Levy, L. Maranget and D. Remy (1996), “A Calculus of Mobile Agents,” In Proceedings of 7th International Conference on Concurrency Theory (CONCUR'96), Lecture Notes in Computer Science, Vol. 1119, Springer-Verlag, Berlin, Germany, pp. 406–421.
Gaspari, M. (1996), “Towards an Algebra of Actors,” Technical Report UBLCS-96-9, Laboratory for Computer Science, University of Bologna, Italy.
Lange, D.B., M. Oshima, G. Karjoth and K. Kosaka (1997), “Aglets: Programming Mobile Agents in Java,” In 1st International Conference on Worldwide Computing and Its Applications (WWCA'97), Lecture Notes in Computer Science, Vol. 1274, Springer-Verlag, Berlin, Germany, pp. 253–266.
Lea, D. (1997), Concurrent Programming in Java, The Java Series, Addison-Wesley, Reading, MA.
Milner, R. (1993), “The Polyadic π-calculus: A Tutorial,” In Logic and Algebra of Specification, Hamer, Brauer and Schwichtenberg, Eds., Springer-Verlag, Berlin, Germany, pp. 1–49.
Montanari, U. and M. Pistore (1997), “History-Dependent Automata,” Technical Report, Dipartimento di Informatica, Universita di Pisa, Italy. ftp://ftp.di.unipi.it/pub/Papers/pistore/HDautomata.ps.gz.
Picco, G.P., G.-C. Roman and P.J. McCann (1997a), “Expressing Code Mobility in Mobile UNITY,” In Proceedings of the 6th European Software Engineering Conference held jointly with the 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'97), Lecture Notes in Computer Science, Vol. 1301, Springer-Verlag, Berlin, Germany, pp. 500–518.
Picco, G.P., G.-C. Roman and P.J. McCann (1997b), “Reasoning About Code Mobility in Mobile UNITY,” Technical Report WUCS-97-43, Washington University in St. Louis, Saint Louis, MO.
Roman, G.-C., P.J. McCann and J. Plunn (1997), “Mobile UNITY: Reasoning and Specification in Mobile Computing,” ACM Transactions on Software Engineering and Methodology 6, 3, 250–282.
Sangiorgi, D. (1993), “Expressing Mobility in Process Algebra,” PhD Dissertation, University of Edinburgh, Edinburgh, UK.
Sibertin-Blanc, C. (1994), “Cooperative Nets,” In Proceedings of Application and Theory of Petri Nets, Lecture Notes in Computer Science, Vol. 815, Springer-Verlag, Berlin, Germany, pp. 471–490.
Thomsen, B. (1993), “Plain CHOCS. A Second Generation Calculus for Higher Order Processes,” Acta Informatica 30, 1, 1–59.
Tschudin, C.F. (1993), “On the Structuring of Computer Communications,” PhD Dissertation, Thèse No 2632, University of Geneva, Geneva, Switzerland.
Tschudin, C.F. (1997), “The Messenger Environment M0 – A Condensed Description,” In Mobile Object Systems: Towards the Programmable Internet (MOS'96), Lecture Notes in Computer Science, Vol. 1222, Springer-Verlag, Berlin, Germany, pp. 149–156.
Waldo, J., G. Wyant, A. Wollrath and S. Kendall (1994), “A Note on Distributed Computing,” Technical Report SML 94-29, Sun Microsystems Laboratories, Palo Atto, CA. Reprinted in Lecture Notes in Computer Science, Vol. 1222, Springer-Verlag, Berlin, Germany, pp. 49–64.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Di Marzo Serugendo, G., Muhugusa, M. & Tschudin, C.F. A survey of theories for mobile agents. World Wide Web 1, 139–153 (1998). https://doi.org/10.1023/A:1019219916118
Issue Date:
DOI: https://doi.org/10.1023/A:1019219916118