APMDWE 2018 Abstracts

Full Papers
Paper Nr: 1

A Benchmark for the Short Version of the User Experience Questionnaire


Andreas Hinderks, Martin Schrepp and Jörg Thomaschewski

Abstract: To enable an interactive product to provide adequate user experience (UX), it is important to ensure the quantitative measurability of this parameter. The User Experience Questionnaire (UEQ) is a well-known and popular method for such a UX measurement. One of the key features of this questionnaire is a benchmark that helps to interpret measurement results by a comparison with a large dataset of results obtained for other products. For situations where filling out the entire UEQ is too time-consuming, there is a short version (UEQ-S). However, there is currently no sufficient data available to construct an independent and interpretable benchmark for this short version. This paper examines the efficiency of using a modified version of the existing benchmark of the full UEQ for this purpose. The paper also presents some additional evaluation results concerning the UEQ-S.

Paper Nr: 6

Hypermedia: The Key to RESTful Web Applications


Patrick B. M. Müller, Tobias Fertig, Henry Vu and Peter Braun

Abstract: Implementing the hypermedia constraint for RESTful Systems is a challenging task for most developers. This is due to the lack of information about how to implement hypermedia on the client-side correctly. Therefore, new tools are required to support developers with the implementation of the hypermedia constraint. We propose a model-driven approach that allows developers to define a RESTful System as a finite-state machine: states represent resources and transitions represent hypermedia links. We present a metamodel that our generator can process to generate Polymer Web Applications. These web applications fulfill all REST constraints defined by Fielding. Therefore, developers do not have to implement the hypermedia constraint themselves. Our approach simplifies the development of RESTful Web Applications and reduces the development efforts. Moreover, we describe how RESTful Web Applications can be derived from finite-state machines.

Short Papers
Paper Nr: 2

Applying Variability Management in the Development of a Complex SaaS System: Real Experience and Findings


Leticia González Folgueira, Oscar Pedreira, Ángeles Saavedra Places and Fernando Silva-Coira

Abstract: In this work, we present the complex problem of the variability that has a SaaS application for Home Care System that we have developed. We detail how was the management of this variability that was increasing as the number of clients grew (currently more than 130 companies use our application of Home Care Service in different municipalities). Thanks to the fact that the different needs of these companies and municipalities were managed from the beginning as points of variability, we were able to undertake the development of variations in the functionalities of the developed software. We also present the variability management tool that we have developed to give autonomy to the platform's marketing team. Finally, we highlight the lessons learned and present an approach to evaluating the cost of managing variability.

Paper Nr: 3

Leveraging Conceptual Data Models for Keeping Cassandra Database Integrity


Pablo Suárez-Otero, Maria José Suárez-Cabal and Javier Tuya

Abstract: The use of NoSQL databases has recently been increasing, being Cassandra one of the most popular ones. In Cassandra, each table is created to satisfy one query, so, as the same information could be retrieved by several queries, this information may be found in several distinct tables. However, the lack of mechanisms to ensure the integrity of the data means that the integrity could be broken after a modification of data. In this paper, we propose a method for keeping the integrity of the data by using a conceptual model that is directly connected to the logical model that represents the Cassandra tables. Our proposal aims to keep the data integrity automatically by providing a process that will undertake such maintenance when there is a modification of the data in the database. The conceptual model will be used to identify the tables that could have inconsistencies and also assist in resolving them. We also apply this approach to a case study where, given several insertions of tuples in the conceptual model, we determine what is needed to keep the logical integrity.

Paper Nr: 5

Automation of Integration Testing of RESTful Hypermedia Systems: A Model-driven Approach


Henry Vu, Tobias Fertig and Peter Braun

Abstract: The proper design of Representational State Transfer (REST) APIs is not trivial because developers have to deal with a flood of recommendations and best practices, especially the proper application of the hypermedia constraint requires some decent experience. Furthermore, testing RESTful APIs is a missing topic within literature. Especially hypermedia testing is not mentioned at all. Manual hypermedia testing is time-consuming and hard to maintain. Testing a hypermedia API requires many test cases that have similar structure, especially when different user roles and error cases are considered. In order to tackle this problem, we proposed a Model-driven Testing (MDT) approach for hypermedia systems using the metamodel within our existing Model Driven Software Development (MDSD) approach. This work discusses challenges and results of hypermedia testing for RESTful APIs using MDT techniques that were discovered within our research. MDT allows white-box testing, hence covering complete program structure and behavior of the generated application. By doing this, we are able to achieve a high automated test coverage. Moreover, any runtime behavior deviated from the metamodel reveals bugs within the generators.

Paper Nr: 7

Extending OpenAPI 3.0 to Build Web Services from their Specification


David Sferruzza, Jérôme Rocheteau, Christian Attiogbé and Arnaud Lanoix

Abstract: Web services are meant to be used by other programs. Developers (or other programs) need to understand how to interact with them, which means documentation is crucial. Some standards like OpenAPI define ways to document web services and target both humans and programs. Many tools can be used to help developers to work in a forward engineering process: they use hand-written OpenAPI models as input and automatically generate a skeleton of a working application, for example. However, this approach is not suitable to generate working applications if several evolutions occur over time, which often results in a misalignment between the OpenAPI model and the web services implementation. Here we show how we extend the OpenAPI 3.0 specification to allow building actual web services using a Model-Driven Engineering (MDE) approach. We extend the SWSG tool to make it possible to generate code from an extended OpenAPI model. This leverages a MDE approach to build web services from a model while benefiting from OpenAPI 3.0 tooling and ecosystem.