Non-Invasive On-Demand Changes: Applying Change-Sets as Aspects
Robert Hirschfeld, DoCoMo Communications Laboratories Europe
David H. Lorenz, Northeastern University
All-invasive, in-place modifications of existing classes and methods are a popular practice in making code changes to open source systems, relying on tool support to manage change integration and maintenance. Often, a less-invasive approach is taken that treats the system as a framework and employs subclasses to express changed behavior. In this paper, we propose the application of aspects to represent code changes in a completely non-invasive manner. Squeak's change sets are an example for recording changes to a system and sharing those changes with others. Traditionally, contributions to Squeak, which include extending system classes and in-place modifications of system methods, are logged and shared via change sets. This is possible because change sets are not limited to classes as the dominant unit of modularity---their level of granularity is that of method implementations. However, change sets are insufficient in supporting dynamic system integration and maintenance, on-demand changes, and selective undo operations. The representation of system changes as aspects, as an infrastructural alternative to change sets, addresses these issues.
Technical Report NU-CCIS-03-08, College of Computer and Information Science, Northeastern University, March 2003. This research was partially supported by the National Science Foundation under award number CCR-0204432.
NU-CCIS-03-08.ps.gz ()
NU-CCIS-03-08.pdf ()
@TechReport{Hirschfeld:2003:NOC, Title = {Non-Invasive On-Demand Changes: Applying Change-Sets as Aspects}, Author = {Robert Hirschfeld and David H. Lorenz}, Institution = "College of Computer and Information Science, Northeastern University", Address = "Boston, MA 02115", Number = "{NU-CCIS-03-08}", Month = apr, Year = 2003, URL = "\url{http://www.ccs.neu.edu/home/lorenz/papers/reports/NU-CCIS-03-08.html}", }