WO2023218615A1 - 処理装置、処理方法及び処理プログラム - Google Patents
処理装置、処理方法及び処理プログラム Download PDFInfo
- Publication number
- WO2023218615A1 WO2023218615A1 PCT/JP2022/020103 JP2022020103W WO2023218615A1 WO 2023218615 A1 WO2023218615 A1 WO 2023218615A1 JP 2022020103 W JP2022020103 W JP 2022020103W WO 2023218615 A1 WO2023218615 A1 WO 2023218615A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- target
- information
- execution
- automatic operation
- unit
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 73
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000013515 script Methods 0.000 claims abstract description 41
- 238000012544 monitoring process Methods 0.000 claims abstract description 35
- 230000008569 process Effects 0.000 claims abstract description 35
- 230000008859 change Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 33
- 238000004891 communication Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229910052711 selenium Inorganic materials 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Definitions
- the present invention relates to a processing device, a processing method, and a processing program.
- RPA Robot Process Automation
- Non-Patent Document 1 There is a method of describing automatic operation procedures in the form of a flowchart scenario (Non-Patent Document 1).
- actions such as "click” and "character string setting” are defined as blocks in a flowchart, and controls are described by connecting them.
- information to be automatically operated is included in each action block.
- Non-Patent Document 2 there is a method of writing automatic operation procedures in a dedicated script language or various programming languages (Non-Patent Document 2).
- control is described using syntax of each language, API (Application Programming Interface)/command, etc., and target information is hard-coded as an argument of the API/command.
- targets that are subject to automatic operation and are susceptible to environmental factors such as system screens, and controls such as how to process them are described as an integrated scenario or rule. .
- the present invention has been made in view of the above, and an object of the present invention is to provide a processing device, a processing method, and a processing program that can reduce the influence of environment changes on modification of scenarios and rules.
- a processing device specifies an automatic operation target displayed on a system screen, and converts the position information and alias of the specified automatic operation target into target information.
- a registration unit that registers and manages the system, and the target information registered by the registration unit, describes automatic operation control using low code and/or no code, and describes execution conditions when there are execution conditions.
- the present invention monitors information about a description part that converts into a predetermined script and an application on the desktop, determines whether or not the execution conditions set by the description part are satisfied, and when it is determined that the execution conditions are satisfied, a monitoring unit that outputs a corresponding script; and a script that is converted by the writing unit, which interprets the script, replaces the alias with object information to be automatically operated, sequentially processes the script, and automatically operates the system screen.
- the present invention is characterized by having an execution unit that performs the following.
- FIG. 1 is a diagram schematically showing an example of the configuration of a processing device according to an embodiment.
- FIG. 2 is a flowchart illustrating a processing procedure for automatic system screen operation processing according to the embodiment.
- FIG. 3 is a flowchart showing the processing procedure of the target registration process shown in FIG. 2.
- FIG. 4 is a flowchart showing the processing procedure of the control description process shown in FIG.
- FIG. 5 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 6 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 7 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 8 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 1 is a diagram schematically showing an example of the configuration of a processing device according to an embodiment.
- FIG. 2 is a flowchart illustrating a processing procedure for automatic system screen operation processing according to
- FIG. 9 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 10 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 11 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 12 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 13 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 14 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 15 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 16 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 17 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 18 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 19 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 20 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 21 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 22 is a flowchart showing the procedure for updating the target list when the system screen changes.
- FIG. 23 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 24 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 25 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 26 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 27 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 28 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 29 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 30 is a diagram showing an example of a menu screen displayed on the automatic operation target device.
- FIG. 31 is a diagram illustrating an example of a computer that implements a processing device by executing a program.
- control information and target information refers to an object that is subject to automatic operation, such as a button or text box on the system screen.
- Control refers to the process of setting a value for an automatic operation target, the process of acquiring a set value, the process of repeating these processes, and the process of branching depending on conditions.
- items that are easily affected by environment changes such as system updates are generated for each system as target information (aliases, monitoring conditions), and various controls for the same system are handled by common targets. Describe using information (alias, monitoring conditions).
- target information aliases, monitoring conditions
- Describe using information alias, monitoring conditions.
- the processing device 10 includes an input section 11, an output section 12, a communication section 13, a storage section 14, and a control section 15.
- the input unit 11 is realized using input devices such as a keyboard, mouse, microphone, etc., and inputs various instruction information such as starting processing to the control unit 15 in response to input operations by an operator.
- the output unit 12 is realized by a speaker, a display device (desktop) such as a liquid crystal display, a printing device such as a printer, and the like.
- the communication unit 13 is realized by a NIC (Network Interface Card) or the like, and controls communication between an external device and the control unit 15 via a telecommunication line such as a LAN (Local Area Network) or the Internet.
- NIC Network Interface Card
- LAN Local Area Network
- the storage unit 14 is a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or an optical disk.
- the storage unit 14 may be a data-rewritable semiconductor memory such as a RAM (Random Access Memory), a flash memory, or an NVSRAM (Non Volatile Static Random Access Memory).
- a processing program for operating the processing device 10 data used during execution of the processing program, and the like are stored in advance, or are temporarily stored each time processing is performed.
- the storage unit 14 may be configured to communicate with the control unit 15 via the communication unit 13.
- the storage unit 14 has a target list 141 and a condition list 142.
- the target list 141 is a list of target information in which position information and aliases of automatic operation targets are registered.
- the condition list 122 is a list of monitoring conditions set using aliases. Conditions include existence conditions, value conditions, and/or timing conditions.
- the control unit 15 controls the entire processing device 10.
- the control unit 15 includes, for example, electronic circuits such as a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), and an FPGA (Field Programmable Gate). Array) etc. It is an integrated circuit.
- control unit 15 has an internal memory for storing programs and control data that define various processing procedures, and executes each process using the internal memory. Further, the control unit 15 functions as various processing units by running various programs.
- control unit 15 includes a target registration unit 151 (registration unit), a control description unit 152 (description unit), a target monitoring unit 153 (monitoring unit), and an execution unit 154.
- the target registration unit 151 specifies the automatic operation target displayed on the system screen, and registers and manages the position information and alias of the specified automatic operation target as target information.
- the target registration unit 151 generates information that is easily affected by environment changes such as system updates as target information (aliases, monitoring conditions) for each system, and various controls for the same system use common target information (aliases, monitoring conditions). monitoring conditions).
- the location information registered by the object registration unit 151 is expressed hierarchically using object information or an index.
- the target registration unit 151 defines a unique alias for each location information.
- the target registration unit 151 sets monitoring conditions (hereinafter referred to as conditions) using the alias. Conditions include existence conditions, value conditions, and/or timing conditions. The target registration unit 151 defines a unique condition name for each condition.
- the control description unit 152 uses the target information registered by the target registration unit 151 to describe automatic operation control using low code and/or no code.
- the control description section 152 describes execution conditions when there are execution conditions.
- control description section 152 converts it into a predetermined script that can be interpreted by the execution section 154 (described later).
- the control description section 152 describes control using one of the following execution methods: immediate execution and execution when an execution condition set by combining condition names is met.
- the target monitoring unit 153 monitors the information of the application displayed on the desktop and determines whether the execution conditions set by the control description unit 152 are satisfied. When the target monitoring unit 153 determines that the execution condition is satisfied, in other words, when a situation that matches the execution condition given by the control description unit 152 occurs, the target monitoring unit 153 outputs a script corresponding to the execution condition, and the execution unit 154 give it to
- the execution unit 154 is implemented by any script engine.
- the execution unit 154 interprets the script converted by the control description unit 152.
- the execution unit 154 performs automatic operation of the system screen by replacing the alias with object information to be automatically operated and sequentially processing the script.
- the execution unit 154 acquires location information from the alias of the target information written in the script, searches for an automatic operation target that matches the location information from among the applications displayed on the current desktop, and converts it into object information. Replace.
- the execution unit 154 sequentially processes the replaced scripts and executes automatic operations.
- FIG. 2 is a flowchart illustrating a processing procedure for automatic system screen operation processing according to the embodiment.
- the processing device 10 first specifies the automatic operation target displayed on the system screen, and performs target registration processing to register the position information and alias of the specified automatic operation target as target information (Ste S1).
- the processing device 10 uses the target information registered in the target registration process to describe the automatic operation control using low code and/or no code, describes the execution condition if there is an execution condition, and the execution unit 154 Control description processing is performed to convert it into an interpretable predetermined script (step S2).
- the target monitoring unit 153 determines whether the output in the control description process has an execution condition (step S3). If there is an execution condition (step S3: Yes), the target monitoring unit 153 performs target monitoring to monitor the application displayed on the desktop (step S4), and determines whether a situation satisfies the execution condition given in the control description process. It is determined whether or not this has occurred (step S5).
- step S5 determines that a situation that satisfies the execution conditions has not occurred (step S5: No).
- the process returns to step S4 and performs target monitoring. If the target monitoring unit 153 determines that a situation that satisfies the execution conditions has occurred (step S5: Yes), it passes the corresponding script to the execution unit 154 (step S6).
- step S3 If there is no execution condition (step S3: none), or after the processing in step S6, the execution unit 154 interprets the corresponding script, replaces the alias with object information to be automatically operated, and processes the script sequentially. Then, automatic operation of the system screen is executed (step S7).
- FIG. 3 is a flowchart showing the processing procedure of the target registration process shown in FIG. 2.
- the target registration unit 151 when an automatic operation target is specified by a mouse operation (step S11), the target registration unit 151 generates position information of the automatic operation target (step S12), and sets an alias for the automatic operation target. (Step S13). Then, the target registration unit 151 adds the position information and alias generated in steps S12 and S13 to the target list as a set of target information (step S14).
- the object registration unit 151 determines whether registration of the necessary automatic operation objects is completed (step S15). If the registration of the necessary automatic operation target is not completed (step S15: No), the target registration unit 151 returns to step S11.
- step S15 If the registration of the necessary automatic operation targets is completed (step S15: Yes), the target registration unit 151 determines whether the registration of the conditions to be monitored is completed (step S16).
- step S16 If the registration of the condition to be monitored is not completed (step S16: No), the target registration unit 151 specifies an alias and a condition (step S17), and sets a condition name (step S18). The target registration unit 151 adds the condition name and (alias, condition) specified and set in steps S17 and S18 to the condition list (step S19), and returns to step S16.
- step S16 If the registration of the conditions to be monitored is completed (step S16: Yes), the target registration unit 151 outputs a list of targets and a list of conditions (step S20).
- FIG. 4 is a flowchart showing the processing procedure of the control description process shown in FIG.
- control description unit 152 refers to the target list 141 and the condition list 142 (step S31).
- the control description unit 152 acquires an alias from the target list (step S32), and describes automatic operation control using an arbitrary low-code/no-code method and the alias (step S33).
- the control description unit 152 converts the low-code and/or no-code description into a predetermined script that can be interpreted by the execution unit 154 (step S34).
- the control description unit 152 determines whether there is an execution condition corresponding to this control (step S35). If there is no execution condition (step S35: none), the control description unit 152 outputs the corresponding script to the execution unit 154 (step S36).
- step S35 If there is an execution condition (step S35: yes), the control description unit 152 acquires a condition name from the condition list (step S37), and writes the execution condition by combining the acquired condition names (step S38). The control description unit 152 outputs the described execution conditions and script to the execution unit 154 (step S39).
- 5 to 20 are diagrams showing examples of menu screens displayed on the automatic operation target device.
- the automatic operation target device may be a terminal device to which the processing device 10 is connected.
- the present embodiment is realized as software in which an execution unit 154, a target registration unit 151, and a target monitoring unit 153 are implemented as an application that resides in the task tray, for example.
- an execution unit 154, a target registration unit 151, and a target monitoring unit 153 are implemented as an application that resides in the task tray, for example.
- a menu M1 is displayed as a developer tool.
- a list of targets is displayed in the left area R1 on the Dictionary screen of the menu M1 ((1) in FIG. 6).
- position information is displayed in the right area R2 ((2) in FIG. 6), and aliases are displayed in the right area R3 ((3) in FIG. 6).
- the Dictionary screen displays a registration process start button B1 and a registration update button B2.
- a dictionary acquisition start menu M2-2 is displayed.
- the user performs an operation such as clicking an automatic operation target C1 to be registered with a mouse, the clicked event is observed and the target is highlighted in a red frame W1 ((2) in FIG. 8).
- the object C1 is a telephone number
- observed events are listed in the dictionary acquisition start menu M2-2 (in this example, an event of focusing on a telephone number is listed).
- the add button B3 ((3) in FIG. 8).
- the object registration unit 151 specifies the selected object C1 and generates position information of the specified object C1. As a result, the position information of the target C1 is automatically generated ((4) in FIG. 9) and displayed in the area R2 on the left side of the menu M1. Then, the object registration unit 151 sets the alias of this object C1 as "telephone number" ((5) in FIG. 9, area R3). Note that the telephone number of the target C1 selected in the application information reception menu M2-1 of FIG. 8 is displayed in the telephone number column C2 of "Customer Information".
- the target registration unit 151 stores the phone number of the target C1, the alias "telephone number”, and the location information of the target C1. are added to the target list as one set ((7) in FIG. 10, area R1-2).
- FIG. 11 illustrates a menu M2 for setting properties for automatic operation.
- the position information of target C1 is specified by object information (properties) ((1) in FIG. 11).
- the position information of the target C1 is specified by an index in each hierarchy of the automatic operation target ((2) in FIG. 12).
- the user can also specify what kind of object to pass through at the relay point of the hierarchy in the route setting area R2-2 of the position information of the menu M1 (FIG. 13 (1)).
- Specifying a relay point can speed up object identification. In this way, by combining object properties and indexes as target location information, and by making it possible to flexibly set relay points, it is possible to flexibly set the display position of the target object even when the display position of the target object cannot be determined in the first place. You can set and specify location information.
- conditions can be registered on the Condition screen of menu M1.
- a list of conditions is displayed in the left region R31 ((1) in FIG. 14).
- a condition name column in which a condition name can be defined is displayed in the right area R32 ((2) in FIG. 14).
- a setting column in which an alias can be set is displayed in the right area R33 ((3) in FIG. 14).
- a setting field in which conditions can be set is displayed in the right area R34 ((4) in FIG. 14).
- "when a telephone number including 070 is set” is set as the condition.
- a registration update button is displayed on the Condition screen.
- the object registration unit 151 sets the conditions for the object C1 registered on the Dictionary screen of the menu M1 according to the settings on the Condition screen.
- the target monitoring unit 153 constantly monitors the system screen and determines whether the conditions are met (FIG. 15(2)). In this case, the condition "when a telephone number including 070 is set” set in FIG. 14 is not satisfied ((1) in FIG. 15). If the condition is not satisfied, the target monitoring unit 153 displays the condition name in red, for example, on the Condition screen of menu M4-2 (area R42 in FIG. 15).
- the target monitoring unit 153 constantly monitors the system screen and determines whether the conditions are met (FIG. 16(4)). In this case, the condition "when a telephone number including 070 is set” set in FIG. 14 is satisfied ((3) in FIG. 16). Therefore, when the condition is satisfied, the target monitoring unit 153 displays the condition name in green, for example, on the Condition screen of the menu M4-4 (area R44 in FIG. 16).
- FIG. 17 illustrates the Lua script language.
- the script is written using the alias set by the target registration unit 151 ((2) in FIG. 17, areas R51 and R52).
- the execution unit 154 replaces the alias with object information to be automatically operated. Then, the script is sequentially processed by the execution unit 154, and automatic operation of the system screen is executed ((3) in FIG. 17). As a result, "dummy@ntt.com" is automatically entered in the email address field C51 of the application information reception menu M5-1.
- the user can output (export) the target list in the area R11 by pulling down File in the menu M1 and selecting the Export column D1.
- the control description unit 152 describes automatic operation control using low-code and/or no-code for the targets in the target list ((1) in FIG. 20).
- FIG. 20 illustrates block-type visual programming.
- the control description section 152 sets the description content using the alias of the imported target list ((2) in FIG. 20 and areas R71 to R73). Then, the control description section 152 converts it into a script that can be interpreted by the execution section 154 ((3) in FIG. 21 and box M75 in FIG. 21).
- FIG. 22 is a flowchart showing the procedure for updating the target list when the system screen changes.
- the target registration unit 151 performs a target check on the system screen to be checked (step S41), and if there is any position information not found in the target list 141, , the target is highlighted (step S42).
- the target registration unit 151 reacquires the position information of the highlighted target on the system screen (step S44), and selects this target from the target list 141. Update the location information to the reacquired location information.
- the target registration unit 151 determines whether the necessary corrections have been completed for the system screen to be checked (step S45). If the necessary corrections have not been completed for the system screen to be checked (step S45: No), the target registration unit 151 returns to step S43. If the necessary corrections have been completed for the system screen to be checked (step S45: Yes), the process for updating the target list for this system screen is ended.
- FIGS. 23 to 28 are diagrams showing examples of menu screens displayed on the automatic operation target device. An example in which the system screen is changed from menu M8 to menu M9 in FIG. 23 will be described. In menu M9, the location information of the telephone number is different from that in menu M8.
- a frame for example, a red frame
- a change in position information is found ((2) in FIG. 25).
- the target that cannot be found (phone number in this case) will be displayed in red, for example. is displayed ((3) in FIG. 26).
- the target registration unit 151 updates only the location information for the target in red (phone number in this case) without changing the alias by re-acquiring the location information in the phone number field on the system screen after the change. ((2) in Figure 27).
- the target registration unit 151 updates only the position information without modifying the alias for those having the same target (phone number in this case) in the target list.
- the object registration unit 151 re-acquires the position information of this object,
- the location information of this target in the target list is updated to the reacquired location information.
- FIG. 29 is a diagram explaining conventional RPA.
- existing RPA automatic operation targets and control information are written together in the form of scenarios and rules.
- the system screen that is the target of the operation is modified due to an update to the system 1 (for example, when the button label changes from "Register” to "Submit") ( (1) in Figure 29)
- FIG. 30 is a diagram illustrating the processing device 10 according to the embodiment. As shown in FIG. 29, the processing device 10 separates control and automatic operation targets and manages automatic operations. The processing device 10 aggregates information that is easily affected by the environment, such as system screens, into target information (aliases, monitoring conditions) and generates the information for each system ((1) in FIG. 30).
- target information aliases, monitoring conditions
- the processing device 10 even if the system screen that is the target of a dynamic operation is modified due to a system update ((2) in FIG. 30), the scope of modification is limited to only the target information ( (3) in Figure 30). In the processing device 10, since there is no need to modify the control of the system 1, the modified target information may be used in the description of the control.
- the position information of the automatic operation target registered by the target registration unit 151 is expressed hierarchically using object information or an index, so that the position information of the automatic operation target can be appropriately registered. Furthermore, in the processing device 10, since a unique alias is defined for each piece of positional information, it is possible to appropriately manage the positional information of the automatic operation target.
- control description unit 152 uses aliases to set conditions including existence conditions, value conditions, and/or timing conditions, and defines a unique condition name for each condition. Conditions can be managed appropriately.
- control description unit 152 describes control using one of the following execution methods: immediate execution and execution when an execution condition set by combining condition names is met. Therefore, compared to the conventional method of creating all scenarios and rules as one, the processing device 10 does not have to consider all the scenarios and rules, and the processing device 10 waits until the system screen transitions to the next screen to automatically It is also possible to easily describe procedures such as ⁇ waiting until a scenario or rule can be executed by monitoring the screen'' such as performing an operation.
- Each component of the processing device 10 is functionally conceptual, and does not necessarily need to be physically configured as illustrated.
- the specific form of distributing and integrating the functions of the processing device 10 is not limited to what is shown in the diagram, and all or part of it can be functionally or physically distributed in arbitrary units depending on various loads and usage conditions. It can be configured to be distributed or integrated.
- each process performed in the processing device 10 may be realized by a CPU, a GPU (Graphics Processing Unit), or a program that is analyzed and executed by the CPU or GPU.
- each process performed in the processing device 10 may be realized as hardware using wired logic.
- FIG. 31 is a diagram illustrating an example of a computer that implements the processing device 10 by executing a program.
- Computer 1000 includes, for example, a memory 1010 and a CPU 1020.
- the computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These parts are connected by a bus 1080.
- the memory 1010 includes a ROM 1011 and a RAM 1012.
- the ROM 1011 stores, for example, a boot program such as BIOS (Basic Input Output System).
- Hard disk drive interface 1030 is connected to hard disk drive 1090.
- Disk drive interface 1040 is connected to disk drive 1100.
- Serial port interface 1050 is connected to, for example, mouse 1110 and keyboard 1120.
- Video adapter 1060 is connected to display 1130, for example.
- the hard disk drive 1090 stores, for example, an OS (Operating System) 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the processing device 10 is implemented as a program module 1093 in which code executable by the computer 1000 is written.
- Program module 1093 is stored in hard disk drive 1090, for example.
- a program module 1093 for executing processing similar to the functional configuration in the processing device 10 is stored in the hard disk drive 1090.
- the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
- the setting data used in the processing of the embodiment described above is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary and executes them.
- program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like.
- the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). The program module 1093 and program data 1094 may then be read by the CPU 1020 from another computer via the network interface 1070.
- LAN Local Area Network
- WAN Wide Area Network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
処理装置(10)は、システム画面に表示された自動操作対象を指定し、指定した自動操作対象の位置情報とエイリアスとを対象情報として登録及び管理する対象登録部(151)と、対象情報を用いて、自動操作の制御をローコード及び/またはノーコードにより記述し、実行条件がある場合に実行条件を記述し、所定のスクリプトへと変換する制御記述部(152)と、デスクトップ上のアプリケーションの情報を監視し、制御記述部(152)によって設定された実行条件を満たすか否かを判定し、実行条件を満たすと判定した場合、対応するスクリプトを出力する対象監視部(153)と、制御記述部(152)によって変換されたスクリプトを解釈し、エイリアスを自動操作対象のオブジェクト情報に置換し、スクリプトを逐次的に処理し、システム画面の自動操作を行う実行部(154)と、を有する。
Description
本発明は、処理装置、処理方法及び処理プログラムに関する。
RPA(Robotic Process Automation)を用いたシステム操作の自動化による業務効率化が進んでいる。RPAにおいては、自動操作の手順を、シナリオやルールといった形で記述する。その多くは、ローコード/ノーコード開発の仕組みにより、非プログラマーでも手順の記述を容易としている。
自動操作の手順をフローチャートによるシナリオの形式で記述する手法がある(非特許文献1)。非特許文献1記載の手法では、「クリックする」、「文字列設定」などのアクションが、フローチャートのブロックとして定義され、それらを接続して制御を記述する。この手法では、自動操作対象の情報は各々のアクションのブロックに内包される。
また、自動操作の手順を専用のスクリプト言語や様々なプログラミング言語で記述する手法がある(非特許文献2)。非特許文献2記載の手法では、制御は、各々の言語の構文やAPI(Application Programming Interface)/コマンドなどで記述され、対象の情報は、API/コマンドの引数としてハードコーディングされる。
横瀬 史拓, 田中 宏幸, 豊田 貴広, 堀田 健太郎, 井上 晃, 杉本 悟, "端末操作自動化ソフトUMSの概要と適用事例," 信学技報, ICM2011-73, p.149-154, 2012.
Software Freedom Conservancy, "The Selenium Browser Automation Project," [online],[令和4年3月28日検索],インターネット<URL: https://www.selenium.dev/documentation/>
このように、既存のRPAでは、自動操作対象であってシステム画面などの環境の要因を受けやすい対象と、それらをどのように処理するかといった制御が、シナリオやルールとして一体として記述されている。
このため、既存のRPAでは、システム更改などにより自動操作対象となるシステム画面の修正が行われたときなど、環境変更があった場合、該当のシステム画面に関連する全てのシナリオやルールの修正が必要となるという問題があった。
本発明は、上記に鑑みてなされたものであって、環境変更による、シナリオ及びルールの修正に対する影響を軽減することができる処理装置、処理方法及び処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る処理装置は、システム画面に表示された自動操作対象を指定し、指定した前記自動操作対象の位置情報とエイリアスとを対象情報として登録及び管理する登録部と、前記登録部によって登録された前記対象情報を用いて、自動操作の制御をローコード及び/またはノーコードにより記述し、実行条件がある場合に実行条件を記述し、所定のスクリプトへと変換する記述部と、デスクトップ上のアプリケーションの情報を監視し、前記記述部によって設定された実行条件を満たすか否かを判定し、前記実行条件を満たすと判定した場合、対応するスクリプトを出力する監視部と、前記記述部によって変換されたスクリプトを解釈し、前記エイリアスを自動操作対象のオブジェクト情報に置換し、前記スクリプトを逐次的に処理し、前記システム画面の自動操作を行う実行部と、を有することを特徴とする。
本発明によれば、環境変更による、シナリオ及びルールの修正に対する影響を軽減することができる。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
本実施の形態では、システム画面の自動操作を行う処理装置及び処理方法について説明する。
本実施の形態では、システム画面の自動操作を行う処理装置及び処理方法について説明する。
本実施の形態では、自動操作に関する情報を、制御と対象の情報とに分離して管理する。ここで対象とは、システム画面上のボタンやテキストボックスなどの自動操作対象となっているオブジェクトを指す。制御とは、自動操作対象に対して値を設定する処理や、設定されている値を取得するといった処理、これらの処理を繰り返す処理、条件よって分岐させるといった処理を指す。
そして、実施の形態では、システム更改などの環境変更による影響を受けやすいものは、対象情報(エイリアス(別名)、監視条件)としてシステムごとに生成し、同一システムに対する様々な制御は、共通の対象情報(エイリアス(別名)、監視条件)を用いて記述する。これにより、実施の形態では、システム画面の変更などの環境変更が発生した場合には、対象情報のみを修正することで、対象情報を用いて記述された制御に関しては修正を不要とする。
[処理装置]
実施の形態に係る処理装置について説明する。図1は、図1に示すように、処理装置10は、入力部11、出力部12、通信部13、記憶部14及び制御部15を有する。
実施の形態に係る処理装置について説明する。図1は、図1に示すように、処理装置10は、入力部11、出力部12、通信部13、記憶部14及び制御部15を有する。
入力部11は、キーボードやマウス、マイク等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して処理開始などの各種指示情報を入力する。また、出力部12は、スピーカー、液晶ディスプレイなどの表示装置(デスクトップ)、プリンター等の印刷装置等によって実現される。
通信部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した外部の装置と制御部15との通信を制御する。
記憶部14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部14は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部14には、処理装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。なお、記憶部14は、通信部13を介して制御部15と通信する構成でもよい。
記憶部14は、対象一覧141及び条件一覧142を有する。対象一覧141は、自動操作対象の位置情報とエイリアスとが登録された対象情報の一覧である。条件一覧122は、エイリアスを用いて設定された監視条件の一覧である。条件は、存在条件、値条件及び/またはタイミング条件を含む。
制御部15は、処理装置10全体を制御する。制御部15は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。
また、制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部15は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部15は、対象登録部151(登録部)、制御記述部152(記述部)、対象監視部153(監視部)及び実行部154を有する。
対象登録部151は、システム画面に表示された自動操作対象を指定し、指定した自動操作対象の位置情報とエイリアスとを対象情報として登録及び管理する。対象登録部151は、システム更改などの環境変更による影響を受けやすい情報は、対象情報(エイリアス、監視条件)としてシステムごとに生成し、同一システムに対する様々な制御は、共通の対象情報(エイリアス、監視条件)を用いて記述する。
対象登録部151が登録する位置情報は、オブジェクト情報またはインデックスにより階層的に表現される。対象登録部151は、各位置情報に、一意なエイリアスを定義する。
対象登録部151は、エイリアスを用いて、監視条件(以降、条件とする。)を設定する。条件は、存在条件、値条件及び/またはタイミング条件を含む。対象登録部151は、各条件に一意な条件名を定義する。
制御記述部152は、対象登録部に151よって登録された対象情報を用いて、自動操作の制御をローコード及び/またはノーコードにより記述する。制御記述部152は、実行条件がある場合に実行条件を記述する。
そして、制御記述部152は、実行部154(後述)が解釈可能な所定のスクリプトへと変換する。制御記述部152は、即時実行と、条件名を組み合わせて設定した実行条件を満たす場合に実行、とのいずれかの実行方法を用いて、制御を記述する。
対象監視部153は、デスクトップ上に表示されたアプリケーションの情報を監視し、制御記述部152により設定された実行条件を満たすか否かを判定する。対象監視部153は、実行条件を満たすと判定した場合、言い換えると、制御記述部152により与えられた実行条件に合致する状況が発生した場合、実行条件に対応するスクリプトを出力し、実行部154に渡す。
実行部154は、任意のスクリプトエンジンによって実装される。実行部154は、制御記述部152によって変換されたスクリプトを解釈する。実行部154は、エイリアスを自動操作対象のオブジェクト情報に置換し、スクリプトを逐次的に処理することで、システム画面の自動操作を行う。
実行部154は、スクリプト中に記述された対象情報のエイリアスから、位置情報を取得し、現在のデスクトップ上に表示されたアプリケーションの中から位置情報に合致する自動操作対象を探索してオブジェクト情報に置換する。実行部154は、置換されたスクリプトを順次処理し自動操作を実行する。
[システム画面の自動操作処理]
図2は、実施の形態に係るシステム画面の自動操作処理の処理手順を示すフローチャートである。
図2は、実施の形態に係るシステム画面の自動操作処理の処理手順を示すフローチャートである。
図2に示すように、まず、処理装置10は、システム画面に表示された自動操作対象を指定し、指定した自動操作対象の位置情報とエイリアスとを対象情報として登録する対象登録処理を行う(ステップS1)。
処理装置10は、対象登録処理において登録された対象情報を用いて、自動操作の制御をローコード及び/またはノーコードにより記述し、実行条件がある場合に実行条件を記述し、実行部154が解釈可能な所定のスクリプトへと変換する制御記述処理を行う(ステップS2)。
対象監視部153は、制御記述処理における出力に実行条件があるか否かを判定する(ステップS3)。実行条件がある場合(ステップS3:あり)、対象監視部153は、デスクトップ上に表示されたアプリケーションを監視する対象監視を行い(ステップS4)、制御記述処理において与えられた実行条件を満たす状況が発生したか否かを判定する(ステップS5)。
対象監視部153は、実行条件を満たす状況が発生していないと判定した場合(ステップS5:No)、ステップS4に戻り、対象監視を行う。対象監視部153は、実行条件を満たす状況が発生したと判定した場合(ステップS5:Yes)、対応するスクリプトを実行部154に渡す(ステップS6)。
実行部154は、実行条件がない場合(ステップS3:なし)、また、ステップS6処理後、対応するスクリプトを解釈し、エイリアスを自動操作対象のオブジェクト情報に置換し、スクリプトを逐次的に処理して、システム画面の自動操作を実行する(ステップS7)。
[対象登録処理]
次に、対象登録処理(ステップS1)について説明する。図3は、図2に示す対象登録処理の処理手順を示すフローチャートである。
次に、対象登録処理(ステップS1)について説明する。図3は、図2に示す対象登録処理の処理手順を示すフローチャートである。
図3に示すように、対象登録部151は、自動操作対象をマウス操作で指定されると(ステップS11)、自動操作対象の位置情報を生成し(ステップS12)、自動操作対象のエイリアスを設定する(ステップS13)。そして、対象登録部151は、ステップS12,S13において生成した位置情報とエイリアスとを1組の対象情報として、対象一覧に追加する(ステップS14)。
対象登録部151は、必要な自動操作対象の登録が完了したか否かを判定する(ステップS15)。必要な自動操作対象の登録が完了していない場合(ステップS15:No)、対象登録部151は、ステップS11に戻る。
必要な自動操作対象の登録が完了した場合(ステップS15:Yes)、対象登録部151は、監視したい条件の登録が完了したか否かを判定する(ステップS16)。
監視したい条件の登録が完了していない場合(ステップS16:No)、対象登録部151は、エイリアスと条件とを指定し(ステップS17)、条件名を設定する(ステップS18)。対象登録部151は、ステップS17,S18において指定及び設定した、条件名と(エイリアス,条件)とを条件一覧に追加し(ステップS19)、ステップS16に戻る。
監視したい条件の登録が完了した場合(ステップS16:Yes)、対象登録部151は、対象一覧、条件一覧を出力する(ステップS20)。
[制御記述処理]
次に、制御記述処理(ステップS2)について説明する。図4は、図2に示す制御記述処理の処理手順を示すフローチャートである。
次に、制御記述処理(ステップS2)について説明する。図4は、図2に示す制御記述処理の処理手順を示すフローチャートである。
図4に示すように、制御記述部152は、対象一覧141、条件一覧142を参照する(ステップS31)。制御記述部152は、対象一覧からエイリアスを取得し(ステップS32)、任意のローコード/ノーコードの手法と、エイリアスを用いて、自動操作の制御を記述する(ステップS33)。制御記述部152は、ローコード及び/またはノーコードによる記述を、実行部154が解釈可能な所定のスクリプトに変換する(ステップS34)。
制御記述部152は、この制御に対応する実行条件があるか否かを判定する(ステップS35)。実行条件がない場合(ステップS35:なし)、制御記述部152は、対応するスクリプトを実行部154に出力する(ステップS36)。
実行条件がある場合(ステップS35:あり)、制御記述部152は、条件一覧から条件名を取得し(ステップS37)、取得した条件名を組み合わせて実行条件を記述する(ステップS38)。制御記述部152は、記述した実行条件とスクリプトを実行部154に出力する(ステップS39)。
[実装例]
次に、本実施の形態における自動操作制御処理の実装例について説明する。図5~図20は、自動操作対象装置に表示されるメニュー画面の一例を示す図である。自動操作対象装置は、処理装置10のほか、処理装置10が接続する端末装置であってもよい。
次に、本実施の形態における自動操作制御処理の実装例について説明する。図5~図20は、自動操作対象装置に表示されるメニュー画面の一例を示す図である。自動操作対象装置は、処理装置10のほか、処理装置10が接続する端末装置であってもよい。
図5に示すように、本実施の形態は、例えば、タスクトレイに常駐するアプリケーションとして、実行部154、対象登録部151及び対象監視部153を実装したソフトウェアとして実現される。図5に示すように、タスクトレイに常駐するソフトウェア(枠内)がユーザによって選択されると、開発者ツールとしてメニューM1が表示される。
自動操作対象が設定されている場合、メニューM1のDictionary画面には、左方の領域R1に対象一覧が表示される(図6の(1))。Dictionary画面には、右方の領域R2に位置情報が表示され(図6の(2))、右方の領域R3にエイリアスが表示される(図6の(3))。なお、Dictionary画面には、登録処理の開始ボタンB1と、登録の更新ボタンB2とが表示される。
[対象の登録]
まず、対象の登録処理について説明する。図7に示すように、まず、ユーザは、メニューM1のDictionary画面の開始ボタンB1を選択することで、登録処理の開始を指示する(図7の(1))。
まず、対象の登録処理について説明する。図7に示すように、まず、ユーザは、メニューM1のDictionary画面の開始ボタンB1を選択することで、登録処理の開始を指示する(図7の(1))。
これに伴い、辞書の取得開始メニューM2-2が表示される。ユーザが、登録したい自動操作の対象C1をマウスでクリックするなどの操作を行うと、クリックされたイベントが観測されて、対象が赤枠W1で強調表示される(図8の(2))。この例では、対象C1は電話番号であるため、辞書の取得開始メニューM2-2には、観測されたイベントが列挙される(この例では、電話番号をフォーカスしたというイベントが列挙される)。ユーザは、赤枠W1で追加された対象C1が自動操作対象となる目的のものであれば、追加ボタンB3を選択する(図8の(3))。
対象登録部151は、選択された対象C1を指定し、指定した対象C1の位置情報を生成する。この結果、対象C1の位置情報が自動的に生成され(図9の(4))、メニューM1の左方の領域R2に表示される。そして、対象登録部151は、この対象C1のエイリアスを「電話番号」と設定する(図9の(5)、領域R3)。なお、図8の申込情報受付メニューM2-1で選択された対象C1の電話番号が、「お客様情報」の電話番号欄C2に表示される。
ユーザによって、領域R4の登録ボタンB4が選択されると(図9の(6))、対象登録部151は、対象C1である電話番号と、エイリアス「電話番号」と、対象C1の位置情報とを1組として、対象一覧に追加する(図10の(7)、領域R1-2)。
ここで、図11には、自動操作対象のプロパティ設定用のメニューM2を例示する。メニューM2の領域R21に示すように、対象C1の位置情報は、オブジェクトの情報(プロパティ)で指定される(図11の(1))。また、メニューM2の領域R22に示すように、対象C1の位置情報は、自動操作対象の各階層でのインデックスで指定される(図12の(2))。
また、図13に示すように、ユーザは、メニューM1の位置情報の経由設定領域R2-2において、階層の中継地点でどのようなオブジェクトを経由するかを指定することも可能である(図13の(1))。中継地点を指定することで、オブジェクトの特定を高速化できる。このように、対象の位置情報として、オブジェクトのプロパティやインデックスを組み合わせ、および中継地点を柔軟に設定可能とすることで、対象となるオブジェクトの表示位置が一位に定まらないような場合でも柔軟に位置情報を設定し特定することができる。
そして、図14に示すように、メニューM1のCondition画面にて、条件の登録が可能である。図14に示すように、メニューM1のCondition画面には、左方の領域R31に条件一覧が表示される(図14の(1))。Condition画面には、右方の領域R32に、条件名を定義できる条件名欄が表示される(図14の(2))。
そして、Condition画面には、右方の領域R33に、エイリアスを設定できる設定欄が表示される(図14の(3))。Condition画面には、右方の領域R34に、条件を設定できる設定欄が表示される(図14の(4))。図14の例では、「070を含む電話番号が設定されたとき」が条件として設定される。なお、Condition画面には、登録の更新ボタンが表示される。ユーザが、各欄を設定し、更新ボタンを選択すると、対象登録部151は、Condition画面における設定内容にしたがって、メニューM1のDictionary画面で登録された対象C1の条件を設定する。
[自動操作対象の監視]
続いて、対象監視部153の動作について説明する。例えば、図15に示すように、申込情報受付メニューM4-1の電話番号欄(領域R41)に、「090」が入力された場合を例に説明する。
続いて、対象監視部153の動作について説明する。例えば、図15に示すように、申込情報受付メニューM4-1の電話番号欄(領域R41)に、「090」が入力された場合を例に説明する。
対象監視部153は、システムの画面を常時監視して条件を満たすか判定する(図15(2))。この場合、図14で設定された条件「070を含む電話番号が設定されたとき」を満たしていない(図15の(1))。条件を満たさない場合に、対象監視部153によって、メニューM4-2のCondition画面には、例えば、赤色で条件名が表示される(図15の領域R42)。
これに対し、図16に示すように、申込情報受付メニューM4-3の電話番号欄(領域R43)に、「070」が入力された場合を例に説明する。対象監視部153は、システムの画面を常時監視して条件を満たすか判定する(図16(4))。この場合、図14で設定された条件「070を含む電話番号が設定されたとき」を満たしている(図16の(3))。このため、条件を満たす場合に、対象監視部153によって、メニューM4-4のCondition画面には、例えば、緑色で条件名が表示される(図16の領域R44)。
[実行]
次に、実行部154の動作について説明する。例えば、図17のconsole画面M5-2に示すように、実行部154は、対応するスクリプトを解釈して、処理する(図17の(1))。図17では、Luaスクリプト言語を例示する。スクリプトは、対象登録部151で設定したエイリアスを用いて記述される(図17の(2)、領域R51,R52)。
次に、実行部154の動作について説明する。例えば、図17のconsole画面M5-2に示すように、実行部154は、対応するスクリプトを解釈して、処理する(図17の(1))。図17では、Luaスクリプト言語を例示する。スクリプトは、対象登録部151で設定したエイリアスを用いて記述される(図17の(2)、領域R51,R52)。
実行部154は、エイリアスを、自動操作対象のオブジェクト情報に置換する。そして、実行部154によって、スクリプトを逐次的に処理され、システム画面の自動操作が実行される(図17の(3))。この結果、申込情報受付メニューM5-1のメールアドレス欄C51には、「dummy@ntt.com」が自動で入力される。
なお、図18に示すように、ユーザは、メニューM1において、Fileをプルダウンし、Export欄D1を選択することで、領域R11内の対象一覧を出力(エクスポート)することができる。
[制御の記述]
次に、制御記述部152を実装したソフトウェアの実装例について説明する。図19のメニューM6において、インポートボタンB61を選択することで、対象一覧をインポートする(図19の(1)及び領域R61)。
次に、制御記述部152を実装したソフトウェアの実装例について説明する。図19のメニューM6において、インポートボタンB61を選択することで、対象一覧をインポートする(図19の(1)及び領域R61)。
制御記述部152は、メニューM7に示すように、対象一覧の対象について、自動操作の制御をローコード及び/またはノーコードで制御を記述する(図20の(1))。なお、図20では、ブロック型のビジュアルプログラミングを例示する。制御記述部152は、インポートした対象一覧のエイリアスを用いて記述内容を設定する(図20の(2)及び領域R71~R73)。そして、制御記述部152によって、実行部154が解釈できるスクリプトに変換される(図21の(3)及び図21の枠M75)。
[システム画面が変わったときの対象一覧の更新]
次に、システム画面が変わったときの対象一覧141の更新の手順について説明する。図22は、システム画面が変わったときの対象一覧の更新処理の手順を示すフローチャートである。
次に、システム画面が変わったときの対象一覧141の更新の手順について説明する。図22は、システム画面が変わったときの対象一覧の更新処理の手順を示すフローチャートである。
図22に示すように、対象登録部151は、チェック対象となるシステム画面に対して、対象チェックを実行し(ステップS41)、対象一覧141の中で位置情報が見つからないものがある場合には、その対象を強調表示する(ステップS42)。
対象登録部151は、強調表示された対象が選択されると(ステップS43)、強調表示された対象のシステム画面における位置情報を再取得し(ステップS44)、対象一覧141のうち、この対象の位置情報を、再取得した位置情報に更新する。
対象登録部151は、チェック対象となるシステム画面について、必要な修正が完了したか否かを判定する(ステップS45)。チェック対象となるシステム画面について、必要な修正が完了していない場合(ステップS45:No)、対象登録部151は、ステップS43に戻る。チェック対象となるシステム画面について、必要な修正が完了した場合(ステップS45:Yes)、このシステム画面について、対象一覧の更新処理を終了する。
図23~図28は、自動操作対象装置に表示されるメニュー画面の一例を示す図である。図23のメニューM8からメニューM9のように、システム画面が変更した場合を例に説明する。メニューM9は、メニューM8と比して、電話番号の位置情報が変わっている。
この場合、ユーザが、図24のメニューM10のDictionary画面において、Groupのプルダウンメニューから、CheckAccessをクリックする(図24の(1))。
これによって、図25に示すように、情報受付メニューM11では、位置情報の変更がみつかった対象に枠(例えば、赤枠)が表示される(図25の(2))。
そして、図26のメニューM12に示すように、対象一覧内に、システム画面で表示されている対象の位置情報が見つからない場合には、見つからない対象(この場合は電話番号)が、例えば赤字で表示される(図26の(3))。
ユーザが、図27に示すように、赤字の対象を選択する(図27の(1))。この場合、対象登録部151は、赤字の対象(この場合は電話番号)について、変更後のシステム画面における電話番号欄の位置情報の再取得により、エイリアスは変更せずに、位置情報のみを更新する(図27の(2))。
図28に示すように、変更後のシステム画面において、位置情報が修正された対象をマウスクリックすると(図28の(2))、自動操作に関する処理が実行される。対象登録部151は、対象一覧に対し、対象(この場合は電話番号)が同じものに対し、エイリアは修正せず、位置情報のみ更新する。
このように、対象登録部151は、システム画面が変更された場合、変更後のシステム画面について、対象一覧の中で位置情報が見つからないものがある場合、この対象の位置情報を再取得し、対象一覧のうち、この対象の位置情報を、再取得した位置情報に更新する。
[実施の形態の効果]
図29は、従来のRPAについて説明する図である。既存のRPAではシナリオやルールといった形で自動操作対象と制御の情報が一体として記述されている。このため、従来のRPAはでは、システム1の更改により、動操作の対象となるシステム画面の修正が行われた場合(例えば、ボタンのラベルが「登録」から「Submit」に変わった場合)(図29の(1))、該当のシステム画面に関連する全てのシナリオやルールの修正が必要であった(図29の(2))。
図29は、従来のRPAについて説明する図である。既存のRPAではシナリオやルールといった形で自動操作対象と制御の情報が一体として記述されている。このため、従来のRPAはでは、システム1の更改により、動操作の対象となるシステム画面の修正が行われた場合(例えば、ボタンのラベルが「登録」から「Submit」に変わった場合)(図29の(1))、該当のシステム画面に関連する全てのシナリオやルールの修正が必要であった(図29の(2))。
図30は、実施の形態に係る処理装置10について説明する図である。図29に示すように、処理装置10は、制御と自動操作対象とを分離して、自動操作を管理する。処理装置10は、システム画面などの環境の影響を受けやすいものは対象情報(エイリアス、監視条件)に集約してシステムごとに生成する(図30の(1))。
このため、処理装置10では、システム更改により、動操作の対象となるシステム画面の修正が行われた場合であっても(図30の(2))、修正範囲は、対象情報のみとなる(図30の(3))。処理装置10では、システム1の制御に関する修正が不要であるため、制御の記述においては、修正された対象情報を用いて記述すればよい。
したがって、処理装置10では、システム画面の変更などの環境変更が発生した場合であっても、対象情報のみを修正することで、対象情報を用いて記述された制御に関しては修正が不要である(図30の(4))。言い換えると、処理装置10によれば、修正範囲は、対象情報のみであるため、環境変更による、シナリオ及びルールの修正に対する影響を軽減することができる。
また、処理装置10では、対象登録部151が登録する自動操作対象の位置情報は、オブジェクト情報またはインデックスにより階層的に表現されるため、自動操作対象の位置情報を適切に登録することができる。また、処理装置10では、各位置情報に一意なエイリアスが定義されるため、自動操作対象の位置情報を適切に管理することができる。
また、処理装置10では、制御記述部152が、エイリアスを用いて、存在条件、値条件及び/またはタイミング条件を含む条件を設定し、各条件に一意な条件名を定義するため、自動操作の条件を適切に管理することができる。
処理装置10では、制御記述部152が、即時実行と、条件名を組み合わせて設定した実行条件を満たす場合に実行、とのいずれかの実行方法を用いて、制御を記述する。このため、処理装置10は、全てのシナリオやルールを一体として作成する従来手法と比して、全てのシナリオやルールを考慮する必要がなく、システム画面が次の画面に遷移するまで待って自動操作を行うといった「画面の監視によりシナリオやルールを実行してもよい状態まで待つ」手順などの記述についても、簡易に記述できる。
[実施の形態のシステム構成について]
処理装置10の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、処理装置10の機能の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
処理装置10の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、処理装置10の機能の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
また、処理装置10においておこなわれる各処理は、全部または任意の一部が、CPU、GPU(Graphics Processing Unit)、及び、CPU、GPUにより解析実行されるプログラムにて実現されてもよい。また、処理装置10においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
[プログラム]
図31は、プログラムが実行されることにより、処理装置10が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
図31は、プログラムが実行されることにより、処理装置10が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、処理装置10の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、処理装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
10 処理装置
11 入力部
12 出力部
13 通信部
14 記憶部
15 制御部
141 対象一覧
142 条件一覧
151 対象登録部
152 制御記述部
153 対象監視部
154 実行部
11 入力部
12 出力部
13 通信部
14 記憶部
15 制御部
141 対象一覧
142 条件一覧
151 対象登録部
152 制御記述部
153 対象監視部
154 実行部
Claims (7)
- システム画面に表示された自動操作対象を指定し、指定した前記自動操作対象の位置情報とエイリアスとを対象情報として登録及び管理する登録部と、
前記登録部によって登録された前記対象情報を用いて、自動操作の制御をローコード及び/またはノーコードにより記述し、実行条件がある場合に実行条件を記述し、所定のスクリプトへと変換する記述部と、
デスクトップ上のアプリケーションの情報を監視し、前記記述部によって設定された実行条件を満たすか否かを判定し、前記実行条件を満たすと判定した場合、対応するスクリプトを出力する監視部と、
前記記述部によって変換されたスクリプトを解釈し、前記エイリアスを自動操作対象のオブジェクト情報に置換し、前記スクリプトを逐次的に処理し、前記システム画面の自動操作を行う実行部と、
を有することを特徴とする処理装置。 - 前記登録部が登録する前記自動操作対象の位置情報は、オブジェクト情報またはインデックスにより階層的に表現され、
前記登録部は、各位置情報に、一意なエイリアスを定義することを特徴とする請求項1に記載の処理装置。 - 前記登録部は、エイリアスを用いて、存在条件、値条件及び/またはタイミング条件を含む条件を設定し、各条件に一意な条件名を定義することを特徴とする請求項1に記載の処理装置。
- 前記記述部は、即時実行と、条件名を組み合わせて設定した実行条件を満たす場合に実行、とのいずれかの実行方法を用いて、制御を記述することを特徴とする請求項1に記載の処理装置。
- 前記登録部は、システム画面が変更された場合、変更後のシステム画面について、前記対象情報の中で位置情報が見つからない第1の対象がある場合、前記第1の対象の位置情報を再取得し、前記対象情報のうち、前記第1の対象の位置情報を、再取得した位置情報に更新することを特徴とする請求項1に記載の処理装置。
- 処理装置が実行する処理方法であって、
システム画面に表示された自動操作対象を指定し、指定した前記自動操作対象の位置情報とエイリアスとを対象情報として登録及び管理する登録工程と、
前記登録工程において登録された前記対象情報を用いて、自動操作の制御をローコード及び/またはノーコードにより記述し、実行条件がある場合に実行条件を記述し、所定のスクリプトへと変換する記述工程と、
デスクトップ上のアプリケーションの情報を監視し、前記記述工程において設定された実行条件を満たすか否かを判定し、前記実行条件を満たすと判定した場合、対応するスクリプトを出力する監視工程と、
前記記述工程において変換されたスクリプトを解釈し、前記エイリアスを自動操作対象のオブジェクト情報に置換し、前記スクリプトを逐次的に処理し、前記システム画面の自動操作を行う実行工程と、
を含んだことを特徴とする処理方法。 - システム画面に表示された自動操作対象を指定し、指定した前記自動操作対象の位置情報とエイリアスとを対象情報として登録及び管理する登録ステップと、
前記登録ステップにおいて登録された前記対象情報を用いて、自動操作の制御をローコード及び/またはノーコードにより記述し、実行条件がある場合に実行条件を記述し、所定のスクリプトへと変換する記述ステップと、
デスクトップ上のアプリケーションの情報を監視し、前記記述ステップにおいて設定された実行条件を満たすか否かを判定し、前記実行条件を満たすと判定した場合、対応するスクリプトを出力する監視ステップと、
前記記述ステップにおいて変換されたスクリプトを解釈し、前記エイリアスを自動操作対象のオブジェクト情報に置換し、前記スクリプトを逐次的に処理し、前記システム画面の自動操作を行う実行ステップと、
をコンピュータに実行させるための処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/020103 WO2023218615A1 (ja) | 2022-05-12 | 2022-05-12 | 処理装置、処理方法及び処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/020103 WO2023218615A1 (ja) | 2022-05-12 | 2022-05-12 | 処理装置、処理方法及び処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023218615A1 true WO2023218615A1 (ja) | 2023-11-16 |
Family
ID=88730155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/020103 WO2023218615A1 (ja) | 2022-05-12 | 2022-05-12 | 処理装置、処理方法及び処理プログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023218615A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013152697A (ja) * | 2011-12-28 | 2013-08-08 | Alps Electric Co Ltd | 入力装置及び電子機器 |
-
2022
- 2022-05-12 WO PCT/JP2022/020103 patent/WO2023218615A1/ja unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013152697A (ja) * | 2011-12-28 | 2013-08-08 | Alps Electric Co Ltd | 入力装置及び電子機器 |
Non-Patent Citations (1)
Title |
---|
HIDETAKA KOYA, MAKOTO KOMIYAMA, HAJIME NAKAJIMA, AKIRA KATAOKA, TAKESHI MASUDA: "Proposal and evaluation of the method for end-user configuration of the user interface augmentation", 2017 INTERNATIONAL SYMPOSIUM ON NONLINEAR THEORY AND ITS APPLICATIONS, NOLTA2017, CANCUN, MEXICO, DECEMBER 4-7, 2017, IEICE, JP, vol. 119, no. 52 (ICM2019-4), 16 May 2019 (2019-05-16), JP , pages 59 - 64, XP009537446 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9262237B2 (en) | Automating software availability management based on API versioning | |
US8332431B2 (en) | Configuration information management apparatus, configuration information management program, and configuration information management method | |
CN110221899B (zh) | 一种用户界面的调节方法、装置及系统 | |
WO2020004156A1 (ja) | 表示制御装置、表示制御方法、および表示制御プログラム | |
US20080098379A1 (en) | System and method of configuring computer settings | |
US11381449B1 (en) | Dynamic application configuration techniques | |
WO2019039255A1 (ja) | 端末装置、ui拡張方法及びui拡張プログラム | |
EP3945415A1 (en) | Method and apparatus for compilation optimization of hosted app, electronic device and readable storage medium | |
CN109558159A (zh) | 游戏中用户界面的更新方法和装置 | |
CN111796851B (zh) | 客户端基础库更新方法、装置、电子设备和存储介质 | |
CN113254043A (zh) | Web前端项目处理方法、装置、电子设备及存储介质 | |
CN111459376A (zh) | 产品引导方法、装置及设备 | |
WO2023218615A1 (ja) | 処理装置、処理方法及び処理プログラム | |
CN113641936B (zh) | 用于页面跳转的方法、装置、电子设备及存储介质 | |
EP3819758A2 (en) | Instruction executing method and apparatus, electronic device, and computer-readable storage medium | |
US7861173B2 (en) | Interface for configuring internet communications on a zSeries computer | |
US20130173527A1 (en) | Life Cycle Management Of Rule Sets | |
US9710495B2 (en) | Business rules manager | |
JP2008269515A (ja) | パラメータによる画面レイアウト動的生成方法 | |
EP3418913A1 (en) | System and method for merging a source data from a source application into a target data of a target application | |
CN110502296B (zh) | 一种显示固件升级命令的方法、设备以及存储介质 | |
JPH11272382A (ja) | コンピュータシステム | |
CN111124386A (zh) | 基于Unity的动画事件处理方法、装置、设备和存储介质 | |
JP7484033B1 (ja) | データベースの管理を行うシステムを変更する方法、プログラム及び情報処理装置 | |
US11921496B2 (en) | Information processing apparatus, information processing method and computer readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22941695 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2024520192 Country of ref document: JP Kind code of ref document: A |