Asymmetric and Directed Bidirectional Transformation for Container Orchestrations

Antonio Garcia-Dominguez*

*Corresponding author for this work

Research output: Contribution to journalConference articlepeer-review

Abstract

In many DevOps scenarios, tools operate from declarative models of intended system configuration (e.g. Ansible/Puppet/Chef descriptions of infrastructure-as-code, or Kubernetes and Docker Compose descriptions of orchestrations of containers). DevOps-oriented domain-specific modeling notations will typically only cover a subset of all the capabilities in these configuration formats: this means users will need to manually edit the configuration files generated from the higher-level models. In many editing sessions, users will also touch upon parts that came from the high-level model, and will want that high-level model to be updated accordingly. Likewise, a user may want to introduce a change through the high-level model and not lose the YAML customisations that are unrelated to the high-level model. These requirements imply a need for a bidirectional transformation (“bx”) which is asymmetric (the configuration file contains all the information in the high-level model and more), and directed (changes are only applied to one side at a time). This case proposes revisiting the current state of bx tools for asymmetric and directed transformations, and complements the prior Families to Persons case from TTC 2017, which focused on a symmetrical and directed transformation. The case will reuse the Benchmarx framework from the TTC 2017 case.

Bibliographical note

Publisher Copyright:
© 2023 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).

Keywords

  • bidirectional transformations
  • container orchestration
  • graphical models
  • model merging
  • YAML

Cite this