Simulation of Mobile Applications 1

Mobile applications are composed by software components that may migrate through the nodes of a network. Migration is controlled by the software developer, being part of the applications functionality. There are various potential application fields for this new technology. However, developing mobile applications is a difficult task since they are not only distributed and concurrent, but also mobile. This increases the complexity of testing in real conditions, where one cannot be sure whether an error is a result from the mobile application or from the environment in which it runs (e.g. the Internet). Simulation is used in this work as a means for testing models of mobile applications, such that the developer may check if the model behaves as expected under known environment conditions that can be chosen. We use a formal specification language for mobile applications that is based on graph grammars. The entities of a model according to this formalism can be simulated and code can be generated to build a real application. This paper describes the specification formalism, the code generation approach, and the simulation environment in more detail. Parts of a specification of a mobile application that has been simulated and executed are given as examples.

[1]  Flávio Morais de Assis Silva,et al.  A transaction model based on mobile agents , 1999 .

[2]  R.M. Fujimoto,et al.  Parallel and distributed simulation systems , 2001, Proceeding of the 2001 Winter Simulation Conference (Cat. No.01CH37304).

[3]  Carolyn L. Talcott,et al.  Formal Methods for Open Object-Based Distributed Systems IV , 2000, IFIP Advances in Information and Communication Technology.

[4]  James A. Gosling,et al.  The java language environment: a white paper , 1995 .

[5]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[6]  Yechiam Yemini,et al.  Distributed management by delegation , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[7]  Andrea Corradini,et al.  Concurrent computing: from Petri nets to graph grammars , 1995, SEGRAGRA.

[8]  David M. Nicol,et al.  State of the art in parallel simulation , 1992, WSC '92.

[9]  Gul A. Agha,et al.  Actors: A unifying model for parallel and distributed computing , 1999, J. Syst. Archit..

[10]  Leila Ribeiro,et al.  Parallel composition and unfolding semantics of graph grammars , 1996 .

[11]  ROBIN MILNER,et al.  Edinburgh Research Explorer A Calculus of Mobile Processes, I , 2003 .

[12]  R. M. Fujimoto,et al.  Parallel discrete event simulation , 1989, WSC '89.

[13]  Fernando Luís Dotti,et al.  Specification of Mobile Code Systems using Graph Grammars , 2000, FMOODS.

[14]  Leila Ribeiro,et al.  Compositional Construction of Simulation Models Using Graph Grammars , 1999, AGTIVE.

[15]  Leila Ribeiro,et al.  An environment for formal modeling and simulation of control systems , 2000, Proceedings 33rd Annual Simulation Symposium (SS 2000).

[16]  Leila Ribeiro,et al.  Parallel Composition of Graph Grammars , 1999, Appl. Categorical Struct..

[17]  Konstantinos Psounis,et al.  Active networks: Applications, security, safety, and architectures , 1999, IEEE Communications Surveys & Tutorials.

[18]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[19]  Iakovos S. Venieris,et al.  Mobile agent standards and available platforms , 1999, Comput. Networks.

[20]  Peter Sewell,et al.  Nomadic Pict: language and infrastructure design for mobile agents , 1999, Proceedings. First and Third International Symposium on Agent Systems Applications, and Mobile Agents.

[21]  Rasmus Ejlers Møgelberg,et al.  Foundations of Software Science and Computational Structures , 2002 .

[22]  Rocco De Nicola,et al.  KLAIM: A Kernel Language for Agents Interaction and Mobility , 1998, IEEE Trans. Software Eng..

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