JP7524690B2 - JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS - Google Patents

JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS Download PDF

Info

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
Application number
JP2020153777A
Other languages
Japanese (ja)
Other versions
JP2022047798A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020153777A priority Critical patent/JP7524690B2/en
Publication of JP2022047798A publication Critical patent/JP2022047798A/en
Application granted granted Critical
Publication of JP7524690B2 publication Critical patent/JP7524690B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 prior art 1 as a technique for playing back a scenario in an environment different from the environment in which the scenario was created. Figure 15 is a diagram for explaining prior art 1. In Figure 15, a structured document that records operation commands when creating a scenario is structured document 10, and a structured document in another environment in which the scenario is played back is structured document 20. Structured document 10 has nodes 10a to 10i. Structured document 20 has nodes 20a to 20i.

操作命令の記録時において、構造化文書10のノード10gに対して所定の操作を行うことが、シナリオとして生成されたものとする。従来技術1では、かかるシナリオを構造化文書20に対して動作させると、ノード10gに対応するノード20gに対して、所定の操作を実行する。 When the operation command is recorded, a scenario is generated in which a specific operation is performed on node 10g of structured document 10. In prior art 1, when such a scenario is run on structured document 20, the specific operation is executed on node 20g corresponding to node 10g.

ここで、従来技術1では、シナリオを作成した後において、構造化文書が改変され、操作対象のノードが削除された場合でも、操作を中断しないで実行することができる。従来技術1では、対応するノードが削除されていた場合、操作対象を親ノードに代替することで、一連の自動処理を継続する。 Here, in conventional technology 1, even if the structured document is modified and the node to be operated is deleted after the scenario is created, the operation can be executed without interruption. In conventional technology 1, if the corresponding node is deleted, the parent node is substituted for the operation target, and the series of automatic processes continues.

たとえば、シナリオを基にして操作を再生する際に、構造化文書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 node 20g of structured document 20 corresponding to node 10g of structured document 10 is deleted. In this case, in prior art 1, a predetermined operation is executed on node 20b corresponding to parent node 10b of node 10g.

しかし、従来技術1のように、対応するノードが削除されていた場合に、操作対象を親ノードに代替することは、操作対象のノードを適切に選択しているとは言えない。図16は、従来技術1の問題を説明するための図である。図16では、シナリオ作成時において、操作命令を記録する構造化文書を、構造化文書15とし、シナリオを再生する別環境の構造化文書を、構造化文書25とする。構造化文書15は、ノード15a~15iを有する。構造化文書25は、ノード25a~25hを有する。 However, as in prior art 1, when the corresponding node has been deleted, substituting the parent node as the operation target does not mean that the node to be operated on is selected appropriately. Figure 16 is a diagram for explaining the problems with prior art 1. In Figure 16, the structured document that records the operation command when creating a scenario is structured document 15, and the structured document of another environment in which the scenario is played back is structured document 25. Structured document 15 has nodes 15a to 15i. Structured document 25 has nodes 25a to 25h.

構造化文書15に対応する画面を、画面16とする。画面16は、パーツ16b~16iを有する。構造化文書15のノード15b~15iが、画面16のパーツ16b~16iに対応する。 The screen corresponding to structured document 15 is called screen 16. Screen 16 has parts 16b to 16i. Nodes 15b to 15i of structured document 15 correspond to parts 16b to 16i of screen 16.

構造化文書25に対応する画面を、画面26とする。画面26には、パーツ26b~26hを有する。構造化文書25のノード25b~25hが、画面26のパーツ26b~26hに対応する。 The screen corresponding to structured document 25 is called screen 26. Screen 26 has parts 26b to 26h. Nodes 25b to 25h of structured document 25 correspond to parts 26b to 26h of screen 26.

たとえば、従来技術1では、構造化文書15のノード15fに対して所定の操作(クリック操作)を行うシナリオを例にして説明を行う。かかるシナリオを、構造化文書15に対して動作させると、画面16のパーツ16f(button)がクリック操作する。 For example, in prior art 1, a scenario will be described in which a specific operation (click operation) is performed on node 15f of structured document 15. When such a scenario is run on structured document 15, part 16f (button) on screen 16 is clicked.

続いて、上記のシナリオを、構造化文書25に対して動作させると次のような動作を行う。従来技術1では、ノード15fに対応するノードが、構造化文書25に存在しないため、ノード15fの親ノード15cに対応するノード25cを、操作対象として、クリック操作を実行することになる。ここで、ノード25cは、画面26のパーツ26c(領域)に対応するノードであるため、かかる領域をクリックする操作は、上記のボタンをクリックする操作とは異なっており、適切な対応付けが行われていない。 Next, when the above scenario is run on structured document 25, the following operation is performed. In prior art 1, since there is no node corresponding to node 15f in structured document 25, a click operation is performed on node 25c corresponding to parent node 15c of node 15f. Here, since node 25c corresponds to part 26c (area) of screen 26, the operation of clicking on such an area is different from the operation of clicking the button described above, and no appropriate correspondence is performed.

また、構造化文書の改変は、図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 conventional technology 1 to appropriately select the node to be operated on.

ここで、木構造間が変化した場合でも要素(ノード)の対応付けを行う技術として、木構造編集距離を用いる方法が知られている。木構造編集処理は、比較対象の各木構造の要素の相違の度合いを示すものである。木構造編集距離を用いる方法を従来技術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 tree structure 5. In tree structure 5, nodes b and c are connected below node a. Nodes d and e are connected below node c.

木構造5に対して、編集操作「挿入」を実行すると、木構造5は、木構造5aとなる。木構造5では、ノードaの下にノードfが挿入され、ノードfの下にノードcが接続されている。 When the editing operation "insert" is executed on tree structure 5, tree structure 5 becomes tree structure 5a. In tree structure 5, node f is inserted under node a, and node c is connected under node f.

木構造5に対して、編集操作「置換」を実行すると、木構造5は、木構造5bとなる。木構造5bでは、ノードcが、ノードfに置換されている。 When the editing operation "replace" is performed on tree structure 5, tree structure 5 becomes tree structure 5b. In tree structure 5b, node c has been replaced with node f.

木構造5に対して、編集操作「削除」を実行すると、木構造5は、木構造5cとなる。木構造5cでは、ノードcが削除されることで、ノードaの下に、ノードcに接続されていたノードdおよびノードeが接続されている。 When the editing operation "delete" is executed on tree structure 5, tree structure 5 becomes tree structure 5c. In tree structure 5c, node c is deleted, and nodes d and e, which were connected to node c, are now connected under node a.

図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 document 17, and the structured document after editing is structured document 27. In prior art 2, structured document 17 is compared with structured document 27, editing operations are performed on structured document 17, and HTML elements of structured document 17 are associated with HTML elements of structured document 27. The total cost is determined according to the number of editing operations performed on structured document 17, and the association that results in the minimum cost is obtained.

対応付け(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 "item 1" (HTML element 17-7) and an editing operation is performed to replace with "item 3" (HTML element 17-9).

これによって、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).

特開平11-296544号公報Japanese Patent Application Publication No. 11-296544 特開2009-211480号公報JP 2009-211480 A 特開2012-185760号公報JP 2012-185760 A 特開2005-266954号公報JP 2005-266954 A

しかしながら、上述した従来技術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 document 18, and the structured document after editing is structured document 28. Structured document 18 has nodes 18a to 18i. Structured document 28 has nodes 28a to 28i. In the example shown in Figure 19, "item 3" in node 18f has been replaced with "item 4" in node 28f.

構造化文書18に対応する画面を、画面19とする。画面19は、パーツ19b~19iを有する。構造化文書18のノード18b~18iが、画面19のパーツ19b~19iに対応する。 The screen corresponding to structured document 18 is called screen 19. Screen 19 has parts 19b to 19i. Nodes 18b to 18i of structured document 18 correspond to parts 19b to 19i of screen 19.

構造化文書28に対応する画面を、画面29とする。画面29は、パーツ29b~29iを有する。構造化文書28のノード28b~28iが、画面29のパーツ29b~29iに対応する。 The screen corresponding to structured document 28 is called screen 29. Screen 29 has parts 29b to 29i. Nodes 28b to 28i of structured document 28 correspond to parts 29b to 29i of screen 29.

構造化文書18と、構造化文書28とに対して、従来技術2に基づく対応付けを行うと、図20に示すものとなる。図20に示すように、構造化文書18のノード18a~18iは、構造化文書28のノード28a~28hにそれぞれ対応付けられる。ここで、ノード18hの「項目3」は、ノード28hの「項目4」に類似しており、他のノード(要素)は完全一致なので、図20に示す対応付けは妥当である。 When structured document 18 and structured document 28 are matched based on prior art 2, the result is as shown in Figure 20. As shown in Figure 20, nodes 18a to 18i of structured document 18 are matched to nodes 28a to 28h of structured document 28, respectively. Here, "item 3" of node 18h is similar to "item 4" of node 28h, and the other nodes (elements) are exact matches, so the matching shown in Figure 20 is valid.

しかし、シナリオにおいてノード18hに対する操作命令を、ノード28hにそのまま適用してよいのかという問題が残る。すなわち、編集前の構造化文書と、編集後の構造化文書との間で、ノードの対応付けを行うことと、対応付けたノード同士を同一と見なして、同一の操作命令を実行することは、判定基準が異なる。編集前の構造化文書と、編集後の構造化文書との間で、ノードの対応付けを行う目的は、シナリオを用いた自動再生であるため、シナリオを作成した環境と等価な操作命令を実行してもよいかを判定することが望ましいといえる。 However, the question remains as to whether an operation command for node 18h in the scenario can be applied directly to node 28h. In other words, the criteria for matching nodes between an unedited structured document and an edited structured document are different from the criteria for treating the matched nodes as identical and executing the same operation command. Since the purpose of matching nodes between an unedited structured document and an edited structured document is to enable automatic playback using a scenario, it is desirable to determine whether it is acceptable to execute an operation command equivalent to the environment in which the scenario was created.

また、従来技術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 document 30, and the structured document after editing is structured document 35. Structured document 30 has nodes 30a to 30d. Structured document 35 has nodes 35a to 35e.

構造化文書30に対応する画面を、画面31とする。画面31は、パーツ31b~31dを有する。構造化文書30のノード30b~30dが、画面31のパーツ31b~31dに対応する。 The screen corresponding to structured document 30 is called screen 31. Screen 31 has parts 31b to 31d. Nodes 30b to 30d of structured document 30 correspond to parts 31b to 31d of screen 31.

構造化文書35に対応する画面を、画面36とする。画面36は、パーツ36b~36eを有する。構造化文書35のノード35b~35eが、画面36のパーツ36b~36eに対応する。 The screen corresponding to structured document 35 is called screen 36. Screen 36 has parts 36b to 36e. Nodes 35b to 35e of structured document 35 correspond to parts 36b to 36e of screen 36.

構造化文書30と、構造化文書35とに対して、従来技術2に基づく対応付けを行うと、図22に示すように、対応付けの候補が複数となる。図22に示すように、たとえば、対応付け候補30-1では、ノード30bおよびノード35b、ノード30cおよびノード35c、ノード30dおよびノード35dがそれぞれ対応付けられる。対応付け候補30-2では、ノード30bおよびノード35b、ノード30cおよびノード35e、ノード30dおよびノード35dがそれぞれ対応付けられる。 When structured document 30 and structured document 35 are matched based on prior art 2, multiple candidates for matching are obtained, as shown in FIG. 22. As shown in FIG. 22, for example, in matching candidate 30-1, nodes 30b and 35b, nodes 30c and 35c, and nodes 30d and 35d are matched. In matching candidate 30-2, nodes 30b and 35b, nodes 30c and 35e, and nodes 30d and 35d are matched.

ここで、図21に示したように、ノード30cのタグの種類は「button」であり、ノード30cに対する操作命令はボタンを操作するクリック等となる。これに対して、ノード35cのタグの種類は「text」であるため、対応付け候補30-1に基づいて各ノードを対応付けてしまうと、ノード30cに対する操作命令を、ノード35cに対して実行することができない。 As shown in FIG. 21, the tag type of node 30c is "button," and the operation command for node 30c is to click the button, etc. In contrast, the tag type of node 35c is "text," so if the nodes are associated based on association candidate 30-1, the operation command for node 30c cannot be executed on node 35c.

一方、ノード35eのタグの種類は「button」である。このため、対応付け候補30-2に基づいて対応付けを行うと、ノード35eに関しては、ノード30cに対する操作命令と同様の操作命令を実行可能となる。 On the other hand, the tag type of node 35e is "button." Therefore, when matching is performed based on matching candidate 30-2, an operation command similar to the operation command for node 30c can be executed for node 35e.

すなわち、対応付け候補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.

図1は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。FIG. 1 is a functional block diagram showing the configuration of an information processing apparatus according to the present embodiment. 図2は、構造化文書テーブルのデータ構造の一例を示す図である。FIG. 2 is a diagram showing an example of the data structure of the structured document table. 図3は、HTMLソースと構造化文書とWEB画面との関係を説明するための図である。FIG. 3 is a diagram for explaining the relationship between an HTML source, a structured document, and a WEB screen. 図4は、操作履歴テーブルのデータ構造の一例を示す図である。FIG. 4 is a diagram illustrating an example of a data structure of the operation history table. 図5は、ノード対応テーブルのデータ構造の一例を示す図である。FIG. 5 is a diagram illustrating an example of a data structure of the node correspondence table. 図6は、コンテンツの類似性を判定する処理を示すフローチャートである。FIG. 6 is a flowchart showing a process for determining similarity of contents. 図7は、コンテンツの類似性判定の一例を説明するための図である。FIG. 7 is a diagram for explaining an example of content similarity determination. 図8は、コンテンツに含まれるコマンドの互換性を判定する処理を示すフローチャートである。FIG. 8 is a flowchart showing the process of determining compatibility of commands included in content. 図9は、コンテンツのコマンドの互換性判定の一例を説明するための図である。FIG. 9 is a diagram for explaining an example of compatibility determination of commands of contents. 図10は、情報処理装置の操作記録時の処理手順を示すフローチャートである。FIG. 10 is a flowchart showing a processing procedure when recording operations of the information processing device. 図11は、情報処理装置の操作再生時の処理手順を示すフローチャートである。FIG. 11 is a flowchart showing a processing procedure during operation playback of the information processing device. 図12は、コマンド実行処理の処理手順を示すフローチャートである。FIG. 12 is a flowchart showing the procedure of the command execution process. 図13は、シナリオの実現例を示す図である。FIG. 13 is a diagram showing an example of implementing a scenario. 図14は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。FIG. 14 is a diagram illustrating an example of a hardware configuration of a computer that realizes the same functions as the information processing apparatus of the embodiment. 図15は、従来技術1を説明するための図である。FIG. 15 is a diagram for explaining the prior art 1. In FIG. 図16は、従来技術1の問題を説明するための図である。FIG. 16 is a diagram for explaining the problem of the prior art 1. In FIG. 図17は、木構造編集距離に関する編集操作を説明するための図である。FIG. 17 is a diagram for explaining an editing operation related to the tree edit distance. 図18は、従来技術2を説明するための図である。FIG. 18 is a diagram for explaining the prior art 2. In FIG. 図19は、従来技術2の問題を説明するための図(1)である。FIG. 19 is a diagram (1) for explaining the problem of the prior art 2. 図20は、従来技術2の問題を説明するための図(2)である。FIG. 20 is a diagram (2) for explaining the problem of the prior art 2. 図21は、従来技術2の問題を説明するための図(3)である。FIG. 21 is a diagram (3) for explaining the problem of the prior art 2. 図22は、従来技術2の問題を説明するための図(4)である。FIG. 22 is a diagram (4) for explaining the problem of the prior art 2.

以下に、本願の開示する判定プログラム、判定方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。 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 communication unit 110, an input unit 120, an output unit 130, a storage unit 140, and a control unit 150.

通信部110は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した外部装置と制御部150との通信を制御する。 The communication unit 110 is realized by a NIC (Network Interface Card) or the like, and controls communication between the control unit 150 and external devices via telecommunication lines such as a LAN (Local Area Network) or the Internet.

入力部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 control unit 150 in response to input operations by the operator. The output unit 130 is realized by a display device such as a liquid crystal display, a printing device such as a printer, etc.

記憶部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 output unit 130. The web screen I50 includes parts I50b, I50c, and I50d. Here, part I50b corresponds to node D50b. Part I50c corresponds to node D50c. Part I50d corresponds to node D50d.

図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 control unit 150, which will be described later. Also, if there is no second node that corresponds to the first node, the second node column will be left blank.

図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 control unit 150 has a screen display processing unit 150a, a recording processing unit 150b, a preprocessing unit 150c, a determination unit 150d, and an execution unit 150e. The control unit 150 is realized, for example, by a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). The control unit 150 may also be executed by an integrated circuit, for example, an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

画面表示処理部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 output unit 130 to display the web screen.

作業員は、操作記録時において、出力部130に表示されるWEB画面を参照しつつ、入力部120を操作することで、操作対象と、操作命令とを指定する作業を繰り返し実行することで、シナリオに関する情報を、情報処理装置100に入力する。作業員は、操作記録時に、URLを入力して、WEB画面の表示要求を行ってもよい。 When recording an operation, the worker refers to the web screen displayed on the output unit 130 and operates the input unit 120 to repeatedly perform the task of specifying an operation target and an operation command, thereby inputting information about the scenario into the information processing device 100. When recording an operation, the worker may input a URL to request the display of the web screen.

作業員は、操作再生時において、入力部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 output unit 130 while outputting the HTML source corresponding to the web screen to the preprocessing unit 150c.

記録処理部150bは、操作記録時において、入力部120から、操作対象、操作命令の入力を受け付けてシナリオを作成し、作成したシナリオの情報を、操作履歴テーブル140bに記録する。以下において、記録処理部150bの処理の一例について説明する。 When recording an operation, the recording processing unit 150b receives input of an operation target and an operation command from the input unit 120, creates a scenario, and records information about the created scenario in the operation history table 140b. An example of the processing of the recording processing unit 150b is described below.

記録処理部150bは、画面表示処理部150aがWEB画面を出力部130に表示させる際に実行したHTMLソースを解析することで、HTMLソースの構造化文書を生成する。記録処理部150bは、生成した構造化文書に、ユニークな文書識別情報を割り当て、文書識別情報と、構造化文書と、HTMLソースとを対応付けて、構造化文書テーブル140aに記録する。 The recording processing unit 150b generates a structured document of the HTML source by analyzing the HTML source executed by the screen display processing unit 150a when the web screen is displayed on the output unit 130. The recording processing unit 150b assigns unique document identification information to the generated structured document, associates the document identification information, the structured document, and the HTML source, and records them in the structured document table 140a.

記録処理部150bは、操作記録時において、入力部120から、操作命令、操作対象の入力を受け付けると、図3で説明したWEB画面と、ノードとの関係から、選択対象となるノードを特定する。たとえば、WEB画面I50のパーツI50cが、操作対象として入力された場合には、記録処理部150bは、操作対象のノードを、ノードD50cとして特定する。 When the recording processing unit 150b receives an operation command and an input of an operation target from the input unit 120 during operation recording, the recording processing unit 150b identifies the node to be selected based on the relationship between the web screen and the node described in FIG. 3. For example, when part I50c of web screen I50 is input as the operation target, the recording processing unit 150b identifies the node to be operated as node D50c.

記録処理部150bは、実行順序と、操作対象と、操作命令と、文書識別情報とを対応付けて、操作履歴テーブル140bに記録する。 The recording processing unit 150b associates the execution order, the operation target, the operation command, and the document identification information, and records them in the operation history table 140b.

記録処理部150bは、入力部120から、操作対象および操作命令の入力を受け付けるたびに、上記処理を繰り返し実行する。以下の説明では、記録処理部150bが生成した操作記録時のHTMLソースの構造化文書を「第1構造化文書」と表記する。第1構造化文書は、第1木構造に対応する。 The recording processing unit 150b repeatedly executes the above process each time it receives an input of an operation target and an operation command from the input unit 120. In the following description, the structured document of the HTML source generated by the recording processing unit 150b at the time of operation recording is referred to as the "first structured document." The first structured document corresponds to the first tree structure.

前処理部150cは、操作再生時において、操作記録時の構造化文書と、操作実行時の構造化文書との構造の比較結果を基にして、操作記録時の構造化文書のノードと、操作再生時の構造化文書のノードとの仮の対応付けを行う。以下の説明では、適宜、操作記録時の構造化文書(第1構造化文書)のノードを「第1ノード」と表記する。操作再生時の構造化文書のノードを「第2ノード」と表記する。 When replaying an operation, the preprocessing unit 150c provisionally associates the nodes of the structured document at the time of recording the operation with the nodes of the structured document at the time of replaying the operation, based on the results of comparing the structures of the structured document at the time of recording the operation with the structured document at the time of executing the operation. In the following description, where appropriate, the node of the structured document at the time of recording the operation (first structured document) will be referred to as the "first node." The node of the structured document at the time of replaying the operation will be referred to as the "second node."

前処理部150cは、仮の対応付けを行った第1ノードと第2ノードとの関係を、ノード対応テーブル140cに登録する。以下において、前処理部150cの処理の一例について説明する。 The preprocessing unit 150c registers the relationship between the first node and the second node that have been provisionally associated in the node correspondence table 140c. An example of the processing of the preprocessing unit 150c is described below.

前処理部150cは、操作再生時に、画面表示処理部150aからHTMLソースを取得し、HTMLソースを解析することで、操作再生時のHTMLソースの構造化文書を生成する。以下の説明では、適宜、操作再生時のHTMLソースの構造化文書を「第2構造化文書」と表記する。第2構造化文書は、第2木構造に対応する。 When the operation is being played back, the preprocessing unit 150c obtains the HTML source from the screen display processing unit 150a and analyzes the HTML source to generate a structured document of the HTML source during the operation playback. In the following description, the structured document of the HTML source during the operation playback will be referred to as the "second structured document" where appropriate. The second structured document corresponds to the second tree structure.

前処理部150cは、操作履歴テーブル140bから、文書識別情報を特定し、特定した文書識別情報に対応する第1構造化文書を、構造化文書テーブル140aから取得する。 The preprocessing unit 150c identifies document identification information from the operation history table 140b, and obtains the first structured document corresponding to the identified document identification information from the structured document table 140a.

前処理部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 preprocessing unit 150c compares the first structured document with the second structured document, and associates each first node of the first structured document with each second node of the second structured document so that the editing cost based on the tree edit distance is minimized. For example, the preprocessing unit 150c associates the first node with the second node so that the editing cost based on the tree edit distance is minimized based on the well-known technique "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)".

前処理部150cは、第1ノードと、第2ノードとの関係を、ノード対応テーブル140cに登録する。前処理部150cは、編集コストが最小となるような第1ノードと、第2ノードとの組合せが複数存在する場合には、一つの第1ノードに対して、複数の第2ノードを対応付けて、ノード対応テーブル140cに登録する。なお、前処理部150cは、編集コストが閾値未満となる第1ノードと、第2ノードとの関係を、ノード対応テーブル140cに登録してもよい。 The preprocessing unit 150c registers the relationship between the first node and the second node in the node correspondence table 140c. When there are multiple combinations of the first node and the second node that have the smallest editing cost, the preprocessing unit 150c associates multiple second nodes with one first node and registers them in the node correspondence table 140c. The preprocessing unit 150c may also register the relationship between the first node and the second node whose editing cost is less than a threshold value in the node correspondence table 140c.

前処理部150cによって登録された時点において、ノード対応テーブル140cに登録された第1ノードと、第2ノードとの対応関係は、仮の対応関係となる。第1ノードと、第2ノードとの対応関係が適切であるか否かは、後述する判定部150dによって判定される。 At the time of registration by the preprocessing unit 150c, the correspondence between the first node and the second node registered in the node correspondence table 140c is a tentative correspondence. Whether or not the correspondence between the first node and the second node is appropriate is determined by the determination unit 150d, which will be described later.

操作再生時において、操作履歴テーブル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 preprocessing unit 150c repeatedly executes the above process in each execution order. Note that if the first structured document to be executed last time and the first structured document to be executed this time are the same structured document, the preprocessing unit 150c may reuse the correspondence between the first node and the second node that was previously associated.

判定部150dは、ノード対応テーブル140cを参照し、仮の対応関係となった、第1ノードと、第2ノードとの対応関係が適切な対応関係であるか否かを判定する。たとえば、判定部150dは、第1ノードのコンテンツと、第2ノードのコンテンツとの類似度を基にして、仮の対応付けを行った第1ノードと、第2ノードとを対応付けるか否かを判定する。なお、判定部150dは、上記の対応関係を判定する際、操作履歴テーブル140bの操作対象となる第1ノードと、かかる第1ノードに対応付けられた第2ノードとの対応関係を判定するものとする。以下において、判定部150dの処理の一例について説明する。 The determination unit 150d refers to the node correspondence table 140c and determines whether the correspondence between the first node and the second node, which has been provisionally associated, is an appropriate correspondence. For example, the determination unit 150d determines whether the provisionally associated first node and the second node should be associated based on the similarity between the content of the first node and the content of the second node. When determining the above correspondence, the determination unit 150d determines the correspondence between the first node that is the target of the operation in the operation history table 140b and the second node associated with the first node. An example of the process of the determination unit 150d is described below.

判定部150dは、第1ノードに対応するコンテンツを、第1構造化文書のHTMLソースから取得する。第1ノードに対応するコンテンツを、適宜、「第1コンテンツ」と表記する。判定部150dは、第2ノードに対応するコンテンツを、第2構造化文書のHTMLソースから取得する。第2ノードに対応するコンテンツを、適宜、「第2コンテンツ」と表記する。 The determination unit 150d obtains the content corresponding to the first node from the HTML source of the first structured document. The content corresponding to the first node is referred to as the "first content" as appropriate. The determination unit 150d obtains the content corresponding to the second node from the HTML source of the second structured document. The content corresponding to the second node is referred to as the "second content" as appropriate.

判定部150dは、コンテンツの類似性を判定する処理と、コンテンツに含まれるコマンドの互換性を判定する処理とを実行する。 The determination unit 150d performs a process of determining the similarity of the content and a process of determining the compatibility of the commands contained in the content.

判定部150dが実行するコンテンツの類似性を判定する処理について説明する。判定部150dは、コンテンツの類似性を判定する処理を実行することで、第1ノードと、第2ノードとが、「異なるノード」であるか、「同一の可能性があるノード」であるか、「同一のノード」であるかを判定する。 The process of determining the similarity of content executed by the determination unit 150d is described below. By executing the process of determining the similarity of content, the determination unit 150d determines whether the first node and the second node are "different nodes", "potentially the same nodes", or "the same node".

図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 determination unit 150d of the information processing device 100 determines whether the tag of the first content and the tag of the second content are the same (step S11). If the tags are the same (step S11, Yes), the determination unit 150d proceeds to step S15. If the tags are not the same (step S11, No), the determination unit 150d proceeds to step S12.

ステップS12の説明に移行する。判定部150dは、第1コンテンツのタグと、第2コンテンツのタグとが同じグループのタグであるか否かを判定する(ステップS12)。判定部150dは、同じグループのタグでない場合には(ステップS12,No)、第1ノードと、第2ノードとが異なるノードであると判定する(ステップS13)。 We now move on to the explanation of step S12. The determination unit 150d determines whether the tag of the first content and the tag of the second content are tags of the same group (step S12). If they are not tags of the same group (step S12, No), the determination unit 150d determines that the first node and the second node are different nodes (step S13).

一方、判定部150dは、同じグループのタグである場合には(ステップS12,Yes)、第1ノードと、第2ノードとが同一の可能性があるノードであると判定する(ステップS14)。 On the other hand, if the tags are from the same group (step S12, Yes), the determination unit 150d determines that the first node and the second node are possibly the same node (step S14).

ステップS15の説明に移行する。判定部150dは、第1コンテンツの文字列と、第2コンテンツの文字列とが同じであるか否かを判定する(ステップS15)。判定部150dは、コンテンツの文字列が同じである場合には(ステップS15,Yes)、ステップS17に移行する。 We move on to an explanation of step S15. The determination unit 150d determines whether the character string of the first content and the character string of the second content are the same (step S15). If the character strings of the contents are the same (step S15, Yes), the determination unit 150d moves on to step S17.

一方、判定部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 determination unit 150d determines whether the content character strings are similar (step S16). If the content character strings are similar (step S16, Yes), the determination unit 150d determines that the first node and the second node are the same node (step S17).

一方、判定部150dは、コンテンツの文字列が類似してない場合には(ステップS16,No)、ステップS14に移行する。 On the other hand, if the content strings are not similar (step S16, No), the determination unit 150d proceeds to step S14.

判定部150dは、上記の図6の処理を実行することで、第1ノードと、第2ノードとが、「異なるノード」であるか、「同一の可能性があるノード」であるか、「同一のノード」であるかを判定する。 The determination unit 150d executes the process shown in FIG. 6 above to determine whether the first node and the second node are "different nodes", "potentially the same nodes", or "the same node".

判定部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 determination unit 150d determines that the similarity between the first content of the first node and the second content of the second node is low, and determines not to associate the first node with the second node. The determination unit 150d deletes information about the second node that is determined to be a different node from the first node from the node correspondence table 140c.

たとえば、図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 determination unit 150d determines that the first node D50b and the second node D51b are different nodes, the determination unit 150d deletes the second node D51b associated with the first node D50b in the node correspondence table 140c.

判定部150dは、第1ノードと、第2ノードとが、同一のノードである場合には、第1ノードの第1コンテンツと、第2ノードの第2コンテンツとの類似度が高いものとして、第1ノードと、第2ノードとを対応付けると判定する。 When the first node and the second node are the same node, the determination unit 150d determines that the similarity between the first content of the first node and the second content of the second node is high, and determines to associate the first node with the second node.

判定部150dは、第1ノードと、第2ノードとが、同一の可能性のあるノードである場合には、かかる第1ノードと、第2ノードとについて、コンテンツに含まれるコマンドの互換性を判定する処理を実行する。 When the first node and the second node are potentially the same node, the determination unit 150d executes a process to determine the compatibility of commands included in the content between the first node and the second node.

ここで、コンテンツの類似性判定の一例について説明する。図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 source 40 is the HTML source when the operation is recorded. HTML source 41 is the HTML source when the operation is played back.

HTMLソース40は、コンテンツ40aと、コンテンツ40bとを有する。HTMLソース41は、コンテンツ41aと、コンテンツ41bとを有する。 HTML source 40 has content 40a and content 40b. HTML source 41 has content 41a and content 41b.

コンテンツ40aのタグ「span1」と、コンテンツ41aのタグ「span1」とは、同じタグであり、コンテンツ40aの文字列と、コンテンツ41aの文字列とは同じである。たとえば、判定部150dは、第1ノードのコンテンツが、コンテンツ40aであり、第2ノードのコンテンツが、コンテンツ41aである場合には、第1ノードと、第2ノードとが、「同一のノード」であると判定する。 The tag "span1" of content 40a and the tag "span1" of content 41a are the same tag, and the character string of content 40a and the character string of content 41a are the same. For example, when the content of the first node is content 40a and the content of the second node is content 41a, the determination unit 150d determines that the first node and the second node are "the same node."

コンテンツ40bのタグ「div」と、コンテンツ41bのタグ「span2」とは、異なるタグであるが、いずれも「テキスト領域の範囲を示す」という共通の機能をもつタグであるため、機能的に類似のタグと見なす。たとえば、判定部150dには、共通の機能を持つタグの情報が予め設定されおり、判定部150dは、かかる情報を基にして、類似のタグであるか否かを判定する。たとえば、判定部150dは、第1ノードのコンテンツが、コンテンツ40bであり、第2ノードのコンテンツが、コンテンツ41bである場合には、第1ノードと、第2ノードとが、「同一の可能性があるノード」であると判定する。 The tag "div" in content 40b and the tag "span2" in content 41b are different tags, but since they both have the common function of "indicating the range of a text area," they are considered to be functionally similar tags. For example, information on tags with a common function is set in advance in the determination unit 150d, and the determination unit 150d determines whether the tags are similar or not based on this information. For example, if the content of the first node is content 40b and the content of the second node is content 41b, the determination unit 150d determines that the first node and the second node are "potentially the same node."

続いて、判定部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 determination unit 150d will be described. The determination unit 150d determines whether a first node and a second node, which may be the same, are compatible nodes by determining the compatibility of commands included in the content. As described below, when a first node and a second node, which may be the same, are compatible nodes, the determination unit 150d associates the first node with the second node.

図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 determination unit 150d of the information processing device 100 determines whether or not a command has been registered in the content of both nodes (step S21). If the command has not been registered in the content of both nodes (step S21, No), the determination unit 150d proceeds to step S22. On the other hand, if the command has been registered in the content of both nodes (step S21, Yes), the determination unit 150d proceeds to step S24.

ステップS22の説明に移行する。判定部150dは、片方のノードのコンテンツのみにコマンドが登録されているか否かを判定する(ステップS22)。判定部150dは、片方のノードのコンテンツのみにコマンドが登録されている場合には(ステップS22,Yes)、互換性なしと判定する(ステップS23)。 We move on to the explanation of step S22. The judgment unit 150d judges whether or not a command is registered in the content of only one of the nodes (step S22). If a command is registered in the content of only one of the nodes (step S22, Yes), the judgment unit 150d judges that there is no compatibility (step S23).

一方、判定部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 determination unit 150d proceeds to step S26.

ステップS24の説明に移行する。判定部150dは、コマンドの関数名が同じであるか否かを判定する(ステップS24)。判定部150dは、コマンドの関数名が同じである場合には(ステップS24,Yes)、ステップS26に移行する。 We move on to an explanation of step S24. The judgment unit 150d judges whether the function names of the commands are the same (step S24). If the function names of the commands are the same (step S24, Yes), the judgment unit 150d moves on to step S26.

一方、判定部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 determination unit 150d determines whether the function definitions of the commands are similar (step S25). If the function definitions of the commands are not similar (step S25, No), the determination unit 150d proceeds to step S23. On the other hand, if the function definitions of the commands are similar (step S25, Yes), the determination unit 150d determines that there is compatibility (step S26).

判定部150dは、上記の図8の処理を実行することで、同一の可能性がある第1ノードと、第2ノードとが、コマンドの互換性があるか否かを判定する。判定部150dは、コマンドの互換性がない場合には、第1ノードの第1コンテンツと、第2ノードの第2コンテンツとの類似度が低いものとして、第1ノードと、第2ノードとを対応付けないと判定する。判定部150dは、第1ノードと、異なるノードであると判定した第2ノードの情報を、ノード対応テーブル140cから削除する。 The determination unit 150d executes the process of FIG. 8 above to determine whether the first node and the second node, which may be identical, have command compatibility. If the commands are not compatible, the determination unit 150d determines that the similarity between the first content of the first node and the second content of the second node is low, and determines not to associate the first node with the second node. The determination unit 150d deletes information about the second node that is determined to be a different node from the first node from the node correspondence table 140c.

一方、判定部150dは、コマンドの互換性がある場合には、第1ノードの第1コンテンツと、第2ノードの第2コンテンツとの類似度が高いものとして、第1ノードと、第2ノードとを対応付けると判定する。 On the other hand, if the commands are compatible, the determination unit 150d determines that the similarity between the first content of the first node and the second content of the second node is high, and determines to associate the first node with the second node.

ここで、コンテンツのコマンドの互換性判定の一例について説明する。図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 source 42 is the HTML source at the time of operation recording. HTML source 43 is the HTML source at the time of operation playback.

HTMLソース42には、第1ノードに対応するコンテンツ42aが含まれる。たとえば、コンテンツ42aに対応するWEB画面のパーツには「name=“hoge”」のボタン(button)が設定されており、かかるボタンに対してクリックコマンドが実行されると、関数「cmd1()」が呼び出される。関数「cmd1()」の内部スクリプトは、HTMLソース42の領域42bに示すスクリプトとなる。内部スクリプトは、関数の定義に対応する。 The HTML source 42 includes content 42a corresponding to the first node. For example, a button with "name="hoge"" is set as a part of the web screen corresponding to content 42a, and when a click command is executed on this button, the function "cmd1()" is called. The internal script of the function "cmd1()" is the script shown in area 42b of the HTML source 42. The internal script corresponds to the definition of the function.

HTMLソース43には、第2ノードに対応するコンテンツ43aが含まれる。たとえば、コンテンツ423に対応するWEB画面のパーツには「name=“hoge”」のボタン(button)が設定されており、かかるボタンに対してクリックコマンドが実行されると、関数「cmd2()」が呼び出される。関数「cmd2()」の内部スクリプトは、HTMLソース42の領域43bに示すスクリプトとなる。 The HTML source 43 includes content 43a corresponding to the second node. For example, a button with "name="hoge"" is set as a part of the web screen corresponding to content 423, and when a click command is executed on this button, the function "cmd2()" is called. The internal script of the function "cmd2()" is the script shown in area 43b of the HTML source 42.

判定部150dは、各関数の関数名が同じである場合には、コンテンツのコマンドに互換性があると判定する。 If the function names of the functions are the same, the determination unit 150d determines that the content commands are compatible.

判定部150dは、各関数の関数名が異なる場合には、関数の内部スクリプトを比較し、内部スクリプトが同じ場合には、コンテンツのコマンドに互換性があると判定する。図9で示した例では、関数名「cmd1()」と、関数名「cmd2()」とが異なるが、内部スクリプトが同じであるため、互換性がある判定される。 If the function names of the functions are different, the determination unit 150d compares the internal scripts of the functions, and if the internal scripts are the same, it determines that the commands of the content are compatible. In the example shown in FIG. 9, the function names "cmd1()" and "cmd2()" are different, but because the internal scripts are the same, it is determined that they are compatible.

一方、判定部150dは、各関数の関数名が異なり、内部スクリプトが異なる場合には、コンテンツのコマンドに互換性がないと判定する。 On the other hand, if the function names of the functions are different and the internal scripts are different, the determination unit 150d determines that the content commands are not compatible.

なお、判定部150dは、内部スクリプトが完全に一致しない場合でも、内部スクリプトが類似している場合には、コンテンツのコマンドに互換性があると判定してもよい。たとえば、判定部150dは、内部スクリプトの文字列を単語列に分割し、同じ単語が所定の割合以上の場合に、内部スクリプトが類似していると判定する。 Note that the determination unit 150d may determine that the commands of the content are compatible if the internal scripts are similar, even if the internal scripts do not match perfectly. For example, the determination unit 150d divides the character string of the internal script into word strings, and determines that the internal scripts are similar if the number of identical words is equal to or exceeds a predetermined percentage.

上記のように、判定部150dが、コンテンツの類似性を判定する処理と、コンテンツに含まれるコマンドの互換性を判定する処理とを実行することで、ノード対応テーブル140cの仮の対応関係が、確定した対応関係となる。 As described above, the determination unit 150d executes the process of determining the similarity of the content and the process of determining the compatibility of the commands contained in the content, so that the provisional correspondence in the node correspondence table 140c becomes a confirmed correspondence.

図1の説明に戻る。実行部150eは、操作再生時に、操作履歴テーブル140bを基にして、シナリオを実行する処理部である。実行部150eは、操作履歴テーブル140bに記録された、実行順序S1-mに対応する操作対象(第1ノード)と、ノート対応テーブル140cとを基にして、第1ノードに対応する第2ノードを特定する。実行順序が次の実行順序に移行する度に、上記の前処理部150c、判定部150dによって、ノード対応テーブル140cが更新される。 Returning to the explanation of FIG. 1, the execution unit 150e is a processing unit that executes a scenario based on the operation history table 140b during operation playback. The execution unit 150e identifies the second node that corresponds to the first node based on the operation target (first node) corresponding to the execution order S1-m recorded in the operation history table 140b and the note correspondence table 140c. Each time the execution order moves to the next execution order, the node correspondence table 140c is updated by the preprocessing unit 150c and the determination unit 150d described above.

実行部150eは、第2ノードに対して、実行順序S1-mに対応する操作命令を実行する。実行部150eは、実行順序S1-m(m=1、2、3、4、・・・n)に従って、上記処理を繰り返し実行する。 The execution unit 150e executes the operation command corresponding to the execution order S1-m for the second node. The execution unit 150e repeatedly executes the above process according to the execution order S1-m (m = 1, 2, 3, 4, ... n).

次に、本実施例に係る情報処理装置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 recording processing unit 150b of the information processing device 100 receives one step of a UI (User Interface) operation on the WEB screen (step S101).

記録処理部150bは、操作対象のノードと操作命令とを操作履歴テーブル140bに記録する(ステップS102)。記録処理部150bは、操作記録時の構造化文書を構造化文書テーブル140aに登録する(ステップS103)。 The recording processing unit 150b records the node to be operated and the operation command in the operation history table 140b (step S102). The recording processing unit 150b registers the structured document at the time of the operation record in the structured document table 140a (step S103).

記録処理部150bは、UI操作が終了していない場合には(ステップS104,No)、ステップS101に移行する。記録処理部150bは、UI操作が終了した場合には(ステップS104,Yes)、処理を終了する。 If the UI operation has not ended (step S104, No), the recording processing unit 150b proceeds to step S101. If the UI operation has ended (step S104, Yes), the recording processing unit 150b ends the process.

図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 pre-processing unit 150c of the information processing device 100 obtains one step's worth of records from the operation history table 140b (step S201).

前処理部150cは、操作再生時の第2構造化文書を取得する(ステップS202)。前処理部150cは、第1構造化文書および第2構造化文書の比較を行い、ノード対応テーブル140cを生成する(ステップS203)。 The preprocessing unit 150c obtains the second structured document during the operation playback (step S202). The preprocessing unit 150c compares the first structured document and the second structured document, and generates a node correspondence table 140c (step S203).

情報処理装置100の判定部150dは、ノード対応テーブル140cを基にして、操作対象の第1ノードに対応する、第2ノードが存在するか否かを判定する(ステップS204)。判定部150dは、操作対象の第1ノードに対応する、第2ノードが存在しない場合には(ステップS205,No)、ステップS201に移行する。一方、判定部150dは、操作対象の第1ノードに対応する、第2ノードが存在する場合には(ステップS205,Yes)、ステップS206に移行する。 The determination unit 150d of the information processing device 100 determines whether or not a second node corresponding to the first node to be operated exists based on the node correspondence table 140c (step S204). If a second node corresponding to the first node to be operated does not exist (step S205, No), the determination unit 150d proceeds to step S201. On the other hand, if a second node corresponding to the first node to be operated exists (step S205, Yes), the determination unit 150d proceeds to step S206.

情報処理装置100の判定部150d、実行部150eは、コマンド実行処理を実行する(ステップS206)。情報処理装置100は、操作履歴テーブルのシナリオが終了していない場合には(ステップS207,No)、ステップS201に移行する。一方、情報処理装置100は、操作履歴テーブルのシナリオが終了した場合には(ステップS207,Yes)、処理を終了する。 The determination unit 150d and execution unit 150e of the information processing device 100 execute the command execution process (step S206). If the scenario in the operation history table has not ended (step S207, No), the information processing device 100 proceeds to step S201. On the other hand, if the scenario in the operation history table has ended (step S207, Yes), the information processing device 100 ends the process.

次に、図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 determination unit 150d of the information processing device 100 executes a similarity determination process (step S301). The processing procedure of the similarity determination process executed by the determination unit 150d corresponds to the processing procedure described in FIG. 6.

情報処理装置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 execution unit 150e of the information processing device 100 proceeds to step S307. On the other hand, if the first node and the second node are not different nodes (step S302, No), the information processing device 100 proceeds to step S303.

情報処理装置100の実行部150eは、第1ノードと第2ノードとが同一のノードである場合には(ステップS303,Yes)、第2ノードに対して操作命令(コマンド)を実行する(ステップS304)。 If the first node and the second node are the same node (step S303, Yes), the execution unit 150e of the information processing device 100 executes an operation instruction (command) on the second node (step S304).

一方、判定部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 determination unit 150d executes a compatibility determination process (step S305). The process procedure of the compatibility determination process executed by the determination unit 150d corresponds to the process procedure described in FIG. 8.

実行部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 execution unit 150e proceeds to step S304. On the other hand, if the command of the first node and the command of the second node are incompatible (step S306, No), the execution unit 150e skips the operation command (step S307).

次に、情報処理装置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 screen 50. When a worker operates the input unit 120 to generate a scenario in which button B on the web screen 50 is clicked, the recording processing unit 150b records the operation target "button B" and the operation command "click" in the operation history table 140b.

操作再生時のWEB画面を、WEB画面51とする。情報処理装置100の実行部150eは、操作履歴テーブル140bを基にして、操作対象となるWEB画面51のボタンBを特定し、操作命令に従って、WEB画面51のボタンBをクリックする。 The web screen during the operation playback is assumed to be web screen 51. The execution unit 150e of the information processing device 100 identifies button B on web screen 51 that is to be operated based on the operation history table 140b, and clicks button B on web screen 51 according to the operation command.

次に、本実施例に係る情報処理装置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, computer 200 has a CPU 201 that executes various types of arithmetic processing, an input device 202 that accepts data input from a user, and a display 203. Computer 200 also has a communication device 204 that transmits and receives data to and from external devices, etc., via a wired or wireless network, and an interface device 205. Computer 200 also has a RAM 206 that temporarily stores various types of information, and a hard disk device 207. Each of devices 201 to 207 is connected to a bus 208.

ハードディスク装置207は、画面表示処理プログラム207a、記録処理プログラム207b、前処理プログラム207c、判定プログラム207d、実行プログラム207eを有する。また、CPU201は、各プログラム207a~207eを読み出してRAM206に展開する。 The hard disk device 207 has a screen display processing program 207a, a recording processing program 207b, a pre-processing program 207c, a judgment program 207d, and an execution program 207e. The CPU 201 also reads out each of the programs 207a to 207e and expands them in the RAM 206.

画面表示処理プログラム207aは、画面表示処理プロセス206aとして機能する。記録処理プログラム207bは、記録処理プロセス206bとして機能する。前処理プログラム207cは、前処理プロセス206cとして機能する。判定プログラム207dは、判定プロセス206dとして機能する。実行プログラム207eは、実行プロセス206eとして機能する。 The screen display processing program 207a functions as the screen display processing process 206a. The recording processing program 207b functions as the recording processing process 206b. The pre-processing program 207c functions as the pre-processing process 206c. The judgment program 207d functions as the judgment process 206d. The execution program 207e functions as the execution process 206e.

画面表示処理プロセス206aの処理は、画面表示処理部150aの処理に対応する。記録処理プロセス206bの処理は、記録処理部150bの処理に対応する。前処理プロセス206cの処理は、前処理部150cの処理に対応する。判定プロセス206dの処理は、判定部150dの処理に対応する。実行プロセス206eの処理は、実行部150eの処理に対応する。 The processing of the screen display processing process 206a corresponds to the processing of the screen display processing unit 150a. The processing of the recording processing process 206b corresponds to the processing of the recording processing unit 150b. The processing of the pre-processing process 206c corresponds to the processing of the pre-processing unit 150c. The processing of the judgment process 206d corresponds to the processing of the judgment unit 150d. The processing of the execution process 206e corresponds to the processing of the execution unit 150e.

なお、各プログラム207a~207eについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207eを読み出して実行するようにしてもよい。 Note that each of the programs 207a to 207e does not necessarily have to be stored in the hard disk device 207 from the beginning. For example, each program may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, or IC card that is inserted into the computer 200. Then, the computer 200 may read and execute each of the programs 207a to 207e.

以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。 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 Appendix 1, further comprising a process for executing an operation command associated with the first node on the second node associated with the first node.

(付記3)前記判定する処理は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれるタグまたは文字列と、第2ノードのコンテンツに含まれるタグまたは文字列との類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定することを特徴とする付記1または2に記載の判定プログラム。 (Appendix 3) The determination program described in appendix 1 or 2, 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, for the first node and the second node for which the provisional association has been performed.

(付記4)前記判定する処理は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれる第1コマンドが、第2ノードのコンテンツに含まれる第2コマンドと互換性がある場合に、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けることを特徴とする付記1または2に記載の判定プログラム。 (Appendix 4) The determination program described in appendix 1 or 2, 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.

(付記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 Information processing device 110 Communication unit 120 Input unit 130 Output unit 140 Storage unit 140a Structured document table 140b Operation history table 140c Node correspondence table 150 Control unit 150a Screen display processing unit 150b Recording processing unit 150c Preprocessing unit 150d Determination unit 150e Execution unit

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ノードに対応付けられた前記第2ノードに対して、前記第1ノードに対応付けられた操作命令を実行する処理を更に実行することを特徴とする請求項1に記載の判定プログラム。 The determination program according to claim 1, further comprising a process for executing an operation command associated with the first node on the second node associated with the first node. 前記判定する処理は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれるタグまたは文字列と、第2ノードのコンテンツに含まれるタグまたは文字列との類似度を基にして、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けるか否かを判定することを特徴とする請求項1または2に記載の判定プログラム。 The determination program according to claim 1 or 2, 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 included in the content of the first node and a tag or character string included in the content of the second node. 前記判定する処理は、前記仮の対応付けを行った第1ノードおよび第2ノードについて、第1ノードのコンテンツに含まれる第1コマンドが、第2ノードのコンテンツに含まれる第2コマンドと互換性がある場合に、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けることを特徴とする請求項1または2に記載の判定プログラム。 The determination program according to claim 1 or 2, 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. 前記判定する処理は、前記第1コマンドの関数名と、前記第2コマンドの関数名とが同じ場合、または、前記第1コマンドの関数の定義と、前記第2コマンドの関数の定義とが類似している場合に、前記仮の対応付けを行った第1ノードと第2ノードとを対応付けることを特徴とする請求項4に記載の判定プログラム。 The determination program according to claim 4, characterized in that the process of determining corresponds the first node and the second node for which the provisional correspondence 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. コンピュータが実行する判定方法であって、
操作命令の記録時において、第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木構造に含まれる複数の第1ノードに対して、操作命令を記録する記録処理部と、
操作命令の再生時において、前記第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:
JP2020153777A 2020-09-14 2020-09-14 JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS Active JP7524690B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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