Home // International Journal On Advances in Intelligent Systems, volume 10, numbers 3 and 4, 2017 // View article


Design Patterns for Gradual Composition of Adaptive Graphical User Interfaces

Authors:
Samuel Longchamps
Ruben Gonzalez-Rubio

Keywords: adaptive; design pattern; graphical user interface; context; library.

Abstract:
Graphical user interfaces (GUI) in modern software are increasingly required to adapt themselves to various situations and users, rendering their development more complex. To handle complexity, we present in this paper three design patterns, Monitor, Proxy router and Adaptive component, as solutions to the gradual implementation of adaptive behavior in GUI and general component-based software. Rather than proposing new adaptation mechanisms, we aim at formalizing a basic structure for progressive addition of different mechanisms throughout the development cycle. To do so, previous work on the subject of design patterns oriented toward adaptation is explored and concepts related to similar concerns are extracted and generalized in the new patterns. These patterns are implemented in a reference Python library called AdaptivePy, which is used to provide practical examples of their applications. Also, a GUI application case study is presented and compared to a functionally equivalent ad hoc implementation. We observe that separation of concerns is promoted by the patterns and testability potential is improved. Moreover, adaptation of widgets can be previewed within a graphical editor. This approach is closer to the standard workflow for GUI development, which is not possible with the ad hoc solution. Because the patterns suit any components-based software, they can be applied together or individually in different applications to solve specific adaptation challenges.

Pages: 300 to 313

Copyright: Copyright (c) to authors, 2017. Used with permission.

Publication date: December 31, 2017

Published in: journal

ISSN: 1942-2679