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

Loading...
Thumbnail Image

Date

Authors

Jahed, Karim

Journal Title

Journal ISSN

Volume Title

Publisher

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

Keywords

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

Citation

Endorsement

Review

Supplemented By

Referenced By

Creative Commons license

Except where otherwised noted, this item's license is described as CC0 1.0 Universal