Home // ADAPTIVE 2017, The Ninth International Conference on Adaptive and Self-Adaptive Systems and Applications // View article


Design Patterns for Addition of Adaptive Behavior in 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 and used in a GUI application case study. This case study shows concrete usage of the patterns and is 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.

Pages: 8 to 15

Copyright: Copyright (c) IARIA, 2017

Publication date: February 19, 2017

Published in: conference

ISSN: 2308-4146

ISBN: 978-1-61208-532-6

Location: Athens, Greece

Dates: from February 19, 2017 to February 23, 2017