Skip to main content

A model-driven framework for guided design space exploration

Abstract

Design space exploration (DSE) aims at searching through various models representing different design candidates to support activities like configuration design of critical systems or automated maintenance of IT systems. In model-driven engineering, DSE is applied to find instance models that are (i) reachable from an initial model with a sequence of transformation rules and (ii) satisfy a set of structural and numerical constraints. Since exhaustive exploration of the design space is infeasible for large models, the traversal is often guided by hints, derived by system analysis, to prioritize the next states to traverse (selection criteria) and to avoid searching unpromising states (cut-off criteria). In this paper, we define an exploration approach where selection and cut-off criteria are defined using dependency analysis and algebraic abstraction of transformation rules. Additionally, we apply different state encoding techniques to identify recurring states and reduce the number of visited states. Finally, we illustrate our approach on a cloud infrastructure configuration problem and provide detailed evaluation on both synthetic and real applications. This evaluation includes (i) the comparison of several exploration techniques, (ii) performance measurements on multiple state encoding techniques and (iii) comparing two implementation architectures of our design space exploration framework.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21

Notes

  1. 1.

    http://www.ibm.com/software/integration/optimization/cplex-optimizer/

  2. 2.

    http://roots.iai.uni-bonn.de/research/condor/

  3. 3.

    For measurements we used a computer with Intel Centrino Duo 1.66 GHz, 1.5 GB memory (Java heap size), Windows 7 Professional 32 bit, Eclipse 3.6.1, Viatra2 3.2

  4. 4.

    All measurements were carried out on a computer with Intel Core i5 2.3 GHz processor, 2.5 GB DDR3 memory (Java heap space), Windows 8 Professional 64 bit, Eclipse 3.8, BPMN 1.2, Viatra2 3.3

  5. 5.

    All measurements were carried out on a computer with Intel Core i7 3.4 Ghz processor, 2.5 GB DDR3 memory (Java heap size), Windows 7 Professional 64 bit, Eclipse 4.2

  6. 6.

    All measurements were carried out on a computer with Intel Core i5 2.5 GHz processor, 2.5 GB DDR3 memory (Java heap size), Windows 7 Professional 64 bit, Eclipse 4.2

References

  1. Atkinson, C., Kühne, T.: Model-driven development: a metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003). doi:10.1109/MS.2003.1231149

    Article  Google Scholar 

  2. AUTOSAR Consortium (2013) The AUTOSAR Standard. http://www.autosar.org/. Accessed 1 Sept 2013

  3. Baldan, P., König, B.: Approximating the behaviour of graph transformation systems. In: Proceedings of the ICGT 2002, LNCS, vol. 2505, pp. 14–29. Springer (2002)

  4. Baresi, L., Spoletini, P.: On the Use of alloy to analyze graph transformation systems. In: Graph Transformations, LNCS, vol. 4178, pp. 306–320. Springer (2006)

  5. Baresi, L., Heckel, R., Thöne, S., Varró, D.: Style-based modeling and refinement of service-oriented architectures. J. Softw. Syst. Model. 5(2), 187–207 (2006)

  6. Baresi, L., Rafe, V., Rahmani, A.T., Spoletini, P.: An efficient solution for model checking graph transformation systems. ENTCS 213(1), 3–21 (2008)

  7. Basten, T., van Benthum, E., et al.: Model-driven design-space exploration for embedded systems: the octopus toolset. In: Margaria T, Steffen B (eds) Leveraging Applications of Formal Methods, Verification, and Validation, LNCS, vol. 6415, pp. 90–105. Springer (2010)

  8. Basten, T., Hendriks, M., Trčka, N., Somers, L., Geilen, M., Yang, Y., Igna, G., de Smet, S., Voorhoeve, M., van der Aalst, W., et al.: Model-driven design-space exploration for software-intensive embedded systems. In: Model-Based Design of Adaptive Embedded Systems, pp. 189–244. Springer (2013)

  9. Bergmann, G., Ökrös, A., Ráth, I., Varró, D., Varró, G.: Incremental pattern matching in the viatra model transformation system. In: Proceedings of the Third International Workshop on Graph and model transformations, ACM, pp. 25–32 (2008)

  10. Bergmann, G., Hegedüs, Á., Horváth, Á., Ujhelyi, Z., Ráth, I., Varró, D.: Integrating efficient model queries in state-of-the-art EMF tools. In: Proceedings of the 50th International Conference on Objects, Models, Components, Patterns (TOOLS Europe), LNCS. Springer, Prague (2012a). doi:10.1007/978-3-642-30561-0_1

  11. Bergmann, G., Ráth, I., Szabó, T., Torrini, P., Varró, D.: Incremental pattern matching for the efficient computation of transitive closures. In: Proceedings of the Sixth International Conference on Graph Transformation. Bremen, Germany (2012b)

  12. Bouktif, S., Sahraoui, H., Antoniol, G.: Simulated annealing for improving software quality prediction. In: Proceedings of the GECCO ’06, ACM (2006)

  13. Boyapati, C., Khurshid, S., Marinov, D.: Korat: Automated testing based on Java predicates. In: Proceedings of the International Symposium on Software Testing and Analysis (ISSTA). ACM (2002)

  14. dos Santos, O.M., Dotti, F.L., Ribeiro, L.: Verifying object-based graph grammars. ENTCS 109, 125–136 (2004)

    Google Scholar 

  15. Edelkamp, S., Jabbar, S., Lluch-Lafuente, A.: Heuristic search for the analysis of graph transition systems. In: Proceedings of the ICGT 2006, LNCS, vol. 4178. Springer (2006)

  16. Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds): Handbook on Graph Grammars and Computing by Graph Transformation, Applications, Languages and Tools, vol 2. World Scientific, Singapore (1999)

  17. Ermel, C., Gall, J., Lambers, L., Taentzer, G.: Modeling with plausibility checking: Inspecting favorable and critical signs for consistency between control flow and functional behavior. In: Proceedings of the FASE ’11, LNCS vol. 6603 Springer (2011)

  18. Gamatié, A., Le Beux, S., Piel, É., Etien, A., Marquet, P., Dekeyser, J.L.: A model-driven design framework for massively parallel embedded systems. ACM Trans. Embedded Comput. Syst. (TECS) 10(4), 39 (2011)

    Google Scholar 

  19. Godefroid, P., Holzmann, G.J., Pirottin, D.: State-space caching revisited. Formal Method Syst. Design 7(3), 227–241 (1995)

    Article  Google Scholar 

  20. Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Proceedings of the ICGT 2002, LNCS. Springer (2002)

  21. Hegedüs, Á., Horváth, Á., Varró, D.: Towards guided trajectory exploration of graph transformation systems. ECEASST 40. In: Proceedings of the PNGT ’10 (2010)

  22. Hegedüs, Á., Horváth, Á., Ráth, I., Branco, M.C., Varró, D.: Quick fix generation for DSMLs. In: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC, IEEE Computer Society (2011a). doi:10.1109/VLHCC.2011.6070373

  23. Hegedüs, Á., Horváth, Á., Ráth, I., Varró, D.: A model-driven framework for guided design space exploration. In: 26th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 173–182. IEEE Computer Society (2011b). doi:10.1109/ASE.2011.6100051

  24. Horváth, Á., Varró, D.: Dynamic constraint satisfaction problems over models. Softw. Syst. Model. (2011). doi:10.1007/s10270-010-0185-5

  25. Jackson, E.K., Simko, G., Sztipanovits, J.: Diversely enumerating system-level architectures. In: Proceedings of the EMSOFT, pp. 1–10 (2013)

  26. Kang, E., Jackson, E.K., Schulte, W.: An approach for effective design space exploration. In: Calinescu R, Jackson EK (eds.,) Monterey Workshop, LNCS, vol. 6662, pp. 33–54. Springer (2010)

  27. Kiesel, N., Schuerr, A., Westfechtel, B.: GRAS, a graph-oriented (software) engineering database system. Info. Syst. 20(1), 21–51 (1995)

    Article  Google Scholar 

  28. König, B., Kozioura, V.: Counterexample-guided abstraction refinement for the analysis of graph transformation systems. In: Proceedings of the TACAS, pp. 197–211 (2006)

  29. Kühne, T.: Matters of (meta-) modeling. Softw. Syst. Model. 5, 369–385 (2006). doi:10.1007/s10270-006-0017-9

    Article  Google Scholar 

  30. Meedeniya, I., Buhnova, B., Aleti, A., Grunske, L.: Reliability-driven deployment optimization for embedded systems. J. Syst. Softw. 84(5), 835–846 (2011)

    Article  Google Scholar 

  31. Mens, T.: A formal foundation for object-oriented software evolution. PhD thesis, Vrije Universiteit Brussel, Ixelles (1999)

  32. Mens, T., Kniesel, G., Runge, O.: Transformation dependency analysis - a comparison of two approaches. In: Langages et Modèles á Objets (LMO 2006) (2006)

  33. Mohanty, S., Prasanna, V.K., Neema, S., Davis, J.: Rapid design space exploration of heterogeneous embedded systems using symbolic search and multi-granular simulation. SIGPLAN Not. 37, 18–27 (2002)

    Article  Google Scholar 

  34. Neema, S., Sztipanovits, J., Karsai, G., Butts, K.: Constraint-based design-space exploration and model synthesis. In: Alur R, Lee I (eds.) Embedded Software, LNCS, vol. 2855, pp. 290–305. Springer (2003)

  35. Object Management Group (2013) Business Process Model and Notation (BPMN) Version 1.2. http://www.omg.org/spec/BPMN/1.2/. Accessed 1 Sept 2013

  36. Rensink, A.: Towards model checking graph grammars. In: Proceedings of the Workshop on Automated Verification of Critical Systems (AVoCS), Technical Report DSSE-TR-2003-2, Citeseer, pp. 150–160 (2003)

  37. Rensink, A.: The GROOVE simulator: a tool for state space generation. In: Applications of Graph Transformations with Industrial Relevance (AGTIVE), LNCS. Springer (2004a)

  38. Rensink, A.: Representing first-order logic using graphs. In: Proceedings of the International Conference on Graph Transformations (ICGT), LNCS, vol. 3256, pp. 319–335. Springer (2004b)

  39. Rensink, A.: Time and space issues in the generation of graph transition systems. In: Mens T, Schürr A, Taentzer G (eds) Proceedings of the International Workshop on Graph-Based Tools (GraBaTs 2004), Electronic Notes in Theoretical Computer Science, vol. 127, pp. 127–139 (2005)

  40. Rensink, A.: Isomorphism checking in GROOVE. Electronic Communications of the EASST 1 (2007)

  41. Ristau, B., Limberg, T., Fettweis, G.: A mapping framework for guided design space exploration of heterogeneous MP-SoCs. In: Proceedings of the Conference on Design, Automation and Test in Europe, ACM, DATE ’08 (2008)

  42. Saxena, T., Karsai, G.: MDE-based approach for generalizing design space exploration. In: Petriu, D., Rouquette, N., Haugen, Y. (eds.) Model Driven Engineering Languages and Systems, LNCS, vol. 6394, pp. 46–60. Springer (2010)

  43. Schatz, B., Holzl, F., Lundkvist, T.: Design-space exploration through constraint-based model-transformation. In: Proceedings of the Engineering of Computer Based Systems (ECBS), pp. 173–182 (2010)

  44. Schmidt, Á., Varró, D.: CheckVML: a tool for model checking visual modeling languages. In: Proc. UML 2003, LNCS, vol. 2863. Springer (2003)

  45. Sen, K., Marinov, D., Agha, G.: CUTE: a concolic unit testing engine for C. SIGSOFT Softw. Eng. Notes 30, 263–272 (2005)

    Article  Google Scholar 

  46. Stern, U., Dill, D.L.: Combining state space caching and hash compaction. Methoden des Entwurfs und der Verifikation digitaler Systeme 4, 81–90 (1996)

    Google Scholar 

  47. Talbi, E.G.: Metaheuristics: From Design to Implementation. Wiley, Hoboken (2009)

    Book  Google Scholar 

  48. The Eclipse Project (2012a) Eclipse Modeling Framework. http://www.eclipse.org/emf. Accessed 1 Sept 2013

  49. The Eclipse Project EMF Model Query 2 (2012b). http://wiki.eclipse.org/EMF/Query2. Accessed 1 Sept 2013

  50. The Eclipse Project EMFT Search (2012c). http://www.eclipse.org/modeling/emft/?project=search. Accessed 1 Sept 2013

  51. The Eclipse Project MDT OCL (2012d). http://www.eclipse.org/modeling/mdt/?project=ocl. Accessed 1 Sept 2013

  52. Varró, D., Balogh, A.: The model transformation language of the VIATRA2 framework. Sci. Comput. Program. 68(3), 214–234 (2007)

    Article  Google Scholar 

  53. Varró, D., Pataricza, A.: VPM: a visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. Softw. Syst. Model. 2(3), 187–210 (2003)

    Article  Google Scholar 

  54. Varró, D., Varró-Gyapay, S., Ehrig, H., Prange, U., Taentzer, G.: Termination analysis of model transformations by petri nets. In: Proceedings of the ICGT 2006, LNCS, vol. 4178. Springer, Brazil (2006)

  55. Varró-Gyapay, S., Varró, D.: Optimization in graph transformation systems using petri net based techniques ECEASST 2. In: Proceedings of the of PNGT ’06 (2006).

  56. Visser, W., Pǎsǎreanu, C.S., Khurshid, S.: Test input generation with Java PathFinder. SIGSOFT Softw Eng Notes, vol. 29(4), pp. 97–107 (2004). doi:10.1145/1013886.1007526

  57. Voudouris, C., Tsang, EPK., Alsheddy, A.: Effective application of guided local search. Wiley Encyclopedia of Operations Research and Management Science (2010).

Download references

Acknowledgments

The authors would like to thank their students Miklós Földényi and Tamás Szabó, who helped in the evaluation of state encoding techniques and comparing the Viatra2 and EMF-based DSE framework implementations and the anonymous reviewers for their excellent comments and suggestions. This work was partially supported by the CERTIMOT (ERC_HU-09-01-2010-0003) Project, the TÁMOP (4.2.2.B-10/1–2010-0009, 4.2.2.C-11/1/KONV-2012-0001) Grants and the János Bolyai Scholarship.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Ábel Hegedüs.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Hegedüs, Á., Horváth, Á. & Varró, D. A model-driven framework for guided design space exploration. Autom Softw Eng 22, 399–436 (2015). https://doi.org/10.1007/s10515-014-0163-1

Download citation

Keywords

  • Design space exploration
  • Model-driven engineering
  • Search-based software engineering