Scenario management device, scenario management program, and scenario management method
The scenario management device and method address the challenge of accessing actual values in RPA scenarios by using storage areas to associate and manage variable values, enhancing scenario creation and editing efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- KEYENCE CORP
- Filing Date
- 2026-01-19
- Publication Date
- 2026-04-10
AI Technical Summary
Existing RPA technologies struggle to automate tasks involving arbitrary data references, as variables in scenario files do not access actual values until execution, preventing users from managing scenarios effectively.
A scenario management device and method that includes a management unit, execution unit, first and second storage areas, and a holding unit to store and associate actual values of variables, allowing access during scenario management and execution.
Enables users to access and manage actual values of variables referenced in scenarios, facilitating effective scenario creation and editing by referencing actual values during both management and execution phases.
Smart Images

Figure 2026063225000001_ABST
Abstract
Description
Technical Field
[0001] This invention relates to RPA (Robotic Process Automation) technology that aims to reduce the user's workload by automating the tasks the user was performing using a computer.
Background Art
[0002] In RPA, a scenario (sometimes referred to as a "flow") indicating the execution order of computer - based processes is used. Also, the computer that executes the processes according to the scenario appropriately refers to various variables such as a file that manages data in a tabular format and the data managed by the file. For example, in Patent Document 1, a scenario file indicating the execution order of processes and a customization file indicating the set values of variables required for the execution of the scenario file are prepared, and the computer that executes the processes according to the scenario file refers to the set values shown in the customization file.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Incidentally, tasks automated by RPA technology include tasks in which a user refers to arbitrary data and inputs that arbitrary data in a manner that can be processed by a computer. Patent Document 1 discloses that a user edits a customization file that is referenced as a variable included in a scenario file. Therefore, although the above task is replaced by editing the customization file, it is not automated. In order to automate the task, it is necessary to manage the variables included in the scenario so that arbitrary data is referenced in the same way that a user references arbitrary data when performing the above task.
[0005] However, RPA technology has one advantage: it creates scenarios based on actual user actions, that is, on the actual values processed during user actions. In other words, users can create scenarios by accessing actual values through actual actions. On the other hand, variables included in a scenario do not refer to actual values except when the scenario is actually executed, so there was a problem in that users could not access the actual values referenced by those variables when managing the variables included in the scenario.
[0006] This invention has been made in view of the above-mentioned problems, and aims to provide a configuration in which the actual values of variables referenced in a scenario are accessed when managing a scenario. [Means for solving the problem]
[0007] The scenario management device according to the present invention is a scenario management device for managing scenarios for automating operations on other application programs, and comprises: a management unit for managing a scenario including a first activity and a second activity selected from a plurality of types of activities including activities corresponding to operations that acquire values from other application programs, activities corresponding to operations that input values into other application programs, and activities corresponding to operations that process the acquired values; an execution unit that executes the first activity included in the scenario based on a scenario execution instruction; a first storage area that is accessed by the execution unit when executing the first activity included in the scenario and holds the actual values of variables referenced in the first activity in a way that makes them referable as the actual values of variables included in the second activity included in the scenario; a second storage area that is accessible by the management unit and holds the actual values of variables held in the first storage area in association with those variables; and a holding unit that causes the actual values of variables held in the first storage area to be held in the second storage area.
[0008] The scenario management program according to the present invention causes a computer to function as the above-mentioned scenario management device.
[0009] The recording medium according to the present invention records the above-mentioned scenario management program in a way that can be read by a computer.
[0010] The scenario management method according to the present invention is a scenario management method for managing a scenario that includes a first activity and a second activity, which are selected from a plurality of types of activities, including an activity corresponding to an operation to obtain a value from another application program, an activity corresponding to an operation to input a value into another application program, and an activity corresponding to an operation to process the obtained value, and comprises the steps of: executing the first activity based on a scenario execution instruction and storing the actual value of the variable referenced in the first activity in a first storage area so that it can be referenced as the actual value of the variable included in the second activity; and storing the actual value of the variable stored in the first storage area in association with the variable in a second storage area accessible by a management unit that manages the scenario.
[0011] In the present invention (scenario management device, scenario management program, recording medium, and scenario management method) configured as described above, when the execution of a first activity included in a scenario causes the actual value of a variable included in a second activity to be stored in the first storage area so that it can be referenced as the actual value of the variable included in the second activity, the storage unit associates the actual value with the variable and stores it in a second storage area accessible by the management unit. Therefore, the user can access the referenced actual value not only when the scenario is executed but also when managing the scenario. As a result, for example, when editing a scenario, the user can check the actual value of a variable referenced in the scenario. [Effects of the Invention]
[0012] As described above, according to the present invention, when managing a scenario, it is possible to access the actual values of variables referenced in the scenario. [Brief explanation of the drawing]
[0013] [Figure 1] A block diagram showing an example of a scenario management system equipped with a scenario management device according to the present invention. [Figure 2] A block diagram showing an example of each functional unit configured in the arithmetic unit for scenario management. [Figure 3] A diagram schematically showing an example of a scenario management screen displayed on a display. [Figure 4A] A diagram schematically showing an example of an operation that can be performed on the scenario management screen in the scenario creation mode. [Figure 4B] A diagram schematically showing an example of an operation that can be performed on the scenario management screen in the scenario creation mode. [Figure 4C] A diagram schematically showing an example of an operation that can be performed on the scenario management screen in the scenario creation mode. [Figure 4D] A diagram schematically showing an example of an operation that can be performed on the scenario management screen in the scenario creation mode. [Figure 4E] A diagram schematically showing an example of an operation that can be performed on the scenario management screen in the scenario creation mode. [Figure 4F] A diagram schematically showing an example of an operation that can be performed on the scenario management screen in the scenario creation mode. [Figure 4G] A diagram schematically showing an example of an operation that can be performed on the scenario management screen in the scenario creation mode. [Figure 5] A block diagram showing the operations of each functional unit of the arithmetic unit during the execution of variable management. [Figure 6] A flowchart showing an example of the control executed by the execution unit for variable management. [Figure 7] A flowchart showing an example of the control executed by the monitoring unit for variable management. [Figure 8] A diagram schematically showing the operations of variable management executed based on the flowcharts of FIGS. 6 and 7. [Figure 9] A diagram schematically showing an example of the actual values held in the memory unit. [Figure 10A] A diagram schematically showing an example of an operation that can be performed on the scenario management screen in the scenario editing mode. [Figure 10B]A diagram schematically showing an example of an operation that can be performed on a scenario management screen in scenario editing mode. [Figure 10C] A diagram schematically showing an example of an operation that can be performed on a scenario management screen in scenario editing mode. [Figure 10D] A diagram schematically showing an example of an operation that can be performed on a scenario management screen in scenario editing mode. [Figure 10E] A diagram schematically showing an example of an operation that can be performed on a scenario management screen in scenario editing mode. [Figure 11] A block diagram showing the operations of each functional unit of the arithmetic unit when the scenario editing mode is executed. [Figure 12] A flowchart showing an example of variable display executed by the editing operation unit in scenario editing mode. [Figure 13] A diagram schematically showing the content of variable name management. [Figure 14] A flowchart showing an example of variable name management executed in accordance with the acquisition of the actual value of a variable. [Figure 15] A flowchart showing an example of control for actual value display in scenario editing mode. [Figure 16] A diagram schematically showing an example of the result of the control shown in FIG. 15. [Figure 17] A flowchart showing an example of control for partial execution in scenario editing mode.
Embodiments for Carrying Out the Invention
[0014] FIG. 1 is a block diagram showing an example of a scenario management system including a scenario management apparatus according to the present invention. This scenario management system 1 includes a server 11 and a terminal device 2 that functions as a client of the server 11. The server 11 is a computer and includes a storage unit 111 configured by an HDD (Hard Disk Drive) or an SSD (Solid State Drive) or the like, and a scenario management program 12 is stored in the storage unit 111.
[0015] Terminal device 2 is a computer for managing scenarios used in RPA. This terminal device 2 comprises a processing unit 21, a memory unit 22, a storage unit 23, a UI (User Interface) 24, a communication unit 25, and a bus 26, and the transmission and reception of signals between the processing unit 21, the memory unit 22, the storage unit 23, the UI 24, and the communication unit 25 are performed via the bus 26.
[0016] The arithmetic unit 21 is a processor such as a CPU (Central Processing Unit) and controls the memory unit 22, storage unit 23, UI 24, and communication unit 25. The memory unit 22 has main memory and cache memory, and volatilently stores data based on instructions from the arithmetic unit 21, and the arithmetic unit 21 performs calculations using the data read from the memory unit 22.
[0017] The storage unit 23 has an HDD and an SSD, etc., and stores data non-volatilely. The UI 24 has input devices such as a keyboard 241 and a mouse 242, and output devices such as a display 243. Therefore, the user can perform input operations on the terminal device 2 by operating the keyboard 241 and mouse 242, and can check various data stored in the memory unit 22 and the storage unit 23 by checking the display 243. Note that the input devices and output devices do not need to be configured separately, and they may be configured as an integrated unit by a touch panel display. The communication unit 25 performs communication with the server 11. The communication unit 25 downloads the scenario management program 12 from the server 11, and the storage unit 23 saves the scenario management program 12. When the calculation unit 21 executes the scenario management program 12, the various functional units shown in Figure 2 for executing scenario management are configured in the calculation unit 21.
[0018] Furthermore, the method of providing the scenario management program 12 to the terminal device 2 is not limited to downloading from the server 11. Therefore, it may also be provided via other recording media such as optical discs (DVDs) or USB (Universal Serial Bus) memory. The terminal device 2 can store the scenario management program 12 read from these recording media in the storage unit 23.
[0019] In this embodiment, the scenarios used in RPA managed by terminal device 2 are scenarios for automating operations performed by the user of terminal device 2 or another person on application programs other than the scenario management program 12. These operations include operations to obtain values from application programs other than the scenario management program 12, operations to process values, and operations to input values into application programs other than the scenario management program 12. Operations to obtain values from application programs other than the scenario management program 12 include a person operating the application program other than the scenario management program 12 to output the information to be referenced from an output device such as the display 243. Operations to input values into application programs other than the scenario management program 12 include a person operating the application program other than the scenario management program 12 using input devices such as the keyboard 241 or mouse 242 to input values into the application program other than the scenario management program 12. For example, this includes directly inputting values using the keyboard 241 or selecting the value to be input from options displayed by the application program using an input device.
[0020] Figure 2 is a block diagram showing an example of each functional unit configured in the calculation unit for scenario management. As shown in Figure 2, the execution of the scenario management program 12 by the calculation unit 21 configures the editor 31, scenario creation unit 33, execution unit 35, and debugger 37 in the calculation unit 21.
[0021] The editor 31 manages the scenarios. In this embodiment, the scenarios managed by the editor 31 include multiple activity Acts (not shown), which are computer operations corresponding to various human operations on applications other than the scenario management program 12, and the editor 31 manages multiple activity Acts. The editor 31 accepts user operations on the UI 24 for scenario management. This editor 31 has an editing operation unit 311 and a scenario execution operation unit 312. The editing operation unit 311 displays a scenario management screen 4 (Figure 3, etc.) showing the content of operations to be automated in the scenario on the display 243 of the UI 24 for the user's scenario management, and accepts user operations on the scenario management screen 4. The scenario execution operation unit 312 accepts operations from the user to instruct the execution of the scenario. As an operation to instruct the execution of the scenario, the user selects some or all of the activity Acts included in the scenario. The scenario execution operation unit 312 accepts the selection of activity Acts and sends a scenario execution instruction Ce to the execution unit 35, indicating the execution of the scenario according to the selected activity Acts.
[0022] The scenario creation unit 33 creates a scenario in response to user operations on the scenario management screen 4. More specifically, it receives settings related to the content of various human operations to be automated by the Activity Act as settings for the Activity Act based on user operations, and generates the Activity Act based on these settings. The scenario creation unit 33 also sends a scenario execution instruction Cg to the execution unit 35 based on the generated Activity Act. In this embodiment, the scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35 each time an Activity Act is generated, indicating the execution of the generated Activity Act. Note that the scenario execution instruction Cg may be sent to the execution unit 35 each time a predetermined number of Activity Acts are generated, or it may be sent to the execution unit 35 when an operation requesting the execution of a generated Activity Act is performed on the scenario management screen 4. The scenario creation unit 33 may also send a scenario execution instruction Cg to the execution unit 35 that does not include the Activity Act, depending on the type of Activity Act.
[0023] The execution unit 35 executes part or all of a scenario based on a scenario execution instruction Ce from the editor 31 or a scenario execution instruction Cg from the scenario creation unit 33. The debugger 37 manages the variables that the execution unit 35 uses to execute the scenario when the execution unit 35 executes the scenario. This debugger 37 has a monitoring unit 371 and a storage unit 372. The monitoring unit 371 monitors the acquisition of actual values of variables by the execution unit 35. The storage unit 372 stores the actual values acquired by the execution unit 35 based on instructions from the monitoring unit 371.
[0024] Figure 3 is a schematic diagram showing an example of a scenario management screen displayed on the screen. Note that the scenario management screen 4 shown in Figure 3 is just one example, and various modifications are possible. Similarly, the scenario management screen 4 shown in the following diagrams can also be modified. As shown in Figure 3, the scenario management screen 4 has a utility operation area 41, a mode selection area 43, and a scenario display area 45. The utility operation area 41 has a button 411 for saving a newly created scenario with a name, a button 412 for overwriting and saving an edited scenario, and a button 413 for executing part or all of a scenario.
[0025] The mode selection field 43 accepts the user's choice between scenario creation mode and scenario editing mode. In other words, the user can select scenario creation mode by operating (clicking) the expand / collapse button provided in the scenario creation field 431 of the mode selection field 43 to expand the scenario creation field 431. Alternatively, the user can select scenario editing mode by operating (clicking) the expand / collapse button provided in the scenario editing field 432 of the mode selection field 43 to expand the scenario editing field 432.
[0026] Figures 4A to 4G schematically show examples of operations that can be performed on the scenario management screen in scenario creation mode. In these figures, the scenario creation area 431 is expanded, while the scenario editing area 432 is minimized. In scenario creation mode, icons representing various activity Acts that can be used to create scenarios are displayed in the scenario creation area 431. Activity Acts include: • Activity that retrieves tables written in CSV (Comma-Separated Values) format, etc. • An activity to filter the values in the table according to specified conditions. • Activity to extract values from the table • An activity that outputs the value to the destination (table, web page, email address, etc.). • Activities that involve accessing a specific webpage • Activities to retrieve images and text from web pages Various specific examples can be given. The user can then select the Activity Acts that make up a scenario by placing the Activity Acts from the scenario creation area 431 into the scenario display area 45. In this way, a scenario can be created that includes each Activity Act placed in the scenario display area 45. The user can place the Activity Acts from the scenario creation area 431 into the scenario display area 45 by various operations such as dragging the Activity Acts from the scenario creation area 431 to the scenario display area 45 or double-clicking the Activity Acts in the scenario creation area.
[0027] Furthermore, in scenario creation mode, activities (Act) are unitized as Unit U according to the purpose of the task, such as table editing or web scraping. Therefore, users can create scenarios that include the Activities (Act) that make up Unit U by placing (dragging) the Unit U corresponding to the purpose of the task into the scenario display area 45. This reduces the burden on the user required to create scenarios. However, it is not mandatory for Activities (Act) to be unitized in scenario creation mode.
[0028] In scenario creation mode, the user's operations of placing Activity Acts in the scenario display area 45 and determining the content of Activity Acts (for example, the variables V to be used) are input to the scenario creation unit 33 (Figure 2). The scenario creation unit 33 then accepts these operations and creates a scenario. This creates a scenario in which each Activity Act is executed according to the arrangement order of the Activity Acts in the scenario display area 45.
[0029] Furthermore, the scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35, indicating the execution of an activity Act placed in the scenario display field 45, and the execution unit 35 executes the activity Act. In other words, in scenario creation mode, the activity Acts included in the scenario are executed in parallel with the scenario creation. Therefore, the user can determine the activity Acts that make up the scenario while checking the operation of the activity Acts placed in the scenario display field 45. In particular, the actual value E of the variable V used in the activity Act is acquired when the activity Act is executed. In this embodiment, acquiring an actual value accompanying the execution of an activity means that the actual value is kept in a predetermined storage area so that it can be referenced when other activities are executed. This allows the user to create a scenario while checking the actual value E of the variable V. The acquisition of this actual value E will be specifically explained using the examples in Figures 4A to 4G. Note that the execution of activity Acts in scenario creation mode may also be configured to accept instructions from the user regarding whether or not to execute them. For example, activities that would have business implications if performed during the scenario creation stage, such as writing data to other files or sending emails, may be configured to allow the user to choose whether or not to perform them.
[0030] In Figure 4A, the activity Act(1) for extracting a table and the activity Act(2) for extracting values from the table are selected as the activity Acts that constitute the scenario (i.e., they are arranged in the scenario display area 45). In activity Act(1), the variable V_t is declared. The user can enter the path to the table (data) to be obtained as the actual value E_t of the variable V_t in the input field 51. When a path is entered in the input field 51, activity Act(1) is set to obtain the table at that path as the actual value E_t of the variable V_t. Once activity Act(1) is set, the scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35, indicating the execution of activity Act(1). The execution unit 35 then executes activity Act(1), and the actual value E_t of the variable V_t is obtained. At this point, variable management is performed, in which the actual values of the variables obtained by the execution unit 35 are stored in the memory unit 22. Details of this variable management will be described later.
[0031] In Activity Act(2), the variable V_v1 is declared, and its actual value E_v1 is obtained. The user can set the acquisition of the actual value E_v1 of the variable V_v1 by entering it in input field 52. In this example, when the user selects (clicks) input field 52, the user can choose to either enter directly into input field 52 or specify from the options and enter into input field 52. In this example, the user selects one of two options: "Direct Input" and "Table: Value of V_t". If the user selects "Direct Input", they can directly enter into input field 52. Alternatively, if the user selects "Table: Value of V_t", they can specify that the actual value E_v1 be obtained using an arbitrary variable as an argument, or that the variable V_t be used as the argument. In particular, in this example, candidate variables F that can be used as arguments in Activity Act(2) are displayed. The variables displayed as candidate F are, for example, variables whose actual values are obtained at the time the activity is executed when the scenario is run. In this example, since activity Act(1) is already executed when activity Act(2) is executed, the variable V_t, whose actual value E_t is obtained by the execution of activity Act(1), is displayed as candidate F. Note that the variables displayed as candidate F may be displayed according to the type of input field 52.
[0032] Figure 4B shows the case where the option "Table: Value of V_t" is selected, that is, where the actual value E_v1 is obtained using an argument, and the variable V_t (table) is selected from among the candidate variables F that can be used as the argument. In this example, since the table is obtained as the actual value E_t in activity Act(1), it shows the case where it is selected to obtain the value contained in the variable V_t (table) as the actual value E_v1. In other words, in the scenario management screen 4 of Figure 4B, the actual value E_t (table) of the variable V_t selected from multiple candidate F is displayed. Therefore, the user can check what kind of actual value E_t the candidate F selected as the argument for activity Act(2) is a variable from which to obtain. Also, in this example, the variable V_t is a table. Therefore, the user can specify one of the cells contained in the displayed actual value E_t (table) to set the input field 52 to obtain the actual value E_v1 of variable V_v1 from a cell contained in variable V_t (table). Figure 4C shows the case where the user has selected the cell containing "3" in the first row and column c from the actual value E_t of the variable V_t. When the OK button is clicked in this state, activity Act(2) is set to acquire the value in the first row and column c from the data (actual data) acquired as the actual value E_t of the variable V_t, and to acquire it as the actual value E_v1 of the variable V_v1 (Figure 4D). Once activity Act(2) is set, the scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35, indicating the execution of activity Act(2). The execution unit 35 then executes activity Act(2), and the actual value E_v1 of the variable V_v1 is acquired. In this embodiment, the actual value E_t of the variable V_t is displayed, but it is also possible to have a configuration in which the actual value E_t is displayed according to the type accepted by the input field 52. For example, in this embodiment, Activity Act(2) is an Activity Act that extracts a value, and the input field 52 accepts input such that a value contained in the variable V_t is extracted. Therefore, the actual value E_t is displayed to make it easier for the user to specify the source from the variable V_t.If the activity Act(2) is an activity that outputs the data obtained as the actual value E_t of the variable V_t to an arbitrary file without any special processing, then it is sufficient for the input field 52 to correctly specify the data to be output, and it is not necessarily necessary to check the actual value E_t. Thus, the configuration may be such that whether or not the actual value E_t is displayed, and if so, the way it is displayed, changes depending on what the input field 52 accepts.
[0033] In Figure 4E, in addition to activities Act(1) and Act(2), activity Act(3), which sends an email, is selected as an activity that constitutes the scenario. In the example shown in Figure 4E, the email address and the reference location of the attachment are specified as variables, and when the user sets activity Act(3), the declaration of each variable and the setting to send an email with those variables as arguments are configured. In activity Act(3), the variable V_v2 as the email address is declared, and the user can set the acquisition of the actual value E_v2 of this variable V_v2 by entering it in input field 53. Furthermore, the variable V_v3 as the file path of the attachment is declared, and the acquisition of the actual value E_v3 of variable V_v3 can be set by entering it in input field 54. In particular, as shown in Figure 4F, when the user selects (clicks) input field 54, candidate F that can be acquired as the actual value E_v3 of variable V_v3 is displayed. Specifically, the values contained in variable V_t (table) and variable V_v1 are displayed as candidate F. Then, when inputs are made in input fields 53 and 54, and the acquisition of the actual value E_v2 for variable V_v2 and the acquisition of the actual value E_v3 for variable V_v3 are set, the actual values E_v2 and E_v3 are acquired, and activity Act(3) is set to send an email with the attached data indicated by the actual value E_v3 to the email address E_v2 indicated by the actual value E_v2 (Figure 4G). In response, the scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35, indicating the execution of the said activity Act(3). The execution unit 35 then executes the said activity Act(3), and the actual values E_v2 and E_v3 for variables V_v2 and V_v3 are acquired. Note that when executing activity Act(3) in scenario creation mode, it is not necessary to send an email. This prevents the sending of unnecessary emails.
[0034] Incidentally, as mentioned above, variable management is performed in parallel with the execution of the scenario creation mode, managing the actual value E of the acquired variable V. Next, this variable management will be explained using Figures 5, 6, and 7. Here, Figure 5 is a block diagram showing the operation of each functional unit of the calculation unit when variable management is executed, Figure 6 is a flowchart showing an example of control performed by the execution unit for variable management, and Figure 7 is a flowchart showing an example of control performed by the monitoring unit for variable management.
[0035] As shown in Figure 5, in scenario creation mode, the memory unit 22 is allocated a first storage area R1 and a second storage area R2.
[0036] The first storage area R1 is an area accessible by the execution unit 35. The execution unit 35 causes the actual value E of variable V to be stored in the first storage area R1 by executing an activity Act. At this time, the actual value E stored in the first storage area R1 is referenced when the execution unit 35 executes an activity that includes variable V. That is, the actual value E stored in the first storage area R1 by executing one activity Act (for example, activity Act(1)) is stored in a way that it can be referenced when executing another activity Act (for example, activity Act(2)). The first storage area R1 is reserved in the memory unit 22 as an area accessible by the execution unit 35 when executing a scenario, and is reserved for a period corresponding to the timing when the execution unit 35 executes a scenario, and is released when that period ends. In scenario creation mode, a scenario execution instruction Cg is sent from the scenario creation unit 33 to the execution unit 35 from time to time, so the first storage area R1 may be reserved in the memory unit 22 during scenario creation mode. Furthermore, when the execution unit 35 executes a scenario based on a scenario execution instruction Ce sent from the scenario execution operation unit 312, the first storage area R1 may be reserved in the memory unit 22 from the time the execution unit 35 starts executing the activities indicated in the scenario execution instruction Ce until it completes the execution of all the activities indicated in the scenario execution instruction Ce.
[0037] The first storage area R1 is also accessible to the debugger 37. As described above, the debugger 37 has a monitoring unit 371 and a holding unit 372. The monitoring unit 371 monitors whether the actual value E of variable V is obtained by the execution unit 35, that is, whether the actual value E of variable V is held in the first storage area R1. Then, the holding unit 372 accesses the first storage area R1 and the second storage area R2 based on instructions generated by the monitoring unit 371 according to the monitoring results, and causes the actual value E held in the first storage area R1 to be held in the second storage area R2.
[0038] The second storage area R2 is an area reserved in a predetermined area of the memory unit 22, i.e., a volatile memory element, and is an area accessible by the holding unit 372 of the debugger 37. The actual value E held in the second storage area R2 is associated with the variable V that references the actual value E. More specifically, the second storage area R2 holds the actual value E that is referenced as a variable V included in the activity Act when the activity Act is executed by the execution unit 35, in association with the variable V. The second storage area R2 is reserved in the memory unit 22 as an accessible storage area by the holding unit 372 that holds the actual value E of variable V in accordance with the fact that the actual value E of variable V is held in the first storage area R1. Therefore, it is reserved in the memory unit 22 for at least the period during which the first storage area R1 is reserved in the memory unit 22. In addition, as will be described later, the second storage area R2 is also an area accessible by the editor 31, so it is reserved in the memory unit 22 even outside the period during which the first storage area R1 is reserved in the memory unit 22.
[0039] When the scenario creation mode is started, as shown in Figure 6, the execution unit 35 checks whether a variable has been declared in the activity Act (step S101). If the declaration of variable V is confirmed ("YES" in step S101), the execution unit 35 allocates a first storage area R1 in the memory unit 22 for the declared variable V (step S102). Subsequently, the execution unit 35 acquires the actual value E of the variable V into the first storage area R1 (step S103). That is, the actual value E of the variable V is held in the first storage area R1 so that it can be referenced by the execution unit 35. The actual value E is held in the first storage area R1 until the variable V is no longer needed. On the other hand, when the variable V is no longer needed ("YES" in step S104), the execution unit 35 releases the first storage area R1 and the actual value E is erased from the memory unit 22. A typical timing when the variable V declared in scenario creation mode becomes unnecessary is when the user exits scenario creation mode and the execution unit 35 exits scenario creation mode.
[0040] Furthermore, when the scenario creation mode is started, as shown in Figure 7, the monitoring unit 371 monitors the acquisition of the actual value E of variable V by the execution unit 35 (step S201). When it is confirmed that the execution unit 35 has acquired the actual value E of variable V ("YES" in step S201), the monitoring unit 371 causes the storage unit 372 to execute steps S202 and S203. That is, the storage unit 372 reserves a second storage area R2 in the memory unit 22 (step S202) and copies the actual value E from the first storage area R1 to the second storage area R2 (step S203). As a result, the actual value E is associated with variable V and stored in the second storage area R2.
[0041] Figure 8 schematically illustrates the operation of variable management performed based on the flowcharts in Figures 6 and 7. The above operation is summarized in chronological order using Figure 8. When a variable V is declared in the activity Act included in the scenario being created, the execution unit 35 allocates a first storage area R1 corresponding to the variable V in the memory unit 22 (step S102) and acquires the actual value E of the variable V into the first storage area R1 (step S103). When the monitoring unit 371 confirms the acquisition of the actual value E, it causes the holding unit 372 to allocate a second storage area R2 in the memory unit 22 (step S202) and copy the actual value E from the first storage area R1 to the second storage area R2 (step S203). As a result, the actual value E is associated with the variable V and held in the second storage area R2. In step S105, the first storage area R1 is released because the variable V is no longer needed. Even after the release of the first storage area R1, the physical value E is retained in the second storage area R2.
[0042] Furthermore, if multiple variables V are declared in scenario creation mode, the flowcharts in Figures 6 and 7 are executed for each of the multiple variables V. In other words, in the examples shown in Figures 4A to 4E, the flowcharts in Figures 6 and 7 are executed for each of the variables V_t, V_v1, V_v2, and V_v3. As a result, the memory unit 22 holds the actual values E shown in Figure 9. Here, Figure 9 is a schematic diagram showing an example of actual values held in the memory unit. When the flowcharts in Figures 6 and 7 are executed for the examples in Figures 4A to 4E, as shown in Figure 9, the second storage areas R2(1), R2(2), R(3), and R(4) hold the actual values E_t, E_v1, E_v2, and E_v3 associated with the variables V_t, V_v1, V_v2, and V_v3.
[0043] By the way, as explained using Figure 3, in the mode selection field 43 of the scenario management screen 4, you can select scenario editing mode in addition to scenario creation mode. By selecting scenario editing mode, you can edit the scenario created using scenario creation mode following the procedure described above.
[0044] Figures 10A to 10E schematically show examples of operations that can be performed on the scenario management screen in scenario editing mode. In these figures, the scenario editing field 432 is expanded, while the scenario creation field 431 is reduced. Figure 11 is a block diagram showing the operation of each function unit of the calculation unit when the scenario editing mode is executed.
[0045] As shown in Figure 11, in scenario editing mode, a second storage area R2 is allocated in the memory section. Figure 11 shows the operation of each functional unit of the arithmetic unit when transitioning from scenario creation mode to scenario editing mode. Compared to Figure 5, which shows the operation of each functional unit of the arithmetic unit in scenario creation mode, the first storage area R1 is released and disappears from the memory section 22, while the second storage area R2 is continuously allocated in the memory section 22. The second storage area R2 is continuously allocated in the memory section 22 by the holding unit 372. As a result, the actual value E that is held in association with the variable V when the execution unit 35 executes the activity Act is continuously held in the second storage area R2.
[0046] The second storage area R2 is an area accessible by the editor 31 in addition to the holding unit 372 described above. The editor 31 accesses the second storage area R2 to refer to the actual value E that is held in association with the variable V. As shown in Figure 11, the editor 31 accesses the second storage area R2 without going through the execution unit 35. Therefore, the editor 31 can refer to the held actual value E associated with the variable V in parallel with the execution of the scenario by the execution unit 35. Furthermore, the editor 31 can refer to the actual value E held in association with the variable V even when the scenario is not being executed by the execution unit 35. Since the second storage area R2 is accessed by the editor 31 for managing the scenario, the second storage area R2 is reserved in the memory unit 22 at least from the start of the execution of the activity Act by the execution unit 35 until the end of the period during which the editor 31 accepts operations for managing the scenario. In this embodiment, the second storage area R2 is allocated in the memory unit 22 when the calculation unit 21 starts executing the scenario management program 12, and is released when the calculation unit 21 finishes executing the scenario management program 12.
[0047] In scenario creation mode, user operations such as placing an Activity Act in the scenario display area 45 or editing the content of an Activity Act are input to the editing operation unit 311 (Figure 11). The editing operation unit 311 then receives the operation on the scenario display area 45 and edits the scenario according to that operation.
[0048] In Figure 10A, the scenario created using the scenario creation mode exemplified in Figures 4A to 4E is selected for editing and displayed in the scenario display area 45. In addition, the scenario editing area 432 displays icons indicating various activity Acts that can be added to the scenario.
[0049] Figure 10B shows the editing operation on Activity Act(2), one of several Activities Act(1) to Act(3) included in the scenario. Specifically, data related to obtaining the actual value E_v1 of the variable V_v1 declared in Activity Act(2) is being edited. In particular, the user's selection (click) of input field 52 displays candidate F that can be used as an argument in Activity Act(2).
[0050] Figure 10C shows how to obtain the actual value E_v1 using an argument, and the case where the variable V_t is selected from among the candidates F as that argument. In other words, in the scenario management screen 4 of Figure 10C, the actual value E_t of the variable V_t selected from candidate F is displayed. That is, by selecting the variable V_t from candidate F, the variable V_t is specified as the display target. Since the variable V_t refers to the actual value E_t, which is a table composed of multiple values, the display of the actual value E_t shows the multiple values contained in the table. At this time, the editing operation unit 311 (Figure 11) reads the actual value E_t held in the second storage area R2 and displays the actual value E_t on the scenario management screen 4. This allows the actual value E_t to be confirmed in the editing of activity Act(2) while omitting the execution of activity Act(1) to obtain the actual value E_t.
[0051] In the scenario management screen 4 shown in Figure 10C, the user performs an operation to specify one of the cells in the table displayed as the actual value E_t, which is to be included in this actual value E_t. When the editing operation unit 311 receives an operation to specify a cell included in the table, it changes the reference destination of the actual value E_v1 of the variable V_v1 based on that operation. That is, instead of directly entering information indicating the reference destination in the input field 52, by accepting an operation on the display of the actual value E_t which is composed of multiple values, an activity is set that references a desired value from among the multiple values contained in the data referenced by the variable V_t. Specifically, Figure 10D shows the case where "5" in the second row and column b is selected from the actual value E_t of the variable V_t. In this state, when the OK button is operated (clicked), the content of activity Act(2) is changed to obtain the value in the second row and column b from among the multiple values which constitute the actual value E_t obtained as the variable V_t, as the actual value E_v1 of the variable V_v1 (Figure 10E). In this way, the data obtained as the actual value E_v1 of the variable V_v1 when the activity Act(2) is executed can be modified.
[0052] Figure 12 is a flowchart showing an example of variable display performed by the editing operation unit in scenario editing mode. The display of the actual value E of variable V shown in Figures 10B, 10C, and 10D above is performed according to the flowchart in Figure 12. In step S301, the editing operation unit 311 checks whether the user has specified a variable V that they wish to display. For example, if the user performs the specification operation shown in Figure 10B (an operation to select a variable from candidate F) ("YES" in step S301), the editing operation unit 311 checks whether the actual value E of the specified variable V is stored in the second storage area R2 (step S302). If the actual value is stored ("YES" in step S302), the editing operation unit 311 displays the actual value E of the specified variable V on the display 243, as shown in Figures 10C and 10D (step S303). Although not shown in the examples in Figures 10A to 10E, it is also possible that the actual value E of variable V is not stored in the second storage area R2 in the memory unit 22. In such a case, the editing operation unit 311 determines "NO" in step S302 and displays on the display 243 that the actual value E of variable V does not exist (step S304). In this flowchart, when variable V is specified, it is checked whether the actual value E of variable V is stored in the second storage area R2. However, before variable V is specified, it is also possible to determine whether the actual value E associated with each variable V included in the displayed scenario is held in the second storage area R2, and to display a message depending on whether the actual value E is stored in the second storage area R2 or not.
[0053] In the embodiment described above, upon execution of an activity Act included in the scenario, the execution unit 35 acquires the actual value E of the variable V referenced by the activity Act into the first storage area R1 (step S103). That is, the execution unit 35 stores the actual value E of the variable V referenced by the activity Act in the second storage area R1 so that it can be accessed when other activities Act are executed. The storage unit 372 associates the actual value E with the variable V and stores it in the second storage area R2, which is accessible by the editor 31 for managing the scenario (step S203). Therefore, when the user manages the scenario, they can access the actual value E of the variable V by the editor 31 without going through the execution unit 35.
[0054] Furthermore, the second storage area R2 retains the actual value E even after the first storage area R1 is released (step S105 in Figure 8). In this configuration, even after the scenario creation is complete (i.e., the scenario creation mode is completed) and the first storage area R1, from which the actual value E was obtained, is released, the actual value E of the variable V referenced in the activity Act included in the scenario can be read from the second storage area R2. Therefore, even after the first storage area R1 is released, the user can access the actual value E of the variable V referenced in the activity Act when managing the scenario.
[0055] Furthermore, an editing operation unit 311 is provided. This editing operation unit 311 displays on the display 243 the actual value E that is associated with the variable V included in the scenario and is stored in the second storage area R2, as a display indicating the content of the operations automated by the scenario (Figures 10C and 10D). In this configuration, the user can confirm the content of the operations automated by the scenario while confirming the actual value E of the variable V included in the scenario to be managed.
[0056] Furthermore, if there is no actual value E associated with variable V and stored in the second storage area R2 (i.e., "NO" in step S302), the editing operation unit 311 displays a message to that effect on the display 243. In this configuration, the user can easily determine whether or not there is an actual value E for variable V included in the scenario being managed.
[0057] Furthermore, the system includes a scenario creation unit 33 that accepts the settings for the activity Acts included in the scenario and creates the activity Acts. This scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35 based on the created activity Acts. In this configuration, when an activity Act set in the scenario being created is executed, the actual value E of the variable V used in that activity Act can be obtained (step S103) and stored in the second storage area R2 (step S203). Setting an activity Act includes, for example, determining the content of the activity Act. The scenario creation unit can accept operations related to scenario creation, such as placing activity Acts in the scenario display area (setting the processing order of the created activity Acts). In this case, the scenario execution instruction Cg is not limited to one based on the created activity Acts, but a scenario execution instruction Cg according to the scenario creation status may also be sent.
[0058] Furthermore, when the editing operation unit 311 receives a variable specification operation (step S301) that specifies the variable V to be displayed, it reads the actual value E associated with variable V from the second storage area R2 and displays it on the display 243. In this configuration, the user can confirm the actual value E of variable V by performing a simple operation such as executing a variable specification operation on the editing operation unit 311 via the display 243.
[0059] Furthermore, the system is equipped with a monitoring unit 371 that monitors the execution unit 35 to acquire the actual value E of variable V in the first storage area R1, that is, to ensure that the actual value E is held in the first storage area R1. When the monitoring unit 371 confirms that the execution unit 35 has held the actual value E of variable V in the first storage area R1 (step S201), the holding unit 372 causes the actual value E from the first storage area R1 to be held in the second storage area R2 (step S203). In this configuration, the holding of the actual value E of variable V acquired by the execution unit 35 in the second storage area R2 can be reliably performed by the function of the monitoring unit 371.
[0060] Incidentally, as shown in Figure 5, each functional unit 311, 312, 33, 35, 371, and 372 configured in the arithmetic unit 21 is implemented as a separate process. Specifically, the execution unit 35 executes the activity Act as an execution unit process (first process), and the retention unit 372, as a retention process (second process) different from the execution process, associates the actual value E acquired in the first storage area R1 with the variable V and retains it in the second storage area R2. In this configuration, the execution of the activity Act and the retention of the actual value E are performed in separate processes (execution process and retention process). As a result, the retention unit 372 can retain the actual value E in the second storage area R2 in parallel with the execution of the activity Act by the execution unit 35, thus reducing the impact on the execution unit 35's execution of the activity Act. Therefore, while suppressing the impact on the execution unit 35's execution of the activity Act, the retention process can retain the actual value E in the second storage area R2 even after the execution process has finished upon completion of the activity Act. As a result, when managing scenarios, the editor 31 can access the actual value E of the variable V referenced in the scenario.
[0061] By the way, in a scenario, it is conceivable that multiple variables V may be given the same name. By implementing variable name management, multiple variables V with the same name can be managed separately.
[0062] Figure 13 schematically illustrates the contents of variable name management. In the example in Figure 13, variables Var_a, Var_b, and Var_a are declared in order, and the first and third declarations of the variables are identical. Therefore, when storing the actual values E of each of these variables Var_a in the second storage area R2 in association with the variables, associating the variable name itself with the actual value E would result in a name conflict. Thus, in the variable name management described here, the monitoring unit 371 (and the storage unit 372) assigns different identifiers ID1, ID2, and ID3 to the variable V each time a variable V is declared, and associates the actual value E with each identifier ID1, ID2, and ID3, and stores the actual value E in the second storage area R2. This identification of variable V by identifiers ID1, ID2, and ID3 corresponds to the identification of variable V based on the scope of variable V. The scope of variable V is the range in which the variable V is valid within the scenario. Variable V is identified based on its scope, thereby distinguishing between variables with the same name but valid in different ranges. Furthermore, the fact that the actual value E is stored in the second storage area R2 in association with identifiers ID1, ID2, and ID3 is equivalent to the actual value E of variable V being stored in the second storage area R2 in association with the scope of variable V.
[0063] Figure 14 is a flowchart showing an example of variable name management performed when obtaining the actual value of a variable. When the execution unit 35 executes a line of activity Act that constitutes the scenario (i.e., a line of the program that defines activity Act) (step S401), the monitoring unit 371 checks whether the execution of the line was successful (step S402). If the execution of the line fails ("NO" in step S402), the flowchart in Figure 14 terminates. On the other hand, if the execution of the line is successful ("YES" in step S402), the monitoring unit 371 identifies the variable declaration section that declares the variable V of the line executed in step S401. This corresponds to identifying the node (node in parsing) that declares the variable V.
[0064] In step S404, the monitoring unit 371 checks whether an identifier ID has already been assigned to the variable declaration section identified in step S403. If an identifier ID has already been assigned (if the answer is "YES" in step S404), the storage unit 372 updates the actual value E stored in the second storage area R2 in association with the identifier ID to the most recently acquired actual value E (step S405). On the other hand, if an identifier ID has not been assigned (if the answer is "NO" in step S404), the monitoring unit 371 assigns an identifier ID to the variable declaration section (step S406), and the storage unit 372 stores the actual value E of the variable V declared in the variable declaration section in the second storage area R2 in association with the identifier ID.
[0065] Thus, in the examples shown in Figures 13 and 14, the holding unit 372 holds the actual value E in the second storage area R2 in association with the scope of the variable V (steps S405, S406, S407). In this configuration, even if multiple variables V are given the same name, the actual value E of each variable V can be identified based on the scope associated with that variable V.
[0066] In other words, the holding unit 372 associates the scope of variable V with the actual value E by associating the node that declares variable V (i.e., the variable declaration unit) with the actual value E (steps S403, S406). By using the variable declaration node in this way, the scope of variable V and the actual value E can be accurately associated.
[0067] Furthermore, the second storage area R2 holds the latest physical value E obtained for the variable V (step S405). In this configuration, the physical value E in the second storage area R2 is updated each time a new physical value E is obtained, so the user can always check the latest physical value E.
[0068] By the way, in the above embodiment, in the scenario editing mode, which is one example of a user managing a scenario, the actual value E of variable V is displayed on the display 243 to assist the user's editing work. In particular, in the example of Figure 10B, when the user edits the activity Act(2) related to variable V_v1, candidate F that can be used as arguments are displayed on the display 243. At this time, the variable V (variable V_t in the example of Figure 10B) that includes the activity Act to be edited in its scope is displayed as candidate F, and the actual value E of variable V selected from candidate F is displayed. Next, an example of control that enables such actual value display will be described.
[0069] Figure 15 is a flowchart showing an example of control for displaying actual values in scenario editing mode. In step S501, the editing operation unit 311 parses the syntax of the activity Act (edited activity Act) selected by the user as the target of editing. Then, the editing operation unit 311 obtains the scope containing the edited activity Act (step S502) and obtains a list of variables V that include the edited activity Act in that scope (step S503). This corresponds to obtaining a list of variables V that can be used in the edited activity Act.
[0070] Also, in parallel with steps S502 and S503, the editing operation unit 311 obtains the type of variable V of the selected location in the activity Act to be edited (step S504). Specifically, in the example in Figure 10B, since the input field 52 (selected location) is selected from the activity Act(2) to be edited, the type accepted by the input field 52 is obtained. Here, the type accepted by the input field 52 refers to the format of data such as numbers, characters, dates, or tables that will be handled by activity Act(2) based on the content entered into the input field 52.
[0071] In step S505, the editing operation unit 311 creates a list of variables V that have the type obtained in step S504 from among the variables obtained in step S503, and displays this list on the display 243. In this way, candidate F as illustrated in Figure 10B is displayed.
[0072] In step S506, the editing operation unit 311 accepts the user's selection operation to select one variable V from among the candidates F. The editing operation unit 311 then obtains the identifier ID of the selected variable V and checks the actual value E held in the second storage area R2 associated with that identifier ID (step S507). If the actual value E exists (if "YES" is answered in step S508), the editing operation unit 311 displays the actual value E on the display 243 (step S509). On the other hand, if the actual value E does not exist (if "NO" is answered in step S508), the editing operation unit 311 displays on the display 243 that the actual value E does not exist (step S510).
[0073] Figure 16 schematically shows an example of the control result shown in Figure 15. In the example in Figure 16, a scene is shown where a scenario is edited in which six activities Act(11) to Act(16), each declaring a variable V, are executed in sequence (scenario editing mode). Of the activities Act(11) to Act(16), the type of variable V declared in five activities Act(11) and Act(13) to Act(16) is string, and the type of variable V declared in one activity Act(12) is numeric. The variable V (string3) declared in activity Act(14) is selected as the editing location. The variables V that have the scope of activity Act(14) are the variables string1, num1, and string2 in activities Act(11), Act(12), and Act(13). However, since the variable V (string3) handled in activity Act(14) is of type string, the variables string1 and string2, which match that type, are displayed as candidate F.
[0074] Now, focusing on the activity Act that declares a variable V of type string, in the example in Figure 16, the non-editable first activities Act(11), Act(13), Act(15), and Act(16), which declare variables string1, string2, string4, and string5 (first variables), and the editable second activity Act(14) are displayed on the display 243 by the editing operation unit 311. In this case, among the non-editable activities Act(11), Act(13), Act(15), and Act(16), the variables string1 and string2 declared in activities Act(11) and Act(13) include the editable activity Act(14) in their scope, while the variables string4 and string5 declared in activities Act(15) and Act(16) do not include the editable activity Act(14) in their scope. In contrast, the editing operation unit 311 displays variables string1 and string2, which are within the scope of the activity Act(14), as candidate F for variable V(string3) used in the activity Act(14) to be edited, while not displaying variables string4 and string5, which are not within the scope of the activity Act(14). In this configuration, when a user sets a variable V(string3) that is referenced in the activity Act(14) to be edited, only variables V(string1, string2) that can be referenced in the activity Act(14) are displayed as candidate F. Therefore, the user can easily perform the task of setting variable V.
[0075] Incidentally, in scenario editing mode, it is possible to selectively execute some of the multiple activities (Acts) that make up a scenario (partial execution). In particular, in the above embodiment, the actual value E of variable V is held in the second storage area R2. Therefore, if the activity Act to be partially executed uses a variable V declared in a preceding activity Act, the actual value E of that variable V can be read from the second storage area R2 and used, so that only the activity Act to be partially executed can be executed without executing the preceding activity Act. Next, an example of control that enables such partial execution will be described.
[0076] Figure 17 is a flowchart showing an example of control for partial execution in scenario editing mode. In step S601, the scenario execution operation unit 312 accepts a user operation to specify the activity Act to be partially executed. In step S602, the scenario execution operation unit 312 performs syntax analysis on the first line of the activity Act to be partially executed. Then, the scenario execution operation unit 312 obtains a list of identifier IDs (ID list) of the variable declarations of variables V that have a scope including the said first line (step S603).
[0077] The scenario execution unit 312 resets the count value N for counting identifier IDs in the ID list to zero (step S604), and then increments the count value N (step S605). The scenario execution unit 312 then checks whether there is an actual value E associated with the Nth identifier ID in the list and held in the second storage area R2 (step S606). If an actual value E exists for the Nth identifier ID (if "YES" is answered in step S606), the scenario execution unit 312 generates a variable declaration activity Act that declares a variable V corresponding to the actual value E (step S607), and then proceeds to step S608. On the other hand, if an actual value E does not exist for the Nth identifier ID (if "NO" is answered in step S606), the unit proceeds to step S608 without executing step S607. Incidentally, in this case, a message indicating that an actual value E for the identifier ID does not exist may be displayed on the display 243.
[0078] In step S608, the scenario execution operation unit 312 checks whether the count value N has reached the number of identifier IDs (Nmax) included in the ID list. If the count value N is less than the number Nmax (if "NO" is found in step S608), steps S605 to S608 are repeated. On the other hand, if the count value N is the number Nmax (if "YES" is found in step S608), the scenario execution operation unit 312 generates a partial scenario by adding the variable declaration activity Act generated in step S607 before the activity Act targeted for partial execution (step S609). Furthermore, the scenario execution operation unit 312 sends a scenario execution instruction Ce to the execution unit 35 requesting the execution of the generated partial scenario, and the execution unit 35 executes the partial scenario according to the scenario execution instruction Ce (step S610).
[0079] In step S610, the execution unit 35 uses the actual value E of the variable V held in the second storage area R2 to execute the activity Act that is to be partially executed. Specifically, the execution unit 35 reads the actual value E from the second storage area R2 and stores it in the first storage area R1, and uses the actual value E to execute the activity Act that is to be partially executed.
[0080] In this embodiment, the variable declaration activity Act generated in step S607 is an activity executed by the execution unit 35 that declares a variable V and obtains the actual value E of variable V. The declaration of variable V indicates that variable V is valid at least from the time of the activity in which it is declared, that is, that the scope of variable V is after the activity. Furthermore, the acquisition of the actual value E of variable V ensures that the actual value E is retained in the first storage area R1 so that it can be referenced as the actual value of variable V within the scope in which variable V is valid. In this embodiment, since the actual value E of the declared variable V is obtained when the variable declaration activity Act generated in step S607 is executed, the actual value E is retained in the first storage area R1 so that it can be referenced within the scope in which variable V is valid, which is at least from the time of the variable declaration activity Act.
[0081] This section explains how to control partial execution when Activity Act(2), shown in Figure 10E, accepts a user operation that designates it as an Activity Act to be partially executed.
[0082] First, in the scenario shown in Figure 10E, Activity Act(1) corresponds to an operation that retrieves a value from an application other than the scenario management program 12. Activity Act(1) retrieves the value obtained in this operation as the actual value E_t of the variable V_t, and the actual value E_t is stored in the first storage area R1. Also, in the scenario shown in Figure 10E, Activity Act(2) corresponds to an operation that processes a value, and is Activity Act(2) that uses the variable V_t included in Activity Act(1). In other words, when Activity Act(2) is executed by the execution unit 35, it is an activity that refers to the actual value E_t of the variable V_t, which is stored in the first storage area R1 as a result of the execution of Activity Act(1). Note that since Activity Act(1) shown in Figure 10E declares the variable V_t, it is shown that the scope of the variable V_t extends to activities after this activity, i.e., from Activity Act(2) onwards.
[0083] When the scenario execution operation unit 312 receives a user operation that designates activity Act(2) as a target for partial execution, it generates a variable declaration activity Act that declares the variable V_t included in activity (2). The scenario execution operation unit 312 then generates a partial scenario consisting of the generated variable declaration activity Act that declares the variable V_t and activity Act(2) which is designated as a target for partial execution, and sends a scenario execution instruction Ce to the execution unit 35 that instructs the execution of the partial scenario. Therefore, when the scenario execution operation unit 312 receives a user operation that designates activity Act(2) as a target for partial execution, it sends a scenario execution instruction Ce to the execution unit 35 that selects the variable declaration activity Act of variable V_t and activity Act(2) as the target for execution of activity ActAct, which corresponds to activity Act(2). In this case, the variable declaration activity Act that declares the variable V_t differs from the activity Act(1) that obtains the actual value E_t by referring to the path entered in the input field 51. Instead, the activity Act obtains the actual value E_t held in the second storage area R2. That is, the variable declaration activity Act is an activity that refers to the actual value E_t held in the second storage area R2 and holds the actual value E_t of the variable V_t in the first storage area R1. After the execution unit 35 has held the actual value E_t read from the second storage area R2 in the first storage area R1, it refers to the actual value E_t held in the first storage area R1 when executing the activity Act(2) that is the target of partial execution.
[0084] In this way, the scenario execution operation unit 312 accepts the scenario displayed in the scenario display field 45 as a scenario selected by the user and accepts the selection of Activity Acts included in the selected scenario (step S601). Furthermore, the scenario execution operation unit 312 sends a scenario execution instruction Ce to the execution unit 35, which instructs the execution of Activity Acts corresponding to the selected Activity Acts (i.e., the variable declaration Activity Act and the selected Activity Act). With this configuration, it is possible to partially execute an Activity Act selected from among the multiple Activity Acts included in the scenario and confirm the operation of that Activity Act.
[0085] In a scenario that includes an Activity Act that retrieves a value from an application other than the scenario management program 12 and retrieves the actual value E of variable V as the value, and an Activity Act that uses the variable V, the Activity Act that uses the variable V is an Activity Act that references the actual value E held in the first storage area R1. If the Scenario Execution Operation Unit 312 includes an Activity Act that references the actual value E held in the first storage area R1 among the Activity Acts designated as targets for partial execution, it generates an Activity Act that references the second storage area R2 and holds the actual value E in the first storage area R1. In this configuration, the Execution Unit 35 can execute the Activity Acts designated as targets for partial execution without referencing the actual value E held in the first storage area R1. For example, if there is a difference between the actual value E held in the first storage area R1 and the actual value E held in the second storage area R2, such as when the actual value E held in the first storage area R1 is not immediately reflected in the actual value E held in the second storage area R1, an activity Act can be executed that references the actual value E in the second storage area R2.
[0086] Furthermore, after the scenario creation mode ends and the first storage area R1 is released, there may be a state where there is no actual value E held in the first storage area R1, and the activity Act designated as a partial execution target includes an activity Act that references the actual value E held in the first storage area R1, but does not include an activity Act that causes the actual value E to be held in the first storage area R1. In this case, the execution unit 35 places the actual value E held in the second storage area R2 into the first storage area R1 in association with the variable V used in the activity that references the actual value E held in the first storage area R1, and then executes the activity Act that references the actual value E held in the first storage area R1. In this way, by utilizing the actual value E of the variable V held in the second storage area R2, even when there is no actual value E held in the first storage area R1, the activity Act that references the actual value E held in the first storage area R1 can be partially executed without executing the activity Act that causes the actual value E to be held in the first storage area R1 included in the scenario.
[0087] In this embodiment, the activity Act generated by the scenario execution operation unit 312, which references the second storage area R2 and stores the actual value E in the first storage area R1, is executed in addition to the activity Act designated as a partial execution target. However, if the activity Act designated as a partial execution target includes an activity Act that stores the actual value E in the first storage area R1, the activity Act generated by the scenario execution operation unit 312, which references the actual value E stored in the second storage area R2 and stores it in the first storage area R1, may be executed instead of the aforementioned activity Act. In this configuration, the activity Act designated as a partial execution target can be executed in the scenario without executing the activity Act that stores the actual value E in the first storage area R1. If the activity Act that stores the actual value E in the first storage area R1 in the scenario is an activity that depends on the execution environment, the activity Act designated as a partial execution target can be executed regardless of the execution environment. Furthermore, if the activity Act that stores the actual value E in the first storage area R1 in the scenario is an activity that takes a long time to execute, the time required to execute the designated activity Act can be shortened. Furthermore, if the activity Act that causes the entity value E to be held in the first storage area R1 in the scenario is an activity that affects the outside, the specified activity Act can be executed without affecting the outside.
[0088] As described above, in this embodiment, the storage unit 111 of the server 11 corresponds to an example of the "recording medium" of the present invention, the scenario management program 12 corresponds to an example of the "scenario management program" of the present invention, the terminal device 2 corresponds to an example of the "scenario management device" and "computer" of the present invention, the display 243 corresponds to an example of the "display" of the present invention, the editor 31 corresponds to an example of the "management unit" of the present invention, the scenario creation unit 33 corresponds to an example of the "scenario creation unit" of the present invention, the execution unit 35 corresponds to an example of the "execution unit" of the present invention, the monitoring unit 371 corresponds to an example of the "monitoring unit" of the present invention, the holding unit 372 corresponds to an example of the "holding unit" of the present invention, the activity Act corresponds to an example of the "activity" of the present invention, the scenario execution instruction Cg corresponds to an example of the "scenario execution instruction" of the present invention, the first storage area R1 corresponds to an example of the "first storage area" of the present invention, and the second storage area R2 corresponds to an example of the "second storage area" of the present invention.
[0089] It should be noted that the present invention is not limited to the above embodiments, and various modifications can be made to the above without departing from the spirit of the invention. For example, the timing of storing the actual value E of variable V in the second storage area R2 is not limited to the execution of the scenario creation mode, and may be changed. In other words, in the above embodiment, the actual value E acquired in the first storage area R1 when the execution unit 35 executes the activity Act in the scenario creation mode is stored in the second storage area R2. However, it may be changed so that the actual value E of variable V is stored in the second storage area R2 after the end of the scenario creation mode and before the start of the scenario editing mode. In this modified example, a scenario execution instruction Ce that instructs the execution of a created scenario is sent from the scenario execution operation unit 312 to the execution unit 35, and the actual value E acquired in the first storage area R1 by the execution of the activity Act of the scenario is held in the second storage area R2 by the holding unit 372.
[0090] In other words, the scenario execution operation unit 312 receives a scenario execution operation from the user indicating the execution of a pre-created scenario, and sends a scenario execution instruction Ce to the execution unit 35 based on the received scenario execution operation. In this configuration, the user can obtain the actual value E of the variable V used in the activity Act included in the pre-created scenario by executing the scenario, and store it in the second storage area R2. Then, in scenario editing mode, the actual value E read from the second storage area R2 can be confirmed on the display 243.
[0091] The specific configuration of the second storage area R2, which holds the actual value E of variable V, can be changed as appropriate. Therefore, the second storage area R2 may be allocated in the storage unit 23 instead of the memory unit 22, and the actual value E of variable V may be non-volatilely stored in the second storage area R2. In other words, the second storage area R2 may be a non-volatile memory element.
[0092] Furthermore, it is not essential that the execution of the activity Act and the retention of the actual value E are performed in separate processes (execution process and retention process). Therefore, the retention unit 372 may, in the same process as the execution unit 35 that executes the activity Act, associate the actual value E acquired in the first storage area R1 with the variable V and retain it in the second storage area R2. In such a configuration, for example in Figure 5, the execution unit 35 and the retention unit 372 are realized in a single functional block, and this functional block releases the first storage area R1 when the variable V is no longer needed, and also retains the second storage area R2 even after the first storage area R1 has been released.
[0093] Similarly, it is not necessary to execute each functional block (Figure 5) configured in the arithmetic unit 21 in separate processes. Therefore, the editor 31 and the execution unit 35 may be executed in the same process instead of in separate processes. Alternatively, a single functional block may be divided into multiple parts. For example, the editor 31 does not need to have the functionality to accept user input to the UI 24, and this functionality may be separated from the editor 31 and handled by another module.
[0094] Furthermore, it is not necessary to configure all of the functional blocks 31, 33, 35, and 37 in Figure 5 in the arithmetic unit 21 of the terminal device 2; some functional blocks (for example, the execution unit 35) may be configured in the processor of the server 11. In this case, the terminal device 2 and the server 11 cooperate to function as the "scenario management device" of the present invention. [Industrial applicability]
[0095] This invention is applicable to all RPA (Robotic Process Automation) technologies that aim to reduce the workload of users by automating tasks that users previously performed using computers. [Explanation of symbols]
[0096] 11… Server 111...Storage section (recording medium) 12…Scenario Management Program 2…Terminal devices (scenario management device, computer) 243…Display 311... Editing Operations Department 33…Scenario Creation Department 35…Executive Department 371...Monitoring Department 372...Holding part Act...Activities Cg...Scenario execution instruction R1...First storage area R2…Second storage area
Claims
1. A scenario management device for managing scenarios for automating operations on other application programs, A management unit that manages the scenario, which includes a first activity and a second activity selected from a plurality of types of activities, including an activity corresponding to the operation of obtaining a value from another application program, an activity corresponding to the operation of inputting a value into another application program, and an activity corresponding to the operation of processing the obtained value. An execution unit that executes the first activity included in the scenario based on a scenario execution instruction, A first storage area that is accessed by the execution unit when executing the first activity included in the scenario, and which holds the actual values of variables referenced in the first activity in a way that makes them accessible as the actual values of variables included in the second activity included in the scenario, A second storage area accessible by the management unit, which stores the actual value of the variable held in the first storage area in association with the variable, A holding unit that holds the actual value of the variable held in the first storage area in the second storage area, A scenario management device equipped with the following features.
2. The execution unit, as a first process, executes the first activity, The scenario management device according to claim 1, wherein the holding unit, as a second process different from the first process, holds the actual value acquired in the first storage area in association with the variable in the second storage area.
3. The scenario management device according to claim 1 or 2, wherein the second storage area retains the actual value even after the first storage area is released.
4. The scenario management device according to any one of claims 1 to 3, wherein the management unit displays on a display, as a display indicating the content of the operation automated by the scenario, a display corresponding to the actual value held in the second storage area in association with the variable included in the scenario.
5. The scenario management device according to claim 4, wherein the management unit displays the actual values held in the second storage area on the display as a display of the variables corresponding to the actual values.
6. The scenario management device according to claim 4 or 5, wherein the management unit displays on the display an indication of whether or not the actual value is held in the second storage area in association with the variable, as a display of the variable corresponding to the actual value.
7. The creation of the aforementioned scenario includes a scenario creation unit that receives settings related to the content of the operations to be automated by the activity, and generates the activity based on said settings. The scenario management device according to any one of claims 1 to 6, wherein the scenario creation unit sends a scenario execution instruction to the execution unit based on the generated activity.
8. A scenario management device according to any one of claims 1 to 7, comprising a scenario execution operation unit that receives a selection of an activity included in the scenario as an operation to instruct the execution of a scenario, and sends a scenario execution instruction to the execution unit to execute the activity corresponding to the selected activity.
9. The scenario management device according to any one of claims 1 to 8, wherein the holding unit holds the actual value of the variable in the second storage area in association with information indicating the scope which is the effective range of the variable in the scenario.
10. The first activity corresponds to an operation to obtain a value from the other application program and is an activity that references the value as the actual value of the variable. The second activity is an activity that uses the variables included in the first activity, When the execution unit receives the scenario execution instruction that includes the second activity, The scenario management device according to any one of claims 1 to 9, wherein the execution unit acquires the actual values held in the second storage area in association with the variables used in the second activity and then executes the second activity in the first storage area.
11. The aforementioned management department, When a variable specification operation is received to specify the variable to be displayed, the actual value associated with the variable is read from the second storage area and displayed on the display. When the aforementioned variable is a variable that refers to the actual value which is composed of multiple values, The aforementioned multiple values are displayed as the actual values, The scenario management device according to any one of claims 4 to 6, wherein when an operation is received to specify an arbitrary value from the plurality of values, the activity corresponding to an operation to obtain a value included in the data referenced as a variable is set based on the operation.
12. The management unit displays the scenario having the first activity for declaring the first variable and the second activity on the display. The scenario management device according to any one of claims 4 to 6, wherein the management unit displays the first variable declared in the first activity on the display as a candidate variable to be used in the second activity if the scope of the first variable declared in the first activity includes the second activity, and does not display the first variable declared in the first activity on the display as a candidate variable to be used in the second activity if the scope of the variable declared in the first activity does not include the second activity.
13. The execution unit includes a monitoring unit that monitors whether the execution unit holds the actual value of the variable in the first storage area, The scenario management device according to any one of claims 1 to 12, wherein when the monitoring unit confirms that the actual value of the variable has been stored in the first storage area by the execution unit, the holding unit causes the actual value stored in the first storage area to be stored in the second storage area.
14. The scenario management device according to any one of claims 1 to 13, wherein when the execution unit executes the first activity, the first storage area holds a real value different from the real value held in the second storage area in association with the variable as the real value of the variable referenced in the first activity, the second storage area holds the latest real value held in the first storage area as the real value of the variable in association with the variable.
15. A scenario management program that causes a computer to function as a scenario management device according to any one of claims 1 to 14.
16. A recording medium for recording the scenario management program described in claim 15 in a way that can be read by a computer.
17. A scenario management method executed by a computer for managing a scenario for automating operations on other application programs, the scenario including a first activity and a second activity, selected from a plurality of types of activities including an activity corresponding to an operation to obtain a value from another application program, an activity corresponding to an operation to input a value into the other application program, and an activity corresponding to an operation to process the obtained value, A step of executing the first activity based on a scenario execution instruction, and storing the actual values of the variables referenced in the first activity in the first storage area so that they can be referenced as the actual values of the variables included in the second activity, A step of storing the actual value of the variable held in the first storage area in association with the variable in a second storage area accessible by the management unit that manages the scenario, A scenario management method that includes the following features.
Citation Information
Patent Citations
Scenario provision system, scenario provision device, scenario execution terminal, scenario provision method, scenario execution method, and program
JP2020113034A