• Keine Ergebnisse gefunden

Model-driven development of platform-independent mobile applications supporting role-based app variability

N/A
N/A
Protected

Academic year: 2022

Aktie "Model-driven development of platform-independent mobile applications supporting role-based app variability"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Jens Knoop, Uwe Zdun (Hrsg.): Software Engineering 2016, Lecture Notes in Informatics (LNI), Gesellschaft f¨ur Informatik, Bonn 2016 99

Model-Driven Development of Platform-Independent

Mobile Applications Supporting Role-based App Variability

Steffen Vaupel1, Gabriele Taentzer1, Ren¨ı Gerlach2, Michael Guckert2

Abstract:The use of mobile applications has become an indispensable part of human interaction and especially of urban life. This will lead to rapidly increasing numbers of applications and users that make the development of mobile applications to one of the most promising fields in software engineering. Due to short time-to-market, differing platforms and fast emerging technologies, mo- bile application development faces typical challenges where model-driven development (MDD) can help. We present a modeling language and an infrastructure for the model-driven development of native apps in Android and iOS. Our approach allows flexible app development on different ab- straction levels: compact modeling of standard app elements such as standard data management and increasingly detailed modeling of individual elements to cover specific behavior. Moreover, a kind of variability modeling is supported such that apps variants for a range of user roles can be devel- oped. Several apps including a mobile learning app, a conference app, and a museum guide with augmented reality functionality demonstrate the usefulness of our approach.

Keywords:mobile application, model-driven software development, variability

1 Introduction

An infrastructure for model-driven development (MDD) has a high potential for accelerat- ing the development of software applications. While just modeling the application-specific data structures, processes and layouts, runnable software systems can be generated. Hence, MDD does not concentrate on technical details but lifts software development to a higher abstraction level. The heart and soul of MDD is the domain-specific modeling language. It comes along with a tool environment consisting of textual or visual model editors and ap- propriate code generators for the desired target platforms (as, e.g., Android and iOS). For the development of our MDD infrastructure, we have chosen an agilebottom-upprocess [VSRT15], starting with a domain analysis and feature identification of mobile applica- tions, template extraction from re-implemented prototypes, and iterative language exten- sion.

2 Domain and approach

Mobile apps are developed for diverse purposes – from mere entertainment to serious business applications. While focusing mainly on data-oriented business apps, our approach allows to enrich them by entertainment and educational elements, or sensor and external hardware access. A particular case is using the built-in camera to recognize objects and

This work was partially funded by LOEWE HA (State Offensive for the Development of Scientific and Eco- nomic Excellence) project no. 355/12-45: PIMAR – Platform Independent Mobile Augmented Reality.

1Philipps-Universit¨ıt Marburg, Hans Meerwein Stra¨ıe 1, 35032 Marburg, Germany, {svaupel, taentzer}@informatik.uni-marburg.de

2KITE - Kompetenzzentrum f¨ır Informationstechnologie, Technische Hochschule Mittelhessen, Wilhelm- Leuschner-Stra¨ıe 13, 61169 Friedberg, Germany,{rene.gerlach, michael.guckert}@mnd.thm.de

(2)

100 Steffen Vaupel et al.

augment the live view with different types of virtual objects, which is called augmented reality (AR) [GMG+15]. This feature is useful for industry applications as well as for apps in education and tourism sectors.

Fig. 1: Cross-platform generation of role-based apps Although there are already ap-

proaches to model-driven devel- opment of mobile apps such as MD2 [HMK13], our contribution differs considerably in design and purpose of the language. Our approach focuses on data-driven apps with role-based variants (Fig- ure 1). The entire approach has three user roles: app developers who create the application,provid-

ing userswho may configure the application, and finallyend usersof the app.

3 Modeling language, MDD infrastructure, and case studies

The general approach to the modeling language is component-based. Anapp modelcon- sists of a data model defining the underlying class structure, a GUI model containing the definition of pages and style settings for the graphical user interface, and aprocess modelwhich defines the behavioral facilities of an app in the form of processes and tasks.

Provider modelsare instances of app models.

The Eclipse-based MDD infrastructure provides a visual model editor (including val- idation rules) and contains two code generators. In addition to the work presented in [VTH+14] and [PIMAR], the MDD infrastructure has been evaluated at five differently focused case studies showing the applicability and usefulness of the approach. Team mem- bers and students have created aconference appfor the MoDELS’14 conference with con- ference organizers and participants as user roles, alearning appwith teachers and learners as user roles, a museum guide including AR-functionality with museum providers and visitors as user roles, a control app for power sockets (SmartPlug), and aTV-Reminder.

References

[GMG+15] Guckert, Michael; Malerczyk, Cornelius; Gerlach, Ren´e; Taentzer, Gabriele; Vaupel, Steffen; Fatum, Michael: Plattformunabh¨angige Entwicklung mobiler Anwendungen mit Augmented Reality-Funktionalit¨at. Anwendungen und Konzepte der Wirtschaftsin- formatik, (3):5, 2015.

[HMK13] Heitk¨otter, Henning; Majchrzak, Tim A.; Kuchen, Herbert: Cross-Platform Model- Driven Development of Mobile Applications with MD2. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing. ACM, pp. 526 – 533, 2013.

[PIMAR] PIMAR: Platform-Inpendent Development of Mobile Apps with Augmented Reality.

http://www.uni-marburg.de/fb12/swt/forschung/software/pimar/, 2015.

[VTH+14] Vaupel, Steffen; Taentzer, Gabriele; Harries, Jan Peer; Stroh, Raphael; Gerlach, Ren´e;

Guckert, Michael: Model-driven development of mobile applications allowing role- driven variants. In: Model-Driven Engineering Languages and Systems, pp. 1 – 17, LNCS 8767. Springer, 2014.

[VSRT15] Vaupel, Steffen; Str¨uber, Daniel; Rieger, Felix; Taentzer, Gabriele: Agile bottom-up development of domain-specific IDEs for model-driven development. In: Proceedings of FlexMDE 2015: Workshop on Flexible Model-Driven Engineering, pp. 12 – 21, Vol.

1470. CEUR-WS.org, 2015.

Referenzen

ÄHNLICHE DOKUMENTE

Here we present a simple data model-driven approach for web application development that is based on RDF data model, the basic semantic Web data model, and its reasoning

Round-trip engineering (RTE) [Ant07, Aßm03, VPDMD05] is a model-driven software development methodology that combines forward engineering (model-to-code transformations) with

In this case the hardware structures, or more precisely multiprocessor system in our case, have a major impact on the quality of how the robot acts. Does the movement of the six

A runtime environment for multimodal (mobile) service consumption con- sisting of a lightweight (mobile) client and a dialogue system that acts as a middleware between the user and

The center of the figure sketches our extensions for integrating both tools: a decision structure repository stores decision related application-generic de- sign model changes;

Section 2 demonstrates our model-driven methodology used in combination with a model- to-model transformation language called “Solverational” to develop context aware user

Based on (1) the OMEGA modeling environment (section 4.2), the following subsections relate the requirements outlined in the previous section to existing tool support, also for

In our conference management example, however, we have a direct correspondence between actors and access control roles, i.e., we have the roles Chair, Author and Reviewer.. Figure