IP Library › Granted Patent US 11,642,783
Granted Patent B2
US 11,642,783 · App. 16/699,866 · Granted May 9, 2023

Automated generation of robotic computer program code

Inventors: Xue Han (Beijing, CN); Ya Bin Dang (Beijing, CN); Lijun Mei (Beijing, CN); Zi Ming Huang (Beijing, CN)
Assignee: International Business Machines Corporation
B25J9/163G06N5/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,642,783
App. No.
16/699,866
Filed
Dec 2, 2019
Granted
May 9, 2023
Kind
B2
Art Unit
2119
USPC
700/250
Abstract

Methods, systems and computer program products for providing automated robotic process automation design generation are provided. Aspects include receiving a set of stored automated sub-processes. Aspects also include receiving a process description document that describes a desired computer automated task (CAT) process. Aspects also include identifying a plurality of candidate sub-processes based on the process description document. Aspects also include identifying at least one matching sub-process based on a comparison of each of the plurality of candidate sub-processes to the set of stored automated sub-processes. The at least one matching sub-process is a stored automated sub-process that exceeds a threshold level of similarity to a candidate sub-process. Aspects also include generating a recommendation to automatically populate a portion of a CAT design file for the desired CAT process based on the at least one matching sub-process.

Claims (41)

1. A non-transitory computer-implemented method comprising:

receiving, by a processor, a set of stored automated sub-processes, a first stored automated sub-process comprising computer executable instructions that cause a one or more software applications to perform a first set of steps;

receiving, by the processor, a process description document that describes a desired computer automated task (CAT) process, the CAT process comprising a plurality of steps to be performed by the one or more software applications;

generating, by the processor, based on the process description document, a process graph comprising a plurality of blocks, each block representing a function to be performed by a software application as part of the CAT process;

determining, by the processor, a plurality of candidate sub-processes of the CAT process by partitioning the blocks from the process graph based on a combination of a software application and a function associated with a block, wherein a partition comprises one or more blocks that are associated with a particular combination of the function and a software application, each partition represents a candidate sub-process that comprises a second set of steps to be performed by the one or more software applications;

comparing, by the processor, each candidate sub-process with the set of stored automated sub-processes;

identifying, by the processor, based on the comparison a first candidate sub-processes from the CAT process to be matching with the first automated sub-process from the set of stored automated sub-processes, wherein the first candidate sub-process is determined to match the first stored automated sub-process in response to at least a threshold number of steps from the first set of steps matching the second set of steps; and

generating, by the processor, a CAT design file for the desired CAT process by copying the matching first stored automated sub-process into the CAT design file, and marking one or more steps from the first set of steps of the first stored automated sub-process to be completed the one or more steps being those that do not match with the second set of steps.

2. The non-transitory computer-implemented method of claim 1 , wherein the CAT design file comprises a robotic process automation (RPA) flow chart.

3. The non-transitory computer-implemented method of claim 2 , wherein each stored automated sub-process of the set of stored automated sub-processes is associated with one or more stored RPA blocks and each stored RPA block comprises a script that performs an intended function of the RPA block when executed.

4. The non-transitory computer-implemented method of claim 1 further comprising:

transmitting the CAT design file to a user device for viewing by a user; and

responsive to receiving a user input indicative of completion of the marked one or more steps, automatically populating a portion of the RPA flow chart with one or more stored RPA blocks of the matching first stored automated sub-process.

5. The non-transitory computer-implemented method of claim 1 , the method further comprising:

responsive to receiving one or more user-generated RPA blocks associated with the one or more marked steps, populating another portion of the RPA flow chart with the one or more user-generated RPA blocks.

6. The non-transitory computer-implemented method of claim 5 further comprising updating the set of stored automated sub-processes to include the one or more user-generated RPA blocks.

7. A system comprising:

a memory having computer readable instructions; and

one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising:

receiving a set of stored automated sub-processes, a first stored automated sub-process comprising computer executable instructions that cause a one or more software applications to perform a first set of steps;

receiving a process description document that describes a desired computer automated task (CAT) process, the CAT process comprising a plurality of steps to be performed by the one or more software applications;

generating based on the process description document, a process graph comprising a plurality of blocks, each block representing a function to be performed by a software application as part of the CAT process;

determining a plurality of candidate sub-processes of the CAT process by partitioning the blocks from the process graph based on a combination of a software application and a function associated with a block, wherein a partition comprises one or more blocks that are associated with a particular combination of the function and a software application, each partition represents a candidate sub-process that comprises a second set of steps to be performed by the one or more software applications;

comparing each candidate sub-process with the set of stored automated sub-processes;

identifying based on the comparison a first candidate sub-processes from the CAT process to be matching with the first automated sub-process from the set of stored automated sub-processes, wherein the first candidate sub-process is determined to match the first stored automated sub-process in response to at least a threshold number of steps from the first set of steps matching the second set of steps; and

generating a CAT design file for the desired CAT process by copying the matching first stored automated sub-process into the CAT design file, and marking one or more steps from the first set of steps of the first stored automated sub-process to be completed the one or more steps being those that do not match with the second set of steps.

8. The system of claim 7 , wherein the CAT design file comprises a robotic process automation (RPA) flow chart.

9. The system of claim 8 , wherein each stored automated sub-process of the set of stored automated sub-processes is associated with one or more stored RPA blocks and each stored RPA block comprises a script that performs an intended function of the RPA block when executed.

10. The system of claim 9 , further comprising:

transmitting the CAT design file to a user device for viewing by a user; and

responsive to receiving a user input indicative of completion of the marked one or more steps, automatically populating a portion of the RPA flow chart with one or more stored RPA blocks of the matching first stored automated sub-process.

11. A non-transitory computer program product for providing automated robotic process automation design generation, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer processor to cause the computer processor to perform a method comprising:

receiving a set of stored automated sub-processes, a first stored automated sub-process comprising computer executable instructions that cause a one or more software applications to perform a first set of steps;

receiving a process description document that describes a desired computer automated task (CAT) process, the CAT process comprising a plurality of steps to be performed by the one or more software applications;

generating based on the process description document, a process graph comprising a plurality of blocks, each block representing a function to be performed by a software application as part of the CAT process;

determining a plurality of candidate sub-processes of the CAT process by partitioning the blocks from the process graph based on a combination of a software application and a function associated with a block, wherein a partition comprises one or more blocks that are associated with a particular combination of the function and a software application, each partition represents a candidate sub-process that comprises a second set of steps to be performed by the one or more software applications;

comparing each candidate sub-process with the set of stored automated sub-processes;

identifying based on the comparison a first candidate sub-processes from the CAT process to be matching with the first automated sub-process from the set of stored automated sub-processes, wherein the first candidate sub-process is determined to match the first stored automated sub-process in response to at least a threshold number of steps from the first set of steps matching the second set of steps; and

generating CAT design file for the desired CAT process by copying the matching first stored automated sub-process into the CAT design file, and marking one or more steps from the first set of steps of the first stored automated sub-process to be completed the one or more steps being those that do not match with the second set of steps.

12. The non-transitory computer program product of claim 11 , wherein the CAT design file comprises a robotic process automation (RPA) flow chart.

13. The non-transitory computer program product of claim 12 , wherein each stored automated sub-process of the set of stored automated sub-processes is associated with one or more stored RPA blocks and each stored RPA block comprises a script that performs an intended function of the RPA block when executed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2019
From: HAN, XUE; DANG, YA BIN; MEI, LIJUN; HUANG, ZI MING
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051149/0285 →
Continuity (1)
Related Publication 20210162592A1 · Jun 3, 2021
Cited By (7)
US 12,197,927 US 12,259,946 US 12,292,960 US 12,360,784 US 12,379,945 US 12,602,947 US 12,743,470