Return to search

Mobile Modeling with Real-Time Collaboration Support

Modeling is an essential discipline that is especially important in the field of software engineering. Students and developers alike employ models to describe systems on an abstract level, capture requirements, and communicate with other teams. For that purpose, UML diagrams are usually the instrument of choice. Over the course of the last decade, mobile devices increased in prevalence and popularity and flexible work arrangements were introduced in a larger number of workplaces. Effective collaboration is more important than ever. However, the tools have not kept up with these developments. There exists no semantics-aware mobile modeling application that supports collaboration in real time, a gap in the market.

This thesis investigates existing applications in the mobile modeling space and their shortcomings, technologies for developing cross-platform apps, and methodologies for facilitating conflict-free collaboration. Based on the findings, it conceptualizes and implements CoMod, a proof of concept allowing users to collaboratively edit UML class diagrams in real time. The system consists of a Flutter-based client application for Android and iOS and a Node.js-based server executable. These components utilize conflict-free replicated data types (CRDTs) to merge participants' changes and communicate via WebSocket connections. Moreover, CoMod's feasibility is evaluated by means of a case study investigating the system's scalability and performance characteristics.

It has been shown that CoMod is able to handle common use cases arising in software engineering teams or group projects at university. It is further kept sufficiently general to allow other types of models to be supported without having to alter the entire system.:1 Introduction
1.1 Requirements
1.2 Problem Description
1.3 Objectives
1.4 Structure

2 Background
2.1 Software Modeling
2.1.1 Unified Modeling Language
2.2 Cross-Platform Application Development
2.2.1 Web Apps
2.2.2 Hybrid Apps
2.2.3 Native cross-platform apps
2.2.4 Summary
2.3 Real-Time Collaboration
2.3.1 Conflict-Free Replicated Data Types (CRDTs)
2.3.2 Operational Transformation

3 Related Work
3.1 Astah UML
3.2 Lucidchart
3.3 System Designer
3.4 Summary

4 Concept
4.1 Objectives
4.2 User Interface
4.3 Data Model
4.4 Collaboration
4.4.1 Conflict handling
4.4.2 System architecture
4.4.3 Client-server communication
4.5 Summary

5 Solution
5.1 Client
5.1.1 Walkthrough
5.1.2 Data model
5.1.3 JavaScript subsystem
5.1.4 Dependencies
5.2 Server
5.2.1 Dependencies
5.3 Collaboration
5.3.1 Client-server communication
5.3.2 Client data flow
5.4 Testing
5.4.1 Unit tests
5.4.2 Integration tests
5.4.3 End-to-end tests
5.5 Extensibility

6 Evaluation
6.1 Case Study
6.2 Technical Analysis
6.2.1 Test data generator
6.2.2 Client analysis
6.2.3 Server analysis
6.3 Threats to Validity

7 Conclusion
7.1 Fulfillment of Objectives
7.2 Future Work

Acronyms
Bibliography

Identiferoai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:78252
Date02 March 2022
CreatorsHärtwig, Max
ContributorsGötz, Sebastian, Aßmann, Uwe, Technische Universität Dresden
Source SetsHochschulschriftenserver (HSSS) der SLUB Dresden
LanguageEnglish
Detected LanguageEnglish
Typedoc-type:masterThesis, info:eu-repo/semantics/masterThesis, doc-type:Text
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.006 seconds