Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1066677.1066996acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

Reflection-based implementation of Java extensions: the double-dispatch use-case

Published: 13 March 2005 Publication History

Abstract

Reflection-based libraries could sometimes be used to extend the expressive power of Java without modifying the language nor the virtual machine. In this paper, we present the advantages of this approach together with general guidelines allowing such implementations to be practicable. Then, we show how these principles have been applied to implement an efficient and general double-dispatch solution for Java.

References

[1]
J. Boyland and G. Castagna. Parasitic methods: An implementation of multi-methods for Java. In OOPSLA'97, number 32-10 in SIGPLAN Notices, pages 66--76, Atlanta, Georgia, Oct. 1997. ACM Press.]]
[2]
K. Bruce, L. Cardelli, G. Castagna, The Hopkins Object Group, G. T. Leavens, and B. Pierce. On binary methods. Theory and Practice of Object Systems, 1(3):221--242, 1996.]]
[3]
E. Bruneton, R. Lenglet, and T. Coupaye. ASM: a code manipulation tool to implement adaptable systems. In Adaptable and extensible component systems, Grenoble, France, Nov. 2002.]]
[4]
W. Cazzola. SmartMethod: an Efficient Replacement for Method. In SAC'04, pages 1305--1309, Nicosia, Cyprus, Mar. 2004. ACM Press.]]
[5]
C. Clifton, G. T. Leavens, C. Chambers, and T. Millstein. MultiJava: Modular open classes and symmetric multiple dispatch. In OOPSLA'00 proceedings, ACM SIGPLAN Notices, Minneapolis, USA, Oct. 2000.]]
[6]
C. Dutchyn, P. Lu, D. Szafron, S. Bromling, and W. Holst. Multi-dispatch in the Java Virtual Machine design and implementation. In COOTS'01 proceedings, San Antonio, USA, Jan. 2001.]]
[7]
R. Forax, E. Duris, and G. Roussel. Java multi-method framework. In TOOLS Pacific'00 Proceedings, Sidney, Australia, Nov. 2000. IEEE Computer.]]
[8]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.]]
[9]
C. Grothoff. Walkabout revisited: The runabout. In ECOOP'03 proceedings, LNCS, pages 103--125. Springer, 2003.]]
[10]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold. Getting started with Aspect J. Communications of the ACM, 44(10):59--65, 2001.]]
[11]
J. Palsberg and C. B. Jay. The essence of the visitor pattern. In COMPSAC'98 proceedings, pages 9--15. IEEE Computer Society, 1998.]]
[12]
R. Pawlak, L. Seinturier, L. Duchien, and G. Florin. JAC: A flexible solution for aspect-oriented programming in Java. In Proceedings of Reflection'01, number 2192 in LNCS, Kyoto, Japan, Sept. 2001. Springer-Verlag.]]
[13]
M. Viroli and A. Natali. Parametric polymorphism in java: an approach to translation based on reflective features. In Proceedings of OOPSLA'00, pages 146--165, Minneapolis, Minnesota, United States, 2000.]]

Cited By

View all
  • (2016)Dynamic and coordinated software reconfiguration in distributed data stream systemsJournal of Internet Services and Applications10.1186/s13174-016-0050-z7:1Online publication date: 9-Aug-2016
  • (2015)An Adaptive Middleware for Opportunistic Mobile SensingProceedings of the 2015 International Conference on Distributed Computing in Sensor Systems10.1109/DCOSS.2015.12(1-10)Online publication date: 10-Jun-2015
  • (2008)The visitor pattern as a reusable, generic, type-safe componentACM SIGPLAN Notices10.1145/1449955.144979943:10(439-456)Online publication date: 19-Oct-2008
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '05: Proceedings of the 2005 ACM symposium on Applied computing
March 2005
1814 pages
ISBN:1581139640
DOI:10.1145/1066677
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 March 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Java
  2. double-dispatch
  3. language extension
  4. reflection

Qualifiers

  • Article

Conference

SAC05
Sponsor:
SAC05: The 2005 ACM Symposium on Applied Computing
March 13 - 17, 2005
New Mexico, Santa Fe

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Dynamic and coordinated software reconfiguration in distributed data stream systemsJournal of Internet Services and Applications10.1186/s13174-016-0050-z7:1Online publication date: 9-Aug-2016
  • (2015)An Adaptive Middleware for Opportunistic Mobile SensingProceedings of the 2015 International Conference on Distributed Computing in Sensor Systems10.1109/DCOSS.2015.12(1-10)Online publication date: 10-Jun-2015
  • (2008)The visitor pattern as a reusable, generic, type-safe componentACM SIGPLAN Notices10.1145/1449955.144979943:10(439-456)Online publication date: 19-Oct-2008
  • (2008)The visitor pattern as a reusable, generic, type-safe componentProceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications10.1145/1449764.1449799(439-456)Online publication date: 19-Oct-2008
  • (2005)PolyDACM SIGPLAN Notices10.1145/1103845.109484940:10(487-503)Online publication date: 12-Oct-2005
  • (2005)PolyDProceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications10.1145/1094811.1094849(487-503)Online publication date: 17-Oct-2005

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media