Skip to main content

Über dieses Buch

This book takes a unique HCI approach to the concept of Software Product Line (SPL) and discusses the peculiarities of human-computer interaction not usually addressed in more traditional approaches.

SPL is based on industrial practices for defining a range of software products. SPL design identifies commonalities and differences between the various software versions, modelling and managing the software variability. Recent research has focused on reconciling the different viewpoints of SPL and HCI, and in particular emphasizing the specific variability of HCI and the management of complex SPL models that could benefit from HCI in terms of representation, manipulation and visualization.

This edited volume includes research that addresses the SPL for HCI and HCI for SPL. In putting together these two research streams, the groundwork is laid for future research into this important area. Both the HCI and the software engineering communities will find this book an invaluable resource.



Chapter 1. Engineering Configuration Graphical User Interfaces from Variability Models

In the past, companies produced large amounts of products through mass production lines. Advantages of such an approach are reduced production costs and time-to-market. While it is (still) appropriate for some goods like food or household items, customer preferences evolve to customised products. In a more and more competitive environment, product customisation is taken to the extreme by companies in order to gain market share. Companies provide customisation tools, more commonly called product configurators, to assist their staff and customers in deciding upon the characteristics of the product to be delivered.
Our experience reveals that some existing configurators are implemented in an ad-hoc fashion. This is especially cumbersome when numerous and non-trivial constraints have to be dealt with. For instance, we have observed in two industrial cases that relationships between configuration options are hard-coded and mixed with GUI code. As constraints are scattered in the source code, severe maintenance issues occur.
In this chapter, we present a pragmatic and model-driven way to generate configuration GUIs. We rely on feature models to represent and reason about the configuration options and their complex relationships. Once feature models have been elaborated, there is still a need to produce a GUI, including the integration with underlying reasoning mechanisms to control and update the GUI elements. We present a model-view-presenter architecture to design configurators, which separates concerns between a feature model (configuration option modelling), its associated solver (automated reasoning support) and the presentation of the GUI. To fill the gap between feature models and configuration GUIs, the various constructs of the feature model formalism are rendered as GUI elements through model transformations. Those transformations can be parametrised through beautification and view languages to derive specific configuration GUIs. We illustrate our approach on an IPv6 addressing plan configurator.
Quentin Boucher, Gilles Perrouin, Jean-Marc Davril, Patrick Heymans

Chapter 2. User Interfaces and Dynamic Software Product Lines

In the modern world of mobile computing and ubiquitous technology, society can interact with technology in new and fascinating ways. To help provide an improved user experience, mobile software should be able to adapt itself to suit the user. By monitoring context information based on the environment and user, the application can better meet the dynamic requirements of the user. Similarly, it is noticeable that programs can require different static changes to suit static requirements. This program commonality and variability can benefit from the use of Software Product Line Engineering, reusing artefacts over a set of similar programs, called a Software Product Line (SPL). Historically, SPLs are limited to handling static compile time adaptations. Dynamic Software Product Lines (DSPL) however, allow for the program configuration to change at runtime, allow for compile time and runtime adaptation to be developed in a single unified approach. While currently DSPLs provide methods for dealing with program logic adaptations, variability in the Graphical User Interface (GUI) has largely been neglected. Due to this, depending on the intended time to apply GUI adaptation, different approaches are required. The main goal of this work is to extend a unified representation of variability to the GUI, whereby GUI adaptation can be applied at compile time and at runtime. In this chapter, we introduce an approach to handling GUI adaptation within DSPLs, which provides a unified representation of GUI variability.
Dean Kramer, Samia Oussena

Chapter 3. Variability Management and Assessment for User Interface Design

User Interface (UI) design remains an open, wicked, complex and multi-faceted problem, owing to the ever increasing variability of design options resulting from multiple contexts of use, i.e., various end-users, heterogeneous devices and computing platforms, as well as their varying environments. Designing multiple UIs for multiple contexts of use inevitably requires an ever growing amount of time and resources that not all organizations are able to afford. Moreover, UI design choices stand on end-users’ needs elicitation, which are recognized to be difficult to evaluate precisely upfront and which require iterative design cycles. All this complex variability should be managed efficiently to maintain time and resources to an acceptable level. To address these challenges, this article proposes a variability management approach integrated into a UI rapid prototyping process, which involves the combination of Model-Driven Engineering, Software Product Lines and Interactive Genetic Algorithms.
Jabier Martinez, Jean-Sébastien Sottet, Alfonso García Frey, Tewfik Ziadi, Tegawendé Bissyandé, Jean Vanderdonckt, Jacques Klein, Yves Le Traon

Chapter 4. Feature-Based Elicitation of Cognitively Efficient Visualizations for SPL Configurations

Configuring a SPL is a cognitively difficult activity that requires a deep understanding of the features and their constraints to be performed effectively. To this end, SPL configurators have been equipped with various visualizations to assist users in their tasks. However, there are many ways to visualize data: the process of associating an efficient visualization to a given (configuration) task is neither well-understood nor systematically applied, resulting in confusing visualizations yielding configuration errors. In this chapter, we offer such a process, based on theories of the visualization community for data representation. The first step consists in choosing the data to be visualized. This selection induces restrictions on the types of visualization that are then computed based on the data characteristics and best practices from semiology and visual languages. Designers can then select an efficient visualization for the intended task. Our process is supported by feature models and FAMILIAR to merge and constrain the set of applicable visualizations.
Céline Sauvage-Thomase, Nicolas Biri, Gilles Perrouin, Nicolas Genon, Patrick Heymans

Chapter 5. Addressing Context-Awareness in User Interface Software Product Lines (UI-SPL) Approaches

The development of context aware UIs has become a major requirement to ensure their efficiency and improve their usability, thus inducing many variations of the same UI depending on the constraints imposed by the context of use. To address this challenge, many works decided to rely on the Software Product Line Engineering (SPLE) paradigm. Software product lines (SPLs) were widely used due to their advantages, such as, but not limited to: the reuse of shared artifacts, the generation of specific products from shared artifacts, the reduction in time, effort and cost of development. Others works have relied on Dynamic Software Product Line (DSPL) approaches to develop a family of adaptive UIs. The DSPL exploits the knowledge acquired in SPLE to develop systems that can be context-aware, post-deployment reconfigurable, or adaptable at run-time. In order to address the challenge of context awareness, this paper presents an overview of UI-(D)SPL approaches which specifically focus on context-aware adaptation of user interfaces.
Thouraya Sboui, Mounir Ben Ayed, Adel M. Alimi
Weitere Informationen

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.



Globales Erdungssystem in urbanen Kabelnetzen

Bedingt durch die Altersstruktur vieler Kabelverteilnetze mit der damit verbundenen verminderten Isolationsfestigkeit oder durch fortschreitenden Kabelausbau ist es immer häufiger erforderlich, anstelle der Resonanz-Sternpunktserdung alternative Konzepte für die Sternpunktsbehandlung umzusetzen. Die damit verbundenen Fehlerortungskonzepte bzw. die Erhöhung der Restströme im Erdschlussfall führen jedoch aufgrund der hohen Fehlerströme zu neuen Anforderungen an die Erdungs- und Fehlerstromrückleitungs-Systeme. Lesen Sie hier über die Auswirkung von leitfähigen Strukturen auf die Stromaufteilung sowie die Potentialverhältnisse in urbanen Kabelnetzen bei stromstarken Erdschlüssen. Jetzt gratis downloaden!