Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

Disconnected service architecture for unanticipated run-time evolution of code

Disconnected service architecture for unanticipated run-time evolution of code

For access to this article, please select a purchase option:

Buy article PDF
£12.50
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
IEE Proceedings - Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

Run-time evolution of applications is an important issue for safety critical systems, such as nuclear power plant management systems; or for software used night and day like mail/Web servers and banking systems. It may also be useful, during an application development, to let portions of code evolve at run-time, not restarting the debugged application, and still using it. In addition, today's software is surrounded by a highly dynamic environment, in terms of software, network topologies or communication means. Thus, evolution of code cannot always be anticipated, i.e. foreseeable at design time. In our sense, unanticipated run-time evolution of object code is favoured by disconnection of communicating components, i.e. by avoiding as much as possible dependencies among components. Anonymous and asynchronous communications are two means for realising disconnection. The paper first presents a model for unanticipated run-time evolution of code, based on these principles. The model enables communication among components through asynchronous services, which are described rather than designated, thus respecting the anonymity of communicating parties. Second, the authors describe two implementations of the model: a local one allowing the addition and removal of services at run-time on a local host; and a distributed one, which enables the distribution of an application while it is still running. The authors also report their experience in realising a restricted Web server and a tic-tac-toe game, which demonstrate that their evolution model allows one to hot-swap, duplicate and remove parts of an application at run-time.

References

    1. 1)
      • S. Sadou , G. Koscielny , H. Mili . (2001) Abstracting services in a heterogeneous environment, Lect. Notes Comput. Sci..
    2. 2)
      • S. Bohner , R. Arnold . (1996) Software change impact analysis.
    3. 3)
      • H. Chen , A. Joshi , T.W. Finin . Dynamic service discovery for mobile computing: intelligent agents meet Jini in the aether. Cluster Comput. , 4 , 343 - 354
    4. 4)
      • Waterhouse, S.: ‘JXTA search: distributed search for distributed networks’. http://spec.jxta.org/v1.0/docbook/JXTAProtocols.html, 2001.
    5. 5)
      • Oriol, M., Di Marzo Serugendo, G.: `Application evolution: a disconnected and service-based approach', Technical Report, 2003.
    6. 6)
      • Dorward, S.M., Sethi, R., Shopiro, J.E.: `Adding new code to a running C++ program', USENIX C++ Proc. Conf. on C++, 9–11 April 1990, San Francisco, California, p. 279–292, in USENIX Association, editor.
    7. 7)
      • Ra Ti On.: ‘Project JXTA: an open, innovative collaboration’. http://www.jxta.org/project/www/docs/OpenInnovative.pdf, Sun Microsystems, Inc. April 2001.
    8. 8)
      • Sun Microsystems , Graham Hamilton . (1997) Java Beans(TM).
    9. 9)
      • R. Lee , S. Seligman . (2000) JNDI API tutorial and reference: building directory-enabled Java applications, Java series.
    10. 10)
      • S. Malabarba , R. Pandey , J. Gragg , E. Barr , J.F. Barnes . Runtime support for type-safe dynamic Java classes. Lect. Notes Comput. Sci. , 337 - 361
    11. 11)
      • `OMG: The comon object request broker: Architecture and specification', PTC/96-03-04, Technical Report, 1996, Version 2.0.
    12. 12)
      • T. Lindholm , F. Yellin . (1997) The Java virtual machine specification, The Java Series.
    13. 13)
      • A. Richter . (1995) DLOPEN(3). Linux programmer's manual.
    14. 14)
      • M. Serrano . Wide classes. Lect. Notes Comput. Sci. , 391 - 415
    15. 15)
      • Oriol, M.: `LuckyJ: an asynchronous evolution platform for component-based applications', Proc. 2nd Int. Workshop on Unanticipated Software Evolution (USE), 2003, p. 40–49.
    16. 16)
      • D. Gupta , P. Jalote , G. Barua . A formal framework for on-line software version change. IEEE Trans. Softw. Eng. , 2 , 120 - 131
    17. 17)
      • Beringer, D., Kuno, H., and Lemon, M.: `Using WSCL in a UDDI registry 1.02'. http://www.uddi.org/pubs/wsclBPforUDDI_5_16_011.doc, May 2001.
    18. 18)
      • Palay, A.J.: `C++ in a changing environment', Proc. USENIX C++ Technical Conf., Berkeley, CA, USA, 1992, p. 195–206.
    19. 19)
      • Stadler, D.: `Invocations de Services dans un système d'Information de type Peer-to-Peer pour la Plateforme LuckyJ', 2003, Master's thesis, University of Geneva.
    20. 20)
      • Gupta, D.: `On-line software version change', 1994, PhD thesis, Indian Institute of Technology, Department of Computer Science and Engineering, Kanpur.
    21. 21)
      • P.T. Eugster , P. Felber , R. Guerraoui , A.-M. Kermarrec . The many faces of publish/subscribe. ACM Comput. Surv. , 2 , 114 - 131
    22. 22)
      • Object Management Group: ‘Naming service specification – revised edition’. http://www.omg.org/cgi-bin/doc?formal/01-02-65, February 2001.
    23. 23)
      • D. Gupta , P. Jalote . On-line software version change using state transfer between processes. Softw. Pract. Exp. , 9 , 949 - 964
    24. 24)
      • D. O'Quinn . (1999) Photoshop in a nutshell: a desktop quick reference.
    25. 25)
      • uddi.org. UDDI technical white paper, September 2000, http://www.uddi.org/pubs/Iru_UDDI_Technical_White_Paper.pdf.
    26. 26)
      • G. Hamilton , S. Radia . Using interface inheritance to address problems in system software evolution. SIGPLAN Not. , 8 , 119 - 128
    27. 27)
      • B. Redmond , V. Cahill . (2002) Supporting unanticipated dynamic adaptation of application behaviour, Lect. Notes Comput. Sci..
    28. 28)
      • Dmitriev, M.: `Towards flexible and safe technology for runtime evolution of Java language applications', Presented at OOPSLA Workshop on Engineering Complex Object-oriented Systems for Evolution, 15 October 2001, Vancouver, Canada.
    29. 29)
      • Arsanjani, A., Chamberlain, D., Gisolfi, D., Konuru, R., Macnaught, J., Maes, S., Merrick, R., Mundel, D., Raman, T., Ramaswamy, S., Schaeck, T., Thompson, R., Diaz, A., Lucassen, J., Wiecha, C.: `(WSXL) Web Service Experience Language Version 2', Technical Report, 10 April 2002, IBM Note, 2002.
    30. 30)
      • Oreizy, P., Medvidovic, N., Taylor, R.N.: `Architecture-based runtime software evolution', Proc. Int. Conf. on Software Engineering, Kyoto, Japan, 19–25 April 1998, p. 177–186.
    31. 31)
      • Christensen, E., Curbera, F., Meredith, G., and Weerawarana, S.: ‘Web services description language (WSDL) 1.1’. http://www.w3.org/TR/2001/NOTE-wsdl-20010315, March 2001.
    32. 32)
      • S. Liang , G. Bracha . Dynamic class loading in the Java™ virtual machine. SIGPLAN Not. , 10 , 36 - 44
    33. 33)
      • S. Drossopoulou , F. Damiani , M. Dezani-Ciancaglini , P. Giannini . Fickle: dynamic object re-classification. Lect. Notes Comput. Sci. , 130 - 149
    34. 34)
      • J.O. Kephart , D.M. Chess . The vision of autonomic computing. Computer , 1 , 41 - 50
    35. 35)
      • J. Hunter . (1998) Java servlet programming.
    36. 36)
      • M. Oriol . Peer services: from description to invocation. Lect. Notes Comput. Sci. , 21 - 32
    37. 37)
      • Curbera, F., Ehnebuske, D., and Rogers, D.: ‘Using WSDL in a UDDI registry 1.05’. UDDI Working Draft Best Practices Document, http://www.uddi.org/pubs/wsdlbestpractices-V1.05-Open-20010625.pdf, June 2001.
    38. 38)
      • M. Hicks , J. Moore , S. Nettles . Dynamic software updating. SIGPLAN Not. , 5 , 13 - 23
http://iet.metastore.ingenta.com/content/journals/10.1049/ip-sen_20040077
Loading

Related content

content/journals/10.1049/ip-sen_20040077
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address