Leveraging Model-Based Techniques for Component Level Architecture Analysis in Product-Based Systems Open Access
Downloadable ContentDownload PDF
System design at the component level seeks to construct a design trade space of alternate solutions comprising mapping(s) of system function(s) to physical hardware or software product components. The design space is analyzed to determine a near-optimal next-level allocated architecture solution that system function and quality requirements. Software product components are targeted to increasingly complex computer systems that provide heterogeneous combinations of processing resources. These processing technologies facilitate performance (speed) optimization via algorithm parallelization. However, speed optimization can conflict with electrical energy and thermal constraints. A multi-disciplinary architecture analysis method is presented that considers all attribute constraints required to synthesize a robust, optimum, extensible next-level solution. This paper presents an extensible, executable model-based architecture attribute framework that efficiently constructs a component-level design trade space. A proof-of-concept performance attribute model is introduced that targets single-CPU systems. The model produces static performance estimates that support optimization analysis and dynamic performance estimation values that support simulation analysis. This model-based approach replaces current architecture analysis of alternatives spreadsheet approaches. The capability to easily model computer resource alternatives that produces attribute estimates improves design space exploration productivity. Performance estimation improvements save time and money through reduced prototype requirements. Credible architecture attribute estimates facilitate more informed design tradeoff discussions with specialty engineers. This paper presents initial validation of a model-based architecture attribute analysis method and model framework using a single computation thread application on two laptop computers with different CPU configurations. Execution time estimates are calibrated for several data input sizes using the first laptop. Actual execution times on the second laptop are shown to be within 10 percent of execution time estimates for all data input sizes.