{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,9]],"date-time":"2026-05-09T16:22:15Z","timestamp":1778343735762,"version":"3.51.4"},"reference-count":36,"publisher":"Springer Science and Business Media LLC","issue":"1-4","license":[{"start":{"date-parts":[[2025,12,1]],"date-time":"2025-12-01T00:00:00Z","timestamp":1764547200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,12,22]],"date-time":"2025-12-22T00:00:00Z","timestamp":1766361600000},"content-version":"vor","delay-in-days":21,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100001779","name":"Monash University","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100001779","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Constraints"],"published-print":{"date-parts":[[2025,12]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>Object-oriented programming is the dominant paradigm for general-purpose programming languages. While several attempts have been made to introduce object models into constraint modelling languages, these often have restrictions in terms of their expressivity, are not available in mainstream modelling languages, or are incompatible with modern solving technology. To address these challenges, this paper identifies essential requirements for expressive and elegant object-oriented constraint modelling. We propose an object model that supports decision variables of object type, objects referring to other objects, and, crucially, variable sets of objects, whose cardinality is decided by the solver. The object model is presented as an extension of the MiniZinc modelling language that can be translated into standard MiniZinc. A number of examples and a case study demonstrate the viability of the approach.<\/jats:p>","DOI":"10.1007\/s10601-025-09380-3","type":"journal-article","created":{"date-parts":[[2025,12,22]],"date-time":"2025-12-22T07:18:57Z","timestamp":1766387937000},"page":"109-137","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["MiniZinc with objects"],"prefix":"10.1007","volume":"30","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3357-6498","authenticated-orcid":false,"given":"Guido","family":"Tack","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Richard","family":"Comploi-Taupe","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andreas","family":"Falkner","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gottfried","family":"Schenner","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2025,12,22]]},"reference":[{"key":"9380_CR1","unstructured":"Unified Modeling Language 2.5.1, Section 11.4, Classes (2017). https:\/\/www.omg.org\/spec\/UML\/2.5.1"},{"key":"9380_CR2","doi-asserted-by":"publisher","unstructured":"Junker, U. (2006). Configuration. In: Rossi, F., Beek, P., Walsh, T. (eds.) Handbook of Constraint Programming. Foundations of Artificial Intelligence, vol. 2, pp. 837\u2013873. Elsevier. https:\/\/doi.org\/10.1016\/S1574-6526(06)80028-3","DOI":"10.1016\/S1574-6526(06)80028-3"},{"key":"9380_CR3","doi-asserted-by":"publisher","unstructured":"Nethercote, N., Stuckey, P. J., Becket, R., Brand, S., Duck, G. J., & Tack, G. (2007). MiniZinc: Towards a Standard CP Modelling Language. In: Bessi\u00e9re, C. (ed.) Principles and Practice of Constraint Programming \u2013 CP 2007. Lecture Notes in Computer Science, pp. 529\u2013543. Springer, Berlin, Heidelberg. https:\/\/doi.org\/10.1007\/978-3-540-74970-7_38","DOI":"10.1007\/978-3-540-74970-7_38"},{"key":"9380_CR4","unstructured":"Stuckey, P. J., Marriott, K., & Tack, G. The MiniZinc grammar. https:\/\/www.minizinc.org\/doc-latest\/en\/spec.html#full-grammar"},{"key":"9380_CR5","doi-asserted-by":"publisher","unstructured":"Mears, C., Schutt, A., Stuckey, P. J., Tack, G., Marriott, K., & Wallace, M. (2014). Modelling with option types in MiniZinc. In: Simonis, H. (ed.) Integration of AI and OR Techniques in Constraint Programming - 11th International Conference, CPAIOR 2014, Cork, Ireland, May 19-23, 2014. Proceedings. Lecture Notes in Computer Science, vol. 8451, pp. 88\u2013103. Springer. https:\/\/doi.org\/10.1007\/978-3-319-07046-9_7","DOI":"10.1007\/978-3-319-07046-9_7"},{"key":"9380_CR6","doi-asserted-by":"publisher","unstructured":"Akg\u00fcn, F., & A.M., Gent, I.P., Jefferson, C., Miguel, I., & Nightingale, P. (2022). Conjure: Automatic generation of constraint models from problem specifications. Artificial Intelligence.,310, Article 103751. https:\/\/doi.org\/10.1016\/j.artint.2022.103751","DOI":"10.1016\/j.artint.2022.103751"},{"key":"9380_CR7","unstructured":"Taupe, R., Falkner, A., & Schenner, G. (2016). Deriving tighter component cardinality bounds for product configuration. In: 18th International Configuration Workshop, vol. 47. http:\/\/cp2016.a4cp.org\/program\/workshops\/CWS-2016-Proceedings.pdf"},{"issue":"3","key":"9380_CR8","doi-asserted-by":"publisher","first-page":"24","DOI":"10.1145\/2491509.2491518","volume":"22","author":"M Balaban","year":"2013","unstructured":"Balaban, M., & Maraee, A. (2013). Finite satisfiability of UML class diagrams with constrained class hierarchy. ACM Trans. Softw. Eng. Methodol., 22(3), 24\u201312442. https:\/\/doi.org\/10.1145\/2491509.2491518","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"issue":"4","key":"9380_CR9","doi-asserted-by":"publisher","first-page":"351","DOI":"10.1504\/IJMASSC.2010.037650","volume":"3","author":"A Falkner","year":"2010","unstructured":"Falkner, A., Feinerer, I., Salzer, G., & Schenner, G. (2010). Computing product configurations via UML and integer linear programming. International Journal of Mass Customisation., 3(4), 351\u2013367.","journal-title":"International Journal of Mass Customisation."},{"key":"9380_CR10","doi-asserted-by":"publisher","unstructured":"Stuckey, P. J., & Tack, G. (2022). Enumerated types and type extensions for minizinc. In: Schaus, P. (ed.) Integration of Constraint Programming, Artificial Intelligence, and Operations Research - 19th International Conference, CPAIOR 2022, Los Angeles, CA, USA, June 20-23, 2022, Proceedings. Lecture Notes in Computer Science, vol. 13292, pp. 374\u2013389. Springer. https:\/\/doi.org\/10.1007\/978-3-031-08011-1_25","DOI":"10.1007\/978-3-031-08011-1_25"},{"key":"9380_CR11","volume-title":"Knowledge-based Configuration: From Research to Business Cases","author":"A Felfernig","year":"2014","unstructured":"Felfernig, A., Hotz, L., Bagley, C., & Tiihonen, J. (2014). Knowledge-based Configuration: From Research to Business Cases (1st ed.). San Francisco, CA, USA: Morgan Kaufmann Publishers Inc.","edition":"1"},{"issue":"4","key":"9380_CR12","doi-asserted-by":"publisher","first-page":"67","DOI":"10.1609\/AIMAG.V37I4.2688","volume":"37","author":"AA Falkner","year":"2016","unstructured":"Falkner, A. A., Friedrich, G., Haselb\u00f6ck, A., Schenner, G., & Schreiner, H. (2016). Twenty-five years of successful application of constraint technologies at siemens. AI Mag., 37(4), 67\u201380. https:\/\/doi.org\/10.1609\/AIMAG.V37I4.2688","journal-title":"AI Mag."},{"issue":"4","key":"9380_CR13","doi-asserted-by":"publisher","first-page":"307","DOI":"10.1017\/S0890060498124046","volume":"12","author":"M Stumptner","year":"1998","unstructured":"Stumptner, M., Friedrich, G., & Haselb\u00f6ck, A. (1998). Generative constraint-based configuration of large technical systems. Artif. Intell. Eng. Des. Anal. Manuf., 12(4), 307\u2013320.","journal-title":"Artif. Intell. Eng. Des. Anal. Manuf."},{"issue":"3","key":"9380_CR14","doi-asserted-by":"publisher","first-page":"343","DOI":"10.3897\/jucs.2020.019","volume":"26","author":"AA Falkner","year":"2020","unstructured":"Falkner, A. A., Haselb\u00f6ck, A., Krames, G., Schenner, G., Schreiner, H., & Taupe, R. (2020). Solver requirements for interactive configuration. J. Univers. Comput. Sci., 26(3), 343\u2013373.","journal-title":"J. Univers. Comput. Sci."},{"issue":"4","key":"9380_CR15","doi-asserted-by":"publisher","first-page":"59","DOI":"10.1109\/5254.708434","volume":"13","author":"G Fleischanderl","year":"1998","unstructured":"Fleischanderl, G., Friedrich, G., Haselb\u00f6ck, A., Schreiner, H., & Stumptner, M. (1998). Configuring large systems using generative constraint satisfaction. IEEE Intell. Syst., 13(4), 59\u201368. https:\/\/doi.org\/10.1109\/5254.708434","journal-title":"IEEE Intell. Syst."},{"key":"9380_CR16","unstructured":"Mittal, S., & Falkenhainer, B. (1990). Dynamic constraint satisfaction problems. In: Shrobe, H.E., Dietterich, T.G., Swartout, W.R. (eds.) Proceedings of the 8th National Conference on Artificial Intelligence. Boston, Massachusetts, USA, July 29 - August 3, 1990, 2 Volumes, pp. 25\u201332. AAAI Press \/ The MIT Press. https:\/\/www.aaai.org\/Library\/AAAI\/1990\/aaai90-004.php"},{"key":"9380_CR17","doi-asserted-by":"publisher","unstructured":"Dhungana, D., Falkner, A. A., & Haselb\u00f6ck, A. (2013). Generation of conjoint domain models for system-of-systems. In: J\u00e4rvi, J., K\u00e4stner, C. (eds.) Generative Programming: Concepts and Experiences, GPCE\u201913, Indianapolis, IN, USA - October 27 - 28, 2013, pp. 159\u2013168. ACM. https:\/\/doi.org\/10.1145\/2517208.2517224","DOI":"10.1145\/2517208.2517224"},{"key":"9380_CR18","unstructured":"Hewson, J. A., & Anderson, P. (2011). Modelling system administration problems with CSPs. In: Rendl, A., Beck, J.C. (eds.) 10th International Workshop on Constraint Modelling and Reformulation (ModRef\u201911)."},{"key":"9380_CR19","unstructured":"Hewson, J. A., Anderson, P., & Gordon, A. D. (2012). A declarative approach to automated configuration. In: Rowland, C. (ed.) Strategies, Tools , and Techniques: Proceedings of the 26th Large Installation System Administration Conference, LISA 2012, San Diego, CA, USA, December 9-14, 2012, pp. 51\u201366. USENIX Association. https:\/\/www.usenix.org\/conference\/lisa12\/technical-sessions\/presentation\/hewson"},{"key":"9380_CR20","doi-asserted-by":"publisher","unstructured":"Hinrichs, T., Love, N., Petrie, C. J., Ramshaw, L., Sahai, A., & Singhal, S. (2004). Using object-oriented constraint satisfaction for automated configuration generation. In: Sahai, A., Wu, F. (eds.) Utility Computing: 15th IFIP\/IEEE International Workshop on Distributed Systems: Operations and Management, DSOM 2004, Davis, CA, USA, November 15-17, 2004.Proceedings. Lecture Notes in Computer Science, vol. 3278, pp. 159\u2013170. Springer. https:\/\/doi.org\/10.1007\/978-3-540-30184-4_14","DOI":"10.1007\/978-3-540-30184-4_14"},{"key":"9380_CR21","unstructured":"Schenner, G., & Taupe, R. (2016). Encoding object-oriented models in MiniZinc. In: 15th International Workshop on Constraint Modelling and Reformulation (ModRef\u201916). https:\/\/cp2016.a4cp.org\/program\/workshops\/ws-modref-papers\/Taupe.pdf"},{"key":"9380_CR22","doi-asserted-by":"publisher","unstructured":"Paltrinieri, M. (1994). Integrating objects with constraint-programming languages. In: Bertino, E., Urban, S.D. (eds.) Object-Oriented Methodologies and Systems, International Symposium ISOOMS \u201994, Palermo, Italy, September 21-22, 1994, Proceedings. Lecture Notes in Computer Science, vol. 858, pp. 248\u2013265. Springer. https:\/\/doi.org\/10.1007\/BFB0014029","DOI":"10.1007\/BFB0014029"},{"key":"9380_CR23","doi-asserted-by":"publisher","unstructured":"Soto, R., & Granvilliers, L. (2008). On the pursuit of a standard language for object-oriented constraint modeling. In: Nguyen, N.T., Katarzyniak, R.P. (eds.) New Challenges in Applied Intelligence Technologies. Studies in Computational Intelligence, vol. 134, pp. 123\u2013133. Springer. https:\/\/doi.org\/10.1007\/978-3-540-79355-7_12","DOI":"10.1007\/978-3-540-79355-7_12"},{"key":"9380_CR24","doi-asserted-by":"publisher","unstructured":"Baumeister, J., Herud, K., Ostrowski, M., Reutelsh\u00f6fer, J., R\u00fchling, N., Schaub, T., & Wanko, P. (2024). Towards industrial-scale product configuration. In: Dodaro, C., Gupta, G., Martinez, M.V. (eds.) Logic Programming and Nonmonotonic Reasoning - 17th International Conference, LPNMR 2024, Dallas, TX, USA, October 11-14, 2024, Proceedings. Lecture Notes in Computer Science, vol. 15245, pp. 71\u201384. Springer. https:\/\/doi.org\/10.1007\/978-3-031-74209-5_6","DOI":"10.1007\/978-3-031-74209-5_6"},{"key":"9380_CR25","unstructured":"denkbares GmbH. (2024). COOM Documentation. https:\/\/www.coom-lang.org\/.\u00a0Accessed 2024-08-23."},{"key":"9380_CR26","unstructured":"Potassco. (2024). coom-suite. https:\/\/github.com\/potassco\/coom-suite.\u00a0Accessed 2024-08-23."},{"key":"9380_CR27","doi-asserted-by":"publisher","unstructured":"Dagef\u00f6rde, J. C., Winkelmann, H., & Kuchen, H. (2021). Free objects in constraint-logic object-oriented programming. In: Proceedings of the 23rd International Symposium on Principles and Practice of Declarative Programming. PPDP \u201921. Association for Computing Machinery, New York, NY, USA . https:\/\/doi.org\/10.1145\/3479394.3479409","DOI":"10.1145\/3479394.3479409"},{"issue":"4","key":"9380_CR28","doi-asserted-by":"publisher","first-page":"1","DOI":"10.5381\/JOT.2014.13.4.A1","volume":"13","author":"T Felgentreff","year":"2014","unstructured":"Felgentreff, T., Borning, A., & Hirschfeld, R. (2014). Specifying and solving constraints on object behavior. J. Object Technol., 13(4), 1\u2013138. https:\/\/doi.org\/10.5381\/JOT.2014.13.4.A1","journal-title":"J. Object Technol."},{"key":"9380_CR29","doi-asserted-by":"publisher","unstructured":"Lopez, G., Freeman-Benson, B. N., & Borning, A. (1993). Kaleidoscope: A constraint imperative programming language. In: Mayoh, B.H., Tyugu, E., Penjam, J. (eds.) Constraint Programming, Proceedings of the NATO Advanced Study Institute on Constraint Programming, Parnu, Estonia, August 13-24, 1993. NATO ASI Series, vol. 131, pp. 313\u2013329. Springer.\u00a0https:\/\/doi.org\/10.1007\/978-3-642-85983-0_12","DOI":"10.1007\/978-3-642-85983-0_12"},{"key":"9380_CR30","unstructured":"Guns, T. (2019). Increasing modeling language convenience with a universal n-dimensional array, CPpy as python-embedded example. In: Proceedings of the 18th Workshop on Constraint Modelling and Reformulation at CP (Modref 2019), vol. 19. https:\/\/modref.github.io\/papers\/ModRef2019_Increasing%20modeling%20language%20convenience%20with%20a%20universal%20n-dimensional%20array.pdf"},{"key":"9380_CR31","doi-asserted-by":"publisher","unstructured":"Lecoutre, C., & Szczepanski, N. (2020). PYCSP3: modeling combinatorial constrained problems in python. CoRR. abs\/2009.00326. https:\/\/doi.org\/10.48550\/arXiv.2009.00326","DOI":"10.48550\/arXiv.2009.00326"},{"key":"9380_CR32","unstructured":"Google. OR-Tools. https:\/\/developers.google.com\/optimization\/"},{"key":"9380_CR33","doi-asserted-by":"publisher","unstructured":"Srivastava, D., Ramakrishnan, R., Revesz, P. Z. (1994). Constraint objects. In: Borning, A. (ed.) Principles and Practice of Constraint Programming, Second International Workshop, PPCP\u201994, Rosario, Orcas Island, Washington, USA, May 2-4, 1994, Proceedings. Lecture Notes in Computer Science, vol. 874, pp. 218\u2013228. Springer. https:\/\/doi.org\/10.1007\/3-540-58601-6_103","DOI":"10.1007\/3-540-58601-6_103"},{"key":"9380_CR34","doi-asserted-by":"publisher","unstructured":"Richters, M., & Gogolla, M. (2000). Validating UML models and OCL constraints. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000 - The Unified Modeling Language, Advancing the Standard, Third International Conference, York, UK, October 2-6, 2000, Proceedings. Lecture Notes in Computer Science, vol. 1939, pp. 265\u2013277. Springer. https:\/\/doi.org\/10.1007\/3-540-40011-7_19","DOI":"10.1007\/3-540-40011-7_19"},{"key":"9380_CR35","volume-title":"Software Abstractions, Revised Edition: Logic, Language, and Analysis","author":"D Jackson","year":"2011","unstructured":"Jackson, D. (2011). Software Abstractions, Revised Edition: Logic, Language, and Analysis. Cambridge: MIT Press."},{"issue":"3","key":"9380_CR36","doi-asserted-by":"publisher","first-page":"811","DOI":"10.1007\/S10270-014-0441-1","volume":"15","author":"K Bak","year":"2016","unstructured":"Bak, K., Diskin, Z., Antkiewicz, M., Czarnecki, K., & Wasowski, A. (2016). Clafer: unifying class and feature modeling. Softw. Syst. Model., 15(3), 811\u2013845. https:\/\/doi.org\/10.1007\/S10270-014-0441-1","journal-title":"Softw. Syst. Model."}],"container-title":["Constraints"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10601-025-09380-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10601-025-09380-3","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10601-025-09380-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,2,13]],"date-time":"2026-02-13T08:12:15Z","timestamp":1770970335000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10601-025-09380-3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,12]]},"references-count":36,"journal-issue":{"issue":"1-4","published-print":{"date-parts":[[2025,12]]}},"alternative-id":["9380"],"URL":"https:\/\/doi.org\/10.1007\/s10601-025-09380-3","relation":{},"ISSN":["1383-7133","1572-9354"],"issn-type":[{"value":"1383-7133","type":"print"},{"value":"1572-9354","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,12]]},"assertion":[{"value":"19 December 2024","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"21 August 2025","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"22 December 2025","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors have no conflicts of interest or competing interests.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflicts of Interest"}}]}}