skip to main content
10.1145/2602458.2602459acmconferencesArticle/Chapter ViewAbstractPublication PagescbseConference Proceedingsconference-collections
research-article

Coqcots & pycots: non-stopping components for safe dynamic reconfiguration

Authors Info & Claims
Published:27 June 2014Publication History

ABSTRACT

Software systems have to face evolutions of their running context and users. Therefore, the so-called dynamic reconfiguration has been commonly adopted for modifying some components and/or the architecture at runtime. Traditional approaches typically stop the needed components, apply the changes, and restart the components. However, this scheme is not suitable for critical systems and degrades user experience. This paper proposes to switch from the stop/restart scheme to dynamic software updating (DSU) techniques. Instead of stopping a component, its implementation is replaced by another one specifically built to apply the modifications while maintaining the best quality of service possible. The major contributions of this work are: (i) the integration of DSU techniques in a component model, and; (ii) a reconfiguration development process including specification, proof of correctness using Coq, and a systematic method to produce the executable script. In this perspective, the use of DSU techniques brings higher quality of service when reconfiguring component-based software and the formalization allows ensuring the safety and consistency of the reconfiguration process.

References

  1. R. Bialek and E. Jul. A framework for evolutionary, dynamically updatable, component-based systems. In Proc. of the Workshops at the 24th International Conference on Distributed Computing Systems, ICDCS 2004, pages 326--331, USA, 2004. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. F. Boyer, O. Gruber, and D. Pous. Robust reconfigurations of component assemblies. In Proc. of the 35th International Conference on Software Engineering, ICSE'13, pages 13--22, Piscataway, NJ, USA, 2013. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. Brada. Enhanced type-based component compatibility using deployment context information. Electronic Notes in Theoretical Computer Science, 279(2):17--31, Dec. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, and J.-B. Stefani. The FRACTAL component model and its support in Java. Software: Practice and Experience, 36(11--12):1257--1284, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Buisson and F. Dagnat. ReCaml: Execution state as the cornerstone of reconfigurations. In Proc. of the 15th ACM SIGPLAN International Conference on Functional Programming, ICFP'10, pages 27--38, New York, NY, USA, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. K. Gama, W. Rudametkin, and D. Donsez. Resilience in dynamic component-based applications. In Proc. of the 26th Brazilian Symposium on Software Engineering, SBES 2012, pages 191--195, Piscataway, NJ, USA, 2012. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Ghafari, P. Jamshidi, S. Shahbazi, and H. Haghighi. An architectural approach to ensure globally consistent dynamic reconfiguration of component-based systems. In Proc. of the 15th ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE'12, pages 177--182, New York, NY, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. J. Hayes. The frame problem and related problems in Artificial Intelligence. Technical report, Stanford University, Stanford, CA, USA, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Kramer and J. Magee. The evolving philosophers problem: Dynamic change management. IEEE Trans. on Software Engineering, 16(11):1293--1306, Nov. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. W. Li. QoS assurance for dynamic reconfiguration of component-based software systems. IEEE Trans. on Software Engineering, 38(3):658--676, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. Makris and R. A. Bazzi. Immediate multi-threaded dynamic software updates using stack reconstruction. In Proc. of the 2009 Conference on USENIX Annual Technical Conference, USENIX'09, page 31, Berkeley, CA, USA, 2009. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. V. P. L. Manna. Local dynamic update for component-based distributed systems. In Proc. of the 15th ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE'12, pages 167--176, New York, NY, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Martinez, F. Dagnat, and J. Buisson. Prototyping DSU techniques using Python. In Proc. of the 5th Workshop on Hot Topics in Software Upgrades, HotSWUp'13, Berkeley, CA, USA, 2013. USENIX.Google ScholarGoogle Scholar
  14. E. Miedes and F. D. Mu\ noz-Escoí. A survey about dynamic software updating. Technical Report ITI-SIDI-2012/003, Instituto Universitario Mixto Tecnológico de Informática, Universitat Politècnica de València, Valencia, Spain, May 2012.Google ScholarGoogle Scholar
  15. P. Pissias and G. Coulson. Framework for quiescence management in support of reconfigurable multi-threaded component-based systems. IET Software, 2(4):348--361, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  16. H. Seifzadeh, H. Abolhassani, and M. S. Moshkenani. A survey of dynamic software updating. Journal of Software: Evolution and Process, 25(5):535--568, Apr. 2012.Google ScholarGoogle ScholarCross RefCross Ref
  17. L. Seinturier, P. Merle, R. Rouvoy, D. Romero, V. Schiavoni, and J.-B. Stefani. A component-based middleware platform for reconfigurable service-oriented architectures. Software: Practice & Experience, 42(5):559--583, May 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Y. Vandewoude, P. Ebraert, Y. Berbers, and T. D'Hondt. Tranquility: A low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans. on Software Engineering, 33(12):856--868, Dec. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Coqcots & pycots: non-stopping components for safe dynamic reconfiguration

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      CBSE '14: Proceedings of the 17th international ACM Sigsoft symposium on Component-based software engineering
      June 2014
      200 pages
      ISBN:9781450325776
      DOI:10.1145/2602458

      Copyright © 2014 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 27 June 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      CBSE '14 Paper Acceptance Rate21of62submissions,34%Overall Acceptance Rate55of147submissions,37%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader