Mainframe Code Data Mapping with Graph Neural Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Understanding the memory structure and impact of data elements in mainframe applications is difficult due to complex data movement and parent-child relationships, making enhancements and transformations challenging.
Innovation Solution
A graph neural network-based model is used to learn the structure of data elements and predict data movement by employing operation and hierarchy-based message passing, enabling efficient memory mapping and understanding of data element interactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If sequential parsing techniques are used to analyze parent-child data element relationships, then the analysis can be performed with simple processing logic, but the computational cost increases exponentially with data structure depth
Solution Approach 1:
The patent replaces sequential parsing techniques with a graph neural network model that processes data element relationships in parallel. The GNN learns parent-child impact relationships through message passing mechanisms, substituting the mechanical sequential analysis with a neural network-based parallel processing system that scales better with structure depth
Solution Approach 2:
The patent transforms the sequential one-dimensional analysis into a multi-dimensional graph structure where data elements are nodes and relationships are edges. This dimensional transformation allows simultaneous consideration of multiple parent-child relationships at different levels, reducing computational complexity while maintaining analysis depth
2Measurement precision
If explicit physical statements are used to track data movement between variables, then the data flow can be precisely traced, but such statements are not available in mainframe code making parsing insufficient
Solution Approach 1:
The patent introduces an intermediary graph neural network model that infers data movement relationships between parent and child variables without requiring explicit physical statements. The GNN acts as a mediator that learns implicit relationships through training, bridging the gap between complex mainframe code structures and understandable data flow patterns
Solution Approach 2:
The patent creates a graph-based representation (copy) of the data element relationships that mirrors the actual data flow without requiring the original explicit statements. This graph copy captures parent-child relationships and data movement patterns, enabling analysis without modifying or requiring the original complex code structure
3Loss of information
If the data element structure goes deeper with more nested levels, then the data modeling becomes more comprehensive, but the sequential resolution process becomes computationally expensive
Solution Approach 1:
The patent performs preliminary action by pre-training the graph neural network model on data element relationships before actual impact analysis. This pre-training phase learns the patterns of parent-child relationships and data movement, so that during actual analysis, the model can quickly infer relationships without sequential processing, maintaining both completeness and speed
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Most of the existing production applications in different domains are still running on. Mainframe applications in production receive data from various resources and process these data within. Understanding the structure of input data and output data is extremely important. A method and system for machine learning based understanding of a plurality of data elements in a mainframe program code has been provided. The method discloses a machine learning model that understands the structure of data elements in a Mainframe program code. The model considered is a graph neural network based architecture model. The disclosed method replicates memory mapping happening in the application program environment. The method understands the structure of the data element and the impact created by each data element on other data elements in the application and interfacing applications. The disclosed solution serves as a building block in problems such as code translation, reverse engineering etc.