de
en
Schliessen
Detailsuche
Bibliotheken
Projekt
Impressum
Datenschutz
zum Inhalt
Detailsuche
Schnellsuche:
OK
Ergebnisliste
Titel
Titel
Inhalt
Inhalt
Seite
Seite
Im Dokument suchen
Rieger, Christoph: Model-Driven Software Development : Cross-Platform App Development and Further Applications of Domain-Specific Languages. 2019
Inhalt
Abstract
Contents
List of Figures
List of Tables
List of Listings
List of Acronyms
I Research Overview
1 Introduction
1.1 Motivation
1.2 Problem Statement
1.3 Outline
2 Research Design
2.1 Design Science Research
2.2 Particularities of Usability Evaluation
3 Cross-Platform App Development
3.1 Foundations on Cross-Platform App Development
3.2 Categorising App-Enabled Devices
3.2.1 Status Quo of App-Enabled Devices
3.2.2 Taxonomy of App-Enabled Devices
3.3 Challenges of Cross-Platform Apps Across Device Classes
3.4 Evaluating Cross-Platform App Development Approaches
3.4.1 Criteria Catalogue for Cross-Platform Development Frameworks
3.4.2 Assessment of Criteria Using Weight Profiles
3.5 Discussion
3.6 Contributions to the Field of Research
4 Model-Driven Mobile Development
4.1 Foundations on Model-Driven Mobile Development
4.1.1 Model-Driven Software Development
4.1.2 Model-Driven Business Apps
4.1.3 Process Modelling Notations
4.2 MD2
4.2.1 Language Overview
4.2.2 Revised Reference Architecture for Business Apps
4.3 MAML
4.3.1 Language Overview
4.3.2 Data Model Inference
4.3.3 Identifying Modelling Inconsistencies
4.3.4 Model-to-Code Transformation
4.3.5 Usability Evaluation
4.3.6 Interoperability of MAML and BPMN
4.4 Model-Driven App Development Across Device Classes
4.4.1 Model-Driven Process for Pluri-Platform App Development
4.4.2 Usability Evaluation for Pluri-Platform Development
4.5 Discussion
4.6 Contributions to the Field of Research
5 DSL Design
5.1 Foundations on DSL Design
5.2 Modularisation of Xtext-Based DSLs
5.2.1 Foundations of Language Modularisation
5.2.2 Case Study on MD2
5.2.3 Recommendations on Modularising Xtext-based DSLs
5.3 Musket: A DSL for High-Performance Computing
5.3.1 Foundations on Algorithmic Skeletons for High-Performance Computing
5.3.2 The Musket DSL
5.3.3 DSL Preprocessing for Performance Optimisation
5.4 TAL: A DSL for Configurable Traceability Analysis
5.4.1 Foundations on Software Traceability
5.4.2 The TAL DSL
5.5 Discussion
5.6 Contributions to the Field of Research
6 Conclusion
6.1 Summary
6.2 Contributions
6.3 Discussion and Limitations
6.4 Future Work
References
II Included Publications
7 Towards the Definitive Evaluation Framework for Cross-Platform App Development Approaches
7.1 Introduction
7.2 Related Work
7.2.1 Cross-Platform Frameworks
7.2.2 Novel App-Enabled Devices
7.3 Criteria Catalogue
7.3.1 Fundamental Considerations and Structure
7.3.2 Infrastructure Perspective
7.3.3 Development Perspective
7.3.4 App Perspective
7.3.5 Usage Perspective
7.4 Weight Profiles
7.4.1 Rationale
7.4.2 Application
7.4.3 Example Profiles
7.5 Evaluation Study
7.5.1 Method
7.5.2 (Progressive) Web Apps
7.5.3 PhoneGap
7.5.4 React Native
7.5.5 Native Apps
7.5.6 Intermediate Conclusions
7.6 Discussion
7.6.1 Assessment
7.6.2 Ongoing Demand for Research
7.6.3 Limitations
7.6.4 Future Work
7.7 Conclusion
References
8 Generation of High-Performance Code Based on a Domain-Specific Language for Algorithmic Skeletons
8.1 Introduction
8.2 Related Work
8.3 A Domain-Specific Language for High-Level Parallel Programming
8.3.1 Benefits of Generating High-Performance Code
8.3.2 Language Overview
8.4 Code Generation for Multi-Core Clusters
8.4.1 Data Structures
8.4.2 Model Transformation
8.4.3 Custom Reduction
8.4.4 User Functions
8.4.5 Specific Musket Functions
8.4.6 Build Files
8.5 Benchmarks
8.5.1 Frobenius Norm
8.5.2 Nbody Simulation
8.5.3 Matrix Multiplication
8.5.4 Fish School Search
8.6 Conclusions and Future Work
References
9 A Process-Oriented Modeling Approach for Graphical Development of Mobile Business Apps
9.1 Introduction
9.2 Related work
9.3 MAML Framework
9.3.1 Language Design Principles
9.3.2 Language Overview
9.3.3 Data-Model Inference
9.3.4 Modeling support
9.3.5 App generation
9.4 Evaluation and Discussion
9.5 Conclusion and Outlook
References
10 Towards Pluri-Platform Development
10.1 Introduction
10.2 Related Work
10.3 Münster App Modeling Language
10.3.1 Language Design Principles
10.3.2 Language Overview
10.3.3 App Modelling
10.3.4 App Generation
10.4 Evaluation
10.4.1 Study Setup
10.4.2 Comprehensibility Results
10.4.3 Usability Results
10.5 Towards Pluri-Platform Development
10.5.1 Challenges
10.5.2 Towards Pluri-Platform Development
10.5.3 Applicability of Existing Cross-Platform Approaches for Pluri-Platform Development
10.5.4 Evaluation of MAML in a Pluri-Platform Context
10.6 Discussion
10.7 Conclusion
References
11 Musket: A Domain-Specific Language for High-Level Parallel Programming with Algorithmic Skeletons
11.1 Introduction
11.2 Foundations
11.3 Related Work
11.4 Musket DSL
11.4.1 Language Structure
11.4.2 Benefits of Generating High-Performance Code
11.5 Model Transformation
11.5.1 Map Fusion
11.5.2 Skeleton Fusion
11.5.3 User Function Transformation
11.5.4 Automated Data Distribution
11.6 Evaluation and Discussion
11.6.1 Optimizations
11.6.2 Frobenius Norm
11.6.3 Fish School Search (FSS)
11.6.4 Modelling Support
11.7 Conclusion and Outlook
References
12 A Model-Driven Cross-Platform App Development Process for Heterogeneous Device Classes
12.1 Introduction
12.2 Cross-platform app development
12.2.1 Challenges
12.2.2 Adequacy of Existing Approaches
12.3 A Process Model for App Development Across Device Classes
12.4 Realizing Cross Device Class Apps
12.4.1 The MAML Framework
12.4.2 Business Apps for Smartphone and Smartwatch with MAML
12.5 Evaluation
12.6 Discussion
12.7 Related Work
12.8 Conclusion and Outlook
References
13 Generation of High-Performance Code Based on a Domain-Specific Language for Algorithmic Skeletons
13.1 Introduction
13.2 Related Work
13.3 A Domain-Specific Language for High-Level Parallel Programming
13.3.1 Benefits of Generating High-Performance Code
13.3.2 Language Overview
13.4 Code Generation for Multi-Core Clusters
13.4.1 Data Structures
13.4.2 Model Transformation
13.4.3 Custom Reduction
13.4.4 User Functions
13.4.5 Specific Musket Functions
13.4.6 Build Files
13.5 Benchmarks
13.5.1 Frobenius Norm
13.5.2 Nbody Simulation
13.5.3 Matrix Multiplication
13.5.4 Fish School Search
13.6 Conclusions and Future Work
References
14 Towards Model-Driven Business Apps for Wearables
14.1 Introduction
14.2 Related Work
14.3 Creating Business App UIs for Wearable Devices
14.3.1 Challenges of Wearable UIs
14.3.2 Conceptual UI Mapping
14.3.3 Modelling Apps Across Device Classes
14.4 Discussion
14.5 Conclusion and Outlook
References
15 A Taxonomy for App-Enabled Devices: Mastering the Mobile Device Jungle
15.1 Introduction
15.2 Related Work
15.3 Taxonomy of App-Enabled Devices
15.3.1 Basic Considerations
15.3.2 Dimensions of the Taxonomy
15.3.3 Categorizing the Device Landscape
15.4 Discussion
15.4.1 Alternative Categorization Schemes
15.4.2 Further Development
15.5 Conclusion and Outlook
References
16 Interoperability of BPMN and MAML for Model-Driven Development of Business Apps
16.1 Introduction
16.2 Related work
16.3 Business Process Notations for Mobile App Development
16.3.1 Business Process Model and Notation (BPMN)
16.3.2 Muenster App Modeling Language (MAML)
16.4 Comparison of Workflow Patterns in MAML and BPMN
16.4.1 Control-flow Patterns
16.4.2 Data Patterns
16.4.3 Resource Patterns
16.5 Model-to-Model Transformation
16.5.1 Mapping of Equivalent Language Constructs
16.5.2 Mapping of Related Language Constructs
16.5.3 Unmapped Language Constructs
16.6 Discussion
16.7 Conclusion and Outlook
References
17 Challenges and Opportunities of Modularizing Textual Domain-Specific Languages
17.1 Introduction
17.2 Related Work
17.3 DSL Modularization Concepts
17.4 Modularization in Xtext
17.4.1 Modularization Concepts in Xtext
17.4.2 Case Study on MD2
17.4.3 Modularizing MD2
17.4.4 Advantages and Disadvantages of Modularization
17.5 Discussion
17.6 Conclusion and Outlook
References
18 Evaluating a Graphical Model-Driven Approach to Codeless Business App Development
18.1 Introduction
18.2 Related Work
18.3 Münster App Modeling Language
18.3.1 Language Design Principles
18.3.2 Language Overview
18.3.3 App Modelling
18.3.4 App Generation
18.4 Evaluation
18.4.1 Study Setup
18.4.2 Comprehensibility Results
18.4.3 Usability Results
18.5 Discussion
18.6 Conclusion
References
19 A Model-Driven Approach for Evaluating Traceability Information
19.1 Introduction
19.2 Related Work
19.3 An Integrated Traceability Analysis Language
19.3.1 Scenarios for Traceability Analyses
19.3.2 Composition of the Traceability Analysis Language
19.4 Discussion
19.4.1 Eclipse Integration and Performance
19.4.2 Applying the Analysis Language
19.4.3 Limitations
19.5 Conclusion
References
20 A Domain-specific Language for Configurable Traceability Analysis
20.1 Introduction
20.2 Related Work
20.3 Defining and Integrating the Domain-Specific Language
20.3.1 Composition of Modeling Layers
20.3.2 Querying the Traceability Information Model
20.3.3 Defining Individual Metrics
20.3.4 Evaluating Metrics
20.4 Discussion
20.5 Conclusion
References
21 Conquering the Mobile Device Jungle: Towards a Taxonomy for App-Enabled Devices
21.1 Introduction
21.2 Related Work
21.3 Taxonomy of App-Enabled Devices
21.3.1 Dimensions of the Taxonomy
21.3.2 Categorizing the Device Landscape
21.4 Discussion
21.4.1 Alternative Categorization Schemes
21.4.2 Further Development
21.5 Conclusion and Outlook
References
22 Business Apps with MAML
22.1 Introduction
22.2 Related Work
22.3 MAML Framework
22.3.1 Language Design Principles
22.3.2 Language Overview
22.3.3 Data-Model Inference
22.3.4 Modeling Support
22.3.5 App Generation
22.4 Evaluation and Discussion
22.5 Conclusion
References
23 Weighted Evaluation Framework for Cross-Platform App Development Approaches
23.1 Introduction
23.2 Related Work
23.3 Background
23.4 Criteria
23.4.1 General Considerations
23.4.2 Infrastructure Perspective
23.4.3 Development Perspective
23.4.4 App Perspective
23.4.5 Usage Perspective
23.5 Evaluation
23.5.1 Weight Profiles
23.5.2 Web Apps
23.5.3 PhoneGap
23.5.4 Native Apps
23.6 Discussion
23.7 Conclusion
References
24 Refining a Reference Architecture for Model-Driven Business Apps
24.1 Motivation
24.2 Related Work
24.2.1 Business Apps and App Development
24.2.2 Creating Business Apps with MD2
24.2.3 Reference Architectures
24.3 Evaluation of a Reference Architecture for Model-Driven Business Apps
24.4 Revising the Reference Architecture
24.4.1 Reference Architecture Structure
24.4.2 Platform-Specific Implementation Variability
24.4.3 Reference Architecture Interactions
24.5 Discussion and Outlook
24.6 Conclusion
References
25 How Cross-Platform Technology Can Facilitate Easier Creation of Business Apps
25.1 Introduction
25.2 Status Quo of Cross-Platform App Development
25.2.1 On the Economic Value of App Development
25.2.2 A Brief History of App Development
25.2.3 General Approaches Towards Cross-Platform Development
25.2.4 Overview of Current Frameworks and Tools
25.3 Related Work
25.4 Current Contributions to Business App Development
25.4.1 Understanding the Current State of Cross-Platform Utilization
25.4.2 MD2 as a Contemporary Generative Approach
25.5 Paving the Road to Future Cross-Platform Business App Development
25.5.2 Improving Domain-Orientation
25.5.1 Required Technological Work
25.5.3 Sketching the Future
25.5.4 Possible Merits and Positive Accessory Phenomena
25.5.5 Challenges, Obstacles, and Possibly Negative Ramifications
25.5.6 Remaining Issues
25.6 Discussion
25.6.1 Scenarios
25.6.2 Outlook and Open Questions
25.6.3 Limitations
25.6.4 Future Work
25.7 Conclusion
References
26 A Data Model Inference Algorithm for Schemaless Process Modeling
26.1 Introduction
26.2 Related Work
26.3 Münster App Modeling Language
26.4 Data Model Inference Algorithm
26.4.1 Partial Data Model Inference
26.4.2 Merging Partial Data Models
26.4.3 Consolidation and Error Identification
26.5 Conclusion and Outlook
References