<XML><RECORDS><RECORD><REFERENCE_TYPE>0</REFERENCE_TYPE><REFNUM>5309</REFNUM><AUTHORS><AUTHOR>Evans,J.H.</AUTHOR><AUTHOR>Dickman,P.W.</AUTHOR></AUTHORS><YEAR>1999</YEAR><TITLE>Zones, Contracts and Absorbing Change: An Approach to Software Evolution</TITLE><PLACE_PUBLISHED>Proceedings of OOPSLA'99 (ACM Conference on Object Oriented Programming, Systems, Languages and Applications). Published as ACM SigPlan Notices. Volume 34 No. 10 </PLACE_PUBLISHED><PUBLISHER>ACM Press</PUBLISHER><PAGES>415-433</PAGES><ISBN>1-58113-238-7</ISBN><LABEL>Evans:1999:5309</LABEL><ABSTRACT>This paper describes a novel approach to managing the evolution of distributed, persistent systems at run-time. This is achieved by partitioning a system into disjoint zones, each of which can be evolved without affecting code in any other. COntracts are defined between zones, making type-level interdependencies and inter-zone communication explicit. Programmer-supplied code is added to the running system, at the boundary between zones, to constrain the scope of changes. A change methodology is presented which the software engineer uses to help describe and manage the evolution of the system. Knowledge of the application semantics is essential when evolving a system and our approach allows the engineer to concentrate on these semantic aspects of change. Our Java-based demonstration platform and methodology reduce or remove some of the burdensome tasks the software engineer is normally expected to perform when changing a system, making evolution even more tractable. </ABSTRACT></RECORD></RECORDS></XML>