A Simple Software Rejuvenation Framework Based on Model Driven Development
In the current dynamic-natured business environment, it is inevitable that today’s software systems may not be suitable for tomorrow’s business challenges which indicate that the software in use has aged. Although we cannot prevent software aging, we can try to prolong the aging process of software so that it can be used for longer. In this paper, we outline a conceptual software rejuvenation framework based on model driven development approach. The framework is simple but effective and can be implemented in a recursive five step process. We have illustrated the applicability of the framework using a simple business case study which highlights the effectiveness of the framework. This work adds to the existing literature on software aging and its preventative measures. It also fills in the research gap which exists about software aging caused by changing requirements.
Index Terms: Model Driven Development, Software Aging, Software Rejuvenation Framework
 R. France and B. Rumpe. “Model-driven development of complex software: A research roadmap.” in 2007 Future of Software Engineering. Washington, DC, USA: IEEE Computer Society, 2007, pp. 37-54.
 D. Cotroneo, R. Natella, R. Pietrantuono, and S. Russo. “A survey of software aging and rejuvenation studies.” ACM Journal on Emerging Technologies in Computing Systems (JETC), vol. 10, no. 1, pp. 8, 2014.
 A. Avritzer and E. J. Weyuker. “Monitoring smoothly degrading systems for increased dependability.” Empirical Software Engineering, vol. 2, no. 1, pp. 59-77, 1997.
 M. Grottke, R. Matias, and K. S. Trivedi. “The fundamentals of software aging.” in Software Reliability Engineering Workshops, 2008. ISSRE Wksp 2008. IEEE International Conference on, 2008, pp. 1-6.
 Y. Huang, C. Kintala, N. Kolettis, and N. D. Fulton. “Software rejuvenation: Analysis, module and applications.” in Fault-Tolerant Computing, 1995. FTCS-25. Digest of Papers, Twenty-Fifth International Symposium on, 1995, pp. 381-390.
 C. Jones. “The economics of software maintenance in the twenty first century.” Unpublished Manuscript, 2006. Available: http://www.compaid.com/caiinternet/ezine/capersjones-maintenance.pdf.
 R. L. Glass. “On the aging of software.” Information Systems Management, vol. 28, no. 2, pp. 184-185, 2011.
 D. Cotroneo, R. Natella, R. Pietrantuono, and S. Russo. “Software aging and rejuvenation: Where we are and where we are going.” in Software Aging and Rejuvenation (WoSAR), 2011 IEEE Third International Workshop on, 2011, pp. 1-6.
 H. Okamura and T. Dohi. “Dynamic software rejuvenation policies in a transaction-based system under Markovian arrival processes.” Performance Evaluation, vol. 70, no. 3, pp. 197-211, 2013.
 A. Pfening, S. Garg, A. Puliafito, M. Telek, and K. S. Trivedi. “Optimal software rejuvenation for tolerating soft failures.” Performance Evaluation, vol. 27, pp. 491-506, 1996.
 P. Saravakos, G. Gravvanis, V. Koutras, and A. Platis. “A comprehensive approach to software aging and rejuvenation on a single node software system.” in Proceedings of the 9th Hellenic European Research on Computer Mathematics and its Applications Conference (HERCMA 2009), 2009.
 T. Dohi, K. Goseva-Popstojanova and K. S. Trivedi. “Statistical non-parametric algorithms to estimate the optimal software rejuvenation schedule.” in Dependable Computing, 2000. Proceedings. 2000 Pacific Rim International Symposium on, 2000, pp. 77-84.
 S. Garg, A. Puliafito, M. Telek and K. S. Trivedi. “Analysis of software rejuvenation using Markov regenerative stochastic Petrinet.” in Software Reliability Engineering, 1995. Proceedings, Sixth International Symposium on, 1995, pp. 180-187.
 F. Salfner and K. Wolter. “Analysis of service availability for time-triggered rejuvenation policies.” Journal of Systems and Software, vol. 83, no. 9, pp. 1579-1590, 2010.
 F. Machida, J. Xiang, K. Tadano and Y. Maeno. “Software life-extension: A new countermeasure to software aging.” in Software Reliability Engineering (ISSRE), 2012 IEEE 23rd International Symposium on, 2012, pp. 131-140.
 K. J. Cassidy, K. C. Gross and A. Malekpour. “Advanced pattern recognition for detection of complex software aging phenomena in online transaction processing servers.” in Dependable Systems and Networks, 2002. DSN 2002. Proceedings. International Conference on, 2002, pp. 478-482.
 S. Garg, A. van Moorsel, K. Vaidyanathan and K. S. Trivedi. “A methodology for detection and estimation of software aging.” in Software Reliability Engineering, 1998. Proceedings. The Ninth International Symposium on, 1998, pp. 283-292.
 S. Beydeda, M. Book, V. Gruhn, G. Booch, A. Brown, S. Iyengar, J. Rumbaugh and B. Selic. Model-Driven Software Development, vol. 15. Berlin: Springer, 2005.
 J. P. Tolvanen and S. Kelly. “Model-driven development challenges and solutions.” Modelsward, vol. 2016, p. 711, 2016.
 R. B. France, S. Ghosh, T. Dinh-Trong and A. Solberg. “Model-driven development using UML 2.0: Promises and pitfalls.” Computer, vol. 39, no. 2, pp. 59-66, 2006.
 S. J. Mellor, T. Clark and T. Futagami. “Model-driven development: Guest editors’ introduction.” IEEE Software, vol. 20, no. 5, pp. 14-18, 2003.
 P. Mayer, A. Schroeder and N. Koch. “MDD4SOA: Model-driven service orchestration.” in Enterprise Distributed Object Computing Conference, 2008. EDOC’08. 12th International IEEE, 2008, pp. 203-212.
 D. Harel, B. Rumpe. “Modeling languages: Syntax, semantics and all that stuff (or, what’s the semantics of semantics?).” in Technical Report MCS00-16, Weizmann Institute, Rehovot, Israel, 2004.
 N. B. Ruparelia. “Software development lifecycle models.” SIGSOFT Software Engineering Notes, vol. 35, no. 3, pp. 8-13, 2010.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.