Service Cutter Generators

Introduction and Motivation

The Service Cutter tool provides a structured way to service decomposition. Our Service Cutter Input Generators allow you to generate the input files for Service Cutter. Thereby you can generate suggestions how to further decompose your modeled system.

For more information about Service Cutter we refer to the projects wiki and the paper:

User Guide

The following sections describe how you use the Service Cutter generators to create the Service Cutter input files.

Generate Entity Relationship Model File

Service Cutter uses an ERD-file based on entities and nanoentities to describe the applications structure, the first input.

We assume you have a CML file with your model in Eclipse (with our plugin installed). With a right-click to the CML-file you will find a Context Mapper context menu. With the action Service Cutter: Generate Input File (JSON) you generate the Service Cutter ERD file in the required JSON format:

Generate ServiceCutter ERD File

Note that the Context Mapper menu entry is also available within the context menu uf the CML editor. (right-click anywhere in the editor)

Generate SCL File

The second input file for Service Cutter is representing its User representations. Service Cutter takes them in JSON format, but since there is some manual work needed to create them, we implemented another DSL which makes this much easier. Those files have the file extension scl, for Service Cutter Language.

A SCL file can be generated out of a CML file. Again, with a right-click to the CML-file you will find the Context Mapper context menu. With the action Service Cutter: Initialize User Representations File (Exemplary) you can initialize your SCL file:

Generate ServiceCutter SCL File

Note: The generated SCL file is a template which helps you by giving the structure. The following generated parts are only examples and have to be adjusted:

  • Use Cases
  • All Compatibilities
  • Security Access Groups
  • Separated Security Zone
  • Shared Owner Group

Only the following elements are actually derived from your CML model and don’t have to be changed:

  • Aggregates (derived from your Aggregates in the CML file)
  • PredefinedService (derived from your bounded contexts in the CML file)

Generate User Representations JSON File

Once you have prepared your SCL file, you can generate the corresponding JSON file with the action Service Cutter: Generate User Representations File (JSON) in the context menu:

Generate ServiceCutter JSON out of SCL File

Using the JSON files in Service Cutter

You have now both JSON files needed for the Service Cutter tool, generated into the src-gen folder:

Generated JSON files for Service Cutter

Have fun with cutting your services :)

Service Cutter Insurance Example