Monolith Decomposition into Software Services Using Bounded Context Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Monolith applications lack agility and require extensive manual efforts for decomposing into software services, leading to increased costs and resource consumption due to tightly coupled software functions.

Innovation Solution

A computer-implemented method using a graph-based traversal algorithm to identify bounded contexts within a feature model, associating them with requirement clusters, and mapping file packages to software services, facilitated by a graphical user interface for deployment on a target platform.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If monolith applications are decomposed into software services through manual rewriting of source code, then software services can be deployed on the platform, but extensive manual efforts and domain knowledge are required, increasing deployment costs

Engineering Contradiction:
Improveagility of software servicesVSAvoidcomplexity of decomposition process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces the manual mechanical process of code rewriting with an automated system that uses static code analysis, graph-based traversal algorithms, and machine learning models to automatically identify service boundaries and generate deployment configurations, thereby reducing manual effort and deployment costs while maintaining agility

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system enables the monolith application to effectively decompose itself by automatically analyzing its own code structure, identifying bounded contexts through graph traversal, and generating service boundaries without requiring external manual intervention, thus reducing dependency on domain knowledge and manual efforts

Inventive Principle:
Principle #25Self-service

2Measurement precision

If static code analysis is used to identify service boundaries in monolith applications, then software services can be identified, but extensive domain knowledge and manual efforts are still required

Engineering Contradiction:
Improveprecision of service boundary identificationVSAvoidtime for identifying service boundaries
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by automatically generating a feature model and computing bounded contexts using graph-based traversal algorithms before the actual service identification process, preparing the necessary structural information in advance to accelerate the identification of service boundaries without requiring manual domain knowledge

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a feature model as an intermediary representation that captures the structure and relationships of the monolith application. This feature model serves as a bridge between the raw code and service boundaries, enabling automated identification through graph-based algorithms without requiring direct manual analysis of the code

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If monolith applications contain business domains in different architectural layers, then comprehensive functionality is achieved, but unnecessary resources such as memory and processing capacity are consumed

Engineering Contradiction:
Improvefunctional completeness of applicationVSAvoidresource consumption of application
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the monolith application into distinct bounded contexts by computing subgraphs from the feature model that represent independent business domains. This segmentation allows only the necessary architectural layers to be active for each specific business domain, reducing resource consumption while maintaining comprehensive functionality across different domains

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12373179B2System and method for decomposing monolith applications into software services
Publication Date: 2025.07.29 SIEMENS AG
  • US12373179B2 patent drawing
  • US12373179B2 patent drawing
  • US12373179B2 patent drawing

AI summary

A computer system and method for decomposing a monolith application into one or more software services is provided. In embodiments, the method includes obtaining a feature model associated with the monolith application from a source. Further, at least one bounded context present in the feature model is computed using a graph-based traversal algorithm, wherein the bounded context is associated with a bounded keyword. Further, a requirement cluster contextually relevant to the at least one bounded context is selected from one or more requirement clusters, based on similarity between the bounded keyword and at least one cluster keyword corresponding to each of the requirement clusters. Further, one or more file packages corresponding to the contextually relevant requirement cluster is identified, wherein the identified the one or more file packages correspond to at least one software service.