skip to main content
10.1145/1081706.1081720acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Towards a unified formal model for supporting mechanisms of dynamic component update

Published: 01 September 2005 Publication History

Abstract

The continuous requirements of evolving a delivered software system and the rising cost of shutting down a running software system are forcing researchers and practitioners to find ways of updating software as it runs. Dynamic update is a kind of software evolution that updates a running program without interruption. This paper covers the fundamental issues of the mechanisms of dynamic update theoretically. Based on a similarity analysis of many typical approaches to dynamic update during the past decades, we propose a unified formal model (namely, Dynamic Update Connector) to specify mechanisms of updating an architectural component, and reason about its properties. The model borrows the concept of connectors from software architecture community and is specified using process algebra CSP. We also demonstrate the applications of our DUC model.

References

[1]
J. Akkanen, A. Kiss, and J. K. Nurminen. Evolution of a software component - experiences with a network editor component. In Proceedings of the Sixth European Conference on Software Maintenance and Reengineering (CSMR), pages 119--125, 2002.]]
[2]
R. J. Allen. A Formal Approach to Software Architecture. Ph.D. Thesis, Carnegie Mellon University, 1997.]]
[3]
M. Dmitriev. Towards flexible and safe technology for runtime evolution of java language applications. In Proceedings of the Workshop on Engineering Complex Object-Oriented Systems for Evolution, pages 14--18, October 2001.]]
[4]
D. Duggan. Type-based hot swapping of running modules. SIGPLAN Notices, 36(10):50--61, September 2001.]]
[5]
I. Foster, J. Frey, S. Graham, et al. Modeling Stateful Resources with Web Services, Version 1.1, 2004.]]
[6]
N. Feng, G. Ao, T. White, and B. Pagurek. Dynamic evolution of network management software by software hot-swapping. In Proceedings of IEEE/IFIP International Symposium on Integrated Network Management(IM), pages 63--76, May 2001.]]
[7]
Formal Systems. FDR2 Homepage. http://www.fsel.com/software.html.]]
[8]
R. Gardler and N. Mehandjiev. Supporting component-based software evolution. In International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World, pages 103--120, October 2002.]]
[9]
M. L. Griss and R. R. Kessler. Achieving the promise of reuse with agent components. Lecture Notes in Computer Science, 2603:139--147, 2003.]]
[10]
D. Gupta, P. Jalote, and G. Barua. A formal framework for on-line software version change. IEEE Trans. Software Eng., 22(2):120--131, February 1996.]]
[11]
G. Huang, H. Mei and Q. Wang. Towards Software Architecture at Runtime. ACM SIGSOFT Software Engineering Notes,28(2),March 2003.]]
[12]
G. Huang, H. Mei and F. Yang. Dynamic Recovery and Manipulation of Software Architecture of Component-based Systems, International Journal of Automated Software Engineering, Springer,13(2), to appear, 2006.]]
[13]
S. Hauptmann and J. Wasel. On-line maintenance with on-the-fly software replacement. In Proceedings of third international conference on configurable distributed systems, pages 70--80, May 1996.]]
[14]
M. Hicks. Dynamic Software Updating. Ph.D thesis, Computer and Information Science Department, University of Pennsylvania, 2000.]]
[15]
C. Hoare. Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs, New Jersey, 1985.]]
[16]
N. Janssens, S. Michiels, T. Holvoet, and P. Verbaeten. A modular approach enforcing safe reconfiguration of producer-consumer applications. In Proceedings of International Conference on Software Maintenance, pages 274--283, October 2004.]]
[17]
N. Janssens, S. Michiels, T. Mahieu, and P. Verbaeten. Towards transparent hot-swapping support for producer-consumer components. In Proceedings of Second International Workshop on Unanticipated Software Evolution (USE), 2003.]]
[18]
J. Kramer and J. Magee. The evolving philosophers problem: dynamic change management. IEEE Trans. on Software Engg., 16(11):1293--1306, November 1990.]]
[19]
R. Laddaga and J. Veitch. Dynamic object technology. Communications of the ACM, 40(5):36--38, May 1997.]]
[20]
I. Lee. DYMOS: A Dynamic Modification System. PhD thesis, University of Wisconsin, 1983.]]
[21]
M. M. Lehman and J. F. Ramil. Software evolution in the age of component based software engineering. IEE Proc. Softw., sp. issue on Component Based Software Eng., 147(6):249--255, June 2000.]]
[22]
J. Lyu, Y. Kim, Y. Kim, and I. Lee. A procedure-based dynamic software update. In Proceeding of The International Conference on Dependable Systems and Networks(DSN), pages 271--284, July 2001.]]
[23]
S. Malabarba, R. Pandey, J. Gragg, E. Barr, and J. F. Barnes. Runtime support for type-safe dynamic java classes. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), pages 337--661, June 2000.]]
[24]
N. Medvidovic, E. M. Dashofy, and R. N. Taylor. The role of middleware in architecture-based software development. International Journal of Software Engineering and Knowledge Engineering, 13(4):367--393, April 2003.]]
[25]
N. R. Mehta, N. Medivdovic, and S. Phadke. Towards a taxonomy of software connectors. In Proceedings of the 22nd international conference on Software engineering, pages 178--187, June 2000.]]
[26]
H. Mei and G. Huang. PKUAS: An architecture-based reflective component operating platform. In 10th IEEE International Workshop on Future Trends of Distributed Computing Systems (FTDCS), pages 163--169, May 2004.]]
[27]
M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.]]
[28]
A. Orso, D. Liang, M. Harrold, and R. Lipton. Gamma system: Continuous evolution of software after deployment. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), pages 163--169, July 2002.]]
[29]
A. Orso, A. Rao, and M. Harrold. A technique for dynamic update of java software. In Proceedings of International Conference on Software Maintenance(ICSM), pages 649--658, October 2002.]]
[30]
Object Management Group, The Common Object Request Broker: Architecture and Specification, Version 3.0, formal/02-06-01, 2002.]]
[31]
F. Plasil, D. Balek, and R. Janecek. SOFA/DCUP: Architecture for component trading and dynamic update. In Proceedings of the 4th International Conference on Configurable Distributed Systems (ICCDS), pages 35--42, May 1998.]]
[32]
M. Rakic and N. Medvidovic. Increasing the confidence in off-the-shelf components: A software connector-based approach. In Proceedings of the 2001 symposium on Software reusability, pages 11--18, 2001.]]
[33]
S. Schneider. Concurrent and Real-time Systems: The CSP Approach. John Wiley & Sons, 2000.]]
[34]
M. E. Segal and O. Frieder. On-the-fly program modification: Systems for dynamic update. IEEE Software, 10(2):53--65, February 1993.]]
[35]
B. Spitznagel and D. Garlan. A compositional formalization of connector wrappers. In Proceedings of the 25th international conference on Software engineering, pages 374--384, May 2003.]]
[36]
N. Sridhar, S. M. Pike, and B. W. Weide. Dynamic module replacement in distributed protocols. In Proceedings of the 23rd International Conference on Distributed Computing Systems (ICDCS), pages 620--627, 2003.]]
[37]
Sun Microsystems. Enterprise Java Bean (EJB). http://java.sun.com/products/ejb.]]
[38]
Sun Microsystems. Java 2 Platform, Enterprise Edition Specification. http://java.sun.com/j2ee/1.4/index.jsp.]]
[39]
Sun Microsystems. Java Document for Reflection. http://java.sun.com/j2se/1.3/docs/guide/reflection/.]]
[40]
Y. Vandewoude and Y. Berbers. Run-time evolution for embedded component-oriented systems. In Proceedings of International Conference on Software Maintenance(ICSM), pages 242--245, October 2002.]]
[41]
Q. Wang, F. Chen, H. Mei, and F. Yang. An application server to support online evolution. In Proceedings of International Conference on Software Maintenance(ICSM), pages 131--140, October 2002.]]
[42]
Yankee Group. How much is an hour of downtime worth to you? Must-Know Business Continuity Strategies, pages 178--187, July 2002.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE-13: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
September 2005
402 pages
ISBN:1595930140
DOI:10.1145/1081706
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 5
    September 2005
    462 pages
    ISSN:0163-5948
    DOI:10.1145/1095430
    Issue’s Table of Contents
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: 01 September 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CSP
  2. architectural connector
  3. dynamic update
  4. software architecture

Qualifiers

  • Article

Conference

ESEC/FSE05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2020)Formal Description Approach for Agent-Based Mobile ComputingProceedings of the 2nd International Conference on Artificial Intelligence and Advanced Manufacture10.1145/3421766.3421822(222-229)Online publication date: 15-Oct-2020
  • (2016)Technical Framework for Internetware: An Architecture Centric ApproachInternetware10.1007/978-981-10-2546-4_2(19-30)Online publication date: 3-Dec-2016
  • (2016)A Software Architecture Centric Engineering Approach for InternetwareInternetware10.1007/978-981-10-2546-4_11(233-256)Online publication date: 3-Dec-2016
  • (2011)A Formal Model for Dynamic Service Updates in Pervasive ComputingProceedings of the 2011 Fifth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing10.1109/IMIS.2011.111(114-119)Online publication date: 30-Jun-2011
  • (2009)Towards a dynamic and adaptable application serverProceedings of the First Asia-Pacific Symposium on Internetware10.1145/1640206.1640219(1-5)Online publication date: 17-Oct-2009
  • (2008)Technical framework for Internetware: An architecture centric approachScience in China Series F: Information Sciences10.1007/s11432-008-0051-z51:6(610-622)Online publication date: 21-May-2008
  • (2008)Online approach to feature interaction problems in middleware based systemScience in China Series F: Information Sciences10.1007/s11432-008-0015-351:3(225-239)Online publication date: Mar-2008
  • (2006)An agent-based approach to composing web services to support adaptable business processesMultiagent and Grid Systems10.5555/2699951.26999572:4(383-399)Online publication date: 1-Jul-2006
  • (2006)Development of software engineeringProceedings of the 28th international conference on Software engineering10.1145/1134285.1134287(2-11)Online publication date: 28-May-2006
  • (2006)A software architecture centric engineering approach for InternetwareScience in China Series F: Information Sciences10.1007/s11432-006-2027-149:6(702-730)Online publication date: Dec-2006
  • Show More Cited By

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