A Formal Architectural Model for Logical Agent Mobility

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]  Jean-Jacques Lévy,et al.  A Calculus of Mobile Agents , 1996, CONCUR.

[2]  Kurt Lautenbach,et al.  System Modelling with High-Level Petri Nets , 1981, Theor. Comput. Sci..

[3]  Anand R. Tripathi,et al.  Design issues in mobile agent programming systems , 1998, IEEE Concurr..

[4]  Yi Deng,et al.  Specifying Software Architectural Connectors in SAM , 2000, Int. J. Softw. Eng. Knowl. Eng..

[5]  Peter Huber,et al.  Towards reachability trees for high-level Petri nets , 1985, European Workshop on Applications and Theory in Petri Nets.

[6]  Gian Pietro Picco,et al.  Understanding code mobility , 1998, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[7]  Michael R. Genesereth,et al.  Software agents , 1994, CACM.

[8]  Daniel Moldt,et al.  Multi-Agent-Systems Based on Coloured Petri Nets , 1997, ICATPN.

[9]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[10]  George Cybenko,et al.  Mobile Agents: Motivations and State-of-the-Art Systems , 2000 .

[11]  Tom Holvoet,et al.  Behaviour Specification of Parallel Active Objects , 1998, Parallel Comput..

[12]  Hartmann J. Genrich,et al.  Predicate/Transition Nets , 1986, Advances in Petri Nets.

[13]  Søren Christensen,et al.  A General Systematic Approach to Arc Extensions for Coloured Petri Nets , 1994, Application and Theory of Petri Nets.

[14]  Avrim Blum,et al.  Fast Planning Through Planning Graph Analysis , 1995, IJCAI.

[15]  Gruia-Catalin Roman,et al.  A fine-grained model for code mobility , 1999, ESEC/FSE-7.

[16]  Eric Badouel,et al.  Reconfigurable Nets, a Class of High Level Petri Nets Supporting Dynamic Changes , 1998 .

[17]  Cecilia Mascolo MobiS: A Specification Language for Mobile Systems , 1999, COORDINATION.

[18]  Amy L. Murphy,et al.  LIME: Linda meets mobility , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[19]  Rüdiger Valk,et al.  Petri Nets as Token Objects: An Introduction to Elementary Object Nets , 1998, ICATPN.

[20]  Danny B. Lange,et al.  Mobile Objects and Mobile Agents: The Future of Distributed Computing? , 1998, ECOOP.

[21]  Antonio Vallecillo,et al.  A Reflective Component Model for Open Systems , 1998, ECOOP Workshops.

[22]  Markus Lindquist Parameterized Reachability Trees for Predicate/Transition Nets , 1991, Applications and Theory of Petri Nets.

[23]  Gruia-Catalin Roman,et al.  Mobile UNITY: reasoning and specification in mobile computing , 1997, TSEM.

[24]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[25]  Jiacun Wang,et al.  Introducing software architecture specification and analysis in SAM through an example , 1999, Inf. Softw. Technol..

[26]  Dianxiang Xu,et al.  A logic based language for networked agents , 1998, Inf. Softw. Technol..

[27]  Giovanna Di Marzo Serugendo,et al.  A survey of theories for mobile agents , 2004, World Wide Web.

[28]  Akinori Yonezawa,et al.  A calculus with code mobility , 1997 .

[29]  John Yen,et al.  Modeling and verifying multi-agent behaviors using predicate/transition nets , 2002, SEKE '02.

[30]  Aaron Kershenbaum,et al.  Mobile Agents: Are They a Good Idea? , 1996, Mobile Object Systems.

[31]  Gruia-Catalin Roman,et al.  Compositional Programming Abstractions for Mobile Computing , 1998, IEEE Trans. Software Eng..

[32]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

[33]  Giovanni Vigna,et al.  Designing Distributed Applications with Mobile Code Paradigms , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[34]  Rüdiger Valk Self-Modifying Nets, a Natural Extension of Petri Nets , 1978, ICALP.

[35]  Michel Wermelinger,et al.  Connectors for Mobile Programs , 1998, IEEE Trans. Software Eng..

[36]  Dianxiang Xu,et al.  Modeling mobile agent systems with high level Petri nets , 2000, Smc 2000 conference proceedings. 2000 ieee international conference on systems, man and cybernetics. 'cybernetics evolving to systems, humans, organizations, and their complex interactions' (cat. no.0.