ACM Home Page
Please provide us with feedback. Feedback
Evolution of object behavior using context relations
Full text PdfPdf (1.18 MB)
Source Foundations of Software Engineering archive
Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering table of contents
San Francisco, California, United States
Pages: 46 - 57  
Year of Publication: 1996
ISBN:0-89791-797-9
Also published in ...
Authors
Linda M. Seiter  Computer Science Dept., Boston College, Chestnut Hill, MA
Jens Palsberg  Laboratory for Computer Science, MIT NE43-340, 545 Technology Square Cambridge, MA
Karl J. Lieberherr  College of Computer Science, Northeastern University, 360 Huntington Avenue, Boston, MA
Sponsor
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 28,   Citation Count: 9
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

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

ABSTRACT

A collection of design patterns was described by Gamma, Helm, Johnson, and Vlissides in 1994. Recognizing that designs change, each pattern ensures that a certain system aspect can vary over time such as the operations that can be applied to an object or the algorithm of a method. The patterns are described by constructs such as the inheritance and reference relations, attempting to emulate more dynamic relationships. As a result, the design patterns demonstrate how awkward it is to program natural concepts of behavioral evolution when using a traditional object-oriented language.In this paper we present a new relation between classes: the context relation. It directly supports behavioral evolution, and it is meaningful at the analysis, design, and implementation level. At the design level we picture a context relation as a new form of arrow between classes. At the implementation level we use a small extension of C++. The basic idea is that if class C is context-related to a base class B, then B-objects can get their functionality dynamically altered by C-objects. Our language construct for doing this is a generalization of the method update in Abadi and Cardelli's imperative object calculus. A C-object may be explicitly attached to a B-object, or it may be implicitly attached to a group of B-objects for the duration of a method invocation. We demonstrate how the context relation can be used to easily model and program the Adapter, Bridge, Chain of Responsibility, Decorator, Iterator, Observer, State, Strategy, and Visitor patterns.


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
Constantine Arapis. Specifying Object Life-Cycles. Object Management, 1990.
3
 
4
 
5
 
6
7
8
9
 
10
Ian M. Holland. The design and representation of object-oriented components. PhD thesis, Northeastern University, 1993. http://www.ccs. neu.edu/home/lieb er/thesesindex.html.
 
11
Ralph E. Johnson and Brian Foote. Designing rensable classes. Journal of Object-Oriented Programming, 1(2):22-35, June/July 1988.
 
12
 
13
Gregor Kiczales, editor. internet publication (http://www.parc. xerox.com/PARC/spl/eca/oi/workshop- 94).
 
14
 
15
16
 
17
Cristina Videira Lopes and Karl Lieberherr. AP/S++: case-study of a MOP for purposes of software evolution. In Reflection '96, S. Francisco, CA, April 1996.
18
 
19
Sun Microsystems. The Java Language: A White Paper.http://www.javasoft.com.
20
 
21
22
23
 
24
Antero Taivalsaari. Object Oriented programming with modes. Technical report, University of Jyvaskyla, Finland,1991.
25
 
26
Cun Xiao. Adaptzve Software: Automatic Navigation Through Partially Specified Data Structures. PhD thesis,Northeastern Uuniversity, 1994. http://www.ccs. neu.edu/home/lieber/thesesindex.html.

CITED BY  9
 

Collaborative Colleagues:
Linda M. Seiter: colleagues
Jens Palsberg: colleagues
Karl J. Lieberherr: colleagues

Peer to Peer - Readers of this Article have also read: