Towards unanticipated runtime software evolution

University dissertation from Linköping : Linköpings universitet

Abstract: For some software systems with high availability requirements, it is not acceptable to have the system shut down when a new version of it is to be deployed. An alternative is to use unanticipated runtime software evolution, which means making changes to the Software system while it is executing. We propose a classification of unanticipated runtime software changes. Our classification consists of a code change aspect, a state change aspect, an activity aspect and a motivation aspect. The purpose of the classification is to get a greater understanding of the nature of such changes, and to facilitate an abstract view of them. We also present a case study, where historical changes to an existing software system have been categorized according to the classification. The data from the case study gives an indication that the Java Platform Debugger Architecture, a standard mechanism in Java virtual machines, is a viable technical foundation for runtime software evolution systems.We also discuss taxonomies of unanticipated runtime software evolution and propose an extension to the concept of validity of runtime changes. 

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.