Abstract
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.
Keywords
- 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.
This is a preview of subscription content, access via your institution.
Buying options
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
Bland, J.A., Dawson, G.P.: Tabu search and design optimization. Computer-Aided Design 23(3), 195–201 (1991)
Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Computers 35(8), 677–691 (1986)
Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)
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)
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)
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)
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)
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)
Glover, F., Laguna, M.: Tabu Search. Kluwer Academic Publishers, Dordrecht (1998)
Gries, M.: Methods for evaluating and covering the design space during early design development. Integration 38(2), 131–183 (2004)
Hu, X., Greenwood, G.W., Ravichandran, S., Quan, G.: A framework for user assisted design space exploration. In: DAC, pp. 414–419 (1999)
Jackson, E.K., Kang, E., Dahlweid, M., Santen, D.S.T.: Components, platforms and possibilites: Towards generic automation for mda. In: Embedded Software (2010)
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)
Jackson, E.K., Sztipanovits, J.: Formalizing the structural semantics of domain-specific modeling languages. In: Software and Systems Modeling (2008)
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)
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)
LaValle, S.M., Kuffner Jr., J.J.: Randomized kinodynamic planning. I. J. Robotic Res. 20(5), 378–400 (2001)
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)
Manolios, P., Vroon, D., Subramanian, G.: Automating component-based system assembly. In: ISSTA, pp. 61–72 (2007)
McDonald, I., Smith, B.M.: Partial symmetry breaking. In: Van Hentenryck, P. (ed.) CP 2002. LNCS, vol. 2470, pp. 431–445. Springer, Heidelberg (2002)
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)
Myer, G.J.: The Art of Software Testing. Wiley, Chichester (2004)
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)
Object Management Group. Meta Object Facility (MOF) Core Specification Version 2.0 (2006)
Polya, G., Read, R.C.: Combinatorial Enumeration of Groups, Graphs, and Chemical Compounds. Springer, New York (1987)
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)
Shlyakhter, I.: Generating effective symmetry-breaking predicates for search problems. Discrete Applied Mathematics 155(12), 1539–1548 (2007)
van Laarhoven, P.J.: Simulated Annealing: Theory and Applications. Springer, Heidelberg (1987)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kang, E., Jackson, E., Schulte, W. (2011). An Approach for Effective Design Space Exploration. In: Calinescu, R., Jackson, E. (eds) Foundations of Computer Software. Modeling, Development, and Verification of Adaptive Systems. Monterey Workshop 2010. Lecture Notes in Computer Science, vol 6662. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21292-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-21292-5_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21291-8
Online ISBN: 978-3-642-21292-5
eBook Packages: Computer ScienceComputer Science (R0)