## 5 Prototypical Validation and Case Study
### Variability4 TOSCA: An Extension of the TOSCA Standard
#### 5.1.2 Extending TOSCA for VDMM
In general, they introduced optional, variant point, alternative, required or exclusive stereotypes with or without the possibility to model constraints between components. In comparison, we assign conditions directly to components and relations of a deployment model. [PERSON] et al. [33] reported their experience from generating configuration files from the railway domain. They used feature models in combination with a translator file, which eventually produces XML configurations that describe the product, a train. The translation file consists of a set of parameters and corresponding values along with conditions on selected features. However, they do not generate deployment configurations. In programming languages, such as C and Java, there also exist preprocessors that enable conditional compilation, e.g., to include specific parts of the code only if a specific condition holds true [34; 35; 36]. Conditional compilation along with feature models was, for example, used by [PERSON] et al. [37] to generate application code that is specific for the used cloud offerings. They focused on the generation of code, while our approach focuses on the deployment of already built components and their relations. However, these concepts can be integrated into our approach by generating software based on the information contained in the deployment model before the respective components are deployed. Using variability models from SPLE to model deployment variants is a widely used approach [22; 38; 39; 40; 41; 42; 43; 44; 45]. Thereby, multiple variability models along with dependencies between them can be used to manage different aspects of variability. However, the focus of these related work is on modeling variability in the problem space, e.g., functional and non-functional capabilities and requirements of applications in the form of multiple combined feature models. In contrast, we focus on the modeling of the application topology in the solution space and especially address the deployment of applications in detail. Since modeling the problem space complements the solution space these related work may complement our approach. For example, the feature selection of a feature model can be used as Variability Inputs for our Variability Resolver. ### Variable Composite Applications

[PERSON] has conducted several research studies in the field of deployment of composite applications considering topics such as variability and multi-tenancy. In the following, we present his research and discuss it in the context of our work. [PERSON] [46] addressed the problem of managing variability of applications with a focus on multi-tenancy. Several concepts of SPLE were used. An application is modeled using an application model which consists of components and their hosting relations. Multi-tenancy patterns can be assigned to components [46; 47; 48]. For example, a component can be shared across different deployments of different tenants. Variability is modeled using a variability model which is based on OVM and consists of variability points [19; 45; 46]. These variability points have different alternatives, which can be chosen from. Examples are the RAM size of a virtual machine or the branding name that should be displayed on a website. Enabling conditions state which alternatives are allowed. Thereby, complex dependencies between variability points are possible. For example, if alternative A is chosen for the variability point B, only the alternative C of variability point D is allowed. The application and variability model was also used in later work to dynamically bind services during runtime in the context of service composition [49], while [PERSON] et al. [50; 51] made use of the variability model in the context of compliance. In addition, [PERSON] et al. generated customization flows which guide through the selection of alternatives and ensure the completeness and correctness of the selection [46; 52]. There are different selection phases.