Common Understanding Wiki

Common Understanding Wiki

A Common Knowledge Source of Terms and Definitions

Allocation...

DMN-to-CAMEL Mapper

Wiki: Tools

Research Problem

The DMN-to-CAMEL-Mapper prototype reduces the technical complexity of the software component allocation by mapping high-level business requirements to the low-level cloud-specific description.

As business experts still require technical assistance for consuming cloud services and allocating the software components, the DMN-to-CAMEL-Mapper aims to create a way to semi-automatically handle the software component allocation and configuration based on high-level parameters. In this respect the Decision Model and Notation (DMN) is applied.

DMN is an industry standard for modeling and executing decisions that are determined by business rules. The DMN standard provides a human-readable common notation for modelling and automating decisions. We choose decision tables (DTs) to represent decisions as these are well known to business experts.

Solution Approach

The DMN-to-CAMEL approach enables the modelling of cloud applications by using non-technical business values relating to business requirements, which will be mapped to the technical CAMEL model.

In terms of a running example, the DMN-to-CAMEL-Mapper can be used for creating different kind of deployment models for the ChristmasCardDesigner service. An example scenario, which can be solved with the prototype, is the following: The CAMEL deployment model fragment should be generated based on the desired cloud provider and the customer level bronze, silver and gold, where the business values are mapped to the respective virtual machine flavours. Therefore, the required DMN tables need to defined, which can be edited via the web-based editors offered by ADOxx or Camunda DMN Editor


Defined DMN tables are registered at the DMN-to-CAMEL-Mapper and are executed via the provided REST API. The result of an exemplary call to get the deployment CAMEL fragment for the parameters cloud provider = UULM and customer level = gold can executed with the online instance.


A more complex example with connected DMN tables could be used to determine the placement of the ChristmasCardDesigner software component based on the following business values: software state, customer level, privacy, and scalability. A first table can determine if the software component should be deployed on IaaS if the software state is final while PaaS is selected when the software state is development as PaaS supports the easy integration of continuous delivery of new software versions. Based on the decision connected tables can select the actual cloud provider, either a IaaS or a PaaS provider, based on the customer level and privacy values. Finally, is also possible to derive adaptation actions based on the scalability values, e.g. expected amount of users. In the end, a CAMEL model is returned, comprising the model fragment for the selected cloud provider and a model fragment with adaptation actions.


Architecture

A high-level overview of the DMN-to-CAMEL-Mapper architecture is provided in following figure. To execute a mapping, the prototype provides a REST interface as well as a web-based UI. Due to the use of the Swagger REST API description, it is possible to auto-generate also clients for all common programming languages that eases the integration in existing systems.

dmn-camel-architecture.png

The source code is publicly available at GitLab.

Try out the first version of the prototype by yourself: DMN-to-CAMEL-Mapper service

References

1 Attachment
11288 Views
Average (0 Votes)
Comments
No comments yet. Be the first.