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 .
Allowable Subject Matter
Claims 4, 5 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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, 6, 10 – 13, are rejected under 35 U.S.C. 102 (a) (1) as being anticipated by Ohshima et al. US 4,449,180 (hereinafter Ohshima).
Regarding claim 1, Ohshima teaches: a method for generating a control program for controlling an automation system, the method comprising:
generating a graphical diagram of the control program according to the Ladder Diagram LD graphical programming language for Programmable Logic Controllers in a diagram generating step (Fig. 10a, C6, L57-59 - - Fig. 10a shows a ladder diagram);
generating a data flow graph as a representation of the graphical diagram in a graph generating step, wherein elements of the graphical diagram are represented as nodes and connecting lines between elements of the graphical diagram are represented as edges of the data flow graph (Fig. 10b or Fig. 10c are data flow graph; C6, L55-65); and
generating a version of the control program executable by a programmable logic controller based on the data flow graph in a program generating step (C21,L54-55 - - convert the ladder program to machine instructions of the programmable sequence controller).
Claim 12 is substantially similar to claim 1 and is rejected for the same reasons and rationale as above.
Claim 13 is substantially similar to claim 1 and is rejected for the same reasons and rationale as above.
Regarding claim 2, Ohshima teaches all the limitations of the base claims as outlined above.
Ohshima further teaches:
receiving graphical programming requests according to the graphical programming language ladder diagram LD in a receiving step, wherein the graphical programming requests comprise adding and/or removing and/or rearranging elements and/or connecting lines of the graphical diagram; wherein the graph generating step comprises:
modifying the data flow graph by adding and/or removing and/or rearranging nodes and/or edges of the data flow graph according to the programming requests in a programming step (Fig. 10c, C5, L15-19 - - image editing device corrects the ladder diagram in response to image editing commands inputted from the keyboard; C6, L60-65 - - eliminating redundant portions (e.g. mere horizontal and vertical lines)); and wherein the graph generating step comprises:
adding and/or removing and/or rearranging elements and/or connecting lines within the graphical diagram based on the modifications to the data flow graph and according to the graphical programming requests in a graphical programming step (Fig. 8, Figs 36a-36c, C25, L45-50 - - convert Boolean expression to ladder diagram; thus after the data flow graph is converted to Boolean expression, then the Boolean expression can be converted to ladder diagram).
Regarding claim 3, Ohshima teaches all the limitations of the base claims as outlined above.
Ohshima further teaches: reading in a control program programmed in the graphical programming language ladder diagram LD in a reading step; wherein the graph generating step comprises:
generating a data flow graph based on the information of the read-in control program in a second graph generating step; and wherein the diagram generating step comprises:
generating the graphical diagram based on the information of the data flow graph in a displaying step (Figs 36a-36c, C25, L45-50 - - convert Boolean expression to ladder diagram; the Boolean expression is a control program).
Regarding claim 6, Ohshima teaches all the limitations of the base claims as outlined above.
Ohshima further teaches: the data flow graph is configured as an acyclic graph and comprises a start node and an end node (Fig. 15 is an acyclic graph).
Regarding claim 10, Ohshima teaches all the limitations of the base claims as outlined above.
Ohshima further teaches: elements of the graphical diagram comprise voltage rails and/or contacts and/or coils and/or functional block instances and/or functional blocks and/or further elements defined according to the programming language ladder diagram LD (Fig. 2, Fig. 10a).
Regarding claim 11, Ohshima teaches all the limitations of the base claims as outlined above.
Ohshima further teaches: storing the data flow graph in a text representation and/or storing the executable version of the control program in an executing file in a storing step (C23, L6-9 - - machine instruction sequence program is stored).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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 7 is rejected under 35 U.S.C. 103 as being unpatentable over Ohshima et al. US 4,449,180 (hereinafter Ohshima) in view of Krishna Mohan et al. US 2014/0344637 (hereinafter Mohan).
Regarding claim 7, Ohshima teaches all the limitations of the base claims as outlined above.
But Ohshima does not explicitly teach: topologically sorting the nodes of the data flow graph and the corresponding elements of the respective graphical diagram in a sorting step, wherein in the topological sorting an order of the nodes of the data flow graph and the corresponding elements of the graphical diagram is determined, and wherein the order corresponds to a distance of each node from the start node; and
arranging the elements of the graphical diagram according to the order of topological sorting in the first arranging step.
However, Mohan teaches: topologically sorting the nodes of the data flow graph and the corresponding elements of the respective graphical diagram in a sorting step, wherein in the topological sorting an order of the nodes of the data flow graph and the corresponding elements of the graphical diagram is determined, and wherein the order corresponds to a distance of each node from the start node (Claim 1, [0033] - - topographical sorting the nodes based on the distance from the primary inputs); and
arranging the elements of the graphical diagram according to the order of topological sorting in the first arranging step ([0034] - - generating final vectors for the circuit).
Ohshima and Mohan are analogous art because they are from the same field of endeavor. They all relate to graphical programming.
Therefore before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to modify the above method, as taught by Ohshima, and incorporating optimization, as taught by Mohan.
One of ordinary skill in the art would have been motivated to do this modification in order to improve performance, as suggested by Mohan (Page 15-16, conclusions).
Claims 8, 9 are rejected under 35 U.S.C. 103 as being unpatentable over Ohshima et al. US 4,449,180 (hereinafter Ohshima) in view of Milik “On hardware synthesis and implementation of PLC programs in FPGAs” from “Microprocessors and Microsystems 44 (2016) 2–16” (hereinafter Milik).
Regarding claim 8, Ohshima teaches all the limitations of the base claims as outlined above.
But Ohshima does not explicitly teach: the graphical programming step and/or the displaying step comprise:
optimizing the arrangement of the elements and/or the connecting lines of the graphical diagram with the aid of an optimizing algorithm in an optimizing step, wherein the optimizing comprises minimizing lengths of the connecting lines and/or minimizing distances of elements and/or avoiding intersections of a plurality of connecting lines.
However, Milik teaches: the graphical programming step and/or the displaying step comprise:
optimizing the arrangement of the elements and/or the connecting lines of the graphical diagram with the aid of an optimizing algorithm in an optimizing step, wherein the optimizing comprises minimizing lengths of the connecting lines and/or minimizing distances of elements and/or avoiding intersections of a plurality of connecting lines. (Page 7, right column - - reducing the total number of nodes, Fig. 5D, Page 10 left column - - the optimization procedure merged arithmetic node, which results in tree height reduction, this is minimizing distances of elements).
Ohshima and Milik are analogous art because they are from the same field of endeavor. They all relate to Programmable Logic Controller programs.
Therefore before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to modify the above method, as taught by Ohshima, and incorporating optimization, as taught by Milik.
One of ordinary skill in the art would have been motivated to do this modification in order to improve performance, as suggested by Milik (Page 15-16, conclusions).
Regarding claim 9, Ohshima teaches all the limitations of the base claims as outlined above.
But Ohshima does not explicitly teach: edges of the data flow graph are configured as directed edges, and wherein a direction of an edge between two nodes of the data flow graph represents a current flow between the elements of the graphical diagram represented by the nodes.
However, Milik teaches: edges of the data flow graph are configured as directed edges, and wherein a direction of an edge between two nodes of the data flow graph represents a current flow between the elements of the graphical diagram represented by the nodes (Fig. 7, Fig. 8).
Ohshima and Milik are analogous art because they are from the same field of endeavor. They all relate to Programmable Logic Controller programs.
Therefore before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to modify the above method, as taught by Ohshima, and incorporating directed edges representing current flow, as taught by Milik.
One of ordinary skill in the art would have been motivated to do this modification in order to allow optimization, as suggested by Milik (Page 7, right column).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to YUHUI R PAN whose telephone number is (571)272-9872. The examiner can normally be reached Monday-Friday 8AM-5PM EST.
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.
/YUHUI R PAN/Primary Examiner, Art Unit 2116