CTFR 18/597,334 CTFR 86397 DETAILED ACTION Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia 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 applicant’s amendment filed on 04/09/2026. Claims 1, 3-14, 16-22, 24-29 are pending and examined. Claims 2, 15, 23 have been cancelled. Response to Arguments 07-37 AIA Applicant’s arguments filed on 04/09/2026 have been fully considered, but they are not persuasive. Applicant argued that: Lovisa simply describes a user selecting/arranging components and component connections using schematic visualizations/representations and thereafter a system using the already existing, standard component data of the user selected components/connections. Lovisa does not describe computing-device selected code for any component, much less computing device-selected code for a particular user-selected component that is selected based on the computing device determining that the code enables communication of that particular user- selected component with another user-selected component, as recited in Claim 1. With reference to Fig 13, Lovisa does not describe any computing device selecting code for the components 51, 52, 53, or 54, much less computing device-selected code that is selected based on the computing device determining that the code would enable communication of components 51, 52, 53, or 54 with another one of components 51, 52, 53, or 54. Instead, Lovisa simply describes visually arranging components 51-54 and connections 65 in a schematic and using already existing, standard component data of these components and connections for generating executable code. The references do not teach "a second subset of code that is selected from a plurality of subsets of code, by the computing device for including in the first set of code for the first component, based on the computing device determining that the second subset of code enables communication between the first user-selected component type and the second user-selected component type" as claimed and the remaining references fail to disclose the above recitations. The examiner respectfully disagrees. Lovisa (claims 1, 9-10) discloses a user selecting two component types, and connecting them together to form a component combination (component A + component B). Furthermore, Lovisa (paragraphs [0097]-[0102], [0342][-0344]) discloses based on user selections, the system implements code for component A (first subset of code), and an agent (a second subset of code) that is associated component A that allows communication of component A with component B; there are many different types of agents, the operation of the agents will depend the nature of the components involved (i.e. system selecting a correct agent from a plurality of agents); the user is not involved in selecting the correct agent. The components cannot communicate with each other without the system selected agents. Therefore, the examiner believes Lovisa suggests the above claim limitations. The examiner is available for a phone interview with applicant for further discussion . Claim Rejections - 35 USC § 103 07-20-aia AIA 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. 07-21-aia AIA Claim s 1, 8-11, 13-14, 19-22 and 27-29 are rejected under 35 U.S.C. 103 as being unpatentable over Bruening et al. (US PGPUB 2022/0083025) hereinafter Bruening, in view of Lovisa et al. (US PGPUB 2017/0003939) hereinafter Lovisa . Per claim 1, Bruening discloses One or more non-transitory computer readable media comprising instructions that, when executed by one or more hardware processors, cause performance of operations comprising: receiving, by a computing device, a plurality of user-selected component types for a corresponding plurality of components for a computing environment, the plurality of user-selected component types comprising: a first user-selected component type for a first component of the plurality of components; and a second user-selected component type for a second component of the plurality of components (claims 1, 14; paragraph [0013]; using a GUI, a user can select at least two component types among a plurality of components for a target system); selecting, by the computing device, a first set of code for the first component, the first set of code comprising: a first subset of code that is statically associated with the first user-selected component type; selecting, by the computing device, a second set of code for the second component; and generating sample code that is executable in the computing environment corresponding to the first and second user-selected component types at least by incorporating the first subset of static code, the second subset of code, and the second set of code into the sample code (claims 1, 4, 9; paragraphs [0072][0073]; assigning each selectable component type a component type data object ( a first set of code and a second set of code ) in a data storage device, generating program code ( sample code ) for controlling the system based on component type data which contains predefined program code modules). Bruening does not explicitly teach a second subset of code that is selected from a plurality of subsets of code, by the computing device for including in the first set of code for the first component, based on the computing device determining that the second subset of code enables communication between the first user-selected component type and the second user-selected component type; generating sample code at least by incorporating the second subset of code . However, Bruening discloses (paragraph [0025]; checking compatibility between a first user selected component type and a second user selected component type). Lovisa further suggests the above limitations (claims 1, 9-10; paragraphs [0374]-[0377][0396]; a user selecting two component types, and connecting them together; paragraphs [0097]-[0102], [0342][-0344]; based on user selections, the system implements code for component A (first subset of code), and an agent (a second subset of code) that is associated component A that allows communication of component A with another component; there are many different types of agents, the operation of the agents will depend the nature of the components involved (i.e. system selecting a correct agent from a plurality of agents); the user is not involved in selecting the correct agent; during a build process, computer executable code ( sample code ) is generated based on the component data and agent). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Bruening and Lovisa to select connection code that is compatible with two components and generate executable code based on the agent code; this would ensure the two components can work together and communicate correctly in a system. Per claim 8, Lovisa further suggests wherein the second user-selected component type corresponds to an existing component, and the operations further comprising: accessing configuration information for the existing component; and selecting the second subset of code based on the configuration information of the existing component (claims 1, 9-10; paragraphs [0097]-[0102], [0342][-0344][0083]; after two components are selected (including selecting a second component), determine if they are compatible using their communication configuration information ; Port specifications defining the operation of the agents associated with each port; i.e. an agent ( the second subset of code ) is implemented based on port configuration). Per claim 9, Bruening further suggests presenting a candidate set of existing components, responsive to receiving the second user-selected component type, by analyzing the computing environment; and receiving a selection of the existing component from the candidate set (claims 1, 4, 9, 14; paragraph [0013]; related module types can be combined to form groups, wherein a module type group is first of all selected, for example, the user can select the “robotic arms” module type group and can then choose between robotic arms having a different number of axes; thus, a user can select an existing component from a candidate set). Per claim 10, Bruening further suggests generating the sample code includes: incorporating, into the sample code, the first set of code for the first user-selected component type and a second set of code for the second user-selected component type; and configuring the first set of code and the second set of code to enable communication between components corresponding to the first user-selected component type and the second user-selected component type (claims 1, 4, 9; paragraphs [0041][0072][0073]; assigning each selectable component type a component type data object ( a first set of code and a second set of code ) in a data storage device, generating program code ( sample code ) for controlling the system based on component type data which contains predefined program code modules; checking compatibility between a first user selected component type and a second user selected component type; therefore, the generated program code allows a first component to control/communicate with a second component). Per claim 11, Bruening further suggests generating a graphical user interface (GUI) configured to present selectable component types for a plurality of component types and to receive a selection of a component type for a presented component type (claims 1, 4, 9, 14; providing a GUI to allow a user to select component types). Per claim 13, Lovisa further suggests wherein the computing environment is a cloud computing environment (paragraph [0306]; a distributed system with components communicate through the Internet). Claims 14, 19-21 recite similar limitations as claims 1, 8, 10-11. Therefore, claims 14, 19-21 are rejected under similar rationales as claims 1, 8, 10-11. Claims 22, 27-29 recite similar limitations as claims 1, 8, 10-11. Therefore, claims 22, 27-29 are rejected under similar rationales as claims 1, 8, 10-11 . 07-21-aia AIA Claim s 3-7, 16-18, 24-26 are rejected under 35 U.S.C. 103 as being unpatentable over Bruening, in view of Lovisa, in view Balasubramanian et al. (US PGPUB 2014/0068546) hereinafter Balasubramanian . Per claim 3, Bruening does not explicitly teach based on the plurality of user-selected component types for the plurality of components, generating, by the computing device, deployment code for deploying the computing environment, with the plurality of components of the user-selected component types, on a set of hardware resources . However, Balasubramanian suggests the above (claim 10; paragraphs [0024][0036]; a user selecting a plurality of components from a component library; the system determines component dependencies among the selected component; providing deployment code to deploy the selected components based on an deployment order, to a target computing environment containing hardware resources). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Bruening, Lovisa and Balasubramanian to provide deployment code that can deploy the selected components in a specific deployment order that satisfies component dependencies; this would ensure a proper deployment process (incorrect deployment order can result in errors). Per claim 4, Bruening in view of Balasubramanian further suggests the operations further comprising generating a code repository and storing the first set of code, the second set of code, and the deployment code therein (Bruening; paragraphs [0012][0093][0094]; storing component type data (first and second sets of data) in a data storage device (repository); Balasubramanian; claim 10; paragraphs [0024][0036]; a user selecting a plurality of components from a component library; the system determines component dependencies among the selected component; providing deployment code to deploy the selected components based on an deployment order; it would have been obvious to store the deployment code also in the data storage device for possible future reuse). Per claim 5, Balasubramanian further suggests determining a system architecture for the computing environment based on the first user-selected component type and the second user- selected component type; and generating the deployment code based on the system architecture (claim 10; paragraphs [0023][0024][0036]; a user selecting a plurality of components from a component library; the selected components forms a system architecture; determine the component dependencies and a deployment order based on the system architecture; providing deployment code to deploy the selected components based on the deployment order). Per claim 6, Balasubramanian further suggests wherein the system architecture comprises supporting components that are (a) not user-selected components and (b) required for implementation of the plurality of components of the plurality of user-selected component types. (claim 10; paragraphs [0023][0024][0030][0036]; a user selecting a plurality of components from a component library; the selected components forms a system architecture; determine the component dependencies and a deployment order based on the system architecture; the component dependencies also include components not selected but are required, such as a requirement of a specific java version or a relational database management). Per claim 7, Balasubramanian further suggests determining an ordered sequence of operations for deploying the computing environment based on the first user-selected component type and the second user-selected component type; and generating the deployment code based on the ordered sequence of operations (claim 10; paragraphs [0023][0024][0036]; a user selecting a plurality of components from a component library; the selected components forms a system architecture; determine the component dependencies and a deployment order based on the system architecture; providing deployment code to deploy the selected components based on the deployment order). Claims 16-18 recite similar limitations as claims 3-4, 7. Therefore, claims 16-18 are rejected under similar rationales as claims 3-4, 7. Claims 24-26 recite similar limitations as claims 3-4, 7. Therefore, claims 24-26 are rejected under similar rationales as claims 3-4, 7 . 07-21-aia AIA Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over Bruening, in view of Lovisa, in view Rebh et al. (US patent 11625229) hereinafter Rebh . Per claim 12, Bruening does not explicitly teach “ wherein the GUI is further configured to dynamically update the selectable component types based on a previous user selection ”. However, Rebh suggests the above (column 13, line 38-55; after a component is selected by a user, a list of components is refreshed, only the compatible components are shown, incompatible components are filtered out). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Bruening, Lovisa and Rebh to refresh the selectable component types after a first user selection, so only compatible component types are displayed to prevent incompatibility error. Conclusion 07-39 AIA THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to HANG PAN whose telephone number is (571)270-7667. The examiner can normally be reached 9 AM to 5 PM. 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, Chat Do can be reached at 571-272-3721. 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. /HANG PAN/Primary Examiner, Art Unit 2193 Application/Control Number: 18/597,334 Page 2 Art Unit: 2193 Application/Control Number: 18/597,334 Page 3 Art Unit: 2193 Application/Control Number: 18/597,334 Page 4 Art Unit: 2193 Application/Control Number: 18/597,334 Page 5 Art Unit: 2193 Application/Control Number: 18/597,334 Page 6 Art Unit: 2193 Application/Control Number: 18/597,334 Page 7 Art Unit: 2193 Application/Control Number: 18/597,334 Page 8 Art Unit: 2193 Application/Control Number: 18/597,334 Page 9 Art Unit: 2193 Application/Control Number: 18/597,334 Page 10 Art Unit: 2193 Application/Control Number: 18/597,334 Page 11 Art Unit: 2193