This deliverable reports on the status of the development, at M33, of the SODALITE Modelling Layer and the integration of its components with the rest of the platform. The purpose of this deliverable is to present the final version of the Modelling Layer which has been developed during the second and the third year of the project. More specifically, the work that has been performed within the T3.1 “Application Semantic Modelling” and T3.2 “Infrastructure Semantic Modelling” tasks will be reported. The first version of the Modelling Layer is presented in D3.1[2].
This deliverable complements D4.2 [3], and D5.2 [24], and the interested reader is encouraged to read those deliverables for having a full understanding of the whole process. The goal of the Modelling Layer is the abstraction of the application deployment models. To this end, the Modelling Layer aims at:
- Describing the cloud applications and infrastructures in an abstract way
- Reducing the user effort in describing IaC by providing intelligent services
- Supporting the user through the whole lifetime of the application deployment
For achieving the above goals, the Modelling Layer components have been evolved since M12, and the progress of the following achievements will be presented in this deliverable:
- Ontologies: The ontologies have been extended to support new TOSCA concepts and the abstract SODALITE metamodel has been enhanced for adding new metadata. The final version of the ontologies are presented in this deliverable.
- Semantic Reasoner - Populator: The Semantic Populator populates the KB with AADMs (Abstract Application Deployment Models) and RMs (Resource Models). It has been enhanced significantly for mapping the new TOSCA concepts and metadata to the SODALITE ontologies, and supporting new features such as the versioning of the AADMs and the workspaces.
- Reasoning layer: The Reasoning layer is responsible for providing context-aware content assistance to the user and ensuring the consistency of the models that are saved to the KB. This intelligence is provided to the WP4 (T4.4) through REST APIs presented in this deliverable.
- IDE: The IDE has been evolved significantly for supporting the user during the whole process of the app deployment, at design, deployment and runtime. Different SODALITE roles for app deployment modeling are supported by the adoption of various SODALITE domain specific languages.
- Integration with other components: The Modelling Layer is central to the architecture since it is the entry point of the platform as the users use the IDE for managing their deployments, and also all the other layers (Infrastructure as a Code layer, and Runtime layer) retrieve, modify and save models from/to the Semantic Knowledge Base (KB). In particular, the IaC layer retrieves from the Modelling Layer the representation of the AADMs for producing the TOSCA blueprint and saves new discovered alternative variants and refactoring the existing AADMs accordingly. Therefore, a significant effort was placed on the integration of the Modelling Layer with the other layers.