Prosecution Insights
Last updated: October 27, 2026
Application No. 18/825,798

METHODS AND SYSTEMS FOR GENERATING PROGRAMMABLE LOGIC CONTROLLER CODE USING LARGE LANGUAGE MODELS

Non-Final OA §102§103§112
Filed
Sep 05, 2024
Priority
Apr 12, 2024 — provisional 63/633,534
Examiner
NGUYEN, NGUYEN PHUONG
Art Unit
2116
Tech Center
2100 — Computer Architecture & Software
Assignee
Schneider Electric SE
OA Round
1 (Non-Final)
Grant Probability
Favorable
1-2
OA Rounds

Examiner Intelligence

Grants only 0% of cases
0%
Career Allowance Rate
0 granted / 0 resolved
-55.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
Avg Prosecution
2 currently pending
Career history
3
Total Applications
across all art units
This examiner has no resolved cases yet (career too new); statute-level performance unavailable. The Grant Probability card shows Tech Center averages instead.

Office Action

§102 §103 §112
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Status of Claims Claims 1-20 are currently pending in this application. Claim Interpretation The following is a quotation of 35 U.S.C. 112(f): (f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: Claim 9 limitation(s) invoke(s) 35 U.S.C. 112(f) because they use generic placeholders such as “a requirement checker”, “a retriever-augmented-generation orchestrator”, “a code generator-evaluator” respectively that is not modified by sufficient structure, material, or acts for performing the claimed function. The written description of the specification discloses the corresponding structure, material, or acts and clearly links them to the function so that one of ordinary skill in the art would recognize what structure, material, or acts perform the claimed function. Paragraph 0043 discloses “the computing system 600 includes a mass storage device 640 coupled to the processor 610 for hosting or storing data and instructions, such as an operating system 642, one or more programs 644 (e.g., requirements checker 210, RAG orchestrator 220, code generator-evaluator 230), and/or data 646..”, which can be interpreted that “a requirement checker”, “a retriever-augmented-generation orchestrator”, “a code generator-evaluator” are part of the system 600 as software programs held in memory storage. Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. Drawings The drawings are objected to because figures 6 – 9 are unreadable. Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 2 and 19 are rejected under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, regards as the invention. Appropriate correction is required. Claim 2 recites the limitation "the user" in line 4. A user was not mentioned in its base claim 1, thus, there is insufficient antecedent basis for this limitation in the claim. Appropriate correction is required. Claim 19 recites the limitation "the user" in line 3. A user was not mentioned in its base claim 18, thus, there is insufficient antecedent basis for this limitation in the claim. Appropriate correction is required. Claim Rejections - 35 USC § 102 The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claims 1, 3, 4, 9, 18, and 20 are rejected under 35 U.S.C. 102(a)(1) or 102(a)(2) as being anticipated by Pantea et. Al (US 12717296 B2), herein “Pantea”. With respect to claim 1, Pantea teaches a method for generating code for an automated machine (figs. 1 - 13), said method comprising: receiving input data defining a set of specifications for the automated machine, the set of specifications including one or more of hardware specifications, operating systems, software frameworks, runtime environments, network connectivity, and environmental considerations (“receive an input file representing an industrial process, further analyze the input file to identify, in the input file, an operation to be performed by a first automation controller configured to control operation of at least one function in the industrial process” [Col 1, lines 61-65]); analyzing the input data to retrieve relevant information from a large corpus, the large corpus including a plurality of libraries (“further analyze the input file to identify, in the input file, an operation to be performed by a first automation controller configured to control operation of at least one function in the industrial process” [Col 1, lines 62-65]; “In an embodiment, the file processing component can be further configured to analyze the input file to identify, in the input file, an operation to be performed by a second automation controller, further reference a database comprising a list of automation controllers” [Col 2, lines 20-24]); generating one or more prompts based on the relevant information (“Context can also be generated as a function of a context component (e.g., context component 340) generating questions (e.g., questions 380A-n) and receiving responses (e.g., answers 382A-n) to further knowledge of the process representation being created” [Col 23, lines 22-27]); and using the one or more prompts to generate programmable logic controller (PLC) code, wherein the PLC code includes a sequence of operations for controlling the automated machine (“At 1030, the submitted feature can be converted by the file processing component to generate control code for that submitted feature.” [Col 23, lines 28-30]). With respect to claim 3, the previously cited reference(s) teach the limitations of claim 1 which claim 3 depends on. Pantea teaches wherein analyzing the input data comprises using a large language model to determine the relevant information (“The various embodiments presented herein can utilize various machine learning-based schemes for carrying out various aspects thereof. For example, a process (e.g., by file processing component 125 in conjunction with image component 310, symbol component 320, structure component 330, and suchlike) for determining respective structure 210A-n and symbols 220A-n in an input file 105A-n, a process (e.g., by file processing component 125 in conjunction with identification component 390) for correlating prior data (e.g., in historical data 190 and device data 195) with respective structure 210A-n and symbols 220A-n in an input file 105A-n” [Col 25, lines 27 - 38]). With respect to claim 4, the previously cited reference(s) teach the limitations of claim 1 which claim 4 depends on. Pantea teaches wherein analyzing the input data comprises using a large language model to determine one or more machine requirements or specifications and determine the relevant information based on the one or more machine requirements or specifications (“The various embodiments presented herein can utilize various machine learning-based schemes for carrying out various aspects thereof. For example, a process (e.g., by file processing component 125 in conjunction with image component 310, symbol component 320, structure component 330, and suchlike) for determining respective structure 210A-n and symbols 220A-n in an input file 105A-n, a process (e.g., by file processing component 125 in conjunction with identification component 390) for correlating prior data (e.g., in historical data 190 and device data 195) with respective structure 210A-n and symbols 220A-n in an input file 105A-n, a process (e.g., by the file processing component 125) for generating an instruction code 140A-n based on the determined correlation(s) between the prior data and the determined structure 210A-n and symbols 220A-n in an input file 105A-n, and suchlike, as previously mentioned herein, can be facilitated via an automatic classifier system and process.” [Col 25, lines 27 - 44]). With respect to claim 9, the previously cited reference(s) teach the limitations of claim 1 which claim 9 depends on. Pantea teaches wherein using the one or more prompts to generate the PLC code comprises evaluating the PLC code for suitability for one or more desired functions (“The computer executable components can comprise a file processing component configured to: receive an input file representing an industrial process, further analyze the input file to identify, in the input file, an operation to be performed by a first automation controller configured to control operation of at least one function in the industrial process, and further construct automation code to control operation of the first automation controller in the event of the automation code is executed to control the industrial process.” [Col 1, lines 60 – col 2, lines 1]). With respect to claim 18, Pantea teaches a computing system comprising: one or more computer storage media including data and computer-executable instructions; and one or more processors configured to execute the computer-executable instructions to: receive input data defining a set of specifications for an automated machine, the set of specifications including one or more of hardware specifications, operating systems, software frameworks, runtime environments, network connectivity, and environmental considerations (“In another embodiment, a computer program product can comprise a computer readable storage medium having program instructions embodied therewith, the program instructions can be executable by a processor, causing the processor to perform operations comprising: receiving an input file representing an industrial process; analyzing the input file to identify, in the input file, an operation to be performed by a first automation controller configured to control operation of at least one function in the industrial process, and further constructing automation code to control operation of the first automation controller in the event of the automation code is executed to control the industrial process” [Col 3, line 9 - 20]); analyze the input data to retrieve relevant information from a large corpus, the large corpus including a plurality of libraries (“further analyze the input file to identify, in the input file, an operation to be performed by a first automation controller configured to control operation of at least one function in the industrial process” [Col 1, line 62 - 65]; “In an embodiment, the file processing component can be further configured to analyze the input file to identify, in the input file, an operation to be performed by a second automation controller, further reference a database comprising a list of automation controllers” [Col 2, line 20 - 24]); generate one or more prompts based on the relevant information (“further analyze the input file to identify, in the input file, an operation to be performed by a first automation controller configured to control operation of at least one function in the industrial process” [Col 1, level 62 - 65]; “In an embodiment, the file processing component can be further configured to analyze the input file to identify, in the input file, an operation to be performed by a second automation controller, further reference a database comprising a list of automation controllers” [Col 2, line 20 - 24]); and use the one or more prompts to generate programmable logic controller (PLC) code, wherein the PLC code includes a sequence of operations for controlling the automated machine (“further constructing automation code to control operation of the first automation controller in the event of the automation code is executed to control the industrial process” [Col 3, line 18 - 20]). With respect to claim 20, the previously cited reference(s) teach the limitations of claim 18 which claim 20 depends on. Pantea teaches wherein the one or more processors are further configured to use a large language model to determine one or more machine requirements or specifications and determine the relevant information based on the one or more machine requirements or specifications (“The various embodiments presented herein can utilize various machine learning-based schemes for carrying out various aspects thereof. For example, a process (e.g., by file processing component 125 in conjunction with image component 310, symbol component 320, structure component 330, and suchlike) for determining respective structure 210A-n and symbols 220A-n in an input file 105A-n, a process (e.g., by file processing component 125 in conjunction with identification component 390) for correlating prior data (e.g., in historical data 190 and device data 195) with respective structure 210A-n and symbols 220A-n in an input file 105A-n, a process (e.g., by the file processing component 125) for generating an instruction code 140A-n based on the determined correlation(s) between the prior data and the determined structure 210A-n and symbols 220A-n in an input file 105A-n, and suchlike, as previously mentioned herein, can be facilitated via an automatic classifier system and process.” [Col 25, line 27 - 44]). Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claim 2 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Pantea et. Al (US 12717296 B2), herein “Pantea”, in view of Kozhisseri et. Al (US 11526334 B2), herein “Kozhisseri”. With respect to claim 2, the previously cited reference(s) teach the limitations of claim 1 which claim 2 depends on. Pantea teaches wherein analyzing the input data comprises determining a confidence level of understanding the input data, comparing the confidence level with a predefined threshold (“At 930, a determination can be made by a context component (e.g., context component 340) in conjunction with any of the file processing component, the image component, the symbol component, the structure component, and suchlike, regarding whether information available in any of the input file, the supplemental file, the historical data, the equipment data, and suchlike, is sufficient to enable the respective components included in the CGS to determine (e.g., with an acceptable level of certainty) one or more features in the input file, and further, generate operational code having a sufficient level of confidence regarding the constructed instruction code.” [Col 22, lines 1-12]). Pantea does not teach that on condition that the confidence level is below the predefined threshold, prompting the user for additional user input. However, Kozhisseri teaches a method for generating code (figs. 1-5) and on condition that the confidence level is below the predefined threshold, prompting the user for additional user input (“The source code generator as claimed in claim 10, wherein the processor generates the one or more source codes for the application flow by: comparing vector representation of the application flow with one or more vector representations corresponding to one or more stored source codes; determining a confidence level for each pair of the vector representation based on comparison; and generating the one or more source codes for the application flow by combining the one or more stored source codes corresponding to the vector representation having the confidence level higher than a predefined confidence threshold.” [Col 21, lines 58 – Col 22, lines 1]; “The source code generator as claimed in claim 10, wherein the processor is further configured to collect user feedback indicating a complete acceptance, a partial acceptance or a rejection of the executable source code by the user, and training a recommendation model used for validating the one or more best-fit source codes using the user feedback.” [Col 22, lines 44-50]). Because Pantea’s teachings are directed to a method and system for dynamically generating codes (Pantea: figs. 1-13, Kozhisseri: figs. 1-5), it would have been obvious to person of ordinary skill in the art (POSITA) before the effective filing date to incorporate the programmable logic controller code generation method and system as taught by Pantea with the “on condition that the confidence level is below the predefined threshold, prompting the user for additional user input” as taught by Kozhisseri with the purpose of saving time for engineers and improving accuracy for code generation in automation and/or control systems, (Kozhisseri: [Col 1, lines 1 - 48]). With respect to claim 19, the previously cited reference(s) teach the limitations of claim 18 which claim 19 depends on. Pantea and Kozhisseri combined teaches wherein the one or more processors are further configured to determine a confidence level of understanding the input data, compare the confidence level with a predefined threshold (Pantea: “At 930, a determination can be made by a context component (e.g., context component 340) in conjunction with any of the file processing component, the image component, the symbol component, the structure component, and suchlike, regarding whether information available in any of the input file, the supplemental file, the historical data, the equipment data, and suchlike, is sufficient to enable the respective components included in the CGS to determine (e.g., with an acceptable level of certainty) one or more features in the input file, and further, generate operational code having a sufficient level of confidence regarding the constructed instruction code.” [Col 22, line 1 - 13]), and on condition that the confidence level is below the predefined threshold, prompt the user for additional user input (Kozhisseri: “The source code generator as claimed in claim 10, wherein the processor generates the one or more source codes for the application flow by: comparing vector representation of the application flow with one or more vector representations corresponding to one or more stored source codes; determining a confidence level for each pair of the vector representation based on comparison; and generating the one or more source codes for the application flow by combining the one or more stored source codes corresponding to the vector representation having the confidence level higher than a predefined confidence threshold.” [Col 21, line 58 – col 22, line 3]; “The source code generator as claimed in claim 10, wherein the processor is further configured to collect user feedback indicating a complete acceptance, a partial acceptance or a rejection of the executable source code by the user, and training a recommendation model used for validating the one or more best-fit source codes using the user feedback.” [Col 22, line 44 - 50]). Claims 5-8 are rejected under 35 U.S.C. 103 as being unpatentable over Pantea et. Al (US 12717296 B2), herein “Pantea”, in view of Stump et. Al (US 20210096543 A1), herein “Stump”. With respect to claim 5, the previously cited reference(s) teach the limitations of claim 1 which claim 5 depends on. Pantea does not teach a system wherein using the one or more prompts to generate the PLC code comprises comparing the PLC code with one or more predefined templates, standards or best practices. However, Stump teaches a system wherein using the one or more prompts to generate the PLC code comprises comparing the PLC code with one or more predefined templates, standards or best practices (“In such scenarios, vendor-provided code can be submitted to the IDE system 202, and project generation component 206 can analyze this code in view of in-house coding standards specified by one or more custom guardrail templates 506… As an alternative or in addition to recommending these modifications, some embodiments of project generation component 206 can be configured to automatically modify the code in accordance with the recommendations to bring the code into conformance.” [0065]). Because Pantea’s teachings are directed to a method and system for dynamically generating codes (Pantea: figs. 1-13, Stump: figs. 1-6), it would have been obvious to person of ordinary skill in the art (POSITA) before the effective filing date to incorporate the programmable logic controller code generation method and system as taught by Pantea with the using predefined guardrail templates as a way to evaluate and generate PLC code based on coding standards, naming conventions, and relevancy to the project, as taught by Stump with the purpose of saving time for automation system design engineers and improving accuracy for code generation in automation and/or control systems, (Stump: [0003-0005]). With respect to claim 6, the previously cited reference(s) teach the limitations of claim 1 which claim 6 depends on. Pantea does not teach a system wherein using the one or more prompts to generate the PLC code comprises evaluating the PLC code for clarity, organization, and adherence to naming conventions. However, Stump teaches a system wherein using the one or more prompts to generate the PLC code comprises evaluating the PLC code for clarity, organization, and adherence to naming conventions. (“Project generation component 206 can leverage guardrail templates 506 to implement rules-based programming, whereby programming feedback (a subset of design feedback 518) such as dynamic intelligent autocorrection, type-aheads, or coding suggestions are rendered based on encoded industry expertise and best practices (e.g., identifying inefficiencies in code being developed and recommending appropriate corrections).” [0064]). With respect to claim 7, the previously cited reference(s) teach the limitations of claim 1 which claim 7 depends on. Pantea does not teach a system wherein using the one or more prompts to generate the PLC code comprises evaluating the PLC code for relevancy to one or more machine requirements or specifications. However, Stump teaches a system wherein using the one or more prompts to generate the PLC code comprises evaluating the PLC code for relevancy to one or more machine requirements or specifications. (“During development, project generation component 206 can select and apply a subset of guardrail templates 506 determined to be relevant to the project currently being developed, based on a determination of such aspects as the industrial vertical to which the project relates, the type of industrial application being programmed (e.g., flow control, web tension control, a certain batch process, etc.), or other such aspects.” [0064]). With respect to claim 8, the previously cited reference(s) teach the limitations of claim 1 which claim 8 depends on. Pantea does not teach a system wherein using the one or more prompts to generate the PLC code comprises evaluating the PLC code for adherence to one or more standards, best practices, or regulatory requirements. However, Stump teaches a system wherein using the one or more prompts to generate the PLC code comprises evaluating the PLC code for adherence to one or more standards, best practices, or regulatory requirements (“Project generation component 206 can leverage guardrail templates 506 to implement rules-based programming, whereby programming feedback (a subset of design feedback 518) such as dynamic intelligent autocorrection, type-aheads, or coding suggestions are rendered based on encoded industry expertise and best practices (e.g., identifying inefficiencies in code being developed and recommending appropriate corrections).” [0064]). Claims 10 – 17 are rejected under 35 U.S.C. 103 as being unpatentable over Pantea et. Al (US 12717296 B2), herein “Pantea”, in view of Kozhisseri et. Al (US 11526334 B2), herein “Kozhisseri,” further in view of Stump et. Al (US 20210096543 A1), herein “Stump”, further in view of Vaughn et. Al (US 20240111498 A1), herein “Vaughn”. Regarding claims 10 – 17, they are directed to a system or apparatuses to implement the method of steps set forth in claims 1 – 10. Pantea, Kozhisseri, Stump, and Vaughn teach the claimed method in steps of claims 1 – 10. Therefore, Pantea, Kozhisseri, Stump, and Vaughn teach the system or apparatuses, to implement the claimed method of steps, in claims 10 – 17. Furthermore, regarding claim 10, it is directed to a requirements checker, retriever-augmented-generation orchestrator, and code generator-evaluator to implement the claimed method of steps in claim 1. With respect to claim 10, Pantea teaches a system for generating code for an automated machine (figs 1 – 6), the system comprising: a requirements checker configured to determine one or more specifications, the one or more specifications including one or more of hardware specifications, operating systems, software frameworks, runtime environments, network connectivity, and environmental considerations (“receive an input file representing an industrial process, further analyze the input file to identify, in the input file, an operation to be performed by a first automation controller configured to control operation of at least one function in the industrial process” [Col 1, lines 60 – col 2, line 1]); Pantea does not teach a system to receive user input and analyze the user input, a code generator-evaluator configured to generate code based on the one or more prompts and evaluate the generated code for readability, relevancy, compliance, contextual appropriateness, accuracy, and functionality, and a retriever-augmented-generation orchestrator configured to analyze the user input to retrieve relevant information from a large corpus and generate one or more prompts based on the retrieved relevant information. However, Kozhisseri teaches a system for generating code (figs. 1-5) that is configured to receive user input and analyze the user input (“In an embodiment, for generating the application flow 211, the identification module 219 may first go through the user inputs 103 to identify “new line” delimiter to identify the paragraphs in the user inputs 103, as shown in step 301 of FIG. 3A. Further, the paragraphs may be split into sentences using delimiters. Thereafter, as shown in step 303, each sentence in the paragraphs may be pre-processed using predetermined text preprocessing techniques to cleanse the text in the user inputs 103. Further, each sentence in the cleansed user inputs 103 may be analyzed to identify verbs, nouns, adjectives, adverbs and tenses, using predefined language dictionaries configured with the source code generator 105.” [Col 8, line 27 - 39]). Because Pantea’s teachings are directed to a method and system for dynamically generating codes (Pantea: figs 1-13, Kozhisseri: figs. 1-15), it would have been obvious to a person of ordinary skill in the art (POSITA) before the effective filing date to incorporate the programmable logic controller code generation method and system as taught by Pantea with the “receive user input and analyze the user input” as taught by Kozhisseri with the purpose of saving time for engineers and improving accuracy for code generation in automation and/or control systems, (Kozhisseri: [Col 1, lines 1 - 48]). Furthermore, Stump teaches an automation system designer to preform project development (figs. 1-16) that is configured to generate code based on the one or more prompts and evaluate the generated code for readability, relevancy, compliance, contextual appropriateness, accuracy, and functionality (“Project generation component 206 can leverage guardrail templates 506 to implement rules-based programming, whereby programming feedback (a subset of design feedback 518) such as dynamic intelligent autocorrection, type-aheads, or coding suggestions are rendered based on encoded industry expertise and best practices (e.g., identifying inefficiencies in code being developed and recommending appropriate corrections).” [0064]; “In such scenarios, vendor provided code can be submitted to the IDE system 202, and project generation component 206 can analyze this code in view of in-house coding standards specified by one or more custom guardrail templates 506… As an alternative or in addition to recommending these modifications, some embodiments of project generation component 206 can be configured to automatically modify the code in accordance with the recommendations to bring the code into conformance.” [0065]). Because Stump’s teachings is also directed to a method and system for dynamically generating control code (Stump: figs. 1-16, Pantea: figs. 1-13, Kozhisseri: figs. 1-5), it would have been obvious to person of ordinary skill in the art (POSITA) before the effective filing date to incorporate the programmable logic controller code generation method and system as taught by Pantea with the “generating code based on the one or more prompts and evaluate the generated code for readability, relevancy, compliance, contextual appropriateness, accuracy, and functionality” as taught by Stump for the purpose of saving time for engineers and improving accuracy for code generation in automation and/or control systems, (Stump: [0003-0005]). Furthermore, however, Vaughn teaches a retriever-augmented-generation orchestrator configured to retrieve relevant information from a large corpus (“The retriever component is responsible for obtaining relevant context or evidence from a corpus that can be helpful in generating a response.” [0033]; “For example, the processor circuitry may generate at least a portion of the information on the existing application architecture using a Retrieval-Augmented Generation machine-learning model.” [0040]). Because Vaughn’s teachings is also directed to a method and system for generating code using a large language model (Pantea: figs. 1-13, Kozhisseri: figs. 1-5, Stump: figs. 1-16, Vaughn: fig. 1), it would have been obvious to person of ordinary skill in the art (POSITA) before the effective filing date to incorporate the programmable logic controller code generation method and system as taught by Pantea and the system and method of receiving and analyzing user input as taught by Kozhisseri with the “retriever-augmented generation orchestrator configured to retrieve relevant information from a large corpus” as taught by Vaughn for the purpose of aiding developers and coding systems in efficiently generating code using accurate prompts, (Vaughn: [0002]). With respect to claim 11, the previously cited reference(s) teach the limitations of claim 10 which claim 11 depends on. Pantea and Kozhisseri combined teaches wherein the requirements checker determines a confidence level of understanding the input data, compares the confidence level with a predefined threshold (Pantea: “At 930, a determination can be made by a context component (e.g., context component 340) in conjunction with any of the file processing component, the image component, the symbol component, the structure component, and suchlike, regarding whether information available in any of the input file, the supplemental file, the historical data, the equipment data, and suchlike, is sufficient to enable the respective components included in the CGS to determine (e.g., with an acceptable level of certainty) one or more features in the input file, and further, generate operational code having a sufficient level of confidence regarding the constructed instruction code.” [Col 22, line 1 - 13]), and on condition that the confidence level is below the predefined threshold, prompts the user for additional user input (Kozhisseri: “The source code generator as claimed in claim 10, wherein the processor generates the one or more source codes for the application flow by: comparing vector representation of the application flow with one or more vector representations corresponding to one or more stored source codes; determining a confidence level for each pair of the vector representation based on comparison; and generating the one or more source codes for the application flow by combining the one or more stored source codes corresponding to the vector representation having the confidence level higher than a predefined confidence threshold.” [Col 21, line 58 – col 22, line 3]; “The source code generator as claimed in claim 10, wherein the processor is further configured to collect user feedback indicating a complete acceptance, a partial acceptance or a rejection of the executable source code by the user, and training a recommendation model used for validating the one or more best-fit source codes using the user feedback.” [Col 22, line 44 - 50]). With respect to claim 12, the previously cited reference(s) teach the limitations of claim 10 which claim 12 depends on. Pantea and Vaughn combined teaches wherein the retriever-augmented-generation orchestrator (Vaughn: “For example, the processor circuitry may generate at least a portion of the information on the existing application architecture using a Retrieval-Augmented Generation machine-learning model.” [0040]) uses a large language model to determine one or more machine requirements or specifications and determine the relevant information based on the one or more machine requirements or specifications (Pantea: “The various embodiments presented herein can utilize various machine learning-based schemes for carrying out various aspects thereof. For example, a process (e.g., by file processing component 125 in conjunction with image component 310, symbol component 320, structure component 330, and suchlike) for determining respective structure 210A-n and symbols 220A-n in an input file 105A-n, a process (e.g., by file processing component 125 in conjunction with identification component 390) for correlating prior data (e.g., in historical data 190 and device data 195) with respective structure 210A-n and symbols 220A-n in an input file 105A-n, a process (e.g., by the file processing component 125) for generating an instruction code 140A-n based on the determined correlation(s) between the prior data and the determined structure 210A-n and symbols 220A-n in an input file 105A-n, and suchlike, as previously mentioned herein, can be facilitated via an automatic classifier system and process.” [Col 25, line 27 – line 44]). With respect to claim 13, the previously cited reference(s) teach the limitations of claim 10 which claim 13 depends on. Pantea does not teach a system wherein the code generator-evaluator compares the code with one or more predefined templates, standards or best practices. However, Stump teaches a system wherein the code generator-evaluator compares the code with one or more predefined templates, standards or best practices. (“In such scenarios, vendor-provided code can be submitted to the IDE system 202, and project generation component 206 can analyze this code in view of in-house coding standards specified by one or more custom guardrail templates 506… As an alternative or in addition to recommending these modifications, some embodiments of project generation component 206 can be configured to automatically modify the code in accordance with the recommendations to bring the code into conformance.” [0065]). With respect to claim 14, the previously cited reference(s) teach the limitations of claim 10 which claim 14 depends on. Pantea does not teach a system wherein the code generator-evaluator evaluates the code for clarity, organization, and adherence to naming conventions. However, Stump teaches a system wherein the code generator-evaluator evaluates the code for clarity, organization, and adherence to naming conventions (“Project generation component 206 can leverage guardrail templates 506 to implement rules-based programming, whereby programming feedback (a subset of design feedback 518) such as dynamic intelligent autocorrection, type-aheads, or coding suggestions are rendered based on encoded industry expertise and best practices (e.g., identifying inefficiencies in code being developed and recommending appropriate corrections).” [0064]). With respect to claim 15, the previously cited reference(s) teach the limitations of claim 10 which claim 15 depends on. Pantea does not teach a system wherein the code generator-evaluator evaluates the code for relevancy to one or more machine requirements or specifications. However, Stump teaches a system wherein the code generator-evaluator evaluates the code for relevancy to one or more machine requirements or specifications (“During development, project generation component 206 can select and apply a subset of guardrail templates 506 determined to be relevant to the project currently being developed, based on a determination of such aspects as the industrial vertical to which the project relates, the type of industrial application being programmed (e.g., flow control, web tension control, a certain batch process, etc.), or other such aspects.” [0064]). With respect to claim 16, the previously cited reference(s) teach the limitations of claim 10 which claim 16 depends on. Pantea does not teach a system wherein the code generator-evaluator evaluates the code for adherence to one or more standards, best practices, or regulatory requirements. However, Stump teaches a system wherein the code generator-evaluator evaluates the code for adherence to one or more standards, best practices, or regulatory requirements (“Project generation component 206 can leverage guardrail templates 506 to implement rules-based programming, whereby programming feedback (a subset of design feedback 518) such as dynamic intelligent autocorrection, type-aheads, or coding suggestions are rendered based on encoded industry expertise and best practices (e.g., identifying inefficiencies in code being developed and recommending appropriate corrections).” [0064]). With respect to claim 17, the previously cited reference(s) teach the limitations of claim 10 which claim 17 depends on. Pantea teaches wherein the code generator-evaluator evaluates the code for suitability for one or more desired functions (“The computer executable components can comprise a file processing component configured to: receive an input file representing an industrial process, further analyze the input file to identify, in the input file, an operation to be performed by a first automation controller configured to control operation of at least one function in the industrial process, and further construct automation code to control operation of the first automation controller in the event of the automation code is executed to control the industrial process.” [Col 1, lines 60 – col 2, line 1]). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: Canedo et. Al (US 12210331 B2). Canedo may also be pertinent to the instant application and teaches methods, systems, and apparatus that uses machine learning or artificial intelligence to complete automation engineering tasks such as generating PLC source code and source code embeddings. Any inquiry concerning this communication or earlier communications from the examiner should be directed to NGUYEN P NGUYEN whose telephone number is (571)270-7351. The examiner can normally be reached Monday-Thursday 6:30-15:30, Friday 6:30-10:30. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, KENNETH LO, can be reached at (571) 272-9774. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /NGUYEN PHUONG NGUYEN/Examiner, Art Unit 2116 /CHAD G ERDMAN/Primary Examiner, Art Unit 2116
Read full office action

Prosecution Timeline

Sep 05, 2024
Application Filed
Oct 01, 2026
Non-Final Rejection mailed — §102, §103, §112 (current)

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
Grant Probability
Low
PTA Risk
Based on 0 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month