Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7808488B2 - Scenario management device, scenario management program, recording medium, and scenario management method - Google Patents
[go: Go Back, main page]

JP7808488B2 - Scenario management device, scenario management program, recording medium, and scenario management method - Google Patents

Scenario management device, scenario management program, recording medium, and scenario management method

Info

Publication number
JP7808488B2
JP7808488B2 JP2022032226A JP2022032226A JP7808488B2 JP 7808488 B2 JP7808488 B2 JP 7808488B2 JP 2022032226 A JP2022032226 A JP 2022032226A JP 2022032226 A JP2022032226 A JP 2022032226A JP 7808488 B2 JP7808488 B2 JP 7808488B2
Authority
JP
Japan
Prior art keywords
scenario
activity
variable
storage area
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022032226A
Other languages
Japanese (ja)
Other versions
JP2023128109A (en
Inventor
一挙 木原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyence Corp
Original Assignee
Keyence Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keyence Corp filed Critical Keyence Corp
Priority to JP2022032226A priority Critical patent/JP7808488B2/en
Priority to US17/900,900 priority patent/US20230108676A1/en
Publication of JP2023128109A publication Critical patent/JP2023128109A/en
Priority to JP2026006360A priority patent/JP2026063225A/en
Application granted granted Critical
Publication of JP7808488B2 publication Critical patent/JP7808488B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、ユーザがコンピュータを用いて実行していた作業を自動化することでユーザの作業負担の軽減を図るRPA(Robotic Process Automation)技術に関する。 This invention relates to RPA (Robotic Process Automation) technology, which aims to reduce the workload of users by automating tasks that users previously performed using computers.

RPAでは、コンピュータによる処理の実行順序を示すシナリオ(「フロー」と称される場合もある)が用いられる。また、シナリオに従って処理を実行するコンピュータは、表形式でデータを管理するファイルや、当該ファイルによって管理されるデータといった各種の変数を適宜参照する。例えば、特許文献1では、処理の実行順序を示すシナリオファイルと、シナリオファイルの実行に必要となる変数の設定値を示すカスタマイズ用ファイルとが用意され、シナリオファイルに従って処理を実行するコンピュータは、カスタマイズ用ファイルに示される設定値を参照する。 RPA uses a scenario (sometimes called a "flow") that indicates the order in which processes are to be executed by a computer. Furthermore, the computer that executes processes according to the scenario appropriately references various variables, such as files that manage data in tabular format and the data managed by those files. For example, in Patent Document 1, a scenario file that indicates the order in which processes are to be executed and a customization file that indicates the setting values of variables required to execute the scenario file are prepared, and the computer that executes processes according to the scenario file references the setting values indicated in the customization file.

特開2020-113034号公報Japanese Patent Application Laid-Open No. 2020-113034

ところで、RPA技術により自動化される作業には、ユーザが、任意のデータを参照して、当該任意のデータを、コンピュータにより処理可能な態様で入力する作業が含まれる。上記特許文献1においては、シナリオファイルに含まれる変数として参照されるカスタマイズ用ファイルをユーザが編集することが開示される。したがって、上記作業は、カスタマイズ用ファイルを編集することによって代替されるものの、自動化はされない。自動化するためには、ユーザが上記作業を行う際に任意のデータを参照するのと同様に任意のデータが参照されるように、シナリオに含まれる変数を管理する必要がある。 Work that can be automated using RPA technology includes the task of a user referencing arbitrary data and inputting that data in a format 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, while the above work can be replaced by editing the customization file, it is not automated. To automate this, it is necessary to manage the variables included in the scenario so that arbitrary data can be referenced in the same way that a user references arbitrary data when performing the above work.

しかしながら、RPA技術は、ユーザの実際の操作、すなわち、ユーザの操作の際に処理される実体値に基づいてシナリオを作成する点に一つの利点がある。換言すれば、ユーザは、実際の操作を通じて実体値にアクセスすることによって、シナリオを作成することができる。これに対して、シナリオに含まれる変数は、実際にシナリオが実行されるとき以外は、実体値を参照しないため、ユーザがシナリオに含まれる変数を管理するときに当該変数として参照される実体値にアクセスできない、という課題があった。 However, one advantage of RPA technology is that it creates scenarios based on the user's actual operations, i.e., the entity values processed during the user's operations. In other words, users can create scenarios by accessing entity values through their actual operations. However, variables included in a scenario do not reference entity values except when the scenario is actually executed, which poses a problem: when a user manages variables included in a scenario, they cannot access the entity values referenced by those variables.

この発明は上記課題に鑑みなされたものであり、シナリオを管理する際に、シナリオで参照される変数の実体値がアクセスされる構成とすることを目的とする。 This invention was developed in consideration 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 the scenario.

本発明に係るシナリオ管理装置は、他のアプリケーションプログラムに対する操作を自動化するためのシナリオを管理するシナリオ管理装置であって、他のアプリケーションプログラムから値を取得する操作に対応するアクティビティと、他のアプリケーションプログラムに値を入力する操作に対応するアクティビティと、取得する値を処理する操作に対応するアクティビティと、を含む複数種類のアクティビティから選択される、第一アクティビティと第二アクティビティとを含むシナリオを管理する管理部と、シナリオ実行指示に基づいて、シナリオに含まれる第一アクティビティを実行する実行部と、シナリオに含まれる第一アクティビティを実行する際に実行部によりアクセスされ、当該第一アクティビティで参照される変数の実体値を、当該シナリオに含まれる第二アクティビティに含まれる変数の実体値として参照可能に保持する第一格納領域と、管理部によりアクセス可能であって、第一格納領域に保持される変数の実体値を当該変数と関連付けて保持する第二格納領域と、第一格納領域に保持される変数の実体値を第二格納領域に保持させる保持部と、を備える。 The scenario management device of the present invention manages scenarios for automating operations on other application programs and includes: a management unit that manages scenarios including a first activity and a second activity selected from multiple types of activities, including activities corresponding to operations for obtaining values from other application programs, activities corresponding to operations for inputting values into other application programs, and activities corresponding to operations for processing obtained 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 that holds the entity values of variables referenced in the first activity so that they can be referenced as entity values of variables included in a second activity included in the scenario; a second storage area that is accessible by the management unit and that holds the entity values of variables held in the first storage area in association with the variables; and a storage unit that stores the entity values of variables held in the first storage area in the second storage area.

本発明に係るシナリオ管理プログラムは、上記のシナリオ管理装置としてコンピュータを機能させる。 The scenario management program of the present invention causes a computer to function as the above-mentioned scenario management device.

本発明に係る記録媒体は、上記のシナリオ管理プログラムをコンピュータにより読み出し可能に記録する。 The recording medium of the present invention records the above-mentioned scenario management program in a computer-readable manner.

本発明に係るシナリオ管理方法は、他のアプリケーションプログラムに対する操作を自動化するためのシナリオとして、他のアプリケーションプログラムから値を取得する操作に対応するアクティビティと、他のアプリケーションプログラムに値を入力する操作に対応するアクティビティと、取得する値を処理する操作に対応するアクティビティと、を含む複数種類のアクティビティから選択される、第一アクティビティと第二アクティビティとを含むシナリオ、を管理するシナリオ管理方法であって、シナリオ実行指示に基づいて第一アクティビティを実行して、当該第一アクティビティで参照される変数の実体値を、第二アクティビティに含まれる変数の実体値として参照可能に、第一格納領域に保持させる工程と、シナリオを管理する管理部によりアクセス可能な第二格納領域に、第一格納領域に保持された変数の実体値を、当該変数と関連付けて保持させる工程と、を備える。 The scenario management method of the present invention manages a scenario including a first activity and a second activity selected from multiple types of activities, including activities corresponding to operations for obtaining values from other application programs, activities corresponding to operations for inputting values into other application programs, and activities corresponding to operations for processing obtained values, as a scenario for automating operations on other application programs. The scenario management method includes the steps of: executing the first activity based on a scenario execution instruction; and storing in a first storage area the entity values of variables referenced in the first activity so that they can be referenced as the entity values of variables included in the second activity; and storing in a second storage area accessible by a management unit that manages the scenario the entity values of the variables stored in the first storage area in association with the variables.

このように構成された本発明(シナリオ管理装置、シナリオ管理プログラム、記録媒体およびシナリオ管理方法)では、シナリオに含まれる第一アクティビティの実行により、第二アクティビティに含まれる変数の実体値として参照可能に、変数の実体値が第一格納領域に保持されると、保持部が当該実体値を変数と関連付けて、管理部がアクセス可能な第二格納領域に保持させる。したがって、ユーザは、シナリオが実行されるときだけでなくシナリオを管理するときにも、参照される実体値にアクセスすることができる。その結果、例えば、シナリオを編集する際にシナリオで参照される変数の実体値をユーザが確認することが可能となっている。 In this configuration of the present invention (scenario management device, scenario management program, recording medium, and scenario management method), when a first activity included in a scenario is executed and the entity value of the variable is stored in a first storage area so that it can be referenced as the entity value of a variable included in a second activity, the storage unit associates the entity value with the variable and stores it in a second storage area accessible by the management unit. Therefore, the user can access the referenced entity value not only when the scenario is executed, but also when managing the scenario. As a result, for example, the user can check the entity values of variables referenced in a scenario when editing it.

以上のように、本発明によれば、シナリオを管理する際に、シナリオで参照される変数の実体値がアクセスされることが可能となっている。 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.

本発明に係るシナリオ管理装置を備えたシナリオ管理システムの一例を示すブロック図。1 is a block diagram showing an example of a scenario management system including a scenario management device according to the present invention; シナリオ管理のために演算部に構成される各機能部の一例を示すブロック図。FIG. 2 is a block diagram showing an example of each functional unit configured in the calculation unit for scenario management. ディスプレイに表示されるシナリオ管理画面の一例を模式的に示す図。FIG. 4 is a diagram schematically showing an example of a scenario management screen displayed on a display. シナリオ作成モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in a scenario creation mode. シナリオ作成モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in a scenario creation mode. シナリオ作成モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in a scenario creation mode. シナリオ作成モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in a scenario creation mode. シナリオ作成モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in a scenario creation mode. シナリオ作成モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in a scenario creation mode. シナリオ作成モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in a scenario creation mode. 変数管理の実行時における演算部の各機能部の動作を示すブロック図。FIG. 4 is a block diagram showing the operation of each functional unit of the calculation unit when variable management is executed. 変数管理のために実行部が実行する制御の一例を示すフローチャート。10 is a flowchart showing an example of control executed by an execution unit for variable management. 変数管理のために監視部が実行する制御の一例を示すフローチャート。10 is a flowchart showing an example of control executed by a monitoring unit for variable management. 図6および図7のフローチャートに基づき実行される変数管理の動作を模式的に示す図。FIG. 8 is a diagram schematically showing the operation of variable management executed based on the flowcharts of FIGS. 6 and 7; メモリ部に保持される実体値の一例を模式的に示す図。FIG. 4 is a diagram schematically illustrating an example of entity values stored in a memory unit. シナリオ編集モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in the scenario editing mode. シナリオ編集モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in the scenario editing mode. シナリオ編集モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in the scenario editing mode. シナリオ編集モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in the scenario editing mode. シナリオ編集モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図。FIG. 10 is a diagram schematically showing an example of operations that can be performed on the scenario management screen in the scenario editing mode. シナリオ編集モードの実行時における演算部の各機能部の動作を示すブロック図。FIG. 10 is a block diagram showing the operation of each functional unit of the calculation unit when a scenario edit mode is executed. シナリオ編集モードにおいて編集操作部が実行する変数表示の一例を示すフローチャート。10 is a flowchart showing an example of variable display executed by the editing operation unit in a scenario editing mode. 変数名称管理の内容を模式的に示す図。FIG. 10 is a diagram schematically showing the contents of variable name management. 変数の実体値の取得に伴って実行される変数名称管理の一例を示すフローチャート。10 is a flowchart showing an example of variable name management executed in association with acquisition of the entity value of a variable. シナリオ編集モードにおける実体値表示のための制御の一例を示すフローチャート。10 is a flowchart showing an example of control for displaying substance values in a scenario editing mode. 図15に示す制御の結果の一例を模式的に示す図。FIG. 16 is a diagram schematically illustrating an example of the result of the control shown in FIG. 15 . シナリオ編集モードにおける部分実行のための制御の一例を示すフローチャート。10 is a flowchart showing an example of control for partial execution in a scenario edit mode.

図1は本発明に係るシナリオ管理装置を備えたシナリオ管理システムの一例を示すブロック図である。このシナリオ管理システム1は、サーバ11と、サーバ11のクライアントとして機能する端末装置2とを備える。サーバ11はコンピュータであり、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)等で構成されたストレージ部111を備え、ストレージ部111には、シナリオ管理プログラム12が保存されている。 Figure 1 is a block diagram showing an example of a scenario management system equipped with a scenario management device according to the present invention. This scenario management system 1 comprises a server 11 and a terminal device 2 that functions as a client of the server 11. The server 11 is a computer, and has a storage unit 111 composed of a hard disk drive (HDD) or solid state drive (SSD), etc., in which a scenario management program 12 is stored.

端末装置2は、RPAで使用されるシナリオを管理するためのコンピュータである。この端末装置2は、演算部21、メモリ部22、ストレージ部23、UI(User Interface)24、通信部25およびバス26を備え、演算部21、メモリ部22、ストレージ部23、UI24および通信部25の間における信号の送受信がバス26を介して実行される。 The terminal device 2 is a computer for managing scenarios used in RPA. This terminal device 2 includes a calculation unit 21, a memory unit 22, a storage unit 23, a UI (User Interface) 24, a communication unit 25, and a bus 26, and signals are sent and received between the calculation unit 21, memory unit 22, storage unit 23, UI 24, and communication unit 25 via the bus 26.

演算部21は、CPU(Central Processing Unit)等のプロセッサであり、メモリ部22、ストレージ部23、UI24および通信部25を制御する。メモリ部22は、メインメモリおよびキャッシュメモリ等を有し、演算部21からの指示に基づきデータを揮発的に記憶し、演算部21は、メモリ部22から読み出したデータを用いて演算を実行する。 The calculation 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 a main memory, cache memory, etc., and volatilely stores data based on instructions from the calculation unit 21, which then performs calculations using data read from the memory unit 22.

ストレージ部23は、HDDおよびSSD等を有し、データを不揮発的に記憶する。UI24は、キーボード241およびマウス242等の入力機器と、ディスプレイ243等の出力機器とを有する。したがって、ユーザは、キーボード241およびマウス242を操作することで端末装置2に対する入力操作を実行でき、ディスプレイ243の表示を確認することでメモリ部22やストレージ部23に格納される各種データを確認できる。なお、入力機器と出力機器とを別体で構成する必要はなく、タッチパネルディスプレイによってこれらを一体的に構成してもよい。また、通信部25は、サーバ11との通信を実行する。この通信部25は、サーバ11からシナリオ管理プログラム12をダウンロードし、ストレージ部23は、当該シナリオ管理プログラム12を保存する。また、演算部21がシナリオ管理プログラム12を実行すると、シナリオ管理を実行するための図2の各機能部が演算部21に構成される。 The storage unit 23 includes an HDD, SSD, etc., and stores data in a non-volatile manner. The UI 24 includes input devices such as a keyboard 241 and a mouse 242, and an output device such as a display 243. Therefore, a 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 storage unit 23 by checking the display 243. The input and output devices do not need to be configured separately; they may be configured as an integrated touch panel display. The communication unit 25 also communicates with the server 11. The communication unit 25 downloads the scenario management program 12 from the server 11, and the storage unit 23 stores the scenario management program 12. When the calculation unit 21 executes the scenario management program 12, the functional units shown in FIG. 2 for executing scenario management are configured in the calculation unit 21.

なお、端末装置2へのシナリオ管理プログラム12の提供態様は、サーバ11からのダウンロードに限られない。したがって、DVD(Digital Versatile Disc)といった光ディスクや、USB(Universal Serial Bus)メモリ等の他の記録媒体によって提供されてもよい。端末装置2は、これらの記録媒体から読み出したシナリオ管理プログラム12をストレージ部23に保存することができる。 Note that the scenario management program 12 may be provided to the terminal device 2 in a manner other than by download from the server 11. It may instead be provided via an optical disc such as a DVD (Digital Versatile Disc) or other recording medium such as a USB (Universal Serial Bus) memory. The terminal device 2 can read the scenario management program 12 from these recording media and store it in the storage unit 23.

なお、本実施例において端末装置2が管理する、RPAで使用されるシナリオとは、本端末装置2のユーザもしくは他の人間が、シナリオ管理プログラム12以外のアプリケーションプログラムに対して実行する操作を、自動化するためのシナリオである。当該操作は、シナリオ管理プログラム12以外のアプリケーションプログラムから値を取得する操作と、値を処理する操作と、シナリオ管理プログラム12以外のアプリケーションプログラムに値を入力する操作と、を含む。シナリオ管理プログラム12以外のアプリケーションプログラムから値を取得する操作は、人間が、参照する情報をディスプレイ243等の出力機器から出力させるためにシナリオ管理プログラム12以外のアプリケーションプログラムを操作すること、を含む。また、シナリオ管理プログラム12以外のアプリケーションプログラムに値を入力する操作は、人間が、キーボード241やマウス242等の入力機器を用いてシナリオ管理プログラム12以外のアプリケーションプログラムに値が入力されるように操作することを含む。例えば、キーボード241を用いて値を直接入力することや、入力機器を用いてアプリケーションプログラムにより表示される選択肢から入力されるべき値を選択すること、を含む。 In this embodiment, the scenarios used in RPA and managed by the terminal device 2 are scenarios for automating operations performed by the user of the terminal device 2 or other humans 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 humans operating application programs other than the scenario management program 12 to output referenced information from an output device such as the display 243. Operations to input values into application programs other than the scenario management program 12 include humans operating input devices such as the keyboard 241 and mouse 242 to input values into application programs other than the scenario management program 12. For example, these include directly inputting values using the keyboard 241 and selecting a value to be input from options displayed by the application program using an input device.

図2はシナリオ管理のために演算部に構成される各機能部の一例を示すブロック図である。図2に示すように、演算部21によるシナリオ管理プログラム12の実行によって、エディタ31、シナリオ作成部33、実行部35およびデバッガ37が演算部21に構成される。 Figure 2 is a block diagram showing an example of the functional units configured in the calculation unit for scenario management. As shown in Figure 2, execution of the scenario management program 12 by the calculation unit 21 configures an editor 31, a scenario creation unit 33, an execution unit 35, and a debugger 37 in the calculation unit 21.

エディタ31は、シナリオを管理する。本実施例でエディタ31に管理されるシナリオは、シナリオ管理プログラム12以外のアプリケーションに対する人間の各種操作に対応するコンピュータの動作であるアクティビティAct(不図示)を複数含み、エディタ31は複数のアクティビティActを管理する。エディタ31は、シナリオ管理のための、ユーザのUI24への操作を受け付ける。このエディタ31は、編集操作部311およびシナリオ実行操作部312を有する。編集操作部311は、ユーザのシナリオ管理のために、当該シナリオで自動化される操作の内容を示すシナリオ管理画面4(図3等)をUI24のディスプレイ243に表示し、シナリオ管理画面4に対するユーザの操作を受け付ける。シナリオ実行操作部312は、ユーザからシナリオの実行を指示する操作を受け付ける。ユーザは、シナリオの実行を指示する操作として、シナリオに含まれる一部のアクティビティActあるいは全部のアクティビティActを選択する。シナリオ実行操作部312はアクティビティActの選択を受け付け、選択されたアクティビティActに応じたシナリオの実行を示すシナリオ実行指示Ceを実行部35に送る。 The editor 31 manages scenarios. In this embodiment, the scenarios managed by the editor 31 include multiple activities Act (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 activities Act. The editor 31 accepts user operations on the UI 24 for scenario management. The 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 (see Figure 3, etc.) on the display 243 of the UI 24, which shows the contents of the operations to be automated in the scenario, 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 a scenario. The user selects some or all of the activities Act included in the scenario to instruct the execution of the scenario. The scenario execution operation unit 312 accepts the selection of an activity Act and sends a scenario execution instruction Ce to the execution unit 35, indicating the execution of a scenario corresponding to the selected activity Act.

シナリオ作成部33は、シナリオ管理画面4に対するユーザの操作に応じてシナリオを作成する。より詳細には、ユーザ操作により、アクティビティActにより自動化される人間の各種操作の内容に係る設定を、アクティビティActへの設定として受け付け、当該設定に基づいてアクティビティActを生成する。また、シナリオ作成部33は、生成したアクティビティActに基づいてシナリオ実行指示Cgを実行部35に送る。本実施例では、シナリオ作成部33は、アクティビティActが生成されるごとに、生成した当該アクティビティActの実行を示すシナリオ実行指示Cgを実行部35に送る。なお、シナリオ実行指示Cgは、所定の数のアクティビティActが生成されるごとに実行部35に送られてもよいし、生成されたアクティビティActの実行を求める操作がシナリオ管理画面4に実行されることに応じて実行部35に送られてもよい。また、シナリオ作成部33は、アクティビティActの種類に応じて、当該アクティビティActを対象に含まないシナリオ実行指示Cgを、実行部35に送ってもよい。 The scenario creation unit 33 creates a scenario in response to user operations on the scenario management screen 4. More specifically, the scenario creation unit 33 accepts settings for the activity Act, via user operations, related to the content of various human operations to be automated by the activity Act, 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, each time an activity Act is generated, the scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35 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 may be sent to the execution unit 35 in response to an operation being performed on the scenario management screen 4 requesting the execution of the generated activity Act. Furthermore, 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 in question, depending on the type of activity Act.

実行部35は、エディタ31からのシナリオ実行指示Ceあるいはシナリオ作成部33からのシナリオ実行指示Cgに基づき、シナリオの一部あるいは全部を実行する。デバッガ37は、実行部35がシナリオを実行するときに、実行部35がシナリオの実行に使用する変数を管理する。このデバッガ37は、監視部371および保持部372を有する。監視部371は、実行部35による変数の実体値の取得を監視する。保持部372は、監視部371の指示に基づき、実行部35が取得した実体値を保持する。 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 used by the execution unit 35 to execute a scenario when the execution unit 35 executes the scenario. This debugger 37 has a monitoring unit 371 and a holding unit 372. The monitoring unit 371 monitors the acquisition of the actual values of variables by the execution unit 35. The holding unit 372 holds the actual values acquired by the execution unit 35 based on instructions from the monitoring unit 371.

図3はディスプレイに表示されるシナリオ管理画面の一例を模式的に示す図である。なお、図3に示すシナリオ管理画面4は一例に過ぎず、種々の変更が可能である。また、以下の図で示すシナリオ管理画面4についても同様に変更が可能である。図3に示すように、シナリオ管理画面4は、ユーティリティー操作欄41、モード選択欄43およびシナリオ表示欄45を有する。ユーティリティー操作欄41は、新たに作成したシナリオを、名前を付けて保存するためのボタン411と、編集したシナリオを上書き保存するためのボタン412と、シナリオの一部あるいは全部を実行するためのボタン413とを有する。 Figure 3 is a diagram that schematically illustrates an example of a scenario management screen that is displayed on the display. Note that the scenario management screen 4 shown in Figure 3 is merely an example, and various modifications are possible. The scenario management screens 4 shown in the following figures can also be modified in a similar manner. As shown in Figure 3, the scenario management screen 4 has a utility operation column 41, a mode selection column 43, and a scenario display column 45. The utility operation column 41 has a button 411 for naming and saving a newly created scenario, a button 412 for overwriting and saving an edited scenario, and a button 413 for executing part or all of the scenario.

モード選択欄43は、シナリオ作成モードおよびシナリオ編集モードの一方を選択する操作を受け付ける。つまり、ユーザは、モード選択欄43のシナリオ作成欄431に設けられた展開縮小ボタンを操作(クリック)して、シナリオ作成欄431を展開することで、シナリオ作成モードを選択できる。また、ユーザは、モード選択欄43のシナリオ編集欄432に設けられた展開縮小ボタンを操作(クリック)して、シナリオ編集欄432を展開することでシナリオ編集モードを選択できる。 The mode selection column 43 accepts an operation to select either the scenario creation mode or the scenario editing mode. In other words, the user can select the scenario creation mode by operating (clicking) the expand/collapse button provided in the scenario creation column 431 of the mode selection column 43 to expand the scenario creation column 431. The user can also select the scenario editing mode by operating (clicking) the expand/collapse button provided in the scenario editing column 432 of the mode selection column 43 to expand the scenario editing column 432.

図4A~図4Gはシナリオ作成モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図である。これらの図では、シナリオ作成欄431が展開される一方、シナリオ編集欄432が縮小されている。シナリオ作成モードでは、シナリオの作成に使用できる各種のアクティビティActを示すアイコンがシナリオ作成欄431に表示される。アクティビティActとしては、
・CSV(Comma-Separated Values)形式等で記載された表の取得を示すアクティビティ
・当該表の値を所定の条件で絞り込むアクティビティ
・当該表から値を抽出するアクティビティ
・当該値を出力先(表、ウェブページ、メールアドレス等)に出力するアクティビティ
・所定のウェブページにアクセスするアクティビティ
・ウェブページから画像や文章を取得するアクティビティ
等の種々の具体例が挙げられる。そして、ユーザは、シナリオ作成欄431のアクティビティActをシナリオ表示欄45に配置することで、シナリオを構成するアクティビティActを選択できる。こうして、シナリオ表示欄45に配置された各アクティビティActを含むシナリオを作成することができる。なお、ユーザは、シナリオ作成欄431のアクティビティActをシナリオ表示欄45にドラッグする、シナリオ作成欄のアクティビティActをダブルクリックする、など様々な操作により、シナリオ作成欄431のアクティビティActをシナリオ表示欄に配置させることができる。
4A to 4G are diagrams showing an example of operations that can be performed on the scenario management screen in the scenario creation mode. In these diagrams, the scenario creation field 431 is expanded, while the scenario editing field 432 is contracted. In the scenario creation mode, icons indicating various activities Act that can be used to create a scenario are displayed in the scenario creation field 431. The activities Act include:
Specific examples include an activity that retrieves a table written in CSV (Comma-Separated Values) format or the like, an activity that narrows down the values in the table using specified conditions, an activity that extracts values from the table, an activity that outputs the values to an output destination (a table, a web page, an email address, etc.), an activity that accesses a specified web page, and an activity that retrieves images or text from a web page. The user can select the activity Acts that make up the scenario by placing the activity Acts in the scenario creation field 431 in the scenario display field 45. In this way, a scenario can be created that includes the activity Acts placed in the scenario display field 45. The user can place the activity Acts in the scenario creation field 431 in the scenario display field by various operations, such as dragging the activity Act in the scenario creation field 431 to the scenario display field 45 or double-clicking the activity Act in the scenario creation field.

また、シナリオ作成モードでは、表編集や、ウェブスクレイピングといった作業目的に応じてアクティビティActがユニットUとしてユニット化されている。したがって、ユーザは、作業目的に応じたユニットUをシナリオ表示欄45に配置(ドラッグ)することで、ユニットUを構成するアクティビティActを含むシナリオを作成できる。これによって、シナリオ作成に要するユーザの負担を軽減できる。ただし、シナリオ作成モードにおいて、アクティビティActがユニット化されていることは必須ではない。 In addition, in scenario creation mode, activities Act are organized into units U according to the work purpose, such as table editing or web scraping. Therefore, the user can create a scenario including the activities Act that make up the units U by placing (dragging) the units U according to the work purpose into the scenario display field 45. This reduces the burden on the user required to create a scenario. However, it is not necessary for activities Act to be organized into units in scenario creation mode.

シナリオ作成モードにおいてユーザがシナリオ表示欄45にアクティビティActを配置する操作や、アクティビティActの内容(例えば、使用する変数V)を決定する操作は、シナリオ作成部33(図2)に入力される。そして、シナリオ作成部33は、当該操作を受け付けて、シナリオを作成する。これによって、シナリオ表示欄45におけるアクティビティActの配列順序に従って各アクティビティActを実行するシナリオが作成される。 In scenario creation mode, the user's operations of placing an activity Act in the scenario display field 45 and determining the content of the activity Act (for example, the variable 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 in accordance with the arrangement order of the activity Act in the scenario display field 45.

また、シナリオ作成部33は、シナリオ表示欄45に配置されたアクティビティActの実行を示すシナリオ実行指示Cgを実行部35に送り、実行部35は当該アクティビティActを実行する。つまり、シナリオ作成モードでは、シナリオ作成に並行して当該シナリオに含まれるアクティビティActが実行される。そのため、ユーザは、シナリオ表示欄45に配置したアクティビティActの動作を確認しながら、シナリオを構成するアクティビティActを決定できる。特に、アクティビティActで使用される変数Vの実体値Eが、アクティビティActの実行に伴って取得される。本実施例において、アクティビティの実行に伴う実体値の取得とは、実体値が、当該アクティビティ以外のアクティビティを実行するときに参照可能に、所定の格納領域に保持されることを示す。これによって、ユーザは当該変数Vの実体値Eを確認しつつシナリオを作成できる。この実体値Eの取得について、図4A~図4Gの例を用いて具体的に説明する。なお、シナリオ作成モードにおけるアクティビティActの実行については、ユーザから実行の可否の指示を受け付ける構成であっても良い。例えば、他のファイルへのデータ書き込みを行う、メールを送信する、など、シナリオ作成の段階で実行することが業務上の影響を及ぼすようなアクティビティについては、ユーザに実行の可否を選択させる構成であってもよい。 The scenario creation unit 33 also 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 Act included in the scenario is executed in parallel with the creation of the scenario. Therefore, the user can determine the activity Act that constitutes the scenario while checking the operation of the activity Act placed in the scenario display field 45. In particular, the entity value E of the variable V used in the activity Act is acquired as the activity Act is executed. In this embodiment, acquiring the entity value as the activity Act is executed means that the entity value is stored in a specified storage area so that it can be referenced when executing activities other than the activity in question. This allows the user to create a scenario while checking the entity value E of the variable V. The acquisition of this entity value E will be specifically explained using the examples of Figures 4A to 4G. Note that the execution of an activity Act in scenario creation mode may be configured to accept an instruction from the user regarding whether or not to execute the activity Act. For example, for activities that may have an impact on business operations if performed during the scenario creation stage, such as writing data to another file or sending an email, the user may be allowed to choose whether or not to perform the activities.

図4Aでは、表を抽出するアクティビティAct(1)と、当該表から値を抽出するアクティビティAct(2)とが、シナリオを構成するアクティビティActとして選択されている(すなわち、シナリオ表示欄45に配列されている)。アクティビティAct(1)では、変数V_tが宣言される。ユーザは、当該変数V_tの実体値E_tとして取得すべき表(データ)のパスを入力欄51に入力できる。そして、入力欄51にパスが入力されると、当該パスの表を変数V_tの実体値E_tとして取得するアクティビティAct(1)が設定される。こうしてアクティビティAct(1)が設定されると、シナリオ作成部33は、当該アクティビティAct(1)の実行を示すシナリオ実行指示Cgを、実行部35に送る。そして、実行部35が当該アクティビティAct(1)を実行することで、変数V_tの実体値E_tが取得される。この際、実行部35により取得された変数の実体値をメモリ部22に格納する変数管理が実行されるが、この変数管理の詳細については後述する。 In Figure 4A, activity Act(1), which extracts a table, and activity Act(2), which extracts a value from the table, are selected as activities Act that constitute a scenario (i.e., they are arranged in the scenario display field 45). In activity Act(1), a variable V_t is declared. The user can enter the path of the table (data) to be obtained as the entity value E_t of variable V_t in input field 51. When the path is entered in input field 51, activity Act(1) is set, which obtains the table of the path as the entity value E_t of variable V_t. When activity Act(1) is set in this way, the scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35, which instructs the execution of activity Act(1). Then, the execution unit 35 executes activity Act(1), thereby obtaining the entity value E_t of variable V_t. At this time, variable management is performed by storing the actual values of the variables acquired by the execution unit 35 in the memory unit 22; details of this variable management will be described later.

アクティビティAct(2)では、変数V_v1が宣言され、変数V_v1の実体値E_v1が取得される。ユーザは、当該変数V_v1の実体値E_v1の取得を、入力欄52に入力することにより設定できる。本実施例では、ユーザが入力欄52を選択(クリック)すると、ユーザは入力欄52へ直接入力するか、選択肢から指定して入力欄52へ入力するか、を選択できる。本実施例では、ユーザは「・直接入力」と「・表:V_tの値」との二つの選択肢から一つを選択する。ユーザは、「・直接入力」を選択すると、入力欄52への直接入力をすることが出来る。また、ユーザは、「・表:V_tの値」を選択すると、当該選択により、任意の変数を引数として実体値E_v1を取得することと、変数V_tを引数とすることと、の指定ができる。特に、本実施例では、アクティビティAct(2)において引数として使用できる変数の候補Fが表示される。候補Fとして表示される変数は、例えば、シナリオを実行する際に、当該アクティビティを実行する時点で実体値が取得されている変数である。本実施例ではアクティビティAct(2)を実行する時点で既にアクティビティAct(1)が実行されるため、アクティビティAct(1)の実行により実体値E_tが取得される変数V_tが候補Fとして表示される。なお、候補Fとして表示される変数は、入力欄52の型に応じて表示されても良い。 In activity Act(2), variable V_v1 is declared and the entity value E_v1 of variable V_v1 is obtained. The user can set the entity value E_v1 of variable V_v1 by entering it in input field 52. In this embodiment, when the user selects (clicks) input field 52, the user can choose to enter the value directly into input field 52 or select it from options and enter it into input field 52. In this embodiment, the user selects one of two options: "Direct Input" or "Table: Value of V_t." By selecting "Direct Input," the user can enter the value directly into input field 52. Furthermore, by selecting "Table: Value of V_t," the user can specify whether to obtain entity value E_v1 using any variable as an argument, or to use variable V_t as an argument. In particular, in this embodiment, 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 entity values are acquired at the time the activity is executed when a scenario is executed. In this embodiment, activity Act(1) is already being executed when activity Act(2) is executed, so the variable V_t whose entity value E_t is acquired by executing 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.

図4Bでは、選択肢「・表:V_tの値」が選択された場合、すなわち、引数を使って実体値E_v1を取得することと、当該引数として使用可能な変数の候補Fのうちから変数V_t(表)が選択された場合が示されている。本実施例では、アクティビティAct(1)において、実体値E_tとして表が取得されるため、変数V_t(表)に含まれる値を実体値E_v1として取得することが選択された場合が示されている。つまり、図4Bのシナリオ管理画面4では、複数の候補Fから選択された変数V_tの実体値E_t(表)が表示される。したがって、ユーザは、アクティビティAct(2)の引数として選択した候補Fがどのような実体値E_tを取得する変数であるか、を確認できる。また、本実施例における変数V_tは表である。したがって、ユーザは、表示される実体値E_t(表)に含まれるセルの一つを指定することで、入力欄52に、変数V_t(表)に含まれるセルから変数V_v1の実体値E_v1を取得することを設定できる。図4Cでは、変数V_tの実体値E_tのうちから、ユーザにより1行目でc列目の「3」が入ったセルが指定された場合が示されている。この状態で、OKボタンが操作(クリック)されると、変数V_tの実体値E_tとして取得されるデータ(実体データ)のうちから1行目でc列目の値を、変数V_v1の実体値E_v1として取得するアクティビティAct(2)が設定される(図4D)。こうしてアクティビティAct(2)が設定されると、シナリオ作成部33は、当該アクティビティAct(2)の実行を示すシナリオ実行指示Cgを、実行部35に送る。そして、実行部35が当該アクティビティAct(2)を実行することで、変数V_v1の実体値E_v1が取得される。なお、本実施例では、変数V_tの実体値E_tが表示されるが、入力欄52が受け付ける型に応じて実体値E_tが表示される構成であっても良い。例えば、本実施例におけるアクティビティAct(2)は値を抽出するアクティビティActであり、入力欄52では、変数V_tに含まれる値が抽出されるような入力を受け付けるため、ユーザが変数V_t中の抽出元を指定しやすいように実体値E_tが表示される。アクティビティAct(2)が変数V_tの実体値E_tとして取得されるデータを特に加工せず任意のファイルに出力するようなアクティビティである場合、入力欄52では出力されるデータが正しく指定される入力がされれば良いため、必ずしも実体値E_tを確認する必要が無い。このように入力欄52が受け付ける方に応じて、実体値E_tが表示されるか否か、また表示される場合にその表示態様が変わる構成であっても良い。 Figure 4B shows the case where the option "Table: Value of V_t" is selected, i.e., the entity value E_v1 is obtained using an argument, and the variable V_t (Table) is selected from the candidate variables F that can be used as the argument. In this example, a table is obtained as the entity value E_t in activity Act(1), so the value contained in variable V_t (Table) is selected as the entity value E_v1. That is, the scenario management screen 4 in Figure 4B displays the entity value E_t (Table) of variable V_t selected from multiple candidates F. This allows the user to confirm the type of entity value E_t that candidate F, selected as the argument for activity Act(2), obtains. In this example, variable V_t is a table. Therefore, by specifying one of the cells contained in the displayed entity value E_t (Table), the user can specify in input field 52 that the entity value E_v1 of variable V_v1 is to be obtained from a cell contained in variable V_t (Table). FIG. 4C illustrates a case in which the user designates a cell containing "3" in the first row and c column of the entity value E_t of the variable V_t. When the OK button is clicked in this state, activity Act(2) is set, which acquires the value in the first row and c column of the data (entity data) acquired as the entity value E_t of the variable V_t as the entity value E_v1 of the variable V_v1 ( FIG. 4D ). Once activity Act(2) is set in this manner, the scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35, which instructs the execution unit 35 to execute the activity Act(2). The execution unit 35 then executes activity Act(2), thereby acquiring the entity value E_v1 of the variable V_v1. While the present embodiment displays the entity value E_t of the variable V_t, the entity value E_t may be displayed in accordance with the type accepted by the input field 52. For example, in this embodiment, activity Act(2) is an activity that extracts a value, and input field 52 accepts input that extracts the value contained in variable V_t, so the entity value E_t is displayed to make it easier for the user to specify the source of extraction within variable V_t. If activity Act(2) is an activity that outputs the data obtained as the entity value E_t of variable V_t to an arbitrary file without any special processing, input in input field 52 only needs to correctly specify the data to be output, and it is not necessarily necessary to check the entity value E_t. In this way, the configuration may be such that whether or not the entity value E_t is displayed, and if it is displayed, the display format changes depending on what is accepted by input field 52.

図4Eでは、アクティビティAct(1)、Act(2)に加えて、メールを送るアクティビティAct(3)が、シナリオを構成するアクティビティActとして選択されている。図4Eに示される例では、メールアドレスと添付データの参照先とが変数として指定され、ユーザがアクティビティAct(3)を設定することにより、各変数を宣言することと、当該変数を引数としてメールを送信することとが設定される。アクティビティAct(3)では、メールアドレスとしての変数V_v2が宣言され、ユーザは、当該変数V_v2の実体値E_v2の取得を入力欄53への入力で設定できる。さらに、添付データのファイルパスとしての変数V_v3が宣言され、変数V_v3の実体値E_v3の取得を、入力欄54への入力で設定できる。特に、図4Fに示すように、ユーザが入力欄54を選択(クリック)すると、変数V_v3の実体値E_v3として取得できる候補Fが表示される。具体的には、変数V_t(表)に含まれる値と、変数V_v1とが、候補Fとして表示される。そして、入力欄53、54のそれぞれに入力がされ、変数V_v2の実体値E_v2の取得と、変数V_v3の実体値E_v3の取得とが設定されると、各実体値E_v2、E_v3が取得されて、実体値E_v2に示されるメールアドレスE_v2宛に実体値E_v3に示される添付データが添付されたメールを送るアクティビティAct(3)が設定される(図4G)。これに対して、シナリオ作成部33は、当該アクティビティAct(3)の実行を示すシナリオ実行指示Cgを、実行部35に送る。そして、実行部35が当該アクティビティAct(3)を実行することで、変数V_v2、V_v3の実体値E_v2、E_v3が取得される。なお、シナリオ作成モードでアクティビティAct(3)を実行する際には、メールの送信は行わなくても構わない。これによって、不要なメールが送信されるのを回避できる。 In Figure 4E, in addition to activities Act(1) and Act(2), activity Act(3), which sends an email, is selected as an activity Act that constitutes the scenario. In the example shown in Figure 4E, an email address and a reference destination for attached data are specified as variables, and the user sets activity Act(3) to declare each variable and send an email using the variable as an argument. In activity Act(3), variable V_v2 is declared as an email address, and the user can set the entity value E_v2 of variable V_v2 by entering it in input field 53. Furthermore, variable V_v3 is declared as the file path of the attached data, and the entity 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 obtained as the entity value E_v3 of variable V_v3 is displayed. Specifically, the values contained in the variable V_t (table) and the variable V_v1 are displayed as candidates F. Then, when input is made into input fields 53 and 54, and the entity value E_v2 of variable V_v2 and the entity value E_v3 of variable V_v3 are set, the entity values E_v2 and E_v3 are acquired, and activity Act(3) is set, which sends an email with the attached data indicated in the entity value E_v3 to the email address E_v2 indicated in the entity value E_v2 ( FIG. 4G ). In response to this, the scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35, which instructs the execution of activity Act(3). Then, the execution unit 35 executes activity Act(3), thereby acquiring the entity values E_v2 and E_v3 of variables V_v2 and V_v3. Note that when executing activity Act(3) in scenario creation mode, email does not need to be sent. This prevents unnecessary emails from being sent.

ところで、上述の通り、シナリオ作成モードの実行と並行して、取得された変数Vの実体値Eを管理する変数管理が実行される。続いては、図5、図6および図7を用いて、この変数管理について説明する。ここで、図5は変数管理の実行時における演算部の各機能部の動作を示すブロック図であり、図6は変数管理のために実行部が実行する制御の一例を示すフローチャートであり、図7は変数管理のために監視部が実行する制御の一例を示すフローチャートである。 As mentioned above, variable management, which manages the actual value E of the acquired variable V, is executed in parallel with the execution of the scenario creation mode. 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 executed by the execution unit for variable management, and Figure 7 is a flowchart showing an example of control executed by the monitoring unit for variable management.

図5に示すように、シナリオ作成モードにおいて、メモリ部22には第一格納領域R1と第二格納領域R2とが確保される。 As shown in Figure 5, in scenario creation mode, a first storage area R1 and a second storage area R2 are allocated in the memory unit 22.

第一格納領域R1は、実行部35によりアクセス可能な領域である。実行部35はアクティビティActを実行することによって、変数Vの実体値Eを第一格納領域R1に保持させる。このとき、第一格納領域R1に保持される実体値Eは、実行部35が変数Vを含むアクティビティを実行するときに参照される。すなわち、ある一のアクティビティAct(例えばアクティビティAct(1))を実行することによって第一格納領域R1に保持される実体値Eは、別のアクティビティAct(例えばアクティビティAct(2))を実行するときに参照可能に、保持される。第一格納領域R1は、実行部35が、シナリオを実行するときにアクセス可能な領域としてメモリ部22に確保されるため、実行部35がシナリオを実行するタイミングに対応する期間確保され、当該期間が終了するときに解放される。シナリオ作成モードでは、随時、シナリオ作成部33からシナリオ実行指示Cgが実行部35に送られるため、シナリオ作成モードの間、メモリ部22に第一格納領域R1が確保されてもよい。また、シナリオ実行操作部312より送られるシナリオ実行指示Ceに基づいて実行部35がシナリオを実行するときは、実行部35がシナリオ実行指示Ceに示されるアクティビティの実行を開始してからシナリオ実行指示Ceに示されるアクティビティ全ての実行を完了するまでの間、メモリ部22に第一格納領域R1が確保されてもよい。 The first storage area R1 is an area accessible by the execution unit 35. By executing an activity Act, the execution unit 35 stores the entity value E of the variable V in the first storage area R1. At this time, the entity value E stored in the first storage area R1 is referenced when the execution unit 35 executes an activity including the variable V. In other words, the entity value E stored in the first storage area R1 by executing one activity Act (e.g., activity Act(1)) is stored so that it can be referenced when another activity Act (e.g., activity Act(2)) is executed. The first storage area R1 is secured in the memory unit 22 as an area accessible by the execution unit 35 when executing a scenario, and is secured for a period corresponding to the timing when the execution unit 35 executes the scenario and is released when the period ends. In the scenario creation mode, a scenario execution instruction Cg is sent from the scenario creation unit 33 to the execution unit 35 at any time, and therefore the first storage area R1 may be secured in the memory unit 22 during the 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, a first storage area R1 may be secured in the memory unit 22 from the time the execution unit 35 starts executing the activities indicated in the scenario execution instruction Ce until the time the execution of all activities indicated in the scenario execution instruction Ce is completed.

第一格納領域R1には、デバッガ37もアクセス可能である。上述の通り、デバッガ37は監視部371と保持部372とを有する。監視部371は実行部35により変数Vの実体値Eが取得される、すなわち、変数Vの実体値Eが第一格納領域R1に保持されるのを監視する。そして、保持部372は、監視部371が監視結果に応じて生成する指示に基づいて、第一格納領域R1と第二格納領域R2とにアクセスして、第一格納領域R1に保持される実体値Eを第二格納領域R2に保持させる。 The debugger 37 can also access the first storage area R1. As described above, the debugger 37 has a monitoring unit 371 and a holding unit 372. The monitoring unit 371 monitors whether the execution unit 35 acquires the actual value E of the variable V, i.e., whether the actual value E of the variable V is being held in the first storage area R1. The holding unit 372 then accesses the first storage area R1 and the second storage area R2 based on instructions generated by the monitoring unit 371 in response 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.

第二格納領域R2は、メモリ部22、すなわち、揮発性記憶素子の所定領域に確保される領域であり、デバッガ37の保持部372によりアクセス可能な領域である。第二格納領域R2に保持される実体値Eは、当該実体値Eを参照する変数Vと関連付けられる。より詳細には、第二格納領域R2は、実行部35によりアクティビティActが実行されるときに当該アクティビティActに含まれる変数Vとして参照される実体値Eを、当該変数Vと関連付けて、保持する。第二格納領域R2は、変数Vの実体値Eが第一格納領域R1に保持されるのに応じて実体値Eを保持させる保持部372によってアクセス格納な領域としてメモリ部22に確保されるため、少なくとも、第一格納領域R1がメモリ部22に確保される期間は、メモリ部22に確保される。これに加えて、後述するように、第二格納領域R2はエディタ31によってアクセス可能な領域でもあるため、第一格納領域R1がメモリ部22に確保される期間以外にも、メモリ部22に確保される。 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 retention unit 372 of the debugger 37. The entity value E retained in the second storage area R2 is associated with the variable V that references the entity value E. More specifically, the second storage area R2 retains the entity value E referenced as a variable V included in an 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 retention unit 372, which retains the entity value E in response to the entity value E of the variable V being retained in the first storage area R1, and is therefore reserved in the memory unit 22 at least for the period during which the first storage area R1 is reserved in the memory unit 22. In addition, as described below, the second storage area R2 is also an area accessible by the editor 31, and is therefore reserved in the memory unit 22 even during periods other than those in which the first storage area R1 is reserved in the memory unit 22.

シナリオ作成モードが開始されると、図6に示すように、実行部35はアクティビティActにおいて変数が宣言されたかを確認する(ステップS101)。そして、変数Vの宣言を確認すると(ステップS101で「YES」)、実行部35は、宣言された変数Vに対して第一格納領域R1をメモリ部22に確保する(ステップS102)。続いて、実行部35は、当該変数Vの実体値Eを第一格納領域R1に取得する(ステップS103)。すなわち、当該変数Vの実体値Eを、実行部35により参照可能に、第一格納領域R1に保持させる。実体値Eは、当該変数Vが不要となるまで、第一格納領域R1に保持される。一方、当該変数Vが不要となると(ステップS104で「YES」)、実行部35は第一格納領域R1を解放して、実体値Eはメモリ部22から消去される。なお、シナリオ作成モードで宣言される変数Vが不要になるタイミングとしては、代表的には、ユーザがシナリオ作成モードを終了する操作を行って、実行部35がシナリオ作成モードから離脱するタイミングが挙げられる。 When the scenario creation mode is initiated, as shown in FIG. 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). Next, the execution unit 35 acquires the entity value E of the variable V in the first storage area R1 (step S103). That is, the entity value E of the variable V is stored in the first storage area R1 so that it can be referenced by the execution unit 35. The entity value E is stored 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 entity value E is erased from the memory unit 22. A typical example of when the variable V declared in the scenario creation mode becomes unnecessary is when the user performs an operation to end the scenario creation mode and the execution unit 35 exits the scenario creation mode.

また、シナリオ作成モードが開始されると、図7に示すように、監視部371は実行部35による変数Vの実体値Eの取得を監視する(ステップS201)。実行部35による変数Vの実体値Eの取得が確認されると(ステップS201で「YES」)、監視部371は、ステップS202、S203を保持部372に実行させる。つまり、保持部372は、メモリ部22に第二格納領域R2を確保して(ステップS202)、第一格納領域R1の実体値Eを第二格納領域R2にコピーする(ステップS203)。これによって、実体値Eが変数Vと関連付けられて第二格納領域R2に保持される。 Furthermore, when the scenario creation mode is initiated, as shown in FIG. 7, the monitoring unit 371 monitors the acquisition of the entity value E of the variable V by the execution unit 35 (step S201). When it is confirmed that the execution unit 35 has acquired the entity value E of the variable V ("YES" in step S201), the monitoring unit 371 causes the holding unit 372 to execute steps S202 and S203. That is, the holding unit 372 allocates a second storage area R2 in the memory unit 22 (step S202) and copies the entity value E of the first storage area R1 to the second storage area R2 (step S203). As a result, the entity value E is associated with the variable V and held in the second storage area R2.

図8は図6および図7のフローチャートに基づき実行される変数管理の動作を模式的に示す図である。図8を用いて上述の動作を時系列に沿って整理しておく。作成中のシナリオに含まれるアクティビティActで変数Vが宣言されると、実行部35は、当該変数Vに対応する第一格納領域R1をメモリ部22に確保して(ステップS102)、当該変数Vの実体値Eを第一格納領域R1に取得する(ステップS103)。また、監視部371は、実体値Eの取得を確認すると、メモリ部22での第二格納領域R2の確保と(ステップS202)、第一格納領域R1から第二格納領域R2への実体値Eのコピーとを(ステップS203)、保持部372に実行させる。これによって、実体値Eは変数Vと関連付けられて、第二格納領域R2に保持される。ステップS105では、変数Vが不要になったのに伴って、第一格納領域R1が解放される。この第一格納領域R1の解放後においても、第二格納領域R2には実体値Eが保持されている。 Figure 8 is a diagram that schematically illustrates the variable management operations performed based on the flowcharts of Figures 6 and 7. Figure 8 summarizes the above operations in chronological order. When a variable V is declared in an activity Act included in a 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 entity value E of the variable V in the first storage area R1 (step S103). Furthermore, upon confirming the acquisition of the entity value E, the monitoring unit 371 causes the retention unit 372 to allocate a second storage area R2 in the memory unit 22 (step S202) and copy the entity value E from the first storage area R1 to the second storage area R2 (step S203). As a result, the entity value E is associated with the variable V and stored in the second storage area R2. In step S105, the first storage area R1 is released as the variable V is no longer needed. Even after the first storage area R1 is released, the actual value E is still held in the second storage area R2.

なお、シナリオ作成モードで複数の変数Vが宣言される場合には、複数の変数Vのそれぞれについて、図6および図7のフローチャートが実行される。つまり、図4A~図4Eに示す例では、変数V_t、変数V_v1、変数V_v2および変数V_v3のそれぞれについて、図6および図7のフローチャートが実行される。その結果、メモリ部22では、図9に示す実体値Eが保持されることとなる。ここで、図9はメモリ部に保持される実体値の一例を模式的に示す図である。図4A~図4Eの例について図6および図7のフローチャートを実行すると、図9に示すように、第二格納領域R2(1)、R2(2)、R(3)、R(4)には、変数V_t、V_v1、V_v2、V_v3に関連付けられて、これらの実体値E_t、E_v1、E_v2、E_v3が保持される。 When multiple variables V are declared in scenario creation mode, the flowcharts of FIGS. 6 and 7 are executed for each of the multiple variables V. That is, in the example shown in FIGS. 4A to 4E, the flowcharts of FIGS. 6 and 7 are executed for each of the variables V_t, V_v1, V_v2, and V_v3. As a result, the entity value E shown in FIG. 9 is stored in the memory unit 22. Here, FIG. 9 is a diagram schematically illustrating an example of an entity value stored in the memory unit. When the flowcharts of FIGS. 6 and 7 are executed for the example shown in FIGS. 4A to 4E, as shown in FIG. 9, the entity values E_t, E_v1, E_v2, and E_v3 are associated with the variables V_t, V_v1, V_v2, and V_v3 and stored in the second storage areas R2(1), R2(2), R(3), and R(4).

ところで、図3を用いて説明した通り、シナリオ管理画面4のモード選択欄43では、シナリオ作成モードの他に、シナリオ編集モードを選択できる。そして、シナリオ編集モードを選択することで、上記の手順でシナリオ作成モードにより作成したシナリオを編集することができる。 As explained using Figure 3, in addition to scenario creation mode, the mode selection field 43 on the scenario management screen 4 allows you to select scenario editing mode. By selecting scenario editing mode, you can edit the scenario created in scenario creation mode using the procedure described above.

図10A~図10Eはシナリオ編集モードにおいてシナリオ管理画面に実行できる操作の一例を模式的に示す図である。これらの図では、シナリオ編集欄432が展開される一方、シナリオ作成欄431が縮小されている。また、図11はシナリオ編集モードの実行時における演算部の各機能部の動作を示すブロック図である。 Figures 10A to 10E are diagrams showing 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 contracted. Figure 11 is a block diagram showing the operation of each functional part of the calculation unit when the scenario editing mode is running.

図11に示すように、シナリオ編集モードでは、メモリ部には、第二格納領域R2が確保される。図11は、シナリオ作成モードが終了した後にシナリオ編集モードに移行したときの演算部の各機能部の動作を示し、シナリオ作成モードにおける演算部の各機能部の動作を示す図5に対して、第一格納領域R1は解放されてメモリ部22から消失している一方、第二格納領域R2はメモリ部22に継続的に確保される。第二格納領域R2は、保持部372によって、メモリ部22に継続的に確保される。これにより、第二格納領域R2には、実行部35がアクティビティActを実行するときに変数Vに関連付けて保持された実体値Eが継続的に保持される。 As shown in Figure 11, in scenario editing mode, a second storage area R2 is secured in the memory unit. Figure 11 shows the operation of each functional unit of the calculation unit when transitioning to scenario editing mode after ending scenario creation mode. Compared to Figure 5, which shows the operation of each functional unit of the calculation unit in scenario creation mode, the first storage area R1 is released and disappears from the memory unit 22, while the second storage area R2 is continuously secured in the memory unit 22. The second storage area R2 is continuously secured in the memory unit 22 by the retention unit 372. As a result, the entity value E stored in association with the variable V when the execution unit 35 executes the activity Act is continuously held in the second storage area R2.

第二格納領域R2は、上述した保持部372に加え、エディタ31によりアクセス可能な領域である。エディタ31は、第二格納領域R2にアクセスして、変数Vと関連付けて保持される実体値Eを参照する。図11に示すように、エディタ31は、実行部35を介さず、第二格納領域R2にアクセスする。このため、エディタ31は、実行部35によるシナリオの実行と並行して、変数Vに関連付けた保持される実体値Eを参照することができる。また、エディタ31は、実行部35によりシナリオが実行される間以外にも、変数Vに関連付けて保持される実体値Eを参照することができる。第二格納領域R2はシナリオを管理するためのエディタ31によってアクセスされるため、第二格納領域R2は、少なくとも、実行部35によるアクティビティActの実行が開始されてから、エディタ31によりシナリオを管理するための操作を受け付ける期間が終了するまでの間、メモリ部22に確保される。本実施例では、第二格納領域R2は、演算部21によるシナリオ管理プログラム12の実行を開始したときにメモリ部22に確保され、演算部21によるシナリオ管理プログラム12の実行が終了するときに解放される。 The second storage area R2 is an area accessible by the editor 31 in addition to the above-mentioned retention unit 372. The editor 31 accesses the second storage area R2 to reference the entity value E stored in association with the variable V. As shown in FIG. 11 , the editor 31 accesses the second storage area R2 without going through the execution unit 35. Therefore, the editor 31 can reference the entity value E stored in association with the variable V in parallel with the execution unit 35 executing the scenario. The editor 31 can also reference the entity value E stored in association with the variable V even outside the time when the execution unit 35 is executing the scenario. Because 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 time the execution unit 35 starts executing the activity Act 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.

シナリオ作成モードにおいてユーザがシナリオ表示欄45にアクティビティActを配置する操作や、アクティビティActの内容を編集する操作は、編集操作部311(図11)に入力される。そして、編集操作部311は、シナリオ表示欄45に対する操作を受け付けて、当該操作に応じてシナリオを編集する。 In scenario creation mode, operations by the user to place an activity Act in the scenario display field 45 and to edit the content of the activity Act are input to the editing operation unit 311 (Figure 11). The editing operation unit 311 then accepts operations on the scenario display field 45 and edits the scenario in accordance with those operations.

図10Aでは、図4A~図4Eで例示したシナリオ作成モードによって作成されたシナリオが編集対象として選択されて、シナリオ表示欄45に表示されている。また、シナリオ編集欄432では、シナリオに対して追加できる各種のアクティビティActを示すアイコンが表示されている。 In Figure 10A, a scenario created using the scenario creation mode illustrated in Figures 4A to 4E is selected as the target for editing and is displayed in the scenario display field 45. In addition, the scenario editing field 432 displays icons indicating various activities (Act) that can be added to the scenario.

図10Bでは、シナリオに含まれる複数のアクティビティAct(1)~Act(3)のうち、アクティビティAct(2)への編集操作が示されている。具体的には、アクティビティAct(2)で宣言される変数V_v1の実体値E_v1の取得に関するデータが編集されている。特に、ユーザによる入力欄52の選択(クリック)によって、アクティビティAct(2)で引数として使用できる候補Fが表示されている。 Figure 10B shows an editing operation for activity Act(2), one of the multiple activities Act(1) to Act(3) included in the scenario. Specifically, data related to obtaining the entity value E_v1 of variable V_v1 declared in activity Act(2) is being edited. In particular, when the user selects (clicks) input field 52, a candidate F that can be used as an argument in activity Act(2) is displayed.

図10Cでは、引数を用いて実体値E_v1を取得することと、当該引数として候補Fのうちから変数V_tが選択された場合が示されている。つまり、図10Cのシナリオ管理画面4では、候補Fから選択された変数V_tの実体値E_tが表示される。すなわち、候補Fから変数V_tが選択されることにより、表示対象として変数V_tが指定される。変数V_tは、複数の値から構成される表である実体値E_tを参照するため、実体値E_tの表示として、当該表に含まれる複数の値が表示される。このとき、編集操作部311(図11)は、第二格納領域R2に保持されている実体値E_tを読み出して、当該実体値E_tをシナリオ管理画面4に表示する。これによって、実体値E_tを取得するためのアクティビティAct(1)の実行を省略しつつ、アクティビティAct(2)の編集で実体値E_tを確認することができる。 Figure 10C shows the case where an entity value E_v1 is obtained using an argument, and a variable V_t is selected as the argument from among candidates F. That is, the scenario management screen 4 in Figure 10C displays the entity value E_t of the variable V_t selected from candidate F. That is, by selecting variable V_t from candidate F, variable V_t is designated as the display target. Because variable V_t references entity value E_t, which is a table consisting of multiple values, the display of entity value E_t displays the multiple values contained in the table. At this time, the editing operation unit 311 (Figure 11) reads out the entity value E_t stored in the second storage area R2 and displays the entity value E_t on the scenario management screen 4. This allows the execution of activity Act(1) to obtain the entity value E_t to be omitted, while the entity value E_t can be confirmed by editing activity Act(2).

図10Cに示されるシナリオ管理画面4において、ユーザは、この実体値E_tに含まれる値として、実体値E_tとして表示される表に含まれるセルの一つを指定する操作を行う。編集操作部311は、表に含まれるセルが指定される操作を受け付けると、当該操作に基づいて変数V_v1の実体値E_v1の参照先を変更する。すなわち、入力欄52に参照先を示す情報を直接入力するのに代えて、複数の値から構成される実体値E_tの表示に対する操作を受け付けることによって、変数V_tの参照先のデータに含まれる複数の値のうちの所望の値を参照するアクティビティが設定される。具体的には、図10Dでは、変数V_tの実体値E_tのうちから、2行目でb列目の「5」が選択された場合が示されている。この状態で、OKボタンが操作(クリック)されると、変数V_tとして取得される実体値E_tを構成する複数の値のうちから2行目でb列目の値を、変数V_v1の実体値E_v1として取得するようにアクティビティAct(2)の内容が変更される(図10E)。こうして、アクティビティAct(2)を実行するときに変数V_v1の実体値E_v1として取得されるデータを変更できる。 On 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 entity value E_t as a value included in this entity value E_t. When the editing operation unit 311 accepts the operation to specify a cell in the table, it changes the reference of the entity value E_v1 of the variable V_v1 based on the operation. That is, instead of directly entering information indicating the reference in the input field 52, an activity is set that references a desired value from among the multiple values included in the data referenced by the variable V_t by accepting an operation on the display of the entity value E_t, which is composed of multiple values. Specifically, Figure 10D shows the case where "5" in the second row, column b is selected from among the entity values 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 so that the value in the second row, column b from among the multiple values constituting the entity value E_t acquired as the variable V_t is acquired as the entity value E_v1 of the variable V_v1 (Figure 10E). In this way, the data obtained as the entity value E_v1 of variable V_v1 can be changed when activity Act(2) is executed.

図12はシナリオ編集モードにおいて編集操作部が実行する変数表示の一例を示すフローチャートである。上述の図10B、図10Cおよび図10Dに示した変数Vの実体値Eの表示は、図12のフローチャートに従って実行される。ステップS301では、編集操作部311は、ユーザにより表示を要求する変数Vの指定があるかを確認する。例えば、図10Bに示した指定操作(候補Fから変数を選択する操作)がユーザによって実行されると(ステップS301で「YES」)、編集操作部311は、指定された変数Vの実体値Eが第二格納領域R2に格納されているかを確認する(ステップS302)。実体値が格納されている場合(ステップS302で「YES」の場合)には、図10Cおよび図10Dに示したように、編集操作部311は、指定された変数Vの実体値Eをディスプレイ243に表示する(ステップS303)。なお、図10A~図10Eの例では示していないが、変数Vの実体値Eがメモリ部22において第二格納領域R2に格納されていない場合も想定される。このような場合には、編集操作部311は、ステップS302で「NO」と判断して、変数Vの実体値Eが存在しない旨をディスプレイ243に表示する(ステップS304)。なお、本フローチャートでは、変数Vが指定されたときに変数Vの実体値Eが第二格納領域R2に格納されているかを確認するが、変数Vが指定されるより前に、表示されるシナリオに含まれる各変数Vについて第二格納領域R2に当該変数に関連付けられた実体値Eが保持されているか否かを判定して、第二格納領域R2に実体値Eが格納されているか否かに応じた表示がなされても良い。 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 entity 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 for which display is requested. For example, when the user performs the specification operation shown in Figure 10B (operation of selecting a variable from candidates F) ("YES" in step S301), the editing operation unit 311 checks whether the entity value E of the specified variable V is stored in the second storage area R2 (step S302). If an entity value is stored ("YES" in step S302), the editing operation unit 311 displays the entity value E of the specified variable V on the display 243 (step S303), as shown in Figures 10C and 10D. Although not shown in the examples of Figures 10A to 10E, it is also possible that the entity 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 a message indicating that the entity value E of variable V does not exist (step S304). Note that in this flowchart, when a variable V is specified, it is confirmed whether the entity value E of variable V is stored in the second storage area R2. However, before the variable V is specified, it may be determined whether the entity value E associated with each variable V included in the displayed scenario is held in the second storage area R2, and a display indicating whether the entity value E is stored in the second storage area R2 is displayed.

以上に説明する実施形態では、シナリオに含まれるアクティビティActの実行に伴って、実行部35はアクティビティActで参照する変数Vの実体値Eを第一格納領域R1に取得する(ステップS103)。すなわち、実行部35はアクティビティActで参照する変数Vの実体値Eを、他のアクティビティActを実行するときに参照可能に、第二格納領域R1に保持させる。また、保持部372が当該実体値Eを変数Vと関連付けて、シナリオを管理するためのエディタ31によってアクセス可能な第二格納領域R2に保持させる(ステップS203)。したがって、ユーザはシナリオを管理するときに、エディタ31によって、実行部35を介さずに変数Vの実体値Eにアクセスすることができる。 In the embodiment described above, as an activity Act included in a scenario is executed, the execution unit 35 acquires the entity value E of the variable V referenced by the activity Act in the first storage area R1 (step S103). That is, the execution unit 35 stores the entity value E of the variable V referenced by the activity Act in the second storage area R1 so that it can be referenced when another activity Act is executed. The storage unit 372 also associates the entity value E with the variable V and stores it in the second storage area R2 accessible by the editor 31 for managing scenarios (step S203). Therefore, when managing a scenario, the user can access the entity value E of the variable V using the editor 31 without going through the execution unit 35.

また、第二格納領域R2は、第一格納領域R1の解放後も、実体値Eを保持する(図8のステップS105)。かかる構成ではシナリオの作成が終了して(すなわち、シナリオ作成モードが終了して)、実体値Eを取得した第一格納領域R1が解放された後であっても、シナリオに含まれるアクティビティActで参照する変数Vの実体値Eを第二格納領域R2から読み出すことができる。したがって、第一格納領域R1が解放された後であってもユーザはシナリオを管理するときに、アクティビティActで参照される変数Vの実体値Eにアクセスすることができる。 Furthermore, the second storage area R2 retains the entity value E even after the first storage area R1 is released (step S105 in Figure 8). With this configuration, even after scenario creation is completed (i.e., scenario creation mode is completed) and the first storage area R1, from which the entity value E was acquired, is released, the entity value E of the variable V referenced by 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 entity value E of the variable V referenced by the activity Act when managing a scenario.

また、編集操作部311が具備されている。この編集操作部311は、シナリオにより自動化される操作の内容を示す表示として、シナリオに含まれる変数Vについて、当該変数Vに関連付けて第二格納領域R2に保持される実体値Eをディスプレイ243に表示する(図10C、図10D)。かかる構成では、ユーザは、管理対象となるシナリオに含まれる変数Vの実体値Eを確認しつつシナリオにより自動化される操作の内容を確認することができる。 An editing operation unit 311 is also provided. This editing operation unit 311 displays on the display 243 the entity value E associated with a variable V included in the scenario and stored in the second storage area R2, as a display showing the content of the operation automated by the scenario (Figures 10C and 10D). With this configuration, the user can check the entity value E of the variable V included in the scenario being managed and confirm the content of the operation automated by the scenario.

また、編集操作部311は、変数Vに関連付けて第二格納領域R2に保持される実体値Eが無い場合(ステップS302で「NO」の場合)には、その旨をディスプレイ243に表示する。かかる構成では、ユーザは、管理対象となるシナリオに含まれる変数Vの実体値Eの有無を容易に把握することができる。 Furthermore, if there is no entity value E associated with the variable V and stored in the second storage area R2 ("NO" in step S302), the editing operation unit 311 displays this on the display 243. With this configuration, the user can easily determine whether or not there is an entity value E for the variable V included in the scenario to be managed.

また、シナリオに含まれるアクティビティActの設定を受け付けてアクティビティActを作成するシナリオ作成部33が具備されている。このシナリオ作成部33は、作成したアクティビティActに基づいてシナリオ実行指示Cgを実行部35に送る。かかる構成では、作成中のシナリオに設定されたアクティビティActの実行に伴って、当該アクティビティActで使用される変数Vの実体値Eを取得して(ステップS103)、第二格納領域R2に保持しておくことができる(ステップS203)。アクティビティActの設定は、例えば、アクティビティActの内容の決定を含む。なお、シナリオ作成部は、シナリオ表示欄へのアクティビティActの配置(作成したアクティビティActの処理順の設定)など、シナリオの作成に係る操作を受け付けることができる。このとき、シナリオ実行指示Cgは、作成したアクティビティActに基づくものに限られず、シナリオの作成状況に応じたシナリオ実行指示Cgが送られても良い。 The scenario creation unit 33 also includes a scenario creation unit that accepts settings for activity Acts included in the scenario and creates the activity Acts. The scenario creation unit 33 sends a scenario execution instruction Cg to the execution unit 35 based on the created activity Act. With this configuration, as an activity Act set in the scenario being created is executed, the actual value E of the variable V used in the activity Act can be acquired (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 field (setting the processing order of the created activity Acts). In this case, the scenario execution instruction Cg is not limited to being based on the created activity Act; a scenario execution instruction Cg that corresponds to the scenario creation status can also be sent.

また、編集操作部311は、表示対象となる変数Vを指定する変数指定操作(ステップS301)を受け付けると、変数Vに関連付けられた実体値Eを第二格納領域R2から読み出してディスプレイ243に表示する。かかる構成では、ユーザは、ディスプレイ243を介して変数指定操作を編集操作部311に対して実行するといった簡単な作業により、変数Vの実体値Eを確認することができる。 Furthermore, when the editing operation unit 311 receives a variable designation operation (step S301) that designates a variable V to be displayed, it reads the entity value E associated with the variable V from the second storage area R2 and displays it on the display 243. In this configuration, the user can check the entity value E of the variable V by simply performing a variable designation operation on the editing operation unit 311 via the display 243.

また、実行部35が第一格納領域R1に変数Vの実体値Eを取得する、すなわち第一格納領域R1に実体値Eを保持させることを監視する監視部371が具備されている。この監視部371は、実行部35により第一格納領域R1へ変数Vの実体値Eが保持されたことを確認する(ステップS201)と、保持部372が、第一格納領域R1の実体値Eを第二格納領域R2に保持させる(ステップS203)。かかる構成では、実行部35により取得された変数Vの実体値Eの第二格納領域R2への保持を監視部371の機能によって確実に実行できる。 The system also includes a monitoring unit 371 that monitors the execution unit 35's acquisition of the entity value E of the variable V in the first storage area R1, i.e., the storage of the entity value E in the first storage area R1. When the monitoring unit 371 confirms that the execution unit 35 has stored the entity value E of the variable V in the first storage area R1 (step S201), the storage unit 372 stores the entity value E in the first storage area R1 in the second storage area R2 (step S203). With this configuration, the function of the monitoring unit 371 can reliably store the entity value E of the variable V acquired by the execution unit 35 in the second storage area R2.

ちなみに、図5に示すように、演算部21に構成される各機能部311、312、33、35、371、372は、個別のプロセスで実現されている。具体的には、実行部35は、実行部プロセス(第一プロセス)としてアクティビティActを実行し、保持部372は、当該実行プロセスと異なる保持プロセス(第二プロセス)として、第一格納領域R1に取得される実体値Eを変数Vと関連付けて第二格納領域R2に保持させる。このような構成では、アクティビティActの実行と実体値Eの保持とが別々のプロセス(実行プロセスおよび保持プロセス)で実行される。これによれば、実行部35によるアクティビティActの実行と並行して、保持部372による第二格納領域R2への実体値Eを保持させることができるため、実行部35によるアクティビティActの実行への影響が低減される。したがって、実行部35によるアクティビティActの実行への影響を押さえながら、アクティビティActの実行完了に伴って実行プロセスが終了した後も、保持プロセスによって実体値Eを第二格納領域R2に保持しておくことができる。その結果、シナリオを管理する際に、エディタ31がシナリオで参照される変数Vの実体値Eにアクセスすることが可能となる。 As shown in FIG. 5, each of the functional units 311, 312, 33, 35, 371, and 372 configured in the calculation unit 21 is realized by 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 entity value E acquired in the first storage area R1 with the variable V and stores it in the second storage area R2. In this configuration, the execution of the activity Act and the storage of the entity value E are performed by separate processes (the execution process and the storage process). This allows the retention unit 372 to store the entity value E in the second storage area R2 in parallel with the execution of the activity Act by the execution unit 35, thereby reducing the impact on the execution of the activity Act by the execution unit 35. Therefore, the entity value E can be retained in the second storage area R2 by the retention process even after the execution process ends upon completion of the execution of the activity Act, while minimizing the impact on the execution of the activity Act by the execution unit 35. As a result, when managing a scenario, the editor 31 can access the entity value E of the variable V referenced in the scenario.

ところで、シナリオにおいて、複数の変数Vに同じ名称が付される場合が想定される。変数名称管理を実行することで、同じ名称の複数の変数Vが区別されて管理される。 In a scenario, it is conceivable that multiple variables V may have the same name. By implementing variable name management, multiple variables V with the same name can be managed separately.

図13は変数名称管理の内容を模式的に示す図である。図13の例では、変数Var_a、変数Var_bおよび変数Var_aが順番に宣言されており、1回目の宣言の変数と3回目の変数の宣言とが同一である。そのため、これらの変数Var_aそれぞれの実体値Eを変数と関連付けて第二格納領域R2に保持するにあたって、変数名そのものを実体値Eに関連付けると、名称が競合してしまう。そこで、ここで説明する変数名称管理では、監視部371(および保持部372)は、変数Vが宣言される度に、当該変数Vに対して異なる識別子ID1、ID2、ID3を付して、識別子ID1、ID2、ID3それぞれと実体値Eとを関連付けて当該実体値Eを第二格納領域R2に保持する。このような識別子ID1、ID2、ID3による変数Vの識別は、変数Vのスコープに基づく変数Vの識別に相当する。変数Vのスコープとは、シナリオにおける、当該変数Vが有効な範囲である。変数Vのスコープに基づき変数Vが識別されることにより、変数名称が同じで、異なる範囲で有効な変数が区別される。また、実体値Eは識別子ID1、ID2、ID3と関連付けて第二格納領域R2に保持されることは、変数Vのスコープと関連付けて当該変数Vの実体値Eが第二格納領域R2に保持されることに相当する。 Figure 13 is a diagram illustrating the contents of variable name management. In the example of Figure 13, variables Var_a, Var_b, and Var_a are declared in order, with the first declaration being identical to the third declaration. Therefore, when associating the entity value E of each of these variables Var_a with the variable and storing it in the second storage area R2, associating the variable name itself with the entity value E would result in a name conflict. Therefore, in the variable name management described here, the monitoring unit 371 (and the storage unit 372) assigns a different identifier ID1, ID2, or ID3 to the variable V each time it is declared, associates the identifier ID1, ID2, or ID3 with the entity value E, and stores the entity value E in the second storage area R2. Identifying variable V using identifiers ID1, ID2, and ID3 in this way corresponds to identifying variable V based on its scope. The scope of variable V is the range in which variable V is valid within a scenario. Identifying variable V based on its scope distinguishes between variables with the same variable name that are valid in different scopes. Furthermore, storing the entity value E in the second storage area R2 in association with identifiers ID1, ID2, and ID3 corresponds to storing the entity value E of variable V in the second storage area R2 in association with the scope of variable V.

図14は変数の実体値の取得に伴って実行される変数名称管理の一例を示すフローチャートである。実行部35がシナリオを構成するアクティビティActの行(すなわち、アクティビティActを規定するプログラムの行)を実行すると(ステップS401)、監視部371は、行の実行が成功したかを確認する(ステップS402)。行の実行が失敗すると(ステップS402で「NO」)、図14のフローチャートが終了する一方、行の実行が成功すると(ステップS402で「YES」)、監視部371は、ステップS401で実行された行の変数Vを宣言する変数宣言部を特定する。これは、変数Vを宣言するノード(構文解析におけるノード)を特定することに相当する。 Figure 14 is a flowchart showing an example of variable name management performed in conjunction with the acquisition of a variable's entity value. When the execution unit 35 executes a line of an activity Act that constitutes a scenario (i.e., a line of a program that defines the activity Act) (step S401), the monitoring unit 371 checks whether the line was executed successfully (step S402). If the line fails to execute ("NO" in step S402), the flowchart in Figure 14 ends. However, if the line is executed successfully ("YES" in step S402), the monitoring unit 371 identifies the variable declaration section that declares variable V in the line executed in step S401. This corresponds to identifying the node (node in syntax analysis) that declares variable V.

ステップS404では、監視部371は、ステップS403で特定された変数宣言部に対して識別子IDが既に付与されているか否かを確認する。識別子IDが既に付与されている場合(ステップS404で「YES」の場合)には、保持部372は、当該識別子IDに関連付けて第二格納領域R2に記憶されている実体値Eを、最新に取得した実体値Eに更新する(ステップS405)。一方、識別子IDが付与されていない場合(ステップS404で「NO」の場合)には、監視部371は、変数宣言部に対して識別子IDを付与して(ステップS406)、保持部372は、変数宣言部で宣言された変数Vの実体値Eを当該識別子IDに関連付けて第二格納領域R2に格納する。 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 "YES" in step S404), the retention unit 372 updates the entity value E stored in the second storage area R2 in association with the identifier ID to the most recently acquired entity value E (step S405). On the other hand, if an identifier ID has not been assigned (if "NO" in step S404), the monitoring unit 371 assigns an identifier ID to the variable declaration section (step S406), and the retention unit 372 stores the entity value E of the variable V declared in the variable declaration section in association with the identifier ID in the second storage area R2.

このように、図13および図14に示す例では、保持部372は、変数Vのスコープと関連付けて実体値Eを第二格納領域R2に保持する(ステップS405、S406、S407)。かかる構成では、複数の変数Vに同じ名称が付されていた場合であっても、当該変数Vに関連付けられたスコープに基づき、当該変数Vの実体値Eを識別することができる。 In this way, in the example shown in Figures 13 and 14, the storage unit 372 stores the entity value E in the second storage area R2 in association with the scope of the variable V (steps S405, S406, S407). With this configuration, even if multiple variables V have the same name, the entity value E of the variable V can be identified based on the scope associated with the variable V.

換言すれば、保持部372は、変数Vを宣言するノード(すなわち、変数宣言部)と実体値Eとを関連付けることで、変数Vのスコープと実体値Eとを関連付ける(ステップS403、S406)。このように変数宣言のノードを用いることで、変数Vのスコープと実体値Eとを的確に関連付けることができる。 In other words, the storage unit 372 associates the scope of variable V with the entity value E by associating the node that declares variable V (i.e., the variable declaration section) with the entity value E (steps S403 and S406). By using the variable declaration node in this way, the scope of variable V can be accurately associated with the entity value E.

また、第二格納領域R2は、変数Vについて取得された最新の実体値Eを保持する(ステップS405)。かかる構成では、新たな実体値Eが取得される度に、第二格納領域R2の実体値Eが更新されるため、ユーザは常に最新の実体値Eを確認することができる。 The second storage area R2 also holds the latest entity value E obtained for the variable V (step S405). With this configuration, the entity value E in the second storage area R2 is updated each time a new entity value E is obtained, allowing the user to always check the latest entity value E.

ところで、上記の実施形態では、ユーザがシナリオを管理する一例としてのシナリオ編集モードにおいて、ディスプレイ243に変数Vの実体値Eが表示されることで、ユーザの編集作業がアシストされる。特に図10Bの例等では、ユーザが変数V_v1に係るアクティビティAct(2)を編集するにあたって、引数となりうる候補Fがディスプレイ243に表示される。この際、編集対象となるアクティビティActをスコープに含む変数V(図10Bの例では変数V_t)が候補Fとして表示され、当該候補Fから選択された変数Vの実体値Eが表示される。続いては、このような実体値表示を可能にする制御の一例について説明する。 In the above embodiment, in a scenario editing mode, which is an example in which the user manages a scenario, the entity value E of variable V is displayed on the display 243 to assist the user in their editing work. In particular, in the example of Figure 10B, when the user edits activity Act (2) related to variable V_v1, candidate arguments F are displayed on the display 243. At this time, the variable V (variable V_t in the example of Figure 10B) whose scope includes the activity Act to be edited is displayed as candidate F, and the entity value E of variable V selected from candidate F is displayed. Next, an example of control that enables such entity value display will be described.

図15はシナリオ編集モードにおける実体値表示のための制御の一例を示すフローチャートである。ステップS501では、編集操作部311は、ユーザによって編集対象として選択されているアクティビティAct(編集対象アクティビティAct)の構文を解析する。そして、編集操作部311は、編集対象アクティビティActを含むスコープを取得して(ステップS502)、編集対象アクティビティActをそのスコープに含む変数Vのリストを取得する(ステップS503)。これは、編集対象アクティビティActにおいて使用可能な変数Vのリストの取得に相当する。 Figure 15 is a flowchart showing an example of control for displaying entity values in scenario editing mode. In step S501, the editing operation unit 311 analyzes the syntax of the activity Act selected by the user as the activity to be edited (edit target activity Act). Then, the editing operation unit 311 obtains a scope that includes the edit target activity Act (step S502), and obtains a list of variables V that include the edit target activity Act in that scope (step S503). This corresponds to obtaining a list of variables V that can be used in the edit target activity Act.

また、ステップS502、S503と並行して、編集操作部311は、編集対象アクティビティActのうち、選択箇所の変数Vの型を取得する(ステップS504)。具体的には、図10Bの例によれば、編集対象アクティビティAct(2)のうちから入力欄52(選択箇所)が選択されているため、入力欄52で受け付ける型が取得される。ここで、入力欄52で受け付ける型とは、当該入力欄52への入力内容によってアクティビティAct(2)で扱われる、数値、文字、日付あるいは表などのデータの形式を示す。 In parallel with steps S502 and S503, the editing operation unit 311 also acquires the type of variable V at the selected location in the activity Act to be edited (step S504). Specifically, in the example of FIG. 10B, input field 52 (selected location) is selected from activity Act(2) to be edited, so the type accepted by input field 52 is acquired. Here, the type accepted by input field 52 refers to the format of data, such as numbers, characters, dates, or tables, that is handled in activity Act(2) depending on the content entered in input field 52.

ステップS505では、編集操作部311は、ステップS503で取得された変数のうちから、ステップS504で取得された型を有する変数Vのリストを作成して、当該リストをディスプレイ243に表示する。こうして、図10Bに例示するような候補Fが表示される。 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 the list on the display 243. In this way, a candidate F such as the one shown in Figure 10B is displayed.

ステップS506では、編集操作部311は、候補Fのうちから一の変数Vを選択するユーザの選択操作を受け付ける。そして、編集操作部311は、選択された変数Vの識別子IDを取得して、当該識別子IDに関連付けられて第二格納領域R2に保持されている実体値Eを確認する(ステップS507)。該当の実体値Eが存在する場合(ステップS508で「YES」の場合)、編集操作部311は、実体値Eをディスプレイ243に表示する(ステップS509)。一方、該当の実体値Eが存在しない場合(ステップS508で「NO」の場合)、編集操作部311は、実体値Eが存在しない旨をディスプレイ243に表示する(ステップS510)。 In step S506, the editing operation unit 311 accepts a user selection operation to select one variable V from among the candidates F. The editing operation unit 311 then acquires the identifier ID of the selected variable V and checks the entity value E associated with the identifier ID and stored in the second storage area R2 (step S507). If the entity value E exists (YES in step S508), the editing operation unit 311 displays the entity value E on the display 243 (step S509). On the other hand, if the entity value E does not exist (NO in step S508), the editing operation unit 311 displays a message on the display 243 indicating that the entity value E does not exist (step S510).

図16は図15に示す制御の結果の一例を模式的に示す図である。図16の例では、それぞれ変数Vを宣言する6個のアクティビティAct(11)~Act(16)を順番に実行するシナリオを編集する場面が示されている(シナリオ編集モード)。アクティビティAct(11)~Act(16)のうち、5個のアクティビティAct(11)、Act(13)~Act(16)で宣言される変数Vの型は文字であり、1個のアクティビティAct(12)で宣言される変数Vの型は数値である。そして、アクティビティAct(14)で宣言される変数V(string3)が編集箇所として選択されている。当該アクティビティAct(14)をスコープに含む変数Vは、アクティビティAct(11)、Act(12)、Act(13)の変数string1、num1、string2となる。ただし、アクティビティAct(14)で扱われる変数V(string3)の型は文字であるため、当該型と一致する変数string1、string2が、候補Fとして表示される。 Figure 16 is a schematic diagram showing an example of the results of the control shown in Figure 15. The example in Figure 16 shows a scenario being edited (scenario editing mode) in which six activities Act(11) to Act(16), each of which declares a variable V, are executed in sequence. 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 character, while 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 part to be edited. The variable V whose scope includes activity Act(14) is the variables string1, num1, and string2 of activities Act(11), Act(12), and Act(13). However, since the type of variable V (string3) handled by activity Act(14) is character, variables string1 and string2 that match this type are displayed as candidates F.

ここで、型が文字の変数Vを宣言するアクティビティActに注目すると、図16の例では、変数string1、string2、string4、string5(第一変数)を宣言する非編集対象の第一アクティビティAct(11)、Act(13)、Act(15)、Act(16)と、編集対象の第二アクティビティAct(14)とが、編集操作部311によってディスプレイ243に表示されている。この際、非編集対象のアクティビティAct(11)、Act(13)、Act(15)、Act(16)のうち、アクティビティAct(11)、Act(13)で宣言される変数string1、string2は、編集対象のアクティビティAct(14)をスコープに含む一方、アクティビティAct(15)、Act(16)で宣言される変数string4、string5は、編集対象のアクティビティAct(14)をスコープに含まない。これに対して、編集操作部311は、編集対象のアクティビティAct(14)で使用される変数V(string3)の候補Fとして、当該アクティビティAct(14)をスコープに含む変数string1、string2を表示する一方、当該アクティビティAct(14)をスコープに含まない変数string4、string5を表示しない。かかる構成では、ユーザが編集対象のアクティビティAct(14)で参照する変数V(string3)を設定する際に、当該アクティビティAct(14)で参照可能な変数V(string1、string2)のみが候補Fとして表示される。したがって、ユーザは、変数Vの設定作業を容易に実行することができる。 Now, focusing on the activity Act that declares the character variable V, in the example of Figure 16, the edit operation unit 311 displays on the display 243 the first activities Act(11), Act(13), Act(15), and Act(16) that are not to be edited and that declare the variables string1, string2, string4, and string5 (first variables), as well as the second activity Act(14) that is to be edited. In this case, of the activities Act(11), Act(13), Act(15), and Act(16) that are not to be edited, the variables string1 and string2 declared in activities Act(11) and Act(13) include the activity Act(14) that is to be edited in their scope, while the variables string4 and string5 declared in activities Act(15) and Act(16) do not include the activity Act(14) that is to be edited in their scope. In response to this, the editing operation unit 311 displays variables string1 and string2 whose scope includes the activity Act(14) as candidates F for variable V(string3) used in the activity Act(14) to be edited, but does not display variables string4 and string5 whose scope does not include the activity Act(14). With this configuration, when the user sets variable V(string3) to be 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 candidates F. This allows the user to easily set variable V.

ところで、シナリオ編集モードにおいては、シナリオを構成する複数のアクティビティActのうち、一部のアクティビティActを選択的に実行することができる(部分実行)。特に、上記の実施形態では、変数Vの実体値Eが第二格納領域R2に保持されている。そのため、部分実行対象のアクティビティActが、それより前の先行アクティビティActで宣言される変数Vを使用する場合には、当該変数Vの実体値Eを第二格納領域R2から読み出して使用することで、先行アクティビティActを実行することなく、部分実行対象のアクティビティActのみを実行できる。続いては、このような部分実行を可能にする制御の一例について説明する。 In scenario editing mode, it is possible to selectively execute some of the activities Act out of the multiple activities Act that make up a scenario (partial execution). In particular, in the above embodiment, the entity value E of variable V is stored in the second storage area R2. Therefore, if an activity Act that is the target of partial execution uses a variable V declared in an earlier preceding activity Act, the entity value E of that variable V can be read from the second storage area R2 and used to execute only the activity Act that is the target of partial execution, without executing the earlier activity Act. Next, an example of control that enables such partial execution will be described.

図17はシナリオ編集モードにおける部分実行のための制御の一例を示すフローチャートである。ステップS601では、シナリオ実行操作部312は、部分実行対象のアクティビティActを指定するユーザの操作を受け付ける。ステップS602では、シナリオ実行操作部312は、部分実行対象のアクティビティActの先頭行に対して構文解析を実行する。そして、シナリオ実行操作部312は、当該先頭行を含むスコープを有する変数Vの変数宣言部の識別子IDのリスト(IDリスト)を取得する(ステップS603)。 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 specifying an 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 declaration sections of variable V whose scope includes the first line (step S603).

シナリオ実行操作部312は、IDリストの識別子IDをカウントするためのカウント値Nをゼロにリセットして(ステップS604)、カウント値Nをインクリメントする(ステップS605)。そして、当該リストのうち、N番目の識別子IDに関連付けられて第二格納領域R2に保持される実体値Eが存在するかが、シナリオ実行操作部312によって確認される(ステップS606)。N番目の識別子IDに対して実体値Eが存在する場合(ステップS606で「YES」の場合)には、シナリオ実行操作部312は、実体値Eに対応する変数Vを宣言する変数宣言アクティビティActを生成してから(ステップS607)、ステップS608に進む。一方、N番目の識別子IDに対して実体値Eが存在しない場合(ステップS606で「NO」の場合)には、ステップS607を実行せずに、ステップS608に進む。ちなみに、この場合には、識別子IDの実体値Eが存在しない旨をディスプレイ243に表示してもよい。 The scenario execution operation unit 312 resets the count value N for counting the identifiers ID in the ID list to zero (step S604) and increments the count value N (step S605). The scenario execution operation unit 312 then checks whether an entity value E exists in the second storage area R2 associated with the Nth identifier ID in the list (step S606). If an entity value E exists for the Nth identifier ID (YES in step S606), the scenario execution operation unit 312 generates a variable declaration activity Act that declares a variable V corresponding to the entity value E (step S607) and proceeds to step S608. On the other hand, if an entity value E does not exist for the Nth identifier ID (NO in step S606), the process skips step S607 and proceeds to step S608. In this case, the display 243 may display a message indicating that the entity value E for the identifier ID does not exist.

ステップS608では、カウント値NがIDリストに含まれる識別子IDの個数(Nmax)に到達したかがシナリオ実行操作部312によって確認される。カウント値Nが個数Nmax未満の場合(ステップS608で「NO」の場合)には、ステップS605~S608が繰り返される。一方、カウント値Nが個数Nmaxの場合(ステップS608で「YES」の場合)には、シナリオ実行操作部312は、ステップS607で生成した変数宣言アクティビティActを、部分実行対象のアクティビティActの前に付与して部分シナリオを生成する(ステップS609)。さらに、シナリオ実行操作部312は、生成した部分シナリオの実行を要求するシナリオ実行指示Ceを実行部35に送り、実行部35は、シナリオ実行指示Ceに従って部分シナリオを実行する(ステップS610)。 In step S608, the scenario execution operation unit 312 checks whether the count value N has reached the number (Nmax) of identifiers ID included in the ID list. If the count value N is less than the number Nmax ("NO" in step S608), steps S605 to S608 are repeated. On the other hand, if the count value N is the number Nmax ("YES" in step S608), the scenario execution operation unit 312 generates a partial scenario by attaching the variable declaration activity Act generated in step S607 before the activity Act to be partially executed (step S609). Furthermore, the scenario execution operation unit 312 sends a scenario execution instruction Ce to the execution unit 35 requesting execution of the generated partial scenario, and the execution unit 35 executes the partial scenario in accordance with the scenario execution instruction Ce (step S610).

このステップS610では、実行部35は、第二格納領域R2に保持される変数Vの実体値Eを使用して、部分実行対象のアクティビティActを実行する。具体的には、実行部35は、第二格納領域R2から読み出した実体値Eを第一格納領域R1に格納して、部分実行対象のアクティビティActの実行に当該実体値Eを使用する。 In step S610, the execution unit 35 executes the activity Act to be partially executed, using the entity value E of the variable V stored in the second storage area R2. Specifically, the execution unit 35 stores the entity value E read from the second storage area R2 in the first storage area R1, and uses this entity value E to execute the activity Act to be partially executed.

本実施例において、ステップS607で生成される変数宣言アクティビティActは、実行部35に実行されることによって、変数Vの宣言と、変数Vの実体値Eの取得と、がされるアクティビティである。変数Vが宣言されることにより、少なくとも変数Vが宣言される当該アクティビティより後で変数Vが有効であること、すなわち、当該アクティビティより後に変数Vのスコープがあること、が示される。また、変数Vの実体値Eが取得されることにより、当該変数Vが有効な範囲で、変数Vの実体値として実体値Eが参照可能に、第一格納領域R1に保持される。本実施例では、ステップS607で生成される変数宣言アクティビティActが実行されることにより、宣言される変数Vの実体値Eが取得されるため、少なくとも変数宣言アクティビティActより後の範囲である変数Vの有効な範囲で実体値Eが参照可能に、第一格納領域R1に保持される。 In this embodiment, the variable declaration activity Act generated in step S607 is executed by the execution unit 35 to declare a variable V and obtain the entity value E of the variable V. Declaring the variable V indicates that the variable V is valid at least after the activity in which the variable V is declared, i.e., that the scope of the variable V exists after the activity. Furthermore, obtaining the entity value E of the variable V causes the entity value E to be stored in the first storage area R1 so that it can be referenced as the entity value of the variable V within the valid range of the variable V. In this embodiment, the variable declaration activity Act generated in step S607 is executed to obtain the entity value E of the declared variable V, and therefore the entity value E is stored in the first storage area R1 so that it can be referenced within the valid range of the variable V, which is at least the range after the variable declaration activity Act.

図10Eに示すアクティビティAct(2)が部分実行対象のアクティビティActとして指定されるユーザ操作を受け付ける場合の、部分実行の制御を説明する。 This section explains how partial execution is controlled when a user operation is received specifying activity Act(2) shown in Figure 10E as the activity Act to be partially executed.

まず、図10Eに示されるシナリオにおいて、アクティビティAct(1)は、シナリオ管理プログラム12以外のアプリケーションから値を取得する操作に対応する。アクティビティAct(1)は、当該操作において取得される値を変数V_tの実体値E_tとして取得し、実体値E_tは、第一格納領域R1に保持される。また、図10Eに示されるシナリオにおいてアクティビティAct(2)は、値を処理する操作に対応し、アクティビティAct(1)に含まれる変数V_tを使用するアクティビティAct(2)である。換言すれば、アクティビティAct(2)は、実行部35により実行されるとき、変数V_tの実体値E_tとして、アクティビティAct(1)が実行されることにより第一格納領域R1に保持される実体値E_tを参照する、アクティビティである。なお、図10Eに示されるアクティビティAct(1)は、変数V_tを宣言するため、当該アクティビティより後のアクティビティ、つまりアクティビティAct(2)以降に変数V_tのスコープがあることが示される。 First, in the scenario shown in FIG. 10E, activity Act(1) corresponds to an operation to obtain a value from an application other than the scenario management program 12. Activity Act(1) obtains the value obtained in this operation as the entity value E_t of variable V_t, and the entity value E_t is stored in the first storage area R1. Also, in the scenario shown in FIG. 10E, activity Act(2) corresponds to an operation to process a value and is activity Act(2) that uses variable V_t included in activity Act(1). In other words, when executed by the execution unit 35, activity Act(2) is an activity that references the entity value E_t stored in the first storage area R1 as a result of the execution of activity Act(1) as the entity value E_t of variable V_t. Note that activity Act(1) shown in FIG. 10E declares variable V_t, and therefore indicates that the scope of variable V_t is in activities subsequent to this activity, i.e., activity Act(2) and subsequent activities.

シナリオ実行操作部312は、アクティビティAct(2)が部分実行対象として指定されるユーザ操作を受け付けると、アクティビティ(2)に含まれる変数V_tを宣言する変数宣言アクティビティActを生成する。そしてシナリオ実行操作部312は、生成した変数V_tを宣言する変数宣言アクティビティActと、部分実行対象として指定されるアクティビティAct(2)とで構成される部分シナリオを生成し、当該部分シナリオの実行を指示するシナリオ実行指示Ceを実行部35に送る。したがって、シナリオ実行操作部312は、アクティビティAct(2)が部分実行対象として指定されるユーザ操作を受け付けると、アクティビティAct(2)に対応するアクティビティActが実行対象として指定されるシナリオ実行指示Ceとして、変数V_tの変数宣言アクティビティActとアクティビティAct(2)とを選択されたシナリオ実行指示Ceを実行部35に送る。このとき、変数V_tを宣言する変数宣言アクティビティActは、入力欄51に入力されたパスを参照して実体値E_tを取得するアクティビティAct(1)と異なり、第二格納領域R2に保持される実体値E_tを取得するアクティビティActである。すなわち、変数宣言アクティビティActは、第二格納領域R2に保持される実体値E_tを参照して、変数V_tの実体値E_tを第一格納領域R1に保持させるアクティビティActである。実行部35は、第二格納領域R2から読み出した実体値E_tを第一格納領域R1に保持させたあと、部分実行対象のアクティビティAct(2)の実行の際に第一格納領域R1に保持される当該実体値E_tを参照する。 When the scenario execution operation unit 312 receives a user operation specifying activity Act(2) as the partial execution target, 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 variable declaration activity Act that declares the generated variable V_t and activity Act(2) specified as the partial execution target, and sends a scenario execution instruction Ce to the execution unit 35 instructing the execution of the partial scenario. Therefore, when the scenario execution operation unit 312 receives a user operation that specifies activity Act(2) as the partial execution target, 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 a scenario execution instruction Ce that specifies the activity Act corresponding to activity Act(2) as the execution target. At this time, the variable declaration activity Act that declares the variable V_t is an activity Act that acquires the entity value E_t stored in the second storage area R2, unlike activity Act(1) that acquires the entity value E_t by referencing the path entered in the input field 51. In other words, the variable declaration activity Act is an activity Act that references the entity value E_t stored in the second storage area R2 and stores the entity value E_t of the variable V_t in the first storage area R1. After storing the entity value E_t read from the second storage area R2 in the first storage area R1, the execution unit 35 references the entity value E_t stored in the first storage area R1 when executing the activity Act(2) that is the target of partial execution.

このように、シナリオ実行操作部312は、シナリオ表示欄45に表示されたシナリオを、ユーザから選択されたシナリオとして受け付けて、選択された当該シナリオに含まれるアクティビティActの選択を受け付ける(ステップS601)。さらに、シナリオ実行操作部312は、選択されたアクティビティActに対応するアクティビティAct(つまり、変数宣言アクティビティActおよび選択されたアクティビティAct)の実行を指示するシナリオ実行指示Ceを実行部35に送る。かかる構成では、シナリオに含まれる複数のアクティビティActのうちから選択したアクティビティActを部分的に実行して、当該アクティビティActの動作を確認することができる。 In this way, the scenario execution operation unit 312 accepts the scenario displayed in the scenario display field 45 as the scenario selected by the user, and accepts the selection of an activity Act 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, instructing the execution of an activity Act corresponding to the selected activity Act (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 multiple activities Acts included in the scenario, and check the operation of that activity Act.

シナリオ管理プログラム12以外のアプリケーションから値を取得する操作に対応し、当該値として変数Vの実体値Eを取得するアクティビティActと、当該変数Vを使用するアクティビティActと、を含むシナリオにおいて、当該変数Vを使用するアクティビティActは、第一格納領域R1に保持される実体値Eを参照するアクティビティActである。シナリオ実行操作部312は、部分実行対象として指定されるアクティビティActに第一格納領域R1に保持される実体値Eを参照するアクティビティActが含まれる場合、第二格納領域R2を参照して当該実体値Eを第一格納領域R1に保持させるアクティビティActを生成する。かかる構成では、実行部35は、第一格納領域R1に保持される実体値Eを参照せずに、部分実行対象として指定されるアクティビティActを実行することができる。例えば第一格納領域R1に保持される実体値Eが第二格納領域R1に保持される実体値Eに即時に反映されないなど、第一格納領域R1に保持される実体値Eと第二格納領域R2に保持される実体値Eとに差異がある場合に、第二格納領域R2の実体値Eを参照するアクティビティActを実行させることができる。 In a scenario that corresponds to an operation of obtaining a value from an application other than the scenario management program 12 and includes an activity Act that obtains the entity value E of a 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 entity value E stored in the first storage area R1. When an activity Act designated as a partial execution target includes an activity Act that references the entity value E stored in the first storage area R1, the scenario execution operation unit 312 generates an activity Act that references the second storage area R2 and stores the entity value E in the first storage area R1. In this configuration, the execution unit 35 can execute the activity Act designated as a partial execution target without reference to the entity value E stored in the first storage area R1. For example, if there is a difference between the entity value E held in the first storage area R1 and the entity value E held in the second storage area R2, such as the entity value E held in the first storage area R1 not being immediately reflected in the entity value E held in the second storage area R1, an activity Act can be executed that references the entity value E in the second storage area R2.

また、シナリオ作成モードが終了し第一格納領域R1が解放された後など、第一格納領域R1に保持される実体値Eがない状態で、かつ、部分実行対象として指定されるアクティビティActに、第一格納領域R1に保持される実体値Eを参照するアクティビティActが含まれる一方、第一格納領域R1に実体値Eを保持させるアクティビティActが含まれない場合がある。この場合に、実行部35は、第一格納領域R1に保持される実体値Eを参照するアクティビティで使用される変数Vに関連付けて第二格納領域R2に保持される実体値Eを第一格納領域R1に保持させてから、第一格納領域R1に保持される実体値Eを参照するアクティビティActを実行する。このように、第二格納領域R2に保持された変数Vの実体値Eを活用することで、第一格納領域R1に実体値Eが保持されていない状態からでも、第一格納領域R1に保持される実体値Eを参照するアクティビティActを、シナリオに含まれる第一格納領域R1に実体値Eを保持させるアクティビティActを実行せずに部分的に実行できる。 Furthermore, there may be cases where there is no entity value E stored in the first storage area R1, such as after the scenario creation mode ends and the first storage area R1 is released, and the activities Act specified as targets for partial execution include an activity Act that references the entity value E stored in the first storage area R1, but no activity Act that causes the entity value E to be stored in the first storage area R1. In this case, the execution unit 35 associates the entity value E stored in the second storage area R2 with the variable V used in the activity that references the entity value E stored in the first storage area R1 and stores it in the first storage area R1, and then executes the activity Act that references the entity value E stored in the first storage area R1. In this way, by utilizing the entity value E of the variable V stored in the second storage area R2, even when the entity value E is not stored in the first storage area R1, the activity Act that references the entity value E stored in the first storage area R1 can be partially executed without executing the activity Act that causes the entity value E to be stored in the first storage area R1, which is included in the scenario.

なお、本実施例においては、シナリオ実行操作部312により生成される、第二格納領域R2を参照して当該実体値Eを第一格納領域R1に保持させるアクティビティActは、部分実行対象として指定されるアクティビティActに追加して実行されるが、部分実行対象のアクティビティActに第一格納領域R1に実体値Eを保持させるアクティビティActが含まれる場合に、当該アクティビティActに代えて、シナリオ実行操作部312により生成される、第二格納領域R2に保持される実体値Eを参照して第一格納領域R1に保持させるアクティビティActが、実行されてもよい。かかる構成では、シナリオにおいて第一格納領域R1に実体値Eを保持させるアクティビティActを実行せずに、部分実行対象として指定されるアクティビティActを実行することができる。シナリオにおいて第一格納領域R1に実体値Eを保持させるアクティビティActが、実行環境に依存するアクティビティである場合に、実行環境に依存せず指定されるアクティビティActを実行することができる。また、シナリオにおいて第一格納領域R1に実体値Eを保持させるアクティビティActが実行に時間がかかるアクティビティである場合に、指定されるアクティビティActを実行するのにかかる時間を短縮することができる。さらに、シナリオにおいて第一格納領域R1に実体値Eを保持させるアクティビティActが外部に影響を与えるアクティビティである場合、外部に影響を与えることなく、指定されるアクティビティActを実行することができる。 In this embodiment, an activity Act generated by the scenario execution operation unit 312 that references the second storage area R2 and stores the entity value E in the first storage area R1 is executed in addition to an 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 an entity value E in the first storage area R1, an activity Act generated by the scenario execution operation unit 312 that references the entity value E stored in the second storage area R2 and stores it in the first storage area R1 may be executed instead of the activity Act. In this configuration, an activity Act designated as a partial execution target can be executed without executing an activity Act in the scenario that stores an entity value E in the first storage area R1. If an activity Act in the scenario that stores an entity value E in the first storage area R1 is an activity that depends on the execution environment, an activity Act designated independent of the execution environment can be executed. Furthermore, if an activity Act in a scenario that causes an entity value E to be stored in the first storage area R1 is an activity that takes a long time to execute, the time required to execute the specified activity Act can be reduced. Furthermore, if an activity Act in a scenario that causes an entity value E to be stored in the first storage area R1 is an activity that has an external impact, the specified activity Act can be executed without affecting the external impact.

以上に説明するように本実施形態では、サーバ11のストレージ部111が本発明の「記録媒体」の一例に相当し、シナリオ管理プログラム12が本発明の「シナリオ管理プログラム」の一例に相当し、端末装置2が本発明の「シナリオ管理装置」および「コンピュータ」の一例に相当し、ディスプレイ243が本発明の「ディスプレイ」の一例に相当し、エディタ31が本発明の「管理部」の一例に相当し、シナリオ作成部33が本発明の「シナリオ作成部」の一例に相当し、実行部35が本発明の「実行部」の一例に相当し、監視部371が本発明の「監視部」の一例に相当し、保持部372が本発明の「保持部」の一例に相当し、アクティビティActが本発明の「アクティビティ」の一例に相当し、シナリオ実行指示Cgが本発明の「シナリオ実行指示」の一例に相当し、第一格納領域R1が本発明の「第一格納領域」の一例に相当し、第二格納領域R2が本発明の「第二格納領域」の一例に相当する。 As explained above, in this embodiment, the storage unit 111 of the server 11 corresponds to an example of a "recording medium" of the present invention, the scenario management program 12 corresponds to an example of a "scenario management program" of the present invention, the terminal device 2 corresponds to an example of a "scenario management device" and "computer" of the present invention, the display 243 corresponds to an example of a "display" of the present invention, the editor 31 corresponds to an example of a "management unit" of the present invention, the scenario creation unit 33 corresponds to an example of a "scenario creation unit" of the present invention, the execution unit 35 corresponds to an example of an "execution unit" of the present invention, the monitoring unit 371 corresponds to an example of a "monitoring unit" of the present invention, the storage unit 372 corresponds to an example of a "storage unit" of the present invention, the activity Act corresponds to an example of an "activity" of the present invention, the scenario execution instruction Cg corresponds to an example of a "scenario execution instruction" of the present invention, the first storage area R1 corresponds to an example of a "first storage area" of the present invention, and the second storage area R2 corresponds to an example of a "second storage area" of the present invention.

なお、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したものに対して種々の変更を加えることが可能である。例えば、変数Vの実体値Eを第二格納領域R2に格納するタイミングは、シナリオ作成モードの実行時に限られず、変更してもよい。つまり、上記の実施形態では、シナリオ作成モードで実行部35がアクティビティActを実行した際に第一格納領域R1に取得された実体値Eが第二格納領域R2に格納されている。しかしながら、シナリオ作成モードの終了後であってシナリオ編集モードの開始前に、変数Vの実体値Eを第二格納領域R2に格納するように変更してもよい。この変形例では、作成済みのシナリオの実行を指示するシナリオ実行指示Ceがシナリオ実行操作部312から実行部35に送られて、当該シナリオのアクティビティActの実行によって第一格納領域R1に取得された実体値Eが、保持部372によって第二格納領域R2に保持される。 The present invention is not limited to the above embodiment, and various modifications can be made to the above without departing from the spirit of the invention. For example, the timing at which the entity value E of variable V is stored in the second storage area R2 is not limited to when the scenario creation mode is executed, and may be changed. That is, in the above embodiment, the entity value E acquired in the first storage area R1 when the execution unit 35 executes an activity Act in the scenario creation mode is stored in the second storage area R2. However, the entity value E of variable V may be changed so that it is stored in the second storage area R2 after the scenario creation mode ends and before the scenario editing mode begins. In this modified example, a scenario execution instruction Ce instructing execution of a created scenario is sent from the scenario execution operation unit 312 to the execution unit 35, and the entity value E acquired in the first storage area R1 by executing the activity Act of the scenario is stored in the second storage area R2 by the storage unit 372.

つまり、シナリオ実行操作部312は、ユーザから作成済みのシナリオの実行を示すシナリオ実行操作を受け付け、受け付けたシナリオ実行操作に基づいてシナリオ実行指示Ceを実行部35に送る。かかる構成では、ユーザは、作成済みのシナリオを実行することで、当該シナリオに含まれるアクティビティActで使用される変数Vの実体値Eを取得して、第二格納領域R2に保持しておくことができる。そして、シナリオ編集モードにおいて、第二格納領域R2から読み出した実体値Eをディスプレイ243で確認できる。 In other words, the scenario execution operation unit 312 accepts a scenario execution operation from the user indicating execution of a created scenario, and sends a scenario execution instruction Ce to the execution unit 35 based on the accepted scenario execution operation. In this configuration, by executing a created scenario, the user can obtain the entity value E of the variable V used in the activity Act included in the scenario and store it in the second storage area R2. Then, in scenario editing mode, the entity value E read from the second storage area R2 can be confirmed on the display 243.

なお、変数Vの実体値Eを保持する第二格納領域R2の具体的構成は適宜変更できる。したがって、メモリ部22ではなく、ストレージ部23に第二格納領域R2を確保して、変数Vの実体値Eを当該第二格納領域R2に不揮発的に保持してもよい。すなわち、第二格納領域R2が不揮発性記憶素子であってもよい。 The specific configuration of the second storage area R2 that stores the actual value E of the 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 the variable V may be stored in the second storage area R2 in a non-volatile manner. In other words, the second storage area R2 may be a non-volatile memory element.

また、アクティビティActの実行と実体値Eの保持とが別々のプロセス(実行プロセスおよび保持プロセス)で実行されることは必須ではない。したがって、保持部372は、実行部35がアクティビティActを実行する実行プロセスと同一のプロセスで、第一格納領域R1に取得される実体値Eを変数Vと関連付けて第二格納領域R2に保持させてもよい。かかる構成では、例えば図5において、実行部35と保持部372とが一つの機能ブロックで実現され、当該機能ブロックは、変数Vが不要になったのに伴って第一格納領域R1を解放するとともに、第一格納領域R1の解放後においても第二格納領域R2を確保する。 Furthermore, it is not necessary for the execution of activity Act and the storage of entity value E to be performed in separate processes (execution process and storage process). Therefore, the storage unit 372 may associate the entity value E acquired in the first storage area R1 with the variable V and store it in the second storage area R2 in the same process as the execution process in which the execution unit 35 executes activity Act. In such a configuration, for example, in FIG. 5, the execution unit 35 and storage unit 372 are realized by a single functional block, which releases the first storage area R1 when variable V is no longer needed and also secures the second storage area R2 even after the first storage area R1 is released.

同様に、演算部21に構成される各機能ブロック(図5)を別々のプロセスで実行する必要はない。したがって、エディタ31と実行部35とを別々のプロセスで実行せずに、これらを同一のプロセスで実行してもよい。あるいは、逆に、一の機能ブロックを複数に分割してもよい。例えば、エディタ31は、UI24へのユーザ操作を受け付ける機能を備える必要はなく、当該機能をエディタ31から分離して別のモジュールに担わせてもよい。 Similarly, each functional block (Figure 5) configured in the calculation unit 21 does not need to be executed in a separate process. Therefore, the editor 31 and the execution unit 35 may be executed in the same process rather than in separate processes. Alternatively, conversely, one functional block may be divided into multiple blocks. For example, the editor 31 does not need to have the function of accepting user operations on the UI 24, and this function may be separated from the editor 31 and carried out by another module.

また、図5の機能ブロック31、33、35、37の全てを端末装置2の演算部21に構成する必要はなく、一部の機能ブロック(例えば、実行部35等)をサーバ11のプロセッサに構成してもよい。この場合、端末装置2とサーバ11とが協働して本発明の「シナリオ管理装置」として機能する。 Furthermore, it is not necessary to configure all of the functional blocks 31, 33, 35, and 37 in Figure 5 in the calculation unit 21 of the terminal device 2; some of the functional blocks (e.g., execution unit 35, etc.) may be configured in the processor of the server 11. In this case, the terminal device 2 and the server 11 work together to function as the "scenario management device" of the present invention.

この発明は、ユーザがコンピュータを用いて実行していた作業を自動化することでユーザの作業負担の軽減を図るRPAの技術全般に適用可能である。 This invention can be applied to RPA technology in general, which aims to reduce the workload of users by automating tasks that users previously performed using computers.

11…サーバ
111…ストレージ部(記録媒体)
12…シナリオ管理プログラム
2…端末装置(シナリオ管理装置、コンピュータ)
243…ディスプレイ
311…編集操作部
33…シナリオ作成部
35…実行部
371…監視部
372…保持部
Act…アクティビティ
Cg…シナリオ実行指示
R1…第一格納領域
R2…第二格納領域

11... Server 111... Storage unit (recording medium)
12...Scenario management program 2...Terminal device (scenario management device, computer)
243: Display 311: Editing operation section 33: Scenario creation section 35: Execution section 371: Monitoring section 372: Storage section Act: Activity Cg: Scenario execution instruction R1: First storage area R2: Second storage area

Claims (17)

他のアプリケーションプログラムに対する操作を自動化するためのシナリオを管理するシナリオ管理装置であって、
他のアプリケーションプログラムから値を取得する前記操作に対応するアクティビティと、他のアプリケーションプログラムに値を入力する前記操作に対応するアクティビティと、前記取得する値を処理する操作に対応するアクティビティと、を含む複数種類のアクティビティから選択される、第一アクティビティと第二アクティビティとを含む前記シナリオを管理する管理部と、
シナリオ実行指示に基づいて、前記シナリオに含まれる前記第一アクティビティを実行する実行部と、
前記シナリオに含まれる前記第一アクティビティを実行する際に前記実行部によりアクセスされ、当該第一アクティビティで参照される変数の実体値を、当該シナリオに含まれる前記第二アクティビティに含まれる変数の実体値として参照可能に保持する第一格納領域と、
前記管理部によりアクセス可能であって、前記第一格納領域に保持される前記変数の前記実体値を当該変数と関連付けて保持する第二格納領域と、
前記第一格納領域に保持される前記変数の前記実体値を前記第二格納領域に保持させる保持部と、
を備える、シナリオ管理装置。
A scenario management device that manages 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 acquiring 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 an operation of processing the acquired 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 that holds entity values of variables referenced in the first activity so that the entity values of variables included in the second activity included in the scenario can be referenced;
a second storage area accessible by the management unit, which stores the actual values of the variables stored in the first storage area in association with the variables;
a storage unit that stores the actual values of the variables stored in the first storage area in the second storage area;
A scenario management device comprising:
前記実行部は、第一プロセスとして、前記第一アクティビティを実行し、
前記保持部は、前記第一プロセスと異なる第二プロセスとして、前記第二格納領域に、前記第一格納領域に取得される前記実体値を前記変数と関連付けて保持させる、請求項1に記載のシナリオ管理装置。
the execution unit executes the first activity as a first process;
The scenario management device of claim 1, wherein the storage unit stores the actual value acquired in the first storage area in association with the variable in the second storage area as a second process different from the first process.
前記第二格納領域は、前記第一格納領域の解放後も、前記実体値を保持する、請求項1または2に記載のシナリオ管理装置。 A scenario management device as described in claim 1 or 2, wherein the second storage area retains the actual value even after the first storage area is released. 前記管理部は、前記シナリオにより自動化される前記操作の内容を示す表示として、前記シナリオに含まれる変数について、当該変数に関連付けて前記第二格納領域に保持される前記実体値に応じた表示をディスプレイに表示する、請求項1ないし3のいずれか一項に記載のシナリオ管理装置。 The scenario management device described in 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 associated with the variable included in the scenario and stored in the second storage area. 前記管理部が、前記実体値に応じた前記変数の表示として前記第二格納領域に保持される前記実体値を前記ディスプレイに表示する、請求項4に記載のシナリオ管理装置。 The scenario management device of claim 4, wherein the management unit displays the entity value stored in the second storage area on the display as an indication of the variable corresponding to the entity value. 前記管理部が、前記実体値に応じた前記変数の表示として、当該変数に関連付けて前記第二格納領域に保持される前記実体値の有無を示す表示を前記ディスプレイに表示する、請求項4または5に記載のシナリオ管理装置。 The scenario management device of claim 4 or 5, wherein the management unit displays on the display, as the display of the variable corresponding to the entity value, a display indicating whether or not the entity value is associated with the variable and stored in the second storage area. 前記シナリオの作成として、前記アクティビティにより自動化される前記操作の内容に係る設定を受け付けて、当該設定に基づいて前記アクティビティを生成する、シナリオ作成部を備え、
前記シナリオ作成部は、生成された前記アクティビティに基づいて前記シナリオ実行指示を前記実行部に送る、請求項1ないし6のいずれか一項に記載のシナリオ管理装置。
a scenario creation unit that receives settings related to the content of the operation to be automated by the activity as the creation of the scenario, and generates the activity based on the settings;
The scenario management device according to claim 1 , wherein the scenario creation unit sends the scenario execution instruction to the execution unit based on the generated activity.
ユーザから、シナリオの実行を指示する操作として、前記シナリオに含まれる前記アクティビティの選択を受け付け、選択された前記アクティビティに対応するアクティビティを実行する前記シナリオ実行指示を前記実行部に送る、シナリオ実行操作部を備える、請求項1ないし7のいずれか一項に記載のシナリオ管理装置。 A scenario management device according to any one of claims 1 to 7, comprising a scenario execution operation unit that receives, from a user, a selection of an activity included in the scenario as an operation instructing execution of a scenario, and sends to the execution unit the scenario execution instruction to execute an activity corresponding to the selected activity. 前記保持部は、前記変数の前記実体値を、前記シナリオにおける当該変数の有効な範囲であるスコープを示す情報に関連付けて前記第二格納領域に保持させる請求項1ないし8のいずれか一項に記載のシナリオ管理装置。 A scenario management device according to any one of claims 1 to 8, wherein the storage unit stores the actual value of the variable in the second storage area in association with information indicating the scope, which is the range within which the variable is valid in the scenario. 前記第一アクティビティは、前記他のアプリケーションプログラムから値を取得する操作に対応し、当該値を前記変数の実体値として参照するアクティビティであり、
前記第二アクティビティは、前記第一アクティビティに含まれる前記変数を使用するアクティビティであり、
前記実行部が、前記第二アクティビティが含まれる前記シナリオ実行指示を受け付けるとき、
前記実行部は、前記第二格納領域に前記第二アクティビティで使用される前記変数に関連付けて保持された前記実体値を前記第一格納領域に取得してから、前記第二アクティビティを実行する請求項1ないし9のいずれか一項に記載のシナリオ管理装置。
the first activity corresponds to an operation of acquiring a value from the other application program, and is an activity that references the acquired value as an entity value of the variable;
the second activity is an activity that uses the variable included in the first activity,
When the execution unit receives an instruction to execute the scenario including the second activity,
A scenario management device described in any one of claims 1 to 9, wherein the execution unit retrieves the entity value stored in the second storage area associated with the variable used in the second activity into the first storage area, and then executes the second activity.
前記管理部は、
表示対象となる前記変数を指定する変数指定操作を受け付けると、前記変数に関連付けられた前記実体値を前記第二格納領域から読み出して前記ディスプレイに表示し、
前記変数が複数の値から構成される前記実体値を参照する変数であるとき、
前記実体値として前記複数の値を表示し、
前記複数の値から任意の値を指定する操作を受け付けると、当該操作に基づいて、前記変数として参照されるデータに含まれる値を取得する操作に対応する前記アクティビティが設定される、請求項4ないし6のいずれか一項に記載のシナリオ管理装置。
The management unit
When a variable designation operation that designates the variable to be displayed is received, the entity value associated with the variable is read from the second storage area and displayed on the display;
When the variable is a variable that refers to the entity value that is composed of multiple values,
expressing the plurality of values as the entity values;
A scenario management device as described in any one of claims 4 to 6, wherein when an operation specifying an arbitrary value from the plurality of values is received, the activity corresponding to an operation of obtaining a value contained in the data referenced as the variable is set based on the operation.
前記管理部が、第一変数を宣言する前記第一アクティビティと、前記第二アクティビティと、を有する前記シナリオを前記ディスプレイに表示し、
前記管理部は、前記第一アクティビティで宣言される前記第一変数の有効な範囲であるスコープが、前記第二アクティビティを含む場合には、前記第二アクティビティで使用される変数の候補として、前記第一アクティビティで宣言される前記第一変数を前記ディスプレイに表示し、前記第一アクティビティで宣言される前記変数の前記スコープが、前記第二アクティビティを含まない場合には、前記第二アクティビティで使用される変数の候補として、前記第一アクティビティで宣言される前記第一変数を前記ディスプレイに表示しない請求項4ないし6のいずれか一項に記載のシナリオ管理装置。
the management unit displays the scenario on the display, the scenario including the first activity that declares a first variable and the second activity;
A scenario management device as described in 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 when the scope, which is the valid range 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 when the scope of the variable declared in the first activity does not include the second activity.
前記実行部が前記第一格納領域に前記変数の前記実体値を保持させることを監視する監視部を備え、
前記監視部が前記実行部により前記第一格納領域へ前記変数の前記実体値が保持されたことを確認すると、前記保持部が、前記第一格納領域に保持される前記実体値を前記第二格納領域に保持させる請求項1ないし12のいずれか一項に記載のシナリオ管理装置。
a monitoring unit that monitors the execution unit storing the actual value of the variable in the first storage area,
A scenario management device as described in any one of claims 1 to 12, wherein when the monitoring unit confirms that the execution unit has stored the actual value of the variable in the first storage area, the storage unit stores the actual value stored in the first storage area in the second storage area.
前記実行部が前記第一アクティビティを実行することによって、前記第一格納領域が、前記第一アクティビティで参照される前記変数の前記実体値として、前記第二格納領域に当該変数に関連付けて保持される前記実体値と異なる前記実体値を保持したとき、前記第二格納領域は、当該変数の前記実体値として前記第一格納領域に保持される最新の前記実体値を、当該変数に関連付けて保持する請求項1ないし13のいずれか一項に記載のシナリオ管理装置。 A scenario management device according to any one of claims 1 to 13, wherein when the execution unit executes the first activity and the first storage area stores, as the entity value of the variable referenced in the first activity, an entity value that differs from the entity value stored in the second storage area in association with the variable, the second storage area stores, in association with the variable, the most recent entity value stored in the first storage area as the entity value of the variable. 請求項1ないし14のいずれか一項に記載のシナリオ管理装置としてコンピュータを機能させるシナリオ管理プログラム。 A scenario management program that causes a computer to function as the scenario management device described in any one of claims 1 to 14. 請求項15に記載のシナリオ管理プログラムをコンピュータにより読み出し可能に記録する記録媒体。 A recording medium on which the scenario management program described in claim 15 is recorded in a computer-readable manner. 他のアプリケーションプログラムに対する操作を自動化するためのシナリオとして、他のアプリケーションプログラムから値を取得する前記操作に対応するアクティビティと、他のアプリケーションプログラムに値を入力する前記操作に対応するアクティビティと、前記取得する値を処理する操作に対応するアクティビティと、を含む複数種類のアクティビティから選択される、第一アクティビティと第二アクティビティとを含む前記シナリオ、を管理する、コンピュータにより実行されるシナリオ管理方法であって、
シナリオ実行指示に基づいて前記第一アクティビティを実行して、当該第一アクティビティで参照される変数の実体値を、前記第二アクティビティに含まれる変数の実体値として参照可能に、第一格納領域に保持させる工程と、
シナリオを管理する管理部によりアクセス可能な第二格納領域に、前記第一格納領域に保持された前記変数の前記実体値を、当該変数と関連付けて保持させる工程と、
を備える、シナリオ管理方法。
A computer-executable scenario management method for managing, as a scenario for automating an operation on another application program, a scenario including a first activity and a second activity selected from a plurality of types of activities including an activity corresponding to the operation of acquiring 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 an operation of processing the acquired value,
a step of executing the first activity based on a scenario execution instruction, and storing the entity values of variables referenced in the first activity in a first storage area so that the entity values can be referenced as entity values of variables included in the second activity;
a step of storing the actual values of the variables stored in the first storage area in association with the variables in a second storage area accessible by a management unit that manages scenarios;
A scenario management method comprising:
JP2022032226A 2021-10-04 2022-03-03 Scenario management device, scenario management program, recording medium, and scenario management method Active JP7808488B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022032226A JP7808488B2 (en) 2022-03-03 2022-03-03 Scenario management device, scenario management program, recording medium, and scenario management method
US17/900,900 US20230108676A1 (en) 2021-10-04 2022-09-01 Scenario management device, scenario management method, and a computer-readable recording medium recording a program causing a computer to function as the scenario management device
JP2026006360A JP2026063225A (en) 2022-03-03 2026-01-19 Scenario management device, scenario management program, and scenario management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022032226A JP7808488B2 (en) 2022-03-03 2022-03-03 Scenario management device, scenario management program, recording medium, and scenario management method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2026006360A Division JP2026063225A (en) 2022-03-03 2026-01-19 Scenario management device, scenario management program, and scenario management method

Publications (2)

Publication Number Publication Date
JP2023128109A JP2023128109A (en) 2023-09-14
JP7808488B2 true JP7808488B2 (en) 2026-01-29

Family

ID=87972084

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022032226A Active JP7808488B2 (en) 2021-10-04 2022-03-03 Scenario management device, scenario management program, recording medium, and scenario management method
JP2026006360A Pending JP2026063225A (en) 2022-03-03 2026-01-19 Scenario management device, scenario management program, and scenario management method

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2026006360A Pending JP2026063225A (en) 2022-03-03 2026-01-19 Scenario management device, scenario management program, and scenario management method

Country Status (1)

Country Link
JP (2) JP7808488B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2026047522A (en) * 2024-09-04 2026-03-16 株式会社キーエンス How it is performed by a computing system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107481A (en) 2004-10-01 2006-04-20 Microsoft Corp Framework for seamlessly authoring and editing workflow at design and runtime
JP2020113034A (en) 2019-01-11 2020-07-27 エヌ・ティ・ティ・アドバンステクノロジ株式会社 Scenario providing system, scenario providing device, scenario executing terminal, scenario providing method, scenario executing method and program
JP2020119047A (en) 2019-01-18 2020-08-06 株式会社リコー Information processing system, information processing apparatus, parameter setting method, and program
JP2021033858A (en) 2019-08-28 2021-03-01 エヌ・ティ・ティ・アドバンステクノロジ株式会社 Scenario analysis system, scenario management device, scenario information extraction method and program
US20230132894A1 (en) 2020-01-24 2023-05-04 Hitachi Systems, Ltd. Chat bot control device, chat bot control method, and chat bot control device system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107481A (en) 2004-10-01 2006-04-20 Microsoft Corp Framework for seamlessly authoring and editing workflow at design and runtime
JP2020113034A (en) 2019-01-11 2020-07-27 エヌ・ティ・ティ・アドバンステクノロジ株式会社 Scenario providing system, scenario providing device, scenario executing terminal, scenario providing method, scenario executing method and program
JP2020119047A (en) 2019-01-18 2020-08-06 株式会社リコー Information processing system, information processing apparatus, parameter setting method, and program
JP2021033858A (en) 2019-08-28 2021-03-01 エヌ・ティ・ティ・アドバンステクノロジ株式会社 Scenario analysis system, scenario management device, scenario information extraction method and program
US20230132894A1 (en) 2020-01-24 2023-05-04 Hitachi Systems, Ltd. Chat bot control device, chat bot control method, and chat bot control device system

Also Published As

Publication number Publication date
JP2026063225A (en) 2026-04-10
JP2023128109A (en) 2023-09-14

Similar Documents

Publication Publication Date Title
US7984230B2 (en) Allocation of logical volumes to flash memory drives
KR101323011B1 (en) Command user interface for displaying selectable functionality controls in a database application
US10606581B2 (en) Management system for creating service
US7437686B1 (en) Systems, methods and computer program products for graphical user interface presentation to implement filtering of a large unbounded hierarchy to avoid repetitive navigation
JP4701282B2 (en) Storage system and interface management method
JP2026063225A (en) Scenario management device, scenario management program, and scenario management method
CN105528368A (en) A database migration method and device
US20150058282A1 (en) Assigning and managing reviews of a computing file
US9342317B2 (en) Importing profiles for configuring specific system components into a configuration profile for the system
JP2020064399A (en) Control system, control device, terminal device, and program
JP2010113587A (en) Storage system and management method for file system by the storage system
JP4548037B2 (en) Cache memory management method, storage device or computer system
CN109309588B (en) Method and device for ensuring consistency of dynamic configuration data
JP2024007276A (en) Scenario management apparatus, scenario management program, recording medium, and scenario management method
JP4164760B2 (en) Digital mixer, scene data editing device, mixer configuration editing device, and scene data storage device
US20220100565A1 (en) Computer system and resource reallocation method
US20230108676A1 (en) Scenario management device, scenario management method, and a computer-readable recording medium recording a program causing a computer to function as the scenario management device
TWI919248B (en) Method, recording medium, and apparatus of identifying unused function included in source code
JP7799039B2 (en) Control device
JP4164818B2 (en) Mixer configuration editing device
JP2019008391A (en) Information processing device, information processing system, control method and program thereof
JP2020009169A (en) Information processing system and program for supporting attachment of note
JP4164819B2 (en) Mixer configuration editing device
TW202540835A (en) Method , recording medium , and apparatus of identifying unused function included in source code
EP2096519A1 (en) Method and apparatus for managing folder

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20221108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20221108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20251015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251106

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20251106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20251223

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260119

R150 Certificate of patent or registration of utility model

Ref document number: 7808488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150