DocumentCode :
1285832
Title :
ASCENT: An Algorithmic Technique for Designing Hardware and Software in Tandem
Author :
White, Jules ; Doughtery, Brian ; Schmidt, Douglas C.
Author_Institution :
Bradley Dept. of Electr. & Comput. Eng., Virginia Tech, Blacksburg, VA, USA
Volume :
36
Issue :
6
fYear :
2010
Firstpage :
838
Lastpage :
851
Abstract :
Search-based software engineering is an emerging paradigm that uses automated search algorithms to help designers iteratively find solutions to complicated design problems. For example, when designing a climate monitoring satellite, designers may want to use the minimal amount of computing hardware to reduce weight and cost while supporting the image processing algorithms running onboard. A key problem in these situations is that the hardware and software designs are locked in a tightly coupled cost-constrained producer/consumer relationship that makes it hard to find a good hardware/software design configuration. Search-based software engineering can be used to apply algorithmic techniques to automate the search for hardware/software designs that maximize the image processing accuracy while respecting cost constraints. This paper provides the following contributions to research on search-based software engineering: 1) We show how a cost-constrained producer/consumer problem can be modeled as a set of two multidimensional multiple-choice knapsack problems (MMKPs), 2) we present a polynomial-time search-based software engineering technique, called the Allocation-baSed Configuration Exploration Technique (ASCENT), for finding near optimal hardware/software codesign solutions, and 3) we present empirical results showing that ASCENT´s solutions average over 95 percent of the optimal solution´s value.
Keywords :
hardware-software codesign; knapsack problems; software engineering; ASCENT; allocation-based configuration exploration technique; automated search algorithm; climate monitoring satellite; computing hardware; cost-constrained producer/consumer problem; hardware-software codesign; hardware/software design configuration; image processing algorithm; multidimensional multiple choice knapsack problem; polynomial time search-based software engineering; Algorithm design and analysis; Computer aided software engineering; Costs; Distributed processing; Hardware; Image processing; Iterative algorithms; Monitoring; Random access memory; Satellites; Software algorithms; Software design; Software engineering; Algorithms; computer aided software engineering; distributed computing.; optimization methods;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/TSE.2010.77
Filename :
5539763
Link To Document :
بازگشت