A4 Vertaisarvioitu artikkeli konferenssijulkaisussa

Manipulating GUI Structures Declaratively




TekijätKnut Anders Stokke, Mikhail Barash, Jaakko Järvi

ToimittajaMartin Erwig, Jeff Gray

Konferenssin vakiintunut nimiACM SIGPLAN International Conference on Generative Programming

KustantajaAssociation for Computing Machinery

Julkaisuvuosi2020

Kokoomateoksen nimiGPCE 2020: Proceedings of the 19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences

Aloitussivu63

Lopetussivu69

ISBN978-1-4503-8174-1

DOIhttps://doi.org/10.1145/3425898.3426956

Verkko-osoitehttps://doi.org/10.1145/3425898.3426956

Rinnakkaistallenteen osoitehttps://research.utu.fi/converis/portal/detail/Publication/50581836


Tiivistelmä
GUIs often contain structures that are incidental, not properly manipulatable through well-defined APIs. For example, modifying a list of items in a GUI's model may require extraneous bookkeeping operations in the view, such as adding and removing event handlers, and updating the menu structure. Observing GUIs in practice gives an indication that programmers may find it difficult or tedious to implement complete and convenient sets of operations for manipulating various structures: useful operations for adding, inserting, swapping, or reordering elements are often missing, inconsistent, or limited. This paper introduces a DSL for programming operations that manipulate such incidental structures. The programmer specifies structures via relations between elements, concretely by defining methods that unestablish and establish a relation. This gives the programmer an ability to describe structural transformations via rules that control which relations should hold before and after a rule is applied. The API for structure manipulation is generated from these rules. Our DSL can give an abstract view on ad-hoc structures, making it easier to provide the necessary set of operations for their convenient manipulation.

Ladattava julkaisu

This is an electronic reprint of the original article.
This reprint may differ from the original in pagination and typographic detail. Please cite the original version.





Last updated on 2024-26-11 at 19:41