Semantic Abstraction and Modelling of Heterogeneous Application Deployments

Tracking #: 3072-4286

Zoe Vasileiou
Georgios Meditskos
Stefanos Vrochidis
Ioannis Kompatsiaris

Responsible editor: 
Aldo Gangemi

Submission type: 
Full Paper
As the complexity of applications increases, more and more organizations migrate to cloud and High-Performance Computing (HPC) infrastructures. However, those resources are diverse and heterogeneous with different standards per cloud provider. Thus, the authoring of the deployment topology is a daunting task making the definition of a unified and interoperable model of uppermost importance. In this paper, we present TOSCA-S, an ontology for capturing key notions of the TOSCA metamodel, following existing Semantic Web standards and best practices in ontology design. More specifically, the ontology reuses the conceptual model of the DOLCE+DnS Ultralite (DUL) foundational ontology, making use of the Descriptions and Situations (DnS) design pattern for defining an abstraction layer for the representation and mapping of applications and infrastructures to ontological entities. The core model focuses on capturing information at higher levels of abstraction, enabling the conceptual description of artefacts, services, code and platforms that fosters advanced context-aware searching, matchmaking, validation and reuse. The proposed framework is part of the SODALITE platform that aims to provide an optimised, highly resilient heterogeneous execution environment enabling operational transparency between Cloud and HPC infrastructures.
Full PDF Version: 


Solicited Reviews:
Click to Expand/Collapse
Review #1
By Chunhua Liao submitted on 29/Aug/2022
Major Revision
Review Comment:

This paper presents an ontology (TOSCA-S) for modeling deployment plans of cloud applications. These plans use TOSCA-compilant languages. TOSCA stands for Topology and Orchestration Specification for Cloud Applications. Overall, the paper is well motivated, comprehensive, and interesting to read.

(1) originality: it seems to be a new ontology for a specific langauge describing cloud application deployment. In this aspect, the work is original.

(2) significance of the results: given the importance of cloud applications, the proposed ontology has potentials to allow users to formally describe cloud application deployment, enabling interoperability and reasoning.

(3) quality of writing: the paper overall reads well, with a good organization, sufficient diagrams, code snippets, as well as text.

Things to improve

1. The paper should list research challenges and proposed solutions, when developing this ontology. The current draft’s main body reads like a specification of the ontology, not sufficiently represented from a research endeavor point of view. Page 9 lists some deployment challenges from the user's point of view. But they are not the same challenges as developing the ontology.

2. Section 7: rule-based reasoning. I feel like this could be a subsection of Evaluation since it evaluates the ontology in terms of reasoning support.

3. The table in Page 8 misses a label like Table X.

4. typo page 9, line 10: excrept -> excerpt

5. 6.1.1 lists 15 competency questions. However, Table 6 of 8.1.1. only lists 3 questions and SHACL translation. The authors should comment on how many of the 15 competency questions can be expressed by the proposed ontology.

6. The goal of developing an ontology is to persuade a community to use it. The paper should comment on how users react to this ontology, in terms of how easy it is to learn and adopt it in practice. Often, there is a tricky balance between easy-to-learn vs. complexity of the ontology.

Assessment of the data file provided by the authors under “Long-term stable URL for resources”:

I don’t find anything called “Long-term stable URL for resources”. Two github URLs are mentioned in the paper:

(A) whether the data file is well organized and in particular contains a README file which makes it easy for you to assess the data,
I think both the ontology and reasoner repos look OK. Each has a README file.

(B) whether the provided resources appear to be complete for replication of experiments, and if not, why,

The semantic-models repo’s readme is very concise. I cannot find the snow use case there. So it seems incomplete for replication of experiments.

(C) whether the chosen repository, if it is not GitHub, Figshare or Zenodo, is appropriate for long-term repository discoverability, and

It appears that the authors did release some data files on github.

(D) whether the provided data artifacts are complete. Please refer to the reviewer instructions and the FAQ for further information.

The paper does not explicitly provide instructions about how to find data and reproduce experiments. It only mentions two github urls as footnotes in the paper.

Review #2
Anonymous submitted on 23/Jan/2023
Review Comment:

The article presents the TOSCA-S ontology, a remodelling of the TOSCA meta-model according to the Description and Situation ontology design pattern. The ontology is part of the SODALITE platform, an ontology-based execution environment for Cloud/HPC infrastructures.

I believe that this submission should be of type Ontology rather than a Research paper.
However, even considering it an ontology. However, the paper has significant limitations.

Requirements analysis is not motivated/principled. Why those requirements or competency questions? How were they collected?
The evaluation is anectodical and needs a more robust involvement of target users and domain experts.

The argument that the ontology is modular/reusable because it is based on the DNS pattern is sound. However, it is not clear how the pattern was applied. In Section 2.1 web_server is of type SoftwareComponent, and my_sql is of type DBMS.MYSQL. This is a bit confusing (is DBMS.MYSQL a class? Maybe this is where Punning plays a role but it is not clear how) -- The paper would be massively improved if a guide use case of sufficient complexity could be presented. The scenario should clearly distinguish key aspects of the domain such as the difference between software, its instantiation in a running process on a given execution environment, operating system (container?), host, etc… Resource allocation seems to be another important dimension. As it is now, it is not clear what is the quality of the resulting ontology.

In the introduction, the paper states that the focus is on IaaS, but later in Table 1 it is reported how the ontology also covers PaaS and SaaS.

The use cases presented in Section 7 are indicative and not particularly insightful -- what operation is possible using TOSCA-S that was not possible before (with TOSCA alone)?

The related work is limited to semantic web ontologies. I think this should be expanded considering the tasks for which the ontology was designed. Any non-ontological solution to the same problem? It is common to read ontology papers where the only innovation is the fact that there is an ontology -- but WHY we need it is less clear. Would it be possible to evaluate "the need for an ontology" in this domain? That would make it an excellent argument.

I suggest resubmitting it as an ontology paper and focusing intensely on requirements, scenario-based description, and evaluation with target users.