Abstract-This paper presents a methodology to evaluate and optimize the robustness of an embedded system in terms of invariability in case of design revisions. Early decisions in embedded system design may be revised in later stages resulting in additional costs. A method that quantifies the expected additional costs as the robustness value is proposed. Since the determination of the robustness based on arbitrary revisions is computationally expensive, an efficient set-based approach that uses a symbolic encoding as Binary Decision Diagrams is presented. Moreover, a methodology for the integration of the optimization of the robustness into a design space exploration is proposed. Based on an external archive that accepts also near-optimal solutions, this robustness-aware optimization is efficient since it does not require additional function evaluations as previous approaches. Two realistic case studies give evidence of the benefits of the proposed approach.
I. INTRODUCTIONA large number of design decisions are made early in the design process of embedded systems. If one or more of these design decision have to be revised later in the design process, additional costs arise. In a worst-case scenario, a single revised design decision might lead to a string of additional design changes in order to keep the solution feasible in terms of both the design and objectives. A viable approach to avoid these late changes might be the exclusion of all solutions that contain any critical design decision. However, in general this approach is too restrictive, leading either to a lack of feasible designs or unacceptable objectives.In order to overcome these shortcomings in state-of-the-art embedded system design, this paper introduces the robustness related to design revisions. In this context, a solution is termed robust if the expected additional costs due to design revisions are minor. The determined robustness value shall support a designer in the decision making by additional information about the design alternatives. On the other hand, the robustness might be used in a design space exploration to enable the search for robust solutions.Contributions: The evaluation of the robustness in embedded system design is a challenging task. Known approaches that consider the direct neighborhood in the solution space are not applicable due to numerous constraints and the resulting low number of feasible solutions. In contrast, an approach based on a given reference set of acceptable solutions is proposed. The focus of this paper are possible design revisions in subsequent design stages that might cause additional costs. An approach that takes arbitrary design revisions into account is presented. Since this approach is computationally expensive, an efficient algorithm based on a symbolic encoding is proposed to overcome this drawback.In order to optimize the robustness value within a design space exploration, a methodology that incorporates the robustness evaluation in the optimization process is presented. Using an external archive as ...