Automating Hardware and Software Evolution Analysis

Cost-effective software evolution is critical to many distributed real-time and embedded (DRE) systems. Selecting the lowest cost set of software components that meet DRE system resource constraints, such as total memory and available CPU cycles, is an NP-Hard problem. This paper provides three contributions to R\&D on evolving software-intensive DRE systems. First, we present the Software Evolution Analysis with Resources (SEAR) technique that transforms component-based DRE system evolution alternatives into multidimensional multiple-choice knapsack problems. Second, we compare several techniques for solving these knapsack problems to determine valid, low-cost design configurations for resource constrained component-based DRE systems.\if false with multiple potential upgrades that cannot be solved efficiently by existing techniques\fi. Third, we empirically evaluate the techniques to determine their applicability in the context of common evolution scenarios. Based on these findings, we present a taxonomy of the solving techniques and the evolution scenarios that best suit each technique.

[1]  Philip S. Yu,et al.  Optimal Component Composition for Scalable Stream Processing , 2005, 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05).

[2]  Mohammad Sohel Rahman,et al.  A multiprocessor based heuristic for multi-dimensional multiple-choice knapsack problem , 2007, The Journal of Supercomputing.

[3]  Stephen R. Schach Classical and Object Oriented Software Engineering , 1999 .

[4]  Donal Heffernan,et al.  Expanding Automotive Electronic Systems , 2002, Computer.

[5]  Niraj K. Jha,et al.  Hardware-software co-synthesis of fault-tolerant real-time distributed embedded systems , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[6]  Eric G. Manning,et al.  Heuristic Solutions for the Multiple-Choice Multi-dimension Knapsack Problem , 2001, International Conference on Computational Science.

[7]  Andreas Jost Residual Value Analysis , 2005 .

[8]  Klaus Pohl,et al.  Considering Variability in a System Family's Architecture During COTS Evaluation , 2005, ICCBSS.

[9]  Douglas C. Schmidt,et al.  ASCENT: An Algorithmic Technique for Designing Hardware and Software in Tandem , 2010, IEEE Transactions on Software Engineering.

[10]  Barry W. Boehm,et al.  Cost models for future software life cycle processes: COCOMO 2.0 , 1995, Ann. Softw. Eng..

[11]  Raymond R. Hill,et al.  New greedy heuristics for the Multiple-choice Multi-dimensional Knapsack Problem , 2007 .

[12]  Edward Y. H. Lin,et al.  A Bibliographical Survey On Some Well-Known Non-Standard Knapsack Problems , 1998 .

[13]  Frank Slomka,et al.  Hardware/Software Codesign and Rapid Prototyping of Embedded Systems , 2000, IEEE Des. Test Comput..

[14]  Mhand Hifi,et al.  A Reactive Local Search-Based Algorithm for the Multiple-Choice Multi-Dimensional Knapsack Problem , 2006, Comput. Optim. Appl..

[15]  Mhand Hifi,et al.  Heuristic algorithms for the multiple-choice multidimensional knapsack problem , 2004, J. Oper. Res. Soc..

[16]  Guy G. Gable,et al.  An ERP maintenance model , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[17]  Du Wan Cheun,et al.  A Component-Based Process for Developing Automotive ECU Software , 2007, PROFES.

[18]  Paolo Toth,et al.  Knapsack Problems: Algorithms and Computer Implementations , 1990 .