Model Transformation Dependency Management for Merging Source and Target Changes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In model-driven development, there is a lack of effective methods to manage and merge changes across upper and lower models, leading to increased development costs and inefficiencies, particularly when changes in the source model impact the target model and vice versa.
Innovation Solution
An apparatus and method that prioritize and merge changes in the target model attributed to source model updates and independent changes, using a transformation dependency model (TDM) to distinguish and handle differences (Δ1 and Δ2) between source and target models, with rules for conflict resolution and user intervention when necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If model-driven development is used to automate code generation from models, then productivity and ease of manufacture are improved, but device complexity increases due to the need to manage transformations between multiple model layers (CIM, PIM, PSM)
Solution Approach 1:
The patent segments the model transformation process into distinct layers (CIM, PIM, PSM) with separate management mechanisms for each layer. Change information is segmented into different types (Δ1 for source model changes, Δ2 for target model changes) that are handled independently through specific management rules, reducing the complexity of managing overall model transformations.
Solution Approach 2:
The patent introduces a model change information management mechanism that acts as an intermediary between source models and target models. This intermediary captures, stores, and manages change information, facilitating automated merging and resolution without requiring direct complex interactions between multiple model layers.
2Adaptability or versatility
If changes are made independently in both source models and target models, then adaptability is improved, but manufacturing precision deteriorates due to conflicts and errors in merging changes
Solution Approach 1:
The patent performs preliminary actions by capturing and storing change information (Δ1 and Δ2) before the merging process. Change information is recorded with metadata including change type, position, and content, enabling accurate and systematic merging later without losing track of independent changes made to either source or target models.
Solution Approach 2:
The patent implements feedback mechanisms where change information from both source and target models is captured, analyzed, and used to guide the merging process. The system provides feedback on conflicts and requires user confirmation or automatic resolution based on predefined rules, ensuring high precision in merging independent changes.
3Ease of operation
If automated model transformation is implemented, then ease of operation is improved, but loss of information increases when changes in source models impact generated target models
Solution Approach 1:
The patent maintains continuity of useful action by continuously tracking change information from source models through transformation to target models. The system continuously captures change information (Δ1), transforms it through the model transformation process, and merges it with target model changes (Δ2), ensuring no change information is lost in the automated process.
Solution Approach 2:
The patent uses an intermediary change information management mechanism that captures and preserves all change information during automated model transformation. This intermediary stores detailed change data including position, type, and content, preventing information loss while enabling automated transformation operations.
Data Source
AI summary
In a model editing apparatus, a model transformation function transforms SM (source model) 0 into TM (target model) 0, and generates TDM (transformation dependency model) 0. Moreover, when an SM editor generates SM1 by updating SM0, the model transformation function transforms SM1 into TM1 and generates TDM1. When a TM editor generates TM0_n by editing TM0 independently of the change in SM0, a Change element registration function registers a difference Δ2 between TM0 and TM0_n in TDM0, thereby generating TDM0_n. Then, in response to a call, a merge function merges a difference Δ1 between TDM0 and TDM1 extracted by a Δ1 extraction function, and a difference Δ2 extracted from TDM0_n, according to prestored processing patterns.


