Architecture optimization: speed or accuracy? both!
Journal article, 2018

Embedded systems are becoming more and more complex, thus demanding innovative means to tame their challenging development. Among others, early architecture optimization represents a crucial activity in the development of embedded systems to maximise the usage of their limited resources and to respect their real-time requirements. Typically, architecture optimization seeks good architecture candidates based on model-based analysis. Leveraging abstractions and estimates, this analysis usually produces approximations useful for comparing architecture candidates. Nonetheless, approximations do not provide enough accuracy in estimating crucial extra-functional properties. In this article, we provide an architecture optimization framework that profits from both the speed of model-based predictions and the accuracy of execution-based measurements. Model-based optimization rapidly finds a good architecture candidate, which is refined through optimization based on monitored executions of automatically generated code. Moreover, the framework enables the developer to leverage her optimization experience. More specifically, the developer can use runtime monitoring of generated code execution to manually adjust task allocation at modeling level, and commit the changes without halting execution. In the article, our architecture optimization mechanism is first described from a general point of view and then exploited for optimizing the allocation of software tasks to the processing cores of a multicore embedded system; we target extra-functional properties that can be concretely represented and automatically compared for different architectural alternatives (such as memory consumption, energy consumption, or response-time).

Architecture optimization Software quality Model-driven engineering Model transformations Back-propagation Execution Monitoring Multicore Embedded systems

Author

Federico Ciccozzi

Mälardalens högskola

Juraj Feljan

Mälardalens högskola

Jan Carlson

Mälardalens högskola

Ivica Crnkovic

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers), Software Engineering for People, Architecture, Requirements and Traceability

Software Quality Journal

0963-9314 (ISSN) 1573-1367 (eISSN)

Vol. 26 2 661-684

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

Computer Science

Other Electrical Engineering, Electronic Engineering, Information Engineering

DOI

10.1007/s11219-016-9343-5

More information

Latest update

11/8/2019