TOWARDS MOBILITY SKELETONS
Abstract
In mobile languages programmers control the placement of code or computations in open networks, e.g., a program can migrate between locations. Mobile computations are typically stateful and interact with the state at each location in the network. We propose mobility skeletons, a library of parameterisable functions that encapsulate common patterns of mobile computation. Mobility skeletons are analogous to, but very different from, algorithmic skeletons — parameterisable functions encapsulating common patterns of parallel computation. We have identified three common patterns of mobile computation, and implemented them as a library of higher-order functions in mobile Haskell. Each mobility skeleton is defined and illustrated with an example. We show how mobility skeletons can be composed and nested, and illustrate their use in a non-trivial case study: a distributed meeting planner. Mobility skeletons are extensible: there is a small set of mobility primitives, and medium-level abstractions such as remote evaluation can be defined using them. New mobility skeletons can be defined using the medium and low level abstractions.
References
- J. Armstrong. Making reliable distributed systems in the presence of errors. PhD thesis, Royal Institute of Technology, Stockholm, 2003 . Google Scholar
-
A. R. D. Bois , P. Trinder and H.-W. Loidl , Trends in Functional Programming 4 ( Intellect , 2004 ) . Google Scholar - A. R. D. Bois, P. Trinder, and H.-W. Loidl. mHaskell: Mobile computation in a purely functional language. In Draft proc. of IFL 14, Luebeck, Germany, 2004 . Google Scholar
- L. Cardelli. Abstrations for mobile computation. In Secure Internet Programming, pages 51–94, 1999 . Google Scholar
- ACM Transactions on Programming Languages and Systems (TOPLAS) 17(5), 704 (1995). Crossref, ISI, Google Scholar
-
M. Cole , Algorithmic Skeletons: Structured Management of Parallel Computation ( Pitman , 1989 ) . Google Scholar - S. Conchon and F. L. Fessant. Jocaml: Mobile agents for Objective-Caml. In ASA '99/MA '99, Palm Springs, CA, USA, 1999 . Google Scholar
- Transactions on Software Engineering 24(5), 342 (1998). Crossref, ISI, Google Scholar
- The Glasgow Haskell Compiler. http://www.haskell.org/ghc/, WWW page, 2004 . Google Scholar
-
W. Grosso , Java RMI ( O'Reilly , 2001 ) . Google Scholar - High Performance Fortran. http://www.crpc.rice.edu/HPFF/, WWW page, 2004 . Google Scholar
- Journal of Functional Programming 7(5), 549 (1997). Crossref, Google Scholar
S. P. Jones , Engineering theories of software construction (IOS Press, 2001) pp. 47–96. Google Scholar- P. T. Wojciechowski. Nomadic Pict: Language and Infrastructure Design for Mobile Computation. PhD thesis, Wolfson College, University of Cambridge, 2000 . Google Scholar


