Review Criteria Catalog
The criteria used to evaluate and review the different modeling languages originate partly from the various review papers identified during the first literature search [BWKG14, BBF+18, BCR+19, KS19, NMJ19, SDA12, QK18]. However, this review considers only criteria aspects that may be relevant for the subsequent ADL selection. Therefore, some criteria have been slightly modified or extended. The selected criteria sets from the review papers are language characteristics, cloud modeling capabilities and tooling support. In addition to this more general perspective, two other criteria sets are examined that focus on aspects directly related to the quality model and the aim to represent CNA architectures formally: representation of proposed entities and architectural evaluations. The following presents a detailed description of the different aspects considered and analyzed within the mentioned criteria sets.
Tooling Support
It is desirable to have some tooling support available that helps with modeling a system’s architecture, for example. Such support can simplify using a specific language to model systems and may even provide the option to check the validity of a created model. Therefore, this criteria set considers a modeling language’s modeling support as well as its analysis support. The criteria here originate from the eponymous evaluation aspects of the review done by Bergmayr et al. [BBF+18]. However, these criteria have been slightly altered regarding the aspects they consider.
Modeling support
As the syntax aspect shows, most modeling languages have either a graphical or textual representation, some even both. Therefore, this aspect examines what a modeling language provides for the use of its notation, if it offers anything at all. This can be, for example, a textual editor with included features such as syntax highlighting. Furthermore, the aspect also considers if the editor or suchlike can validate created models regarding the modeling language’s syntax and semantics.
Analysis support
Modeling languages typically concentrate on the design time of an application and, in the context of clouds, often with a focus on the deployment. However, some languages also provide support for analyzing the applications during runtime [BBF+18, p. 10f.]. A popular approach in this context is supporting the models@runtime paradigm [BBF09] that additionally enables adaptive application provisioning [KS19,p. 54]. The paradigm requires the application model to reflect and monitor the current application state and directly adapt any changes on this model for the application and its provisioning, and vice versa [AKR+19, KS19]. Therefore, this aspect analyzes whether a modeling language allows only design-time analysis or also runtime ones for this criterion. In case of runtime support, it is also analyzed if the support considers only the deployment infrastructure or the monitoring as well [AKR+19, KS19].
References
// TODO