World Scientific
  • Search
Skip main navigation

Cookies Notification

We use cookies on this site to enhance your user experience. By continuing to browse the site, you consent to the use of our cookies. Learn More
×
Our website is made possible by displaying certain online content using javascript.
In order to view the full content, please disable your ad blocker or whitelist our website www.worldscientific.com.

System Upgrade on Tue, Oct 25th, 2022 at 2am (EDT)

Existing users will be able to log into the site and access content. However, E-commerce and registration of new users may not be available for up to 12 hours.
For online purchase, please visit us again. Contact us at [email protected] for any enquiries.

TOWARDS MOBILITY SKELETONS

    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
    • H. Cejtin, S. Jagannathan and R. Kelsey, ACM Transactions on Programming Languages and Systems (TOPLAS) 17(5), 704 (1995). Crossref, ISIGoogle 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
    • A. Fuggetta, G. Picco and G. Vigna, Transactions on Software Engineering 24(5), 342 (1998). Crossref, ISIGoogle 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
    • G. Huet, Journal of Functional Programming 7(5), 549 (1997). CrossrefGoogle 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