Intermediate Data Model Mapping for Business Process Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Business process automation files using different modeling and notation systems are not interoperable due to disparate data models with varying formats and semantics, hindering their integration in a unified business process automation platform.

Innovation Solution

A method and system that convert disparate data models into intermediate models and generate a mapping between them, enabling code generation that references components across different notation systems, thereby improving interoperability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If disparate data models from different notation systems are used to represent business process components, then each notation system can maintain its own format and semantics, but interoperability between the files is hindered

Engineering Contradiction:
Improvenotation system diversityVSAvoidinteroperability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediate data model that serves as a mediator between different notation system data models. This intermediate model contains mapping relationships that enable translation and interoperability between BPMN, DMN, and other notation systems, resolving the contradiction by maintaining diversity while enabling reliable integration through the intermediary mapping layer

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The intermediate data model is designed to be universal, accommodating multiple notation systems (BPMN, DMN, and others) through a common structure. This universal model can represent components from any notation system and facilitate their integration, allowing the system to handle diverse formats while maintaining interoperability

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If code generation references components across different notation systems, then interoperability is enhanced, but the complexity of mapping between disparate data models increases

Engineering Contradiction:
ImproveinteroperabilityVSAvoidmapping complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-establishing mapping relationships in the intermediate data model before code generation occurs. The mapping between different notation system components is defined in advance in the intermediate model, so when code is generated, the references are already resolved, reducing the complexity during the actual code generation process

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The mapping complexity is segmented by separating the mapping definition (in the intermediate data model) from the code generation process. The intermediate model contains the complex mapping relationships as a separate layer, allowing the code generation to reference pre-defined mappings without needing to resolve complex relationships in real-time

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12175213B2Mapping data models to facilitate code generation
Publication Date: 2024.12.24 RED HAT LLC
  • US12175213B2 patent drawing
  • US12175213B2 patent drawing
  • US12175213B2 patent drawing

AI summary

In various examples disclosed herein, provided is a method for mapping data models to facilitate code generation. The method can include receiving a first file comprising a first data model of a first group of components and a second file comprising a second data model of a second group of components. The method can also include converting the first data model into a first intermediate data model. The method can also include converting the second data model into a second intermediate data model. The method can also include mapping the first intermediate data model to the second intermediate data model to generate a map of matching elements. The method can also include generating code to be executed based at least in part on the map of matching elements.