Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1890683.1890685acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

Safely updating running software: tranquility at the object level

Published: 22 June 2010 Publication History

Abstract

Software applications are updated frequently during their life cycle. In order to do so, they usually must be shut down, adapted and restarted. This causes periods of unavailability, which is not acceptable for some applications. Dynamic software updates (DSU) -- in which applications are updated at runtime -- is a technique that can be used to update software without the need to restart it.
One of the problems of DSU is ensuring state consistency of the active application. Tranquility has been proposed as a necessary and sufficient condition for ensuring state consistency at the granularity of software components. As many object-oriented applications do not have a notion of software components, we aim to introduce tranquility at object granularity.

References

[1]
G. Agha. Actors: a model of concurrent computation in distributed systems. MIT Press, 1986.
[2]
A. Baumann, J. Appavoo, R. W. Wisniewski, D. D. Silva, O. Krieger, and G. Heiser. Reboots are for hardware: challenges and solutions to updating an operating system on the fly. In Proceedings of the USENIX Annual Technical Conference, pages 1--14, 2007.
[3]
M. Büchi and W. Weck. Generic wrappers. In E. Bertino, editor, Proc. ECOOP 2000, pages 201--225. Springer Verlag, 2000.
[4]
P. Ebraert, Y. Vandewoude, Y. Berbers, and T. D'Hondt. Pitfalls in unanticipated dynamic software evolution. In Proceedings of the Workshop on Reflection, AOP and Meta-Data for Software Evolution, pages 41--49, 2005.
[5]
Eclipse Corporation. Eclipse, 2010.
[6]
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
[7]
A. R. Gregersen and B. N. Jørgensen. Dynamic update of java applications---balancing change flexibility vs programming transparency. J. Softw. Maint. Evol., 21(2):81--112, 2009.
[8]
M. Haupt and H. Schippers. A machine model for aspect-oriented programming. In ECOOP 2007 - Object-oriented Programming, 21st European Conference, Berlin, Germany, July 30--August 3, 2007, Proceedings, volume 4609 of Lecture Notes in Computer Science, pages 501--524. Springer, 2007.
[9]
C. Hewitt, P. Bishop, and R. Steiger. A universal modular actor formalism for artificial intelligence. In Proceedings of the 3rd international joint conference on Artificial intelligence, pages 235--245, Stanford, USA, 1973. Morgan Kaufmann Publishers Inc.
[10]
M. Hicks. Dynamic Software Updating. PhD thesis, University of Pennsylvania, 2001.
[11]
J. Kramer and J. Magee. The evolving philosophers problem: Dynamic change management. IEEE Transactions on Software Engineering, 16(11):1293--1306, November 1990.
[12]
P. Maes. Computational Reflection. Phd thesis, Artificial Intelligence Laboratory, Vrije Universiteit Brussel, 1987.
[13]
I. Neamtiu, M. Hicks, J. S. Foster, and P. Pratikakis. Contextual effects for version-consistent dynamic software updating and safe concurrent programming. In Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 37--49, New York, NY, USA, 2008. ACM.
[14]
I. Neamtiu, M. Hicks, G. Stoyle, and M. Oriol. Practical dynamic software updating for c. SIGPLAN, 41(6):72--83, 2006.
[15]
J. Noble, A. Taivalsaari, and I. Moore, editors. Prototype-Based Programming: Concepts, Languages and Applications. Springer, 1999.
[16]
M. Pukall, C. Kästner, and G. Saake. Towards unanticipated runtime adaptation of java applications. In APSEC '08: Proceedings of the 2008 15th Asia-Pacific Software Engineering Conference, pages 85--92, Washington, DC, USA, 2008. IEEE Computer Society.
[17]
C. Soules, J. Appavoo, K. Hui, D. D. Silva, G. R. Ganger, O. Krieger, M. Stumm, R. W. Wisniewski, M. Auslander, M. Ostrowski, B. Rosenburg, and J. Xenidis. System support for online reconfiguration. In Proceedings of the USENIX Annual Technical Conference, 2003.
[18]
C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, January 1998.
[19]
Y. Vandewoude and Y. Berbers. Component state mapping for runtime evolution. In In Proceedings of the 2005 International Conference on Programming Languages and Compilers, pages 230--236, Las Vegas, Nevada, USA, June 2005.
[20]
Y. Vandewoude and Y. Berbers. Deepcompare: Static analysis for runtime software evolution. Technical Report CW405, KULeuven, Belgium, Februari 2005.
[21]
Y. Vandewoude, P. Ebraert, Y. Berbers, and T. D'Hondt. Tranquillity: A low disruptive alternative to Quiescence for ensuring safe dynamic updating. IEEE Transactions on Software Engineering, 33(12), 2007.
[22]
J. L. Weiner and S. Ramakrishman. A piggy-back compiler for prolog. In PLDI '88: Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, pages 288--296, New York, NY, USA, 1988. ACM.
[23]
R. Wuyts. Roeltyper, a fast type reconstructor for smalltalk. Technical report, Université Libre de Bruxelles, 2005.

Cited By

View all
  • (2016)Consistent Unanticipated Adaptation for Context-Dependent ApplicationsProceedings of the 8th ACM International Workshop on Context-Oriented Programming10.1145/2951965.2951966(33-38)Online publication date: 17-Jul-2016
  1. Safely updating running software: tranquility at the object level

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    RAM-SE '10: Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
    June 2010
    45 pages
    ISBN:9781450305365
    DOI:10.1145/1890683
    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

    • CEKTRA
    • University of Maribor
    • AITO: Association Internationale pour les Technologies Objets

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 22 June 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Research-article

    Conference

    ECOOP '10
    Sponsor:
    • AITO

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2016)Consistent Unanticipated Adaptation for Context-Dependent ApplicationsProceedings of the 8th ACM International Workshop on Context-Oriented Programming10.1145/2951965.2951966(33-38)Online publication date: 17-Jul-2016

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media