An Approach for Effective Design Space Exploration

  • Eunsuk Kang
  • Ethan Jackson
  • Wolfram Schulte
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6662)


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.


Equivalence Class Design Space Tabu Search Homomorphic Image Object Constraint Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Balarin, F., Watanabe, Y., Hsieh, H., Lavagno, L., Passerone, C., Sangiovanni-Vincentelli, A.L.: Metropolis: An integrated electronic system design environment. IEEE Computer 36(4), 45–52 (2003)CrossRefGoogle Scholar
  2. 2.
    Batory, D.: Feature models, grammars, and propositional formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Benavides, D., Martín-Arroyo, P.T., Cortés, A.R.: Automated reasoning on feature models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Bland, J.A., Dawson, G.P.: Tabu search and design optimization. Computer-Aided Design 23(3), 195–201 (1991)CrossRefMATHGoogle Scholar
  5. 5.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Computers 35(8), 677–691 (1986)CrossRefMATHGoogle Scholar
  6. 6.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  7. 7.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Bevilacqua, V., Talcott, C.L. (eds.): All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)Google Scholar
  8. 8.
    Crawford, J.M., Ginsberg, M.L., Luks, E.M., Roy, A.: Symmetry-breaking predicates for search problems. In: Principles of Knowledge Representation and Reasoning, pp. 148–159 (1996)Google Scholar
  9. 9.
    de Lara, J., Vangheluwe, H.: Atom\(^{\mbox{3}}\): A tool for multi-formalism and meta-modelling. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 174–188. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    de Moura, L., Bjørner, N.S.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    Eles, P., Peng, Z., Kuchcinski, K., Doboli, A.: System level hardware/software partitioning based on simulated annealing and tabu search. In: Design Automation for Embedded Systems, vol. 2, pp. 5–32. Kluwer Academic Publishers, Dordrecht (1997)Google Scholar
  12. 12.
    Glover, F., Laguna, M.: Tabu Search. Kluwer Academic Publishers, Dordrecht (1998)CrossRefMATHGoogle Scholar
  13. 13.
    Gries, M.: Methods for evaluating and covering the design space during early design development. Integration 38(2), 131–183 (2004)Google Scholar
  14. 14.
    Hu, X., Greenwood, G.W., Ravichandran, S., Quan, G.: A framework for user assisted design space exploration. In: DAC, pp. 414–419 (1999)Google Scholar
  15. 15.
    Jackson, E.K., Kang, E., Dahlweid, M., Santen, D.S.T.: Components, platforms and possibilites: Towards generic automation for mda. In: Embedded Software (2010)Google Scholar
  16. 16.
    Jackson, E.K., Seifert, D., Dahlweid, M., Santen, T., Bjørner, N., Schulte, W.: Specifying and composing non-functional requirements in model-based development. In: Software Composition, pp. 72–89 (2009)Google Scholar
  17. 17.
    Jackson, E.K., Sztipanovits, J.: Formalizing the structural semantics of domain-specific modeling languages. In: Software and Systems Modeling (2008)Google Scholar
  18. 18.
    Kakita, S., Watanabe, Y., Densmore, D., Davare, A., Sangiovanni-Vincentelli, A.L.: Functional model exploration for multimedia applications via algebraic operators. In: ACSD, pp. 229–238 (2006)Google Scholar
  19. 19.
    Kanajan, S., Zeng, H., Pinello, C., Sangiovanni-Vincentelli, A.L.: Exploring trade-off’s between centralized versus decentralized automotive architectures using a virtual integration environment. In: DATE, pp. 548–553 (2006)Google Scholar
  20. 20.
    LaValle, S.M., Kuffner Jr., J.J.: Randomized kinodynamic planning. I. J. Robotic Res. 20(5), 378–400 (2001)CrossRefGoogle Scholar
  21. 21.
    Mandel, L., Cengarle, M.V.: On the expressive power of OCL. In: Woodcock, J.C.P., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 854–874. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  22. 22.
    Manolios, P., Vroon, D., Subramanian, G.: Automating component-based system assembly. In: ISSTA, pp. 61–72 (2007)Google Scholar
  23. 23.
    McDonald, I., Smith, B.M.: Partial symmetry breaking. In: Van Hentenryck, P. (ed.) CP 2002. LNCS, vol. 2470, pp. 431–445. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  24. 24.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving Executability into Object-Oriented Meta-languages. In: 8th International Conference on Model Driven Engineering Languages and Systems (MoDELS), pp. 264–278 (2005)Google Scholar
  25. 25.
    Myer, G.J.: The Art of Software Testing. Wiley, Chichester (2004)Google Scholar
  26. 26.
    Neema, S., Sztipanovits, J., Karsai, G., Butts, K.: Constraint-based design-space exploration and model synthesis. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855, pp. 290–305. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  27. 27.
    Object Management Group. Meta Object Facility (MOF) Core Specification Version 2.0 (2006)Google Scholar
  28. 28.
    Polya, G., Read, R.C.: Combinatorial Enumeration of Groups, Graphs, and Chemical Compounds. Springer, New York (1987)CrossRefGoogle Scholar
  29. 29.
    Ruscio, D.D., Jouault, F., Kurtev, I., Bézivin, J., Pierantonio, A.: Extending AMMA for Supporting Dynamic Semantics Specifications of DSLs. RR 06.02 (April 2006)Google Scholar
  30. 30.
    Shlyakhter, I.: Generating effective symmetry-breaking predicates for search problems. Discrete Applied Mathematics 155(12), 1539–1548 (2007)MathSciNetCrossRefMATHGoogle Scholar
  31. 31.
    van Laarhoven, P.J.: Simulated Annealing: Theory and Applications. Springer, Heidelberg (1987)CrossRefMATHGoogle Scholar
  32. 32.
    Wiangtong, T., Cheung, P.Y.K., Luk, W.: Comparing three heuristic search methods for functional partitioning in hardware-software codesign. In: Design Automation for Embedded Systems, vol. 6, pp. 425–449. Kluwer Academic Publishers, Dordrecht (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Eunsuk Kang
    • 1
  • Ethan Jackson
    • 2
  • Wolfram Schulte
    • 2
  1. 1.Massachusetts Institute of TechnologyCambridgeUSA
  2. 2.Microsoft ResearchRedmondUSA

Personalised recommendations