Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1328279.1328288acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Towards dynamic plug-in replacement in Eclipse plug-in development

Published: 21 October 2007 Publication History

Abstract

Although the Eclipse IDE offers an extremely useful built-in support for developing Eclipse plug-ins, it lacks the ability to perform dynamic updates of plug-ins in a running instance of the application being developed. Because of the nature of the Eclipse architecture and its strict class-loader delegation, plug-ins can only communicate through well-defined APIs. By applying a novel dynamic update approach to the eclipse plug-in development environment that exploits this knowledge, a new API are defined, namely the Dynamic API. This paper discusses some of the ordinary binary compatible changes that lead to erroneous program behaviour if not properly handled. Furthermore, it discusses how applying a dynamic update approach at development time gives developers a unique chance to experiment with dynamic updates without risking a costly shutdown of a real-life application.

References

[1]
ASM project web site, http://asm.objectweb.org/
[2]
Bialek, R., Jul, E., J.-G. Schneider, J.-G., Jin, Y.: Partitioning of Java applications to support dynamic updates. In proceedings of APSEC'04, pp. 616--623.
[3]
Chen, H., Yu, J., Chen, R., Zang, B., and Yew, P. 2007. POLUS: A POwerful Live Updating System. In Proceedings of ICSE'07, pp. 271--281.
[4]
Duggan D.: Type-based hot swapping of running modules. In proceedings of ICFP'01, ACM Press, pp. 62--73.
[5]
Eclipse Foundation, Inc.: Eclipse Version Numbering. http://wiki.eclipse.org/index.php/Version_Numbering
[6]
Eclipse Foundation, Inc.: FAQ What is a dynamic plug-in? http://wiki.eclipse.org/FAQ_What_is_a_dynamic_plug-in%3F
[7]
Gosling J., Joy B., Steele G., Bracha G.: The Java#8482; Language Specification, Third Edition. Prentice Hall (2005), ISBN 978-0-321-24678-3
[8]
Gregersen, A. R., Jørgensen, B. N.: "Extending eclipse RCP with dynamic update of active plug-ins", in Journal of Object Technology, vol. 6, no. 6, July-August 2007, pp. 67--89. http://www.jot.fm/issues/issue_2007_07/article1
[9]
Hicks M., Nettles S.: Dynamic Software Updating. In ACM Transactions on Programming Languages and Systems, Vol. 27, No. 6. (2005) pp. 1049--1096.
[10]
Java Community Process. JSR 277: Java Module System. Available at: http://jcp.org/en/jsr/detail?id=277.
[11]
Java Community Process. JSR 291: Dynamic Component Support for Java SE. Available at: http://jcp.org/en/jsr/detail?id=291.
[12]
Kuleshov, E.: Using ASM framework to implement common bytecode transformation patterns. Available at: http://aosd.net/2007/program/industry/index.php
[13]
Malabarba S., Pandey R., Gragg J., Barr E., and Barnes F.: Runtime Support for Type-Safe Dynamic Java Classes. In proceedings of ECOOP'00. Lecture Notes in Computer Science, Vol. 1850. Springer-Verlag, (2000) pp. 337--361.
[14]
Orso, A., Rao, A., Harrold M. J.: A Technique for Dynamic Updating of Java Software. In proceedings of ICSM'02, pp. 649--658.
[15]
Redmond B., Cahill V.: Supporting Unanticipated Dynamic Adaption of Application Behavior. B. Magnusson (Ed.). In proceedings of ECOOP'02, Lecture Notes in Computer Science Vol. 2374. Springer-Verlag (2002) pp. 205--230.
[16]
Sato Y., Chiba S.: Loosely-separated "Sister" Namespaces in Java. In proceed. of ECOOP'05. Lecture Notes in Computer Science, Vol. 3586. Springer-Verlag, (2005) pp. 49--70.
[17]
Segal, M. E.: Online Software Upgrading: New Research Directions and Practical Considerations. In Proceedings of COMPSAC'02, pp. 977--981.
[18]
Sun Microsystems inc.: Java Platform Debugger Architecture. http://java.sun.com/javase/6/docs/technotes/guides/jpda/
[19]
Sun Microsystems inc.: Dynamic Proxy Classes. http://java.sun.com/javase/6/docs/technotes/guides/reflection/proxy.html

Cited By

View all
  • (2012)MASH: tool integration made easySoftware: Practice and Experience10.1002/spe.212943:4(419-433)Online publication date: May-2012
  • (2011)The implementation method and improvement of media piug-in in SecondLife 3D platformProceedings of 2011 International Conference on Computer Science and Network Technology10.1109/ICCSNT.2011.6182287(1669-1673)Online publication date: Dec-2011
  • (2009)Dynamic update of Java applications—balancing change flexibility vs programming transparencyJournal of Software Maintenance and Evolution: Research and Practice10.5555/1526497.152650121:2(81-112)Online publication date: 1-Mar-2009
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
eclipse '07: Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
October 2007
79 pages
ISBN:9781605580159
DOI:10.1145/1328279
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: 21 October 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. binary compatibility
  2. dynamic updating
  3. eclipse
  4. plug-ins

Qualifiers

  • Research-article

Conference

OOPSLA07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 38 of 79 submissions, 48%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2012)MASH: tool integration made easySoftware: Practice and Experience10.1002/spe.212943:4(419-433)Online publication date: May-2012
  • (2011)The implementation method and improvement of media piug-in in SecondLife 3D platformProceedings of 2011 International Conference on Computer Science and Network Technology10.1109/ICCSNT.2011.6182287(1669-1673)Online publication date: Dec-2011
  • (2009)Dynamic update of Java applications—balancing change flexibility vs programming transparencyJournal of Software Maintenance and Evolution: Research and Practice10.5555/1526497.152650121:2(81-112)Online publication date: 1-Mar-2009
  • (2009)Dynamic update of Java applications—balancing change flexibility vs programming transparencyJournal of Software Maintenance and Evolution: Research and Practice10.1002/smr.40621:2(81-112)Online publication date: 26-Mar-2009

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