An Approach for Effective Design Space Exploration

Design space exploration (DSE) refers to the activity of exploring design alternatives prior to implementation. The power to operate on the space of potential design candidates renders DSE useful for many engineering tasks, including rapid prototyping, optimization, and system integration. The main challenge in DSE arises from the sheer size of the design space that must be explored. Typically, a large system has millions, if not billions, of possibilities, and so enumerating every point in the design space is prohibitive. In this paper, we present a method for systematically exploring the design space in a cost-effective manner. The key idea is that many of the design candidates may be considered equivalent as far as the user is concerned, and so only a small subset of the space needs to be explored. Our approach takes the user-defined notion of equivalence, and generates symmetry breaking predicates to ensure that the underlying exploration engine does not sample multiple equivalent design candidates. We describe how the method is integrated into our DSE framework, FORMULA, which uses an SMT solver to solve a set of global design constraints and search for valid design instances.

[1]  Fred W. Glover,et al.  Tabu Search , 1997, Handbook of Heuristics.

[2]  G. Pólya,et al.  Combinatorial Enumeration Of Groups, Graphs, And Chemical Compounds , 1988 .

[3]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[4]  Jean Bézivin,et al.  Extending AMMA for Supporting Dynamic Semantics Specifications of DSLs , 2006 .

[5]  Alberto L. Sangiovanni-Vincentelli,et al.  Functional Model Exploration for Multimedia Applications via Algebraic Operators , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[6]  Ilya Shlyakhter Generating effective symmetry-breaking predicates for search problems , 2007, Discret. Appl. Math..

[7]  Ethan K. Jackson,et al.  Components, platforms and possibilities: towards generic automation for MDA , 2010, EMSOFT '10.

[8]  Stephan Merz,et al.  Model Checking , 2000 .

[9]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[10]  Garrison W. Greenwood,et al.  A framework for user assisted design space exploration , 1999, DAC '99.

[11]  S. LaValle,et al.  Randomized Kinodynamic Planning , 2001 .

[12]  Barbara M. Smith,et al.  Partial Symmetry Breaking , 2002, CP.

[13]  Sofia Cassel,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 2012 .

[14]  Emile H. L. Aarts,et al.  Simulated Annealing: Theory and Applications , 1987, Mathematics and Its Applications.

[15]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[16]  Petru Eles,et al.  System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search , 1997, Des. Autom. Embed. Syst..

[17]  Theerayod Wiangtong,et al.  Comparing Three Heuristic Search Methods for Functional Partitioning in Hardware–Software Codesign , 2002, Des. Autom. Embed. Syst..

[18]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[19]  Luciano Lavagno,et al.  Metropolis: An Integrated Electronic System Design Environment , 2003, Computer.

[20]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[21]  Panagiotis Manolios Automating Component-Based System Assembly , 2008 .

[22]  James M. Crawford,et al.  Symmetry-Breaking Predicates for Search Problems , 1996, KR.

[23]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[24]  Gabor Karsai,et al.  Constraint-Based Design-Space Exploration and Model Synthesis , 2003, EMSOFT.

[25]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[26]  Matthias Gries,et al.  Methods for evaluating and covering the design space during early design development , 2004, Integr..

[27]  Luis Mandel,et al.  On the Expressive Power of OCL , 1999, World Congress on Formal Methods.

[28]  Nikolaj Bjørner,et al.  Specifying and Composing Non-functional Requirements in Model-Based Development , 2009, SC@TOOLS.

[29]  J. A. Bland,et al.  Tabu search and design optimization , 1991, Comput. Aided Des..

[30]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[31]  Alberto L. Sangiovanni-Vincentelli,et al.  Exploring Trade-off’s Between Centralized versus Decentralized Automotive Architectures Using a Virtual Integration Environment , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[32]  Janos Sztipanovits,et al.  Formalizing the structural semantics of domain-specific modeling languages , 2009, Software & Systems Modeling.