=Paper=
{{Paper
|id=Vol-1735/paper3
|storemode=property
|title=Decomposition of Design Space Exploration Problems in the Context of model-based Development
|pdfUrl=https://ceur-ws.org/Vol-1735/paper3.pdf
|volume=Vol-1735
|dblpUrl=https://dblp.org/rec/conf/models/Zverlov16
}}
==Decomposition of Design Space Exploration Problems in the Context of model-based Development==
Decomposition of Design Space Exploration Problems in the Context of model-based Development Sergey Zverlov fortiss GmbH Guerickestr. 25, 80805 Munich, Germany zverlov@fortiss.org http://www.fortiss.org/ Abstract. During the development process of complex embedded sys- tems there typically is a large number of architectural decisions that en- gineers are facing. Each of them can influence the properties of the end result (i.e.: cost, performance, etc.). A systematic process that supports this decision making is often referred to as Design Space Exploration (DSE). The need for computer-aided DSE methods was recognized by the research community which resulted in a large number of publications in this area. The contribution of this PhD project is two-fold: First contribution is a classification of typical DSE problems that arise during the development process of embedded systems. Due their high popularity in this area the focus of this work lies on the model-based approaches. The second contribution is two provide a decomposition approach for complex DSE problems. The decomposition strategy is thereby based on the previously identified DSE problem classes. Keywords: Design Space Exploration, Model-Based Engineering, De- composition, Architecture Optimization 1 Introduction and Problem Statement During the design phase of complex embedded systems engineers are faced with a number of design decisions (i.e. different selection or configuration of system components) that may influence the quality of the system under development. Depending on the size of the system the number of decisions can become very large. The traditional (manual-driven) approaches such as relying on the ex- perience of leading engineers or following the, so-called, best practices do not always produce good results. A systematic and computer-aided approach would be much more preferable. A decision process of searching for design solutions that satisfy certain constraints (i.e.: cost, weight, etc.) within a design space is called Design Space Exploration (DSE). The need for automated Design Space Exploration techniques was recog- nized by industry and academia, which led to a rising number of DSE related 2 Sergey Zverlov publication in the last decade. The large amount of new publications and their fragmentation over different research communities led to many ad-hoc solutions (cf. [2]) that often tackle very similar problems. But given the specific nature of solutions they are very difficult to compare with each other or to reuse in a different context. Following that line of argumentation the first Research Ques- tion (RQ1) of my PhD project is dealing with the classification of different DSE problems. Thereby this work will focus on DSE problems that arise in the context of model-based design of embedded Systems. Another trend, driven by the increasing computational power of modern em- bedded hardware, is the rising complexity of those systems. That also effects the complexity of Design Space Exploration problems, that are used during the design of these systems. Furthermore, during a preliminary study of the related literature we found that many DSE problems consist of a number of atomic sub-problems . An example for such a complex DSE problem is the search for a mapping of software to hardware together with a corresponding schedule (cf. [19]). This problem can be even extended by adding the search for an optimal selection of the hardware architecture (cf. [14]). Despite of the rapid progress in computation power and solver technologies the problems can become unsolv- able at a reasonable time given an input complex enough. Therefore, the second Research Question (RQ2), considered in this PhD work, deals with the complex- ity reduction of DSE problems. Thereby the findings from RQ1 will be applied to find a decomposition strategy for complex DSE Problems that arise in the context of model-based system design of embedded systems. 2 Related Work This work is related to two research areas: The first one deals with the general- ization of DSE approaches and their classification. The generalization of DSE is often tackled by Frameworks, such as: ArcheOpterix [1], DESSERT [12], FOR- MULA [10], Viatra-DSE [8], CoBaSA [11] and many more. In comparison the intention of this PhD work is not to create a framework for Design Space Ex- ploration but to define, what a DSE is and which DSE problems exist in the context of model-based development of embedded systems. The idea is that this classification can – for instance – assist tool vendors in integrating DSE methods in their products. But of course there are also recent works that target the clas- sification of publications in this field. One of them is [2], where a taxonomy of the current works in the area of system optimization is provided. In comparison our work focuses on an abstract classification of DSE problems itself instead on the classification of publications in this area. [17] provides a classification of DSE problems. Compared to this work we provide a more abstract and concise collection of typical DSE problems. The second related are to this work is the decomposition of complex problems into simpler sub-problems. This approach is very popular in computer science and is widely used in the field of Constraint Programming, such as Parallel Con- straint Solving (cf. [6]), Distributed Constraint Solving (cf. [20]) or Geometric Constraint Solving (cf. [9]). But also in the area of Design Space Exploration Decomposition of DSE Problems 3 works exist which use different decomposition techniques to tackle the scala- bility issues. There are contributions that solve this problem by combination of different solving techniques [15], usage of tight bounds [5], iterative problem decomposition [16]. All those works use decomposition for the sake of perfor- mance increase. But their decomposition strategy is very tightly coupled with the problem under consideration. This work proposes a decomposition based on the typical DSE problems that arise during the design phase of embedded systems. We think that this way it can be applied on a larger set of problems. 3 Proposed Solution Todays embedded systems, such as modern vehicles, are characterized by high complexity and heterogeneity. Therefore, the development process has to provide support to the engineers in dealing with these challenges. A popular approach, that is recommended by many standards and methodologies (cf. AUTOSAR [3], EAST-ADL [4], SPES Methodology [13], etc.), is the separation of concerns. Thereby the design process is decomposed into sub-processes according physical phenomena [18], stakeholders (cf. IEEE 1471), viewpoints, levels of abstractions [13] or other criteria. But since the ultimate goal it is to build a whole system those sub-processes have to be linked together (i.e.: mapping of the elements of the software viewpoint to the elements of the hardware viewpoint). Tools that are designed to support the development of embedded systems (i.e.: PREEvision) are implementing this concept. In the following sub-sections, we discuss how it is possible to use this sep- aration of the design process, that is dictated by many standards, to (i) define Design Space Exploration in this context; (ii) provide a classification of typi- cal Design Space Exploration Problems; and (iii) use this classification for the decomposition of complex Design Space Exploration tasks. 3.1 Design Space Exploration in MBD Model-based development (MBD) became more and more popular in the area of embedded systems. It is considered to be a central approach to deal with the rising complexity in this field [7]. For our classification and decomposition frame- work it is necessary to define Design Space Exploration for embedded Systems in the context of MBD. Even then DSE is very broad term. So we first introduce a set of assumptions that limit the focus of this work: Assumptions: In the context of model-based development a system consists of model elements. And each model element can have certain properties (i.e.: cost, weight, etc). So let A be the set containing all model elements of the System under Development. As already discussed in this section, separation of concerns is a popular ap- proach in the field of embedded systems. Therefore, we assume that A can be partitioned into disjunct sub-sets as follows: 4 Sergey Zverlov Assumption 1 A collection of nonempty sets A1 , ..., An are partitions of A iff 1. A = A1 ∪ A2 ∪ ...An 2. ∀i, j(Ai 6= Aj ) ⇒ Ai ∩ Aj = ∅ To be able to construct a valid system instance it is though necessary to provide a possibility of assemble those partitions back together. Assumption 2 If Ai ∈ A and Aj ∈ A are two partitions according to ass. 1, then it is possible to find a relation R(Ai , Aj ) between those two partitions. And finally it should be possible to express constraints (i.e.: derived from requirements) towards this system that consists of partitions and their relations. Assumption 3 If Ai and R is a relation between two partitions, then is possible to express constraints of (sub-)partitions C(Ai ) and their relations C(R). DSE Definition Using those assumptions, it is now possible to provide a defi- nition of Design Space Exploration in this particular context. Definition 1. DSE is a process of systematically finding solutions from a design spaces that satisfy certain constraints. A solution thereby is either a partition, a relation between partitions or a combination of those two. 3.2 Classification of DSE Problems Based on the assumptions and definitions from sec. 3.1 a set of abstract DSE problems is derived. We differentiate the DSE problems over their constraints. The main difference thereby is whether the constraint includes elements from one single partition or includes elements from two different partitions. Fig. 1. Design Space Exploration Problem Classes Decomposition of DSE Problems 5 To illustrate this concept a small example (cf. fig. 1) is used. It shows a simplified embedded system that consists of a software and a hardware part, where the software is supposed to run on the hardware. Definition 2. We propose that one class of DSE problems is to select a sub-set from a partition Ai where this sub-set A0 ⊆ Ai conforms to a set of constraints C. This problem we call selection. An example for this class is to select features from a feature tree or compo- nents from a 150% model (cf. eq. 1). Another example is to select a configuration (or an instance) of a component (i.e. select a camera sensor model from a set). Definition 3. As the second class of DSE problems we propose is the search for a set of valid relations R between two partitions Ai and Aj so that ∀r ∈ R(Ai , Aj ) → C(r). Examples for this operation would be the allocation (cf. eq. 2) of software to hardware (deployment) or the allocation of software onto time slots (scheduling). We performed a preliminary study of the related literature. Based on the re- sults we can say that most of the DSE operations within these works could be led back to the two operations from def. 2 and 3. The literature search strategy was directed towards finding published papers in journals and conference proceed- ings that are accessible the widely accepted search engines and databases such as Google Scholar, IEEE XPlore, ACM Digital Library etc. The search words were focused on the scope of the PhD topic, which is Design Space Exploration, model-based Development and embedded Systems. 3.3 Decomposition of DSE Problems The idea of the decomposition approach is to divide a DSE problem into sub- problems, solve them one after another. Pruning parts of the design-space in each step and thereby reducing the overall complexity of the problem. Often the solution of one problem has an effect of the solution (or even solvability) of the other problem. If one does not take care of those dependencies it is very proba- ble to prune to much design space during the solution of the first sub-problems. Consider the DSE problem (P2) from sec. 1: If during the selection of the hard- ware architecture to much emphasis is put on the cost-efficiency the result may not provide enough resources for a possible deployment of software to this plat- form in the next step. Even though the generalization of these dependencies is still subject of ongoing work, there are some first results that can be sketched here using examples. Let consider the DSE problem P2 again, which consists of selection (P2.1 ) and allocation (P2.2 ) according to definitions from sec. 3.2. Let us assume that the goal of P2.1 is to find a hardware configuration so that its cost doesn’t exceed a certain value (cf. eq. 1). For P2.2 we assume that each software component consumes a certain amount of memory and each hardware component provides a certain amount of memory. The goal of P2.2 is then to create a mapping between SWCs and HWCs. Thereby it is not allowed to exceed the memory provided by the HWCs(cf. eq. 2). 6 Sergey Zverlov ∀hwc ∈ HW C : hwc.cost ≤ value (1) SW XC ∀hwc ∈ HW C swc.memory ≤ hwc.memory (2) swc−>hwc If during the solution of P2.1 we only consider the satisfaction of eq. 1, there is a chance that in the next step (P2.2 ) we will not find a valid solution, because the cost-efficient hardware architecture does not provide enough memory. A possible way to prevent this is to add a simplified version of eq. 2 to the DSE problem P2.1 as follows. SW XC HW XC swc.memory ≤ hwc.memory (3) This extra constraint ensures that the sum of provided memory is at least as high as the sum of the consumed memory. Vice versa one may conclude that if eq. 3 is not satisfied the problem P2.2 will not have any solutions. 4 Expected Contribution This research will provide the following scientific contributions: 1. DSE Classification Framework (a) Set of DSE problem classes that are typical for the design phase of em- bedded systems (b) Set of requirements(assumptions) a tool or methodology has to fulfill in order to be able to integrate those DSE classes 2. General Decomposition Approach for DSE Problems within Design Phase of embedded Systems (a) Guide of how to decompose complex DSE Problems (b) Tool Support for (semi-)automatic Decomposition of DSE Problems 5 Current State and Plan for Evaluation At present time, we already achieved a number of tasks. We performed a liter- ature study over the Design Space Exploration literature of the last 10 years. From that study we derived a preliminary classification of DSE problems. This allows us a decomposition of complex problems along the steps of a common development process of embedded systems. Furthermore, we conducted first ex- periments that showed us an increase in performance compared to traditional approaches. Using the obtained classification, we derived a first version of a Do- main Specific Language that can describe the identified types DSE problems and supports our decomposition approach. We intend to evaluate the applicability of our approach using an industrial case study. Furthermore, we plan to compare our work with other decomposition approaches and conduct more experiments to show the scalability of our method. Finally, we plan to integrate our work into a state-of-the-art model-based tool as a prototype. Decomposition of DSE Problems 7 References 1. Aleti, A., et al.: Archeopterix: An extendable tool for architecture optimization of aadl models. In: Proceedings of ICSE’09. pp. 61–71 (2009) 2. Aleti, A., et al.: Software architecture optimization methods: A systematic litera- ture review. IEEE Trans. Softw. Eng. 39(5), 658–683 (May 2013) 3. AUTOSAR: Technical Overview v2.2.2. Tech. rep., AUTOSAR Development Co- operation (2011) 4. Blom, H., et al.: East-adl: An architecture description language for automotive software-intensive systems. Embedded Computing Systems: Applications, Opti- mization, and Advanced Design p. 456 (2013) 5. Bonfietti, A., et al.: An efficient and complete approach for throughput-maximal sdf allocation and scheduling on multi-core platforms. In: DATE. pp. 897–902. IEEE (2010) 6. Bordeaux, L., et al.: Experiments with massively parallel constraint solving. In: IJCAI. vol. 2009, pp. 443–448 (2009) 7. Broy, M., Kirstan, S., Krcmar, H., Schätz, B., Zimmermann, J.: What is the benefit of a model-based design of embedded software systems in the car industry? Soft- ware Design and Development: Concepts, Methodologies, Tools, and Applications: Concepts, Methodologies, Tools, and Applications p. 310 (2013) 8. Hegedüs, Á., et al.: A model-driven framework for guided design space exploration. Automated Software Engineering 22(3), 399–436 (2015) 9. Jermann, C., et al.: Decomposition of geometric constraint systems: a survey. Inter- national Journal of Computational Geometry & Applications 16, 379–414 (2006) 10. Kang, E., et al.: An approach for effective design space exploration. In: Monterey Workshop. pp. 33–54. Springer (2010) 11. Manolios, P., et al.: Automating component-based system assembly. In: Proceed- ings of the 2007 international symposium on Software testing and analysis. pp. 61–72. ACM (2007) 12. Neema, S., et al.: Constraint-based design-space exploration and model synthesis. In: International Workshop on Embedded Software. pp. 290–305. Springer (2003) 13. Pohl, K., et al.: Model-Based Engineering of Embedded Systems: The SPES 2020 Methodology. Springer Science & Business Media (2012) 14. Prakash, S., et al.: Sos: Synthesis of application-specific heterogeneous multiproces- sor systems. Journal of Parallel and Distributed computing 16(4), 338–351 (1992) 15. Ruggiero, M., et al.: Communication-aware allocation and scheduling framework for stream-oriented multi-processor systems-on-chip. In: DATE Proceedings. pp. 3–8. European Design and Automation Association (2006) 16. Satish, N., et al.: A decomposition-based constraint optimization approach for statically scheduling task graphs with communication delays to multiprocessors. In: DATE Proceedings. pp. 57–62. EDA Consortium (2007) 17. Saxena, T., Karsai, G.: A meta-framework for design space exploration. In: (ECBS), 2011 Proceedings. pp. 71–80 (April 2011) 18. Sztipanovits, J., et al.: Design tool chain for cyber-physical systems: lessons learned. In: 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC). pp. 1–6. IEEE (2015) 19. Voss, S., et al.: Deployment and scheduling synthesis for mixed-critical shared- memory applications. In: ECBS. pp. 100–109. IEEE (2013) 20. Yokoo, M., Durfee, E.H., Ishida, T., Kuwabara, K.: The distributed constraint sat- isfaction problem: Formalization and algorithms. IEEE Transactions on knowledge and data engineering 10(5), 673–685 (1998)