ACM Home Page
Please provide us with feedback. Feedback
Encapsulating and exploiting change with changeboxes
Full text PdfPdf (1.00 MB)
Source ACM International Conference Proceeding Series; Vol. 286 archive
Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007 table of contents
Lugano, Switzerland
SESSION: Change table of contents
Pages 25-49  
Year of Publication: 2007
ISBN:978-1-60558-084-5
Authors
Marcus Denker  University of Bern
Tudor Gîrba  University of Bern
Adrian Lienhard  University of Bern
Oscar Nierstrasz  University of Bern
Lukas Renggli  University of Bern
Pascal Zumkehr  University of Bern
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 17,   Citation Count: 2
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1352678.1352681
What is a DOI?

ABSTRACT

Real world software systems change continuously to meet new demands. Most programming languages and development environments, however, are more concerned with limiting the effects of change rather than enabling and exploiting change. Various techniques and technologies to exploit change have been developed over the years, but there exists no common support for these approaches. We propose Changeboxes as a general-purpose mechanism for encapsulating change as a first-class entity in a running software system. Changeboxes support multiple, concurrent and possibly inconsistent views of software artifacts within the same running system. Since Changeboxes are first-class, they can be manipulated to control the scope of change in a running system. Furthermore, Changeboxes capture the semantics of change. Changeboxes can be used, for example, to encapsulate refactorings, or to replay or analyze the history of changes. In this paper we introduce Changeboxes by means of a prototype implementation. We illustrate the benefits that Changeboxes offer for evolving software systems, and we present the results of a preliminary performance evaluation that assesses the costs associated with Changeboxes while suggesting possible strategies for improvement.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Nierstrasz, O., Bergel, A., Denker, M., Ducasse, S., Gaelli, M., Wuyts, R.: On the revival of dynamic languages. In Gschwind, T., Aßmann, U., eds.: Proceedings of Software Composition 2005. Volume 3628., LNCS 3628 (2005) 1--13 Invited paper.
 
3
Nierstrasz, O., Denker, M., Gîrba, T., Lienhard, A.: Analyzing, capturing and taming software change. In: Proceedings of the Workshop on Revival of Dynamic Languages (co-located with ECOOP'06). (July 2006)
4
5
 
6
Hearnden, D., Lawley, M., Raymond, K.: Incremental model transformation for the evolution of model-driven systems. In: International Conference on Model Driven Engineering Languages and Systems (Models/UML 2006). Volume 4199 of LNCS., Berlin, Germany, Springer-Verlag (2006) 321--335
 
7
 
8
 
9
Bergel, A., Ducasse, S., Nierstrasz, O., Wuyts, R.: Classboxes: Controlling visibility of class extensions. Computer Languages, Systems and Structures 31(3--4) (December 2005) 107--126
 
10
Aldrich, J.: Open modules: Modular reasoning about advice. In: Proceedings ECOOP 2005. Volume 3586 of LNCS., Glasgow, UK, Springer Verlag (July 2005) 144--168
 
11
Renggli, L.: Magritte - meta-described web application development. Master's thesis, University of Bern (June 2006)
 
12
Ducasse, S., Lienhard, A., Renggli, L.: Seaside --- a multiple control flow web application framework. In: Proceedings of 12th International Smalltalk Conference (ISC'04). (September 2004) 231--257
 
13
Zumkehr, P.: Changeboxes --- modeling change as a first-class entity. Master's thesis, University of Bern (February 2007)
 
14
Ducasse, S.: Evaluating message passing control techniques in Smalltalk. Journal of Object-Oriented Programming (JOOP) 12(6) (June 1999) 39--44
 
15
Bergel, A., Denker, M.: Prototyping languages, related constructs and tools with Squeak. In: Proceedings of the Workshop on Revival of Dynamic Languages (colocated with ECOOP'06). (July 2006)
 
16
17
 
18
 
19
20
21
22
 
23
Göker, A., Myrhaug, H. I.: User context and personalisation. In: ECCBR Workshop on Case Based Reasoning and Personalisation, Aberdeen, UK (2002) invited paper.
 
24
 
25
Bergel, A.: Classboxes --- Controlling Visibility of Class Extensions. PhD thesis, University of Berne (November 2005)
 
26
Bergel, A., Ducasse, S., Wuyts, R.: Classboxes: A minimal module model supporting local rebinding. In: Proceedings of Joint Modular Languages Conference (JMLC'03). Volume 2789 of LNCS., Springer-Verlag (2003) 122--131
 
27
28
 
29
Achermann, F., Nierstrasz, O.: Applications = components + scripts --- a tour of Piccola. In Aksit, M., ed.: Software Architectures and Component Technology. Kluwer (2001) 261--292
 
30
 
31
Bobrow, D. G., Goldstein, I. P.: Representing design alternatives. In: Proceedings of the Conference on Artificial Intelligence and the Simulation of Behavior. (July 1980)
 
32
Goldstein, I. P., Bobrow, D. G.: Descriptions for a programming environment. In: Proceedings of the First Annual Conference of the National Association for Artificial Intelligence. (August 1980)
33
 
34
Goldstein, I. P., Bobrow, D. G.: A layered approach to software design. Technical Report CSL-80-5, Xerox PARC (December 1980)
35
 
36
 
37
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J. M., Irwin, J.: Aspect-Oriented Programming. In Aksit, M., Matsuoka, S., eds.: Proceedings ECOOP '97. Volume 1241 of LNCS., Jyvaskyla, Finland, Springer-Verlag (June 1997) 220--242
38
39
40
41
 
42
Oriol, M.: An Approach to the Dynamic Evolution of Software Systems. Ph.D. thesis, Centre Universitaire d'Informatique, University of Geneva (April 2004)
 
43
Kramer, J., Magee, J., Finkelstein, A.: A constructive approach to the design of distributed systems. In: Proc 10th Intl Conf on Distributed Computing Systems. IEEE (June 1990) 580--587
 
44
 
45
Armstrong, J.: Making reliable distributed systems in the presence of software errors. PhD thesis, The Royal Institute of Technology Stockholm (2003)
 
46
Bobrow, D., DeMichiel, L., Gabriel, R., Keene, S., Kiczales, G., Moon, D.: Common lisp object system specification, x3j13. Technical Report 88-003, (ANSI COMMON LISP) (1988)
 
47
Mezini, M.: Dynamic object evolution without name collisions. In: Proceedings ECOOP '97, Springer-Verlag (June 1997) 190--219

Collaborative Colleagues:
Marcus Denker: colleagues
Tudor Gîrba: colleagues
Adrian Lienhard: colleagues
Oscar Nierstrasz: colleagues
Lukas Renggli: colleagues
Pascal Zumkehr: colleagues