Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Note these instruction refers to current master branch. The release-1.0.0 branch have development issues that have only been fixed in master branch.

DCAE Controller Overview

DCAE Controller LF GIT repositories

  1. dcae/controller
  2. dcae/operation/utils
  3. dcae/controller/analytics
  4. dcae/demo

SOMF - Sirius Operational Management Framework

SOMF is a model-driven framework for building controllers. SOMF Is using the Eclipse Modeling Framework (EMF) for data modeling.

LF SOMF repositories

  1. ncomp/maven - contains a few maven related artifacts
  2. ncomp/utils - contains Java utilities and libraries that are used across DCAE Controller projects
  3. ncomp/core - contains core models
  4. ncomp/sirius/manager - contains the core SOMF implementation
  5. ncomp/docker - contains SOMF adaptor used to communicate with Docker Engine API
  6. ncomp/openstack- contains SOMF adaptor used to communicate with OpenStack API
  7. ncomp/cdap- contains SOMF adaptor used to communicate with CDAP API+

Development Setup

GIT repositories and build order

  1. ncomp/maven
  2. ncomp/utils
  3. dcae/operation/utils
  4. ncomp/core
  5. ncomp/sirius/manager
  6. ncomp/cdap
  7. ncomp/docker
  8. ncomp/openstack
  9. dcae/controller
  10. dcae/controller/analytics
  11. dcae/demo

Eclipse Setup

Since DCAE Controller/SOMF is build on top of EMF developement is tightly tied to using Eclipse IDE with specific plugin installed. This section describe the process to setup a developement Eclipse.

  1. Install Neon.3 Java Developer Version http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/neon3
  2. Install software from Neon update site
    1. Eclipse Plug-in Development Environment           3.12.2.v20161124-1400
    2. EMF - Eclipse Modeling Framework Xcore SDK   1.4.0.v20160526-0606
  3. Install software from Eclipse Market Place
    1. YEdit Feature     1.0.20.201509041456-RELEASE
  4. Install Groovy from http://dist.springsource.org/snapshot/GRECLIPSE/e4.6/
    1. Groovy-Eclipse Feature             2.9.2.xx-201703131833-e46
    2. Groovy-Eclipse M2E integration            2.9.2.xx-201703131833-e46
    3. Groovy Compiler 2.4 Feature  2.9.2.xx-201703131833-e46

Import Eclipse Projects

The GIT repositories include the Eclipse Project Metadata (e.g., .project, .classpath, and etc files) and thus can be importing into a workspace using the "Import Projects" → "Import existing Eclipse projects". Only the projects that need to be worked on need to be in the workspace.

Working on DCAE Controller projects

There are 2 projects for most features.

  1. A model project which contains the data model  using XCORE file. These projects always have a name (and artifactId) that ends in -model.This file is located on the src/main/xcore directory. And the project is setup so Eclipse will update automatically the generated Java code in the src/main/xcore-gen directory. This project is a straight EMF type project and contain very little SOMF specifics.
  2. A SOMF project which contains SOMF generated code and implementation of the APIs that the model defines.
    1. SOMF generator class Generator.java under the src/main/java folder. It contains the defined customization for creating the SOMF implementation. Running this class will generate new contents in the two generated folders.
    2. src/main/sirius-gen folder contains generated Java code for implementing Client and Server side functions.
    3. src/main/server-gen folder contains generated Bash and Groovy scripts for implementing Client and Server side functions.
    4. SOMF provider *Provider.java Java classes under the src/main/java folder. These implements the operation/methods that are defined in the model.


  • No labels