Prosecution Insights
Last updated: April 19, 2026
Application No. 18/685,426

METHOD AND SYSTEM FOR GENERATING ENGINEERING PROGRAMS WHICH ARE COMPATIBLE WITH A SPECIFIC ENGINEERING ENVIRONMENT

Non-Final OA §103
Filed
Feb 21, 2024
Examiner
BROPHY, MATTHEW J
Art Unit
2191
Tech Center
2100 — Computer Architecture & Software
Assignee
Siemens Aktiengesellschaft
OA Round
5 (Non-Final)
69%
Grant Probability
Favorable
5-6
OA Rounds
3y 7m
To Grant
99%
With Interview

Examiner Intelligence

Grants 69% — above average
69%
Career Allow Rate
425 granted / 614 resolved
+14.2% vs TC avg
Strong +34% interview lift
Without
With
+33.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 7m
Avg Prosecution
17 currently pending
Career history
631
Total Applications
across all art units

Statute-Specific Performance

§101
10.8%
-29.2% vs TC avg
§103
60.2%
+20.2% vs TC avg
§102
14.4%
-25.6% vs TC avg
§112
8.0%
-32.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 614 resolved cases

Office Action

§103
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This office action is in response to the amendment filed January 5, 2026 and RCE filed February 13, 2026. This application claims priority of PCT/EP2022/073838 and is examined herein as entitled to the effective filing date of August 27, 2021 base on the PCT’s claim of priority to European Application 211935935.3. Response to Arguments Applicant’s arguments, see Remarks, filed January 5, 2026 with respect to the rejection(s) of claim(s) 15-22, and 24-31 under §103 have been fully considered but are not persuasive. Specifically, the amended limitation of claim 1 recites “wherein the correspondence indicates a mapping between logical blocks that perform a same functionality…wherein the determined set of logical blocks includes logical blocks originating from at least two different engineering projects of the plurality of engineering proj ects.” The Examiner maintains, despite applicant’s argument that this limitation is taught or suggested by the applied prior art below. Subject to their broadest reasonable meaning in view of the specification, these amended claim limitations are taught by the system in OntoPLC which teaches the incorporation of multiple heterogenous program into a neutral ontology. For example Table 1 in OntoPLC teaches an Add block in multiple different environments. OntoPLC e.g. pages 1703, 1706-08 teaches a system (e.g. see Algorithm 1) for incorporating multiple heterogenous projects into the unified Ontology, and as described previously in Fig. 1, teaches generating blocks for the destination environment as seen in Fig. 1 of OntoPLC. As such these arguments are unpersuasive and the rejection is maintained. 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. Claim(s) 15-19,24-29, and 31 are rejected under 35 U.S.C. 103 as being unpatentable over “OntoPLC” (An, Yameng, et al. "OntoPLC: semantic model of PLC programs for code exchange and software reuse." IEEE Transactions on Industrial Informatics 17.3 (2020): 1702-1711. ) in view of “Dolby” (US Patent 11,573,790). Regarding Claim 15, OntoPLC teaches: 15. (Currently Amended) A method of generating engineering projects compatible with a specific engineering environment, wherein an engineering project comprises a plurality of engineering programs and is configured to control the operation of devices in a technical installation, (See OntoPLC e.g. Fig. 1, Pages 1704-1705 describing an OntolPLC system which PLC programs in one format, trasnfered through an ontology to a second PLC format) wherein the engineering programs are configured to control operation of one or more of the devices of the technical installation, (See OntoPLC e.g. Fig. 1, Pages 1704-1705 describing an OntolPLC system which PLC programs in one format, trasnfered through an ontology to a second PLC format, the PLC programs configured to control PLCs which are described for example in the Introduction page 1702) and wherein an engineering environment is associated to a technical installation and comprises information about conventions and constraints which must be adhered to, (See OntoPLC e.g. Fig. 1, Pages 1704-1705 describing an OntolPLC system which PLC programs in one format, trasnfered through an ontology to a second PLC format, the PLC programs configured to control PLCs which are described for example in the Introduction page 1702, which further describes exemplary industrial standards for the PLC programs) by the plurality of engineering programs in the engineering project, the method comprising: receiving, by a processing unit, a request to convert a first engineering project which is compatible with a first engineering environment, to a second engineering project which is compatible with a second engineering environment wherein the first engineering environment is a single-user engineering environment, and the second engineering environment is a multi-user engineering environment; (Inherent in the translation process in OntoPLC’s discussion the Abstract as well as Section IV pages 1706-1708 is the receipt of a request to start the translation, for example by requesting use of the plugin for automatic translation on page 1707.) determining, by the processing unit, a plurality of logical blocks from a plurality of engineering projects, wherein each of the plurality of engineering projects are compatible with a specific engineering environment of a plurality of engineering environments, wherein the plurality of logical blocks is determined by grouping a plurality of code statements into the plurality of logical blocks based on analysis of …a the plurality of code statements in the plurality of engineering projects; (Fig. 2 describes the OntoPLC ontology model, which based on the extraction from the source code in Fig. 1, identifies the program organization units as described on page 1705 including identifying the function blocks of the program) wherein the correspondence indicates a mapping between logical blocks that perform a same functionality, (OntoPLC merging of heterogeneous PLC programming tools into a independent neutral ontology e.g. pages 1706-1708. See Table 1 on 1703 showing the semantics of the Add block in different formats, and the Algorithm 1on Page 1707 teaches mapping the heterogenous projects to the unified ontology for translations to the desired format as in Fig. 1) generating, by the processing unit, an ontology schema for the plurality of engineering projects, wherein the ontology schema comprises: a) information about relationships between the determined plurality of logical blocks, (See Ontology Fig. 2, POUs in Ontology Fig. 2, Paged 1705) and b) information about… each of the plurality of logical blocks of the plurality of engineering projects; (See Ontology Fig. 2, POUs in Ontology Fig. 2, Paged 1705 see further e.g. page 1705 Object properties contain the structure information of the PLC project in this ontology, and we define their names in the form of hasDomainConcept. Data properties are used to represent the attribute values of elements in the PLC project. To represent a constant value of a data type in the attributes of elements, the name of data property is defined as hasDomainConceptAttribute, or as hasConceptValue if the concept itself is a constant value. Data properties and restrictions (e.g., quantifier restrictions, cardinality restrictions, and has value restrictions) in the ontology are omitted in the figure for readability”) determining, by the processing unit, from the plurality of logical blocks, a set of logical blocks which are compatible with the second engineering environment based on an analysis of the generated ontology schema.(See e.g. Section IV pages 1706-1708 describing translating into the new PLC program in a second format as in Fig. 1, using the ONtoPLC ontology and system. wherein the determined set of logical blocks includes logical blocks originating from at least two different engineering projects of the plurality of engineering projects. (OntoPLC merging of heterogeneous PLC programming tools into a independent neutral ontology e.g. pages 1706-1708. See Table 1 on 1703 showing the semantics of the Add block in different formats, and the Algorithm 1on Page 1707 teaches mapping the heterogenous projects to the unified ontology for translations to the desired format as in Fig. 1) OntoPLC does not explicitly teach, but Dolby teaches: projects, wherein the data flow indicates a transformation of values of a plurality of data variables in the plurality of engineering programs, and the control flow comprises information about a sequence in which the plurality of code statements are executed by the processing unit; (Dolby Col. 5, Ln 58 to 62 “As used herein, control flow refers to the logical steps the program takes from its beginning to its termination. Further, in the present disclosure, data flow refers to possible values of a tracked property throughout the execution of the program, which is captured by the control flow.) wherein the plurality of engineering projects are automatically split into meaningful and logical blocks to modularize the plurality of engineering projects; (Dolby 114, Fig. 1, Col. 6, Ln 50 to Col. 7, Ln 10 teaches a source code analyzer which parse source code and identifies code modules of the system to modularize the code base of the project for subsequent knowledge graph generation) Analysis of the data flow and the control flow between (See Dolby 510, 516, fig 5, Col. 13, Ln 40 to Col. 14 Ln 33 describes a process for creating a knowledge graph representing the control flow and data flow of a source code including parsing the code elements by the SCA creator and identifying the related control flow and data flow within the system to be represented in the knowledge graph) data flow and control flow between (See Dolby 510, 516, fig 5, Col. 13, Ln 40 to Col. 14 Ln 33 describes a process for creating a knowledge graph representing the control flow and data flow of a source code including parsing the code elements by the SCA creator and identifying the related control flow and data flow within the system to be represented in the knowledge graph) In addition it would have been obvious to one of ordinary skill in the art, prior to the effective filing date of the application to combine the teachings of OntoPLC and those of Dolby as each is directed to systems which parse program code information into an Ontology and Dolby recognized the need for a system to “Advantageously, …enables aggregation and access to analysis of the control flow and data flow of the user code in a readily-accessible manner. (Dolby Col. 4, Ln8-10). Regarding Claim 16, OntoPLC further teaches: 16. (Currently Amended) The method according to claim 15, wherein the determination of the plurality of logical blocks comprises: determining, by the processing unit, the plurality of code statements from the plurality of engineering projects based on an analysis of the plurality of engineering projects; (See Implementation of OntoPLC in IV Pages 1706-1708 and extraction of pages 1703-1704 in e.g. fig. 1), determining, and determining, by the processing unit, the plurality of logical blocks from the plurality of engineering projects by grouping the plurality of statements into the plurality of logical blocks (See creation of POU in the Ontology Fig. 2, Page 1705) OntoPLC does not explicitly teach, but Dolby teaches: projects, wherein the data flow indicates a transformation of values of a plurality of data variables in the plurality of engineering programs, and the control flow comprises information about a sequence in which the plurality of code statements are executed by the processing unit; (Dolby Col. 5, Ln 58 to 62 “As used herein, control flow refers to the logical steps the program takes from its beginning to its termination. Further, in the present disclosure, data flow refers to possible values of a tracked property throughout the execution of the program, which is captured by the control flow.) by the processing unit, a data-flow and a control flow between each of the determined plurality of code statements, based on an analysis of the plurality of code statements; (See Dolby 510, 516, fig 5, Col. 13, Ln 40 to Col. 14 Ln 33 describes a process for creating a knowledge graph representing the control flow and data flow of a source code including parsing the code elements by the SCA creator and identifying the related control flow and data flow within the system to be represented in the knowledge graph) based on analysis of the determined data flow and the determined control flow between each of the determined plurality of code statements. (See Dolby 510, 516, fig 5, Col. 13, Ln 40 to Col. 14 Ln 33 describes a process for creating a knowledge graph representing the control flow and data flow of a source code including parsing the code elements by the SCA creator and identifying the related control flow and data flow within the system to be represented in the knowledge graph) In addition it would have been obvious to one of ordinary skill in the art, prior to the effective filing date of the application to combine the teachings of OntoPLC and those of Dolby as each is directed to systems which parse program code information into an Ontology and Dolby recognized the need for a system to “Advantageously, …enables aggregation and access to analysis of the control flow and data flow of the user code in a readily-accessible manner. (Dolby Col. 4, Ln8-10). Regarding Claim 17, OntoPLC further teaches: 17. (Previously Presented) The method according to claim 16, wherein the generation of the ontology schema comprises:generating, by the processing unit, a knowledge graph for each of the determined plurality of logical blocks, (OntoPLC teaches creation of a knowledge base for translation in Fig. 1, Page 1704 including a generation of a PLC Onthology Fig. 2, p 1705 representing the function blocks of the program and the extracted knowledge about the program) wherein the knowledge graph generated for a specific logical block comprises information about …a set of statements within the specific logical block; (OntoPLC teaches creation of a knowledge base for translation in Fig. 1, Page 1704 including a generation of a PLC Onthology Fig. 2, p 1705 representing the function blocks of the program and the extracted knowledge about the program) and generating, by the processing unit, the ontology schema for the plurality of engineering projects by merging a plurality of knowledge graphs generated for the plurality of logical block. (OntoPLC teaches creation of a knowledge base for translation in Fig. 1, Page 1704 including a generation of a PLC Onthology Fig. 2, p 1705 representing the function blocks of the program and the extracted knowledge about the program) OntoPLC does not explicitly teach, but Dolby teaches: projects, wherein the data flow indicates a transformation of values of a plurality of data variables in the plurality of engineering programs, and the control flow comprises information about a sequence in which the plurality of code statements are executed by the processing unit; (Dolby Col. 5, Ln 58 to 62 “As used herein, control flow refers to the logical steps the program takes from its beginning to its termination. Further, in the present disclosure, data flow refers to possible values of a tracked property throughout the execution of the program, which is captured by the control flow.) Analysis of the data flow and the control flow between (See Dolby 510, 516, fig 5, Col. 13, Ln 40 to Col. 14 Ln 33 describes a process for creating a knowledge graph representing the control flow and data flow of a source code including parsing the code elements by the SCA creator and identifying the related control flow and data flow within the system to be represented in the knowledge graph) data flow and control flow between (See Dolby 510, 516, fig 5, Col. 13, Ln 40 to Col. 14 Ln 33 describes a process for creating a knowledge graph representing the control flow and data flow of a source code including parsing the code elements by the SCA creator and identifying the related control flow and data flow within the system to be represented in the knowledge graph) In addition it would have been obvious to one of ordinary skill in the art, prior to the effective filing date of the application to combine the teachings of OntoPLC and those of Dolby as each is directed to systems which parse program code information into an Ontology and Dolby recognized the need for a system to “Advantageously, …enables aggregation and access to analysis of the control flow and data flow of the user code in a readily-accessible manner. (Dolby Col. 4, Ln8-10). Regarding Claim 18, OntoPLC further teaches: 18. (Currently Amended) The method according to claim 17, further comprising: receiving, by the processing unit, a request to integrate a code snippet into the generated second engineering project; (See e.g. OntoPLC impelementations in Section 4, 1705-1708 includes translating code into new platform PLC. See e.g. translation of Add code to different platforms on 1708) generating, by the processing unit, an ontological representation for the code snippet, based on an analysis of the code snippet; (See e.g. OntoPLC impelementations in Section 4, 1705-1708 includes translating code into new platform PLC. See e.g. translation of Add code to different platforms on 1708) determining, by the processing unit, a portion of the generated ontology schema, which is similar to the generated ontological representation of the code snippet; (See e.g. OntoPLC impelementations in Section 4, 1705-1708 includes translating code into new platform PLC. See e.g. translation of Add code to different platforms on 1708) and modifying, by the processing unit, the second engineering project by integration of the code snippet into the second engineering project based on an analysis of the determined portion of the ontology schema such that the integrated code snippet is compatible with the second engineering environment. (See e.g. OntoPLC impelementations in Section 4, 1705-1708 includes translating code into new platform PLC. See e.g. translation of Add code to different platforms on 1708). Regarding Claim 19, OntoPLC further teaches: 19. (Currently Amended) The method according to claim 18, further comprising:analyzing, by the processing unit, the generated ontology schema and the second engineering project to determine one or more errors in a first logical block of the determined set of logical blocks; (See Consistency Checking after translation section C 1708-1709 describing checking for consistency after translation to new platform identifying and correcting inconsistencies) wherein the one or more errors correspond to one or more portions of the first logical block that is causing incompatibility of the first logical block with the second engineering environment; (See Consistency Checking after translation section C 1708-1709 describing checking for consistency after translation to new platform identifying and correcting inconsistencies) modifying, by the processing unit, the first logical block of the set of logical blocks to make the first logical block compatible with the second engineering environment, to eradicate the determined one or more errors in the first logical block of the set of logical blocks; (See Consistency Checking after translation section C 1708-1709 describing checking for consistency after translation to new platform identifying and correcting inconsistencies) predicting, by the processing unit, an occurrence of a variation in one or more key performance indicators associated with the second engineering project based on the analysis of the ontology schema, wherein the variation is predicted to occur as a result of the modification of the first logical block; (See Consistency Checking after translation section C 1708-1709 describing checking for consistency after translation to new platform identifying and correcting inconsistencies) and modifying, by the processing unit, one or more programming blocks of the set of logical blocks, based on the analysis of the ontology schema, to prevent the occurrence of the variation in the one or more key performance indicators associated with the second engineering project. (See Consistency Checking after translation section C 1708-1709 describing checking for consistency after translation to new platform identifying and correcting inconsistencies) Regarding Claim 24, OntoPLC further teaches: 24. (Previously Presented) The method according to claim 15, further comprising:determining, by the processing unit, two or more logical blocks in the set of logical blocks, which correspond to different portions of a common subroutine; (See Ontology Fig. 2, POUs in Ontology Fig. 2, Paged 1705 see further e.g. page 1705 Object properties contain the structure information of the PLC project in this ontology, and we define their names in the form of hasDomainConcept. Data properties are used to represent the attribute values of elements in the PLC project. To represent a constant value of a data type in the attributes of elements, the name of data property is defined as hasDomainConceptAttribute, or as hasConceptValue if the concept itself is a constant value. Data properties and restrictions (e.g., quantifier restrictions, cardinality restrictions, and has value restrictions) in the ontology are omitted in the figure for readability”) and generating, by the processing unit, a combined logical block by merging the determined two or more logical blocks of the set of logical blocks. See Ontology Fig. 2, POUs in Ontology Fig. 2, Paged 1705 see further implementation of ontology in e.g. fig. 6, page1707-1709) Regarding Claim 25, OntoPLC further teaches: 25. (Previously Presented) The method according to claim 15, further comprising:mapping, by the processing unit, the set of logical blocks to a plurality of subroutines in the second engineering project; See Ontology Fig. 2, POUs in Ontology Fig. 2, Paged 1705 see further implementation of ontology in e.g. fig. 6, page1707-1709) and grouping, by the processing unit, into a plurality of groups based on the mapping of the set of logical blocks to the plurality of subroutines, wherein each group of the plurality of groups contains one or more logical blocks, of the set of logical blocks, which are mapped to a specific subroutine of the plurality of subroutines. See Ontology Fig. 2, POUs in Ontology Fig. 2, Paged 1705 see further implementation of ontology in e.g. fig. 6, page1707-1709) Regarding Claim 26, Dolby further teaches: 26. (Currently Amended) An engineering system for generation of engineering projects which is compatible with a specific engineering environment, wherein the engineering system comprises:one or more processing unit; and a memory coupled to the one or more processor(s), wherein the memory comprises an automation module stored in the form of machine-readable instructions executable by the one or more processor(s), wherein the automation module is capable of performing a method according to claim 1. (See Computer 102 Fig. 1 of Dolby) In addition it would have been obvious to one of ordinary skill in the art, prior to the effective filing date of the application to combine the teachings of OntoPLC and those of Dolby as each is directed to systems which parse program code information into an Ontology and Dolby recognized the need for a system to “Advantageously, …enables aggregation and access to analysis of the control flow and data flow of the user code in a readily-accessible manner. (Dolby Col. 4, Ln8-10). Regarding Claim 27, Dolby further teaches: 27. (Currently Amended) An industrial environment comprising: an engineering system as claimed in claim 26; a technical installation comprising one or more physical components; (See e.g. Computers 140, 102 Fig 1, Network 130 Fig. 1 of Dolby). and one or more client devices communicatively coupled to the engineering system via a network (See e.g. Computers 140, 102 Fig 1, Network 130 Fig. 1 of Dolby). In addition it would have been obvious to one of ordinary skill in the art, prior to the effective filing date of the application to combine the teachings of OntoPLC and those of Dolby as each is directed to systems which parse program code information into an Ontology and Dolby recognized the need for a system to “Advantageously, …enables aggregation and access to analysis of the control flow and data flow of the user code in a readily-accessible manner. (Dolby Col. 4, Ln8-10). Regarding Claim 28, Dolby further teaches: 28. (Previously Presented) A computer program product, comprising a computer readable hardware storage medium having machine-readable instructions stored therein, that when executed by a processing unit, cause the processing unit to perform a method according to claim 1. 28. (Previously Presented) A computer program product, having machine-readable instructions stored therein, that when executed by a processing unit, cause the processing unit to perform a method according to claim 1. (See e.g. Computers 140, 102 Fig 1, Network 130 Fig. 1 of Dolby). In addition it would have been obvious to one of ordinary skill in the art, prior to the effective filing date of the application to combine the teachings of OntoPLC and those of Dolby as each is directed to systems which parse program code information into an Ontology and Dolby recognized the need for a system to “Advantageously, …enables aggregation and access to analysis of the control flow and data flow of the user code in a readily-accessible manner. (Dolby Col. 4, Ln8-10). Regarding Claim 29, OntoPLC does not further teach, but Dolby teaches: 29. (New) The method according claim 15, wherein the plurality of code statements comprises assignment statements, program element definition statements, and operation statements. (See Col. 7, Ln 22-59, Dolby 202, Fig. 2 describing control and data flow info about code statements in the parsed code including assignments, operations and statements, including statements defining variables in Fig. 2). Regarding Claim 31, OntoPLC further teaches: 31. (New) The method according to claim 15, wherein the plurality of constraints associated with the first engineering environment are mutually exclusive with the plurality of constraints associated with the second engineering environment. (OntoPLC e.g. 1703 describes representing the incompatibility between PLC platforms as part of its Ontology, i.e. they have different environment controls). Claim 20 is rejected under 35 U.S.C. 103 as being unpatentable over “OntoPLC” (An, Yameng, et al. "OntoPLC: semantic model of PLC programs for code exchange and software reuse." IEEE Transactions on Industrial Informatics 17.3 (2020): 1702-1711. ) in view of “Dolby” (US Patent 11,573,790) as applied above and further in view of “PLCopenXML” (Dietz, Michael, Johannes Sippl, and Ronald Schmidt-Vollus. "Concept for an interoperable behavior library for virtual commissioning using PLCopenXML." 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA). IEEE, 2019.). Regarding Claim 20, OntoPLC does not teach, but PLCopenXML teaches: 20. (Previously Presented) The method according to claim 19, further comprising: generating, by the processing unit, a simulation instance for a third engineering environment; (See PLCopenXML Abstract, III Approach teaches a system using a exchange format for PLC behavior models which includes simulation of components in common simulation tools). and simulating, by the processing unit, execution of the generated second engineering project in the third engineering environment by executing the second engineering project on the generated simulation instance. (See PLCopenXML Abstract, III Approach teaches a system using a exchange format for PLC behavior models which includes simulation of components in common simulation tools). In addition it would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of OntoPLC and those of PLCopenXML as each is directed to PLC implementation systems and PLCopenXML teaches a system that “minimizes the manual effort for creating and exchanging behavior models through the use of standardized library elements and existing interfaces.” (Abstract). Claims 21 and 22 is rejected under 35 U.S.C. 103 as being unpatentable over “OntoPLC” (An, Yameng, et al. "OntoPLC: semantic model of PLC programs for code exchange and software reuse." IEEE Transactions on Industrial Informatics 17.3 (2020): 1702-1711. ) in view of “Dolby” (US Patent 11,573,790) and “PLCopenXML” (Dietz, Michael, Johannes Sippl, and Ronald Schmidt-Vollus. "Concept for an interoperable behavior library for virtual commissioning using PLCopenXML." 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA). IEEE, 2019.) as applied above and further in view of “Neuhausser” (US PG Pub 2017/0351238). Regarding Claim 21, OntoPLC does not teach, but PLCopenXML further teaches: 21. (Previously Presented) The method according to claim 20, further comprising: …based on a result of the simulated execution of the generated second engineering project; (See PLCopenXML Abstract, III Approach teaches a system using a exchange format for PLC behavior models which includes simulation of components in common simulation tools). In addition it would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of OntoPLC and those of PLCopenXML as each is directed to PLC implementation systems and PLCopenXML teaches a system that “minimizes the manual effort for creating and exchanging behavior models through the use of standardized library elements and existing interfaces.” (Abstract). OntoPLC et al further do not teach, but Neuhausser teaches: determining, by the processing unit, whether the generated second engineering project is compatible with the third engineering environment, (Neuhausser ¶¶25, 27, 35-38, 42, Figs 3-4 teaches a system for testing verifying the compatibility of a PLC functional code text with the PLC environment to which it will be installed to ensure compatibility) deploying, by the processing unit, the generated second engineering project in real-time onto the third engineering environment, based on a determination that the generated second engineering project is compatible; (Neuhausser ¶¶25, 27, 35-38, 42, Figs 3-4 teaches a system for testing verifying the compatibility of a PLC functional code text with the PLC environment to which it will be installed to ensure compatibility) and displaying, by the processing unit, the generated second engineering project on a display device. (Neuhausser ¶¶25, 27, 50-53, 72-74 Figs 3-4 teaches a system for testing verifying the compatibility of a PLC functional code text with the PLC environment to which it will be installed to ensure compatibility, including outputting indications of correctness/incorrectness to the user in e.g. ¶¶53,74) In addition it would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of OntoPLC and those of Neuhausser as each is directed to PLC implementation systems and Neuhausser provides an “advantageous development of the invention, the analysis device uses a functional program of the functional module, that is to say a computer-readable description of the function of the functional module, to form a module model. The functional program describes how the at least one input signal is used to form the at least one output signal. The functional program may be e.g. a program text for an FPGA (field programmable gate array) or ASIC (application-specific integrated circuit) or a PLC.” (¶17) Regarding Claim 22, Neuhausser further teaches: 22. (Previously Presented) The method according to claim 21, further comprising: notifying, by the processing unit, about an incompatibility of the generated second engineering project with the third engineering environment, based on a determination that the generated second engineering project is incompatible with the third engineering environment; (Neuhausser ¶¶25, 27, 50-53, 72-74 Figs 3-4 teaches a system for testing verifying the compatibility of a PLC functional code text with the PLC environment to which it will be installed to ensure compatibility, including outputting indications of correctness/incorrectness to the user in e.g. ¶¶53,74) generating, by the processing unit, a plurality of error log files associated with the generated second engineering project, based on the determination that the generated second engineering project is incompatible with the third engineering environment; and (Neuhausser ¶¶50-53, 72-74 Figs 3-4 teaches a system for testing verifying the compatibility of a PLC functional code text with the PLC environment to which it will be installed to ensure compatibility, including outputting indications of correctness/incorrectness to the user in e.g. ¶¶53,74) displaying, by the processing unit, the generated plurality of error log files on a display device. (Neuhausser ¶¶25, 27, 53, 72-74 Figs 3-4 teaches a system for testing verifying the compatibility of a PLC functional code text with the PLC environment to which it will be installed to ensure compatibility, including outputting indications of correctness/incorrectness to the user in e.g. ¶¶53,74) In addition it would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of OntoPLC and those of Neuhausser as each is directed to PLC implementation systems and Neuhausser provides an “advantageous development of the invention, the analysis device uses a functional program of the functional module, that is to say a computer-readable description of the function of the functional module, to form a module model. The functional program describes how the at least one input signal is used to form the at least one output signal. The functional program may be e.g. a program text for an FPGA (field programmable gate array) or ASIC (application-specific integrated circuit) or a PLC.” (¶17) Claim(s) 30 are rejected under 35 U.S.C. 103 as being unpatentable over “OntoPLC” (An, Yameng, et al. "OntoPLC: semantic model of PLC programs for code exchange and software reuse." IEEE Transactions on Industrial Informatics 17.3 (2020): 1702-1711. ) in view of “Dolby” (US Patent 11,573,790) as applied above and further in view of “Mizrahi” (US PG Pub 2018/0373507). Regarding Claim 30, OntoPLC does not further teach, but Mizrahi teaches: 30. (New) The method according to claim 15, wherein the control flow comprises information about statements that are repeatedly executed by the processing unit because of a presence of looped and recursive statements in the plurality of engineering programs. (Mizrahi ¶180 teaches breaking down of each project file including loops, i.e. recursive statements in order to create a functional representation of the code). In addition, it would have been obvious to one of ordinary skill in the art prior to the filing date of the application to combine the teachings of OntoPLC and Mizrahi as each is directed to systems for software code representation and Mizrahi recognized “the known technologies in prior art do not refer to the same level of the system scalability to aggregate code, componentize, organize, synthesize and analyze it in order to make it easily accessible, efficient, reusable and user-friendly for a user.” (¶22). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. The attached PTO-892 form includes additional prior art relevant to systems for ontology generation for program translation. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MATTHEW J BROPHY whose telephone number is (571)270-1642. The examiner can normally be reached Monday-Friday, 9am-4:30pm. 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, Wei Zhen can be reached at 571-272-3708. 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. MJB 3/5/2026 /MATTHEW J BROPHY/Primary Examiner, Art Unit 2191
Read full office action

Prosecution Timeline

Feb 21, 2024
Application Filed
Jun 28, 2024
Non-Final Rejection — §103
Oct 03, 2024
Response Filed
Oct 31, 2024
Final Rejection — §103
Mar 03, 2025
Response after Non-Final Action
Apr 08, 2025
Request for Continued Examination
Apr 14, 2025
Response after Non-Final Action
Jul 25, 2025
Non-Final Rejection — §103
Oct 28, 2025
Response Filed
Nov 11, 2025
Final Rejection — §103
Jan 05, 2026
Response after Non-Final Action
Feb 13, 2026
Request for Continued Examination
Feb 25, 2026
Response after Non-Final Action
Mar 05, 2026
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12585464
APPLICATION MATURITY DATA PROCESSING FOR SOFTWARE DEVELOPMENT
2y 5m to grant Granted Mar 24, 2026
Patent 12579257
SECURITY APPLIANCE EXTENSION
2y 5m to grant Granted Mar 17, 2026
Patent 12547516
SYSTEMS AND METHODS FOR DYNAMICALLY CONFIGURING A CLIENT APPLICATION
2y 5m to grant Granted Feb 10, 2026
Patent 12542008
CENTER DEVICE AND IN-VEHICLE ELECTRONIC CONTROL DEVICE
2y 5m to grant Granted Feb 03, 2026
Patent 12487901
ADAPTING DATA COLLECTION IN CLINICAL RESEARCH AND DIGITAL THERAPEUTICS
2y 5m to grant Granted Dec 02, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
69%
Grant Probability
99%
With Interview (+33.5%)
3y 7m
Median Time to Grant
High
PTA Risk
Based on 614 resolved cases by this examiner. Grant probability derived from career allow 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