DETAILED ACTION
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 .
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 of this title, 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.
Claims 1-5, 10-14, 19 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Masad (US 2024/0281218) in view of Stump (US 2021/0294279).
Regarding claim 1, Masad teaches a system (Fig. 1, [0022] illustrates a system), comprising:
a memory that stores executable components and a generative artificial intelligence (AI) model that has been trained using training data comprising at least one of industrial control code samples, industrial standards data, or industrial protocol data ([0023, 0081], the network system 120 of Fig. 1 may be a network device, which has a memory; Fig. 2, [0027-0028], the network system includes generative AI tools, which are trained using computer code entered by programmers i.e., software/programming industry workers); and
a processor, operatively coupled to the memory, that executes the executable components ([0081], network system/device includes a processor), the executable components comprising:
a user interface component configured to render a chat interface ([0023], the network system can include a hosted IDE, which generates an IDE interface for a client; Fig. 6B, [0030-0031, 0057, 0066], a user can provide a prompt using natural language and a graphical user interface; see also [0034], the interface acts and responds like a human programmer who is helping the user); and
a generative artificial intelligence (AI) component configured to apply generative AI analysis to industrial control code using the generative AI model, and identify, based on a result of the analysis, at least one of a deviation of the industrial control code (Fig. 1, [0025, 0027-0028], AI tools 130 in IDE 124 use generative AI to generate output based on input; for example, the AI tools can be applied to code to explain or transform it; Fig. 8, [0035, 0031], the system can identify error in code, and provide a description of the error and guidance on how to fix the error, or automatically implement the solution; in other words, the system is detecting and addressing a deviation from what is desired, normal and/or functional)
wherein the user interface component is further configured to render, as a plain language message via the chat interface, an identity of the deviation and a recommendation of a modification to the industrial control code (Fig. 8, [0035, 0031], the system can identify error in code, and provide a description of the error and guidance on how to fix the error; in other words, the system is detecting and addressing a deviation from what is desired, normal and/or functional; the above can provided by an intelligent conversational assistant in a natural language format; see also [0056-0057, 0028]).
However, Masad does not expressly disclose the deviation being from a defined industrial standard; the modification to the industrial control code determined to bring the industrial control code into alignment with the industrial standard.
In the same field of endeavor, Stump teaches
the deviation being from a defined industrial standard ([0065-0068], the system may analyze control code and determine whether it complies with a standard e.g., industry-specific or vertical-specific standards, a programming standard etc.; the system may identify that error/deviation from the standard and highlight corresponding errors/problematic sections in syntax/control code; suggestions can be provided to correct the code, or the code may be automatically modified to bring the code into conformance with the above standards);
the modification to the industrial control code determined to bring the industrial control code into alignment with the industrial standard ([0065-0068], the system may analyze control code and determine whether it complies with a standard e.g., industry-specific or vertical-specific standards, a programming standard etc.; the system may identify that error/deviation from the standard and highlight corresponding errors/problematic sections in syntax/control code; suggestions can be provided to correct the code, or the code may be automatically modified to bring the code into conformance with the above standards.)
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to have incorporated the deviation being from a defined industrial standard; the modification to the industrial control code determined to bring the industrial control code into alignment with the industrial standard as suggested in Stump into Masad because Masad and Stump pertain to analogous fields of technology. Masad relates to a generative AI system that identifies issues in code and can make recommendations to correct the code. Stump similarly relates to an AI system that identifies issues in code and makes recommendations to correct the code. In Stump, this process is applied in the context of industrial control code, and in particular the system identifies issues in code relating to a deviation/non-compliance with an industry standard, then corrects those issues. It would be desirable to incorporate this feature into Masad so that the generative AI-based code optimization system of Masad could be applied to address a variety of issues in code, including issues relating to compliance with industry standards e.g., see Stump [0065-0068].
Regarding claim 2, the combination of Masad and Stump teaches the invention as claimed in claim 1. The combination of Masad and Stump also teaches wherein the industrial standard is at least one of an industrial safety standard, an industrial security standard, a vertical-specific standard applicable to an industrial vertical in which the industrial control code is used, or a customer-specific control programming standard (Stump [0065-0068], the system may analyze control code and determine whether it complies with a standard e.g., a programming standard, a vertical specific design standard, an industrial safety standard such as a TUV certification etc.)
Regarding claim 3, the combination of Masad and Stump teaches the invention as claimed in claim 1. The combination of Masad and Stump also teaches wherein the generative AI component is further configured to implement the modification to the industrial control code (Stump ([0065-0068], the system may analyze control code and determine whether it complies with a standard e.g., industry-specific or vertical-specific standards, a programming standard etc.; the system may identify that error/deviation from the standard and highlight corresponding errors/problematic sections in syntax/control code; suggestions can be provided to correct the code, or the code may be automatically modified to bring the code into conformance with the above standards; Masad Fig. 5, 1, [0025, 0027-0028], AI tools 130 in IDE 124 use generative AI to generate output based on input; for example, the AI tools can be applied to code to explain or transform it; Fig. 8, [0035, 0031], the system can identify error in code, and provide a description of the error and guidance on how to fix the error, or automatically implement the solution.)
Regarding claim 4, the combination of Masad and Stump teaches the invention as claimed in claim 1. The combination of Masad and Stump also teaches wherein the generative AI component is further configured to identify, based on the generative AI analysis, a coding error in the industrial control code, and to modify the industrial control code to correct the coding error (Masad Fig. 5, 1, [0025, 0027-0028], AI tools 130 in IDE 124 use generative AI to generate output based on input; for example, the AI tools can be applied to code to explain or transform it; Fig. 8, [0035, 0031], the system can identify error in code, and provide a description of the error and guidance on how to fix the error, or automatically implement the solution; Stump [0065-0068], the system may analyze control code and determine whether it complies with a standard e.g., industry-specific or vertical-specific standards, a programming standard etc.; the system may identify that error/deviation from the standard and highlight corresponding errors/problematic sections in syntax/control code; suggestions can be provided to correct the code, or the code may be automatically modified to bring the code into conformance with the above standards).
Regarding claim 5, the combination of Masad and Stump teaches the invention as claimed in claim 1. The combination of Masad and Stump also teaches
the generative AI component is further configured to, in response to receipt of a question, submitted as a plain language query via the chat interface, about a functionality of the industrial control code (Masad [0017, 0032], the system may prompt the user to provide a query relating to or a description of functionality intended for some code; see also [0031], a user may provide a query relating to some selected code and its function; Masad Fig. 5, [0070, 0030, 0015], a user can request a change to code or provide input in natural language),
determine an answer to the question based on an analysis of the industrial control code and the question using the generative AI model ([0017], the system then generates the necessary code based on the description of the functionality and an analysis of the code; [0031, 0035], the system can explain selected code in a natural language manner), and
the user interface component is configured to render the answer to the question as a plain language response via the chat interface [0031, 0035], the system can explain selected code in a natural language manner).
Regarding claim 10, the claim corresponds to claim 1 and is rejected for the same reasons.
Regarding claim 11, the combination of Masad and Stump teaches the invention as claimed in claim 10. Claim 11 also corresponds to claim 2 and is rejected for the same reasons.
Regarding claim 12, the combination of Masad and Stump teaches the invention as claimed in claim 10. Claim 12 also corresponds to claim 3 and is rejected for the same reasons.
Regarding claim 13, the combination of Masad and Stump teaches the invention as claimed in claim 10. Claim 13 also corresponds to claim 4 and is rejected for the same reasons.
Regarding claim 14, the combination of Masad and Stump teaches the invention as claimed in claim 10. Claim 14 also corresponds to claim 5 and is rejected for the same reasons.
Regarding claim 19, the claim corresponds to claim 1 and is rejected for the same reasons. The combination of Masad and Stump also teaches a non-transitory computer-readable medium having stored thereon instructions that, in response to execution, cause an industrial integrated development environment (IDE) system comprising a processor to perform operations (Masad [0023, 0081], the network system 120 of Fig. 1 may be a network device, which has a memory; the network system can include a hosted IDE, which generates an IDE interface for a client.)
Regarding claim 20, the combination of Masad and Stump teaches the invention as claimed in claim 19. Claim 20 also corresponds to claim 5 and is rejected for the same reasons.
Claims 6 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Masad and Stump, as applied in claims 5 and 14, and further in view of Reddit (Reddit, message thread, "Why Isn't My Hello World Code Working?," published 12/16/2022).
Regarding claim 6, the combination of Masad and Stump teaches the invention as claimed in claim 5. However, the combination of Masad and Stump does not explicitly disclose wherein the question is at least one of a question regarding whether the industrial control code is capable of performing a function specified in the plain language query, a question regarding whether the industrial control code is capable of satisfying a performance metric requirement specified in the plain language query, a question regarding whether the industrial control code is executable on a hardware platform specified in the plain language query, a question regarding types and numbers of I/0 modules required to execute the industrial control code, a question regarding whether the industrial control code satisfies an industrial standard specified in the plain language query, or a question regarding which portion of the industrial control code contains control programming for an industrial asset specified by in the plain language query.
In the same field of endeavor, Reddit teaches wherein the question is at least one of a question regarding whether the industrial control code is capable of performing a function specified in the plain language query, a question regarding whether the industrial control code is capable of satisfying a performance metric requirement specified in the plain language query, a question regarding whether the industrial control code is executable on a hardware platform specified in the plain language query, a question regarding types and numbers of I/0 modules required to execute the industrial control code, a question regarding whether the industrial control code satisfies an industrial standard specified in the plain language query, or a question regarding which portion of the industrial control code contains control programming for an industrial asset specified by in the plain language query (page 1, the Reddit thread indicates that it is well known for a user to present a question asking about why/whether sample code can perform a function i.e., the user is asking why his code does not perform the Hello World function).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to have incorporated wherein the question is at least one of a question regarding whether the industrial control code is capable of performing a function specified in the plain language query, a question regarding whether the industrial control code is capable of satisfying a performance metric requirement specified in the plain language query, a question regarding whether the industrial control code is executable on a hardware platform specified in the plain language query, a question regarding types and numbers of I/0 modules required to execute the industrial control code, a question regarding whether the industrial control code satisfies an industrial standard specified in the plain language query, or a question regarding which portion of the industrial control code contains control programming for an industrial asset specified by in the plain language query as suggested in Reddit into Masad and Stump, because Masad and Reddit pertain to analogous fields of technology. Masad [0017, 0032] relates to a system in which a user can communicate with an interface using natural language and request assistance regarding getting code to perform a particular function e.g., see Masad [0017, 0032, 0070, 0030, 0015]. Reddit also relates to an interface in which a user can ask for assistance related to code and a desired function. In Reddit, the user can formulate the request for help in the form of a question that also refers to a function. It would be desirable to incorporate this feature into Masad, so that a user could use a common way of requesting assistance with code when interacting with the system using natural language e.g., see Reddit page 1.
Regarding claim 15, the combination of Masad and Stump teaches the invention as claimed in claim 14. Claim 15 also corresponds to claim 6, and is rejected for the same reasons.
Claims 7-9 and 16-18 are rejected under 35 U.S.C. 103 as being unpatenable over Masad and Stump, as applied in claims 1 and 10, and further in view of Codee (Codee, "Many Ways to speed up your program", published Aug 8, 2022 as indicated by waybackmachine, downloaded from https://www.codee.com/many-ways-to-speed-up-your-program/).
Regarding claim 7, the combination of Masad and Stump teaches the invention as claimed in claim 1. The combination of Masad and Stump also teaches wherein
the generative AI component is further configured to determine, based on application of generative AI analysis on the industrial control code using the generative AI model, a modification to the industrial control code, and the user interface component is configured to render, via the chat interface, a plain language notification recommending the modification (Masad Fig. 8, [0035, 0031], the system can identify error in code, and provide a description of the error and guidance on how to fix the error; in other words, the system is detecting and addressing a deviation from what is desired, normal and/or functional; the above can provided by an intelligent conversational assistant in a natural language format; see also [0056-0057, 0028]; see also Stump [0065-0068], the system may analyze control code and determine whether it complies with a standard e.g., industry-specific or vertical-specific standards, a programming standard etc.; the system may identify that error/deviation from the standard and highlight corresponding errors/problematic sections in syntax/control code; suggestions can be provided to correct the code, or the code may be automatically modified to bring the code into conformance with the above standards).
However, the combination of Masad and Stump does not expressly disclose the modification that will at least one of reduce a size of the industrial control code without altering functionality of the industrial control code, improve a performance metric of the industrial control code, or reduce a number of data tags consumed by the industrial control code.
In the same field of endeavor, Codee teaches that will at least one of reduce a size of the industrial control code without altering functionality of the industrial control code, improve a performance metric of the industrial control code, or reduce a number of data tags consumed by the industrial control code (page 1-3, as indicated in Codee, it is known to improved code by speeding up the execution of the code; for example, page 3 indicates how sample code can be reformulated to perform the same function such that execution was multiple times faster).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to have incorporated the modification that will at least one of reduce a size of the industrial control code without altering functionality of the industrial control code, improve a performance metric of the industrial control code, or reduce a number of data tags consumed by the industrial control code as suggested in Codee into Masad and Stump because Masad and Codee pertain to analogous fields of technology. Masad pertains to systems for improving code. For example, Masad allows a user to provide sample code to an interface and have an intelligent system recommend ways of correcting or improving the code. Codee also pertain to a system for improving code. Codee indicates that it is known to improve code by improving a performance metric of the code e.g., its execution speed. It would desirable to incorporate this feature into Masad so that the improvements provided by the Masad system could include improving various metrics of the code, such as execution speed e.g., see Codee pages 1-3.
Regarding claim 8, the combination of Masad, Stump and Codee teaches the invention as claimed in claim 7. The combination of Masad, Stump and Codee also teaches wherein the performance metric is at least one of speed, energy consumption, machine uptime, product throughput, or cycle time (page 1-3, as indicated in Codee, it is known to improved code by speeding up the execution of the code; for example, page 3 indicates how sample code can be reformulated to perform the same function such that execution was multiple times faster).
Regarding claim 9, the combination of Masad, Stump and Codee teaches the invention as claimed in claim 7. The combination of Masad, Stump and Codee also teaches wherein the generative AI component is configured to, in response to receipt of a question, submitted as a plain language query via the chat interface, about the modification, formulate an answer to the question based on analysis of the industrial control code by the generative AI model, and render the answer via the chat interface as a plain language response to the question (Masad [0017, 0032], the system may prompt the user to provide a query relating to or a description of functionality intended for some code; see also [0031], a user may provide a query relating to some selected code and its function; Masad Fig. 5, [0070, 0030, 0015], a user can request a change to code or provide input in natural language; [0017], the system then generates the necessary code based on the description of the functionality and an analysis of the code; [0031, 0035], the system can explain selected code in a natural language manner).
Regarding claim 16, the combination of Masad and Stump teaches the invention as claimed in claim 10. Claim 16 also corresponds to claim 7 and is rejected for the same reasons.
Regarding claim 17, the combination of Masad, Stump and Codee teaches the invention as claimed in claim 16. Claim 17 also corresponds to claim 8 and is rejected for the same reasons.
Regarding claim 18, the combination of Masad, Stump and Codee teaches the invention as claimed in claim 16. Claim 18 also corresponds to claim 9 and is rejected for the same reasons.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Sawant (US 11,604,626) teaches a system that compares received code to stored core portions to determine if the received code satisfies a facet of a practice e.g., see Sawant Abstract, col. 2, lines 19-44.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ERIC YOON whose telephone number is (408)918-7581. The examiner can normally be reached on 9 am to 5 pm ET Monday through Friday.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Scott Baderman, can be reached at telephone number 571-272-3644. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center for authorized users only. Should you have questions about access to Patent Center, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
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) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form.
/ERIC J YOON/Primary Examiner, Art Unit 2118