Industrial PLC Code Merge Resolution with AI Summaries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Industrial control programs face challenges in accurately summarizing changes and resolving merge conflicts due to vague commit messages, unfamiliar domain-specific languages, and graphical user interfaces that hinder understanding of code changes, especially when multiple entities work concurrently.
Innovation Solution
An automated system utilizing artificial intelligence and machine learning generates plain language summaries of code changes and resolves merge conflicts by analyzing formal language constructs, considering entity roles and vernacular, and providing options based on historical data and context.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If commit messages are created manually by entities editing the program, then version tracking is maintained, but the summaries may be vague, confusing, or inaccurate
Solution Approach 1:
The system automatically generates commit summaries by analyzing the actual code changes and comparing them with the provided commit message, allowing the system to self-evaluate and identify discrepancies without manual intervention
Solution Approach 2:
The system provides feedback to entities about the accuracy and clarity of their commit messages by comparing them with the actual changes, enabling continuous improvement of summary quality
2Ease of operation
If entities interact with program code via graphical user interface, then ease of operation is improved, but ability to discern code changes is reduced
Solution Approach 1:
The system acts as an intermediary that translates between the graphical interface interactions and the underlying code changes, providing a bridge that makes changes visible and understandable
Solution Approach 2:
The system replaces manual visual inspection of code changes with automated AI analysis that can detect and explain changes regardless of the interface used
3Productivity
If multiple entities work concurrently on the same program code, then productivity is improved, but merge conflicts occur
Solution Approach 1:
The system provides automated feedback about potential conflicts before they occur, allowing entities to adjust their changes to avoid merge issues
Solution Approach 2:
The system performs preliminary analysis of proposed changes against existing code and other pending changes to predict and prevent merge conflicts before they occur
4Manufacturing precision
If domain specific language is used for program code, then manufacturing precision is improved, but ease of operation is reduced
Solution Approach 1:
The system acts as an intermediary that translates between the domain-specific language and plain language explanations, making precise code understandable without losing its technical accuracy
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Various systems and methods are presented regarding using generative artificial intelligence/machine language (AI/ML) to resolve a merge conflict between two or more versions of a program code. The program code can be industrial automation software utilized to control one or more PLCs in an industrial environment. Interaction with the program code can be via a programming tool that presents the program code in a human readable format, while the AI/ML can be applied to the underlying source code. Hence, while the source code is applied to the PLC, the programming tool enables interaction various human readable summaries of the program code and respective options available to resolve the merge conflict. Accordingly, a process engineer, or suchlike, does not have to be familiar with the source code format to readily understand a summary of the merge conflict or one or more options available to correct the conflict.