title: Model-Driven Software Development
title: Cross-Platform App Development and Further Applications of Domain-Specific Languages
titleType: Subtitle
Creators: name: Rieger, Christoph
Publisher: name: University of Muenster, Institutional Repository MIAMI
Year: 2020
Subjects: subject: 004 Computer science

description: Smartphones have become ubiquitous devices and the ecosystem of mobile apps continues to thrive. This trend is amplified by the emergence of new mobile or wearable devices and further devices such as smart TVs have also become app-enabled. However, platform-specific functionality and user interface guidelines require repetitive implementations to reach a large number of users. Cross-platform approaches set out to reduce the development effort but are usually restricted to smartphones and tablets. The dissertation overcomes these limitations by analysing the challenges of app-enabled devices, categorising device classes, and assessing the applicability of current cross-platform approaches. Because the model-driven paradigm is particularly suited to solve the issues of pluri-platform development, the MAML framework is proposed as graphical domain-specific language (DSL) to facilitate the creation of business apps for a diverse audience of technical users and domain experts. In addition, the design of DSLs is scrutinised to ease language development by considering the perspectives of modularisation, preprocessing, and cross-cutting concerns.
description: Smartphones sind aus dem Alltag nicht mehr wegzudenken und das Ökosystem mobiler Apps wächst kontinuierlich. Dieser Trend wird durch das Aufkommen neuer mobiler Geräte oder Wearables verstärkt und auch weitere Geräte wie Smart-TVs sind appfähig geworden. Allerdings erfordern plattformspezifische Funktionalität und Richtlinien für Benutzeroberflächen mehrfache Implementierungen, um eine große Anzahl von Nutzern zu erreichen. Plattformübergreifende Ansätze versuchen den Entwicklungsaufwand zu verringern, sind jedoch in der Regel auf Smartphones und Tablets beschränkt. Die Dissertation erweitert diesen Anwendungsbereich, indem sie die Herausforderungen von appfähigen Geräten analysiert, Geräteklassen kategorisiert und die Anwendbarkeit aktueller Cross-Plattform-Ansätze bewertet. Weil das modellgetriebene Paradigma besonders geeignet ist, die Probleme von Pluri-Plattform-Entwicklung zu lösen, wird das MAML-Framework als grafische domänenspezifische Sprache (DSL) vorgestellt, um die Erstellung von Business Apps für ein breites Publikum technisch versierter Entwickler und Fachexperten zu erleichtern. Darüber hinaus wird zur vereinfachten Sprachentwicklung die DSL-Konzeption unter Berücksichtigung von Modularisierung, Vorverarbeitung und Querschnittsfunktionen untersucht.
description: List of Figures ..... X List of Tables ..... XIV List of Listings ..... XVI List of Acronyms ..... XVII I Research Overview ..... 1 1 Introduction ..... 3 1.1 Motivation ..... 3 1.2 Problem Statement ..... 4 1.3 Outline ..... 5 2 Research Design ..... 6 2.1 Design Science Research ..... 6 2.2 Particularities of Usability Evaluation ..... 8 3 Cross-Platform App Development ..... 10 3.1 Foundations on Cross-Platform App Development ..... 10 3.2 Categorising App-Enabled Devices ..... 14 3.3 Challenges of Cross-Platform Apps Across Device Classes ..... 20 3.4 Evaluating Cross-Platform App Development Approaches ..... 22 3.5 Discussion ..... 30 3.6 Contributions to the Field of Research ..... 32 4 Model-Driven Mobile Development ..... 34 4.1 Foundations on Model-Driven Mobile Development ..... 34 4.2 MD2 ..... 38 4.3 MAML ..... 43 4.4 Model-Driven App Development Across Device Classes ..... 62 4.5 Discussion ..... 68 4.6 Contributions to the Field of Research ..... 69 5 DSL Design ..... 71 5.1 Foundations on DSL Design ..... 71 5.2 Modularisation of Xtext-Based DSLs ..... 73 5.3 Musket: A DSL for High-Performance Computing ..... 79 5.4 TAL: A DSL for Configurable Traceability Analysis ..... 86 5.5 Discussion ..... 89 5.6 Contributions to the Field of Research ..... 90 6 Conclusion ..... 92 6.1 Summary ..... 92 6.2 Contributions ..... 94 6.3 Discussion and Limitations ..... 94 6.4 Future Work ..... 95 References ..... 97 II Included Publications ..... 121 7 Towards the Definitive Evaluation Framework for Cross-Platform App Development Approaches ..... 127 7.1 Introduction ..... 128 7.2 Related Work ..... 130 7.3 Criteria Catalogue ..... 135 7.4 Weight Profiles ..... 152 7.5 Evaluation Study ..... 155 7.6 Discussion ..... 165 7.7 Conclusion ..... 172 References ..... 173 8 Generation of High-Performance Code Based on a Domain-Specific Language for Algorithmic Skeletons ..... 188 8.1 Introduction ..... 189 8.2 Related Work ..... 190 8.3 A Domain-Specific Language for High-Level Parallel Programming ..... 192 8.4 Code Generation for Multi-Core Clusters ..... 197 8.5 Benchmarks ..... 200 8.6 Conclusions and Future Work ..... 206 References ..... 206 9 A Process-Oriented Modeling Approach for Graphical Development of Mobile Business Apps ..... 210 9.1 Introduction ..... 211 9.2 Related work ..... 213 9.3 MAML Framework ..... 216 9.4 Evaluation and Discussion ..... 227 9.5 Conclusion and Outlook ..... 232 References ..... 232 10 Towards Pluri-Platform Development ..... 240 10.1 Introduction ..... 241 10.2 Related Work ..... 243 10.3 Münster App Modeling Language ..... 244 10.4 Evaluation ..... 250 10.5 Towards Pluri-Platform Development ..... 257 10.6 Discussion ..... 264 10.7 Conclusion ..... 266 References ..... 267 11 Musket: A Domain-Specific Language for High-Level Parallel Programming with Algorithmic Skeletons ..... 273 11.1 Introduction ..... 274 11.2 Foundations ..... 275 11.3 Related Work ..... 276 11.4 Musket DSL ..... 278 11.5 Model Transformation ..... 285 11.6 Evaluation and Discussion ..... 288 11.7 Conclusion and Outlook ..... 293 References ..... 294 12 A Model-Driven Cross-Platform App Development Process for Heterogeneous Device Classes ..... 297 12.1 Introduction ..... 298 12.2 Cross-platform app development ..... 299 12.3 A Process Model for App Development Across Device Classes ..... 302 12.4 Realizing Cross Device Class Apps ..... 305 12.5 Evaluation ..... 309 12.6 Discussion ..... 310 12.7 Related Work ..... 311 12.8 Conclusion and Outlook ..... 312 References ..... 313 13 Generation of High-Performance Code Based on a Domain-Specific Language for Algorithmic Skeletons ..... 316 13.1 Introduction ..... 317 13.2 Related Work ..... 318 13.3 A Domain-Specific Language for High-Level Parallel Programming ..... 320 13.4 Code Generation for Multi-Core Clusters ..... 325 13.5 Benchmarks ..... 327 13.6 Conclusions and Future Work ..... 332 References ..... 334 14 Towards Model-Driven Business Apps for Wearables ..... 338 14.1 Introduction ..... 339 14.2 Related Work ..... 340 14.3 Creating Business App UIs for Wearable Devices ..... 341 14.4 Discussion ..... 350 14.5 Conclusion and Outlook ..... 351 References ..... 352 15 A Taxonomy for App-Enabled Devices: Mastering the Mobile Device Jungle ..... 355 15.1 Introduction ..... 356 15.2 Related Work ..... 358 15.3 Taxonomy of App-Enabled Devices ..... 360 15.4 Discussion ..... 368 15.5 Conclusion and Outlook ..... 371 References ..... 372 16 Interoperability of BPMN and MAML for Model-Driven Development of Business Apps ..... 376 16.1 Introduction ..... 377 16.2 Related work ..... 378 16.3 Business Process Notations for Mobile App Development ..... 379 16.4 Comparison of Workflow Patterns in MAML and BPMN ..... 382 16.5 Model-to-Model Transformation ..... 389 16.6 Discussion ..... 391 16.7 Conclusion and Outlook ..... 392 References ..... 392 17 Challenges and Opportunities of Modularizing Textual Domain-Specific Languages ..... 395 17.1 Introduction ..... 396 17.2 Related Work ..... 397 17.3 DSL Modularization Concepts ..... 399 17.4 Modularization in Xtext ..... 401 17.5 Discussion ..... 409 17.6 Conclusion and Outlook ..... 410 References ..... 411 18 Evaluating a Graphical Model-Driven Approach to Codeless Business App Development ..... 414 18.1 Introduction ..... 415 18.2 Related Work ..... 416 18.3 Münster App Modeling Language ..... 418 18.4 Evaluation ..... 422 18.5 Discussion ..... 429 18.6 Conclusion ..... 431 References ..... 432 19 A Model-Driven Approach for Evaluating Traceability Information ..... 436 19.1 Introduction ..... 437 19.2 Related Work ..... 438 19.3 An Integrated Traceability Analysis Language ..... 439 19.4 Discussion ..... 447 19.5 Conclusion ..... 450 References ..... 451 20 A Domain-specific Language for Configurable Traceability Analysis ..... 454 20.1 Introduction ..... 455 20.2 Related Work ..... 456 20.3 Defining and Integrating the Domain-Specific Language ..... 457 20.4 Discussion ..... 465 20.5 Conclusion ..... 466 References ..... 467 21 Conquering the Mobile Device Jungle: Towards a Taxonomy for App-Enabled Devices ..... 470 21.1 Introduction ..... 471 21.2 Related Work ..... 472 21.3 Taxonomy of App-Enabled Devices ..... 474 21.4 Discussion ..... 479 21.5 Conclusion and Outlook ..... 481 References ..... 482 22 Business Apps with MAML ..... 485 22.1 Introduction ..... 486 22.2 Related Work ..... 487 22.3 MAML Framework ..... 489 22.4 Evaluation and Discussion ..... 496 22.5 Conclusion ..... 498 References ..... 499 23 Weighted Evaluation Framework for Cross-Platform App Development Approaches ..... 505 23.1 Introduction ..... 506 23.2 Related Work ..... 507 23.3 Background ..... 509 23.4 Criteria ..... 511 23.5 Evaluation ..... 517 23.6 Discussion ..... 521 23.7 Conclusion ..... 523 References ..... 523 24 Refining a Reference Architecture for Model-Driven Business Apps ..... 529 24.1 Motivation ..... 530 24.2 Related Work ..... 531 24.3 Evaluation of a Reference Architecture for Model-Driven Business Apps ..... 534 24.4 Revising the Reference Architecture ..... 536 24.5 Discussion and Outlook ..... 542 24.6 Conclusion ..... 543 References ..... 544 25 How Cross-Platform Technology Can Facilitate Easier Creation of Business Apps ..... 547 25.1 Introduction ..... 548 25.2 Status Quo of Cross-Platform App Development ..... 550 25.3 Related Work ..... 556 25.4 Current Contributions to Business App Development ..... 557 25.5 Paving the Road to Future Cross-Platform Business App Development ..... 562 25.6 Discussion ..... 567 25.7 Conclusion ..... 571 References ..... 572 26 A Data Model Inference Algorithm for Schemaless Process Modeling ..... 580 26.1 Introduction ..... 581 26.2 Related Work ..... 582 26.3 Münster App Modeling Language ..... 584 26.4 Data Model Inference Algorithm ..... 587 26.5 Conclusion and Outlook ..... 592 References ..... 593