Automating Hardware and Software Evolution Analysis

Brian P. Dougherty, Jules White, Chris Thompson, Douglas C. Schmidt · 2009

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. 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.

Read the paper · More papers on PaperTik