{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,15]],"date-time":"2025-10-15T10:01:25Z","timestamp":1760522485424,"version":"3.32.0"},"reference-count":49,"publisher":"Wiley","issue":"5","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":4930,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1993,5]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The efficient satisfaction of constraints is essential to the performance of constraint\u2010based user interfaces. In the past, most constraint\u2010based user interfaces have used one\u2010way rather than multi\u2010way constraints because of a widespread belief that one\u2010way constraints were more efficient. In this paper we argue that many user interface construction problems are handled more naturally and elegantly by multi\u2010way constraints than by one\u2010way constraints. We present pseudocode for an incremental multi\u2010way constraint satisfaction algorithm, DeltaBlue, and describe experience in using the algorithm in two user interface toolkits. Finally, we provide performance figures demonstrating that multi\u2010way constraint solvers can be entirely competitive in performance with one\u2010way constraint solvers.<\/jats:p>","DOI":"10.1002\/spe.4380230507","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T20:28:08Z","timestamp":1163795288000},"page":"529-566","source":"Crossref","is-referenced-by-count":69,"title":["Multi\u2010way versus one\u2010way constraints in user interfaces: Experience with the deltablue algorithm"],"prefix":"10.1002","volume":"23","author":[{"given":"Michael","family":"Sannella","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"John","family":"Maloney","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bjorn","family":"Freeman\u2010Benson","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alan","family":"Borning","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/27623.29354"},{"key":"e_1_2_1_3_2","unstructured":"JohnMaloney \u2018Using constraints for user interface construction\u2019 Ph.D. Thesis Department of Computer Science and Engineering University of Washington August1991. Published as Department of Computer Science and Engineering Technical Report 91\u201308\u201312."},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/99902.99903"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/357299.357303"},{"key":"e_1_2_1_6_2","doi-asserted-by":"crossref","unstructured":"GregNelson \u2018Juno a constraint\u2010based graphics system\u2019 SIGGRAPH '85 Conference Proceedings ACM San Francisco July1985. pp.235\u2013243.","DOI":"10.1145\/325165.325241"},{"key":"e_1_2_1_7_2","unstructured":"James A.Gosling \u2018Algebraic constraints\u2019 Ph.D. Thesis Carnegie\u2010Mellon University May1983. Published as CMU Computer Science Department Technical Report CMU\u2010CS\u201083\u2013132."},{"key":"e_1_2_1_8_2","doi-asserted-by":"crossref","unstructured":"IvanSutherland \u2018Sketchpad: a man\u2010machine graphical communication system\u2019 Proc. Spring Joint Computer Conference IFIPS.1963 pp.329\u2013346.","DOI":"10.1145\/1461551.1461591"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/357146.357147"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1207\/s15327051hci0303_3"},{"key":"e_1_2_1_11_2","doi-asserted-by":"crossref","unstructured":"John AlanMcDonald WernerStuetzleandAndreasBuja \u2018Painting multiple views of complex objects\u2019 Proc. 1990 ACM Conference on Object\u2010Oriented Programming: Systems Languages and Applications and the European Conference on Object\u2010Oriented Programming.Ottawa Canada October1990 pp.245\u2013257.","DOI":"10.1145\/97945.97975"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/62083.62092"},{"key":"e_1_2_1_13_2","doi-asserted-by":"crossref","unstructured":"PedroSzekelyandBradMyers \u2018A user\u2010interface toolkit based on graphical objects and constraints\u2019 Proc. 1988 ACM Conference on Object\u2010Oriented Programming Systems Languages and Applications ACM San Diego. September1988 pp.36\u201345.","DOI":"10.1145\/62083.62088"},{"key":"e_1_2_1_14_2","doi-asserted-by":"crossref","unstructured":"DanIngalls ScottWallace Yu\u2010YingChow FrankLudolphandKenDoyle \u2018Fabrik: a visual programming environment\u2019 Proc. 1988 ACM Conference on Object\u2010Oriented Programming Systems Languages and Applications ACM San Diego November1988 pp.176\u2013190.","DOI":"10.1145\/62083.62100"},{"key":"e_1_2_1_15_2","unstructured":"RaimundEge DavidMaierandAlanBorning \u2018The filter browser\u2014defining interfaces graphically\u2019 Proceedings of the European Conference on Object\u2010Oriented Programming Paris June1987. Association Fran\u010daise pour la Cybern\u00e9tique Economique et Technique pp.155\u2013165."},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.60882"},{"key":"e_1_2_1_17_2","doi-asserted-by":"crossref","unstructured":"Dan R.Olsen Jr. \u2018Creating interactive techniques by symbolically solving geometric constraints\u2019 Proc. ACM SIGGRAPH Symposium on User Interface Software and Technology ACM SIGGRAPH and SIGCHI Snowbird Utah October1990 pp.102\u2013107.","DOI":"10.1145\/97924.97936"},{"key":"e_1_2_1_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/22949.22951"},{"key":"e_1_2_1_19_2","doi-asserted-by":"crossref","unstructured":"Brad A.Myers \u2018Creating dynamic interaction techniques by demonstration\u2019 CHI+GI 1987 Conference Proceedings April1987 pp.271\u2013278.","DOI":"10.1145\/30851.275642"},{"key":"e_1_2_1_20_2","doi-asserted-by":"crossref","unstructured":"Lawrence A.Rowe Joseph A.Konstan Brian C.Smith SteveSeitzandChungLiu \u2018The PICASSO application framework\u2019 Proc. ACM SIGGRAPH Symposium on User Interface Software and Technology Hilton Head South Carolina November1991 pp.95\u2013105.","DOI":"10.1145\/120782.120793"},{"key":"e_1_2_1_21_2","first-page":"125","volume-title":"Languages for Developing User Interfaces","author":"Hill Ralph D.","year":"1992"},{"key":"e_1_2_1_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/142750.142828"},{"key":"e_1_2_1_23_2","doi-asserted-by":"crossref","unstructured":"Ellis S.Cohen Edward T.SmithandLee A.Iverson \u2018Constraint\u2010based tiled windows\u2019 IEEE Computer Graphics and Applications May1986 pp.35\u201345.","DOI":"10.1109\/MCG.1986.276790"},{"key":"e_1_2_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/74877.74917"},{"volume-title":"Constraint Programming Languages","year":"1987","author":"Leler William","key":"e_1_2_1_25_2"},{"key":"e_1_2_1_26_2","doi-asserted-by":"crossref","unstructured":"BjornFreeman\u2010BensonandAlanBorning. \u2018The design and implementation of Kaleidoscope '90 a constraint imperative programming language\u2019 Proc. IEEE Computer Society International Conference on Computer Languages April1992 pp.174\u2013180.","DOI":"10.1109\/ICCL.1992.185480"},{"key":"e_1_2_1_27_2","unstructured":"Bjorn N.Freeman\u2010Benson \u2018Constraint imperative programming\u2019 Ph.D. Thesis University of Washington Department of Computer Science and Engineering July1991. Published as Department of Computer Science and Engineering Technical Report 91\u201307\u201302."},{"key":"e_1_2_1_28_2","doi-asserted-by":"crossref","unstructured":"BruceHorn \u2018Constraint patterns as a basis for object\u2010oriented constraint programming\u2019 Proc. 1992 ACM Conference on Object\u2010Oriented Programming Systems Languages and Applications Vancouver British Columbia October1992 pp.218\u2013233.","DOI":"10.1145\/141937.141955"},{"key":"e_1_2_1_29_2","first-page":"211","volume-title":"Languages for Developing User Interfaces","author":"Horn Bruce","year":"1992"},{"key":"e_1_2_1_30_2","unstructured":"KenSatohandAkiraAiba \u2018CAL: a theoretical background of constraint logic programming and its applications (Revised)\u2019 Technical Report TR\u2010537 Institute for New Generation Computer Technology. Tokyo February1990."},{"key":"e_1_2_1_31_2","unstructured":"M.Dincbas P.Van Hentenryck H.Simonis A.Aggoun T.GrafandF.Bertheir \u2018The constraint logic programming language CHIP\u2019 Proc. Fifth Generation Computer Systems\u201088 1988 pp.249\u2013264."},{"volume-title":"Constraint Satisfaction in Logic Programming","year":"1989","author":"Van Hentenryck Pascal","key":"e_1_2_1_32_2"},{"key":"e_1_2_1_33_2","unstructured":"JoxanJaffarandSpiroMichaylov \u2018Methodology and implementation of a CLP system\u2019.Proc. Fourth International Conference on Logic Programming Melbourne May1987 pp.196\u2013218."},{"key":"e_1_2_1_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/129393.129398"},{"key":"e_1_2_1_35_2","unstructured":"CliffordWalinsky \u2018CLP(\u03a3*): constraint logic programming with regular sets\u2019 Proc. Sixth International Conference on Logic Programming.Lisbon. June1989 pp.181\u2013196."},{"key":"e_1_2_1_36_2","unstructured":"AlanBorning MichaelMaher AmyMartindaleandMollyWilson \u2018Constraint hierarchies and logic programming\u2019 Proc. Sixth International Conference on Logic Programming Lisbon June1989 p.149\u2013164."},{"key":"e_1_2_1_37_2","unstructured":"MollyWilson \u2018Hierarchical constraint logic programming\u2019 Ph.D. Thesis Department of Computer Science and Engineering University of Washington 1992."},{"key":"e_1_2_1_38_2","doi-asserted-by":"crossref","unstructured":"AlainColmerauer \u2018An introduction to Prolog III\u2019Communications of the ACM July1990 pp.69\u201390.","DOI":"10.1145\/79204.79210"},{"key":"e_1_2_1_39_2","first-page":"333","volume-title":"Martin Rinard and Prakash Panangaden, \u2018Semantic foundations of concurrent constraint programming","author":"Saraswat Vijay A.","year":"1991"},{"key":"e_1_2_1_40_2","unstructured":"Vijay A.Saraswat \u2018Concurrent constraint programming languages\u2019 Ph.D. Thesis.Carnegie\u2010Mellon University Computer Science Department January1989."},{"key":"e_1_2_1_41_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF01807506"},{"key":"e_1_2_1_42_2","doi-asserted-by":"crossref","unstructured":"AlanBorning RobertDuisberg BjornFreeman\u2010Benson AxelKramerandMichaelWoolf \u2018Constraint hierarchies\u2019 Proceedings of the 1987 ACM Conference on Object\u2010Oriented Programming Systems Languages and Applications ACM October1987 pp.48\u201360.","DOI":"10.1145\/38765.38812"},{"key":"e_1_2_1_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/117009.117012"},{"key":"e_1_2_1_44_2","unstructured":"Bjorn N.Freeman\u2010Benson \u2018Multiple solutions from constraint hierarchies\u2019 Technical Report 88\u201304\u201302 Department of Computer Science and Engineering University of Washington Seattle WA April1988."},{"key":"e_1_2_1_45_2","unstructured":"MichaelSannellaandAlanBorning \u2018Multi\u2010Garnet: integrating multi\u2010way constraints with Garnet\u2019 Technical Report 92\u201307\u201301 Department of Computer Science and Engineering University of Washington September1992."},{"volume-title":"Proc. Eighth Annual IEEE Phoenix Conference on Computers and Communications","year":"1989","author":"Freeman\u2010Benson Bjorn","key":"e_1_2_1_46_2"},{"key":"e_1_2_1_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/76372.77531"},{"key":"e_1_2_1_48_2","unstructured":"MichelGangnetandBurtonRosenberg \u2018Constraint programming and graph algorithms\u2019 Second International Symposium on Artificial Intelligence and Mathematics January1992."},{"key":"e_1_2_1_49_2","unstructured":"JoelSpiegel Personal Communication July1989."},{"volume-title":"Proc. 1989 ACM Conference on Object\u2010Oriented Programming Systems, Languages and Applications","year":"1989","author":"Freeman\u2010Benson Bjorn","key":"e_1_2_1_50_2"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380230507","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380230507","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,11]],"date-time":"2025-01-11T23:57:50Z","timestamp":1736639870000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380230507"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1993,5]]},"references-count":49,"journal-issue":{"issue":"5","published-print":{"date-parts":[[1993,5]]}},"alternative-id":["10.1002\/spe.4380230507"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380230507","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1993,5]]}}}