A Unified Pattern Specification Formalism to Support User Interface Generation
- 2.3k Downloads
The development of interactive software typically requires the combined skills of software developers, HCI, platform and marketing specialists in order to create applications with good software quality, usability, and user experience. The combination of model-based user interface development practices with pattern-based approaches that specify HCI- and software-patterns in a formalized way and respect emerging standards, has the potential to facilitate and automate the software development process, reduce development costs, and provide solutions that can easily be adapted to varying contexts of use. To satisfy these goals we have developed a framework for Pattern-based Modeling and Generation of Interactive Systems (PaMGIS). The paper at hand describes the topical version of the PaMGIS Pattern Specification Language (PPSL) which is designed to accomplish both, capturing all information required to support model-based user interface generation and offering the highest level of compatibility to existing pattern description languages.
KeywordsModel-based user interface development Pattern-based development User interface modeling User interface generation HCI patterns Formal pattern specification
However, the construction of the required models is a time-consuming and error-prone task. Hence, our combined user interface development approach uses patterns as means to alleviate the complexity of the model-driven design and transformation process. The basic idea is to equip patterns with pre-assembled model fragments which can be used as building blocks for the construction of the domain and UI models. In addition, certain patterns could also provide valuable input for the various model transformation steps as highlighted in (Fig. 1).
For this purpose, we have developed the pattern specification language PPSL which allows us both, to particularize patterns in a formal and machine-readable way and to coevally incorporate any kind of information required to support the PaMGIS model-driven mechanisms. Beyond that, the design of PPSL was driven by two further major requirements. On the one hand, we aimed at the possibility to easily adopt already existing patterns from popular and well-accepted sources, such as the pattern collections of van Duyne , Tidwell , and van Welie . On the other hand, we intended to raise the acceptability of PPSL by offering the highest level of compatibility to existing pattern description languages, i.e. the Pattern Language Markup Language (PLML) 1.1 , PLML 1.2 , and the Extended Pattern Language Markup Language (PLMLx) . We also considered the Pattern and Component Markup Language (PCML)  and the Task Pattern Markup Language (TPML) . However, these two languages are not elaborated within the paper at hand due to space restrictions. They can be translated to PPSL in an analogous manner.
We already have demonstrated in  that patterns from [4, 11, 12] can be mapped to PLML 1.1 in at least in a semi-automatic manner. Therefore, we now emphasize on the aforementioned pattern description languages and how respective pattern definitions can be translated into PPSL-based specifications.
2 Existing Pattern Description Languages
Within the context of the CHI 2003 Conference on Human Factors in Computing Systems a workshop was held named Perspectives on HCI Patterns: Concepts and Tools. One of the goals was the definition of a uniform description language for Human-Computer Interaction (HCI) patterns. Result was the XML-compliant Pattern Language Markup Language (PLML) version 1.1 which was intended to standardize pattern specifications and hence allow automatic pattern processing by means of standardized tools. PLML comprises several description elements resp. attributes, which are listed in Table 5 . Brief descriptions can be found in Sect. 3.
PLML 1.2 is a further improved refinement of PLML 1.1 and was defined in 2006 within the context of the implementation of a pattern tool called Management of User Interface Patterns (MUIP). Major changes have been made in terms of the PLML 1.1 elements <forces>, <examples>, and <management>. Here, <forces> consists of a sub-element <force> which allows to specify particular influence factors separately and hence make them individually searchable and reusable. The same applies to the <example> element. In addition, individual examples are structured by means of the sub-elements <example-name>, <example-diagram>, <description>, and <known-uses>. The <management> element is enriched by the additional <change-log> sub-element which, in turn, is composed of <log-creation-date> and <log-content>. The entirety of amendments in PLML 1.2 compared to PLML 1.1 is illustrated in (Table 6) .
The primary goal of PLMLx is to describe patterns in a presentable, human- and machine-readable article-like format. Like PLML 1.2, PLMLx is based on PLML 1.1. PLMLx introduced three anew description elements, i.e. <acknowledgements>, <resulting-context>, and <organization>. Here, <acknowledgements> provides information on persons who were involved in the definition of the pattern and <resulting-context> contains a description of the context which is effective after the application of the pattern. This might include one or more new problems that need to be resolved. The <organization> element is intended to hold pattern-related metadata and comprises of three sub-elements, i.e. <category>, <collection> und <classification>. Additionally, the <management> element was supplemented by three further sub-elements, i.e. <copyright>, <license>, and <change-log>. The complete list of differences between PLMLx and PLML 1.1 can be found in (Table 7).
3 Introduction of the PaMGIS Pattern Specification Language
In order to appropriately support the modeling and UI generation process the patterns are described according to a particular markup language named PaMGIS Pattern Specification Language (PPSL). It incorporates the original expressiveness of PLML 1.1 and remedies some of PLML’s inherent weaknesses, notably in terms of pattern relation modeling and provision of details required for automated pattern processing . In addition, PPSL is designed to allow straight forward mapping of patterns defined in existing description formats, i.e. PLML 1.1, PLML 1.2, PLMLx, PCML, and TPML. According to our terminology, the current version is called PPSL 3.0.
Generally, PPSL pattern specifications are structured by means of four top level description elements, i.e. <Head>, <Body>, <Relationship>, and <Deployment>.
PPSL description elements within the top level element < Body>
PPSL description elements within the top level element < Relationship>
Finally, the <Deployment> top level element is a further development of the PLML 1.1 element <Implementation> and incorporates, amongst others, the information required for automatic processing and model construction within the PaMGIS framework.
PPSL description elements within the top level element < Deployment>
4 Mapping Existing Pattern Description Languages to PPSL
Mapping of PLML 1.1 to PPSL
Mapping of PLML 1.2 PPSL (differences of PLML 1.2 compared to PLML 1.1)
Mapping of PLMLx to PPSL (differences of PLMLx compared to PLML 1.1)
Due to lack of space we do not elaborate on the relationship between PCML resp. TPML and PPSL. However, the mapping is feasible analogously in both cases.
5 Conclusion and Outlook
Within the present paper we introduced the topical version of the PaMGIS Pattern Specification Language (PPSL). On the one hand, it is designed to equip patterns with all information required to use them as building blocks for model construction in the context of the PaMGIS framework. On the other hand, PPSL strives for best possible compatibility to existing pattern description languages in order to enable the reutilization of already available patterns without major efforts. To this effect, we demonstrated how PLML 1.1, PLML 1.2, and PLMLx can be mapped to PPSL. Mapping of PCML and TPML is also possible, but not elaborated in the paper due to space limits.
To fulfill the aforementioned requirements PPSL consists of a multitude of description elements. In order to preserve manageability of the pattern specifications we semantically grouped them into the four top level elements <Head>, <Body>, <Relationship>, and <Deployment>. In addition, the patterns are created, managed, retrieved, and applied with the aid of a set of tools included in the PaMGIS framework.
Our upcoming activities will target on the augmentation of our pattern repository. For this, we will focus on both, the translation and enrichment of existing patterns and the development of new domain-specific patterns, e.g. for electronic vending and commerce. Further, we intend to intensify our research on how results of usability activities, e.g. user testing, can be exploited to improve the quality of our patterns and hence also of the user interfaces being generated by PaMGIS. As a consequence, this will entail more substance and structure of the PPSL description element <Body> <Practice> <UsabilityFeedback>.
- 1.Bienhaus, D.: PLMLx Doc (2004). http://www.cs.kent.ac.uk/people/staff/saf/patterns/plml.html. Accessed 6 Jan 2016
- 2.Calvary, G., et al.: The CAMELEON reference framework. Document D1.1 of the CAMELEON R&D Project IST-2000-30104 (2002)Google Scholar
- 3.Deng, J., et al.: Focusing on a standard pattern form: the development and evaluation of MUIP. In: Proceedings of the 6th ACM SIGCHI New Zealand Chapter’s International Conference on Computer-Human Interaction: Design Centered HCI (2006)Google Scholar
- 4.van Duyne, D., et al.: The Design of Sites: Patterns for Creating Winning Websites, 2nd edn. Prentice Hall International, Upper Saddle River (2006). ISBN 0-13-134555-9Google Scholar
- 5.Engel, J., et al.: Exploiting HCI pattern collections for user interface generation. In: Proceedings of Patterns 2012 (Nice, France), IARIA 2012, pp. 36–44 (2012)Google Scholar
- 6.Engel, J., et al.: Pattern-based modeling and development of interactive information systems. In: Frotschnig, A., Raffaseder, H. (eds.) Forum Medientechnik – Next Generation, New Ideas, pp. 155–167. vwh Hülsbusch, Glückstadt (2012)Google Scholar
- 7.Fincher, S., et al.: Perspectives on HCI patterns: concepts and tools (introducing PLML). In: CHI 2003 Workshop Report (2003)Google Scholar
- 8.Märtin, C., Herdin, C., Engel, J.: Patterns and models for automated user interface construction – in search of the missing links. In: Kurosu, M. (ed.) HCII/HCI 2013, Part I. LNCS, vol. 8004, pp. 401–410. Springer, Heidelberg (2013)Google Scholar
- 9.ObjectVenture Inc.: Pattern and Component Markup Language (PCML), Draft 3 (2002). http://www.cryer.co.uk/glossary/p/pcml/PCMLSpecification.pdf. Accessed 6 Jan 2016
- 10.Sinnig, D.: The complicity of patterns and model-based UI development. Master thesis, Concordia University, Montreal, Québec, Canada (2004)Google Scholar
- 11.Tidwell, J.: Designing Interfaces: Patterns for Effective Interaction Design, 2nd edn. O’Reilly Media Inc., Sebastopol (2011). ISBN 978-1-449-37970-4Google Scholar
- 12.van Welie, M.: Patterns in Interaction Design. http://www.welie.com. Accessed 6 Jan 2016