{"title":"A Meta-Framework for Design Space Exploration","authors":"Tripti Saxena, G. Karsai","doi":"10.1109/ECBS.2011.21","DOIUrl":null,"url":null,"abstract":"Complex software systems have a large number of choices in terms of selection of software components and hardware architectures for implementation. These design choices create a large space of possible design solutions called the design space. The design process requires exploring through this design space to find valid design solutions before the actual implementation. Design space exploration (DSE) is the process of searching through the design space to find feasible and optimal design solutions. The main challenge in DSE is to deal with an exponential number of design alternatives, which is further complicated by the various conflicting requirements. Thus, there is a clear need for tool support to automate DSE. Over the years domain-experts have frequently relied on different search techniques (mathematical programming, constraint techniques, heuristics) to automate DSE. Different approaches can be used to integrate the search techniques into the existing development environment. One of the approaches is development of black-box frameworks for DSE. Literature survey reveals that existing DSE frameworks are domain-specific where the representation and exploration algorithm are tightly coupled with domain-dependent assumptions. Besides this, most frameworks use a single search technique to automate exploration, which may not work well as the problem evolves over time. Thus, most frameworks lack reusability and flexibility. This paper presents a survey of existing approaches for automated DSE. The goal is to highlight the requirements and research challenges in the development of a meta-framework for design space exploration. This framework can be meta-programmed by domain-experts to work for a class of DSE problems in any domain, thus providing reusability. The meta-framework also supports a set of search techniques providing the flexibility to choose a technique based on the characteristics of the problem instance.","PeriodicalId":151932,"journal":{"name":"2011 18th IEEE International Conference and Workshops on Engineering of Computer-Based Systems","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-04-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 18th IEEE International Conference and Workshops on Engineering of Computer-Based Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ECBS.2011.21","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 14
Abstract
Complex software systems have a large number of choices in terms of selection of software components and hardware architectures for implementation. These design choices create a large space of possible design solutions called the design space. The design process requires exploring through this design space to find valid design solutions before the actual implementation. Design space exploration (DSE) is the process of searching through the design space to find feasible and optimal design solutions. The main challenge in DSE is to deal with an exponential number of design alternatives, which is further complicated by the various conflicting requirements. Thus, there is a clear need for tool support to automate DSE. Over the years domain-experts have frequently relied on different search techniques (mathematical programming, constraint techniques, heuristics) to automate DSE. Different approaches can be used to integrate the search techniques into the existing development environment. One of the approaches is development of black-box frameworks for DSE. Literature survey reveals that existing DSE frameworks are domain-specific where the representation and exploration algorithm are tightly coupled with domain-dependent assumptions. Besides this, most frameworks use a single search technique to automate exploration, which may not work well as the problem evolves over time. Thus, most frameworks lack reusability and flexibility. This paper presents a survey of existing approaches for automated DSE. The goal is to highlight the requirements and research challenges in the development of a meta-framework for design space exploration. This framework can be meta-programmed by domain-experts to work for a class of DSE problems in any domain, thus providing reusability. The meta-framework also supports a set of search techniques providing the flexibility to choose a technique based on the characteristics of the problem instance.
复杂的软件系统在选择用于实现的软件组件和硬件架构方面有大量的选择。这些设计选择为可能的设计解决方案创造了一个巨大的空间,称为设计空间。设计过程需要在实际实施之前探索这个设计空间,以找到有效的设计解决方案。设计空间探索(Design space exploration, DSE)是在设计空间中寻找可行的、最优的设计方案的过程。DSE的主要挑战是处理指数级的设计备选方案,而各种相互冲突的需求使其进一步复杂化。因此,显然需要工具支持来实现DSE的自动化。多年来,领域专家经常依赖于不同的搜索技术(数学规划、约束技术、启发式)来实现DSE的自动化。可以使用不同的方法将搜索技术集成到现有的开发环境中。其中一种方法是为DSE开发黑盒框架。文献调查表明,现有的DSE框架是特定于领域的,其中表示和探索算法与领域相关的假设紧密耦合。除此之外,大多数框架使用单一的搜索技术来自动探索,随着问题的发展,这种技术可能无法很好地工作。因此,大多数框架缺乏可重用性和灵活性。本文综述了现有的自动化DSE方法。目标是强调设计空间探索元框架开发中的需求和研究挑战。该框架可以由领域专家进行元编程,以适用于任何领域中的一类DSE问题,从而提供可重用性。元框架还支持一组搜索技术,提供了根据问题实例的特征选择技术的灵活性。