Software engineering for mobility: a roadmap

The term distributed computing conjures the image of a fixed network structure whose nodes support the execution of processes that communicate with each other via messages traveling along links. Peer-to-peer communication is feasible but client-server relationships dominate. More recently, servers have been augmented with brokerage capabilities to facilitate discovery of available services. Stability is the ideal mode of operation; changes are relatively slow; even in the case of failure, nodes and links are expected eventually to come back up. By contrast, mobility represents a total meltdown of all the stability assumptions (explicit or implicit) associated with distributed computing. The network structure is no longer fixed, nodes may come and go, processes may move among nodes, and even programs (the code executed by processes) may evolve and change structure. The challenges and opportunities associated with this computational melee form the main subject of this paper. We seek to sort out this chaotic form of computing by focusing our attention on the formulation of a simple framework for viewing mobility, on precise definition of terms, and on research issues mobility poses for the software engineering community.

[1]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

[2]  Martín Abadi,et al.  A Calculus for Cryptographic Protocols: The spi Calculus , 1999, Inf. Comput..

[3]  M. Singhal,et al.  A Dynamic Approach to Location Management in Mobile Computing Systems , 1996 .

[4]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[5]  Amy L. Murphy,et al.  Tracking Mobile Units for Dependable Message Delivery , 2002, IEEE Trans. Software Eng..

[6]  Vincent Park,et al.  Temporally-Ordered Routing Algorithm (TORA) Version 1 Functional Specification , 2001 .

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

[8]  Marvin Theimer,et al.  Managing update conflicts in Bayou, a weakly connected replicated storage system , 1995, SOSP.

[9]  Martín Abadi,et al.  A calculus for cryptographic protocols: the spi calculus , 1997, CCS '97.

[10]  John L. Hennessy,et al.  The Future of Systems Research , 1999, Computer.

[11]  Gian Pietro Picco µCODE: A Lightweight and Flexible Mobile Code Toolkit , 1998, Mobile Agents.

[12]  Abdelsalam Helal,et al.  A mobile transaction model that captures both the data and movement behavior , 1997, Mob. Networks Appl..

[13]  Andy Hopper,et al.  The active badge location system , 1992, TOIS.

[14]  Franco Zambonelli,et al.  Reactive Tuple Spaces for Mobile Agent Coordination , 1998, Mobile Agents.

[15]  Alfonso Fuggetta,et al.  The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS , 2001, IEEE Trans. Software Eng..

[16]  Dennis M. Volpano,et al.  Provably-secure programming languages for remote evaluation , 1997, SIGP.

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

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

[19]  Mario Baldi,et al.  Evaluating the tradeoffs of mobile code design paradigms in network management applications , 1998, Proceedings of the 20th International Conference on Software Engineering.

[20]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[21]  Roberto M. Amadio,et al.  An Asynchronous Model of Locality, Failure and Process Mobility , 1997, COORDINATION.

[22]  David S. Rosenblum,et al.  A design framework for Internet-scale event observation and notification , 1997, ESEC '97/FSE-5.

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

[24]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[25]  Jim White,et al.  Telescript technology: mobile agent , 1999 .

[26]  Radhika Nagpal,et al.  Paradigms for Structure in an Amorphous Computer , 1997 .

[27]  Daniel M. Zimmerman,et al.  benefits and drawbacks of current Java mobile agent systems , 1997 .

[28]  Tomasz Imielinski,et al.  Designing distributed algorithms for mobile computing networks , 1996, Comput. Commun..

[29]  B. R. Badrinath,et al.  Checkpointing distributed applications on mobile computers , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[30]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .

[31]  J. McLurkin Using Cooperative Robots for Explosive Ordnance Disposal , .

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

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

[34]  Mukesh Singhal,et al.  A Dynamic Apporach Towards Location Management in Mobile Computing Systems , 1996, International Conference on Software Engineering and Knowledge Engineering.

[35]  Kevin Crowston,et al.  The interdisciplinary study of coordination , 1994, CSUR.

[36]  David K. Gifford,et al.  Remote evaluation , 1990, TOPL.

[37]  Mahadev Satyanarayanan,et al.  Mobile Information Access , 1996 .

[38]  J. Broach,et al.  The dynamic source routing protocol for mobile ad-hoc networks , 1998 .

[39]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

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

[41]  Randy H. Katz,et al.  Next century challenges: mobile networking for “Smart Dust” , 1999, MobiCom.

[42]  Mukesh Singhal,et al.  An Adaptive Causal Ordering Algorithm Suited to Mobile Computing Environments , 1997, J. Parallel Distributed Comput..

[43]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

[44]  Jean-Jacques Lévy,et al.  A Calculus of Mobile Agents , 1996, CONCUR.