AI/ML Change Summaries for PLC Program Merge Conflicts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Industrial control programs face challenges in accurately summarizing changes due to varying levels of understanding among entities, confusion caused by graphical user interfaces, and merge conflicts during concurrent edits, especially when using domain-specific languages unfamiliar to all involved parties.
Innovation Solution
An automated system utilizing artificial intelligence and machine learning to generate plain language summaries of program code changes, convert formal code to plain language, and resolve merge conflicts by analyzing code edits and historical data to provide understandable summaries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If manual summary creation by entities is used, then summaries can be created for each program version, but the summaries may not accurately reflect the change and may be vague or confusing to other entities
Solution Approach 1:
The system enables self-service by automatically generating change summaries through AI/ML analysis of code differences, eliminating the need for manual summary creation while ensuring accurate reflection of actual changes made to the program code
Solution Approach 2:
The patent replaces the mechanical process of manual summary writing with an automated AI/ML system that analyzes code changes and generates summaries, substituting human cognitive effort with computational analysis to improve accuracy and consistency
2Ease of operation
If graphical user interface representation is used, then entities can interact with program code more easily, but entities may be unable to discern changes made to the program code
Solution Approach 1:
The system introduces an intermediary AI/ML component that translates between the graphical representation and the actual code changes, generating summaries that bridge the gap between visual interface convenience and change visibility, allowing entities to interact easily while still understanding what changed
3Adaptability or versatility
If domain specific language is used, then program code can be written for industrial automation, but entities may be unfamiliar with the language and unable to discern changes
Solution Approach 1:
The patent substitutes the need for human understanding of domain-specific language with AI/ML-based analysis that automatically interprets DSL code changes and generates plain language summaries, making the system adaptable to industrial automation while maintaining ease of understanding for all entities
4Productivity
If multiple entities work on the same program code concurrently, then productivity is improved, but merge conflicts occur that cannot be implemented without further resolution
Solution Approach 1:
The system implements feedback by automatically generating summaries of code changes that provide visibility into what each entity is modifying, enabling early detection of potential conflicts and facilitating smoother merge resolution through informed decision-making about change interactions
Data Source
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.


