Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us Track your research
Search
Cart
Book cover

IFIP International Conference on Distributed Applications and Interoperable Systems

DAIS 2007: Distributed Applications and Interoperable Systems pp 90–103Cite as

  1. Home
  2. Distributed Applications and Interoperable Systems
  3. Conference paper
Component Adaptation in Contemporary Execution Environments

Component Adaptation in Contemporary Execution Environments

  • Susan Eisenbach1,
  • Chris Sadler2 &
  • Dominic Wong3 
  • Conference paper
  • 592 Accesses

  • 3 Citations

Part of the Lecture Notes in Computer Science book series (LNISA,volume 4531)

Abstract

Because they are required to support component deployment and composition, modern execution environments embody a number of common features such as dynamic linking and support for multiple component versions. These features help to overcome some classical maintenance problems focused largely on component evolution, where successive generations of collaborating components need to be kept collaborating. What has been less studied has been component adaptation, whereby a component developed in an environment consisting of one set of service components is required to operate in one or several other environments containing qualitatively different components. In this paper we examine the needs developers and deployers have arising out of component adaptation and explore the concept of Flexible Dynamic Linking as a means of satisfying them. We describe a suite of tools developed to demonstrate this approach to component adaptation support within the .NET Common Language Runtime.

Keywords

  • component adaptation
  • component evolution
  • dynamic linking
  • execution environments
  • .NET
  • runtime systems

Chapter PDF

Download to read the full chapter text

References

  1. Aaltonen, A., Buckley, A., Eisenbach, S.: Flexible Dynamic Linking for.NET. Journal of .NET Technologies, vol 4 (June 2006)

    Google Scholar 

  2. Abadi, M., Gonthier, G., Werner, B.: Choice in Dynamic Linking. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol. 2987, Springer, Heidelberg (2004)

    Google Scholar 

  3. Ancona, D., Damiani, F., Drossopoulou, S., Zucca, E.: Polymorphic Bytecode: Compositional Compilation for Java-like Languages. In: ACM SIGPLAN-SIGACT Symposium on Principles of Progamming Languages. Long Beach, California (2005)

    Google Scholar 

  4. Attardi G., Cisternino, A., Colombo, D.: CIL + Metadata > Executable Program. Journal of Object Technology, Special issue: .NET: The Programmers Perspective: ECOOP Workshop (2003)

    Google Scholar 

  5. Bracciali, A., Brogi, A., Canal, C.: A formal approach to component adaption. In: J. Syst. Softw. vol. 74(1) (2005)

    Google Scholar 

  6. Bialek, R., Jul, E., Schneider, J.-G., Jin, y.: Partitioning of Java Applications to Support Dynamic Updates. In: 11th Asia-Pacific Software Engineering Conference (APSEC’04)(2004)

    Google Scholar 

  7. Buckley, A.: A Model of Dynamic Binding in .NET in ECOOP Workshop on Formal Techniques for Java-like Programs. Oslo, Norway (2005)

    Google Scholar 

  8. Buckley, A., Drossopoulou, S.: Flexible Dynamic Linking. In: ECOOP Workshop on Formal Techniques for Java-like Programs. Oslo, Norway (2004)

    Google Scholar 

  9. Buckley, A., Murray, M., Eisenbachm, S., Drossopoulou, S.: Flexible Bytecode for Linking. In: .NET in ETAPS Workshop on Bytecode Semantics, Verification, Analysis and Transformation. Edinburgh, Scotland (2005)

    Google Scholar 

  10. Corbato, F.J., Vysssotsky, V.A.: Introduction and Overview of the MULTICS System. AFIPS Fall Joint Computer Conference (1965)

    Google Scholar 

  11. DotGNU Project: Available from: http://dotgnu.org/

  12. Drossopoulou, S., Lagorio, G., Eisenbach, S.: Flexible Models for Dynamic Linking. In: European Symposium on Programming. Warsaw, Poland (2003)

    Google Scholar 

  13. Eisenbach, S., Jurisic, V., Sadler, C.: Feeling the Way Through DLL Hell. In: First Workshop on Unanticipated Software Evolution. Malaga, Spain (2002)

    Google Scholar 

  14. Eisenbach, S., Kayhan, D., Sadler, C.: Keeping Control of Reusable Components. In: International Working Conference on Component Deployment. Edinburgh, Scotland(2004)

    Google Scholar 

  15. Eisenbach, S., Sadler C.: Reuse and Abuse. Journal of Object Technology, (January 1, 2007) vol 6. ETH Swiss Federal Institute of Technology (2007)

    Google Scholar 

  16. ECMA International: Standard ECMA-335 Common Language Infrastructure (CLI) (2005) Available from: http://www.ecma-international.org/publications/standards/Ecma-335.htm

  17. Gosling, J., Joy, B., Steele, G., Bracha, G.: Java(TM) Language Specification, 2nd edn. Addison Wesley, London (2000)

    MATH  Google Scholar 

  18. Kennedy, A., Syme, D.: Design and Implementation of Generics for the .NET Common Language Runtime. In: ACM SIGPLAN Conference on Programming Language Design and Implementation. Snowbird, Utah, USA (2001)

    Google Scholar 

  19. Lander, R.: The Wonders of Whidbey Factoring Features. Part 1: Type Forwarders (September 14, 2005) Available from http://hoser.lander.ca/

  20. Magee, J., Kramer, J.: Concurrency : state models & Java programs Chichester, England, Wiley (2006)

    Google Scholar 

  21. McKinley, P., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: A Taxonomy of Compositional Adaptation in Software Engnieering and Network Systems Laboratory Technical Report MSU-CSE-04-17 (2004)

    Google Scholar 

  22. Microsoft Corporation: Microsoft Developer Network. Available from: http://msdn.microsoft.com

  23. Microsoft Corporation. Phoenix Documentation (2005) Available from: http://research.microsoft.com/phoenix/

  24. Microsoft Corporation. SSCLI Documentation (2002) Available from: http://research.microsoft.com/sscli/

  25. Mikunov, A.: Rewrite MSIL Code on the Fly with the .NET Framework Profiling API. MSDN Magazine (September 2003)

    Google Scholar 

  26. Paspallis, N., Ppapadopoulos, G.A.: An approach for Developing Adaptive, Mobile Applications with Separation of Concerns. In: Proc. COMPSAC’06 (2006)

    Google Scholar 

  27. Piessens, F., Jacobs, B., Truyen, E., Joosen, W.: Support for Metadata-driven Selection of Run-time Services In: .NET is Promising but Immature. Journal of Object Technology, Special issue: .NET: The Programmers Perspective: ECOOP Workshop (2003)

    Google Scholar 

  28. Shao, Z., Appel, A.W.: Smartest Recompilation. In: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’93), Charleston, South Carolina, USA (1993)

    Google Scholar 

  29. Stutz, D., Neward, T., Shilling, G.: Shared Source CLI Essentials. O’Reilly (2003)

    Google Scholar 

  30. Sells, C.: .NET and Win 32 tools. available from http://www.sellsbrothers.com/tools

  31. What is Mono? Available from: http://www.mono-project.com/Main_Page

  32. Wong, F.: DLL Hell, The Inside Story (1998) available from: http://www.desaware.com/tech/dllhell.aspx

Download references

Author information

Authors and Affiliations

  1. Department of Computing, Imperial College London, UK

    Susan Eisenbach

  2. School of Computing Science, Middlesex University, UK

    Chris Sadler

  3. Morgan Stanley, London, UK

    Dominic Wong

Authors
  1. Susan Eisenbach
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. Chris Sadler
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. Dominic Wong
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Jadwiga Indulska Kerry Raymond

Rights and permissions

Reprints and Permissions

Copyright information

© 2007 IFIP International Federation for Information Processing

About this paper

Cite this paper

Eisenbach, S., Sadler, C., Wong, D. (2007). Component Adaptation in Contemporary Execution Environments. In: Indulska, J., Raymond, K. (eds) Distributed Applications and Interoperable Systems. DAIS 2007. Lecture Notes in Computer Science, vol 4531. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72883-2_7

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-540-72883-2_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-72881-8

  • Online ISBN: 978-3-540-72883-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Publish with us

Policies and ethics

search

Navigation

  • Find a journal
  • Publish with us
  • Track your research

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support
  • Cancel contracts here

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature