Pattern-based Deployment and Configuration Models (PbDCMs)

This is a guide to the Pattern-bsed Deployment and Configuration Model (PbDCM) approach that is presented in the UCC 2019 paper Pattern-based Deployment Models Revisited: Automated Pattern-driven Deployment Configuration.

IMPORTANT NOTE: To use this feature, you must have the Pattern Refinement feature enabled which is available in the Configuration tab underneath the Administration.

Modeling of PbDCMs

As described in the paper, a PbDCM can be modeled in TOSCA in a Topology Template of a Service Template. However, instead of containing concrete only Components, a PbDCM contains also Component Patterns and Behavor Pattern. A Component Pattern is hereby represented as a Node Template that is defined in a Namespace that has been tagged as a “Pattern Namespace”.

Videos on how to model and refine a PbDCM are available on YouTube.

An example PbDCM is shown here: ../../_images/Pbdcm.jpg

Pattern Types

To create a Pattern Type in TOSCA, Namespaces that are tagged to contain only patterns are used. Therefore, so-called “Pattern Namespaces” are identified by the patternCollection property set to true.

A Namespace can be transformed to a “Pattern Namespace” in the Administration area of Winery. Underneath the Namesapces tab, all settings for Namespaces can be edited. Hence, to create a “Pattern Namespace”, or to identify an existing Namespace as a “Pattern Namespace”, set the Is a pattern collection flag of the corresponding Namespace.

Component Pattern Types

To create a Component Pattern Type, create a Node Type inside a “Pattern Namespace”.

Behavior Pattern Types

To create a Behavior Pattern Type, create a Policy Type inside a “Pattern Namespace”.

Definition and Handling of Component and Behavior Pattern Refinement Models (CBPRMs)

To enable the automated refinement of PbDCMs, CBPRMs defining at least a Detector and Refinement Structure must be crated. While the Detector must be mappable to a subgraph of a PbDCM according to the Compatibility Rule, the Refinement Structure can contain any kind of Topology Template.

To create, edit, and manage a CBPRM, you need to go to localhost:4200/#/patternrefinementmodels or use Other Elements and click on Pattern Refinement Models.

Refinement of PbDCMs to Executable Deployment Models

After a PbDCM has been created it can be refined in the Topology Modeler by clicking the Refine Patterns button and then Start Refinement: ../../_images/PbdcmRefinement.jpg