Model-Driven Design-Space Exploration
In early-design phases, design-space exploration (DSE) is performed to explore trade-offs between system qualities and optimal designs within the given system architecture. Virtual prototypes can be used instead of back-of-the-envelope calculations and physical prototypes to predict the performance of design alternatives. Examples are analytical models or simulation models that describe the system behavior at a high abstraction level. Model-driven DSE uses such virtual prototypes in an iterative process. The process starts with an initial set of high-level design alternatives identified during architecting. Virtual prototypes are created for each of the design alternatives and the performance aspects of these virtual prototypes are analyzed using model-based performance prediction. The outcome of these predictions are validated using model validation. In subsequent iterations, the set of design alternatives is reduced, and the alternatives are refined towards concrete designs. In each step, virtual prototypes are used for performance prediction and the exploration of alternatives. The advantages of using virtual prototypes are that they provide system-wide insights into timing bottlenecks and allow for the rapid exploration of design alternatives, such as for the optimization of timing performance. Ultimately, this approach leads to shorter, predictable development times and a much more controlled product quality.
Model-based DSE is a first step towards model-driven DSE, in which models drive the development process and are the single source of truth. The models can be calibrated with available measurements or approximations in order to validate and improve the model’s predictive power. In our work, we often use the predict-the-past, explore-the-future paradigm, as well as the Y-chart paradigm.
The predict-the-past, explore-the future paradigm consists of two steps. To predict the past, we create models of existing components or systems that are calibrated and validated with measurements. This gives prediction accuracy and builds trust. To explore the future, we adapt the models to the design alternatives and analyze the performance aspects. The Y-chart paradigm can be used to model and explore the design alternatives in a systematic way.
The Y-chart paradigm models application functionality and the implementation platform as separate elements, with an explicit mapping as the variation point between them. This allows the easy variation of application functionality, platform resources and mapping choices, and facilitates the analysis of the impact of these choices on the performance. Design-space exploration systematically explores design alternatives around these variation points.