Skip to content
CONTEXT MAPPER
  • Docs
  • Language Reference
  • Generators
  • News
  • Background
  • Get Involved
    Introduction
    • Welcome
    • Getting started
    • Create CML Project
    • Examples
    • Usage as Library
    • Frequently Asked Questions
    Language Reference (Core)
    • CML Reference - Introduction
    • Language Semantics
    • Context Map
    • Bounded Context
    • Domain and Subdomain
    • Domain Vision Statement
    • Partnership
    • Shared Kernel
    • Customer/Supplier
    • Conformist
    • Open Host Service
    • Anticorruption Layer
    • Published Language
    • Responsibility Layers
    • Knowledge Level
    • Aggregate
    • Tactic DDD Syntax
    • Application and Process Layer
    • User Requirements
    • Stakeholders
    • Value Registers
    • Imports
    Analysis and Design Transformations
    • Rapid Object-oriented Analysis and Design
    • Story Splitting (PoC)
    • Stakeholder and Value Modelling Transformations
    Architectural Refactorings (ARs)
    • Architectural Refactorings
    • AR-1: Split Aggregate by Entities
    • AR-2: Split Bounded Context by Features
    • AR-3: Split Bounded Context by Owner
    • AR-4: Extract Aggregates by Volatility
    • AR-5: Extract Aggregates by Cohesion
    • AR-6: Merge Aggregates
    • AR-7: Merge Bounded Contexts
    • AR-8: Extract Shared Kernel
    • AR-9: Suspend Partnership
    • AR-10: Change Shared Kernel to Partnership
    • AR-11: Change Partnership to Shared Kernel
    Value-Driven Analysis and Design
    • Value-Driven Analysis and Design (VDAD) Support
    Service Cutter
    • Context Map Suggestions with Service Cutter
    • Service Cutter Configuration File (.servicecutter.yml)
    Reverse Engineering
    • Context Map Discovery
    Generators
    • Generators Overview
    • Context Map Generator
    • PlantUML Generator
    • BPMN Sketch Miner Generator
    • MDSL (Micro-)Service Contracts Generator
    • Service Cutter Generators
    • Generic Generator (Templating)
    Tutorials
    • Model Event Storming Results in Context Mapper
    • Event Sourcing and CQRS Modeling in Context Mapper
    • Generate Microservices From Context Map Using JHipster
    • Systematic Service Decomposition with Context Mapper and Service Cutter
    • Validating the Implementation against the Model (with ArchUnit)
    IDE Plugins and Extensions
    • Visual Studio Code Extension
    • Online IDE (no longer supported)
    • Eclipse Plugin
    • Feature Support

    Service Cutter Configuration File (.servicecutter.yml)

    Note: This feature has been deactivated with release v6.10.0 of Context Mapper.

    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:

    • Markov Clustering (MCL): MARKOV_CLUSTERING (default)
    • Epidemic Label Propagation (Leung): LEUNG
    • Chinese Whispers: CHINESE_WHISPERS

    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:

    • mcl: Markov Clustering (MCL) parameters
    • leung: Epidemic Label Propagation (Leung) parameters
    • cw: Chinese Whispers parameters

    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.

    Improve this page on GitHub
    ← PreviousContext Map Suggestions with Service Cutter Next →Context Map Discovery
    © 2026 Context Mapper contributors
    • GitHub
    • Get Involved
    • Background & Publications
    • RSS