A domain-specific language for structure manipulation in constraint system-based GUIs

A common frustration with programming Graphical User Interfaces (GUIs) is that features for manipulating structures, such as lists and trees, are limited, inconsistent, buggy, or even missing. Implementing complete and convenient sets of operations for inserting, removing, and reordering elements in...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Journal of computer languages (Online) Ročník 74; s. 101175
Hlavní autoři: Stokke, Knut Anders, Barash, Mikhail, Järvi, Jaakko
Médium: Journal Article
Jazyk:angličtina
Vydáno: Elsevier Ltd 01.01.2023
Témata:
ISSN:2590-1184, 2590-1184
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract A common frustration with programming Graphical User Interfaces (GUIs) is that features for manipulating structures, such as lists and trees, are limited, inconsistent, buggy, or even missing. Implementing complete and convenient sets of operations for inserting, removing, and reordering elements in such structures can be tedious and difficult: a structure that appears as one collection to the user can be implemented as several different data structures and a web of dependencies between them. Structural modifications require changes both to the GUI’s model and view, and possibly extraneous bookkeeping operations, such as adding and removing event handlers. This paper introduces a DSL that helps programmers to implement a complete set of operations to structures displayed in GUIs. The programmer specifies structures and relations between elements in the structure. Concretely, the latter are definitions of methods for establishing and unestablishing relations. Operations that manipulate structures are specified as rules that control which relations should hold before and after a rule is applied. From these specifications, our tools generate an easy-to-use API for structure manipulation. We target constraint system-based Web GUIs: the DSL generates JavaScript and relies on dataflow constraint systems for expressing dependencies between elements in GUI structures. Our DSL gives tangible representations with well-defined operations for ad-hoc and incidental GUI structures.
AbstractList A common frustration with programming Graphical User Interfaces (GUIs) is that features for manipulating structures, such as lists and trees, are limited, inconsistent, buggy, or even missing. Implementing complete and convenient sets of operations for inserting, removing, and reordering elements in such structures can be tedious and difficult: a structure that appears as one collection to the user can be implemented as several different data structures and a web of dependencies between them. Structural modifications require changes both to the GUI’s model and view, and possibly extraneous bookkeeping operations, such as adding and removing event handlers. This paper introduces a DSL that helps programmers to implement a complete set of operations to structures displayed in GUIs. The programmer specifies structures and relations between elements in the structure. Concretely, the latter are definitions of methods for establishing and unestablishing relations. Operations that manipulate structures are specified as rules that control which relations should hold before and after a rule is applied. From these specifications, our tools generate an easy-to-use API for structure manipulation. We target constraint system-based Web GUIs: the DSL generates JavaScript and relies on dataflow constraint systems for expressing dependencies between elements in GUI structures. Our DSL gives tangible representations with well-defined operations for ad-hoc and incidental GUI structures.
ArticleNumber 101175
Author Järvi, Jaakko
Stokke, Knut Anders
Barash, Mikhail
Author_xml – sequence: 1
  givenname: Knut Anders
  orcidid: 0000-0002-9109-0771
  surname: Stokke
  fullname: Stokke, Knut Anders
  email: knut.stokke@uib.no
  organization: University of Bergen, Norway
– sequence: 2
  givenname: Mikhail
  surname: Barash
  fullname: Barash, Mikhail
  email: mikhail.barash@uib.no
  organization: University of Bergen, Norway
– sequence: 3
  givenname: Jaakko
  orcidid: 0000-0002-3418-7366
  surname: Järvi
  fullname: Järvi, Jaakko
  email: jaakko.jarvi@utu.fi
  organization: University of Bergen, Norway
BookMark eNp9kMtqwzAQRUVJoWmaH-hKP-BUkiM_oJsQ2jQQ6KZZC3k0Dgq2FCS5kL-vTbroqqsZZjiXy3kkM-cdEvLM2YozXrycV-A7vRJMiOnAS3lH5kLWLOO8Ws_-7A9kGeOZMSbqIpdlPifHDTW-19Zl8YJgWwu00-406BPS1gcaUxggDQFpr529DJ1O1jtqHQXvxudIJhqvMWGfNTqiobvjPj6R-1Z3EZe_c0GO729f24_s8LnbbzeHDEQtUwZaS1HUjSkaYbjRwLHMqxp0VXMOQgAv2JpVpuBl3jaSodBsDZUEmUPZ8CpfEHHLheBjDNiqS7C9DlfFmZrcqLOa3KjJjbq5GaHXG4Rjs2-LQUWw6ACNDQhJGW__w38AQfNvZQ
Cites_doi 10.1109/32.601073
10.1016/j.jlap.2009.06.002
10.1145/2480361.2371413
10.5381/jot.2014.13.4.a1
10.1145/120782.120805
10.1109/2.60882
10.1145/2103736.2103741
10.1145/225540.225543
10.1007/BF02253685
ContentType Journal Article
Copyright 2022 The Author(s)
Copyright_xml – notice: 2022 The Author(s)
DBID 6I.
AAFTH
AAYXX
CITATION
DOI 10.1016/j.cola.2022.101175
DatabaseName ScienceDirect Open Access Titles
Elsevier:ScienceDirect:Open Access
CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2590-1184
ExternalDocumentID 10_1016_j_cola_2022_101175
S2590118422000727
GroupedDBID 6I.
AAEDW
AAFTH
AAIAV
AAKOC
AALRI
AAXUO
AAYFN
ABBOA
ACDAQ
ACRLP
AEBSH
AFKWA
AFTJW
AIEXJ
AIKHN
AITUG
ALMA_UNASSIGNED_HOLDINGS
AMRAJ
AOUOD
AXJTR
BKOJK
EBS
EFBJH
EFLBG
EJD
FDB
FYGXN
KOM
M41
ROL
SPC
SPCBC
SSV
SSZ
T5K
0R~
AATTM
AAXKI
AAYWO
AAYXX
ABJNI
ACLOT
ACVFH
ADCNI
AEIPS
AEUPX
AFJKZ
AFPUW
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
CITATION
EFKBS
ID FETCH-LOGICAL-c295t-caa5269bd6b2d1dac1e7389ca8911c22c160408d6173fb50e2a04c85c53c7b183
ISICitedReferencesCount 2
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000905016500001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 2590-1184
IngestDate Thu Nov 20 00:52:32 EST 2025
Fri Feb 23 02:37:36 EST 2024
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Keywords Separation of concerns
Rule based systems
GUI programming
Declarative programming
Dataflow constraint systems
Language English
License This is an open access article under the CC BY license.
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c295t-caa5269bd6b2d1dac1e7389ca8911c22c160408d6173fb50e2a04c85c53c7b183
ORCID 0000-0002-9109-0771
0000-0002-3418-7366
OpenAccessLink https://dx.doi.org/10.1016/j.cola.2022.101175
ParticipantIDs crossref_primary_10_1016_j_cola_2022_101175
elsevier_sciencedirect_doi_10_1016_j_cola_2022_101175
PublicationCentury 2000
PublicationDate January 2023
2023-01-00
PublicationDateYYYYMMDD 2023-01-01
PublicationDate_xml – month: 01
  year: 2023
  text: January 2023
PublicationDecade 2020
PublicationTitle Journal of computer languages (Online)
PublicationYear 2023
Publisher Elsevier Ltd
Publisher_xml – name: Elsevier Ltd
References B.A. Myers, Separating application code from toolkits: Eliminating the spaghetti of call-backs, in: Proceedings of the 4th Annual ACM Symposium on User Interface Software and Technology, 1991, pp. 211–220.
Bettini (b29) 2016
Efftinge, Zarnekow (b30) 2020
Miranker, Winkler (b40) 1984; 32
(b11) 2020
Järvi, Marcus, Parent, Freeman, Smith (b23) 2009
Perez De Rosso, Jackson, Archie, Lao, McNamara III (b34) 2019
(b31) 2021
Groenewegen, Hemel, Kats, Visser (b36) 2008
Myers, McDaniel, Miller, Ferrency, Faulring, Kyle, Mickish, Klimovitski, Doane (b19) 1997; 23
Vander Zanden (b17) 1996; 18
Freeman, Järvi, Foust (b14) 2012; 48
Oney, Myers, Brandt (b37) 2012
(Accessed: 2022-11-24).
Krasner, Pope (b6) 1988; 1
Drewes, Kreowski, Habel (b39) 1997
ApplyTexas web application
(b33) 2022
Foust, Järvi, Parent (b15) 2015
ReactiveUI—An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms
Erdweg, van der Storm, Völter, Tratt, Bosman, Cook, Gerritsen, Hulshout, Kelly, Loh, Konat, Molina, Palatnik, Pohjonen, Schindler, Schindler, Solmi, Vergu, Visser, Woning (b28) 2015; 44
Freeman, Järvi, Kim, Marcus, Parent (b24) 2011
Google LLC (b32) 2020
Sutherland (b18) 1964
Stokke, Barash, Järvi (b4) 2020
Felgentreff, Borning, Hirschfeld (b38) 2014; 13
Burrows, Haveraaen (b41) 2009; 78
Farrar (b10) 2015
Apple Inc. (b22) 2022
S. Parent, A possible future for software development, in: Keynote Talk at the Workshop of Library-Centric Software Design, 2006, URL.
E. Czaplicki, The Elm Architecture, URL
.
Gossman (b7) 2005
Sannella (b21) 1994
Järvi (b16) 2021
E. Burrows, M. Haveraaen, Programmable data dependencies and placements, in: Proceedings of the 7th Workshop on Declarative Aspects and Applications of Multicore Programming, 2012, pp. 31–40.
Madsen, Lhoták, Tip (b12) 2020; 166
(b35) 2021
Eysholdt, Rupprecht (b27) 2010
Clark, DeRose (b25) 1999
Myers, Rosson (b2) 1992
Potel (b8) 1996
Myers, Giuse, Dannenberg, Zanden, Kosbie, Pervin, Mickish, Marchal (b20) 1990; 23
Steinberg, Budinski, Paternostro, Merks (b26) 2008
Oney (10.1016/j.cola.2022.101175_b37) 2012
Freeman (10.1016/j.cola.2022.101175_b14) 2012; 48
Clark (10.1016/j.cola.2022.101175_b25) 1999
Perez De Rosso (10.1016/j.cola.2022.101175_b34) 2019
(10.1016/j.cola.2022.101175_b35) 2021
Sutherland (10.1016/j.cola.2022.101175_b18) 1964
Erdweg (10.1016/j.cola.2022.101175_b28) 2015; 44
10.1016/j.cola.2022.101175_b42
10.1016/j.cola.2022.101175_b1
Bettini (10.1016/j.cola.2022.101175_b29) 2016
10.1016/j.cola.2022.101175_b5
Potel (10.1016/j.cola.2022.101175_b8) 1996
(10.1016/j.cola.2022.101175_b31) 2021
Efftinge (10.1016/j.cola.2022.101175_b30) 2020
Myers (10.1016/j.cola.2022.101175_b2) 1992
10.1016/j.cola.2022.101175_b3
10.1016/j.cola.2022.101175_b9
(10.1016/j.cola.2022.101175_b11) 2020
Felgentreff (10.1016/j.cola.2022.101175_b38) 2014; 13
Madsen (10.1016/j.cola.2022.101175_b12) 2020; 166
Foust (10.1016/j.cola.2022.101175_b15) 2015
Steinberg (10.1016/j.cola.2022.101175_b26) 2008
Myers (10.1016/j.cola.2022.101175_b19) 1997; 23
Eysholdt (10.1016/j.cola.2022.101175_b27) 2010
Google LLC (10.1016/j.cola.2022.101175_b32) 2020
Myers (10.1016/j.cola.2022.101175_b20) 1990; 23
Miranker (10.1016/j.cola.2022.101175_b40) 1984; 32
Stokke (10.1016/j.cola.2022.101175_b4) 2020
Järvi (10.1016/j.cola.2022.101175_b23) 2009
10.1016/j.cola.2022.101175_b13
Burrows (10.1016/j.cola.2022.101175_b41) 2009; 78
Sannella (10.1016/j.cola.2022.101175_b21) 1994
Groenewegen (10.1016/j.cola.2022.101175_b36) 2008
Krasner (10.1016/j.cola.2022.101175_b6) 1988; 1
Freeman (10.1016/j.cola.2022.101175_b24) 2011
Gossman (10.1016/j.cola.2022.101175_b7) 2005
Apple Inc. (10.1016/j.cola.2022.101175_b22) 2022
(10.1016/j.cola.2022.101175_b33) 2022
Farrar (10.1016/j.cola.2022.101175_b10) 2015
Järvi (10.1016/j.cola.2022.101175_b16) 2021
Vander Zanden (10.1016/j.cola.2022.101175_b17) 1996; 18
Drewes (10.1016/j.cola.2022.101175_b39) 1997
References_xml – year: 2020
  ident: b32
  article-title: Angular
– year: 2016
  ident: b29
  article-title: Implementing Domain-Specific Languages with Xtext and Xtend
– reference: B.A. Myers, Separating application code from toolkits: Eliminating the spaghetti of call-backs, in: Proceedings of the 4th Annual ACM Symposium on User Interface Software and Technology, 1991, pp. 211–220.
– volume: 44
  start-page: 24
  year: 2015
  end-page: 47
  ident: b28
  article-title: Evaluating and comparing language workbenches: Existing results and benchmarks for the future
  publication-title: Comput. Lang. Syst. Struct.
– reference: ApplyTexas web application
– start-page: 195
  year: 1992
  end-page: 202
  ident: b2
  article-title: Survey on user interface programming
  publication-title: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
– start-page: 97
  year: 2010
  end-page: 104
  ident: b27
  article-title: Migrating a large modeling environment from XML/UML to Xtext/GMF
  publication-title: Companion to the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, SPLASH/OOPSLA
– reference:  (Accessed: 2022-11-24).
– year: 2005
  ident: b7
  article-title: Introduction to Model/View/ViewModel pattern for building WPF apps
– year: 2008
  ident: b26
  article-title: EMF : Eclipse Modeling Framework
– year: 2021
  ident: b16
  article-title: HotDrink
– year: 2020
  ident: b11
  article-title: React—A JavaScript library for building user interfaces
– reference: ReactiveUI—An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms,
– volume: 13
  start-page: 1:1
  year: 2014
  end-page: 38
  ident: b38
  article-title: Specifying and solving constraints on object behavior
  publication-title: J. Object Technol.
– start-page: 95
  year: 1997
  end-page: 162
  ident: b39
  article-title: Hyperedge replacement graph grammars
  publication-title: Handbook of Graph Grammars and Computing by Graph Transformation: Volume I. Foundations
– volume: 18
  start-page: 30
  year: 1996
  end-page: 72
  ident: b17
  article-title: An incremental algorithm for satisfying hierarchies of multiway dataflow constraints
  publication-title: ACM Trans. Program. Lang. Syst.
– year: 2021
  ident: b31
  article-title: Elm programming language
– start-page: 779
  year: 2008
  end-page: 780
  ident: b36
  article-title: WebDSL: A domain-specific language for dynamic web applications
  publication-title: Companion To the 23rd ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications
– volume: 166
  start-page: 12:1
  year: 2020
  end-page: 12:26
  ident: b12
  article-title: A semantics for the essence of React
  publication-title: 34th European Conference on Object-Oriented Programming, ECOOP 2020, November 15-17, 2020, Berlin, Germany (Virtual Conference)
– year: 2022
  ident: b33
  article-title: Svelte: Cybernetically enhanced web apps
– volume: 78
  start-page: 519
  year: 2009
  end-page: 538
  ident: b41
  article-title: A hardware independent parallel programming model
  publication-title: J. Log. Algebr. Program.
– reference: E. Burrows, M. Haveraaen, Programmable data dependencies and placements, in: Proceedings of the 7th Workshop on Declarative Aspects and Applications of Multicore Programming, 2012, pp. 31–40.
– reference: S. Parent, A possible future for software development, in: Keynote Talk at the Workshop of Library-Centric Software Design, 2006, URL.
– year: 1999
  ident: b25
  article-title: XML path language (XPath), W3C Recommendation
– year: 2020
  ident: b30
  article-title: Xtend—modernized Java
– volume: 1
  start-page: 26
  year: 1988
  end-page: 49
  ident: b6
  article-title: A cookbook for using the model-view controller user interface paradigm in smalltalk-80
  publication-title: J. Object Oriented Program.
– start-page: 121
  year: 2015
  end-page: 130
  ident: b15
  article-title: Generating reactive programs for graphical user interfaces from multi-way dataflow constraint systems
  publication-title: Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
– year: 2022
  ident: b22
  article-title: View layout
– start-page: 229
  year: 2012
  end-page: 238
  ident: b37
  article-title: ConstraintJS: Programming interactive behaviors for the Web by integrating constraints and states
  publication-title: Proceedings of the 25th Annual ACM Symposium on User Interface Software and Technology
– year: 2021
  ident: b35
  article-title: JSON Forms
– start-page: 6329
  year: 1964
  end-page: 6346
  ident: b18
  article-title: Sketchpad: A man-machine graphical communication system
  publication-title: DAC ’64: Proceedings of the SHARE Design Automation Workshop
– volume: 32
  start-page: 93
  year: 1984
  end-page: 114
  ident: b40
  article-title: Spacetime representations of computational structures
  publication-title: Computing
– volume: 23
  start-page: 71
  year: 1990
  end-page: 85
  ident: b20
  article-title: Garnet: Comprehensive support for graphical, highly interactive user interfaces
  publication-title: Computer
– reference: .
– start-page: 147
  year: 2009
  end-page: 156
  ident: b23
  article-title: Algorithms for user interfaces
  publication-title: GPCE’09: Int. Conf. on Generative Programming and Component Engineering
– start-page: 79
  year: 2019
  end-page: 93
  ident: b34
  article-title: Declarative assembly of web applications from predefined concepts
  publication-title: Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
– year: 1996
  ident: b8
  article-title: MVP: Model-view-presenter: The Taligent programming model for C++ and Java
– volume: 48
  start-page: 80
  year: 2012
  end-page: 83
  ident: b14
  article-title: HotDrink: A library for web user interfaces
  publication-title: SIGPLAN Not.
– volume: 23
  start-page: 347
  year: 1997
  end-page: 365
  ident: b19
  article-title: The Amulet environment: New models for effective user interface software development
  publication-title: Softw. Eng.
– start-page: 177
  year: 2011
  end-page: 184
  ident: b24
  article-title: Helping programmers help users
  publication-title: GPCE’11: Int. Conference on Generative Programming and Component Engineering
– start-page: 137
  year: 1994
  end-page: 146
  ident: b21
  article-title: Skyblue: A multi-way local propagation constraint solver for user interface construction
  publication-title: UIST ’94: Proceedings of the 7th Annual ACM Symposium on User Interface Software and Technology
– year: 2015
  ident: b10
  article-title: KnockoutJS Web Development
– start-page: 63
  year: 2020
  end-page: 69
  ident: b4
  article-title: Manipulating GUI structures declaratively
  publication-title: Proceedings of the 19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
– reference: E. Czaplicki, The Elm Architecture, URL
– volume: 23
  start-page: 347
  issue: 6
  year: 1997
  ident: 10.1016/j.cola.2022.101175_b19
  article-title: The Amulet environment: New models for effective user interface software development
  publication-title: Softw. Eng.
  doi: 10.1109/32.601073
– volume: 44
  start-page: 24
  year: 2015
  ident: 10.1016/j.cola.2022.101175_b28
  article-title: Evaluating and comparing language workbenches: Existing results and benchmarks for the future
  publication-title: Comput. Lang. Syst. Struct.
– volume: 78
  start-page: 519
  issue: 7
  year: 2009
  ident: 10.1016/j.cola.2022.101175_b41
  article-title: A hardware independent parallel programming model
  publication-title: J. Log. Algebr. Program.
  doi: 10.1016/j.jlap.2009.06.002
– start-page: 195
  year: 1992
  ident: 10.1016/j.cola.2022.101175_b2
  article-title: Survey on user interface programming
– volume: 48
  start-page: 80
  issue: 3
  year: 2012
  ident: 10.1016/j.cola.2022.101175_b14
  article-title: HotDrink: A library for web user interfaces
  publication-title: SIGPLAN Not.
  doi: 10.1145/2480361.2371413
– volume: 13
  start-page: 1:1
  issue: 4
  year: 2014
  ident: 10.1016/j.cola.2022.101175_b38
  article-title: Specifying and solving constraints on object behavior
  publication-title: J. Object Technol.
  doi: 10.5381/jot.2014.13.4.a1
– ident: 10.1016/j.cola.2022.101175_b13
– start-page: 63
  year: 2020
  ident: 10.1016/j.cola.2022.101175_b4
  article-title: Manipulating GUI structures declaratively
– start-page: 95
  year: 1997
  ident: 10.1016/j.cola.2022.101175_b39
  article-title: Hyperedge replacement graph grammars
– year: 2005
  ident: 10.1016/j.cola.2022.101175_b7
– start-page: 6329
  year: 1964
  ident: 10.1016/j.cola.2022.101175_b18
  article-title: Sketchpad: A man-machine graphical communication system
– year: 2022
  ident: 10.1016/j.cola.2022.101175_b33
– year: 2021
  ident: 10.1016/j.cola.2022.101175_b35
– ident: 10.1016/j.cola.2022.101175_b9
– year: 2020
  ident: 10.1016/j.cola.2022.101175_b30
– ident: 10.1016/j.cola.2022.101175_b5
  doi: 10.1145/120782.120805
– year: 2021
  ident: 10.1016/j.cola.2022.101175_b31
– start-page: 229
  year: 2012
  ident: 10.1016/j.cola.2022.101175_b37
  article-title: ConstraintJS: Programming interactive behaviors for the Web by integrating constraints and states
– start-page: 177
  year: 2011
  ident: 10.1016/j.cola.2022.101175_b24
  article-title: Helping programmers help users
– ident: 10.1016/j.cola.2022.101175_b1
– start-page: 121
  year: 2015
  ident: 10.1016/j.cola.2022.101175_b15
  article-title: Generating reactive programs for graphical user interfaces from multi-way dataflow constraint systems
– volume: 23
  start-page: 71
  issue: 11
  year: 1990
  ident: 10.1016/j.cola.2022.101175_b20
  article-title: Garnet: Comprehensive support for graphical, highly interactive user interfaces
  publication-title: Computer
  doi: 10.1109/2.60882
– ident: 10.1016/j.cola.2022.101175_b42
  doi: 10.1145/2103736.2103741
– year: 1996
  ident: 10.1016/j.cola.2022.101175_b8
– year: 2020
  ident: 10.1016/j.cola.2022.101175_b32
– start-page: 79
  year: 2019
  ident: 10.1016/j.cola.2022.101175_b34
  article-title: Declarative assembly of web applications from predefined concepts
– start-page: 779
  year: 2008
  ident: 10.1016/j.cola.2022.101175_b36
  article-title: WebDSL: A domain-specific language for dynamic web applications
– volume: 18
  start-page: 30
  issue: 1
  year: 1996
  ident: 10.1016/j.cola.2022.101175_b17
  article-title: An incremental algorithm for satisfying hierarchies of multiway dataflow constraints
  publication-title: ACM Trans. Program. Lang. Syst.
  doi: 10.1145/225540.225543
– ident: 10.1016/j.cola.2022.101175_b3
– year: 2020
  ident: 10.1016/j.cola.2022.101175_b11
– year: 1999
  ident: 10.1016/j.cola.2022.101175_b25
– start-page: 147
  year: 2009
  ident: 10.1016/j.cola.2022.101175_b23
  article-title: Algorithms for user interfaces
– year: 2015
  ident: 10.1016/j.cola.2022.101175_b10
– start-page: 137
  year: 1994
  ident: 10.1016/j.cola.2022.101175_b21
  article-title: Skyblue: A multi-way local propagation constraint solver for user interface construction
– volume: 32
  start-page: 93
  issue: 2
  year: 1984
  ident: 10.1016/j.cola.2022.101175_b40
  article-title: Spacetime representations of computational structures
  publication-title: Computing
  doi: 10.1007/BF02253685
– volume: 166
  start-page: 12:1
  year: 2020
  ident: 10.1016/j.cola.2022.101175_b12
  article-title: A semantics for the essence of React
– year: 2021
  ident: 10.1016/j.cola.2022.101175_b16
– start-page: 97
  year: 2010
  ident: 10.1016/j.cola.2022.101175_b27
  article-title: Migrating a large modeling environment from XML/UML to Xtext/GMF
– year: 2016
  ident: 10.1016/j.cola.2022.101175_b29
– year: 2022
  ident: 10.1016/j.cola.2022.101175_b22
– volume: 1
  start-page: 26
  issue: 3
  year: 1988
  ident: 10.1016/j.cola.2022.101175_b6
  article-title: A cookbook for using the model-view controller user interface paradigm in smalltalk-80
  publication-title: J. Object Oriented Program.
– year: 2008
  ident: 10.1016/j.cola.2022.101175_b26
SSID ssj0002963573
Score 2.2338293
Snippet A common frustration with programming Graphical User Interfaces (GUIs) is that features for manipulating structures, such as lists and trees, are limited,...
SourceID crossref
elsevier
SourceType Index Database
Publisher
StartPage 101175
SubjectTerms Dataflow constraint systems
Declarative programming
GUI programming
Rule based systems
Separation of concerns
Title A domain-specific language for structure manipulation in constraint system-based GUIs
URI https://dx.doi.org/10.1016/j.cola.2022.101175
Volume 74
WOSCitedRecordID wos000905016500001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  customDbUrl:
  eissn: 2590-1184
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0002963573
  issn: 2590-1184
  databaseCode: AIEXJ
  dateStart: 20220201
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
– providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  customDbUrl:
  eissn: 2590-1184
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0002963573
  issn: 2590-1184
  databaseCode: AIEXJ
  dateStart: 20190201
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV07T8MwELZKy8DCG_GWB7bKqHEeTsaCeBQQYqCoW2Q7jqCFFNFS9edzjp00VIBgYInaKHYif5_O5_PnO4SOuJDgxjNGRBSkxHNTj8Bfl4jUkZ5wBGV55bmHG3Z7G_Z60V2tNi3OwkyeWZaF02n0-q9Qwz0AWx-d_QPcZadwA34D6HAF2OH6K-DbzWT4Aut9og9RaiFQGZPMJYUmYazeNtCZL4rqXc1cjq6zyULLsc3vTPQUlzQvup3RNz6stDUhyleM5tOXWtHwcGBEQNfZ-1iLKNVsE-mEv_HRo5HwDx4rko-rfBPfA1tm5Lx8MBhWgxTUrQQpclsGi6wWgbWMVzW8zKtYTidPGvqlUTfxhT5g8qwzRVF6PHv4cwbtuZmt1BsWUrZ-rPuIdR-x6WMBNSjzI7CHjXbnrHdVxudopDP1aYFC-e32zJWRB85_zNd-TcVXuV9FyxYg3DbkWEM1la2jlaKAB7b2fAN123iOK7gAEgNXcMkVXOUKfsrwjCu4yhWsubKJuudn96eXxNbZIJJG_phIznWdeZEEgiZOwqWjGPixkocwE0pKpROAqQ8TcHbdVPgtRXnLk6EvfVcyAXPCFqpnw0xtIxyIxGGJADeUpR5PhQiUm1Jo4wRKhIrvoGYxSvGrSacSfw_ODvKLgYytQ2gcvRio8UO73T-9ZQ8tzSi7j-owtOoALcrJ-Gn0dmh58QFX2IIB
linkProvider Elsevier
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+domain-specific+language+for+structure+manipulation+in+constraint+system-based+GUIs&rft.jtitle=Journal+of+computer+languages+%28Online%29&rft.au=Stokke%2C+Knut+Anders&rft.au=Barash%2C+Mikhail&rft.au=J%C3%A4rvi%2C+Jaakko&rft.date=2023-01-01&rft.issn=2590-1184&rft.volume=74&rft.spage=101175&rft_id=info:doi/10.1016%2Fj.cola.2022.101175&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_cola_2022_101175
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2590-1184&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2590-1184&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2590-1184&client=summon