Human Centered Software Product Lines

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 identifie...

Full description

Saved in:
Bibliographic Details
Main Authors Sottet, Jean-Sébastien, García Frey, Alfonso, Vanderdonckt, Jean
Format eBook
LanguageEnglish
Published Cham Springer Nature 2017
Springer International Publishing AG
Springer International Publishing
Springer
Edition1
SeriesHuman–Computer Interaction Series
Subjects
Online AccessGet full text
ISBN3319609475
9783319609478
3319609459
9783319609454
ISSN1571-5035
DOI10.1007/978-3-319-60947-8

Cover

Table of Contents:
  • Intro -- Contents -- Contributors -- 1 Engineering Configuration Graphical User Interfaces from Variability Models -- 1.1 Introduction -- 1.2 Background -- 1.2.1 Feature Modelling -- 1.2.2 User Interface Modelling and Generation -- 1.2.2.1 User Interface Description Languages -- 1.2.2.2 Feature Models and GUIs -- 1.3 The MVP Configurator Pattern -- 1.4 From Feature Models to MVP Configurators -- 1.4.1 Illustration -- 1.4.2 Variability Modelling -- 1.4.2.1 General Principles and Language -- 1.4.2.2 Addressing Plan Example -- 1.4.2.3 Widget Selection -- 1.4.3 View Definition -- 1.4.3.1 General Principles and Language -- 1.4.3.2 Addressing Plan Example -- 1.4.4 Widget Selection -- 1.4.5 Beautification -- 1.4.5.1 General Principles and Language -- 1.4.5.2 Addressing Plan Example -- 1.4.6 Putting It All Together -- 1.4.6.1 General Principle -- 1.4.6.2 Addressing Plan Example -- 1.5 Lessons Learned -- 1.6 Perspectives -- 1.6.1 Multiple Targets -- 1.6.2 Ordering Views -- 1.6.3 Re-engineering -- 1.6.4 Product Selection -- 1.6.4.1 Product Comparators -- 1.6.4.2 Knowledge-Based Recommender Systems -- 1.6.5 Recommendations -- 1.6.6 Evalution of Configuration Interfaces -- 1.7 Conclusion -- References -- 2 User Interfaces and Dynamic Software Product Lines -- 2.1 Introduction -- 2.2 Motivation -- 2.2.1 Document-Oriented GUIs -- 2.2.2 Types of Variability -- 2.3 Previous Work -- 2.3.1 Static GUI Variability -- 2.3.2 Dynamic GUI Variability -- 2.3.3 Mixed Variability -- 2.4 Challenges -- 2.4.1 Annotative and Composition Approaches -- 2.4.2 Configuration Timing -- 2.4.3 GUI State -- 2.4.4 Adaptation Isolation -- 2.4.5 Consistency -- 2.5 Variability Design and Implementation -- 2.5.1 Document Refinement -- 2.5.1.1 Refinement Ordering -- 2.5.2 Source Code Variability -- 2.6 Generating the DSPL -- 2.6.1 Static Variability -- 2.6.2 Dynamic Variability
  • 2.6.2.1 GUI Variant Generation -- 2.6.3 Source Code Generation and Transformation -- 2.6.3.1 Variant Management -- 2.6.4 Transformations -- 2.6.5 Runtime System Behaviour -- 2.7 Implementation -- 2.7.1 Tools -- 2.7.2 Android Implementations -- 2.8 Examples and Discussion -- 2.8.1 Examples -- 2.8.1.1 GUI Elements -- 2.8.1.2 GUI Element Properties -- 2.8.2 Limitations -- 2.8.2.1 Configuration Timing -- 2.8.2.2 Artefact Inconsistencies -- 2.8.3 Performance and Storage Consumption -- 2.9 Conclusions -- References -- 3 Variability Management and Assessment for User Interface Design -- 3.1 Introduction -- 3.2 Related Work -- 3.2.1 Feature Modelling -- 3.2.2 SPL Configuration -- 3.2.3 Model-Driven User Interfaces Variability -- 3.2.4 Testing Many Variants -- 3.3 UI-SPL Approach -- 3.3.1 Multi-FM Approach -- 3.3.2 Implementation: Model Transformation -- 3.4 Evaluation of Configuration: Rapid Prototyping -- 3.4.1 Step 1: Deriving All Relevant Configurations -- 3.4.2 Step 2: Variant Assessment -- 3.5 Case Study -- 3.5.1 The Contact List Example -- 3.5.2 Defining Configurations Chromosome -- 3.6 Case Study: Experimentation -- 3.7 Conclusion and Perspectives -- References -- 4 Feature-Based Elicitation of Cognitively Efficient Visualizations for SPL Configurations -- 4.1 Introduction -- 4.2 Example -- 4.3 Visualization Elicitation Method -- 4.3.1 Visualization Domain Engineering -- 4.3.1.1 Dataset FM -- 4.3.1.2 Visualization FM -- 4.3.2 Visualization Application Engineering -- 4.3.2.1 Data-Subset Configuration -- 4.3.2.2 Visualization Domain Restriction -- 4.3.2.3 Visualization Configuration -- 4.3.2.4 Data Mapping -- 4.4 Application -- 4.4.1 Visualization Domain Engineering -- 4.4.2 Visualization Application Engineering -- 4.4.2.1 Data-Subset Configuration -- 4.4.2.2 Visualization Domain Restriction -- 4.4.2.3 Visualization Configuration -- 4.4.2.4 Data Mapping
  • 4.4.3 Resulting Visualization -- 4.5 Related Work -- 4.6 Conclusions -- References -- 5 Addressing Context-Awareness in User Interface Software Product Lines (UI-SPL) Approaches -- 5.1 IntroductionPlease check if identified section head levels are okay. -- 5.2 UI-SPL Approaches -- 5.3 Context Awareness in UI-SPL Approaches -- 5.3.1 Context Consideration at the Design Phase -- 5.3.2 Context Consideration at Run-Time -- 5.4 A Reference Schema for Context-Aware Adaptation -- 5.4.1 Design Elements -- 5.4.2 Transformations -- 5.4.3 Actors -- 5.5 Illustrative Case Study -- 5.5.1 The Development Process (Design Phase) -- 5.5.2 The Runtime Adaptation Mechanism -- 5.6 Conclusion -- References