Design Studio Composition Engine Developer Guide

1. Overview

This is the developers guide to Design Studio Composition Engine.

1.1. What is Composition Engine?

The Design Studio UI invokes Composition Engine API to:

  1. Create machine learning applications, hereafter referred to as composite solutions, out of the basic building blocks – the individual Machine Learning (ML) models contributed by the open source user community.
  2. Validate the composite solutions.
  3. Generate the blueprint of the composite solution for deployment on the target cloud.

2. Architecture and Design

2.1. High-Level Flow

Coming soon

2.2. Class Diagrams

Coming soon

2.3. Sequence Diagrams

Coming soon

3. Technology and Frameworks

List of the development languages, frameworks, etc.

  1. Springboot 1.5.16.RELEASE
  2. Java 8
  3. Maven 4.0.0
  4. Jackson 2.7.5
  5. JUnit 4.12

4. Project Resources

5. Development Setup

5.1. Get the code

Clone the Repository in some user accessible directory, lets call this as <homeDirectory>

git clone https://<username>

After successful clone, new directory <homeDirectory>/design-studio with following sub directories should get created.

design-studio gerritRepository structure

5.2. Import Project in Eclipse

After successful import, you should view in Project Explorer
design-studio ds-compositionengine structure.

6. How to Run

Run as Sprintboot application.

7. How to Test

7.1 Run the JUnit testcases

7.2 Using Swagger UI

Start the ds-compositionengine as spring boot application and test the API using swagger UI : http://localhost:8088/swagger-ui.html

DS swagger UI image.