JP7524690B2 - JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS - Google Patents
JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS Download PDFInfo
- Publication number
- JP7524690B2 JP7524690B2 JP2020153777A JP2020153777A JP7524690B2 JP 7524690 B2 JP7524690 B2 JP 7524690B2 JP 2020153777 A JP2020153777 A JP 2020153777A JP 2020153777 A JP2020153777 A JP 2020153777A JP 7524690 B2 JP7524690 B2 JP 7524690B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- content
- tree structure
- command
- structured document
- 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
Links
- 238000000034 method Methods 0.000 title claims description 85
- 230000010365 information processing Effects 0.000 title claims description 46
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000012545 processing Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 57
- 238000007781 pre-processing Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 description 45
- 238000010586 diagram Methods 0.000 description 31
- 238000013515 script Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 101150098958 CMD1 gene Proteins 0.000 description 3
- 101100382321 Caenorhabditis elegans cal-1 gene Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、判定プログラム等に関する。 The present invention relates to a judgment program, etc.
業務効率化の一環として、システムの単純操作を自動化するRPA(Robotic Process Automation)が注目されている。 As part of efforts to improve business efficiency, RPA (Robotic Process Automation), which automates simple system operations, is attracting attention.
たとえば、作業員は、WEBアプリの画面操作の機能をテストする場合、手作業で、同じ操作を繰り返し実行しているが、RPAツールを利用することで、操作を自動化でき、作業者の負担を削減することができる。RPAの自動再生は、操作命令と操作対象とを記録したシナリオに基づいて実行されている。 For example, when testing the screen operation functions of a web application, workers manually perform the same operations repeatedly, but by using an RPA tool, the operations can be automated, reducing the burden on workers. Automatic playback of RPA is performed based on a scenario that records the operation commands and the operation targets.
ここで、開発の途中でWEBアプリのソースが改変された場合や、同じシナリオを別のブラウザやサイズの異なるブラウザを動かそうとした場合、操作対象を見つけることができず、シナリオが正しく動作しない場合がある。このため、シナリオの実行環境が変化しても、自動再生を安定して動作させる技術が求められている。 However, if the source of the web app is modified during development, or if an attempt is made to run the same scenario on a different browser or a browser of a different size, the target of the operation may not be found and the scenario may not work correctly. For this reason, there is a demand for technology that allows autoplay to operate stably even if the scenario execution environment changes.
シナリオを作成した環境とは別の環境でシナリオを再生する技術として従来技術1がある。図15は、従来技術1を説明するための図である。図15では、シナリオ作成時において、操作命令を記録する構造化文書を、構造化文書10とし、シナリオを再生する別環境の構造化文書を、構造化文書20とする。構造化文書10は、ノード10a~10iを有する。構造化文書20は、ノード20a~20iを有する。
There is
操作命令の記録時において、構造化文書10のノード10gに対して所定の操作を行うことが、シナリオとして生成されたものとする。従来技術1では、かかるシナリオを構造化文書20に対して動作させると、ノード10gに対応するノード20gに対して、所定の操作を実行する。
When the operation command is recorded, a scenario is generated in which a specific operation is performed on
ここで、従来技術1では、シナリオを作成した後において、構造化文書が改変され、操作対象のノードが削除された場合でも、操作を中断しないで実行することができる。従来技術1では、対応するノードが削除されていた場合、操作対象を親ノードに代替することで、一連の自動処理を継続する。
Here, in
たとえば、シナリオを基にして操作を再生する際に、構造化文書10のノード10gに対応する構造化文書20のノード20gが削除されている場合について説明する。この場合、従来技術1では、ノード10gの親ノード10bに対応するノード20bに対して、所定の操作を実行する。
For example, when reproducing an operation based on a scenario, a case will be described in which
しかし、従来技術1のように、対応するノードが削除されていた場合に、操作対象を親ノードに代替することは、操作対象のノードを適切に選択しているとは言えない。図16は、従来技術1の問題を説明するための図である。図16では、シナリオ作成時において、操作命令を記録する構造化文書を、構造化文書15とし、シナリオを再生する別環境の構造化文書を、構造化文書25とする。構造化文書15は、ノード15a~15iを有する。構造化文書25は、ノード25a~25hを有する。
However, as in
構造化文書15に対応する画面を、画面16とする。画面16は、パーツ16b~16iを有する。構造化文書15のノード15b~15iが、画面16のパーツ16b~16iに対応する。
The screen corresponding to structured
構造化文書25に対応する画面を、画面26とする。画面26には、パーツ26b~26hを有する。構造化文書25のノード25b~25hが、画面26のパーツ26b~26hに対応する。
The screen corresponding to structured
たとえば、従来技術1では、構造化文書15のノード15fに対して所定の操作(クリック操作)を行うシナリオを例にして説明を行う。かかるシナリオを、構造化文書15に対して動作させると、画面16のパーツ16f(button)がクリック操作する。
For example, in
続いて、上記のシナリオを、構造化文書25に対して動作させると次のような動作を行う。従来技術1では、ノード15fに対応するノードが、構造化文書25に存在しないため、ノード15fの親ノード15cに対応するノード25cを、操作対象として、クリック操作を実行することになる。ここで、ノード25cは、画面26のパーツ26c(領域)に対応するノードであるため、かかる領域をクリックする操作は、上記のボタンをクリックする操作とは異なっており、適切な対応付けが行われていない。
Next, when the above scenario is run on structured
また、構造化文書の改変は、図15で説明したようなノードの削除に限られるものではなく、ノードが追加される改変や、構造自体が変化する改変も存在する。このような改変が行われた場合、従来技術1では、操作対象のノードを適切に選択することが難しい。
Modifications to structured documents are not limited to the deletion of nodes as described in FIG. 15, but also include modifications that add nodes and modifications that change the structure itself. When such modifications are made, it is difficult for
ここで、木構造間が変化した場合でも要素(ノード)の対応付けを行う技術として、木構造編集距離を用いる方法が知られている。木構造編集処理は、比較対象の各木構造の要素の相違の度合いを示すものである。木構造編集距離を用いる方法を従来技術2と表記する。従来技術2では、木構造の要素の相違を「挿入」、「削除」、「置換」の編集操作で表し、編集操作にコストを設定し、最小コストとなる要素の対応付けを求める。 A method using tree edit distance is known as a technique for matching elements (nodes) even when there is a change between tree structures. Tree structure editing processing indicates the degree of difference between elements in each of the tree structures being compared. The method using tree edit distance is referred to as Prior Art 2. In Prior Art 2, differences between elements in tree structures are expressed by editing operations of "insertion," "deletion," and "replacement," and costs are set for the editing operations to find the matching of elements with the minimum cost.
図17は、木構造編集距離に関する編集操作を説明するための図である。編集操作を行う前の木構造を、木構造5とする。木構造5では、ノードaの下に、ノードbおよびノードcが接続される。ノードcの下にノードdおよびノードeが接続される。
Figure 17 is a diagram for explaining an editing operation related to the tree structure edit distance. The tree structure before the editing operation is called
木構造5に対して、編集操作「挿入」を実行すると、木構造5は、木構造5aとなる。木構造5では、ノードaの下にノードfが挿入され、ノードfの下にノードcが接続されている。
When the editing operation "insert" is executed on
木構造5に対して、編集操作「置換」を実行すると、木構造5は、木構造5bとなる。木構造5bでは、ノードcが、ノードfに置換されている。
When the editing operation "replace" is performed on
木構造5に対して、編集操作「削除」を実行すると、木構造5は、木構造5cとなる。木構造5cでは、ノードcが削除されることで、ノードaの下に、ノードcに接続されていたノードdおよびノードeが接続されている。
When the editing operation "delete" is executed on
図18は、従来技術2を説明するための図である。図18において編集前の構造化文書を構造化文書17とし、編集後の構造化文書を構造化文書27とする。従来技術2では、構造化文書17と、構造化文書27とを比較し、構造化文書17に対して編集操作を加えて、構造化文書17のHTML要素と構造化文書27のHTML要素とを対応付ける。構造化文書17に対する編集操作の回数に応じて、総コストが決定され、最小コストとなる対応付けを求める。
Figure 18 is a diagram for explaining prior art 2. In Figure 18, the structured document before editing is structured
対応付け(A)では、「div2」(HTML要素17-6)を挿入する編集操作と、「項目3」(HTML要素17-9)を挿入する編集操作が行われている。これによって、HTML要素17-1~17-5と、HTML要素27-1~27-5とがそれぞれ対応付けられる。また、HTML要素17-6,17-7と、HTML要素27-7,27-8とがそれぞれ対応付けられる。対応付け(A)の総コストは「2」となる。 In association (A), an editing operation is performed to insert "div2" (HTML element 17-6) and an editing operation is performed to insert "item 3" (HTML element 17-9). As a result, HTML elements 17-1 to 17-5 are associated with HTML elements 27-1 to 27-5, respectively. In addition, HTML elements 17-6 and 17-7 are associated with HTML elements 27-7 and 27-8, respectively. The total cost of association (A) is "2".
対応付け(B)では、「div2」(HTML要素17-6)を挿入する編集操作と、「項目2」(HTML要素17-8)を挿入する編集操作とが行われている。また、対応付け(B)では、「項目1」(HTML要素17-7)に置換する編集操作と、「項目3」(HTML要素17-9)に置換する編集操作とが行われている。
In correspondence (B), an editing operation is performed to insert "div2" (HTML element 17-6) and an editing operation is performed to insert "item 2" (HTML element 17-8). Also, in correspondence (B), an editing operation is performed to replace with "
これによって、HTML要素17-1~17-5と、HTML要素27-1~27-5とがそれぞれ対応付けられる。HTML要素17-6と、HTML要素27-9とが対応付けられる。また、HTML要素17-7と、HTML要素27-7とが対応付けられる。対応付け(B)の総コストは「4」となる。 As a result, HTML elements 17-1 to 17-5 are associated with HTML elements 27-1 to 27-5, respectively. HTML element 17-6 is associated with HTML element 27-9. HTML element 17-7 is associated with HTML element 27-7. The total cost of association (B) is "4."
従来技術2では、対応付け(A)と対応付け(B)とのうち、総コストが最小となる対応付け(A)の対応付け結果を採用する。 In conventional technology 2, the matching result of matching (A) that has the smallest total cost is adopted between matching (A) and matching (B).
しかしながら、上述した従来技術2では、適切なノードの対応付けを行うことができないという問題がある。 However, the above-mentioned conventional technique 2 has the problem that it is not possible to perform appropriate node matching.
従来技術2で説明した木構造編集距離で求めた要素の対応付けをそのまま利用してよいのかということが問題としてあげられる。図19~図22は、従来技術2の問題を説明するための図である。 The problem is whether it is acceptable to use the element correspondence found using the tree edit distance described in Prior Art 2 as is. Figures 19 to 22 are diagrams used to explain the problems with Prior Art 2.
図19について説明する。図19において編集前の構造化文書を構造化文書18とし、編集後の構造化文書を構造化文書28とする。構造化文書18は、ノード18a~18iを有する。構造化文書28は、ノード28a~28iを有する。図19に示す例では、ノード18fの「項目3」が、ノード28fの「項目4」に置換されている。
Now let us consider Figure 19. In Figure 19, the structured document before editing is structured
構造化文書18に対応する画面を、画面19とする。画面19は、パーツ19b~19iを有する。構造化文書18のノード18b~18iが、画面19のパーツ19b~19iに対応する。
The screen corresponding to structured
構造化文書28に対応する画面を、画面29とする。画面29は、パーツ29b~29iを有する。構造化文書28のノード28b~28iが、画面29のパーツ29b~29iに対応する。
The screen corresponding to structured
構造化文書18と、構造化文書28とに対して、従来技術2に基づく対応付けを行うと、図20に示すものとなる。図20に示すように、構造化文書18のノード18a~18iは、構造化文書28のノード28a~28hにそれぞれ対応付けられる。ここで、ノード18hの「項目3」は、ノード28hの「項目4」に類似しており、他のノード(要素)は完全一致なので、図20に示す対応付けは妥当である。
When structured
しかし、シナリオにおいてノード18hに対する操作命令を、ノード28hにそのまま適用してよいのかという問題が残る。すなわち、編集前の構造化文書と、編集後の構造化文書との間で、ノードの対応付けを行うことと、対応付けたノード同士を同一と見なして、同一の操作命令を実行することは、判定基準が異なる。編集前の構造化文書と、編集後の構造化文書との間で、ノードの対応付けを行う目的は、シナリオを用いた自動再生であるため、シナリオを作成した環境と等価な操作命令を実行してもよいかを判定することが望ましいといえる。
However, the question remains as to whether an operation command for
また、従来技術2では、最適な対応付けを求めるために類似ノードの対応付けを許容している。 In addition, prior art 2 allows matching of similar nodes to find optimal matching.
図21の説明に移行する。図21において編集前の構造化文書を構造化文書30とし、編集後の構造化文書を構造化文書35とする。構造化文書30は、ノード30a~30dを有する。構造化文書35は、ノード35a~35eを有する。
We now move on to the explanation of Figure 21. In Figure 21, the structured document before editing is structured
構造化文書30に対応する画面を、画面31とする。画面31は、パーツ31b~31dを有する。構造化文書30のノード30b~30dが、画面31のパーツ31b~31dに対応する。
The screen corresponding to structured
構造化文書35に対応する画面を、画面36とする。画面36は、パーツ36b~36eを有する。構造化文書35のノード35b~35eが、画面36のパーツ36b~36eに対応する。
The screen corresponding to structured
構造化文書30と、構造化文書35とに対して、従来技術2に基づく対応付けを行うと、図22に示すように、対応付けの候補が複数となる。図22に示すように、たとえば、対応付け候補30-1では、ノード30bおよびノード35b、ノード30cおよびノード35c、ノード30dおよびノード35dがそれぞれ対応付けられる。対応付け候補30-2では、ノード30bおよびノード35b、ノード30cおよびノード35e、ノード30dおよびノード35dがそれぞれ対応付けられる。
When structured
ここで、図21に示したように、ノード30cのタグの種類は「button」であり、ノード30cに対する操作命令はボタンを操作するクリック等となる。これに対して、ノード35cのタグの種類は「text」であるため、対応付け候補30-1に基づいて各ノードを対応付けてしまうと、ノード30cに対する操作命令を、ノード35cに対して実行することができない。
As shown in FIG. 21, the tag type of
一方、ノード35eのタグの種類は「button」である。このため、対応付け候補30-2に基づいて対応付けを行うと、ノード35eに関しては、ノード30cに対する操作命令と同様の操作命令を実行可能となる。
On the other hand, the tag type of
すなわち、対応付け候補30-1と、対応付け候補30-2とを比較すると、対応付け候補30-2の方が対応関係が適切であるといえる。しかし、従来技術2では、かかる判定を行うことができず、適切なノードの対応付けを行うことができない。 In other words, when matching candidate 30-1 and matching candidate 30-2 are compared, it can be said that matching candidate 30-2 has a more appropriate matching relationship. However, conventional technology 2 is unable to make such a judgment and is therefore unable to match the nodes appropriately.
1つの側面では、本発明は、適切なノードの対応付けを行うことができる判定プログラム、判定方法および情報処理装置を提供することを目的とする。 In one aspect, the present invention aims to provide a determination program, a determination method, and an information processing device that can perform appropriate node matching.
第1の案では、コンピュータに次の処理を実行させる。コンピュータは、操作命令の記録時において、第1木構造に含まれる複数の第1ノードに対して、操作命令を記録する。コンピュータは、操作命令の再生時において、第1木構造と第2木構造との構造の比較結果を基にして、第1木構造に含まれる複数の第1ノードと、第2木構造に含まれる複数の第2ノードとの仮の対応付けを行う。コンピュータは、仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定する。 In the first proposal, the computer executes the following process. When recording an operation command, the computer records the operation command for a plurality of first nodes included in a first tree structure. When reproducing the operation command, the computer performs a provisional correspondence between a plurality of first nodes included in the first tree structure and a plurality of second nodes included in the second tree structure based on a comparison result between the first tree structure and the second tree structure. For the first node and the second node for which a provisional correspondence has been performed, the computer determines whether or not to associate the first node and the second node for which a provisional correspondence has been performed based on the similarity between the content of the first node and the content of the second node.
適切なノードの対応付けを行うことができる。 The appropriate nodes can be matched.
以下に、本願の開示する判定プログラム、判定方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。 Below, examples of the determination program, determination method, and information processing device disclosed in the present application are described in detail with reference to the drawings. Note that the present invention is not limited to these examples.
図1は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図1に示すように、この情報処理装置100は、通信部110と、入力部120と、出力部130と、記憶部140と、制御部150とを有する。
FIG. 1 is a functional block diagram showing the configuration of an information processing device according to this embodiment. As shown in FIG. 1, this information processing device 100 has a
通信部110は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した外部装置と制御部150との通信を制御する。
The
入力部120は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部150に対して操作命令などの各種指示情報を入力する。出力部130は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。
The input unit 120 is realized using input devices such as a keyboard and a mouse, and inputs various instruction information such as operation commands to the
記憶部140は、構造化文書テーブル140aと、操作履歴テーブル140bと、ノード対応テーブル140cとを有する。記憶部140は、たとえば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。 The storage unit 140 has a structured document table 140a, an operation history table 140b, and a node correspondence table 140c. The storage unit 140 is realized, for example, by a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk.
構造化文書テーブル140aは、構造化文書に関する情報を保持するテーブルである。図2は、構造化文書テーブル140aのデータ構造の一例を示す図である。図2に示すように、この構造化文書テーブル140aは、文書識別情報と、構造化文書と、HTML(HyperText Markup Language)ソースとを対応付ける。 The structured document table 140a is a table that holds information about structured documents. FIG. 2 is a diagram showing an example of the data structure of the structured document table 140a. As shown in FIG. 2, this structured document table 140a associates document identification information, structured documents, and HTML (HyperText Markup Language) sources.
文書識別情報は、構造化文書を一意に識別する情報である。構造化文書は、HTMLソースを解析することで得られる文書構造(DOM:Document Object Model)である。HTMLソースは、WEB画面を表示するためのソースプログラムである。 Document identification information is information that uniquely identifies a structured document. A structured document is a document structure (DOM: Document Object Model) obtained by analyzing an HTML source. An HTML source is a source program for displaying a web screen.
図3は、HTMLソースと構造化文書とWEB画面との関係を説明するための図である。たとえば、情報処理装置100が、HTMLソースSo50を解析することで、構造化文書D50が得られる。構造化文書D50は複数のノードD50a~D50dを有し、各ノードD50b~D50dは、HTMLソースSo50の該当するタグに囲まれたコンテンツに対応する。 Figure 3 is a diagram for explaining the relationship between an HTML source, a structured document, and a web screen. For example, information processing device 100 analyzes HTML source So50 to obtain structured document D50. Structured document D50 has multiple nodes D50a to D50d, and each of nodes D50b to D50d corresponds to content surrounded by the corresponding tags in HTML source So50.
たとえば、ノードD50bは、コンテンツ50cbに対応する。ノードD50cは、コンテンツ50ccに対応する。ノードD50dは、コンテンツ50cdに対応する。HTMLソースSo50に含まれる各コンテンツには、文字列、コマンドを実行するためのコマンド関数が定義されている。 For example, node D50b corresponds to content 50cb. Node D50c corresponds to content 50cc. Node D50d corresponds to content 50cd. Each piece of content included in HTML source So50 has a character string and a command function for executing the command defined.
情報処理装置100が、HTMLソースSo50を実行することで、出力部130には、WEB画面I50が表示される。WEB画面I50には、パーツI50b,I50c,I50dが含まれる。ここで、パーツI50bは、ノードD50bに対応する。パーツI50cは、ノードD50cに対応する。パーツI50dは、ノードD50dに対応する。
When the information processing device 100 executes the HTML source So50, a web screen I50 is displayed on the
図1の説明に戻る。操作履歴テーブル140bは、シナリオに関する各種の情報を保持するテーブルである。図4は、操作履歴テーブルのデータ構造の一例を示す図である。図4に示すように、操作履歴テーブル140bは、実行順序、操作対象、操作命令、文書識別情報を対応付ける。 Returning to the explanation of FIG. 1, the operation history table 140b is a table that holds various information related to the scenario. FIG. 4 is a diagram showing an example of the data structure of the operation history table. As shown in FIG. 4, the operation history table 140b associates execution order, operation target, operation command, and document identification information.
実行順序は、シナリオの実行順序を示す。たとえば、S1-1、S1-2、S1-3、・・・S1-nの順に、操作対象に対して、操作命令が実行される。操作対象は、操作命令の実行対象となるノードを示す。操作命令は、操作対象に対するコマンドを示すものである。操作命令には、クリック以外のコマンドであってもよい。文書識別情報は、操作対象のノードを含む構造化文書を示す。 The execution order indicates the execution order of the scenarios. For example, operation commands are executed on the operation targets in the order of S1-1, S1-2, S1-3, ..., S1-n. The operation target indicates the node on which the operation command is to be executed. The operation command indicates a command for the operation target. The operation command may be a command other than a click. The document identification information indicates the structured document that includes the node that is the operation target.
図1の説明に戻る。ノード対応テーブル140cは、シナリオを作成した時点のノードと、シナリオ実行時のノードとの関係を定義するテーブルである。以下の説明では、適宜、シナリオを作成した時点のことを「操作記録時」と表記し、シナリオを実行する時点のことを「操作再生時」と表記する。 Returning to the explanation of Figure 1, the node correspondence table 140c is a table that defines the relationship between the nodes at the time when a scenario is created and the nodes at the time when the scenario is executed. In the following explanation, the time when a scenario is created will be referred to as "time of operation recording" and the time when a scenario is executed will be referred to as "time of operation playback".
図5は、ノード対応テーブルのデータ構造の一例を示す図である。図5に示すように、ノード対応テーブルは、第1ノードと、第2ノードとを対応付ける。第1ノードは、操作記録時の構造化文書に含まれるノードを示す。第2ノードは、操作再生時の構造化文書に含まれるノードを示す。 Figure 5 is a diagram showing an example of the data structure of a node correspondence table. As shown in Figure 5, the node correspondence table associates a first node with a second node. The first node indicates a node included in a structured document when an operation is recorded. The second node indicates a node included in a structured document when an operation is played back.
たとえば、第1ノード「D50a」と第2ノード「D51a」とが対応付けられている。第1ノードに対応する第2ノードの候補が複数存在する場合もあり得る。たとえば、第1ノード「D50b」は、第2ノード「D51b」、「D51d」と対応付けられ、後述する制御部150の処理によって、どちらか一方の第2ノードに対応付けられる。また、第1ノードに対応する第2ノードが存在しない場合には、第2ノードの欄がブランクとなる。
For example, the first node "D50a" is associated with the second node "D51a". There may be multiple candidates for the second node that corresponds to the first node. For example, the first node "D50b" is associated with the second nodes "D51b" and "D51d", and is associated with one of the second nodes by processing of the
図1の説明に戻る。制御部150は、画面表示処理部150aと、記録処理部150bと、前処理部150cと、判定部150dと、実行部150eとを有する。制御部150は、たとえば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)により実現される。また、制御部150は、例えばASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実行されてもよい。
Returning to the explanation of FIG. 1, the
画面表示処理部150aは、ネットワークを介して、外部装置からHTMLソースを取得する。画面表示処理部150aは、作業員によって、URL(Uniform Resource Locator)等を指定された場合には、URLにアクセスして、HTMLソースを取得する。画面表示処理部150aは、取得したHTMLソースを、構造化文書テーブル140aに登録する。 The screen display processing unit 150a acquires HTML source from an external device via the network. When a URL (Uniform Resource Locator) or the like is specified by an operator, the screen display processing unit 150a accesses the URL and acquires the HTML source. The screen display processing unit 150a registers the acquired HTML source in the structured document table 140a.
画面表示処理部150aは、取得したHTMLソースに基づくWEB画面を生成し、WEB画面の情報を、出力部130に出力して、WEB画面を表示させる。
The screen display processing unit 150a generates a web screen based on the acquired HTML source, and outputs the web screen information to the
作業員は、操作記録時において、出力部130に表示されるWEB画面を参照しつつ、入力部120を操作することで、操作対象と、操作命令とを指定する作業を繰り返し実行することで、シナリオに関する情報を、情報処理装置100に入力する。作業員は、操作記録時に、URLを入力して、WEB画面の表示要求を行ってもよい。
When recording an operation, the worker refers to the web screen displayed on the
作業員は、操作再生時において、入力部120を操作してURLを入力し、シナリオの実行対象となるWEB画面を指定してもよい。画面表示処理部150aは、作業員から、シナリオの実行対象となるWEB画面の指定を受け付けた場合、該当するWEB画面を出力部130に表示させつつ、WEB画面に対応するHTMLソースを、前処理部150cに出力する。
During operation playback, the worker may operate the input unit 120 to input a URL and specify the web screen on which the scenario is to be executed. When the screen display processing unit 150a receives a specification of the web screen on which the scenario is to be executed from the worker, it displays the corresponding web screen on the
記録処理部150bは、操作記録時において、入力部120から、操作対象、操作命令の入力を受け付けてシナリオを作成し、作成したシナリオの情報を、操作履歴テーブル140bに記録する。以下において、記録処理部150bの処理の一例について説明する。
When recording an operation, the
記録処理部150bは、画面表示処理部150aがWEB画面を出力部130に表示させる際に実行したHTMLソースを解析することで、HTMLソースの構造化文書を生成する。記録処理部150bは、生成した構造化文書に、ユニークな文書識別情報を割り当て、文書識別情報と、構造化文書と、HTMLソースとを対応付けて、構造化文書テーブル140aに記録する。
The
記録処理部150bは、操作記録時において、入力部120から、操作命令、操作対象の入力を受け付けると、図3で説明したWEB画面と、ノードとの関係から、選択対象となるノードを特定する。たとえば、WEB画面I50のパーツI50cが、操作対象として入力された場合には、記録処理部150bは、操作対象のノードを、ノードD50cとして特定する。
When the
記録処理部150bは、実行順序と、操作対象と、操作命令と、文書識別情報とを対応付けて、操作履歴テーブル140bに記録する。
The
記録処理部150bは、入力部120から、操作対象および操作命令の入力を受け付けるたびに、上記処理を繰り返し実行する。以下の説明では、記録処理部150bが生成した操作記録時のHTMLソースの構造化文書を「第1構造化文書」と表記する。第1構造化文書は、第1木構造に対応する。
The
前処理部150cは、操作再生時において、操作記録時の構造化文書と、操作実行時の構造化文書との構造の比較結果を基にして、操作記録時の構造化文書のノードと、操作再生時の構造化文書のノードとの仮の対応付けを行う。以下の説明では、適宜、操作記録時の構造化文書(第1構造化文書)のノードを「第1ノード」と表記する。操作再生時の構造化文書のノードを「第2ノード」と表記する。
When replaying an operation, the
前処理部150cは、仮の対応付けを行った第1ノードと第2ノードとの関係を、ノード対応テーブル140cに登録する。以下において、前処理部150cの処理の一例について説明する。
The
前処理部150cは、操作再生時に、画面表示処理部150aからHTMLソースを取得し、HTMLソースを解析することで、操作再生時のHTMLソースの構造化文書を生成する。以下の説明では、適宜、操作再生時のHTMLソースの構造化文書を「第2構造化文書」と表記する。第2構造化文書は、第2木構造に対応する。
When the operation is being played back, the
前処理部150cは、操作履歴テーブル140bから、文書識別情報を特定し、特定した文書識別情報に対応する第1構造化文書を、構造化文書テーブル140aから取得する。
The
前処理部150cは、第1構造化文書と、第2構造化文書とを比較して、木構造編集距離に基づく編集コストが最小となるように、第1構造化文書の各第1ノードと、第2構造化文書の各第2ノードとをそれぞれ対応付ける。たとえば、前処理部150cは、周知技術「"An Optimal Decomposition Algorithm for Tree Edit Distance".Erik Demaine,Shay Mozes,Benjamin Rossman,Oren Weimann.In Proceedings of the 34th International Colloquium on Automata,Languages and Programming(ICALP 2007)」に記載された技術を基にして、木構造編集距離に基づく編集コストが最小となるように、第1ノードと、第2ノードとを対応付ける。
The
前処理部150cは、第1ノードと、第2ノードとの関係を、ノード対応テーブル140cに登録する。前処理部150cは、編集コストが最小となるような第1ノードと、第2ノードとの組合せが複数存在する場合には、一つの第1ノードに対して、複数の第2ノードを対応付けて、ノード対応テーブル140cに登録する。なお、前処理部150cは、編集コストが閾値未満となる第1ノードと、第2ノードとの関係を、ノード対応テーブル140cに登録してもよい。
The
前処理部150cによって登録された時点において、ノード対応テーブル140cに登録された第1ノードと、第2ノードとの対応関係は、仮の対応関係となる。第1ノードと、第2ノードとの対応関係が適切であるか否かは、後述する判定部150dによって判定される。
At the time of registration by the
操作再生時において、操作履歴テーブル140bに記録された実行順序で、操作対象となるノードに、操作命令が実行されることになるが、前処理部150cは、各実行順序において、上記処理を繰り返し実行する。なお、前処理部150cは、前回実行対象となった第1構造化文書と、今回実行対象となった第1構造化文書とが同一の構造化文書である場合には、前回対応付けた、第1ノードと、第2ノードとの対応関係を流用してもよい。
During operation playback, operation commands are executed on the nodes to be operated in the execution order recorded in the operation history table 140b, and the
判定部150dは、ノード対応テーブル140cを参照し、仮の対応関係となった、第1ノードと、第2ノードとの対応関係が適切な対応関係であるか否かを判定する。たとえば、判定部150dは、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、仮の対応付けを行った第1ノードと、第2ノードとを対応付けるか否かを判定する。なお、判定部150dは、上記の対応関係を判定する際、操作履歴テーブル140bの操作対象となる第1ノードと、かかる第1ノードに対応付けられた第2ノードとの対応関係を判定するものとする。以下において、判定部150dの処理の一例について説明する。
The
判定部150dは、第1ノードに対応するコンテンツを、第1構造化文書のHTMLソースから取得する。第1ノードに対応するコンテンツを、適宜、「第1コンテンツ」と表記する。判定部150dは、第2ノードに対応するコンテンツを、第2構造化文書のHTMLソースから取得する。第2ノードに対応するコンテンツを、適宜、「第2コンテンツ」と表記する。
The
判定部150dは、コンテンツの類似性を判定する処理と、コンテンツに含まれるコマンドの互換性を判定する処理とを実行する。
The
判定部150dが実行するコンテンツの類似性を判定する処理について説明する。判定部150dは、コンテンツの類似性を判定する処理を実行することで、第1ノードと、第2ノードとが、「異なるノード」であるか、「同一の可能性があるノード」であるか、「同一のノード」であるかを判定する。
The process of determining the similarity of content executed by the
図6は、コンテンツの類似性を判定する処理を示すフローチャートである。図6に示すように、情報処理装置100の判定部150dは、第1コンテンツのタグと、第2コンテンツのタグとが同じであるか否かを判定する(ステップS11)。判定部150dは、タグが同じ場合には(ステップS11、Yes)、ステップS15に移行する。判定部150dは、タグが同じでない場合には(ステップS11,No)、ステップS12に移行する。
Figure 6 is a flowchart showing the process of determining the similarity of content. As shown in Figure 6, the
ステップS12の説明に移行する。判定部150dは、第1コンテンツのタグと、第2コンテンツのタグとが同じグループのタグであるか否かを判定する(ステップS12)。判定部150dは、同じグループのタグでない場合には(ステップS12,No)、第1ノードと、第2ノードとが異なるノードであると判定する(ステップS13)。
We now move on to the explanation of step S12. The
一方、判定部150dは、同じグループのタグである場合には(ステップS12,Yes)、第1ノードと、第2ノードとが同一の可能性があるノードであると判定する(ステップS14)。
On the other hand, if the tags are from the same group (step S12, Yes), the
ステップS15の説明に移行する。判定部150dは、第1コンテンツの文字列と、第2コンテンツの文字列とが同じであるか否かを判定する(ステップS15)。判定部150dは、コンテンツの文字列が同じである場合には(ステップS15,Yes)、ステップS17に移行する。
We move on to an explanation of step S15. The
一方、判定部150dは、コンテンツの文字列が同じでない場合には(ステップS15,No)、コンテンツの文字列が類似しているか否かを判定する(ステップS16)。判定部150dは、コンテンツの文字列が類似している場合には(ステップS16,Yes)、第1ノードと、第2ノードとが同一のノードであると判定する(ステップS17)。
On the other hand, if the content character strings are not the same (step S15, No), the
一方、判定部150dは、コンテンツの文字列が類似してない場合には(ステップS16,No)、ステップS14に移行する。
On the other hand, if the content strings are not similar (step S16, No), the
判定部150dは、上記の図6の処理を実行することで、第1ノードと、第2ノードとが、「異なるノード」であるか、「同一の可能性があるノード」であるか、「同一のノード」であるかを判定する。
The
判定部150dは、第1ノードと、第2ノードとが、異なるノードである場合には、第1ノードの第1コンテンツと、第2ノードの第2コンテンツとの類似度が低いものとして、第1ノードと、第2ノードとを対応付けないと判定する。判定部150dは、第1ノードと、異なるノードであると判定した第2ノードの情報を、ノード対応テーブル140cから削除する。
When the first node and the second node are different nodes, the
たとえば、図5を用いて説明を行う。判定部150dは、第1ノードD50bと、第2ノードD51bとが異なるノードと判定した場合、ノード対応テーブル140cにおいて、第1ノードD50bに対応付けられた、第2ノードD51bを削除する。
For example, the following description will be given with reference to FIG. 5. If the
判定部150dは、第1ノードと、第2ノードとが、同一のノードである場合には、第1ノードの第1コンテンツと、第2ノードの第2コンテンツとの類似度が高いものとして、第1ノードと、第2ノードとを対応付けると判定する。
When the first node and the second node are the same node, the
判定部150dは、第1ノードと、第2ノードとが、同一の可能性のあるノードである場合には、かかる第1ノードと、第2ノードとについて、コンテンツに含まれるコマンドの互換性を判定する処理を実行する。
When the first node and the second node are potentially the same node, the
ここで、コンテンツの類似性判定の一例について説明する。図7は、コンテンツの類似性判定の一例を説明するための図である。図7において、HTMLソース40を、操作記録時のHTMLソースとする。HTMLソース41を、操作再生時のHTMLソースとする。
Here, an example of content similarity determination will be described. FIG. 7 is a diagram for explaining an example of content similarity determination. In FIG. 7,
HTMLソース40は、コンテンツ40aと、コンテンツ40bとを有する。HTMLソース41は、コンテンツ41aと、コンテンツ41bとを有する。
コンテンツ40aのタグ「span1」と、コンテンツ41aのタグ「span1」とは、同じタグであり、コンテンツ40aの文字列と、コンテンツ41aの文字列とは同じである。たとえば、判定部150dは、第1ノードのコンテンツが、コンテンツ40aであり、第2ノードのコンテンツが、コンテンツ41aである場合には、第1ノードと、第2ノードとが、「同一のノード」であると判定する。
The tag "span1" of
コンテンツ40bのタグ「div」と、コンテンツ41bのタグ「span2」とは、異なるタグであるが、いずれも「テキスト領域の範囲を示す」という共通の機能をもつタグであるため、機能的に類似のタグと見なす。たとえば、判定部150dには、共通の機能を持つタグの情報が予め設定されおり、判定部150dは、かかる情報を基にして、類似のタグであるか否かを判定する。たとえば、判定部150dは、第1ノードのコンテンツが、コンテンツ40bであり、第2ノードのコンテンツが、コンテンツ41bである場合には、第1ノードと、第2ノードとが、「同一の可能性があるノード」であると判定する。
The tag "div" in
続いて、判定部150dが実行するコンテンツに含まれるコマンドの互換性を判定する処理について説明する。判定部150dは、コンテンツに含まれるコマンドの互換性を判定することで、同一の可能性のある第1ノードと、第2ノードとが、互換性のあるノードであるか否かを判定する。以下に説明するように、判定部150dは、同一の可能性のある第1ノードと、第2ノードとが、互換性のあるノードである場合に、第1ノードと、第2ノードとの対応付けを行う。
Next, the process of determining the compatibility of commands included in the content executed by the
図8は、コンテンツに含まれるコマンドの互換性を判定する処理を示すフローチャートである。図8に示すように、情報処理装置100の判定部150dは、両方のノードのコンテンツにコマンドが登録されているか否かを判定する(ステップS21)。判定部150dは、両方のノードのコンテンツにコマンドが登録されていない場合には(ステップS21,No)、ステップS22に移行する。一方、判定部150dは、両方のノードのコンテンツにコマンドが登録されている場合には(ステップS21,Yes)、ステップS24に移行する。
Figure 8 is a flowchart showing the process of determining the compatibility of commands included in content. As shown in Figure 8, the
ステップS22の説明に移行する。判定部150dは、片方のノードのコンテンツのみにコマンドが登録されているか否かを判定する(ステップS22)。判定部150dは、片方のノードのコンテンツのみにコマンドが登録されている場合には(ステップS22,Yes)、互換性なしと判定する(ステップS23)。
We move on to the explanation of step S22. The
一方、判定部150dは、片方のノードのコンテンツのみにコマンドが登録されていない場合には(ステップS22,No)、ステップS26に移行する。
On the other hand, if a command is not registered in the content of only one of the nodes (step S22, No), the
ステップS24の説明に移行する。判定部150dは、コマンドの関数名が同じであるか否かを判定する(ステップS24)。判定部150dは、コマンドの関数名が同じである場合には(ステップS24,Yes)、ステップS26に移行する。
We move on to an explanation of step S24. The
一方、判定部150dは、コマンドの関数名が同じでない場合には(ステップS24,No)、コマンドの関数の定義が類似しているか否かを判定する(ステップS25)。判定部150dは、コマンドの関数の定義が類似してない場合には(ステップS25,No)、ステップS23に移行する。一方、判定部150dは、コマンドの関数の定義が類似している場合には(ステップS25,Yes)、互換性ありと判定する(ステップS26)。
On the other hand, if the function names of the commands are not the same (step S24, No), the
判定部150dは、上記の図8の処理を実行することで、同一の可能性がある第1ノードと、第2ノードとが、コマンドの互換性があるか否かを判定する。判定部150dは、コマンドの互換性がない場合には、第1ノードの第1コンテンツと、第2ノードの第2コンテンツとの類似度が低いものとして、第1ノードと、第2ノードとを対応付けないと判定する。判定部150dは、第1ノードと、異なるノードであると判定した第2ノードの情報を、ノード対応テーブル140cから削除する。
The
一方、判定部150dは、コマンドの互換性がある場合には、第1ノードの第1コンテンツと、第2ノードの第2コンテンツとの類似度が高いものとして、第1ノードと、第2ノードとを対応付けると判定する。
On the other hand, if the commands are compatible, the
ここで、コンテンツのコマンドの互換性判定の一例について説明する。図9は、コンテンツのコマンドの互換性判定の一例を説明するための図である。図9において、HTMLソース42を、操作記録時のHTMLソースとする。HTMLソース43を、操作再生時のHTMLソースとする。
Here, an example of content command compatibility determination will be described. FIG. 9 is a diagram for explaining an example of content command compatibility determination. In FIG. 9,
HTMLソース42には、第1ノードに対応するコンテンツ42aが含まれる。たとえば、コンテンツ42aに対応するWEB画面のパーツには「name=“hoge”」のボタン(button)が設定されており、かかるボタンに対してクリックコマンドが実行されると、関数「cmd1()」が呼び出される。関数「cmd1()」の内部スクリプトは、HTMLソース42の領域42bに示すスクリプトとなる。内部スクリプトは、関数の定義に対応する。
The
HTMLソース43には、第2ノードに対応するコンテンツ43aが含まれる。たとえば、コンテンツ423に対応するWEB画面のパーツには「name=“hoge”」のボタン(button)が設定されており、かかるボタンに対してクリックコマンドが実行されると、関数「cmd2()」が呼び出される。関数「cmd2()」の内部スクリプトは、HTMLソース42の領域43bに示すスクリプトとなる。
The
判定部150dは、各関数の関数名が同じである場合には、コンテンツのコマンドに互換性があると判定する。
If the function names of the functions are the same, the
判定部150dは、各関数の関数名が異なる場合には、関数の内部スクリプトを比較し、内部スクリプトが同じ場合には、コンテンツのコマンドに互換性があると判定する。図9で示した例では、関数名「cmd1()」と、関数名「cmd2()」とが異なるが、内部スクリプトが同じであるため、互換性がある判定される。
If the function names of the functions are different, the
一方、判定部150dは、各関数の関数名が異なり、内部スクリプトが異なる場合には、コンテンツのコマンドに互換性がないと判定する。
On the other hand, if the function names of the functions are different and the internal scripts are different, the
なお、判定部150dは、内部スクリプトが完全に一致しない場合でも、内部スクリプトが類似している場合には、コンテンツのコマンドに互換性があると判定してもよい。たとえば、判定部150dは、内部スクリプトの文字列を単語列に分割し、同じ単語が所定の割合以上の場合に、内部スクリプトが類似していると判定する。
Note that the
上記のように、判定部150dが、コンテンツの類似性を判定する処理と、コンテンツに含まれるコマンドの互換性を判定する処理とを実行することで、ノード対応テーブル140cの仮の対応関係が、確定した対応関係となる。
As described above, the
図1の説明に戻る。実行部150eは、操作再生時に、操作履歴テーブル140bを基にして、シナリオを実行する処理部である。実行部150eは、操作履歴テーブル140bに記録された、実行順序S1-mに対応する操作対象(第1ノード)と、ノート対応テーブル140cとを基にして、第1ノードに対応する第2ノードを特定する。実行順序が次の実行順序に移行する度に、上記の前処理部150c、判定部150dによって、ノード対応テーブル140cが更新される。
Returning to the explanation of FIG. 1, the
実行部150eは、第2ノードに対して、実行順序S1-mに対応する操作命令を実行する。実行部150eは、実行順序S1-m(m=1、2、3、4、・・・n)に従って、上記処理を繰り返し実行する。
The
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。図10は、情報処理装置の操作記録時の処理手順を示すフローチャートである。図10に示すように、情報処理装置100の記録処理部150bは、WEB画面のUI(User Interface)操作を1ステップ受け付ける(ステップS101)。
Next, an example of the processing procedure of the information processing device 100 according to this embodiment will be described. FIG. 10 is a flowchart showing the processing procedure when recording an operation of the information processing device. As shown in FIG. 10, the
記録処理部150bは、操作対象のノードと操作命令とを操作履歴テーブル140bに記録する(ステップS102)。記録処理部150bは、操作記録時の構造化文書を構造化文書テーブル140aに登録する(ステップS103)。
The
記録処理部150bは、UI操作が終了していない場合には(ステップS104,No)、ステップS101に移行する。記録処理部150bは、UI操作が終了した場合には(ステップS104,Yes)、処理を終了する。
If the UI operation has not ended (step S104, No), the
図11は、情報処理装置の操作再生時の処理手順を示すフローチャートである。図11に示すように、情報処理装置100の前処理部150cは、操作履歴テーブル140bから1ステップ分のレコードを取得する(ステップS201)。
Figure 11 is a flowchart showing the processing procedure when reproducing operations of an information processing device. As shown in Figure 11, the
前処理部150cは、操作再生時の第2構造化文書を取得する(ステップS202)。前処理部150cは、第1構造化文書および第2構造化文書の比較を行い、ノード対応テーブル140cを生成する(ステップS203)。
The
情報処理装置100の判定部150dは、ノード対応テーブル140cを基にして、操作対象の第1ノードに対応する、第2ノードが存在するか否かを判定する(ステップS204)。判定部150dは、操作対象の第1ノードに対応する、第2ノードが存在しない場合には(ステップS205,No)、ステップS201に移行する。一方、判定部150dは、操作対象の第1ノードに対応する、第2ノードが存在する場合には(ステップS205,Yes)、ステップS206に移行する。
The
情報処理装置100の判定部150d、実行部150eは、コマンド実行処理を実行する(ステップS206)。情報処理装置100は、操作履歴テーブルのシナリオが終了していない場合には(ステップS207,No)、ステップS201に移行する。一方、情報処理装置100は、操作履歴テーブルのシナリオが終了した場合には(ステップS207,Yes)、処理を終了する。
The
次に、図11のステップS206に示したコマンド実行処理の処理手順について説明する。図12は、コマンド実行処理の処理手順を示すフローチャートである。図12に示すように、情報処理装置100の判定部150dは、類似性判定処理を実行する(ステップS301)。判定部150dが実行する類似性判定処理の処理手順は、図6で説明した処理手順に対応する。
Next, the processing procedure of the command execution process shown in step S206 in FIG. 11 will be described. FIG. 12 is a flowchart showing the processing procedure of the command execution process. As shown in FIG. 12, the
情報処理装置100の実行部150eは、第1ノードと第2ノードとが異なるノードである場合には(ステップS302,Yes)、ステップS307に移行する。一方、情報処理装置100は、第1ノードと第2ノードとが異なるノードでない場合には(ステップS302,No)、ステップS303に移行する。
If the first node and the second node are different nodes (step S302, Yes), the
情報処理装置100の実行部150eは、第1ノードと第2ノードとが同一のノードである場合には(ステップS303,Yes)、第2ノードに対して操作命令(コマンド)を実行する(ステップS304)。
If the first node and the second node are the same node (step S303, Yes), the
一方、判定部150dは、第1ノードと第2ノードとが同一のノードでない場合には(ステップS303,No)、互換性判定処理を実行する(ステップS305)。判定部150dが実行する互換性判定処理の処理手順は、図8で説明した処理手順に対応する。
On the other hand, if the first node and the second node are not the same node (step S303, No), the
実行部150eは、第1ノードのコマンドと、第2ノードのコマンドとが互換性のあるコマンドである場合には(ステップS306,Yes)、ステップS304に移行する。一方、実行部150eは、第1ノードのコマンドと、第2ノードのコマンドとが互換性のないコマンドである場合には(ステップS306,No)、操作命令をスキップする(ステップS307)。
If the command of the first node and the command of the second node are compatible (step S306, Yes), the
次に、情報処理装置100が実行するシナリオの実現例について説明する。図13は、シナリオの実現例を示す図である。操作記録時のWEB画面を、WEB画面50とする。作業員は、入力部120を操作して、WEB画面50のボタンBをクリックするシナリオを生成すると、記録処理部150bは、操作履歴テーブル140bに、操作対象「ボタンB」と、操作命令「クリック」が記録される。
Next, an example of a scenario executed by the information processing device 100 will be described. FIG. 13 is a diagram showing an example of a scenario. The web screen at the time of operation recording is assumed to be
操作再生時のWEB画面を、WEB画面51とする。情報処理装置100の実行部150eは、操作履歴テーブル140bを基にして、操作対象となるWEB画面51のボタンBを特定し、操作命令に従って、WEB画面51のボタンBをクリックする。
The web screen during the operation playback is assumed to be
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、操作再生時において、第1構造化文書と、第2構造化文書との構造の比較結果を基にして、第1ノードと第2ノードとの仮の対応付けを行う。そして、情報処理装置100は、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定する。これによって、第1構造化文書の第1ノードと、第2構造化文書の第2ノードとを適切に対応付けることができる。 Next, the effects of the information processing device 100 according to this embodiment will be described. During operation playback, the information processing device 100 performs a tentative association between the first node and the second node based on the results of comparing the structures of the first structured document and the second structured document. Then, based on the similarity between the content of the first node and the content of the second node, the information processing device 100 determines whether or not to associate the first node and the second node for which a tentative association has been performed. This makes it possible to appropriately associate the first node of the first structured document with the second node of the second structured document.
情報処理装置100は、第1ノードのコンテンツ(タグ、文字列)と、第2ノードのコンテンツとを基にして、第1ノードと第2ノードとが同一のノードである判定した場合に、第1ノードと第2ノードとを対応付ける。これによって、操作再生時において、第1ノードに対する操作命令を、第2ノードに問題なく実行することができる。 When the information processing device 100 determines that the first node and the second node are the same node based on the content (tag, character string) of the first node and the content of the second node, it associates the first node with the second node. This allows operation commands for the first node to be executed on the second node without any problems when replaying the operation.
情報処理装置100は、第1ノードのコンテンツ(タグ、文字列)と、第2ノードのコンテンツとを基にして、第1ノードと第2ノードとが異なるノードである判定した場合に、第1ノードと第2ノードとの対応付けを解除する。これによって、対応関係が適切でない第1ノードと第2ノードとが対応付けられることを抑止することができる。 When the information processing device 100 determines that the first node and the second node are different nodes based on the content (tag, character string) of the first node and the content of the second node, it cancels the association between the first node and the second node. This makes it possible to prevent an inappropriate association between a first node and a second node.
情報処理装置100は、第1ノードのコマンドと、第2ノードのコマンドとに互換性がある場合には、第1ノードと第2ノードとを対応付ける。これによって、第1ノードと第2ノードとが同一のノードでなくても、第1ノードに対応する操作命令を、第2ノードに実行することができる。また、第1ノードに対する操作命令を実行できない第2ノードを、第1ノートと対応付けることを抑止することができる。 When the command of the first node and the command of the second node are compatible, the information processing device 100 associates the first node with the second node. This makes it possible to execute an operation command corresponding to the first node on the second node even if the first node and the second node are not the same node. In addition, it is possible to prevent a second node that cannot execute an operation command on the first node from being associated with the first node.
情報処理装置100は、第1ノードに対応する関数の内部スクリプトと、第2ノードに対応する関数の内部スクリプトとが一致する場合、または類似している場合に、第1ノードと第2ノードとを対応付ける。これによって、第1ノードと第2ノードとが同一のノードでなくても、第1ノードに対応する操作命令を、第2ノードに実行することができる。 The information processing device 100 associates a first node with a second node when the internal script of a function corresponding to the first node and the internal script of a function corresponding to the second node match or are similar. This makes it possible to execute an operation command corresponding to the first node on the second node even if the first node and the second node are not the same node.
情報処理装置100は、第1構造化文書と、第2構造化文書との構造の比較結果を基にして、第1ノードと第2ノードとの仮の対応付けを行っておくことで、第1ノードと比較する第2ノードを絞り込むことができ、計算コストを削減することができる。 The information processing device 100 performs a provisional correspondence between the first node and the second node based on the results of comparing the structures of the first structured document and the second structured document, thereby narrowing down the second nodes to be compared with the first node, thereby reducing calculation costs.
次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図14は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 Next, an example of the hardware configuration of a computer that realizes the same functions as the information processing device 100 shown in the above embodiment will be described. FIG. 14 is a diagram showing an example of the hardware configuration of a computer that realizes the same functions as the information processing device of the embodiment.
図14に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置204と、インタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
As shown in FIG. 14,
ハードディスク装置207は、画面表示処理プログラム207a、記録処理プログラム207b、前処理プログラム207c、判定プログラム207d、実行プログラム207eを有する。また、CPU201は、各プログラム207a~207eを読み出してRAM206に展開する。
The
画面表示処理プログラム207aは、画面表示処理プロセス206aとして機能する。記録処理プログラム207bは、記録処理プロセス206bとして機能する。前処理プログラム207cは、前処理プロセス206cとして機能する。判定プログラム207dは、判定プロセス206dとして機能する。実行プログラム207eは、実行プロセス206eとして機能する。
The screen
画面表示処理プロセス206aの処理は、画面表示処理部150aの処理に対応する。記録処理プロセス206bの処理は、記録処理部150bの処理に対応する。前処理プロセス206cの処理は、前処理部150cの処理に対応する。判定プロセス206dの処理は、判定部150dの処理に対応する。実行プロセス206eの処理は、実行部150eの処理に対応する。
The processing of the screen
なお、各プログラム207a~207eについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207eを読み出して実行するようにしてもよい。
Note that each of the
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following notes are further provided with respect to the embodiments including the above examples.
(付記1)コンピュータに、
操作命令の記録時において、第1木構造に含まれる複数の第1ノードに対して、操作命令を記録し、
操作命令の再生時において、前記第1木構造と第2木構造との構造の比較結果を基にして、前記第1木構造に含まれる複数の第1ノードと、前記第2木構造に含まれる複数の第2ノードとの仮の対応付けを行い、
仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定する
処理を実行させることを特徴とする判定プログラム。
(Appendix 1) To the computer,
When recording an operation command, the operation command is recorded for a plurality of first nodes included in the first tree structure;
when reproducing an operation command, a provisional correspondence is established between a plurality of first nodes included in the first tree structure and a plurality of second nodes included in the second tree structure based on a result of comparing the first tree structure with the second tree structure;
A determination program that executes a process for determining whether or not to associate a first node and a second node that have been provisionally associated, based on a similarity between the content of the first node and the content of the second node, for the first node and the second node that have been provisionally associated.
(付記2)前記第1ノードに対応付けられた前記第2ノードに対して、前記第1ノードに対応付けられた操作命令を実行する処理を更に実行することを特徴とする付記1に記載の判定プログラム。
(Appendix 2) The determination program described in
(付記3)前記判定する処理は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれるタグまたは文字列と、第2ノードのコンテンツに含まれるタグまたは文字列との類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定することを特徴とする付記1または2に記載の判定プログラム。
(Appendix 3) The determination program described in
(付記4)前記判定する処理は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれる第1コマンドが、第2ノードのコンテンツに含まれる第2コマンドと互換性がある場合に、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けることを特徴とする付記1または2に記載の判定プログラム。
(Appendix 4) The determination program described in
(付記5)前記判定する処理は、前記第1コマンドの関数名と、前記第2コマンドの関数名とが同じ場合、または、前記第1コマンドの関数の定義と、前記第2コマンドの関数の定義とが類似している場合に、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けることを特徴とする付記4に記載の判定プログラム。 (Appendix 5) The determination process is characterized in that the determination program described in Appendix 4 corresponds the first node and the second node that have been provisionally associated when the function name of the first command and the function name of the second command are the same, or when the function definition of the first command and the function definition of the second command are similar.
(付記6)コンピュータが実行する判定方法であって、
操作命令の記録時において、第1木構造に含まれる複数の第1ノードに対して、操作命令を記録し、
操作命令の再生時において、前記第1木構造と第2木構造との構造の比較結果を基にして、前記第1木構造に含まれる複数の第1ノードと、前記第2木構造に含まれる複数の第2ノードとの仮の対応付けを行い、
仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定する
処理を実行することを特徴とする判定方法。
(Supplementary Note 6) A computer-implemented determination method, comprising:
When recording an operation command, the operation command is recorded for a plurality of first nodes included in the first tree structure;
when reproducing an operation command, a provisional correspondence is established between a plurality of first nodes included in the first tree structure and a plurality of second nodes included in the second tree structure based on a result of comparing the first tree structure with the second tree structure;
A determination method characterized by executing a process for determining whether or not to associate a first node and a second node for which a tentative correspondence has been performed, based on a similarity between the content of the first node and the content of the second node.
(付記7)前記第1ノードに対応付けられた前記第2ノードに対して、前記第1ノードに対応付けられた操作命令を実行する処理を更に実行することを特徴とする付記6に記載の判定方法。 (Appendix 7) The method of determination described in Appendix 6, further comprising the step of executing an operation command associated with the first node on the second node associated with the first node.
(付記8)前記判定する処理は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれるタグまたは文字列と、第2ノードのコンテンツに含まれるタグまたは文字列との類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定することを特徴とする付記6または7に記載の判定方法。 (Appendix 8) The method of determination described in appendix 6 or 7, characterized in that the process of determining whether or not to associate the first node and the second node for which the provisional association has been performed is based on the similarity between a tag or character string contained in the content of the first node and a tag or character string contained in the content of the second node.
(付記9)前記判定する処理は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれる第1コマンドが、第2ノードのコンテンツに含まれる第2コマンドと互換性がある場合に、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けることを特徴とする付記6または7に記載の判定方法。 (Supplementary Note 9) The method of determining as described in Supplementary Note 6 or 7, characterized in that the process of determining corresponds the first node and the second node for which the provisional correspondence has been performed if a first command included in the content of the first node is compatible with a second command included in the content of the second node.
(付記10)前記判定する処理は、前記第1コマンドの関数名と、前記第2コマンドの関数名とが同じ場合、または、前記第1コマンドの関数の定義と、前記第2コマンドの関数の定義とが類似している場合に、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けることを特徴とする付記9に記載の判定方法。 (Appendix 10) The method of determination described in Appendix 9, characterized in that the process of determining corresponds the first node and the second node that have been provisionally associated when the function name of the first command and the function name of the second command are the same, or when the function definition of the first command and the function definition of the second command are similar.
(付記11)操作命令の記録時において、第1木構造に含まれる複数の第1ノードに対して、操作命令を記録する記録処理部と、
操作命令の再生時において、前記第1木構造と第2木構造との構造の比較結果を基にして、前記第1木構造に含まれる複数の第1ノードと、前記第2木構造に含まれる複数の第2ノードとの仮の対応付けを行う前処理部と、
仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定する判定部と、
を有することを特徴とする情報処理装置。
(Supplementary Note 11) A record processing unit that records an operation command for a plurality of first nodes included in a first tree structure when recording the operation command;
a pre-processing unit that performs provisional correspondence between a plurality of first nodes included in the first tree structure and a plurality of second nodes included in the second tree structure based on a comparison result between the first tree structure and the second tree structure when reproducing an operation command;
a determination unit that determines whether or not to associate the first node and the second node that have been provisionally associated with each other, based on a similarity between a content of the first node and a content of the second node;
13. An information processing device comprising:
(付記12)前記第1ノードに対応付けられた前記第2ノードに対して、前記第1ノードに対応付けられた操作命令を実行する実行部を更に有することを特徴とする付記11に記載の情報処理装置。 (Appendix 12) The information processing device described in Appendix 11, further comprising an execution unit that executes an operation command associated with the first node on the second node associated with the first node.
(付記13)前記判定部は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれるタグまたは文字列と、第2ノードのコンテンツに含まれるタグまたは文字列との類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定することを特徴とする付記11または12に記載の情報処理装置。 (Supplementary Note 13) The information processing device described in Supplementary Note 11 or 12, characterized in that the determination unit determines whether or not to associate the first node and the second node for which the provisional association has been performed, based on the similarity between a tag or character string contained in the content of the first node and a tag or character string contained in the content of the second node.
(付記14)前記判定部は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれる第1コマンドが、第2ノードのコンテンツに含まれる第2コマンドと互換性がある場合に、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けることを特徴とする付記11または12に記載の情報処理装置。 (Supplementary Note 14) The information processing device described in Supplementary Note 11 or 12, characterized in that the determination unit associates the first node and the second node for which the provisional association has been performed if a first command included in the content of the first node is compatible with a second command included in the content of the second node.
(付記15)前記判定部は、前記第1コマンドの関数名と、前記第2コマンドの関数名とが同じ場合、または、前記第1コマンドの関数の定義と、前記第2コマンドの関数の定義とが類似している場合に、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けることを特徴とする付記14に記載の情報処理装置。 (Appendix 15) The information processing device described in appendix 14 is characterized in that the determination unit associates the first node and the second node for which the provisional association has been performed when the function name of the first command and the function name of the second command are the same, or when the function definition of the first command and the function definition of the second command are similar.
100 情報処理装置
110 通信部
120 入力部
130 出力部
140 記憶部
140a 構造化文書テーブル
140b 操作履歴テーブル
140c ノード対応テーブル
150 制御部
150a 画面表示処理部
150b 記録処理部
150c 前処理部
150d 判定部
150e 実行部
REFERENCE SIGNS LIST 100
Claims (7)
操作命令の記録時において、第1木構造に含まれる複数の第1ノードに対して、操作命令を記録し、
操作命令の再生時において、前記第1木構造と第2木構造との構造の比較結果を基にして、前記第1木構造に含まれる複数の第1ノードと、前記第2木構造に含まれる複数の第2ノードとの仮の対応付けを行い、
仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定する
処理を実行させることを特徴とする判定プログラム。 On the computer,
When recording an operation command, the operation command is recorded for a plurality of first nodes included in the first tree structure;
when reproducing an operation command, a provisional correspondence is established between a plurality of first nodes included in the first tree structure and a plurality of second nodes included in the second tree structure based on a result of comparing the first tree structure with the second tree structure;
A determination program that executes a process for determining whether or not to associate a first node and a second node that have been provisionally associated, based on a similarity between the content of the first node and the content of the second node, for the first node and the second node that have been provisionally associated.
操作命令の記録時において、第1木構造に含まれる複数の第1ノードに対して、操作命令を記録し、
操作命令の再生時において、前記第1木構造と第2木構造との構造の比較結果を基にして、前記第1木構造に含まれる複数の第1ノードと、前記第2木構造に含まれる複数の第2ノードとの仮の対応付けを行い、
仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定する
処理を実行することを特徴とする判定方法。 A computer-implemented method for determining whether a
When recording an operation command, the operation command is recorded for a plurality of first nodes included in the first tree structure;
when reproducing an operation command, a provisional correspondence is established between a plurality of first nodes included in the first tree structure and a plurality of second nodes included in the second tree structure based on a result of comparing the first tree structure with the second tree structure;
A determination method characterized by executing a process for determining whether or not to associate a first node and a second node for which a tentative correspondence has been performed, based on a similarity between the content of the first node and the content of the second node.
操作命令の再生時において、前記第1木構造と第2木構造との構造の比較結果を基にして、前記第1木構造に含まれる複数の第1ノードと、前記第2木構造に含まれる複数の第2ノードとの仮の対応付けを行う前処理部と、
仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定する判定部と、
を有することを特徴とする情報処理装置。 a record processing unit that records an operation command for a plurality of first nodes included in the first tree structure when recording the operation command;
a pre-processing unit that performs provisional correspondence between a plurality of first nodes included in the first tree structure and a plurality of second nodes included in the second tree structure based on a comparison result between the first tree structure and the second tree structure when reproducing an operation command;
a determination unit that determines whether or not to associate the first node and the second node that have been provisionally associated with each other, based on a similarity between a content of the first node and a content of the second node;
13. An information processing device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020153777A JP7524690B2 (en) | 2020-09-14 | 2020-09-14 | JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020153777A JP7524690B2 (en) | 2020-09-14 | 2020-09-14 | JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022047798A JP2022047798A (en) | 2022-03-25 |
JP7524690B2 true JP7524690B2 (en) | 2024-07-30 |
Family
ID=80781487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020153777A Active JP7524690B2 (en) | 2020-09-14 | 2020-09-14 | JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7524690B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007102654A (en) | 2005-10-07 | 2007-04-19 | Hitachi Software Eng Co Ltd | Test script processing program |
WO2009066762A1 (en) | 2007-11-21 | 2009-05-28 | Nec Corporation | User interface recognition device and user interface recognition method |
JP2009140155A (en) | 2007-12-05 | 2009-06-25 | Fujitsu Ltd | Test program for application program |
JP2018092362A (en) | 2016-12-02 | 2018-06-14 | 日本電信電話株式会社 | Test script correction apparatus and test script correction program |
-
2020
- 2020-09-14 JP JP2020153777A patent/JP7524690B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007102654A (en) | 2005-10-07 | 2007-04-19 | Hitachi Software Eng Co Ltd | Test script processing program |
WO2009066762A1 (en) | 2007-11-21 | 2009-05-28 | Nec Corporation | User interface recognition device and user interface recognition method |
JP2009140155A (en) | 2007-12-05 | 2009-06-25 | Fujitsu Ltd | Test program for application program |
JP2018092362A (en) | 2016-12-02 | 2018-06-14 | 日本電信電話株式会社 | Test script correction apparatus and test script correction program |
Non-Patent Citations (1)
Title |
---|
田中 宏,HTML要素の相対位置と文字認識結果の比較に基づくWebコンテンツ表示のブラウザ問非互換性検出,電子情報通信学会技術研究報告,Vol.115,No.517,電子情報通信学会,2016年03月17日,pp.31-36 |
Also Published As
Publication number | Publication date |
---|---|
JP2022047798A (en) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Reussner et al. | Modeling and simulating software architectures: The Palladio approach | |
US7853924B2 (en) | Systems and methods for processing non-functional commentary of computer source code | |
US7194475B2 (en) | Method, system, and program for performing an impact analysis of program statements in at least one source code file | |
CN111796831B (en) | Compiling method and device for multi-chip compatibility | |
US20140229920A1 (en) | Dynamic scenario testing of web application | |
JP2008226061A (en) | Image tag designating device, image searching device, operation control method therefor and program for controlling those computers | |
CN107015903B (en) | Interface test program generation method and device and electronic equipment | |
JP5900193B2 (en) | Update determination program and update determination apparatus | |
CN1855096A (en) | Task-based interface with underlying extensible framework | |
US20130263143A1 (en) | Information processing method and system | |
JPWO2010044150A1 (en) | Program change management apparatus, program change management program, and program change management method | |
JP6015546B2 (en) | Information processing apparatus, information processing method, and program | |
JP7524690B2 (en) | JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS | |
WO2004051470A1 (en) | Program automatic converting method and program automatic converting device | |
JP2008305019A (en) | Simulation device, simulation method and program | |
JP4602312B2 (en) | Device setting device, device setting method, information acquisition device, information acquisition method, recording medium, and program | |
JP5758311B2 (en) | Test code generation device, test code generation method, test code generation program | |
WO2021205589A1 (en) | Test script generation device, test script generation method, and program | |
KR100990091B1 (en) | Method and apparatus for the requirement management | |
JP2007133632A (en) | Method and program for setting security policy | |
JP6217440B2 (en) | Symbolic execution program, symbolic execution method, and symbolic execution device | |
JP2013152580A (en) | Code generation device, code generation method, and program | |
US20090094269A1 (en) | Generating BPEL Control Flows | |
JP2009122985A (en) | System and program for sub-process execution | |
US20090282409A1 (en) | Method, system and program product for grouping related program sequences |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230608 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240524 |
|
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: 20240618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240701 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7524690 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |