Portable Resource Reification in Java-Based Mobile Agent Systems

  • Alex Villazón
  • Walter Binder
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2240)


Resource awareness is an important step towards the realization of adaptable software, something which is particularly desirable in the context of mobile code and mobile agent environments. Since resources (CPU, memory, network bandwidth, etc.) are not available and manipulable as first-class entities in standard programming models, such as in the Java language, some kind of reification seems indispensable. This is however diffcult to achieve, especially if portability is a requirement. In this paper we describe a mobile agent execution environment that reifies several aspects of both the execution environment itself and of the mobile agents it hosts. We explain how resources consumed by an agent are reified directly from the agent code. Performance measurements show that our approach incurs only moderate overhead.


Mobile Agent Network Bandwidth Execution Environment Resource Control Java Virtual Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    G. Back, W. Hsieh, and J. Lepreau. Processes in KaffeOS: Isolation, resource management, and sharing in Java. In Proceedings of the Fourth Symposium on Operating Systems Design and Implementation (OSDI’2000), San Diego, CA, USA, Oct. 2000.Google Scholar
  2. [2]
    J. Baumann. Control Algorithms for Mobile Agents. PhD thesis, University of Stuttgart, Germany, 1999.Google Scholar
  3. [3]
    W. Binder. Design and implementation of the J-SEAL2 mobile agent kernel. In The 2001 Symposium on Applications and the Internet (SAINT-2001), San Diego, CA, USA, Jan. 2001.Google Scholar
  4. [4]
    W. Binder, J. Hulaas, A. Villazón, and R. Vidal. Portable resource control in Java: The J-SEAL2 approach. In ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’01), Tampa Bay, Florida, USA, Oct. 2001.Google Scholar
  5. [5]
    G. Blair, G. Coulson, P. Robin, and M. Papathomas. An Architecture for Next Generation Middleware. In N. Davies, K. Raymond, and J. Seitz, editors, IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware’98), Lake District, UK, 1998. Springer-Verlag.Google Scholar
  6. [6]
    J. Bredin, D. Kotz, and D. Rus. Market-based resource control for mobile agents. In Second International Conference on Autonomous Agents, Minneapolis,USA, May 1998.Google Scholar
  7. [7]
    C. Bryce and J. Vitek. The JavaSeal mobile agent kernel. In First International Symposium on Agent Systems and Applications (ASA’99)/Third International Symposium on Mobile Agents (MA’99), Palm Springs, CA, USA, Oct. 1999.Google Scholar
  8. [8]
    S. Chiba. Load-time structural reflection in Java. In ECOOP, pages 313–336, 2000.Google Scholar
  9. [9]
    M. F. Costa, H. Duran, N. Parlavantzas, K. Saikoski, G. Blair, and G. Coulson. The Role of Reflective Middleware in Supporing the Engineering of Complex Applications. In W. Cazzola, R. Stroud, and F. Tisato, editors, OOPSLA’99, Workshop on Object-Oriented Reflection and Software Engineering, Denver, Colorado, USA, Nov. 1999.Google Scholar
  10. [10]
    G. Czajkowski and T. von Eicken. JRes: A resource accounting interface for Java. In OOPSLA-98, pages 21–35, New York, USA, Oct. 18–22 1998. ACM Press.Google Scholar
  11. [11]
    M. Dahm. Byte code engineering. In Java-Information-Tage 1999 (JIT’99), Sept. 1999.
  12. [12]
    J. Gosling, B. Joy, and G. L. Steele. The Java Language Specification. The Java Series. Addison-Wesley, Reading, MA, USA, 1996.Google Scholar
  13. [13]
    T. Ledoux and N. Bouraqadi-Saâdani. Adaptability in mobile agent systems using reflection. In ECOOP 2000, Workshop on Reflection and Metalevel Architectures, Cannes, France, 2000.Google Scholar
  14. [14]
    T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley, Reading, MA, USA, second edition, 1999.Google Scholar
  15. [15]
    P. Maes. Concepts and experiments in computation reflection. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’87), Orlando, Florida, USA, Oct. 1987.Google Scholar
  16. [16]
    H. Okamura, Y. Ishikawa, and M. Tokoro. AL-1/D: A distributed programming sysyem with multi-model reflection framework. In Workshop on New Models for Software Architecture, Nov. 1992.Google Scholar
  17. [17]
    N. Suri, J. M. Bradshaw, M. R. Breedy, P. T. Groth, G. A. Hill, R. Jeffers, T. S. Mitrovich, B. R. Pouliot, and D. S. Smith. NOMADS: toward a strong and safe mobile agent system. In C. Sierra, G. Maria, and J. S. Rosenschein, editors, Proceedings of the 4th International Conference on Autonomous Agents (AGENTS-00), pages 163–164, NY, June 3–7 2000. ACM Press.Google Scholar
  18. [18]
    M. Tatsubori. An Extension Mechanism for the Java Language. Master’s thesis, Graduate School of Engineering, University of Tsukuba, Ibaraki, Japan, Feb. 1999.Google Scholar
  19. [19]
    The Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks. Web pages at, 1998.
  20. [20]
    C. F. Tschudin. Funny money arbitrage for mobile code. In Proceedings of the Second Dartmouth Workshop on Transportable Agents, Sept. 1997.Google Scholar
  21. [21]
    C. F. Tschudin. Open resource allocation for mobile code. In Proceedings of The First Workshop on Mobile Agents, Berlin, Germany, Apr. 1997.Google Scholar
  22. [22]
    J. Vitek and G. Castagna. Seal: A framework for secure mobile computations. In Internet Programming Languages, 1999.Google Scholar
  23. [23]
    T. Watanabe, A. Noriki, and K. Shinbori. A Reflective Framework for Reliable Mobile Agent. In ECOOP 2000, Workshop on Reflection and Metalevel Architectures, Cannes, France, 2000.Google Scholar
  24. [24]
    I. Welch and R. Stroud. Kava-A Recflective Java Based on Bytecode Rewriting. In W. Cazzola, R. Stroud, and F. Tisato, editors, Reflection and Software Engineering, LNCS, pages 155–167. Springer Verlag, 2000.CrossRefGoogle Scholar
  25. [25]
    I. Welch and R. J. Stroud. Using reflection as a mechanism for enforcing security policies in mobile code. In ESORICS, pages 309–323, 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Alex Villazón
    • 1
  • Walter Binder
    • 2
  1. 1.University of GenevaSwitzerland
  2. 2.CoCo Software Engineering GmbHAustria

Personalised recommendations