Intermediate System Representation for Round-Trip Engineering Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software development environments face challenges in efficiently and interactively maintaining synchronization between source code and development models due to the lack of explicit associations between code blocks and model elements, leading to error-prone and computationally intensive updates, especially in collaborative multi-developer environments.
Innovation Solution
A round-trip engineering system utilizes an intermediate system representation (ISR) to persistently associate code blocks and model elements, enabling efficient propagation of updates by maintaining a bidirectional mapping and metadata, allowing for automatic or manual updates and real-time synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional RTE tools are used to propagate updates between source code and development models, then synchronization between artifacts can be maintained, but the process becomes error-prone and computationally intensive due to lack of explicit associations between code blocks and model elements
Solution Approach 1:
The patent introduces an intermediate representation (IR) that serves as a mediator between source code and development models. The IR contains explicit association information linking code blocks to model elements, enabling accurate and efficient update propagation without directly comparing the disparate code and model formats. This intermediary structure resolves the contradiction by providing a common reference frame that simplifies the synchronization process while maintaining high reliability.
Solution Approach 2:
The patent creates a copied or mirrored structure of the association relationships in the intermediate representation. By maintaining copies of the linkages between code and model elements in the IR, the system can efficiently query and propagate updates without performing complex analyses of the original artifacts. This copying approach reduces computational intensity while ensuring accurate update propagation.
2Productivity
If traditional RTE tools are used for update propagation, then artifact synchronization can be achieved, but the computational resources required increase significantly due to the need to analyze and match code and model elements without explicit associations
Solution Approach 1:
The patent performs preliminary action by pre-establishing the intermediate representation with all association information between code blocks and model elements before update propagation is needed. By having the IR pre-computed and stored with explicit linkages, the system avoids performing computationally intensive matching operations during actual update propagation, thereby significantly improving efficiency while reducing real-time computational resource consumption.
Solution Approach 2:
The intermediate representation acts as a mediator that caches the complex association relationships between code and model elements. Instead of repeatedly analyzing and matching elements during each update operation, the system queries the pre-built IR structure, which dramatically reduces computational resource requirements while maintaining high productivity in update propagation.
3Adaptability or versatility
If source code and development models are maintained in different formats (textual and diagram/markup), then each artifact can be edited independently, but explicit associations between individual elements cannot be established, leading to error-prone update propagation
Solution Approach 1:
The intermediate representation serves as an intermediary that captures explicit associations between code blocks and model elements while preserving the independence of the original artifacts. The IR stores linkage information without requiring changes to the source code or model formats, thereby maintaining adaptability and independent editability while enabling reliable element associations through the intermediary structure.
Data Source
AI summary
Embodiments described herein provide a round-trip engineering system. During operation, the system can maintain an intermediate system representation (ISR) for a set of artifacts of a piece of software. The set of artifacts can include a piece of code and a development model. The ISR can remain persistent upon synchronization of the set of artifacts. The system can incorporate, in a respective component of the ISR, a reference to a code block in the piece of code and a corresponding element in the development model. If the system determines a first update in a first segment of a first artifact of the set of artifacts, the system can identify a second segment in a second artifact from the set of artifacts based on a corresponding component in the ISR. The system can then propagate a second update to the second segment to reflect the first update in the first segment.


