International Conference on Formal Methods for Open Object-Based Distributed Systems

FMOODS 2003: Formal Methods for Open Object-Based Distributed Systems pp 185-198

Managing the Evolution of .NET Programs

  • Susan Eisenbach
  • Vladimir Jurisic
  • Chris Sadler
Conference paper

DOI: 10.1007/978-3-540-39958-2_13

Volume 2884 of the book series Lecture Notes in Computer Science (LNCS)

Abstract

The component-based model of code execution imposes some requirements on the software components themselves, and at the same time lays some constraints on the modern run-time environment. Software components need to store descriptive metadata, and the run-time system must access this ‘reflectively’ in order to implement dynamic linking. Software components also undergo dynamic evolution whereby a client component experiences the effects of modifications, made to a service component even though these occurred after the client was built.

We wanted to see whether the dynamic linking mechanism implemented in Microsoft’s .NET environment could be utilized to maintain multiple versions of components. A formal model was developed to assist in understanding the .NET mechanism and in describing our way of dealing with multiple versions. This showed that .NET incorporates all the features necessary to implement such a scheme and we constructed a tool to do so.

Download to read the full conference paper text

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Susan Eisenbach
    • 1
  • Vladimir Jurisic
    • 1
  • Chris Sadler
    • 2
  1. 1.Department of ComputingImperial CollegeLondon
  2. 2.School of Computing ScienceMiddlesex UniversityLondon