ACM Home Page
Please provide us with feedback. Feedback
Type safe dynamic object delegation in class-based languages
Full text PdfPdf (422 KB)
Source
ACM International Conference Proceeding Series; Vol. 347 archive
Proceedings of the 6th international symposium on Principles and practice of programming in Java table of contents
Modena, Italy
SESSION: Java language issues table of contents
Pages 171-180  
Year of Publication: 2008
ISBN:978-1-60558-223-8
Authors
Lorenzo Bettini  Università di Torino, Torino - Italy
Viviana Bono  Università di Torino, Torino - Italy
Sponsor
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 36,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

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

ABSTRACT

Class inheritance and method overriding, as provided by standard class-based languages, are not flexible enough to represent the dynamic behavior of objects; with this respect, object composition and delegation are often advocated as a more flexible alternative to class inheritance since they act at run-time, thus permitting the behavior of objects to be specialized dynamically. In this paper we present Incomplete Featherweight Java (IFJ), an extension of Featherweight Java with incomplete objects, i.e., objects that require some missing methods which can be provided at run-time by composition with another (complete) object. The mechanism for method invocation is based on delegation and it is disciplined by static typing, therefore the language enjoys type safety (which implies no "message-not-understood" run-time errors) and avoids possible accidental overrides due to method clashes.


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
C. Anderson, F. Barbanera, M. Dezani-Ciancaglini, and S. Drossopoulou. Can Addresses be Types? (a case study: Objects with Delegation). In WOOD'03, volume 82(8) of ENTCS, pages 1--22. Elsevier, 2003.
2
 
3
C. Babu, W. Jaques, and D. Janakiram. DynOCoLa: Enabling Dynamic Composition of Object Behaviour. In Proc. 2nd International Workshop on "Reflection, AOP and Meta-Data for Software Evolution (RAM-SE)" at ECOOP 2005, 2005.
 
4
L. Bettini, V. Bono, and S. Likavec. Safe and Flexible Objects with Subtyping. Journal of Object Technology, 10(4):5--29, December 2005. Special Issue: OOPS Track at SAC 2005.
 
5
L. Bettini, V. Bono, and B. Venneri. Object incompleteness and dynamic composition in Java-like languages. In TOOLS 2008, LNBIP. Springer, 2008. To appear.
6
 
7
V. Bono, M. Bugliesi, M. Dezani-Ciancaglini, and L. Liquori. A Subtyping for extensible, incomplete objects. Fundamenta Informaticae, 38(4):325--364, 1999.
 
8
 
9
 
10
D. Crawford. Communications of the ACM archive - Special Issue on Aspect-Oriented Programming, volume 44. ACM New York, 2001.
11
 
12
E. Ernst, gbeta - a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance. PhD thesis, Department of Computer Science, University of Århus, Denmark, 1999. Url: http://www.daimi.au.dk/eernst/gbeta/.
 
13
 
14
 
15
 
16
17
 
18
 
19
20
 
21
 
22
 
23
24
 
25

Collaborative Colleagues:
Lorenzo Bettini: colleagues
Viviana Bono: colleagues