This document summarizes the SODALITE project, which aims to develop a smart development environment for infrastructure as code (IaC). It received funding from the EU Horizon 2020 program. The SODALITE approach involves modeling of infrastructure resources, application deployment topologies, optimizations, and Ansible playbooks. It will provide textual and visual editors powered by a semantic knowledge base to assist with modeling. Known issues with the editors include formatting and synchronization challenges. Future work may include additional viewpoints and editors for other domain-specific modeling languages.
A Smart Development Environment for Infrastructure as Code
1. This project has received funding from the European
Union’s Horizon 2020 research and innovation
programme under grant agreement No 825480.
A Smart Development Environment for
Infrastructure as a Code
Jesús Gorroñogoitia (ATOS)
Zoe Vasileiou (CERTH)
Emilio Imperiali (POLIMI)
Indika Kumara (TUE)
Dragan Radolović (XLAB)
Georgios Meditskos (CERTH)
SiriusCon21
17.06.2021
2. • SODALITE motivation and approach
• SODALITE Modeling for IaC:
• Roles and DSLs
• Semantic modeling assistance
• Textual Editors (XText)
• Visual Editors (Sirius)
• Textual-Visual interoperability
• Modelling challenges
• Known issues
• Future work
Outline
6. SiriusCon21 17.06.2021
SODALITE Smart IDE: Approach
resources
content assistance
validation
store
Interlinked components
and resources
Semantic
Knowledge Base
optimisations
DSL
User IDE
7. AADM Editor
● Based on TOSCA topologies
● Modular modeling
SiriusCon21 17.06.2021
SODALITE Smart IDE: Textual Editors
RM Editor
● Based on TOSCA types
definition
Optimization Editor
● Optimisation of containerised
HPC and AI (training and
inference) applications
Ansible Editor
● Definition of implementation of
interface operations as
Ansible playbooks
9. - Visual editor for AADM
- Based on Sirius
- Form-based edition of nodes and policies
SODALITE Smart IDE: Visual Editors
10. SiriusCon21 17.06.2021
SODALITE Smart IDE: In-Sync Multiview
representations
Textual (XText):
High productivity
Graphical (Sirius)
High communication
Tree (XText, read-only)
11. • Modeling visual granularity
• Modeling element layout
• Inline vs form-based edition
SODALITE Smart IDE: Modeling challenges
12. SODALITE Smart IDE: Known issues
• Positional (Indentation-based or Whitespace-Aware Languages)
formatting for textual notation - YAML notation
• Changes in indentation causes errors in model parsing
• XText formatting implemented and triggered.
• XText - Sirius model
synchronization
• Altran XText integration
with Sirius: Xtext Inline
Editors
13. • Addressing know issues
• Inline edition of AADM elements
• Web based editor for AADM - Sirius Web
• PoC requested by EC reviewers
• Visual editor for other SODALITE DSMLs
• Resource pending, maybe in SODALITE-2
• Multiple viewpoint representations of the same AADM with Sirius
views
• Resource pending, maybe in SODALITE-2
SODALITE Smart IDE: Feature work