Understanding Code Mobility


Alfonso Fuggetta, Gian Pietro Picco, Giovanni Vigna

IEEE Transactions on Software Engineering 24(5), pages 342–361
May 1998

The technologies, architectures, and methodologies traditionally used to develop distributed applications exhibit a variety of limitations and drawbacks when applied to large scale distributed settings (e.g., the Internet). In particular, they fail in providing the desired degree of configurability, scalability, and customizability. To address these issues, researchers are investigating a variety of innovative approaches. The most promising and intriguing ones are those based on the ability of moving code across the nodes of a network, exploiting the notion of mobile code. As an emerging research field, code mobility is generating a growing body of scientific literature and industrial developments. Nevertheless, the field is still characterized by the lack of a sound and comprehensive body of concepts and terms. As a consequence, it is rather difficult to understand, assess, and compare the existing approaches. In turn, this limits our ability to fully exploit them in practice, and to further promote the research work on mobile code. Indeed, a significant symptom of this situation is the lack of a commonly accepted and sound definition of the term "mobile code" itself.

This paper presents a conceptual framework for understanding code mobility. The framework is centered around a classification that introduces three dimensions: technologies, design paradigms, and applications. The contribution of the paper is two-fold. First, it provides a set of terms and concepts to understand and compare the approaches based on the notion of mobile code. Second, it introduces criteria and guidelines that support the developer in the identification of the classes of applications that can leverage off of mobile code, in the design of these applications, and, finally, in the selection of the most appropriate implementation technologies. The presentation of the classification is intertwined with a review of state-of-the-art in the field. Finally, the use of the classification is exemplified in a case study.

(keywords) Mobile code, mobile agent, distributed application, design paradigm.

Publication

— authors

Alfonso Fuggetta, Gian Pietro Picco, Giovanni Vigna

— status

published

— sort

article in journal

— publication date

May 1998

— journal

IEEE Transactions on Software Engineering

— volume

24

— issue

5

— pages

342–361

URLs

original page

identifiers

— DOI

10.1109/32.685258

— ACM

278941

— print ISSN

0098-5589

Partita IVA: 01131710376 — Copyright © 2008–2023 APICe@DISI – PRIVACY