Service Cutter Configuration File (.servicecutter.yml)

Context Mapper uses Service Cutter to propose new Context Maps (service decompositions). There is also a tutorial that explains how this works.

However, since we do not provide a user interface to configure the coupling criteria priorities as the original Service Cutter tool does, we provide a file called .servicecutter.yml that allows you to configure the service cutting engine.

The file is automatically generated into your project root directory once you call the Propose New Service Cut generator.

Initially, the files looks as follows:

algorithm: MARKOV_CLUSTERING
algorithmParams:
  mclExpansionOperations: 2.0
  mclPowerCoefficient: 2.0
  leungM: 0.1
  leungDelta: 0.55
  cwNodeWeighting: 0.0
priorities:
  Identity & Lifecycle Commonality: M
  Security Constraint: M
  Storage Similarity: XS
  Security Criticality: XS
  Latency: M
  Structural Volatility: XS
  Consistency Criticality: XS
  Predefined Service Constraint: M
  Availability Criticality: XS
  Semantic Proximity: M
  Consistency Constraint: M
  Shared Owner: M
  Content Volatility: XS
  Security Contextuality: M

Changing the Algorithm

The algorithm property allows you to change the graph clustering algorithm that is used. We currently support the following three algorithms:

Note that that LEUNG and CHINESE_WHISPERS produce randomized results. That means that you get different results each time you generate a new service cut.

Algorithm Parameters

The algorithmParams property allows users to change parameters of the clustering algorithms. The properties use the following prefixes:

We do however not provide a detailed documentation of the individual parameters here. In case you really want to change them, which should not be necessary (we use recommended default values), we refer to the documentation of the algorithms themselves.

Criteria Priorities

The priorities property allows you to influence the scoring mechanism of Service Cutter. The priorities can be set to the same values that are supported by the Service Cutter user interface:

  • IGNORE
  • XS
  • S
  • M
  • L
  • XL
  • XXL

The available criteria come from Service Cutter’s criteria catalog.