Automatic Distribution and Cloud-Native Deployment of Executable Component and Connector Models

Loading...
Thumbnail Image

Authors

Jahed, Karim

Date

Type

thesis

Language

eng

Keyword

model-driven , mdd , models , deployment , automation , software , containers , docker , kubernetes , uml-rt

Research Projects

Organizational Units

Journal Issue

Alternative Title

Abstract

Model-driven development (MDD) is a software development paradigm that advocates the use of models as the primary artifacts rather than source code. Through abstractions, automation, and analyses, MDD promises higher-quality software at a lesser cost. MDD is widely utilized in the design and development of real-time and embedded (RTE) systems, and many MDD tools in that domain have a proven track record. Conversely, MDD support for distributed systems based on modern scalable architectures (e.g., microservices) is still in its infancy. While many model-driven development languages for RTE systems adopt concurrent execution semantics (e.g., actor-based), they often offer very limited support for distributed applications. On the other hand, MDD tools tailored for distributed applications, e.g., Internet of Things (IoT) applications, generally implement a custom distributed runtime system (DRTS) to support their execution. The DRTS shields the application for the underlying deployment infrastructure and mitigates some of the problems associated with distributed deployments such as network delays and failures. Unfortunately, the implementation of a DRTS is not only time-consuming but also platform dependant. In this thesis, we present an approach for the automatic distribution and deployment of components-and-connectors models (CCMs). Our approach uses the architecture information embedded in CCMs to generate and deploy distributed, microservices-based applications entirely through a model-to-model transformation and with no modification to the language execution toolchain or the need for a custom DRTS. Using UML-RT, a popular MDD language for RTS systems with no support for distributed applications, we show how containerization and container management platforms (e.g., Kubernetes) can effectively substitute a DRTS when the models are treated appropriately.

Description

Citation

Publisher

License

Queen's University's Thesis/Dissertation Non-Exclusive License for Deposit to QSpace and Library and Archives Canada
ProQuest PhD and Master's Theses International Dissemination Agreement
Intellectual Property Guidelines at Queen's University
Copying and Preserving Your Thesis
This publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owner.
CC0 1.0 Universal

Journal

Volume

Issue

PubMed ID

External DOI

ISSN

EISSN