Automated user interface engineering with a pattern reflecting programming language - Savidis, Anthony; Stephanidis, Constantine (Automated software engineering, 2006)
The development of the user interface concerns all aspects of a software system that are targeted to the interactive delivery of its functionality and data. Today, user interface development accounts for a large proportion of the overall software implementation, while the programming process involves various recurring software patterns. Based on the identification of key commonly occurring user interface programming patterns, we have designed and implemented a user interface programming language with built-in constructs to directly support those software patterns, offering declarative programming features such as: precondition-based actions, unidirectional constraints and data-content monitors. Initially, we introduce the deployment syntax and semantics of the novel programming elements, relying upon subject interaction scenarios. Then we reveal the most demanding implementation aspects of the code generator and the respective run-time library.