Abstract:
In order to address the problem that existing user interface(UI) pattern languages are unable to provide effective structuralized support for the pattern-based UI development caused by the lack of accurate descriptions of relationships between UI patterns on a high level of abstraction, a UI pattern language is presented based on category theory in line with the hierarchical structural features of UI pattern collections. Firstly, UI patterns and their relationships were defined by objects and morphisms to obtain a UI pattern category; then hierarchies of UI pattern collections and their relationships were defined by subcategories and functors; and finally, relationships between the hierarchical relationships of UI pattern collections were defined by natural transformations to describe the relationships of UI pattern collections on a higher level of abstraction. Experimental results show that the proposed UI pattern language can be closely integrated into the development process to effectively support the developers for their understanding, querying and reusing of the UI patterns.