Acumos C++ client Developer Guide

Overview

This developper guide is intended to provide information for developpers who want to contribute to the acumos-c-client development.

Architecture and Design

In Acumos a model is packed as a dockerized microservice exposing which is specified using Google protobuf. In order to achieve that, the modeler must write a short C++ program that attaches the trained model with the generated gRPC stub in order to build an executable that contains the gRPC webserver as well as the trained model. This executable will then be started in the docker container.

High-Level Flow

../../../_images/Architecture.png

Class Diagrams

Class diagramm cpp client

../../../_images/Class_diagram_cpp_client.png

Class diagramm run microservice

../../../_images/Class_diagramm_run_microservice.png

Sequence Diagrams

Sequnce diagramm cpp client

../../../_images/Class_diagramm_run_microservice.png

Technology and Frameworks

  1. C++ 11
  2. gcc 7.4

Project Resources

Provide gerrit, Jira info, JavaDoc (javadoc.acumos.org) if relevant, link to REST API documentation, etc. For example:

  • Gerrit repo: acumos-c-client https://gerrit.acumos.org/r/q/project:acumos-c-client
  • Jira : Jira componenent name : acumos-c-client

Development Setup

Classical C++ development environment is required with at least C++ 11 and gcc 7.4

How to Run

Please have a look on Tutorial section of the Acumos C++ Client User Guide

How to Test

A test is available in the user guide