The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.03 - May-June (2012 vol.38)
pp: 658-676
Wei Li , Central Quneensland University, Rockhampton
ABSTRACT
A major challenge of dynamic reconfiguration is Quality of Service (QoS) assurance, which is meant to reduce application disruption to the minimum for the system's transformation. However, this problem has not been well studied. This paper investigates the problem for component-based software systems from three points of view. First, the whole spectrum of QoS characteristics is defined. Second, the logical and physical requirements for QoS characteristics are analyzed and solutions to achieve them are proposed. Third, prior work is classified by QoS characteristics and then realized by abstract reconfiguration strategies. On this basis, quantitative evaluation of the QoS assurance abilities of existing work and our own approach is conducted through three steps. First, a proof-of-concept prototype called the reconfigurable component model is implemented to support the representation and testing of the reconfiguration strategies. Second, a reconfiguration benchmark is proposed to expose the whole spectrum of QoS problems. Third, each reconfiguration strategy is tested against the benchmark and the testing results are evaluated. The most important conclusion from our investigation is that the classified QoS characteristics can be fully achieved under some acceptable constraints.
INDEX TERMS
Change management, componentware, dynamic reconfiguration, modeling the QoS assurance process, system evolution.
CITATION
Wei Li, "QoS Assurance for Dynamic Reconfiguration of Component-Based Software Systems", IEEE Transactions on Software Engineering, vol.38, no. 3, pp. 658-676, May-June 2012, doi:10.1109/TSE.2011.37
REFERENCES
[1] S. Ajmani, "A Review of Software Upgrade Techniques for Distributed Systems," http://pmg.csail.mit.edu/~ajmani/ papers review.pdf, 2004.
[2] S. Ajmani, B. Liskov, and L. Shrira, "Modular Software Upgrades for Distributed Systems," Proc. 20th European Conf. Object-Oriented Programming, pp. 452-476, 2006.
[3] J.P.A. Almeida, M. van Sinderen, L.F. Pires, and M. Wegdam, "Handling QoS in MDA: A Discussion on Availability and Dynamic Reconfiguration," Proc. Workshop Model Driven Architecture: Foundations and Application, pp. 91-96, 2003.
[4] J.P.A. Almeidaa, M. van Sinderena, L.F. Piresa, and M. Wegdama, "Platform-Independent Dynamic Reconfiguration of Distributed Applications," Proc. 10th IEEE Int'l Workshop Future Trends of Distributed Computing Systems, pp. 286-291, 2004.
[5] N. Arshad, D. Heimbigner, and A.L. Wolf, "Deployment and Dynamic Reconfiguration Planning for Distributed Software Systems," Proc. 15th IEEE Int'l Conf. Tools with Artificial Intelligence, pp.39-46, 2003.
[6] C. Bidan, V. Issarny, T. Saridakis, and A. Zarras, "A Dynamic Reconfiguration Service for CORBA," Proc. Fourth Int'l Conf. Configurable Distributed Systems, pp. 35-42, 1998.
[7] J.E. Cook and J.A. Dage, "Highly Reliable Upgrading of Components," Proc. Int'l Conf. Software Eng., pp. 203-212, 1999.
[8] J. Dowling and V. Cahill, "The K-Component Architecture Meta-Model for Self-Adaptive Software," Proc. Third Int'l Conf. Metalevel Architectures and Separation of Crosscutting Concerns, pp. 81-88, 2001.
[9] J. Dowling and V. Cahill, "Dynamic Software Evolution and the K-Component Model," Proc. OOPSLA 2001 Workshop Software Evolution, 2001.
[10] H. Evans, "DRASTIC and GRUMPS: The Design and Implementation of Two Run-Time Evolution Frameworks," IEE Proc. Software, vol. 151, no. 2, pp. 30-48, Apr. 2004.
[11] W.L. Guay, S.A. Reinemo, B.D. Johnson, and L. Holen, "Host Side Dynamic Reconfiguration with InfiniBand," Proc. Int'l Conf. Cluster Computing, pp. 126-135, 2010.
[12] J. Gorinsek, S. Van Baelen, Y. Berbers, and K. De Vlaminck, "Managing Quality of Service during Evolution Using Component Contract," Proc. Second Int'l Workshop Unanticipated Software Evolution, pp. 57-62, 2003.
[13] M. Hicks, J.T. Moore, and S. Nettles, "Dynamic Software Updating," ACM Trans. Programming Languages and Systems, vol. 27, no. 6, pp. 1049-1096, 2005.
[14] J. Hillman and I. Warren, "An Open Framework for Dynamic Reconfiguration," Proc. 26th Int'l Conf. Software Eng., pp. 594-603, 2004.
[15] J. Hillman and I. Warren, "Quantitative Analysis of Dynamic Reconfiguration Algorithms," Proc. Int'l Conf. Design, Analysis and Simulation of Distributed Systems, 2004.
[16] D. Jackson, "Alloy: A Lightweight Object Modeling Notation," ACM Trans. Software Eng. and Methodology, vol. 11, no. 2, pp. 256-290, 2002.
[17] N. Janssens, L. Desmet, S. Michiels, and P. Verbaeten, "NeCoMan: Middleware for Safe Distributed Service Deployment in Programmable Networks," Proc. Workshop Adaptive and Reflective Middleware, pp. 256-261, 2004.
[18] N. Janssens, E. Truyen, F. Sanen, and W. Joosen, "Adding Dynamic Reconfiguration Support to JBoss AOP," Proc. First Workshop Middleware-Application Interaction, pp. 1-8, 2007.
[19] D.K. Kim and S. Bohner, "Dynamic Reconfiguration for Java Applications Using AOP," Proc. IEEE Southeastcon, pp. 210-215, 2008.
[20] J. Kramer and J. Magee, "The Evolving Philosophers Problem: Dynamic Change Management," IEEE Trans. Software Eng., vol. 16, no. 11, pp. 1293-1306, Nov. 1990.
[21] M. Leger, T. Ledoux, and T. Coupaye, "Reliable Dynamic Reconfigurations in a Reflective Component Model," Proc. Int'l Symp. Component-Based Software Eng., pp. 74-92, 2010.
[22] W. Li, "DynaQoS-RDF: A Best Effort for QoS Assurance of Dynamic Reconfiguration of Dataflow Systems," J. Software Maintenance and Evolution: Research and Practice, vol. 21, no. 1, pp. 19-48, 2009.
[23] W. Li, "Evaluating the Impacts of Dynamic Reconfiguration on the QoS of Running Systems," J. Systems and Software, vol. 84, pp. 2123-2138, 2011.
[24] S. Mitchell, H. Naguib, G. Coulouris, and T. Kindberg, "A QoS Support Framework for Dynamically Reconfigurable Multimedia Applications," Proc. Int'l Conf. Distributed Applications and Interoperable Systems, pp. 17-30, 1999.
[25] L.E. Moser, P.M. Melliar-Smith, and L.A. Tewksbury, "Online Upgrades Become Standard," Proc. 26th Ann. Int'l Computer Software and Applications Conf., pp. 982-988, 2002.
[26] N. De Palma, P. Laumay, and L. Bellissard, "Ensuring Dynamic Reconfiguration Consistency," Proc. Sixth Int'l Workshop Component-Oriented Programming, 2001.
[27] A. Rasche and A. Polze, "ReDAC—Dynamic Reconfiguration of Distributed Component-Based Applications with Cyclic Dependencies," Proc. 11th IEEE Int'l Symp. Object Oriented Real-Time Distributed Computing, pp. 322-330, 2008.
[28] T. Senivongse, "Enabling Flexible Cross-Version Interoperability for Distributed Services," Proc. Int'l Symp. Distributed Objects and Applications, pp. 201-210, 1999.
[29] M. Solarski and H. Meling, "Towards Upgrading Actively Replicated Servers On-the-Fly," Proc. 26th Ann. Int'l Computer Software and Applications Conf., pp. 1038-1043, 2002.
[30] J.G. Stoyle, M. Hicks, G. Bierman, P. Sewell, and L. Neamtiu, "Mutatis Mutandis: Safe and Predictable Dynamic Software Updating," ACM Trans. Programming Language and Systems, vol. 29, no. 4, pp. 183-194, 2007.
[31] B. Surajbali, P. Grace, and G. Coulson, "Preserving Dynamic Reconfiguration Consistency in Aspect Oriented Middleware," Proc. Ninth Workshop Aspects, Components, and Patterns for Infrastructure Software, pp. 33-40, 2010.
[32] L.A. Tewksbury, L.E. Moser, and P.M. Melliar-Smith, "Live Upgrades of CORBA Applications Using Object Replication," Proc. IEEE Int'l Conf. Software Maintenance, pp. 488-497, 2001.
[33] E. Truyen, N. Janssens, F. Sanen, and W. Joosen, "Support for Distributed Adaptations in Aspect-Oriented Middleware," Proc. Seventh Int'l Conf. Aspect-Oriented Software Development, pp. 120-131, 2008.
[34] Y. Vandewoude, P. Ebraert, Y. Berbers, and T. D'Hondt, "Tranquillity: A Low Disruptive Alternative to Quiescence for Ensuring Safe Dynamic Updates," IEEE Trans. Software Eng., vol. 33, no. 12, pp. 856-868, Dec. 2007.
[35] I. Warren, "A Model for Dynamic Configuration Which Preserves Application Integrity," PhD thesis, Lancaster Univ., 2000.
[36] I. Warren, J. Sun, S. Krishnamohan, and T. Weerasinghe, "An Automated Formal Approach to Managing Dynamic Reconfiguration," Proc. 21st IEEE Int'l Conf. Automated Software Eng., pp. 37-46, 2006.
[37] T. Wurthinger, W. Binder, D. Ansaloni, P. Moret, and H. Mossenbock, "Improving Aspect-Oriented Programming with Dynamic Code Evolution in an Enhanced Java Virtual Machine," Proc. Seventh Workshop Reflection, AOP and Meta-Data for Software Evolution, 2010.
[38] T. Wurthinger, C. Wimmer, and L. Stadler, "Dynamic Code Evolution for Java," Proc. Eighth Int'l Conf. Principles and Practice of Programming in Java, pp. 10-19, 2010.
[39] J. Zhang, Z. Yang, B. Cheng, and P. McKinley, "Adding Safeness to Dynamic Adaptation Techniques," Proc. ICSE 2004 Workshop Architecting Dependable Systems, pp. 17-21, 2004.
15 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool