Abstract
Software evolution is critical to extending the utility and life of distributed real-time and embedded (DRE) systems. Determining the optimal set of software and hardware components to evolve that (1) incorporate cutting-edge technology and (2) satisfy DRE system resource constraints, such as memory, power, and CPU usage is an NP-Hard problem. This article provides four contributions to evolving legacy DRE system configurations. First, we present the Software Evolution Analysis with Resources (SEAR) technique for converting legacy DRE system configurations, external resource availabilities, and candidate replacement components into multiple-choice multidimension knapsack problems (MMKP). Second, we present a formal methodology for assessing the validity of evolved system configurations. Third, we apply heuristic approximation algorithms to determine low-cost, high value evolution paths in polynomial time. Finally, we analyze results of experiments that apply these techniques to determine which technique is most effective for given system parameters. Our results show that constraint solvers can only evolve small system configurations, whereas approximation techniques are needed to evolve larger system configurations.
[1] Schach S.R., Classical and Object-Oriented Software Engineering, McGraw-Hill Professional, New York USA, 1995 Search in Google Scholar
[2] Kemerer C.F., Slaughter S., An empirical approach to studying software evolution, IEEE T SOFTWARE ENG, 2002, 25, 493–509 http://dx.doi.org/10.1109/32.79994510.1109/32.799945Search in Google Scholar
[3] Ng C.S.P., Chan G.T., An ERP maintenance model, In: Sprague R.H (Ed.), Proceedings of the 36th Annual Hawaii International Conference on System Sciences (2003, Hilton Waikoloa Village, USA), IEEE Computer Society, 2003, 234–242 10.1109/HICSS.2003.1174609Search in Google Scholar
[4] Leen G., Heffernan D., Expanding Automotive Electronic Systems, COMPUTER, 2002, 35, 88–93 http://dx.doi.org/10.1109/2.97692310.1109/2.976923Search in Google Scholar
[5] Dougherty B., White J., Thompson C., Schmidt D., Automating Hardware and Software Evolution Analysis, In: Bapty T. (Ed.), International Conference and Workshop on the Engineering of Computer Based Systems (ECBS) (November 2009, San Francisco, USA), IEEE Computer Society, 2009, 265–274 10.1109/ECBS.2009.22Search in Google Scholar
[6] Boehm B., Clark B., Horowitz E., Westland C., Madachy R., Selby R., Cost models for future software life cycle processes: COCOMO 2.0, ANN SOFTW ENG, 1995, 1, 57–94 http://dx.doi.org/10.1007/BF0224904610.1007/BF02249046Search in Google Scholar
[7] Gu X., Yu P.S., Nahrstedt K., Optimal Component Composition for Scalable Stream Processing, In: Arora A. (Ed.), 25th IEEE International Conference on Distributed Computing Systems. ICDCS 2005. Proceedings. (2005, Columbus, USA), IEEE Computer Society, 2005, 773–782 Search in Google Scholar
[8] Moser M., Jokanovic D.P., Shiratori N., An algorithm for the multidimensional multiple-choice knapsack problem, IEICE T FUND ELECTR, 1997, 80, 582–589 Search in Google Scholar
[9] Martello S., Toth P., Knapsack problems: algorithms and computer implementations, Wiley, New York, 1990 Search in Google Scholar
[10] Ulfat-Bunyadi N., Kamsties E., Pohl K., Considering Variability in a System Family’s Architecture During COTS Evaluation, In: Franch X., Port D., Proceedings ofthe 4th International Conference on COTS-Based Software Systems (ICCBSS) (2005, Bilbao, Spain), Springer, 2005, 223–235 10.1007/978-3-540-30587-3_32Search in Google Scholar
[11] Srinivasan S., Jha N.K., Hardware-software co-synthesis of fault-tolerant real-time distributed embedded systems, In: Bryan T.P (Ed.), Design Automation Conference, 1995, with EURO-VHDL, Proceedings EURO-DAC’95 (2002, San Francscio, USA), IEEE Computer Society, 2002, 334–339 Search in Google Scholar
[12] White J., Dougherty B., Schmidt D.C., ASCENT: An Algorithmic Technique for Designing Hardware and Software in Tandem, ISIS-Vanderbilt University, ISIS-08-907, August 2008 Search in Google Scholar
[13] Lin E.Y.H., A Biblographical Survey on Some Wellknown Non-Standard Knapsack Problems, INFORMATION SCIENCE AND OPERATIONAL RESEARCH, 1998, 36, 280–283 10.1080/03155986.1998.11732364Search in Google Scholar
[14] Hifi M., Michrafy M., Sbihi A., Heuristic algorithms for the multiple-choice multidimensional knapsack problem, J OPER RES SOC, 2004, 12, 1323–1332 http://dx.doi.org/10.1057/palgrave.jors.260179610.1057/palgrave.jors.2601796Search in Google Scholar
[15] Her J.S., Choi S.W., Cheun DW, Bae JS, Kim SD, A Component-Based Process for Developing Automotive ECU Software, LECT NOTES COMPUT SC, 2007, 4589, 358–373 http://dx.doi.org/10.1007/978-3-540-73460-4_3110.1007/978-3-540-73460-4_31Search in Google Scholar
[16] Shahriar A.Z.M., Akbar M.M., Rahman M.S., Newton M.A.H., A multiprocessor based heuristic for multi-dimensional multiple-choice knapsack problem, J SUPERCOMPUT, 2008, 43, 257–280 http://dx.doi.org/10.1007/s11227-007-0144-210.1007/s11227-007-0144-2Search in Google Scholar
[17] Hifi M., Michrafy M., Sbihi A., A Reactive Local Search-Based Algorithm for the Multiple-Choice Multi-Dimensional Knapsack Problem, COMPUT OPTIM APPL, 2006, 33, 271–285 http://dx.doi.org/10.1007/s10589-005-3057-010.1007/s10589-005-3057-0Search in Google Scholar
[18] Akbar M.M., Manning E.G., Shoja G.C., Khan S., Heuristic Solutions for the Multiple-Choice Multi-dimension Knapsack Problem, LECT NOTES COMPUT SC, 2001, 2074, 659–668 http://dx.doi.org/10.1007/3-540-45718-6_7110.1007/3-540-45718-6_71Search in Google Scholar
[19] Hiremath C.S., Hill R.R., New greedy heuristics for the Multiple-choice Multi-dimensional Knapsack Problem, INTERNATIONAL JOURNAL OF OPERATIONAL RESEARCH, 2007, 2, 495–512 http://dx.doi.org/10.1504/IJOR.2007.01417610.1504/IJOR.2007.014176Search in Google Scholar
[20] Kang K.C., Kim S., Lee J., Kim K., Shin E., Huh M., FORM: A Feature-Oriented Reuse Method with Domain-specific Reference Architectures, ANN SOFTW ENG, 1998, 5, 143–168 http://dx.doi.org/10.1023/A:101898062558710.1023/A:1018980625587Search in Google Scholar
[21] Benavides D., Trinidad P., Ruiz-Cortes A., Automated Reasoning on Feature Models, In: Pastor O., Falcao e Cunha J. (Eds.), 17th Conference on Advanced Information Systems Engineering, Springer, 2005, 491–503 Search in Google Scholar
[22] White J., Czarnecki K., Schmidt D.C., Lenz G., Wienands C., Wuchner E., Fiege L., Automated Model-based Configuration of Enterprise Java Applications, In: Blake M.B., Spies M. (Eds.), EDOC (October 2007, Annapolis, Maryland, USA), IEEE Computer Society, 2007, 301–312 10.1109/EDOC.2007.22Search in Google Scholar
[23] Mannion M., Using First-order Logic for Product Line Model Validation, In: Chastek G.J. (Ed.), Proceedings of the Second International Conference on Software Product Lines (2002, San Diego, USA), Springer, 2002, 176–187 10.1007/3-540-45652-X_11Search in Google Scholar
[24] Batory D., Feature Models, Grammars, and Prepositional Formulas, In: Obbink H., Pohl K. (Eds.), Software Product Lines: 9th International Conference (26–29 September 2005, Rennes, France), Springer, 2005, 7–20 Search in Google Scholar
[25] Slomka F., Dorfel M., Munzenberger R., Hofmann R., Hardware/software codesign and rapid prototyping of embedded-systems, IEEE DES TEST COMPUT, 2000, 17, 28–38 http://dx.doi.org/10.1109/54.84433110.1109/54.844331Search in Google Scholar
[26] Bäck T., Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic Algorithms, Oxford University Press, USA, 1996 10.1093/oso/9780195099713.001.0001Search in Google Scholar
[27] Fogel D.B., Inc N.S., La Jolla C.A., What is Evolutionary Computation?, IEEE SPECTRUM, 2000, 37, 26–28 http://dx.doi.org/10.1109/6.81992610.1109/6.819926Search in Google Scholar
[28] Kennedy J., Eberhart R., Particle Swarm Optimization, In: Vamplew P., Adams A. (Eds.), IEEE International Conference on Neural Networks (1995, Perth, Australia), IEEE Computer Society, 1995, 1942–1948 Search in Google Scholar
[29] Shi Y., Eberhart R.C., Empirical Study of Particle Swarm Optimization, In: Punch B. (Ed.), Proceedings of the 1999 Congress on Evolutionary Computation (1999, Washington D.C., USA), NJ: IEEE Service Center, 1999, 1948–1950 Search in Google Scholar
© 2011 Versita Warsaw
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License.