Self-Specializing Mobile Code for Adaptive Network Services

  • Luke Hornof
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1942)


This paper introduces the notion of self-specializing mobile code, a program that is transmitted over a network and automatically customizes itself to its destination. The benefits of this approach, higher performance without compromising safety, is accomplished through a combination of program specialization and program verification. We showh ow self-specializing mobile code can be used to create an adaptive network service, i.e., a service that is transmitted to a destination, where it adapts itself with respect to properties it detects on the destination node. We have designed and implemented an active network, called FASTnet, that is Fast, Adaptive, Safe, and Typed. FASTnet is based on the PLANet active network, but accommodates adaptive network services. Experimental results showad aptive network services can run over 4 times faster than normal network services without compromising the safety of the network.


Destination Node Active Network Network Service Plan Program Plan Interpreter 
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.
    C. Consel, L. Hornof, F. Noël, J. Noyé, and E. Volanschi. A uniform approach for compile-time and run-time specialization. In O. Danvy, R. Glück, and P. Thiemann, editors, Partial Evaluation, International Seminar, Dagstuhl Castle, number 1110in Lecture Notes in Computer Science, pages 54–72, Feb. 1996. 103Google Scholar
  2. 2.
    B. Guenter, T. Knoblock, and E. Ruf. Specializing shaders. In Computer Graphics Proceedings, Annual Conference Series, pages 343–350. ACM Press, 1995. 103Google Scholar
  3. 3.
    M. Hicks, P. Kakkar, J. T. Moore, C. A. Gunter, and S. Nettles. Network programming with PLAN. In Proceedings of the IEEE Workshop on Internet Programming Languages, May 1998. 107Google Scholar
  4. 4.
    M. Hicks, P. Kakkar, J. T. Moore, C. A. Gunter, and S. Nettles. PLAN: A packet language for active networks. In Proceedings of the 1998 ACM SIGPLAN International Conference on Functional Programming (ICFP'98), September 1998. 107Google Scholar
  5. 5.
    M. Hicks, J. T. Moore, D. S. Alexander, C. Gunter, and S. Nettles. PLANet: An active internetwork. In Proceedings of the 1999 IEEE Conference on Computer Communications (INFOCOM'99), January 1999. 107, 110Google Scholar
  6. 6.
    M. Hicks and S. Nettles. Active networking means evolution (or enhanced extensibility required). In Proceedings of the International Working Conference on Active Networks, October 2000. 104Google Scholar
  7. 7.
    L. Hornof and T. Jim. Certifying compilation and run-time code generation. Journal of Higher-Order and Symbolic Computation, 12(4):337–375, December 1999. 105zbMATHCrossRefGoogle Scholar
  8. 8.
    N. Jones, C. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Englewood Cliffs, NJ: Prentice Hall, 1993. 103Google Scholar
  9. 9.
    S. Keshav. An Engineering Approach to Computer Networking. Reading, Massachusetts: Addison-Wesley, 1997. 107Google Scholar
  10. 10.
    M. Leone and P. Lee. Lightweight run-time code generation. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 97–106, Orlando, Florida, 25 June 1994. University of Melbourne, Australia, Department of Computer Science, Technical Report 94/9. 104Google Scholar
  11. 11.
    J. Mogul, R. Rashid, and M. Accetta. The packet filter: An efficient mechanism for user-level network code. In Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, pages 39–51, November 1987. 110Google Scholar
  12. 12.
    G. Morrisett, D. Walker, K. Crary, and N. Glew. From System F to typed assembly language. In Conference Record of POPL '98: The 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 85–97, San Diego, California, 19–21 Jan. 1998. 104Google Scholar
  13. 13.
    G. Muller, R. Marlet, E. Volanschi, C. Consel, C. Pu, and A. Goel. Fast, optimized Sun RPC using automatic program specialization. In Proceedings of the 18th International Conference on Distributed Computing Systems, Amsterdam, The Netherlands, May 1998. IEEE Computer Society Press. 103Google Scholar
  14. 14.
    B. Schneier. Applied Cryptography. New York: John Wiley & Sons, 1996. 109, 110Google Scholar
  15. 15.
    W. Taha and T. Sheard. Multi-stage programming with explicit annotations. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 203–217, Amsterdam, The Netherlands, 12–13 June 1997. ACM. 104Google Scholar
  16. 16.
    S. Thibault, C. Consel, J. Lawall, R. Marlet, and G. Muller. Static and dynamic program compilation by interpreter specialization. Journal of Higher-Order and Symbolic Computation, 13(3):161–178, September 2000. 103, 110zbMATHCrossRefGoogle Scholar
  17. 17.
    P. Wickline, P. Lee, and F. Pfenning. Run-time code generation and Modal-ML. In Proceedings of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation (PLDI), pages 224–235, Montreal, Canada, 17–19June 1998. SIGPLAN Notices 33(5), May 1998. 104CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Luke Hornof
    • 1
  1. 1.Computer and Information ScienceUniversity of PennsylvaniaPhiladelphia

Personalised recommendations