US-20260127148-A1 - Systems and Methods for Review and Merger of Textual Notation Files of Complex Hardware Systems Model in Post-Cloud Engineering Data Management Infrastructure
Abstract
The present disclosure provides a system for modifying a model of a complex hardware system. The system includes one or more memories configured to store computer-executable instructions and one or more processors configured to execute the instructions. The system is configured to submit a pull request to a distributed version control system comprising snapshots of the model stored in text notation, receive a first snapshot in text notation, perform a transform operation to generate a transform of the first snapshot for graphical display in an engineering application, display the transform via a user interface, generate a modified version of the first snapshot in response to user inputs, and store the modified version in the one or more memories. The system enables efficient modification and management of complex hardware system models using distributed version control and graphical engineering applications.
Inventors
- Charles Ezekial Brechtel
- Jonathan Thomas
- Michael Karric
- Steven Richard Massey
- Casandra Silva
- Pablo Sanfilippo
Assignees
- Prewitt Ridge, Inc.
Dates
- Publication Date
- 20260507
- Application Date
- 20251222
Claims (20)
- 1 . A system for modifying a model of a project, the system comprising: one or more memories configured to store computer-executable instructions; and one or more processors configured to execute the computer-executable instructions, wherein the system is configured to: obtain, from a distributed version control system, a first snapshot of the model of the project, wherein the first snapshot being in a text-based systems modeling language: perform a first transform operation to the first snapshot of the model of the project to obtain an intermediate data structure, wherein the intermediate data structure is configured to be loaded and manipulated by a domain specific application, and wherein the first transform operation comprises: performing lexical analysis on the first snapshot to break the text-based systems modeling language into a plurality of tokens based on grammar rules defined in a grammar file: classifying each token of the plurality of tokens based on predefined categories to generate a plurality of classified tokens: performing syntactic analysis on the plurality of classified tokens to construct the intermediate data structure by applying the grammar rules to group and organize the plurality of classified tokens into a hierarchical structure: creating, based on the hierarchical structure, nodes in the intermediate data structure, wherein each node represents an element of the model: establishing edges between the nodes based on relationships and hierarchies indicated by the plurality of classified tokens; and storing, for each token of the plurality of tokens, line and column data corresponding to a location of the token within the nodes or edges of the intermediate data structure: store the intermediate data structure in the one or more memories: access a modified version of the intermediate data structure, wherein the modified version of the intermediate data structure is modified by the domain specific application based on user inputs received via the domain specific application: perform a second transform operation to the modified version of the intermediate data structure to obtain a modified version of the first snapshot of the model of the project, wherein the modified version of the first snapshot is in the text-based systems modeling language: perform a comparison of the first snapshot of the model of the project to the modified version of the first snapshot of the model of the project, thereby generating a diff; and based on the diff, display changes between the first snapshot of the model of the project and the modified version of the first snapshot of the model of the project.
- 2 . The system of claim 1 , wherein the system is further configured to: apply, by the domain specific application, syntax highlighting and formatting to the modified version of the first snapshot to enhance readability.
- 3 . The system of claim 2 , wherein the system is further configured to: convert the syntax highlighting and formatting to an intermediary representation for display on graphical or tabular representations of the modified version of the first snapshot of the model of the project.
- 4 . The system of claim 1 , wherein the system is further configured to: obtain, by the domain specific application, comments concerning the modified version of the first snapshot of the model of the project to explain changes or provide context for modifications for the modified version of the first snapshot.
- 5 . The system of claim 1 , wherein the system is further configured to: notify, by the domain specific application, stakeholders about updates made to the modified version of the first snapshot of the model of the project.
- 6 . The system of claim 5 , wherein the system is further configured to: provide asynchronous design review.
- 7 . The system of claim 1 , wherein the system is further configured to: perform, by the domain specific application, a semantic analysis to determine an impact of the changes on overall system functionality and performance.
- 8 . The system of claim 1 , wherein the system is further configured to: calculate, by the domain specific application, metrics for each snapshot of the model.
- 9 . The system of claim 1 , wherein the system is further configured to: identify, by the domain specific application, potential conflicts or inconsistencies introduced by changes across different versions of snapshots of the model.
- 10 . The system of claim 1 , wherein the system is further configured to: analyze, by the domain specific application, adherence of each snapshot of the model to predefined modeling standards or best practices.
- 11 . The system of claim 1 , wherein the system is further configured to: perform a semantic analysis to determine an impact of the changes on overall system functionality and performance; and create, by the domain specific application, an audit trail of the semantic analysis performed, including timestamps and user information.
- 12 . The system of claim 1 , wherein the system is further configured to: receive a merge request to merge the modified version of the first snapshot with a second snapshot of the model of the project; and initiate a merge process to combine the modified version of the first snapshot and the second snapshot.
- 13 . The system of claim 12 , wherein the system is further configured to: display a merge interface comprising an overview of the merge request, including requester information, status of checks and approvals, and options for approving or rejecting the merge request.
- 14 . The system of claim 12 , wherein the system is further configured to: display a commit history associated with the merge request, the commit history providing a chronological view of commits made to the model.
- 15 . The system of claim 12 , wherein the system is further configured to: display a pipeline interface showing stages of the merge process and their respective statuses.
- 16 . The system of claim 12 , wherein the system is further configured to: perform an automated conflict detection to identify conflicts between the modified version of the first snapshot and the second snapshot.
- 17 . The system of claim 16 , wherein the system is further configured to: display a review interface highlighting the conflicts and providing options for resolving the conflicts.
- 18 . The system of claim 12 , wherein the system is further configured to: generate a merged snapshot by combining non-conflicting portions of the modified version of the first snapshot and the second snapshot; and store the merged snapshot in the distributed version control system.
- 19 . A computer-implemented method for modifying a model of a project, the computer-implemented method comprising: obtaining, from a distributed version control system, a first snapshot of the model of the project, wherein the first snapshot is in a text-based systems modeling language: perform a first transform operation to the first snapshot of the model of the project to obtain an intermediate data structure, wherein the intermediate data structure is configured to be loaded and manipulated by a domain specific application: storing the intermediate data structure in one or more memories: accessing a modified version of the intermediate data structure, wherein the modified version of the intermediate data structure is modified by the domain specific application based on user inputs received via the domain specific application: perform a second transform operation to the modified version of the intermediate data structure to obtain a modified version of the first snapshot of the model of the project, wherein the modified version of the first snapshot is in the text-based systems modeling language, and wherein the second transform operation comprises: traversing the modified version of the intermediate data structure in a depth-first manner to visit each node and edge of the modified version of the intermediate data structure: for each visited node and edge, applying grammar rules defined in a grammar file to convert the visited node and edge into a corresponding textual representation in the text-based systems modeling language: maintaining context information during the traversing to ensure proper nesting and indentation of elements in the text-based systems modeling language; and assembling the corresponding textual representations into the modified version of the first snapshot: performing a comparison of the first snapshot of the model of the project to the modified version of the first snapshot of the model of the project, thereby generating a diff; and based on the diff, displaying changes between the first snapshot of the model of the project and the modified version of the first snapshot of the model of the project.
- 20 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations for modifying a model of a project, the operations comprising: obtaining, from a distributed version control system, a first snapshot of the model of the project, wherein the first snapshot is in a text-based systems modeling language: perform a first transform operation to the first snapshot of the model of the project to obtain an intermediate data structure, wherein the intermediate data structure is configured to be loaded and manipulated by a domain specific application: storing the intermediate data structure in one or more memories: accessing a modified version of the intermediate data structure, wherein the modified version of the intermediate data structure is modified by the domain specific application based on user inputs received via the domain specific application: perform a second transform operation to the modified version of the intermediate data structure to obtain a modified version of the first snapshot of the model of the project, wherein the modified version of the first snapshot is in the text-based systems modeling language, and wherein the second transform operation comprises: identifying, based on the modified version of the intermediate data structure, one or more modifications to nodes or edges of the modified version of the intermediate data structure; for each modification of the one or more modifications, determining, based on line and column data stored for the nodes or edges of the modified version of the intermediate data structure, a location in the first snapshot corresponding to the modification; generating, for each modification of the one or more modifications, a text snippet in the text-based systems modeling language representing the modification; and injecting the text snippet into the location in the first snapshot to generate the modified version of the first snapshot; performing a comparison of the first snapshot of the model of the project to the modified version of the first snapshot of the model of the project, thereby generating a diff; and based on the diff, displaying changes between the first snapshot of the model of the project and the modified version of the first snapshot of the model of the project.
Description
CROSS-REFERENCE TO RELATED APPLICATION(S) This application is a continuation of U.S. application Ser. No. 19/017,310, filed Jan. 10, 2025. U.S. application Ser. No. 19/017,310, filed Jan. 10, 2025, claims the benefit of: U.S. Provisional Application No. 63/690,264, filed Sep. 3, 2024, entitled “Systems and Methods for Post-Cloud Engineering Data Management Infrastructure Using Distributed Version Control:” U.S. Provisional Application No. 63/645,939, filed May 12, 2024, entitled “System and Methods for Client Application for Distributed Version Control of Engineering Data:” and U.S. Provisional Application No. 63/568,320, filed Mar. 21, 2024, entitled “System and Methods for Client-and-Server Infrastructure for Distributed Version Control of Engineering Data.” The contents of each of the above referenced applications are hereby incorporated by reference in its entirety. TECHNICAL FIELD Various aspects of the present disclosure relate generally to systems and methods for systems engineering and, more particularly, to systems and methods for a post-cloud engineering data management infrastructure using distributed version control. BACKGROUND In the realm of engineering and systems design, particularly in the context of complex hardware systems, managing and modifying system models efficiently is crucial. These systems often involve intricate interactions and dependencies, which can be challenging to track and update without sophisticated tools. Traditionally, engineers and system designers have relied on various forms of version control systems to manage changes in system models. However, these systems typically handle files and code changes without providing deeper insights into the specific content of engineering models. The present disclosure is directed to overcoming one or more of these above-referenced challenges. SUMMARY OF THE DISCLOSURE According to certain aspects of the disclosure, systems, methods, and computer readable memory are disclosed for post-cloud engineering data management infrastructure using distributed version control. In some cases, a system for modifying a model of a complex hardware system may include: one or more memories configured to store computer-executable instructions; and one or more processors configured to execute the computer-executable instructions. The system may be configured to: submit, by a client application, a pull request to a distributed version control system, the distributed version control system comprising a plurality of snapshots of the model of the complex hardware system, the snapshots being stored in the distributed version control system in a text notation: receive, from the distributed version control system, a first snapshot of the model of the complex hardware system, the first snapshot being in the text notation: perform a transform operation to the first snapshot of the model of the complex hardware system, thereby generating a transform of the first snapshot, the transform of the first snapshot being in a format configured for graphical display in an engineering application: display, via a user interface of the engineering application, the transform of the first snapshot: in response to user inputs received via the user interface of the engineering application, generate a modified version of the first snapshot of the model of the complex hardware system; and store the modified version of the first snapshot of the model of the complex hardware system in the one or more memories. In some cases, a system for modifying a model of a complex hardware system may include: one or more memories configured to store computer-executable instructions; and one or more processors configured to execute the computer-executable instructions. The system may be configured to: obtain, from a distributed version control system, a first snapshot of the model of the complex hardware system, wherein the first snapshot is in a text-based systems modeling language: parse a text of the first snapshot in the systems modeling language to generate an intermediate data structure, wherein the intermediate data structure is configured to be loaded and manipulated by an engineering application: store the intermediate data structure in the one or more memories: modify, via a user interface of the engineering application, the intermediate data structure based on user inputs, thereby generating a modified version of the intermediate data structure: store the modified version of the intermediate data structure in the one or more memories; access the modified version of the intermediate data structure: based on the modified version of the intermediate data structure, generate a modified version of the first snapshot of the model of the complex hardware system, wherein the modified version of the first snapshot is in the text-based systems modeling language; and store the modified version of the first snapshot of the model of the complex hardware system in the one or more memories. In som