ACM Home Page
Please provide us with feedback. Feedback
Incremental programming with extensible decisions
Full text PdfPdf (765 KB)
Source Aspect-oriented software development archive
Proceedings of the 1st international conference on Aspect-oriented software development table of contents
Enschede, The Netherlands
COLUMN: Full papers table of contents
Pages: 56 - 64  
Year of Publication: 2002
ISBN:1-58113-469-X
Author
Doug Orleans  Northeastern University, Boston, Massachusetts
Sponsors
CTIT : Centre for Telematics and Information Technology
IPA : Institute for Software and Arithmetic
KNAW : Koninklijke Nederlandse Akademie van Wetenschappen
PATO : Post Academisch Tecbnisch Onderwijs
University of Twente : University of Twente
NWO : Dutch Orgartisation for Scientific Research
IBMR : IBM Research
AITO : Association Internationale pour les Technologies Objets
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 24,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

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/508386.508393
What is a DOI?

ABSTRACT

Languages that support incremental programming, that is, the construction of new program components by specifying how they differ from existing components, allow for clean separation of concerns. Object-oriented languages support incremental programming with inheritance and dynamic dispatch features: whenever a message is sent, a decision occurs, but the branches of the decision can be specified in separate components. Aspect-oriented programming and predicate dispatching both introduce language mechanisms that improve on this support by allowing an extensible decision to depend on information about the message send other than just the dynamic type of the receiver or arguments. A small prototype language is presented that unifies the best features of these mechanisms, providing uniform support for incremental programming whether concerns are crosscutting or not. The language is demonstrated with a running example, a small data structure library that is incrementally extended with optimizations and new operations.


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
M. Aksit and B. Tekinerdogan. Solving the modeling problems of object-oriented languages by composing multiple aspects using composition filters. Technical report, TRESE project, University of Twente, Centre for Telematics and Information Technology, P.O. Box 217, 7500 AE, Enschede, The Netherlands, 1998. AOP'98 workshop position paper.
 
2
3
 
4
J. Brichau, W. de Meuter, and K. de Volder. Jumping aspects. Workshop on Aspects and Dimensions of Concerns at ECOOP (position paper), Cannes, France, June 2000.
 
5
6
 
7
J. Clements, P. Graunke, S. Krishnamurthi, and M. Felleisen. Little languages and their programming environments. Monterey Workshop.
8
9
 
10
P. Costanza. Vanishing aspects. Position paper, OOPSLA 2000 workshop on Advanced Separation of Concerns, October 2000.
 
11
 
12
M. Flatt. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.
13
 
14
 
15
 
16
W. Harrison and H. Ossher. Subdivided procedures: A language extension supporting extensible programming. In Proceedings: 1990 International Conference on Computer Languages, pages 190-197. IEEE Computer Society Press, 1990.
 
17
J. Huang. Experience using AspectJ to implement cord. Position paper, OOPSLA 2000 workshop on Advanced Separation of Concerns, October 2000.
 
18
G. Hulten, K. Lieberherr, J. Marshall, D. Orleans, and B. Samuel. DemeterJ User Manual. http://www.ccs.neu.edu/research/demeter/.
 
19
 
20
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Akşit and S. Matsuoka, editors, ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyväskylä, Finland, volume 1241, pages 220-242. Springer-Verlag, New York, NY, 1997.
 
21
P. Koopmans. On the definition and implementation of the Sina/st language. MSc. thesis, Dept. of Computer Science, University of Twente, Enschede, the Netherlands, July 1995.
 
22
K. Lieberherr, D. H. Lorenz, and J. Ovlinger. Aspectual collaborations for collaboration-oriented concerns. Technical Report NU-CCS-01-08, College of Computer Science, Northeastern University, Boston, MA 02115, Nov. 2001.
 
23
 
24
K. J. Lieberherr, B. Patt-Shamir, and D. Orleans. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-02-02, College of Computer Science, Northeastern University, Boston, MA, February 2002.
 
25
M. Mezini. Variation-Oriented Programming Beyond Classes and Inheritance. PhD thesis, University of Siegen, 1997.
 
26
 
27
 
28
 
29
 
30
P. Tarr and H. Ossher. Hyper/J User and Installation Manual. IBM T. J. Watson Research Center, Yorktown Heights, NY, USA, 2000.
31
 
32
The AspectJ Team. The AspectJ Programming Guide. http://aspectj.org/doc/dist/progguide/.
 
33
J. Wichman. ComposeJ: The development of a preprocessor to facilitate composition filters in the Java language. MSc. thesis, Dept. of Computer Science, University of Twente, Enschede, the Netherlands, December 1999.

CITED BY  10