ACM Home Page
Please provide us with feedback. Feedback
Symmetric encapsulated multi-methods to abstract over application structure
Full text PdfPdf (393 KB)
Source
Symposium on Applied Computing archive
Proceedings of the 2009 ACM symposium on Applied Computing table of contents
Honolulu, Hawaii
SESSION: Object oriented programming languages and systems track table of contents
Pages 1873-1880  
Year of Publication: 2009
ISBN:978-1-60558-166-8
Authors
David Lievens  Trinity College, Dublin, Ireland
William Harrison  Trinity College, Dublin, Ireland
Sponsor
SIGAPP: ACM Special Interest Group on Applied Computing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 23,   Citation Count: 0
Additional Information:

abstract   references   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/1529282.1529702
What is a DOI?

ABSTRACT

In object systems, classes take the role of modules, and interfaces consist of methods. Because methods are encapsulated in objects, interfaces in object systems do not allow abstracting over where methods are implemented. This implies that any change to the implementation structure may cause a rippling effect. Sometimes this unduly restricts the scope of software evolution, in particular for methods with multiple parameters where there is no clear owner. We propose a simple scheme where symmetric methods may be defined in the classes of any of their parameters. This allows client code to be oblivious of what class contains a method implementation, and therefore immune against it changing. When combined with multiple dynamic dispatch, this scheme allows for modular extensibility (but not modular type-checking) where a method defined in one class is overridden by a method defined in a class that is not its subtype. In this paper, we illustrate the scheme by extending a core calculus of class-based languages with these symmetric encapsulated multi-methods, and prove the result sound.


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
Allen, Chase, Hallett, Luchangco, Maessen, Ryu, Steele, and Tobin-Hochstadt. The Fortress Language Specification. Version 1.0. Sun Microsystems, 2008.
2
3
4
5
 
6
7
 
8
9
 
10
B. Foote, R. E. Johnson, and J. Noble. Efficient multimethods in a single dispatch language. In ECOOP, pages 337--361, 2005.
 
11
C. Frost and T. Millstein. Modularly typesafe interface dispatch in jpred. In The 2006 International Workshop on Foundations and Developments of Object-Oriented Languages (FOOL/WOOD '06), January 2006.
 
12
W. Harrison, D. Lievens, and T. Walsh. Continuum/j language specification. Technical report, Trinity College Dublin, 2008.
13
14
 
15
D. Lievens and W. Harrison. Symmetric encapsulated multi-methods. Technical report, Trinity College Dublin, 2008.
16
 
17
18
19

Collaborative Colleagues:
David Lievens: colleagues
William Harrison: colleagues