Automatic Distribution and Cloud-Native Deployment of Executable Component and Connector Models
Date
Authors
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.

