This Article 
 Bibliographic References 
 Add to: 
A Formal Architectural Model for Logical Agent Mobility
January 2003 (vol. 29 no. 1)
pp. 31-45

Abstract—The process of agent migration is the major difference between logical code mobility of software agents and physical mobility of mobile nodes in ad hoc networks. Without considering agent transfer, it would make little sense to mention the modeling of strong code mobility, which aims to make a migrated agent restarted exactly from the state when it was stopped before migration. From the perspective of system's architecture, this paper proposes a two-layer approach for the formal modeling of logical agent mobility (LAM) using predicate/transition (PrT) nets. We view a mobile agent system as a set of agent spaces and agents could migrate from one space to another. Each agent space is explicitly abstracted to be a component, consisting of an environmental part and an internal connector dynamically binding agents with their environment. We use a system net, agent nets, and a connector net to model the environment, agents, and the connector, respectively. In particular, agent nets are packed up as parts of tokens in system nets, so that agent transfer and location change are naturally captured by transition firing (token game) in Petri nets. Agent nets themselves are active only at specific places and disabled at all the other places in a system net. The semantics of such a two-layer LAM model is defined by transforming it into a PrT net. This facilitates the analysis of several properties about location, state, and connection. In addition, this paper also presents a case study of modeling and analyzing an information retrieval system with mobile agents.

[1] A. Asperti and N. Busi, “Mobile Petri Nets,” Technical Report, UBLCS-96-10, May 1996.
[2] R. Allen, R. Douence, and D. Garlen, “Specifying and Analyzing Dynamic Software Architectures,” Proc. Conf. Fundamental Approaches to Software Eng., Mar. 1998.
[3] E. Badouel and J. Oliver, “Reconfigurable Nets: A Class of High-Level Petri Nets Supporting Dynamic Changes with Workflow Systems,” INRIA Research Report, PI-1163, 1998.
[4] A. Blum and M.L. Furst, “Fast Planning through Planning Graph Analysis,” Artificial Intelligence, vol. 90, pp. 281-300, 1997.
[5] A. Carzaniga, G.P. Picco, and G. Vigna, "Designing Distributed Applications with Mobile Code Paradigms," Proc. 19th Conf. Software Eng. (ICSE'97), R. Taylor, ed., pp. 22-32, ACM Press, 1997.
[6] C. Fournet, G. Gonthier, J.-J. Lévy, L. Maranget, and D. Rémy, "A Calculus of Mobile Agents," Proc. Int'l Conf. Concurrency Theory. Lecture Notes in Computer Science 1,119, pp. 406-421. Springer-Verlag, 1996.
[7] A. Fuggetta, G. Picco, and G. Vigna, "Understanding Code Mobility," IEEE Trans. Software Eng., May 1998, pp. 352-361.
[8] M. Genesereth and S. Ketchpel, "Software Agents," Comm. ACM, July 1994, pp. 48-53.
[9] H.J. Genrich, “Predicate/Transition Nets,” Petri Nets: Central Models and Their Properties, W. Brauer, W. Resig, and G. Rozenberg, eds., pp. 207-247, 1987.
[10] H.J. Genrich and K. Lautenbach, “System Modeling with High-Level Petri Nets,” Theoretical Computer Science, vol. 13, pp. 109-136, 1981.
[11] R.S. Gray, G. Cybenko, D. Kotz, and D. Rus, “Mobile Agents: Motivations and State of the Art,” Handbook of Agent Technology, J. Bradshaw, ed., 2001.
[12] C.G. Harrison, D.M. Chess, and A. Kershenbaum, “Mobile Agents: Are They a Good Idea?” IBM Research Report, 1995.
[13] T. Holvoet and T. Kielmann, “Behavior Specification of Parallel Active Objects,” Parallel Computing, vol. 24, no. 7, pp. 1107-1135, 1998.
[14] P. Huber, A.M. Jensen, L.O. Jepsen, and K. Jensen, “Towards Reachability Trees for High-Level Petri Nets,” Advances in Petri Nets 1984, pp. 215-233, 1985.
[15] X. He, F. Zeng, and Y. Deng, “Specifying Software Architectural Connectors in SAM,” Proc. 11th Int'l Conf. Software Eng. and Knowledge Eng., June 1999.
[16] P. Inverardi and A.L. Wolf, Formal Specifications and Analysis of Software Architectures Using the Chemical Abstract Machine Model IEEE Trans. Software Eng., vol. 21, no. 4, pp. 100-114, Apr. 1995.
[17] N.M. Karnik and A.R. Tripathi, “Design Issues in Mobile-Agent Programming Systems,” IEEE Concurrency, July-Sept. 1998.
[18] B. Lange, “Mobile Objects and Mobile Agents: the Future of Distributed Computing?” Proc. European Conf. Object-Oriented Programming (ECOOP '98), (invited talk), July 1998.
[19] C. Lakos and S. Christensen, “A General Systematic Approach to Arc Extensions for Colored Petri Nets,” Application and Theory of Petri Nets, R. Valette ed., pp. 338-357, 1994.
[20] M. Lindqvist, “Parameterized Reachability Trees for Predicate/Transition Nets,” Proc. 11th Int'l Conf. Applications and Theory of Petri Nets, 1990.
[21] C. Mascolo, “MobiS: A Specification Language for Mobile Systems,” Proc. Third Int'l Conf. Coordination Models and Languages, pp. 37-52, Apr. 1999.
[22] C. Mascolo, G.P. Picco, and G.-C. Roman, “A Fine-Grained Model for Code Mobility,” Proc. Seventh European Software Eng. Conf. and Seventh ACM SIGSOFT Int'l Symp. Foundations of Software Eng. (ESEC/FSE '99), Sept. 1999.
[23] P.J. McCann and G.-C. Roman, “Compositional Programming Abstractions for Mobile Computing,” IEEE Trans. Software Eng., vol. 24, no. 2, pp. 97-110, Feb. 1998.
[24] T. Murata, “Petri Nets: Properties, Analysis and Application,” Proc. IEEE, vol. 77, no. 4, 1989.
[25] D. Moldt and F. Wienberg, “Multi-Agent Systems Based on Colored Petri Nets,” Application and Theory of Petri Nets, P. Azema and G. Balbo, eds., pp. 82-101, 1997.
[26] OMG Mobile Agent System Interoperability Facilities (MASIF), .
[27] G.P. Picco, A.L. Murphy, and G.-C. Roman, “Lime: Linda Meets Mobility,” Proc. 21st Int'l Conf. Software Eng. (ICSE '99), 1999.
[28] G.-C. Roman, P.J. McCann, and Jerome Y. Plun, "Mobile UNITY: Reasoning and Specification in Mobile Computing," ACM TOSEM, vol. 6, no. 3, pp. 250-282, July 1997.
[29] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
[30] D.M. Serugendo, M. Muhugusa, and C.F. Tschudin, “A Survey of Theories for Mobile Agents,” World Wide Web, vol. 1, no. 3, pp. 139-153, 1998.
[31] T. Sekiguchi and A. Yonezawa, “A Calculus with Code Mobility,” Proc. Formal Methods for Open Object-Based Distributed Systems Conf. (FMOODS '97), July 1997.
[32] J.M. Troya and A. Vallecillo, “A Reflexive Component Model for Open Systems,” Proc. Workshop Reflexive OO Programming and Systems of ECOOP '98, 1998.
[33] R.G. Valk, “Self-Modifying Nets: A Natural Extension of Petri Nets,” Proc. Int'l Colloquium Automata, Languages, and Programming (ICALP '78), pp. 464-476, 1978.
[34] R.G. Valk, “Petri Nets as Token Objects: An Introduction to Elementary Object Nets,” Application and Theory of Petri Nets, J. Desel and M. Silva, eds., pp. 1-25, 1998.
[35] M. Wermelinger and J.L. Fiadeiro, “Connectors for Mobile Programs,” IEEE Trans. Software Eng., vol. 24, no. 5, pp. 331-341, May 1998.
[36] J. Wang, X. He, and Y. Deng, “Software Architecture Specification and Analysis in SAM: A Case Study,” Information and Software Technology, vol. 41, no. 7, pp. 451-467, 1999.
[37] D. Xu and Y. Deng, “Modeling Mobile Agent Systems with High-Level Petri Nets,” Proc. 2000 IEEE Conf. Systems, Man, and Cybernetics, pp. 3177-3182, Oct. 2000.
[38] D. Xu, R.A. Volz, T.R. Ioerger, and J. Yen, “Modeling and Verifying Multi-Agent Behaviors Using Predicate/Transition Nets,” Proc. 14th Int'l Conf. Software Eng. and Knowledge Eng., pp. 193-200, July 2002.
[39] D. Xu, G. Zheng, and X. Fan, “A Logic Based Language for Networked Agents,” Information and Software Technology, vol. 40, no. 8, pp. 435-442, 1998.

Index Terms:
Mobile agent, mobility, modeling, predicate/transition net, Petri net, software architecture.
Dianxiang Xu, Jianwen Yin, Yi Deng, Junhua Ding, "A Formal Architectural Model for Logical Agent Mobility," IEEE Transactions on Software Engineering, vol. 29, no. 1, pp. 31-45, Jan. 2003, doi:10.1109/TSE.2003.1166587
Usage of this product signifies your acceptance of the Terms of Use.