Skip to content

Getting started

Michele Guerriero edited this page Sep 9, 2017 · 14 revisions

Creating DICER Models

DICER defines a modeling method to be followed which is based on UML Deployment Diagram to be annotated with sterotypes provided by the DDSM package of the DICE-Profiles. In particular, the DDSM package provides stereotypes to model the deployment of data-intensive technologies on top of Cloud platforms and of DIAs on top of the resulting infrastructure.

DICER comes with a set of pre-defined models which can be imported into a default Eclipse project using the DICER plugin from the DICE IDE:

Importing DICER provided default models from the DICE IDE

Imported DICER default models in the DICE IDE

In the following we are going to define a sample DICER model in Eclipse Papyrus step by step with the aim of illustrating the DICER modeling method.

First, one should model the necessary Cloud resources. Data-intensive technologies are tipically distributed systems running on clusters of nodes (virtual machines or containers). To model such aspect it is possible to use the DdsmVMsCluster stereotype to be applied on a UML Device element.

Data-intensive technologies are then just software platforms running on the available clusters in a distributed fashion. Some of them are responsible to actually executing DIAs and are called execution engines. The DDSM package of the DICE-Profiles provides specific stereotypes for the various supported technologies (such as Spark, Storm or Cassandra). Such stereotypes have to be applied on UML Node elements that are placed within the previously instantiated DdsmVMsCluster Devices. Execution engines, e.g. Spark or Storm, should be model as UML ExecutionEnvironment with applied the corresponding stereotype.

Finally DIA running on top of the resulting infrastructure can be represented as UML Artifacts annotated with the DdsmBigDataJob stereotype with a UML Deployment Dependency connecting them to the ExecutionEnvironment which is supposed to execute them. If a DIA needs other data-intensive platforms in order to operate, a UML Dependency can be used to model such aspect.

All the provided stereotypes provide attributes to configure each data-intensive platform as well as the way DIAs are deployed.

Generate TOSCA Blueprints

Once a valid DICER model has been built, the corresponding TOSCA blueprint can be obtained by calling the DICER service (which must be run in advance to serve as the backend) via the provided Eclipse plugin. The plugin provides a simple Eclipse Run Configuration to contact the DICER service and get back the generated blueprint.