Skip to main content
Log in

Dynamic constraint satisfaction problems over models

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

In early phases of designing complex systems, models are not sufficiently detailed to serve as an input for automated synthesis tools. Instead, a design space is constituted by multiple models representing different valid design candidates. Design space exploration aims at searching through these candidates defined in the design space to find solutions that satisfy the structural and numeric design constraints and provide a balanced choice with respect to various quality metrics. Design space exploration in an model-driven engineering (MDE) context is frequently tackled as specific sort of constraint satisfaction problem (CSP). In CSP, declarative constraints capture restrictions over variables with finite domains where both the number of variables and their domains are required to be a priori finite. However, the existing formulation of constraint satisfaction problems can be too restrictive to capture design space exploration in many MDE applications with complex structural constraints expressed over the underlying models. In this paper, we interpret flexible and dynamic constraint satisfaction problems directly in the context of models. These extensions allow the relaxation of constraints during a solving process and address problems that are subject to change and require incremental re-evaluation. Furthermore, we present our prototype constraint solver for the domain of graph models built upon the Viatra2 model transformation framework and provide an evaluation of its performance with comparison to related tools.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Neema, S.: Analysis of matlab simulink and stateflow data model (2001)

  2. AUTOSAR Consortium: The AUTOSAR Standard. http://www.autosar.org/

  3. El-Boussaidi, G., Mili, H.: Detecting patterns of poor design solutions using constraint propagation. In: MoDELS’08: Int. Conference on Model Driven Engineering Languages and Systems, pp. 189–203 (2008)

  4. White J., Schmidt D., Nechypurenko A., Wuchner E.: Introduction to the generic eclipse modelling system. Eclipse Mag. 6, 1–18 (2007)

    Google Scholar 

  5. Petter, A., Behring, A., Mühlhäuser, M.: Solving constraints in model transformation. In: ICMT’09: International Conference on Model Transformation, Zurich, Switzerland (2009)

  6. Intelligent Systems Laboratory, Swedish Institute of Computer Science: Sicstus User’s manual. http://www.sics.se/sicstus/docs/latest4/pdf/sicstus.pdf (2009)

  7. Official website of ILOG Solver. http://www.ilog.com/products/cp/

  8. Miguel I., Shen Q.: Dynamic flexible constraint satisfaction. Appl. Intell. 13(3), 231–245 (2000)

    Article  Google Scholar 

  9. ATLAS Group: The ATLAS Transformation Language. http://www.eclipse.org/atl/

  10. Schürr, A.: Introduction to PROGRES, an attributed graph grammar based specification language. In: Nagl, M.: (ed) Graph–Theoretic Concepts in Computer Science. Volume 411 of LNCS, pp. 151–165. Springer, Berlin (1990)

  11. Rensink, A.: The GROOVE simulator: a tool for state space generation. In: Applications of Graph Transformations with Industrial Relevance (AGTIVE), pp. 479–485 (2004)

  12. Jackson D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)

    Article  Google Scholar 

  13. Horváth, A., Varró, D.: CSP(M): constraint satisfaction programming over models. In: Proc. of MODELS’09, ACM/IEEE 12th International Conference On Model Driven Engineering Languages and Systems. LNCS 5795, pp. 107–121 (2009)

  14. Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations, Chapter: Algebraic Approaches to Graph Transformation, vol. 1. World Scientific Foundations (1997)

  15. Varró D., Balogh A.: The Model Transformation Language of the VIATRA2 Framework. Sci. Comput. Program. 68(3), 214–234 (2007)

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  17. Rensink, A.: Representing first-order logic using graphs. In: ICGT 2004: 2nd International Conference on Graph Transformation, Rome, Italy, pp. 319–335 (2004)

  18. Weld D.S.: An introduction to least commitment planning. AI Mag 15(4), 27–61 (1994)

    Google Scholar 

  19. Bistarelli, S., Montanari, U., Rossi, F.: Constraint solving over semirings. In: In Proceedings of the IJCAI95, Morgan, pp. 624–630 (1995)

  20. Descotte Y., Latombe J.C.: Making compromises among antagonist constraints in a planner. Artif. Intell. 27(2), 183–217 (1985)

    Article  Google Scholar 

  21. Dechter, R., Dechter, A.: Belief maintenance in dynamic constraint networks. In: Proceedings of the Seventh National Conference on Artificial Intelligence (AAAI-88), St. Paul, MN, pp. 37–42 (1988)

  22. Verfaillie, G., Schiex, T.: Solution reuse in dynamic constraint satisfaction problems. In: AAAI ’94: Proceedings of the twelfth National Conference on Artificial intelligence, vol. 1. American Association for Artificial Intelligence, Menlo Park, pp. 307–312 (1994)

  23. Baptista, L., Margues-Silva, J.: Using randomization and learning to solve hard real-world instances of satisfiability. In: CP ’00: 6th International Conference on Principles and Practice of Constraint Programming, pp. 489–494 (2000)

  24. Varró-Gyapay S., Varró D.: Optimization in graph transformation systems using Petri net based techniques. Electron. Commun. EASST 2, 1–18 (2006)

    Google Scholar 

  25. Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: ICGT ’02: International Conference on Graph Transformation, pp. 161–176 (2002)

  26. Ehrig H., Ehrig K., Habel A., Pennemann K.H.: Theory of constraints and application conditions: From graphs to high-level structures. Fundam. Inf. 74(1), 135–166 (2006)

    MathSciNet  MATH  Google Scholar 

  27. Bergmann, G., Ökrös, A., Ráth, I., Varró, D., Varró, G.: Incremental pattern matching in the VIATRA transformation system. In: GRaMoT’08, 3rd International Workshop on Graph and Model Transformation (2008)

  28. Lin Y., Gray J., Jouault F.: DSMDIFF: a differentiation tool for domain-specific models. Euro. J. Inform. Syst. Spec. Issue Model-Driven Systems Development 16(4), 349–361 (2007)

    Google Scholar 

  29. Official Website of the Distributed equipment Independent environment for Advanced avioNics Applications (DIANA) European project. http://diana.skysoft.pt

  30. The Swedish Institute of Computer Science: SICStus Prolog. http://www.sics.se/isl/sicstuswww/site/index.html

  31. Milicevic, A., Misailovic, S., Marinov, D., Khurshid, S.: The Korat struct. constraint solver. http://korat.sourceforge.net/

  32. Hart P., Nilsson N., Raphael B.: A formal basis for the heuristic determination of minimum cost paths in graphs. IEEE Trans. Syst. Sci. Cybernet. SSC-4(2), 100–107 (1968)

    Article  Google Scholar 

  33. The AGTIVE Tool Contest. http://www.informatik.uni-marburg.de/~swt/agtive-contest (2007)

  34. The Transformation Tool Contest. http://www.planet-research20.org/ttc2010 (2010)

  35. The Graph-Based Tool Contest. http://fots.ua.ac.be/events/grabats2008/ (2008)

  36. Sen, S., Baudry, B., Precup, D.: Partial model completion in model driven engineering using constraint logic programming. In: INAP’07: International Conference on Applications of Declarative Programming and Knowledge Management, Warzburg, Germany (2007)

  37. Janota, M., Kuzina, V., Wasowski, A.: Model construction with external constraints: an interactive journey from semantics to syntax. In: MoDELS’08: International Conference on Model Driven Engineering Languages and Systems, pp. 431–445 (2008)

  38. Rudolf, M.: Utilizing constraint satisfaction techniques for efficient graph pattern matching. In: 6th International Workshop on Theory and Application of Graph Transformations, pp. 238–251 (2000)

  39. Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Softw. Syst. Model. 9, 69 –86 (2009)

    Google Scholar 

  40. Winkelmann J., Taentzer G., Ehrig K., Küster J.M.: Translation of restricted OCL constraints into graph constraints for generating meta model instances by graph grammars. Electron. Notes Theor. Comput. Sci. 211, 159–170 (2008)

    Article  Google Scholar 

  41. Jackson, E., Sztipanovits, J.: Constructive techniques for meta and model level reasoning. In: MoDELS ’07: International Conference on Model Driven Engineering Languages and Systems, pp. 405–419 (2007)

  42. Cabot, J., Clarisó, R., Riera, D.: UML2CSP: a tool for the formal verification of UML/OCL models using constraint programming. In: ASE ’07: Proceedings of the twenty-second IEEE/ACM International Conference on Automated Software Engineering, pp. 547–548. ACM, New York (2007)

  43. 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 

  44. Visser W., Pǎsǎreanu C.S., Khurshid S.: Test input generation with Java PathFinder. SIGSOFT Softw. Eng. Notes 29(4), 97–107 (2004)

    Article  Google Scholar 

  45. Khurshid, S., Pasareanu, C.S., Visser, W.: Generalized symbolic execution for model checking and testing. In: In Proceedings of the Ninth International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pp. 553–568. Springer, Berlin (2003)

  46. Boyapati, C., Khurshid, S., Marinov, D.: Korat: Automated testing based on Java predicates. In: International Symposium on Software Testing and Analysis, pp. 123–133. ISSTA, ACM Press (2002)

  47. König, B., Kozioura, V.: Counterexample-guided abstraction refinement for the analysis of graph transformation systems. In: TACAS ’06: Tools and Algorithms for the Construction and Analiysis of Systems, pp. 197–211 (2006)

  48. Orejas, F., Ehrig, H., Prange, U.: A logic of graph constraints. In: Fundamental Approaches to Software Engineering (FASE’08), pp. 179–198 (2008)

  49. Orejas, F.: Attributed graph constraints. In: ICGT ’08: Proceedings of the 4th International Conference on Graph Transformations, pp. 274–288. Springer, Berlin (2008)

  50. Baar, T.: OCL and graph-transformations—a symbiotic alliance to alleviate the frame problem. In Bruel, J.M. (ed.) MoDELS Satellite Events. Volume 3844 of Lecture Notes in Computer Science, pp. 20–31. Springer, Berlin (2005)

  51. Borgida A., Mylopoulos J., Reiter R.: On the frame problem in procedure specifications. IEEE Trans. Softw. Eng. 21, 785–798 (1995)

    Article  Google Scholar 

  52. Borning A.: The programming language aspects of thinglab, a constraint-oriented simulation laboratory. ACM Trans. Program. Lang. Syst. 3(4), 353–387 (1981)

    Article  Google Scholar 

  53. Sannella M., Maloney J., Freeman-Benson B., Borning A.: Multi-way versus one-way constraints in user interfaces: Experience with the deltablue algorithm. Softw. Practice Exp. 23, 529–566 (1993)

    Article  Google Scholar 

  54. Heydon, A., Nelson, G.: The Juno-2 constraint-based drawing editor. In: Technical Report 131a, Digital Systems Research (1994)

  55. Schiex, T.: Solution reuse in dynamic constraint satisfaction problems. In: In Proceedings of the 12th National Conference on Artificial Intelligence, pp. 307–312. AAAI Press, CA (1994)

  56. Cordella L., Foggia P., Sansone C., Vento M.: A (sub)graph isomorphism algorithm for matching large graphs. IEEE Trans. Pattern Anal. Mach. Intell. 26(10), 1367–1372 (2004)

    Article  Google Scholar 

  57. Rensink, A.: Isomorphism checking in groove. In: Zündorf, A., Varró, D. (eds.) Graph-Based Tools (GraBaTs), Natal, Brazil. Volume 1 of Electronic Communications of the EASST, European Association of Software Science and Technology (2007)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ákos Horváth.

Additional information

Communicated by Andy Schuerr and Bran Selic.

This work was partially supported by the EC FP6 DIANA (AERO1-030985), the SecureChange (ICT-FET-231101) European Projects, the Hungarian CERTIMOT (ERC_HU_09) project and the Janos Bolyai Scholarship.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Horváth, Á., Varró, D. Dynamic constraint satisfaction problems over models. Softw Syst Model 11, 385–408 (2012). https://doi.org/10.1007/s10270-010-0185-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-010-0185-5

Keywords

Navigation