Automated Software Engineering

, Volume 9, Issue 2, pp 151–165 | Cite as

XMILE: An XML Based Approach for Incremental Code Mobility and Update

  • Cecilia Mascolo
  • Luca Zanolin
  • Wolfgang Emmerich


The eXtensible Markup Language (XML) was originally defined to represent Web content, but it is increasingly used to define languages, such as XPL, that are used for coding executable algorithms, policies or scripts. XML-related standards, such as XPath and the Document Object Model, permit the flexible manipulation of fragments of XML code, which enables novel code migration and update paradigms. The XMILE approach that we describe in this paper exploits these mechanisms in order to achieve flexible and fine-grained code updates, even without stopping execution. We describe a Java-based prototype that implements XMILE and our experience in using XMILE in the domain of code updates on mobile devices.

code mobility XML code update 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Apparao, V., Byrne, S., Champion, M., Isaacs, S., Jacobs, I., Le Hors, A., Nicol, G., Robie, J., Sutor, R., Wilson, C., and Wood, L. 1998. Document object model (DOM) level 1 specification. W3C Recommendation–1–19981001, World Wide Web Consortium.Google Scholar
  2. Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H., Thatte, S., and Winer, D. 2000. Simple object access protocol (SOAP). Technical Report, World Wide Web Consortium.Google Scholar
  3. Bray, T., Paoli, J., and Sperberg-McQueen, C.M. 1998. Extensible markup language. Recommendation, World Wide Web Consortium.Google Scholar
  4. Cardelli, L. 1995. A language with distributed scope. In Proc. 22nd ACM Symp. on Principles of Programming Languages (POPL).Google Scholar
  5. Clark, J. and DeRose, S. 1999. XMLpath language (XPath). Technical Report,World Wide Web Consortium.Google Scholar
  6. Emmerich, W., Mascolo, C., and Finkelstein, A. 2000. Implementing incremental code migration with XML. In M. Jazayeri and A. Wolf, editors, Proc. 22nd Int. Conf. on Software Engineering (ICSE2000). Limerick, Ireland, June 2000, New York: ACM Press, pp. 397–406.Google Scholar
  7. Fallside, D.C. 2000. XML schema. Technical Report, World Wide Web Consortium.Google Scholar
  8. Fuggetta, A., Picco, G.P., and Vigna, G. 1998. Understanding code mobility. IEEE Trans. on Software Engineering, 24(5):342–361.Google Scholar
  9. Gray, R. 1995. Agent Tcl: A transportable agent system. In Proc. of the CIKMWorkshop on Intelligent Information Agents.Google Scholar
  10. Java API for XML Messaging (JAXM). 2001. Available at jaxm.html.Google Scholar
  11. Johansen, D., van Renesse, R., and Schneider, F. 1995. Introduction to the TACOMA distributed system. Technical Report 95–23, Department of Computer Science, University of Troms, Norway.Google Scholar
  12. Knuth, D.E. 1968. Semantics of context-free languages. Mathematical Systems Theory, 2(2):127–145.Google Scholar
  13. Levy, J., Hutchinson, H., and Moore, D. 1988. Fine-grained mobility in the emerald system. ACM Transactions on Computer Systems, 6(1):109–133.Google Scholar
  14. Mascolo, C., Emmerich, W., and De Meer, H. 2001. An XML based programmable network platform. In ICSE Workshop on Software Engineering and Mobility, May 2001.Google Scholar
  15. Mascolo, C., Picco, G.P., and Roman, G.-C. 1999. A fine-grained model for code mobility. In O. Nierstrasz and M. Lemoine, editors, Proc. 7th European Software Eng. Conf. (ESEC/FSE 99), Vol. 1687 of LNCS, Berlin: Springer, pp. 39–56.Google Scholar
  16. De Meer, H., Emmerich, W., Mascolo, C., Pezzi, N., Rio, M., and Zanolin, L. 2001. Middleware and management support for programmable QoS-network architectures. In Short Papers Session of 3rd Int. Workings Conference on Achve Networks (IWAN01), October 2001.Google Scholar
  17. Picco, G.P. 1998. µCODE: A lightweight and flexible mobile code toolkit. In K. Rothermel and F. Hohl, editors, Proc. 2nd Int. Workshop on Mobile Agents, Vol. 1477 of LNCS, Berlin: Springer, pp. 160–171.Google Scholar
  18. Sun Microsystems. 1998. Java Remote Method Invocation Specification, Revision 1.50, JDK 1.2 edition.Google Scholar
  19. Tasker, M. 2000. Professional Symbian Programming. Wrox.Google Scholar
  20. Tennenhouse, D.L. and Wetherall, D.J. 1996. Towards an active network architecture. Computer Communication Reviews, 26(2).Google Scholar
  21. Tschudin, C.F. 1994. An Introduction to the M0 Messenger Language. University of Geneva, Switzerland.Google Scholar
  22. University Stuttgart. 1999. Mobile agent list. Available at Scholar
  23. VBXML. 2000. XPL: The eXtensible programming language. Available at http:// Scholar
  24. White, J. 1996. Telescript technology: Mobile agents. In J. Bradshaw, editor, Software Agents. AAAI Press/MIT Press.Google Scholar
  25. Wong, D., Paciorek, N., and Moore, D. 1999. Java-based mobile agents. Communications of the ACM, 42(3):92–102.Google Scholar
  26. Xml-rpc. 2001. Available at Scholar
  27. Zanolin, L. 2001. An XML-based middleware for fine-grained code mobility and update. Technical Report, Politecnico di Milano. Tesi di Laurea.Google Scholar

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Cecilia Mascolo
    • 1
  • Luca Zanolin
    • 1
  • Wolfgang Emmerich
    • 1
  1. 1.Department of Computer ScienceUniversity College LondonLondonUK

Personalised recommendations