WO2021240823A1 - 識別装置、識別方法および識別プログラム - Google Patents
識別装置、識別方法および識別プログラム Download PDFInfo
- Publication number
- WO2021240823A1 WO2021240823A1 PCT/JP2020/021497 JP2020021497W WO2021240823A1 WO 2021240823 A1 WO2021240823 A1 WO 2021240823A1 JP 2020021497 W JP2020021497 W JP 2020021497W WO 2021240823 A1 WO2021240823 A1 WO 2021240823A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- screen
- identification
- components
- sample
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Definitions
- the present invention relates to an identification device, an identification method and an identification program.
- Patent Document 2 An identification method for general programs including those whose screens are not described in HTML has also been proposed (see, for example, Patent Document 2).
- Patent Document 2 as a condition for determining the equivalence of the screen components to be controlled, an arrangement pattern expressing the condition of the relative arrangement relationship between the screen components on the sample screen (two-dimensional plane) is used.
- the screen component is identified by preparing and searching for a screen component that satisfies the arrangement pattern on the processing target screen.
- each screen component may not be uniquely identified in the screen.
- Patent Document 2 targets a general program, but the relative arrangement of screen components on a screen (two-dimensional plane) may change depending on the size of the screen and the amount of display contents. be.
- FIG. 46 is a diagram showing an example of a screen.
- the screen Pa of FIG. 46 (1) if the text box for inputting the street address and the like, which are arranged adjacent to each other on the right side (or up and down), and the "Register” button reduce the width of the screen.
- the screen Pb of FIG. 46 (2) are arranged diagonally to the lower left.
- the screen and screen components cannot be identified by the method described in Patent Document 2.
- the present invention has been made in view of the above, and provides an identification device, an identification method, and an identification program capable of identifying screen components without being affected by changes in screen structure or arrangement. With the goal.
- the identification device of the present invention has a screen component in the screen structure of the sample screen data and a screen component in the screen structure of the screen data to be processed, respectively. It has a screen configuration comparison unit that determines the equivalence of the screen components of the sample screen data and the screen data to be processed based on whether or not they have the same relationship as other screen components in the screen structure of. It is a feature.
- the identification method of the present invention is an identification method executed by the identification device, and the screen component in the screen structure of the sample screen data and the screen component in the screen structure of the screen data to be processed are each. It is characterized by including a step of determining the equivalence of the screen component between the sample screen data and the screen data to be processed based on whether or not the screen structure has the same relationship as other screen components. ..
- the screen component in the screen structure of the sample screen data and the screen component in the screen structure of the processing target screen data are the same as other screen components in each screen structure.
- a computer is made to execute a process of determining the equivalence of screen components between the sample screen data and the screen data to be processed based on whether or not they are related.
- screen components can be specified without being affected by changes in screen structure or arrangement.
- FIG. 1 is a diagram showing an example of screen data.
- FIG. 2 is a diagram relating to identification of screen components.
- FIG. 3 is a diagram illustrating the determination of equivalence in the embodiment.
- FIG. 4 is a diagram illustrating trimming of the screen structure of the sample in the embodiment.
- FIG. 5 is a diagram illustrating an example of the configuration of the identification system according to the embodiment.
- FIG. 6 is a diagram showing an example of a data structure of data stored in the processing target screen data storage unit.
- FIG. 7 is a diagram showing an example of a data structure of data stored in the identification result storage unit.
- FIG. 8 is a diagram showing an example of a data structure of data stored in the identification information storage unit.
- FIG. 1 is a diagram showing an example of screen data.
- FIG. 2 is a diagram relating to identification of screen components.
- FIG. 3 is a diagram illustrating the determination of equivalence in the embodiment.
- FIG. 4 is a diagram illustrating trimming of
- FIG. 9 is a diagram showing an example of a data structure of data stored in the screen attribute comparison rule storage unit.
- FIG. 10 is a diagram showing an example of a data structure of data stored in the element attribute comparison rule storage unit.
- FIG. 11 is a diagram showing an example of a data structure of data stored in the identification case storage unit.
- FIG. 12 is a flowchart showing a processing procedure of the processing in the identification device shown in FIG.
- FIG. 13 is a flowchart showing a processing procedure of the identification process shown in FIG.
- FIG. 14 is a flowchart showing a processing procedure of the screen structure comparison process shown in FIG.
- FIG. 15 is a flowchart showing a processing procedure of a process of evaluating a mapping method among the mapping method derivation processes.
- FIG. 16 is a flowchart showing a processing procedure of the screen structure equivalence determination process shown in FIG.
- FIG. 17 is a diagram illustrating an enumeration of iteration units when the iteration structure is one layer.
- FIG. 18 is a diagram illustrating an enumeration of iteration units when the iteration structure is one layer.
- FIG. 19 is a diagram for explaining the calculation result acquired by the screen configuration comparison unit.
- FIG. 20 is a diagram illustrating an enumeration of iteration units when the iteration structure has a plurality of layers.
- FIG. 21 is a diagram illustrating an enumeration of iteration units when the iteration structure has a plurality of layers.
- FIG. 22 is a diagram illustrating an enumeration of iteration units when the iteration structure has a plurality of layers.
- FIG. 23 is a diagram illustrating an enumeration of iteration units when the iteration structure has a plurality of layers.
- FIG. 24 is a diagram illustrating an enumeration of iteration units when the iteration structure has a plurality of layers.
- FIG. 25 is a diagram illustrating an enumeration of iteration units when the iteration structure has a plurality of layers.
- FIG. 26 is a diagram for explaining the calculation result acquired by the screen configuration comparison unit.
- FIG. 27 is a diagram for explaining the calculation result acquired by the screen configuration comparison unit.
- FIG. 26 is a diagram for explaining the calculation result acquired by the screen configuration comparison unit.
- FIG. 28 is a flowchart showing a processing procedure of the pre-trimming process.
- FIG. 29 is a flowchart showing a processing procedure of the trimming target specifying process shown in FIG. 28.
- FIG. 30 is a flowchart showing a processing procedure of the screen component enumeration process of the ancestor / neighborhood shown in FIG. 29.
- FIG. 31 is a flowchart showing a processing procedure of the post-identification trimming process shown in FIG.
- FIG. 32 is a diagram illustrating a process of obtaining a control target identification assisting screen component.
- FIG. 33 is a diagram showing a processing example for obtaining a similar screen configuration.
- FIG. 34 is a diagram showing an example of a process for obtaining a control target identification assisting screen component.
- FIG. 29 is a flowchart showing a processing procedure of the trimming target specifying process shown in FIG. 28.
- FIG. 30 is a flowchart showing a processing procedure of the screen component enumeration process
- FIG. 35 is a diagram showing an example of a process for obtaining a control target identification assisting screen component.
- FIG. 36 is a diagram showing an example of a process for obtaining a control target identification assisting screen component.
- FIG. 37 is a diagram showing an example of a process for obtaining a control target identification assisting screen component.
- FIG. 38 is a diagram showing an example of a process for obtaining a control target identification assisting screen component.
- FIG. 39 is a diagram illustrating a process of obtaining a control target identification assisting screen component when the iterative structure has one layer.
- FIG. 40 is a diagram illustrating a process of obtaining a control target identification assisting screen component when the iterative structure has one layer.
- FIG. 40 is a diagram illustrating a process of obtaining a control target identification assisting screen component when the iterative structure has one layer.
- FIG. 41 is a diagram illustrating a process of obtaining a control target identification assisting screen component when the iterative structure has one layer.
- FIG. 42 is a diagram illustrating a process of obtaining a control target identification assisting screen component when an arbitrary number of nested iterative structures of an arbitrary number of layers are included.
- FIG. 43 is a diagram schematically showing parts that are common to and parts that are not common to screen structures that are equivalent or unequal.
- FIG. 44 is a diagram showing an example in which the equivalence of screen structures changes depending on the number of equivalent substructures.
- FIG. 45 is a diagram showing an example of a computer in which an identification device and a support device are realized by executing a program.
- FIG. 46 is a diagram showing an example of a screen.
- FIG. 1 is a diagram showing an example of screen data.
- the operator refers to the values displayed in the text boxes, list boxes, buttons, labels, etc. (hereinafter referred to as "screen components") that make up the screen of the program running in the terminal. , Perform operations such as inputting and selecting values for screen components. Therefore, in some programs for the purpose of automating and supporting terminal work, grasping and analyzing the actual work situation, the screen image P1, the screen attribute A1, and the screen component information shown in FIG. 1 are used. , Some of these have been acquired and used.
- the screen image P1, the screen attribute A1, and the information of the screen components are collectively referred to as "screen data".
- the screen attribute A1 is a title, a class name, coordinate values of a display area, a name of a displayed program, and the like.
- Information on screen components can be obtained by UIA, MSAA, or an interface provided by the program.
- the screen component information includes information that can be used independently for each screen component, such as the type of screen component, display or non-display state, display value, and coordinate value of the display area (hereinafter referred to as "attribute").
- attribute information
- screen structure information that represents the relationships such as the inclusion relationship and ownership relationship between screen components held internally by the program is also included.
- FIG. 1 illustrates the attribute E1 of the screen component and illustrates the screen structure C1.
- the screens are displayed according to the displayed matter and the implementation status of the work.
- the values of some of the components' attributes are different.
- the presence or absence of screen components themselves is also different. For example, if the number of items included in the matter is different, the number of rows in the list displaying it will change. Alternatively, the display / non-display of the error message may change depending on the implementation status of the work. Therefore, the screen structure also changes.
- screen data and information related to the operation are acquired and collected as an operation log at the timing when the worker performs an operation on the screen component on each terminal.
- screen data acquired at different times and on different terminals can be used for screens and screen components of the same operation target. Are classified so that they are in the same group, and are used for deriving the screen operation flow, totaling the number of operations performed, and totaling the operation time.
- some screen data is sampled from a large amount of operation logs to obtain sample screen data, and the screen data of the remaining operation logs is collated with the sample screen data to determine the classification destination. Can be considered.
- FIG. 2 is a diagram relating to identification of screen components.
- the identification means for example, specifying that the screen component E3 of the screen data P3 to be processed in FIG. 2 is equivalent to the screen component E2 of the sample screen data P2 (see the arrow Y1 in FIG. 2). ).
- the processing target screen data may be acquired from the screen displayed at the time when the identification process according to the present embodiment is executed, or may be separately acquired and accumulated.
- the screen identification based on the screen attributes and the screen component identification based on the screen component information have a complementary relationship. For example, even if the screen titles are the same, the screen components included in the screen may be completely different. Therefore, it cannot be determined whether the screens are equivalent or not only by comparing the screen attributes. Therefore, by identifying the screen components, it is investigated whether or not the screen components equivalent to the control target screen components in the sample screen data are included in the processing target screen data, and the survey results are also taken into consideration. , It can be confirmed whether the screen data is equivalent. On the contrary, if the titles of the screens are different, it can be confirmed that the screens are not equivalent without identifying a plurality of screen components, which helps to reduce the amount of calculation.
- the method of identifying the screen component is mainly described, but the method is actually related to the identification of the screen.
- the first condition is that even if the screen is the same, the attribute values and screen structure of the screen components change depending on the displayed matter and the implementation status of the work.
- the second condition is that in the information of the screen component that can be acquired, the invariant attribute is limited to the type of the screen component and the like, and the attribute of the screen component to be controlled and its ancestor attribute or a combination of a plurality of attributes are used. However, it is a case where each screen component cannot be uniquely identified in the screen.
- the third condition is a case where the arrangement of the screen components on the two-dimensional plane changes depending on the size of the screen and the amount of display contents of each screen component.
- the fourth condition is that it is not always necessary for a person to create a condition for determining the equivalence of the screen component to be controlled for each screen or screen component.
- the screen component in the screen structure of the sample screen data (hereinafter, referred to as “sample screen structure”) which has the same attribute value and can be equivalent. ”)
- the screen components in the screen structure of the screen data to be processed hereinafter referred to as“ screen structure to be processed ”
- “ screen components to be processed ” are the respective screens. In the structure, it is determined whether or not the relationship is similar to that of other screen components, and the equivalence between the screen and the screen component is determined.
- the screen structure is an arborescent tree
- the screen component to be controlled and its ancestor not only the screen component to be controlled and its ancestor, but also the screen component having a sibling relationship and the ancestor-descendant relationship. It is determined whether or not the screen components having the same attribute value and having the same attribute value have the same relationship even for the screen components having different depths from the root screen component.
- FIG. 3 is a diagram for explaining the determination of equivalence in the embodiment.
- the image structure C4 of the sample and the screen structures C5 and C6 to be processed are compared, and processing is performed among the entire screen components of the sample.
- the intersection structure is obtained so that the evaluation of the mapping method is the best based on the number of objects associated with the target screen component and the like.
- the screen component included in the common partial structure is a sample screen component associated with the screen component to be processed, or a screen component of the processing target associated with the screen component of the sample.
- the screen and the screen component are equivalent by comparing the ratio of the entire screen component of the sample that is associated with the screen component to be processed, etc. with a predetermined threshold value. Judge the sex.
- the screen structure C5 to be processed is equivalent to the sample screen structure C4 because the common partial structure includes all the sample screen structures C4 ((FIG. 3). See 1)).
- the nodes N3 and N4 of the screen structure C6 to be processed are different from the nodes N1 and N2 of the sample screen structure C4 (see (a) and (b) of FIG. 3 (2)). Therefore, in the identification method according to the embodiment, it is determined that the screen structure C5 to be processed is not equivalent to the sample screen structure C4 because the common partial structure does not include a part of the sample screen structure C4. (See (2) in FIG. 3).
- the attribute value of the screen component at least the type of the screen component needs to be used in practice, so that it is not affected by the fluctuation of other attribute values. Further, in the identification method according to the present embodiment, the common partial structure for which the evaluation of the matching method is the best is obtained, not whether or not the screen structures are completely matched, and the ratio of the elements of the common partial structure is predetermined. Since the determination is made by comparing with the threshold value, fluctuations in the screen structure can be tolerated.
- the invariant attribute is limited to the types of screen components and the like, and even if the screen component to be controlled, the attribute of its ancestor, or a combination of a plurality of attributes is used, the inside of the screen can be used. Even if each screen component cannot be uniquely identified in, whether or not screen components with the same attribute value have the same relationship even for screen components that are broader and do not have an ancestor-descendant relationship. In many cases, it can be identified because it is taken into consideration.
- the screen structure does not change depending on the size of the screen and the amount of display contents of each screen component. Therefore, even when the arrangement of the screen components on the two-dimensional plane changes, the identification method according to the present embodiment determines the equivalence of the screen components without being affected by the change. Can be done.
- the sample screen data may be acquired by a program or the like for the purpose of automating or supporting the terminal work. Therefore, it is not always necessary for a person to create a condition for determining the equivalence of the screen components to be controlled.
- the control target screen components required by the program for the purpose of automating and supporting the terminal work and the screen components that affect the identification are left, and the others are left. Trim.
- FIG. 4 is a diagram illustrating trimming of the screen structure of the sample in the embodiment.
- the screen structure of the sample is trimmed so that the controlled target screen component and its ancestors and neighbors remain.
- the portions B1-1 to B1-3 including screen components other than the control target are trimmed to generate the sample screen structure C7'.
- the identification method according to the embodiment in the screen structure of the sample, the ancestors, descendants, and neighborhoods of the controlled screen component and the similar screen component are compared, and the common part and the non-common part are obtained. .. Then, in the identification method according to the embodiment, a common part and a non-common part are obtained by comparing with the screen structure of the equivalent or non-equivalent screen data stored in the identification case storage unit. As a result, in the identification method according to the present embodiment, a portion that does not affect the identification result is specified and trimming is performed.
- the controlled target screen components required by the program for the purpose of automating and supporting the terminal work and the screen components that affect the identification are left, and other than that.
- trimming the number of screen components in the screen structure of the sample is reduced, and the amount of calculation required for identification is reduced.
- FIG. 5 is a diagram illustrating an example of the configuration of the identification system according to the embodiment.
- the identification system 1 has an identification device 10 and a support device 20.
- the identification device 10 determines whether or not the screen component in the screen structure of the sample and the screen component in the screen structure to be processed have the same relationship as other screen components in each screen structure. Based on this, the equivalence between the sample screen data and the processing target screen data is identified.
- the support device 20 executes automation and support of terminal work.
- the identification device 10 communicates with the support device 20. In the example of FIG. 5, the identification device 10 will be described as another device that operates in cooperation with the support device 20, but may operate as a partial functional unit inside the support device 20.
- the support device 20 will be described.
- a predetermined program is read into a computer or the like including a ROM (Read Only Memory), a RAM (Random Access Memory), a CPU (Central Processing Unit), and the CPU executes the predetermined program. It is realized by.
- the support device 20 has an identification processing calling unit 21 and a screen component control unit 22.
- the identification processing calling unit 21 outputs the processing target screen data to the identification device 10, and causes the identification device 10 to execute the identification process for the processing target screen data.
- the screen component control unit 22 acquires display values for the control target screen components specified at the time of prior operation setting using the sample screen data based on the result of the identification process executed by the identification device 10. And control operations.
- the identification device 10 will be described. As shown in FIG. 5, the identification device 10 includes a communication unit 11, a storage unit 12, and a control unit 13.
- the communication unit 11 is a communication interface for transmitting and receiving various data to and from another device operating on a common basic device or another device connected via a network or the like.
- the communication unit 11 is realized by API, NIC (Network Interface Card), etc., and is another device via a common basic device, or another device via a telecommunication line such as LAN (Local Area Network) or the Internet. Communication is performed between the device and the control unit 13 (described later).
- the storage unit 12 is realized by a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk, and is a processing program for operating the identification device 10 or a processing program. Data used during execution is stored.
- the storage unit 12 includes a processing target screen data storage unit 121, an identification result storage unit 122, an identification information storage unit 123, a screen attribute comparison rule storage unit 124 (option 2-1), and an element attribute comparison rule storage unit 125 (option 3). And has an identification case storage unit 126 (option 1-2).
- the processing target screen data storage unit 121 stores data related to the processing target screen data.
- FIG. 6 is a diagram showing an example of a data structure of data stored in the processing target screen data storage unit 121.
- the processing target screen data storage unit 121 stores screen data for each processing target screen.
- the processing target screen data storage unit 121 has a data structure exemplified as the processing target screen data 121-1 in FIG. 6 as the processing target screen data.
- the processing target screen data 121-1 includes screen data ID 121D related to the screen data to be processed, screen component information including screen component attributes 121A and screen structure 121C, screen image data 121P, and screen attribute data. Includes 121E.
- the screen data ID 121D has an ID number which is identification information of the screen data to be processed.
- the attribute 121A of the screen component is an item of the type of the screen component, the display or non-display state, the display value, the selection state, and the presence / absence of the operator's operation in the screen component attribute E1 shown in FIG. When option 4-2 is applied).
- the item possessed by the attribute 121A of the screen component may be the same item as the attribute E1 of the screen component shown in FIG.
- the screen structure 121C shows a relationship such as an inclusion relationship and an ownership relationship between screen components by expressing the screen structure with a directed tree. Similar to the screen attribute A1 shown in FIG. 1, the screen attribute data 121E has items such as an attribute title, a class name, coordinate values of a display area, and a displayed program name.
- the identification result storage unit 122 stores the identification result by the identification unit 131 (described later).
- FIG. 7 is a diagram showing an example of a data structure of data stored in the identification result storage unit 122.
- the identification result storage unit 122 stores the identification result of the identification process executed for the screen data to be processed.
- the identification result storage unit 122 has the data structure exemplified in the identification result data 122-1 of FIG. 7 as the identification result.
- the identification result data 122-1 is a screen of the determination data 122R indicating the ID number of the sample screen data for which the equivalence determination with the screen data to be processed has been determined and the determination result, and the sample screen data and the processing target screen data. It has the association data 122H of the component.
- the association data 122H when the screen structure (repetition structure) in which the same partial structure (repetition unit) appears repeatedly is associated in the identification process, the ID number of the iteration unit is shown in the association data 122Ha. (Repeat unit ID) and the number of repetitions are added (when option 5 is applied).
- the identification information storage unit 123 stores information related to the sample screen data.
- FIG. 8 is a diagram showing an example of a data structure of data stored in the identification information storage unit 123.
- the identification information storage unit 123 stores screen data for each sample screen data.
- the identification information storage unit 123 has a set 123G of the sample screen data 123-1 in FIG.
- the sample screen data 123-1 includes sample screen data ID 123D which is identification information of sample screen data, information on screen components including screen component attributes 123A and screen structure 123C, screen image data 123P, and screen attribute data. Includes 123E, screen structure comparison individual setting 123J (when option 6 is applied), and screen structure trimming individual setting 123T (when option 1-1-1 is applied).
- the attribute 123A of the screen component is whether or not it is a control target, the proximity distance (when option 1-1-1 is applied), and the necessity of the descendant screen component (option 1-).
- screen components for screen identification assistance and ancestors when option 1-2 is applied
- iteration structure ID when option 5 is applied
- iteration unit ID when option 5 is applied
- the screen component for screen identification assistance and the ancestor column are items related to the process of identifying and trimming the part that does not affect the identification result.
- the data illustrated in the screen component for screen identification assistance and the ancestor column is assumed to be after trimming by the trimming unit 132, but the screen structure exemplified in FIG.
- the necessity of descendant screen components is an item related to the process of trimming the screen structure so that the screen components to be controlled and their ancestors and neighbors remain.
- the iterative structure ID and the iterative unit ID are items related to the process of specifying all the equivalents of each screen component to be controlled from within each iterative structure in the screen structure to be processed.
- the screen structure comparison individual setting 123J is a threshold value used when determining whether or not the sample screen structure and the processing target screen structure are equivalent.
- the screen structure trimming individual setting 123T is a setting value used for the neighborhood distance and the necessity of descendant screen components when trimming the screen structure so that the screen component to be controlled and its ancestors and neighborhoods remain.
- the screen attribute comparison rule storage unit 124 stores various comparison rules applied when comparing screen attributes.
- FIG. 9 is a diagram showing an example of a data structure of data stored in the screen attribute comparison rule storage unit 124.
- the screen attribute comparison rule storage unit 124 stores the screen attribute comparison rule 124M having items of the sample screen data ID, the attribute name, the comparison method, the character string before replacement, the character string after replacement, the lower limit value width, and the upper limit value width.
- the numerical values of the lower limit value width and the upper limit value width shown in the screen attribute comparison rule 124M are described as an example of range matching.
- the element attribute comparison rule storage unit 125 stores various comparison rules applied when comparing the attributes of screen components.
- FIG. 10 is a diagram showing an example of a data structure of data stored in the element attribute comparison rule storage unit 125.
- the element attribute comparison rule storage unit 125 has a screen component attribute comparison rule having items of a sample screen data ID, a screen component ID, an attribute name, a comparison method, a character string before replacement, a character string after replacement, a lower limit value width, and an upper limit value width.
- Memorize 125M The numerical values of the lower limit value width and the upper limit value width shown in the screen component attribute comparison rule 125M are described as an example of range matching, and the coordinate values of the display area of the screen component are mainly applied.
- the identification case storage unit 126 stores screen data identification cases.
- the identification case storage unit 126 stores the determination result for the equivalence between the screen structure of the sample screen data and the screen structure of the processing target screen data by the screen structure comparison unit 1314 (when option 1-2 is applied).
- FIG. 11 is a diagram showing an example of the data structure of the data stored in the identification case storage unit 126.
- the identification case storage unit 126 stores the screen data identification case 126W including the set Gr of the identification cases.
- each identification case Gr for each sample screen data, a set of processing target screen data identified as equivalent to each sample screen data and a set of processing target screen data not identified as equivalent are associated as examples. .. That is, each column of the screen data identification case 126W is data including the processing target screen data 121-1 and the identification result data 122-1 stored in the identification result storage unit 122.
- the control unit 13 has an internal memory for storing a program that defines various processing procedures and required data, and executes various processing by these.
- the control unit 13 is an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
- the control unit 13 has an identification unit 131 and a trimming unit 132 (removal unit) (options 1-1 and 1-2).
- the identification unit 131 determines the equivalence of the screen and screen components with respect to the screen data to be processed and the sample screen data.
- the identification unit 131 performs identification processing for determining whether or not the screen data to be processed stored in the processing target screen data storage unit 121 is equivalent to each sample screen data stored in the identification information storage unit 123. ..
- the identification unit 131 stores the identification result in the identification result storage unit 122.
- the identification unit 131 calls the screen component control unit 22 of the support device 20 and outputs the identification result.
- the identification unit 131 may store the result of determining the equivalence in the identification case storage unit 126.
- the identification unit 131 includes a processing target reception unit 1311, a sample selection unit 1312, a screen attribute comparison unit 1313 (option 2), a screen structure comparison unit 1314, and an identification result storage unit 1315.
- the processing target reception unit 1311 receives the input of the processing target screen data output from the support device 20 and stores it in the processing target screen data storage unit 121.
- the sample selection unit 1312 selects sample screen data for determining equivalence from the identification information storage unit 123.
- the screen attribute comparison unit 1313 compares the screen attribute of the sample screen data with the screen attribute of the screen data to be processed, and determines a match or a mismatch.
- the screen attribute comparison unit 1313 may use the comparison rule stored in the screen attribute comparison rule storage unit 124 in determining the match or mismatch of the screen attributes (option 2-1).
- the screen structure comparison unit 1314 compares the screen structure of the sample with the screen structure to be processed, and determines whether or not they are equivalent. In the screen structure comparison unit 1314, whether or not the screen component in the screen structure of the sample and the screen component in the screen structure to be processed have the same relationship as other screen components in each screen structure. Based on the above, the equivalence between the screen component of the sample and the screen component to be processed is determined.
- the screen structure comparison unit 1314 best evaluates the method of associating screen components based on the number of screen components associated with the screen components in the screen structure to be processed among the entire screen components of the sample screen structure.
- the elements that are common parts are extracted, and the ratio of the elements associated with the screen components to be processed among the entire sample screen components is compared with a predetermined threshold value to determine the equivalence of the screen components. do.
- the screen structure comparison unit 1314 evaluates a matching method for associating each screen component of the sample with the screen component of the process in the comparison of the screen structure between the sample and the processing target, and has the best evaluation. Using the method, the correspondence between each screen component of the sample screen data and the screen component of the screen data to be processed and the determination of equivalence are performed. At this time, the screen structure comparison unit 1314 determines the number of screen components to be controlled that are extracted from the screen structure of the sample and are associated with the screen components in the screen structure to be processed. It may be used for evaluation of the above and determination of equivalence (option 4-1).
- the screen structure comparison unit 1314 evaluates the mapping method and equalizes the number of screen components associated with the screen components to be processed, which are the target of the operation. It may be used for sex determination (option 4-2). Further, the screen structure comparison unit 1314 may repeat the process of deleting a part of the screen component to be processed associated with the screen component of the sample screen structure and obtaining the matching method that gives the best evaluation. Good (option 5).
- the identification result storage unit 1315 stores the identification result in the identification result storage unit 122. Further, the identification result storage unit 1315 stores the identification result in the identification case storage unit 126 (option 1-2).
- the trimming unit 132 trims the screen structure of each sample stored in the identification information storage unit 123 so that the controlled target screen component and its ancestors and neighborhoods remain (when option 1-1 is applied).
- the trimming unit 132 removes a screen component that does not correspond to any of the screen components to be controlled, the ancestors of the screen components to be controlled, or the nearby screen components.
- the trimming unit 132 stores the screen structure of each sample after trimming in the identification information storage unit 123.
- the trimming unit 132 identifies and trims a portion of the screen structure of each sample stored in the identification information storage unit 123 that does not affect the identification result (when option 1-2 is applied).
- the trimming unit 132 compares the controlled target screen component with the ancestors, descendants, or neighborhoods of the similar screen components, and is common. Find the parts that do and the parts that do not have in common.
- the trimming unit 132 compares with the screen structure of the equivalent or non-equivalent screen data stored in the identification case storage unit 126, and compares the common portion and the common portion. Find the part that does not.
- the trimming unit 132 leaves the minimum necessary parts among the parts that are not common as the control target identification assisting screen component and the screen identification assisting screen component, and the other parts that are not common are sampled from the screen structure of the sample. Remove.
- the trimming unit 132 uses the identification cases stored in the identification case storage unit 126 to store only the screen structure of the sample whose identification result does not change before and after trimming in the identification information storage unit 123, and in the subsequent identification processing. Make it available (when option 1-2 is applied).
- FIG. 12 is a flowchart showing a processing procedure of the processing in the identification device 10 shown in FIG.
- the trimming unit 132 controls the screen structure of each sample stored in the identification information storage unit 123 before the identification process in the identification unit 131, and its ancestors. Alternatively, the screen structure is trimmed so that the vicinity remains, and a pre-trimming process for updating is performed (step S1) (option 1-1).
- step S2 If the identification process is not continued (step S2: No), the identification device 10 ends the process.
- step S2: Yes the identification unit 131 accepts the input of the screen data to be processed in response to the call from the support device 20, and the screen data to be processed and the sample screen data. And, an identification process for determining the equivalence of the screen or screen components is performed (step S3).
- the identification device 10 determines whether or not the update condition of the sample screen data is satisfied (step S4).
- the update condition is, for example, that the identification case storage unit 126 stores data that has not been reflected in the sample screen data in an amount equal to or more than a predetermined threshold value.
- step S4 when the update condition of the sample screen data is satisfied (step S4: Yes), the trimming unit 132 stores the screen structure of each sample stored in the identification information storage unit 123 in the identification case storage unit 126. Trimming is performed using the screen data, and trimming is performed after identification to be updated (step S5) (option 1-2).
- the identification device 10 proceeds to step S2 when the update condition of the sample screen data is not satisfied (step S4: No) or after the end of step S5. Note that step S1, step S4, and step S5 can be deleted from FIG. 1 and executed independently of the process of FIG.
- FIG. 13 is a flowchart showing a processing procedure of the identification process shown in FIG.
- the identification unit 131 determines whether or not undetermined sample image data exists (step S11). When there is no undetermined sample image data (step S11: No), the identification unit 131 ends the identification process.
- the sample selection unit 1312 selects one undetermined sample screen data from the identification information storage unit 123 (step S12).
- the screen attribute comparison unit 1313 compares the screen attribute of the selected sample screen data with the screen attribute of the processing target screen data, and performs attribute comparison processing for determining match or mismatch (step S13) (option 2). ).
- the identification unit 131 determines whether the comparison result of the attributes on the screen is a match or a mismatch (step S14).
- the screen structure comparison unit 1314 compares the screen structure to be processed with the sample screen structure and determines whether or not they are equivalent. Perform screen structure comparison processing (step S15).
- the identification unit 131 determines whether the comparison result of the screen structure is equivalent or unequal (step S16).
- the identification result storage unit 1315 stores the identification result in the identification result storage unit 122 (step S17).
- the identification result storage unit 1315 stores the identification result in the identification case storage unit 126 (step S18) (step S18).
- Option 1-2 the identification result storage unit 1315 stores the identification result in the identification case storage unit 126 (step S18) (step S18).
- the identification unit 131 determines that the selected sample screen data has been determined when the comparison results of the screen attributes do not match (step S14: mismatch) or after the processing of step S18 (step S19), and the next sample screen. In order to determine the equivalence with the data, the process proceeds to step S11.
- the identification unit 131 assigns a priority of selection to the sample screen data in advance depending on the purpose of automation of terminal work, support, etc., and identifies the data when it is determined to be "equivalent". The process may be discontinued.
- step S13 the screen attribute comparison unit 1313 uses the following first or second screen attribute comparison method.
- the first screen attribute comparison method is "match" if the attributes representing the class name among the screen attributes of the selected sample screen data and the screen attributes of the processing target screen data match, otherwise. In some cases, it is a method of determining "mismatch".
- the second screen attribute comparison method determines the comparison rule to be applied from the comparison rules held by the screen attribute comparison rule storage unit 124, and is selected according to the comparison rule. This is a method of determining whether or not the attributes of the screen of the sample screen data and the attributes of the screen of the screen data to be processed match.
- the screen attribute comparison unit 1313 compares the screen attributes using the comparison rules shown in Table 1.
- the screen attribute comparison unit 1313 compares the value of the screen attribute of the sample screen data with the value of the screen attribute of the processing target screen data according to the comparison rule of Table 1, and determines a match or a mismatch.
- the screen attribute comparison unit 1313 processes the screen attributes of the sample screen data when it is determined that the values of the attributes of all the screens of the sample screen data and the processing target screen data are "matched”. It is determined that the attributes of the screen of the target screen data are "matched”, and if not, it is determined to be "mismatched”.
- the screen attribute comparison unit 1313 determines that the sample and the attribute value to be processed match when the attribute values completely match, and determine that they do not match in other cases (“exact match” in Table 1). ..
- the screen attribute comparison unit 1313 replaces the part of the sample and the attribute value to be processed that matches the regular expression specified in the replacement character string with the character string specified in the replacement character string. After that, the screen attribute comparison unit 1313 compares the replaced values with each other, and determines that they match when they completely match, and determines that they do not match in other cases (“regular expression match” in Table 1).
- the attribute value of the screen of the screen data to be processed is equal to or larger than the value obtained by subtracting the lower limit value width from the attribute value of the screen of the sample screen data, and the upper limit value width is added to the attribute value of the screen of the sample screen data. If it is within the value, it is judged as a match, and if it is not, it is judged as a mismatch (“range match” in Table 1). Further, the screen attribute comparison unit 1313 always determines that the match is always determined regardless of the screen attribute value of the screen data to be processed and the screen attribute value of the sample screen data (“ignore” in Table 1).
- the comparison rule to be applied is determined, for example, in the following priority order.
- Priority 1 A comparison rule that matches the ID and attribute name of the sample screen data to be compared, not "(arbitrary)” for either "sample screen data ID” or "attribute name”.
- Priority 2 A comparison rule in which the "sample screen data ID” is not “(arbitrary)” but matches the ID of the sample screen data to be compared.
- Priority 3 A comparison rule in which the "attribute name” is not "(arbitrary)” and matches the attribute name to be compared.
- Priority 4 A comparison rule other than priority 1 to 3, to which the ID and attribute name of the sample screen data to be compared correspond.
- FIG. 14 is a flowchart showing a processing procedure of the screen structure comparison process shown in FIG. 13
- the screen structure comparison unit 1314 performs a mapping method derivation process for obtaining the best mapping method ⁇ f for the screen structure of the selected sample and the screen structure to be processed. (Step S21).
- the screen structure comparison unit 1314 performs a screen structure equivalence determination process for determining the equivalence of the screen structure based on the mapping method ⁇ f obtained in step S21 (step S22).
- the same substructure corresponding to a row, hereinafter referred to as “repetition unit” repeatedly appears internally (corresponding to a list).
- the same substructure corresponding to a row, hereinafter referred to as “repetition unit”
- the screen component to be controlled may be included in the repetition unit.
- the single iteration unit mapping pattern only one equivalent to each screen component to be controlled is specified from within each iteration structure in the screen structure to be processed. For example, in the screen data to be processed, only those included in the same iteration unit as the screen component to be operated by the operator, such as switching the check box ON / OFF, are specified, and the input operation to the screen component is performed. It corresponds to the case of supporting.
- the all-repetition unit mapping pattern specifies all the equivalents of each screen component to be controlled from within each iterative structure in the screen structure to be processed.
- the all-repetition unit mapping pattern corresponds to, for example, the case where all the values displayed in the iteration structure of the screen data to be processed are acquired and then repeatedly posted to another screen by the number of acquired values (option). 5).
- the screen structure comparison unit 1314 enumerates the equivalent of each screen component to be controlled from among the iterative structures in the screen structure to be processed (step S23) (option). 5) By doing so, the one equivalent to the screen component to be controlled is specified from the screen components to be processed. At this time, the screen structure comparison unit 1314 writes the ID number and unit of the iteration structure in the iteration structure ID column and the iteration unit ID column of the attribute 123A of the screen component of the identification result storage unit 122.
- a method for comparing screen structures corresponding to these two patterns will be described in detail.
- a single iteration unit mapping pattern will be described.
- the screen structure is expressed as a graph structure or a tree structure with each screen component as a vertex and a direct relationship existing between some screen components as an edge (see, for example, the screen structure 121C in FIG. 6). ).
- a set of V r of vertices in screen structure swatch, E a set of edges in the screen structure swatch r ( ⁇ V r ⁇ V r) , a set of vertices in the screen structure of the processed V t, the set of edges in the screen structure of the processing target will be referred to as E t ( ⁇ V t ⁇ V t ).
- E t ⁇ V t ⁇ V t
- screen components and vertices are not distinguished for the sake of explanation.
- the vertex v ( ⁇ V r ) corresponding to each screen component of the sample is the vertex u ( ⁇ V t) corresponding to the maximum one screen component of the processing target.
- This method of associating vertices with each other corresponds to a single-shot partial map (or full-range map) f (see equation (1)).
- the set of sample screen components associated with any of the screen components to be processed is represented as Def (f). Further, the set of screen components to be processed associated with the screen components of the sample is represented by Img (f).
- the screen configuration comparison unit 1314 compares the screen structure of the sample and the processing target and obtains the intersection structure, the presence or absence of an edge corresponds to the combination of the associated vertices among these mapping methods. It is limited to those that are maintained before and after attachment, that is, those that satisfy equation (2).
- the screen structure is a directed order tree
- the algorithm for the directed order tree described in Reference 1 the product of the number of screen components of the sample screen data and the number of screen elements of the screen data to be processed is used.
- can be obtained.
- the mapping method is obtained under the constraint condition that the screen components that can be equivalent can be associated with each other.
- the first method is a method of determining "association is possible" when the values of the attributes representing the types of the attributes of the screen components match, and "unmatchable" when the values are not the same.
- the second method determines the comparison rule to be applied from the comparison rules held in the element attribute comparison rule storage unit 125 for each attribute of the screen component.
- the second method compares the value of the attribute of the screen component of the sample with the value of the attribute of the screen component to be processed, and determines whether or not they match according to the determined comparison rule as shown in Table 1. do.
- the screen components can be "corresponded” to each other, and if not, the screen components cannot be associated with each other. ".
- the comparison rule applied in the second method is determined, for example, in the following order of priority.
- Priority 1 All of "Sample screen data ID", “Screen component ID”, and "Attribute name” are not “(assignment)” but match the ID of the sample screen data to be compared, the ID of the screen component, and the attribute name. Comparison rules to do.
- Priority 2 A comparison rule that matches the ID of the sample screen data to be compared and the ID of the screen component, not "(arbitrary)” for both the “sample screen data ID” and the "screen component ID”.
- Priority 3 A comparison rule in which the "attribute name” is not "(arbitrary)” and matches the attribute name to be compared.
- Priority 4 A comparison rule other than priority 1 to 3, to which the ID of the sample screen data to be compared, the ID of the screen component, and the attribute name correspond.
- mapping method is required under the constraint condition that the root screen component of the sample screen structure can be associated only with the root screen component of the screen structure to be processed.
- the number of screen components included in the vertices that is, Def (f), in which the associating method f between the partial structures is associated with each other by using the associating method f
- It is evaluated according to the size of.
- the evaluation may be made based on the number of screen components included in the common partial structure, and some or all of the following first and second viewpoints are reflected. An evaluation method may be used.
- the first aspect is to associate the screen component to be controlled among the screen components of the sample with the screen component to be processed with priority over other screen components. Therefore, if a set of screen components of the control object and ⁇ V r ( ⁇ V r),
- the second viewpoint is that in a screen structure in which the same substructure repeatedly appears, such as a row in a list, a screen component in the screen data to be processed that the operator has targeted for operation is a screen in another row. It is to be associated with the screen component to be controlled in the screen structure of the sample with priority over the component. Therefore, if a set of screen components worker was subject to the operation and V op t ( ⁇ V t),
- the evaluation method of mapping method includes the entire screen structure swatches, targeting the entire screen structure to be processed, not only for the final mapping method, handled in the process of obtaining it, any V r
- the evaluation method itself does not depend on whether the screen composition has a graph structure or a tree structure.
- FIG. 15 is a flowchart showing a processing procedure of a process of evaluating a mapping method among the mapping method derivation processes.
- FIG. 15 a case of evaluating which of the matching methods f p and f q is the better method will be described as an example.
- the screen structure comparison unit 1314
- step S31 When the screen structure comparison unit 1314 is
- step S31 when the screen structure comparison unit 1314 is
- ) the mapping method f q is evaluated as a better mapping method than f p (step S33).
- step S35 When
- step S35 No
- (step S35: No) that is,
- the screen structure comparison unit 1314 evaluates the mapping method f p as a better mapping method than f q (step S32). ).
- the screen structure comparison unit 1314 can obtain the best-evaluated associative method ⁇ f by performing the associative method evaluation process shown in FIG. 15 with respect to the associating method to be evaluated.
- the screen structure comparison unit 1314 describes each evaluation viewpoint of the best associative method ⁇ f obtained in the associative method evaluation process shown in FIG. 15 as to whether or not the screen structure of the sample screen data and the image data to be processed is equivalent. , Each is determined by comparing with a predetermined threshold value.
- FIG. 16 is a flowchart showing a processing procedure of the screen structure equivalence determination process shown in FIG.
- the screen structure comparison unit 1314 is a set of screen components ( ⁇ Vr ) associated with the number of elements of the set of screen components ( ⁇ Vr) to be controlled by using the mapping method ⁇ f. Whether the ratio of the number of elements contained in both the Def ( ⁇ f)) and the set of screen components to be controlled ( ⁇ Vr ) is equal to or greater than a predetermined threshold value to equal to or greater than ⁇ , that is, the equation (4) is satisfied. It is determined whether or not the condition is satisfied (step S41).
- step S41: No the screen structure comparison unit 1314 determines that the screen structure of the sample and the screen structure to be processed are not equivalent (step S42).
- step S41 when satisfying the expression (4) (step S41: Yes), for the number of elements of the set (V r) of the screen components of the sample (whole), screen configuration associated with the association method ⁇ f It is determined whether the ratio of the number of elements (Def ( ⁇ f)) is equal to or greater than a predetermined threshold value, that is, whether or not the equation (5) is satisfied (step S43).
- step S43: No the screen structure comparison unit 1314 determines that the screen structure of the sample and the screen structure to be processed are not equivalent (step S42).
- step S43 if it meets the formula (5) (step S43: Yes), for the number of elements of the set (V op t) of the screen components worker subject to operation, corresponding to the sample using the correlation method ⁇ f the ratio of the number of included in both sets of Tagged screen elements to be processed ( ⁇ f (a set of ⁇ V r) and the operator who has been the object of screen elements of the operation (V op t) element, It is determined whether or not it is equal to or greater than a predetermined threshold value and equal to or greater than ⁇ op , that is, whether or not the equation (6) is satisfied (step S44).
- step S44: No the screen structure comparison unit 1314 determines that the screen structure of the sample and the screen structure to be processed are not equivalent (step S42).
- step S44: Yes the screen structure comparison unit 1314 determines that the screen structure of the sample is equivalent to the screen structure to be processed (step S45).
- the screen structure comparison unit 1314 may use a common threshold value for all the sample screen data or a threshold value determined for each sample screen data as each threshold value (option 6). ..
- the screen structure comparison unit 1314 finds the best matching method ⁇ f by comparison as a process of comparing the screen structure between the sample and the processing target, and then the equivalence of the screen structure between the sample and the processing target. Is judged.
- the best mapping method ⁇ f is not required when they are not equivalent (when option 1-2 is not applied), that is, when the post-discrimination trimming process is not applied, it is found to be below the threshold value. At that point, the comparison process may be terminated and it may be determined to be "unequal".
- the screen components of each route of the subtree ⁇ S * r (k) and ⁇ S ** r (k) are set to the base point ⁇ v * k of the iterative structure and the iterative unit. Notated as base point ⁇ v ** k .
- the set ⁇ V * r (k) and ⁇ V ** r (k) may be specified, and when the screen structure is an arborescent tree, the set ⁇ V * r (k) and ⁇ V ** r (k) may be specified.
- the base point ⁇ v * k , ⁇ v ** k may be specified instead.
- the set of those not included in any of the iterative structures is defined as ⁇ V r (0) .
- FIGS. 17 and 18 are diagrams illustrating an enumeration of iteration units when the iteration structure is one layer.
- FIGS. 17 and 18 a case where the screen structure C8 of the sample and the screen structure C9 to be processed are compared is shown as an example.
- the screen structure comparison unit 1314 is a single iterative unit for the entire screen structure. Comparison is performed by the mapping pattern, the best mapping method ⁇ f is obtained, mapping is performed by the mapping method ⁇ f (see (1) in FIG. 17), and the screen component of each control target is processed. Specify up to one equivalent in the screen structure of.
- the screen structure comparison unit 1314 does not need to obtain any more equivalent screen components for the screen components included in the set ⁇ Voddr (k). After that, as shown in FIGS. 17 and 18, the screen structure comparison unit 1314 processes each set to Vr (k) (where k ⁇ 1) for the screen components to be controlled. List other equivalents in the target screen structure.
- the screen structure comparison unit 1314 for any set ⁇ V r (k) of k ⁇ 1, all the screen components included in the set ⁇ V r (k) are processed by the best associative method ⁇ f.
- the screen component in the iteration unit ⁇ S ** r (k) ⁇ V ** r ( associated with the k) all screen elements of the screen structure of the processing target, that is ⁇ f ( ⁇ V ** r ( k)) ( hereinafter, referred to as "repeating units of the screen structure of the processed" Is deleted (see (A) in FIG. 18).
- FIG. 19 is a diagram for explaining the calculation result acquired by the screen configuration comparison unit 1314. By repeating the above processing until the equation (8) is obtained, the result shown in FIG. 19 is obtained.
- the screen configuration comparison unit 1314 compares the entire screen structure with a single iterative unit mapping pattern, finds the best mapping method ⁇ f, and obtains each. For the screen components to be controlled, up to one equivalent in the screen structure to be processed is specified. As a result, for each iteration structure of each layer, a set of screen components equivalent to the screen components included in the iteration structure but not included in the iteration unit in the screen structure to be processed, and the first iteration. A partial structure corresponding to the unit is required.
- 20 to 25 are diagrams illustrating an enumeration of iteration units when the iteration structure has a plurality of layers. 20 to 25 show a case where the screen structure C12 of the sample and the screen structure C13 to be processed are compared as an example.
- the screen configuration comparison unit 1314 lowers each time it finds a partial structure equivalent to the iteration unit in the screen structure to be processed in the upper hierarchy.
- the process of enumerating a set of screen components equivalent to screen components included in the iteration structure but not in the iteration unit, and a partial structure equivalent to the iteration unit. Is recursively repeated. The details of this process will be described below.
- FIG. 26 is a diagram for explaining the calculation result acquired by the screen configuration comparison unit 1314. If the iterative structure ⁇ S * r (k1, ..., kn-1, kn) does not have an iterative structure inside, the screen configuration comparison unit 1314 performs extended processing, and is shown in FIG. 26. Get the results shown.
- the screen configuration comparison unit 1314 has each iteration structure ⁇ in the first iteration unit in the screen structure to be processed, which is equivalent to the iteration unit ⁇ S ** r (k1, ..., kn-1).
- S * r (k1, ⁇ , kn-1, kn) relates, by the following process, repeating units ⁇ S ** r (k1, ⁇ , kn-1, kn) and equivalent partial structure (in A set of screen components included) and screen components equivalent to the screen components ⁇ Vr (k1, ..., kn-1, kn) to be controlled are all listed.
- the screen configuration comparison unit 1314 performs processing on the iterative structure of the lowest layer.
- the first iteration unit in the screen structure to be processed ⁇ f m1, ..., 1, 1 k1, ..., kn- 1.
- Delete all the screen components included in kn ( ⁇ V ** r (k1, ..., kn-1, kn) ) (see F11 in FIG. 21) (see (2) in FIG. 21).
- a second partial structure (a set of screen components included in) in the screen structure to be processed, which is equivalent to r (k1, ..., kn-1, kn ) ⁇ f m1, ..., 1 , 2 k1, ..., kn-1, kn ( ⁇ V ** r (k1, ..., kn-1, kn) ) (see F12 in FIG. 22) and the screen component ⁇ V to be controlled.
- Screen components equivalent to r (k1, ..., kn-1, kn) ⁇ f m1, ..., 1, 2 k1, ..., kn-1, kn ( ⁇ V r (k1, ...) ⁇ ⁇ , Kn-1, kn) )) is obtained.
- the second iteration unit in the screen structure to be processed ⁇ f m1, ..., 1, 2 k1, ..., kn-1, kn ( ⁇ V ** r (k1, ...) , Kn-1, kn) ) (see F12 in FIG. 22) to delete all screen components (see (5) in FIG. 22).
- the screen configuration comparison unit 1314 repeats the same process until the iteration unit in the screen structure to be processed cannot be found.
- the screen configuration comparison unit 1314 processes the iterative structure other than the lowest layer. , Recursively.
- a set of screen components equivalent to the screen components ⁇ Voddr (k1, ..., kn-1, kn) included in the iterative structure but not in the iterative unit is the screen to be processed. It is obtained at the stage when the first repeating unit in the structure is obtained.
- the screen configuration comparison unit 1314 the association process ⁇ f m1, ⁇ , 1 k1 , ⁇ , obtained by the association by kn-1, repeating units ⁇ S ** r (k1, ⁇ , Kn-1) , screen components included in the first iteration unit in the screen structure to be processed ⁇ fm1, ⁇ , 1 k1, ⁇ , kn-1 ( ⁇ V * * Delete all r (k1, ..., kn-1) ) (screen component F1 in FIG. 23) (see (8) in FIG. 23).
- the screen configuration comparison unit 1314 has the best associative method ⁇ f m1, ...
- the best associating method ⁇ f m1, ⁇ , 2 k1, ⁇ , kn-1 is obtained (see (9) in FIG. 23).
- the screen configuration comparison unit 1314 is the first in the second iteration unit in the screen structure to be processed, which is equivalent to the iteration unit ⁇ S ** r (k1, ..., kn-1).
- Iterative structure ⁇ S * r (k1, ..., kn-1, kn) does not have an iterative structure inside, so screen configuration comparison
- unit 1314 processes the iterative structure of the lowest layer as shown in FIGS. 24 and 25, and the screen configuration comparison unit 1314 is inside the second iteration unit. List the screen components equivalent to the controlled object.
- the screen configuration comparison unit 1314 repeats the above processing until the equation (13) is obtained.
- FIG. 27 is a diagram for explaining the calculation result acquired by the screen configuration comparison unit 1314.
- the screen configuration comparison unit 1314 repeats the above processing until the equation (13) is obtained, and obtains the result shown in FIG. 27.
- the screen structure of the sample may be the screen data acquired by a certain terminal at a certain point in time as it is. Further, the identification device 10 may use a screen structure of the acquired screen data that has been trimmed in advance in step S1 of FIG. 12 (when option 1-2 is applied). Further, the identification device 10 trims the screen structure of the sample using a plurality of screen data acquired at different time points and on different terminals and given the identification result (step S5 in FIG. 12), and subsequent identification processing. It may be used in (when option 1-2 is applied).
- the identification information storage unit 123 holds a plurality of sample screen data. The identification device 10 independently trims the screen structure of these samples. Therefore, in the following description, any one sample screen data in the sample screen data will be described.
- the trimming unit 132 trims the screen structure of each sample held by the identification information storage unit 123 according to the neighborhood distance specified in advance and the necessity of descendant screen components (option 1-1). However, in the pre-trimming process, the case where the screen structure is a directed tree is targeted.
- the screen structure is trimmed so that the screen component to be controlled and its ancestors and neighbors remain with respect to the screen structure of the acquired screen data.
- the same values specified in advance may be used for all the sample screen structures and the screen components to be controlled in the neighborhood distance and the necessity of the descendant screen components described below.
- the trimming unit 132 may use different values specified in advance for each sample screen data screen structure or each screen component to be controlled (option 1-1-1). This value can be obtained by referring to the screen structure trimming individual setting 123T of the identification information storage unit 123, the proximity distance of the attribute 123A of the screen component, and the necessity of the descendant screen component.
- the screen components to be controlled and their ancestors and neighbors are not limited to those specific to the sample screen structure and its equivalent screen structures, but all of them are also included in other non-equivalent screen structures. In some cases. In that case, only the screen components that are truly controlled in the program for the purpose of automating or supporting the terminal work and their ancestors and their neighbors, the same screen components are used in the screen structure equivalent to the sample screen structure. Even if it can be identified, it may not be possible to identify whether the screen structure is equivalent to the screen structure of the sample as it was before trimming. Therefore, in this method, not only the screen component that is truly controlled, but also the screen structure of the sample and the screen component that is considered to be peculiar to the equivalent screen structure are designated as the screen components to be controlled. It shall be.
- FIG. 28 is a flowchart showing the processing procedure of the pre-trimming process.
- the trimming unit 132 determines whether or not the sample screen data for which the trimming process has not been processed exists in the sample screen data held by the identification information storage unit 123. (Step S51).
- the trimming unit 132 ends the pre-trimming process when there is no unprocessed sample screen data (step S51: No).
- step S51 when there is unprocessed sample screen data (step S51: Yes), the trimming unit 132 selects one unprocessed sample screen data (step S52). The trimming unit 132 initializes the trimming target screen component set with all screen components (step S53). Then, a screen component to be the root of the directed tree is selected and used as the current screen component (step S54).
- the trimming unit 132 performs a trimming target specifying process for specifying the trimming target of the screen component and its descendants on the current screen component (step S55).
- the trimming unit 132 deletes the screen component remaining in the trimming target screen component set and the side having the screen component set as one end from the screen structure of the selected sample (step S56).
- the trimming unit 132 stores the trimming result (sample screen data after trimming) in the identification information storage unit 123 (step S57).
- the trimming unit 132 assumes that the selected sample screen data has been processed (step S58), and proceeds to step S51 in order to perform trimming processing on the next sample screen data.
- FIG. 29 is a flowchart showing a processing procedure of the trimming target specifying process shown in FIG. 28.
- the trimming unit 132 assumes that the current screen component has been scanned (step S61). Then, the trimming unit 132 determines whether or not the current screen component is a control target (step S62).
- step S62 When the current screen component is the control target (step S62: Yes), the trimming unit 132 considers the current screen component to have been investigated and deletes it from the trimming target screen component set (step S63). Subsequently, the trimming unit 132 performs an ancestor / neighborhood screen component enumeration process for enumerating the ancestor / neighborhood screen components (step S64).
- the trimming unit 132 determines whether or not the descendant screen component is necessary (step S65).
- the trimming unit 132 may use the same values specified in advance for all the sample screen structures and the screen components to be controlled, depending on whether or not the descendant screen components are necessary. Further, the trimming unit 132 may use different values specified in advance for each sample screen data screen structure or each screen component to be controlled. This value can be obtained by referring to the screen structure trimming individual setting 123T of the identification information storage unit 123 or the necessity of the descendant screen component of the attribute 123A of the screen component.
- step S65 When the necessity of the descendant screen component is "required” (step S65: required), the trimming unit 132 scans the descendant of the current screen component and deletes it from the trimming target screen component set (step S66).
- the trimming unit 132 has a case where the current screen component is not a control target (step S62: No), a case where the necessity of the descendant screen component is “No” (step S65: No), or after the process of step S66. , It is determined whether or not there is an unscanned child screen component (step S67).
- step S67: Yes When there is an unscanned child screen component (step S67: Yes), the trimming unit 132 selects one unscanned screen component from the child screen components (step S68). Then, the trimming unit 132 applies the flow of this process with the selected screen component as the current screen component (step S69), and proceeds to step S67. When the screen component of the unscanned child does not exist (step S67: No), the trimming unit 132 ends the trimming target specifying process.
- FIG. 30 is a flowchart showing a processing procedure of the screen component enumeration process of the ancestor / neighborhood shown in FIG. 29.
- the trimming unit 132 initializes the distance from the controlled screen component to 0 (step S71). Subsequently, the trimming unit 132 determines whether or not the parent screen component exists (step S72). If the parent screen component does not exist (step S72: No), the trimming unit 132 ends the ancestor / neighborhood screen component enumeration process.
- the trimming unit 132 sets the parent screen component as the current screen component (step S73). Then, the trimming unit 132 considers that the current screen component has been investigated and excludes it from the trimming target screen component (step S74). The trimming unit 132 adds 1 to the distance from the controlled screen component (step S75).
- the trimming unit 132 compares the distance from the control target screen component with a predetermined neighborhood distance, and determines whether or not the distance from the control target screen component ⁇ the neighborhood distance (step S76).
- the trimming unit 132 may use the same values specified in advance for the screen structure of all the samples and the screen components to be controlled as the neighborhood distance. Further, the trimming unit 132 may use different values specified in advance for each sample screen data screen structure or each screen component to be controlled. This value can be obtained by referring to the screen structure trimming individual setting 123T of the identification information storage unit 123 or the proximity distance of the attribute 123A of the screen component.
- the trimming unit 132 proceeds to the process of step S72 when the distance from the controlled target screen component is not ⁇ the neighborhood distance (step S76: No), that is, when the distance from the controlled target screen component> the neighborhood distance.
- step S76 when the distance from the control target screen component ⁇ the neighborhood distance (step S76: Yes), it is determined whether or not there is an uninvestigated child screen component (step S77). When the screen component of the uninvestigated child does not exist (step S77: No), the trimming unit 132 proceeds to the process of step S72.
- step S77 When there is an uninvestigated child screen component (step S77: Yes), the trimming unit 132 selects one uninvestigated screen component from the child screen components (step S78). Then, the trimming unit 132 considers the selected screen component to have been investigated and deletes it from the trimming target screen component set (step S79).
- the trimming unit 132 determines the necessity of the descendant screen component (step S80).
- the trimming unit 132 scans the descendant of the selected screen component to make it investigated, and deletes it from the trimming target screen component set. (Step S81).
- the trimming unit 132 proceeds to the processing of step S77.
- step S5 (option 1-2) shown in FIG. 12 will be described.
- the screen components to be controlled are not limited to those specific to the sample screen structure and the equivalent screen data. Therefore, in this method, the trimming screen component is requested to satisfy both the first and second conditions below.
- the first trimming condition is that the controlled screen component in the sample screen structure is not confused with other screen structure elements included in the sample screen structure itself.
- the second trimming condition is that the determination of equivalence with the screen structure of the sample does not change before and after trimming.
- FIG. 31 is a flowchart showing a processing procedure of the post-identification trimming process shown in FIG.
- the case where the screen structure is a directed order tree is targeted.
- the trimming unit 132 determines whether or not unprocessed sample screen data exists in the identification information storage unit 123 (step S91). If there is no unprocessed sample screen data in the identification information storage unit 123 (step S91: No), the trimming process after identification is terminated.
- step S91 When the unprocessed sample screen data exists in the identification information storage unit 123 (step S91: Yes), the trimming unit 132 selects one unprocessed sample screen data k held in the identification information storage unit 123. (Step S92).
- the trimming unit 132 obtains a set of screen components for assisting control target identification in the screen structure of the selected sample (step S93). Then, the trimming unit 132 obtains a screen identification assisting screen component set in the screen structure of the selected sample (step S94).
- the trimming unit 132 includes a screen component to be controlled, a screen component for assisting control target identification, a screen component for assisting screen identification, a screen component that does not correspond to any of their ancestors, and an edge having the screen component as one end thereof. Is deleted from the screen structure of the selected sample (step S95).
- the trimming unit 132 performs identification processing on the screen structure of each identification case stored in the identification case storage unit 126 as a sample of the screen structure to be the trimming result, and compares the identification results before and after trimming (step). S96). The trimming unit 132 determines whether or not there is an identification case in which the identification result changes before and after trimming (step S97).
- step S97: No If the identification result does not change before and after trimming in any identification case (step S97: No), the trimming result is saved in the identification information storage unit 123 (step S98).
- step S97: Yes the identification result changes before and after trimming
- step S98 the trimming unit 132 considers that the selected sample screen data has been processed (step S99). Then, the process returns to step S91, and it is determined whether or not there is the next sample screen data.
- FIG. 32 is a diagram illustrating a process of obtaining a control target identification assisting screen component.
- the trimming unit 132 sequentially sets each screen component to be controlled as a trimming range adjustment target (for example, [1-0] to [5-0] trimming range adjustment target).
- Control target identification assisting screen components for example, [1-2] to [5-2] control target identification
- Ask for assistance the processing for the basic form without an iterative structure.
- the trimming unit 132 cannot be distinguished only by considering the ancestors, descendants, and other screen components to be controlled, and the screen components determined to be equivalent (hereinafter, “similar screen components"). (Refer to [1-1] to [5-1] similar to FIG. 32)) is extracted from the screen structure before trimming.
- the trimming unit 132 increases the neighborhood distance step by step, and in the screen structure before trimming, the screen structure including the screen component to be trimmed to be adjusted in the trimming range, its ancestors, descendants, and the neighborhood (hereinafter, "" Trimming range adjustment target screen structure ”) and the screen structure consisting of each similar screen component and its ancestors, descendants and neighbors (hereinafter referred to as“ similar screen structure ”), the trimming range adjustment target Screen components that can be used to distinguish screen components from similar screen components (hereinafter referred to as "controlled target identification assist screen components”) (for example, [1-2] to [5-2]] (For control target identification assistance) is obtained.
- controlled target identification assist screen components for example, [1-2] to [5-2]] (For control target identification assistance
- the set of screen components to be adjusted in the trimming range is Ur ( ⁇ ⁇ Vr ), and the screen configuration not subject to the trimming range adjustment. a set of elements and ⁇ U r ( ⁇ ⁇ V r) .
- 1 but, in the expanded form of the later,
- FIG. 33 is a diagram showing a processing example for obtaining a similar screen configuration.
- FIG. 33 shows a provisionally trimmed screen structure C15, a similar screen component extraction screen structure (initial) C16-1, and a similar screen component extraction screen structure (after the first extraction) C16-2.
- the provisionally trimmed screen structure C15 and the screen structure C16-1 for extracting similar screen components are created from the screen structure before trimming.
- the provisionally trimmed screen structure C15 is a screen structure composed of only screen components to be controlled and their ancestors and descendants.
- the screen structure C16-1 for extracting similar screen components is a screen structure in which the screen component to be trimmed and its descendants (for example, B2 in FIG. 32) are deleted from the screen structure before trimming (FIG. 33). See (A)).
- the trimming unit 132 uses the provisionally trimmed screen structure C15 as a sample, targets the screen structure C16-1 for extracting similar screen components, and uses the following constraints and evaluation methods to determine the first best associative method ⁇ g. Find 1.
- the constraint condition is a condition that all screen components of the control target other than the trimming range adjustment target are associated with themselves (see (1) in FIG. 33).
- an evaluation method an evaluation method that evaluates by the size of the number of associated screen components is adopted.
- the trimming unit 132 the (all) screen components (for example, the [1-0] trimming range adjustment target in FIG. 33) to be adjusted in the trimming range in the provisionally trimmed screen structure C15 have a similar screen configuration. in the case associated with any screen elements in the element extraction screen structure C16-1 (U r ⁇ Def ( ⁇ g 1)), and records the correspondence process. On top of that, the trimming unit 132 resembles a similar screen component (screen component included in ⁇ g 1 ( Ur )) (for example, similar to [1-1-1] in FIG. 33) and its descendant B3. After deleting from the screen structure C16-1 for extracting screen components (see (B) in FIG. 33) and obtaining the following screen structure C16-2 for extracting similar screen components, the same constraint conditions and evaluation methods are used again. The second best associating method ⁇ g 2 is obtained.
- the (all) screen components for example, [1-0] trimming range adjustment target in FIG. 33
- the trimming unit 132 displays similar screen components (screen components included in ⁇ g 2 ( Ur )) (for example, similar to [1-1-2] in FIG. 33) and their descendants on a similar screen.
- the third best associative method is performed again by the same constraint conditions and evaluation method. ⁇ G 3 is calculated.
- the trimming unit 132 performs these processes until there are no screen components associated with the (any) screen component to be trimmed. In the case of the relationship shown in the equation (14), the trimming unit 132 does not execute the second process because there is no similar screen component, and is a set of empty control target identification assist screen components. To get.
- FIGS. 34 to 38 are diagrams showing an example of a process for obtaining a control target identification assisting screen component.
- the neighborhood distance is set to 0, and the screen structure is trimmed so that the screen component to be trimmed and its ancestors, descendants, and neighborhood remain. Create a screen structure for range adjustment.
- the set of screen components included in the trimming range adjustment target screen structure is referred to as U * d.
- the trimming range adjustment target screen structures C17, C19, C21, C23, and C25 shown in FIGS. 34 to 38 are examples of trimming range adjustment target screen structures.
- the trimming unit 132 has similar screen components for each of the mapping method ⁇ g 1 , ⁇ g 2 , ... ⁇ g m, ... Obtained in the first process.
- the trimming unit 132 creates similar screen structures C18-1, C18-2, C20-1 to C20-3, C22, C24, C26-1, and C26-2.
- the trimming section 132 a sample of the trimming range adjusted screen structure, and compares each similarity screen structure for processing, the following constraints, the evaluation method, determining the best correlation method ⁇ h m.
- the constraint condition is that all the screen components of the control target to be adjusted in the trimming range are associated with the similar screen components extracted in the first process (see, for example, (1) in FIG. 34).
- the evaluation method an evaluation method is adopted in which the evaluation is based on the number of associated screen components.
- the trimming range adjustment target is, for example, [1-0], [2-0], [3-0], [4-0], [5-0] trimming range adjustment target shown in FIGS. 34 to 38. ..
- Similar screen components are, for example, [1-1-1], [1-1-2], [2-1-1] to [2-1-3], [3-] shown in FIGS. 34 to 38. 1-1], [4-1-1], [5-1-1], [5-1-2].
- the result of the first process may be diverted. ..
- the trimming unit 132 obtains a set P d (see equation (15)) of screen components that cannot be associated with any screen component in any similar screen structure by comparison with all similar screen structures.
- the trimming unit 132 has, for each screen component v included in P d , each of the siblings in the trimming range adjustment target screen structure (however, the screen component to be trimmed range adjustment and its ancestors are excluded) and the screen configuration. It is determined whether or not the elements can be associated with each other, and as a result, the ones determined to be "unmatchable" with all the siblings are added to the set ⁇ of the screen components for assisting the identification of the controlled object.
- the control target identification assisting screen component is, for example, [1-2], [2-2], [3-2], [4-2], [5-2] control target shown in FIGS. 34 to 38. It is for identification assistance.
- the trimming unit 132 one or more control target identification assisting screen components are found, or the neighborhood distance d is the depth d from the root screen component of the screen structure before trimming to the screen component to be trimmed in the trimming range. The same process is repeated while increasing the neighborhood distance d until the value becomes Ur or more and the entire screen structure before trimming is included in the neighborhood.
- the trimming unit 132 may have a repeating structure that is not specified in advance. Since the screen component to be trimmed to be adjusted cannot be identified even if its ancestors, descendants, and neighboring screen components are taken into consideration, the user of the identification device 10 is notified to that effect, and the sample screen is displayed. Suspend trimming on the structure.
- 39 to 41 are diagrams illustrating a process of obtaining a control target identification assisting screen component when the iterative structure has one layer.
- the trimming unit 132 each screen element v i ⁇ ⁇ V r (0 ) of the control object which is not included in the repeating structure ([1-1] in FIG. 39, 1-2 ]
- the set of control target identification assist screen components ⁇ 0, i is obtained by performing the basic form processing ([1-1], [1-2] in FIG. 39). ] See for control target identification assistance).
- the first iterative structure ⁇ S * r (1) will be mainly described, but after the processing for the first iterative structure ⁇ S * r (1) , the same processing is performed for the second time. It is also carried out for the iterative structure ⁇ S * r (2) of (see (1) in FIG. 39). Further, in the example shown in FIG. 39, the number of repeated structures is two, but even when there are three or more repeated structures, the same processing is sequentially performed on the second and subsequent repeated structures.
- ⁇ S * r (k) ( ⁇ V * r (k) , ⁇ E * r (k) ), screen components included in the iteration structure but not in the iteration unit.
- ⁇ Voddr (k) first, it should not be confused with other screen components inside the iterative structure. Therefore, in the screen structure before trimming, the trimming unit 132 considers a subtree corresponding to the iterative structure, and sequentially targets only the screen components included in ⁇ Voddr (k) as the trimming range adjustment target (FIG. 39).
- the control included in the repeating unit ⁇ S ** r (k) ( ⁇ V ** r (k) , ⁇ E ** r (k) ) which is a partial structure of the repeating structure ⁇ S * r (k).
- the trimming unit 132 considers a subtree corresponding to the iteration unit and performs basic form processing to identify the control target for ⁇ V r (k) ⁇ ⁇ V odd r (k). Obtain a set of auxiliary screen components ⁇ in k (see [2-2-1] and [2--2-2] Control target identification assistance in FIG. 39).
- the trimming section 132 in the processing of basic form, the ⁇ V r (k) ⁇ ⁇ V odd r (k), and a set U r screen components of the trimming range adjusted ([3] in FIG. 40 trimming range (Refer to the adjustment target), the first and second processes are carried out.
- the provisionally trimmed screen structure and the screen structure for extracting similar screen components in the first process are set as follows (see [4] Correspondence (constraint condition) and [5] similarity in FIG. 40). ).
- Preliminary trimmed window structure (e.g., C27-1 in Figure 40) is, ⁇ V r (k) ⁇ ⁇ V odd r (k) All of the control target of the screen components not included in its ancestor, descendant, ⁇ It is a screen structure including only the screen component of the control target included in V r (k) ⁇ to V od r (k) , the screen component for assisting the identification of the control target, and their ancestors.
- the subtree ⁇ S * r (k) corresponding to the kth iterative structure is deleted in advance from the screen structure before trimming. This is the screen structure (see (1) in FIG. 40).
- the trimming range adjustment target screen structure and the m-th similar screen structure are set as follows.
- the trimming range adjustment target screen structure (for example, C27-4 in FIG. 41) is equivalent to the iteration unit ⁇ S ** r (k) in the iteration structure ⁇ S * r (k) in the screen structure before trimming. All the partial structures of are listed, and the second and subsequent partial structures are deleted (see (A) in FIG. 41).
- the screen structure of the sample before trimming itself may be regarded as the screen structure to be processed, and the extended type identification processing may be performed.
- the screen structure obtained as a result is used as a pseudo screen structure before trimming, and a trimming range adjustment target screen structure is created by the second process.
- control target identification assisting screen components for ⁇ V r (k) ⁇ ⁇ Volod r (k) for example, [2-1-1], [2-2-1], [2-2-1] in FIG. 41.
- Control target identification assistance and its ancestors should always be included.
- the control target identification assisting screen component for ⁇ V r (k) ⁇ ⁇ V odd r (k) is determined by the mapping method ⁇ g m.
- the mapping method ⁇ g m For example, for screen components associated with [2-1-1], [2-2-1], [2--2-2] for assisting control target identification in FIG. 41) (for example, [2-2-1] in FIG. 41. 2-1-1], [2-2-1], [2--2-2] Control target identification assistance mapping destination) and their ancestors are always included.
- the trimming adjustment target screen structure (for example, C27-1 in FIG. 41) always includes the screen components included in the set ⁇ in k and their ancestors.
- the m-th similar screen structure (for example, C28-1 in FIG. 41) always includes screen components included in ⁇ g m ( ⁇ in k) and their ancestors.
- the set of the control target identification assisting screen components obtained by performing the second process is expressed as ⁇ out k (see, for example, [6] Control target identification assisting in FIG. 41).
- the base point of the iterative structure is assumed to be specified in advance in the screen structure of the sample, but the screen component included in ⁇ Voltdr (k) is treated as a screen component outside the iterative structure. If ⁇ Vodd r (k) can be an empty set, the trimming unit 132 may be automatically estimated by the following method.
- the trimming unit 132 uses the parent of the screen component corresponding to the iteration unit as the base point of the iteration structure.
- the trimming unit 132 is a control target identification assisting screen necessary to prevent the screen component ( ⁇ Vr (k) ) to be controlled from being confused with other screen components inside the iteration unit. Find the component ( ⁇ in k ). Then, the trimming unit 132 uses it to list the substructures of other iterative units that are equivalent to the substructures of the iterative unit in the screen structure before trimming, and the screen components of the ancestors common to them are listed. , The starting point of the iterative structure.
- the search range for enumeration is the part sandwiched between the following two screen components.
- the first screen component is the screen component located on the rightmost side of the controlled target screen components located on the left side of the leftmost screen component included in ⁇ Vr (k).
- the second screen component is the screen component located on the leftmost side of the controlled target screen components located on the right side of the rightmost screen component included in ⁇ Vr (k).
- FIG. 42 is a diagram illustrating a process of obtaining a control target identification assisting screen component when an arbitrary number of nested iterative structures of an arbitrary number of layers are included.
- the trimming unit 132 has a screen component corresponding to the root screen component to the repeat structure in the lower layer inside, that is, the directed tree, for each iterative structure and the repeat unit U in each layer.
- the screen structure of the iterative unit (for example, the iterative unit U) in the layer one level above the outer layer including the iterative structure (for example, the iterative structure U2) having a deep depth is regarded as a sample screen structure. Then, the extended form processing is performed in order.
- the trimming unit 132 obtains a controlled object identification assisting image component for each of the screen components to be controlled so as not to be confused within this iteration unit (FIG. 42). See (1)).
- the trimming unit 132 obtains a control target identification assisting image component for each of the control target screen components included in the repeat structure U2 so as not to be confused in this repeat structure. (See (2) in FIG. 42). Then, the trimming unit 132 is one higher than each of the controlled screen component included in the iteration unit U2 but not included in the iteration structure U2 and the screen component included in the iteration structure U2. The control target identification assisting screen component is updated so as not to be confused within the iteration unit (see (3) and (4) in FIG. 42). The trimming unit 132 regards the iteration unit U of (D) in FIG.
- the iteration unit U of FIG. 42 is regarded as the iteration unit U1 of FIG. 42 (B), and the iteration unit U ′ of FIG. 42 (D) is regarded as the iteration unit U of FIG. 42 (B)), and the process is repeated.
- the number of updates of the auxiliary screen component for each control target is reset (see (5) in FIG. 42).
- the trimming unit 132 performs a process of obtaining a controlled object identification assisting image component for each of the screen components of the controlled object included in the iterative structure U2 so as not to be confused in the iterative structure.
- the trimming unit 132 has the repeating structure of the lowest layer and the inside of the repeating unit, the repeating structure of the layer above it and the inside of the repeating unit, and the repeating structure and the inside of the repeating unit of the layer one level above.
- Control target identification assist screen configuration necessary to prevent confusion with other control target screen structure elements in the top layer iteration structure and the inside of the iteration unit, and the entire sample screen structure. Get a set of elements.
- the screen component v ⁇ V r of the sample is associated with the screen component to be processed by the best mapping method ⁇ f even if the screen structure of the sample and the processing target are the same, that is, If whether or not v ⁇ Def ( ⁇ f) differs depending on the screen structure to be processed, it is considered that the screen component v of the sample does not affect the determination of equivalence.
- the screen components V ⁇ V r swatches are to be processed by the best correspondence method ⁇ f screen
- ⁇ f screen When it may be associated with a component, that is, when v ⁇ Def ( ⁇ f), it is considered that the screen component v of the sample does not affect the determination of equivalence.
- v ⁇ Def ( ⁇ f) is a necessary and sufficient condition for the equivalence of the screen structure.
- the set of cases identified as equivalent for the identification cases related to any one sample screen data stored in the identification case storage unit 126 is not identified as Ceq.
- C nex be the set of cases
- ⁇ f c be the best matching method in case c.
- Trimming unit 132 leaves the formula (18) to (20) screen components v swatches in the set Q r defined by and its ancestors, trimming the other screen elements.
- FIG. 43 is a diagram schematically showing parts that are common to and parts that are not common to screen structures that are equivalent or unequal.
- FIG. 43 conceptually shows the set Q r , Q + r , Q ⁇ r and the set ⁇ r described later.
- the screen structure after the trimming is an ancestor of the screen components v i screen component v j, and, when the screen elements v i is included in the set Q r, stored in the identified case storage unit 126 within the scope of that identification cases, screen components v j are also always included in the set Q r. This is due to the following reasons. because it is r, its descendant elements, including screen components v j, all set Q - - v i ⁇ Q included in the r.
- the screen elements comprised a leaf in the tree structure after the trimming, since in the set Q r, also included in the set Q + r, the ancestor element is screen elements All are elements of the set Q + r , including v j.
- the trimming unit 132 uses the control target identification assisting screen component and the screen identification assisting screen component necessary for satisfying the first and second trimming conditions obtained by the above method to configure the screen to be controlled. Trimming is performed by deleting the elements, the control target identification assist screen component, the screen identification assist screen component, and the remaining screen components so that their ancestors remain.
- FIG. 44 is a diagram showing an example in which the equivalence of the screen structure changes depending on the number of equivalent substructures. For non-equivalent identification case shown in FIG. 44, when identified by the screen structure swatches after trimming another screen component left its ancestor window component v included in the set Q r is trimmed, equivalent to It is judged.
- the trimming unit 132 identifies the trimming result only when the identification result does not change before and after the trimming (step S97: No in FIG. 31) by using the identification case stored in the identification case storage unit 126. It is stored in the information storage unit 123 (step S98 in FIG. 31) and used in the subsequent identification process.
- the screen structure comparison unit 1514 uses the formula (25) (same formula as the formula (5) in FIG. 16) to determine the equivalence of the screen structure (see FIG. 16). (26) and the equation (27) are used to perform a process of determining equivalence in step S42.
- the screen components in the sample screen structure having the same attribute values and having the same attribute values and the screen components in the screen structure to be processed are each screen structure.
- the equivalence of the screen and the screen component is determined after considering whether or not the relationship is the same as that of the other screen components.
- the identification device 10 compares the screen structures of the sample and the processing target, and the number of screen components to be controlled that are associated with the screen component of the processing target, and the screen component of the sample. The intersection structure is obtained so that the evaluation of the mapping method is the best based on the number of things associated with the screen components to be processed in the whole. Then, the identification device 10 compares the ratio of these numbers to the number of screen components to be controlled or the number of screen components of the sample with a predetermined threshold value to determine the equivalence of the screen and the screen components. judge.
- the identification device 10 uses the number of screen components associated with the screen components to be controlled, which are the screen components to be processed to be operated by the operator, in the evaluation of the mapping method. By doing so, among a plurality of equivalent iteration units of the iteration structure, the screen component included in the same iteration unit as the screen component to be processed to be operated by the operator is associated with the screen component to be controlled. ..
- the identification device 10 deletes a part of the screen component to be processed associated with the screen component of the sample, and repeatedly obtains the matching method that gives the best evaluation, thereby forming the iterative structure. It is possible to obtain all the screen components to be processed that are equivalent to the screen components to be controlled that are included.
- the identification device 10 may specify a comparison rule only for screens, screen components and their attributes for which it is necessary to individually adjust how to determine match or mismatch, and thereby the screen to be applied or the like. Control the determination of equivalence according to the application.
- the identification device 10 can distinguish between the screen and the screen component when the attribute value and the screen structure of the screen component change according to the displayed matter even if the screen is the same. ..
- the invariant attribute is limited to the type of the screen component and the like in the information of the screen component that can be acquired, and the screen component to be controlled and the attribute of its ancestor or a combination of a plurality of attributes can be combined. Even if it is used, it is possible to distinguish between the screen and the screen component even when each screen component cannot be uniquely identified.
- the screen and the screen component can be discriminated even when the arrangement of the screen components on the two-dimensional plane changes depending on the size of the screen and the amount of display contents.
- the burden on the creator can be reduced.
- the identification device 10 trims the screen structure of the sample so that the controlled screen component and its ancestors and neighbors remain. Therefore, according to the identification device 10, the number of screen components included in the screen structure of the sample can be reduced, and the amount of calculation required for identification can be reduced.
- the identification device 10 compares the ancestors, descendants, and neighborhoods of the controlled screen component and the similar screen component in the screen structure of the sample, and finds a common part and a non-common part. As a result, the identification device 10 can identify a portion of the screen structure of the sample that does not affect the identification result and appropriately trim it.
- the identification device 10 compares with the screen structure of the equivalent or non-equivalent screen data stored in the screen data identification case storage unit, and obtains a common part and a non-common part. As a result, the identification device 10 can identify a portion of the screen structure of the sample that does not affect the identification result and appropriately trim it.
- Each component of the identification device 10 and the support device 20 shown in FIG. 5 is a functional concept and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution and integration of the functions of the identification device 10 and the support device 20 is not limited to the one shown in the figure, and all or a part thereof functions in an arbitrary unit according to various loads and usage conditions. It can be configured either physically or physically distributed or integrated.
- each process performed by the identification device 10 and the support device 20 may be realized by a CPU and a program in which an arbitrary part is analyzed and executed by the CPU. Further, each process performed by the identification device 10 and the support device 20 may be realized as hardware by wired logic.
- all or part of the processes described as being automatically performed can be performed manually.
- all or part of the process described as being performed manually can be automatically performed by a known method.
- the above-mentioned and illustrated processing procedures, control procedures, specific names, and information including various data and parameters can be appropriately changed unless otherwise specified.
- FIG. 45 is a diagram showing an example of a computer in which the identification device 10 and the support device 20 are realized by executing a program.
- the computer 1000 has, for example, a memory 1010 and a CPU 1020.
- the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these parts is connected by a bus 1080.
- Memory 1010 includes ROM 1011 and RAM 1012.
- the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
- BIOS Basic Input Output System
- the hard disk drive interface 1030 is connected to the hard disk drive 1090.
- the disk drive interface 1040 is connected to the disk drive 1100.
- a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
- the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
- the video adapter 1060 is connected to, for example, the display 1130.
- the hard disk drive 1090 stores, for example, the OS 1091, the application program 1092, the program module 1093, and the program data 1094. That is, the program that defines each process of the identification device 10 and the support device 20 is implemented as a program module 1093 in which a code that can be executed by the computer 1000 is described.
- the program module 1093 is stored in, for example, the hard disk drive 1090.
- the program module 1093 for executing the same processing as the functional configuration in the identification device 10 and the support device 20 is stored in the hard disk drive 1090.
- the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
- the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, a memory 1010 or a hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 and executes them as needed.
- the program module 1093 and the program data 1094 are not limited to those stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
- LAN Local Area Network
- WAN Wide Area Network
- Identification system 10 Identification device 11 Communication unit 12 Storage unit 13 Control unit 20 Support device 21 Identification processing calling unit 22 Screen component control unit 121 Processing target screen data storage unit 122 Identification result storage unit 123 Identification information storage unit 124 Screen attribute comparison Rule storage unit 125 Element attribute comparison Rule storage unit 126 Identification case storage unit 131 Identification unit 132 Trimming unit 1311 Processing target reception unit 1312 Sample selection unit 1313 Screen attribute comparison unit 1314 Screen structure comparison unit 1315 Identification result storage unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Debugging And Monitoring (AREA)
Abstract
識別装置(10)は、見本画面データの画面構造中の画面構成要素と、処理対象画面データの画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かを基に、見本画面データと処理対象画面データとの画面構成要素の同等性を判定する画面構成比較部(1314)を有する。
Description
本発明は、識別装置、識別方法および識別プログラムに関する。
端末内で動作するプログラムの画面を構成するテキストボックス、リストボックス、ボタン、ラベル等の画面構成要素の識別方法として、画面がHTML(HyperText Markup Language)で記述されたプログラムにおいて、制御対象の画面構成要素の種類に相当するタグやそのHTML属性により、画面構成要素を識別する方法が提案されている(例えば、特許文献1参照)。特許文献1記載の方法は、画面データを取得する時点、端末によらず、同等の画面内の同等の画面構成要素であれば、値が変わらない属性(以下、「不変属性」と表記)があり、かつ、不変属性あるいはそれらの組合せにより、画面内の画面構成要素を一意に特定できることを利用したものである。
画面がHTMLでは記述されていないものも含めた一般のプログラムを対象とした識別方法も提案されている(例えば、特許文献2参照)。特許文献2に記載の方法は、制御対象の画面構成要素の同等性の判定条件として、画面構成要素同士の、見本画面(二次元平面)における相対的な配置関係の条件を表した配置パターンを用意し、処理対象画面において、その配置パターンを満たす画面構成要素を探索することで、画面構成要素を識別する。
画面がHTMLで記述されていないものも含めた一般のプログラムでは、画面構成要素の情報は取得できても、不変属性が少なく、画面構成要素の種類のみの場合もある。このため、属性あるいは複数の属性の組合せでは、画面内で各画面構成要素を一意に識別できない場合がある。
例えば、HTMLで記述された画面において、入力フォームのテキストボックス、リストボックス、ボタン等は、タグやid属性、name属性、あるいはこれらの組合せにより、画面内で各画面構成要素を一意に識別できる場合がある。しかしながら、MSAA(Microsoft Active Accessibility)やUIA(UI Automation)により取得可能な画面構成要素の属性には、そのような属性が存在しない。「ID」あるいはそれに類する名称の属性はあっても、その値は、その端末、その時点においてのみ有効であり、別の端末、別の時点で同等の画面構成要素が表示される際には、別の値となるため、一意な識別には利用できない。このような画面では、特許文献1に記載の方法で、画面や画面構成要素を識別することができない。
一方、特許文献2に記載の方法では、一般のプログラムを対象としているが、画面(二次元平面)における画面構成要素の相対的な配置関係は、画面の大きさや表示内容の多寡により変わる場合がある。
図46は、画面の一例を示す図である。例えば、図46の(1)の画面Paでは、右側に左右(または上下)隣接して配置されていた、番地等を入力するテキストボックスと、「登録」ボタンとが、画面の横幅を小さくすると、図46の(2)の画面Pbに示すように、左斜め下側に離れて配置される。このようなプログラムに対し、特許文献2記載の方法では、画面や画面構成要素を識別できない。
また、動作設定時に指定された画面構成要素同士の、見本画面(二次元平面)における相対的な配置関係から、処理対象画面の識別に使用する配置パターンを自動的に作成する方法、特に、見本画面での相対的な配置関係が、どこまで処理対象画面でも再現されるべきものとして、相対的な配置関係の条件に反映するかを決定する方法は、提案されていない。このため、人が、画面や画面構成要素ごとに、処理対象画面に生じうる変動を想定しながら、処理対象画面の識別に使用する配置パターンを作成する必要があり、作成者の負担が重いという問題があった。
本発明は、上記に鑑みてなされたものであって、画面構造の変動や配置の変化の影響を受けずに画面構成要素を特定することができる識別装置、識別方法および識別プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明の識別装置は、見本画面データの画面構造中の画面構成要素と、処理対象画面データの画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かを基に、見本画面データと処理対象画面データとの画面構成要素の同等性を判定する画面構成比較部を有することを特徴とする。
また、本発明の識別方法は、識別装置が実行する識別方法であって、見本画面データの画面構造中の画面構成要素と、処理対象画面データの画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かを基に、見本画面データと処理対象画面データとの画面構成要素の同等性を判定する工程を含んだことを特徴とする。
また、本発明の識別プログラムは、見本画面データの画面構造中の画面構成要素と、処理対象画面データの画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かを基に、見本画面データと処理対象画面データとの画面構成要素の同等性を判定する工程をコンピュータに実行させる。
本発明によれば、画面構造の変動や配置の変化の影響を受けずに画面構成要素を特定することができる。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
また、以下では、Aに対し、“^A”と記載する場合は「“A”の直上に“^”が記された記号」と同等であるとする。また、Aに対し、“~A”と記載する場合は「“A”の直上に“~”が記された記号」と同等であるとする。また、Aに対し、“ ̄A”と記載する場合は「“A”の直上に“ ̄”が記された記号」と同等であるとする。また、「(オプション)」とある場合には、その構成要素あるいは処理が省略可能であることを示す。また、「オプション」の後に数字を入れて、各オプションを区別している。
[実施の形態]
[1.1.画面データ]
実施の形態に係る識別方法は、画面と画面の構成要素とを識別する方法である。そこで、プログラムの画面データについて説明する。図1は、画面データの一例を示す図である。
[1.1.画面データ]
実施の形態に係る識別方法は、画面と画面の構成要素とを識別する方法である。そこで、プログラムの画面データについて説明する。図1は、画面データの一例を示す図である。
端末作業では、作業者は、端末内で動作するプログラムの画面を構成するテキストボックス、リストボックス、ボタン、ラベル等(以下、「画面構成要素」と表記)に表示された値を参照し、また、画面構成要素に対し、値の入力や選択等の操作を行う。このため、端末作業の自動化や支援、作業実態の把握、分析を目的とする一部のプログラムでは、図1に示す、画面の画像P1、画面の属性A1、および、画面構成要素の情報、あるいは、これらの一部が取得され、利用されている。なお、画面の画像P1、画面の属性A1、および、画面構成要素の情報をあわせて、「画面データ」と表記する。画面の属性A1は、タイトル、クラス名、表示領域の座標値、表示しているプログラムの名称、等である。
画面構成要素の情報は、UIAやMSAA、あるいは、プログラムが独自に提供するインタフェースにより取得できる。画面構成要素の情報には、画面構成要素の種類、表示または非表示の状態、表示値、表示領域の座標値等、各画面構成要素単独で利用可能な情報(以下、「属性」と表記)の他、プログラムが内部で保持している、画面構成要素同士の包含関係や所有関係等の関係性を表した情報(以下、「画面構造」と表記)も含まれる。図1に、画面構成要素の属性E1を例示し、画面構造C1を例示する。
異なる時点、異なる端末で表示される画面では、作業者に提供する機能は同じ(以下、「同等」と表記)であっても、表示している案件や、作業の実施状況に応じて、画面構成要素の一部の属性の値が異なる。また、異なる時点、異なる端末で表示される画面では、作業者に提供する機能は同等であっても、画面構成要素の有無自体も異なる。例えば、案件に含まれる明細の数が異なると、それを表示している一覧表の行数が変わる。あるいは、作業の実施状況により、エラーメッセージの表示、非表示が変わることもある。このため、画面構造も変動する。
[1.2.画面と画面構成要素との識別]
端末作業の自動化や支援を目的とするプログラムでは、動作設定時に、特定の端末で見本とする画面データを取得し、それを用いて、表示値の取得や操作の対象(以下、「制御対象」と表記)となる画面構成要素を指定しておく。自動化や支援の処理の実行時には、実行の時点で、動作設定を行った特定の端末以外も含む任意の端末で表示されている画面から画面データ(以下、「処理対象画面データ」と表記)を取得し、見本画面データ、あるいは、見本画面データを加工して得られる画面や画面構成要素の同等性の判定条件と照合する。これにより、その時点の画面データの中から、見本画面データ中の制御対象の画面構成要素と同等の画面構成要素を特定し、表示値の取得や操作の対象とする。
端末作業の自動化や支援を目的とするプログラムでは、動作設定時に、特定の端末で見本とする画面データを取得し、それを用いて、表示値の取得や操作の対象(以下、「制御対象」と表記)となる画面構成要素を指定しておく。自動化や支援の処理の実行時には、実行の時点で、動作設定を行った特定の端末以外も含む任意の端末で表示されている画面から画面データ(以下、「処理対象画面データ」と表記)を取得し、見本画面データ、あるいは、見本画面データを加工して得られる画面や画面構成要素の同等性の判定条件と照合する。これにより、その時点の画面データの中から、見本画面データ中の制御対象の画面構成要素と同等の画面構成要素を特定し、表示値の取得や操作の対象とする。
また、業務実態の把握、分析を目的とするプログラムでは、各端末で作業者が画面構成要素に対する操作を行ったタイミングで画面データや操作に関する情報を取得、操作ログとして収集する。収集した大量の操作ログに対し、人によるパターンや傾向の把握、分析を可能とするため、異なる時点、異なる端末で取得された画面データを、画面や操作対象の画面構成要素が同等のもの同士が同じグループとなるように分類し、画面操作フローの導出、操作実施回数や操作時間の集計等に用いる。この分類を行う方法として、大量の操作ログの中からいくつかの画面データをサンプリングして見本画面データとし、残りの操作ログの画面データを、見本画面データと照合し、分類先を決定する方法が考えられる。
以下では、異なる時点、異なる端末で取得された、見本画面データと、処理対象画面データについて、画面や画面構成要素が、同じ機能を作業者に提供する、同等のものかどうかを判定し、処理対象画面データの画面構成要素の中から、見本画面データの画面構成要素と同等のものを特定することを「識別」と記載する。図2は、画面構成要素の識別に関する図である。識別とは、例えば、図2の処理対象画面データP3の画面構成要素E3が、見本画面データP2の画面構成要素E2と同等のものであることを特定することである(図2の矢印Y1参照)。なお、処理対象画面データは、本実施の形態に係る識別処理が実行される時点で表示されている画面から取得される他、別途取得し、蓄積されていてもよい。
画面の属性に基づく画面の識別と、画面構成要素の情報に基づく画面構成要素の識別とは、相補的な関係にある。例えば、画面のタイトルは同じであっても、画面に含まれる画面構成要素が全く異なる場合もあるため、画面の属性の比較のみでは、画面が同等かどうかを確定できない。そこで、画面構成要素の識別により、見本画面データ中の制御対象の画面構成要素と同等の画面構成要素が処理対象画面データ中に含まれているか否かを調査し、その調査結果も踏まえることで、画面データが同等かどうかを確定できる。逆に、画面のタイトルが異なれば、複数の画面構成要素を識別するまでもなく、画面が同等ではないと確定でき、計算量の低減に役立つ。
以下、実施の形態に係る識別方法として、主に画面構成要素の識別する方法について記載するが、実際には画面の識別にも関わる方法である。
[2.実施の形態に係る識別方法の概略]
次に、実施の形態について説明する。従来手法では、以下の第1~第4の条件下で、画面と画面の構成要素の識別に対応が困難であった。本実施の形態では、このような厳しい条件下を含め、幅広い条件下で対応が可能である。
次に、実施の形態について説明する。従来手法では、以下の第1~第4の条件下で、画面と画面の構成要素の識別に対応が困難であった。本実施の形態では、このような厳しい条件下を含め、幅広い条件下で対応が可能である。
第1の条件は、同等の画面であっても、表示している案件や、作業の実施状況に応じて、画面構成要素の属性値と画面構造が変動する場合である。第2の条件は、取得できる画面構成要素の情報において、不変属性が、画面構成要素の種類等に限定されており、制御対象の画面構成要素やその祖先の属性あるいは複数の属性の組合せを用いても、画面内において各画面構成要素を一意に識別できない場合である。第3の条件は、画面の大きさや、各画面構成要素の表示内容の多寡により、画面構成要素の二次元平面上の配置が変わる場合である。第4の条件は、画面や画面構成要素ごとに、制御対象の画面構成要素の同等性の判定条件を、必ずしも人が作成する必要がないことである。
実施の形態に係る識別方法では、同じ属性値を持ち、同等となりうる見本画面データの画面構造(以下、「見本の画面構造」と表記)中の画面構成要素(以下、「見本の画面構成要素」と表記)と処理対象画面データの画面構造(以下、「処理対象の画面構造」と表記)中の画面構成要素(以下、「処理対象の画面構成要素」と表記)とが、それぞれの画面構造において、他の画面構成要素と同様の関係性にあるか否かを判定し、画面と画面構成要素との同等性を判定する。
実施の形態に係る識別方法では、例えば、画面構造が有向木である場合、制御対象の画面構成要素やその祖先だけでなく、兄弟関係にある画面構成要素の他、祖先-子孫の関係にはなく、ルートとなる画面構成要素からの深さも異なる画面構成要素についても、同じ属性値を持ち、同等となりうるものが、同じ関係性であるか否かを判定する。
図3は、実施の形態における同等性の判定を説明する図である。具体的には、実施の形態に係る識別方法では、図3に示すように、見本の画像構造C4と処理対象の画面構造C5,C6とを比較し、見本の画面構成要素全体のうち、処理対象の画面構成要素に対応付けられるものの数、等による、対応付け方法の評価が最良となるように共通部分構造を求める。共通部分構造に含まれる画面構成要素とは、処理対象の画面構成要素と対応付けられた見本の画面構成要素、あるいは見本の画面構成要素と対応付けられた処理対象の画面構成要素である。実施の形態に係る識別方法では、見本の画面構成要素全体のうち、処理対象の画面構成要素に対応付けられるものの割合、等を、所定の閾値と比較することにより、画面と画面構成要素の同等性を判定する。
実施の形態に係る識別方法では、処理対象の画面構造C5については、共通部分構造に見本の画面構造C4がすべて含まれるため、見本の画面構造C4と同等であると判定する(図3の(1)参照)。一方、処理対象の画面構造C6のノードN3,N4が、見本の画面構造C4のノードN1,N2と異なる(図3の(2)の(a),(b)参照)。このため、実施の形態に係る識別方法では、処理対象の画面構造C5については、共通部分構造に見本の画面構造C4の一部が含まれないため、見本の画面構造C4と同等ではないと判定する(図3の(2)参照)。
本実施の形態に係る識別方法では、画面構成要素の属性値として、実用上は最低限、画面構成要素の種類が利用できればよいため、それ以外の属性値の変動の影響を受けない。また、本実施の形態に係る識別方法では、画面構造が完全に一致するかどうかではなく、対応付け方法の評価が最良となる共通部分構造を求め、その共通部分構造の要素の割合を所定の閾値と比較することにより判定するため、画面構造の変動も許容できる。
また、本実施の形態に係る識別方法では、不変属性が、画面構成要素の種類等に限定され、制御対象の画面構成要素やその祖先の属性あるいは複数の属性の組合せを用いても、画面内で各画面構成要素を一意に識別できない場合であっても、より広く、祖先-子孫の関係にはない画面構成要素についても、同じ属性値をもったものが同じ関係性となっているかどうかを考慮するため、識別できる場合が多くなる。
さらに、画面構造は、画面の大きさや各画面構成要素の表示内容の多寡によって変化しない。このため、画面構成要素の二次元平面上での配置が変化した場合であっても、本実施の形態に係る識別方法は、その影響を受けることなく、画面構成要素の同等性を判定することができる。
本実施の形態に係る識別方法では、識別処理を行う前の動作設定においては、最低限、見本とする画面データが、端末作業の自動化や支援を目的とするプログラム等により取得されていればよいため、制御対象の画面構成要素の同等性の判定条件を、必ずしも人が作成する必要がない。
また、画面と画面構成要素との識別に要する計算量は、見本の画面構造中の画面構成要素の数の増加に伴い増大する。そこで、本実施の形態に係る識別方法では、端末作業の自動化や支援等を目的とするプログラム等が必要とする制御対象画面構成要素や、識別に影響を与える画面構成要素を残し、それ以外をトリミングする。
図4は、実施の形態における見本の画面構造のトリミングを説明する図である。図4に示すように、実施の形態に係る識別方法では、見本の画面構造を、制御対象画面構成要素とその祖先および近傍が残るように画面構造をトリミングする。例えば、実施の形態に係る識別方法では、見本の画面構造C7のうち、制御対象以外の画面構成要素を含む部分B1-1~B1-3をトリミングし、見本の画面構造C7´を生成する。
あるいは、実施の形態に係る識別方法では、見本の画面構造において、制御対象画面構成要素と、それに類似する画面構成要素それぞれの祖先や子孫、近傍を比較し、共通する部分および共通しない部分を求める。そして、実施の形態に係る識別方法では、識別事例記憶部に蓄積されている同等あるいは非同等の画面データの画面構造と比較し、共通する部分および共通しない部分を求める。これによって、本実施の形態に係る識別方法では、識別結果に影響を及ぼさない部分を特定し、トリミングを行う。
このように、実施の形態に係る識別方法では、端末作業の自動化や支援等を目的とするプログラム等が必要とする制御対象画面構成要素や、識別に影響を与える画面構成要素を残し、それ以外をトリミングすることで、見本の画面構造中の画面構成要素の数を削減し、識別に要する計算量を低減する。
[3.実施の形態における識別システム]
次に、実施の形態における識別システムについて説明する。図5は、実施の形態における識別システムの構成の一例を説明する図である。
次に、実施の形態における識別システムについて説明する。図5は、実施の形態における識別システムの構成の一例を説明する図である。
本実施の形態に係る識別システム1は、識別装置10と支援装置20とを有する。識別装置10は、見本の画面構造中の画面構成要素と、処理対象の画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かを基に、見本画面データと処理対象画面データとの同等性を識別する。支援装置20は、端末作業の自動化および支援等を実行する。識別装置10は、支援装置20との間で通信を行う。なお、図5の例では、識別装置10は、支援装置20と連携して動作する別の装置として説明するが、支援装置20の内部の一部機能部として動作してもよい。
[4.支援装置]
支援装置20について説明する。支援装置20は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。図5に示すように、支援装置20は、識別処理呼出部21と画面構成要素制御部22とを有する。
支援装置20について説明する。支援装置20は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。図5に示すように、支援装置20は、識別処理呼出部21と画面構成要素制御部22とを有する。
識別処理呼出部21は、処理対象画面データを識別装置10に出力し、処理対象画面データに対する識別処理を識別装置10に実行させる。
画面構成要素制御部22は、識別装置10によって実行された識別処理の結果を基に、見本画面データを用いて事前の動作設定時に指定された制御対象の画面構成要素に対し、表示値の取得や操作等の制御を行う。
[5.識別装置]
識別装置10について説明する。図5に示すように、識別装置10は、通信部11、記憶部12および制御部13を有する。
識別装置10について説明する。図5に示すように、識別装置10は、通信部11、記憶部12および制御部13を有する。
通信部11は、共通の基盤的装置の上で動作する他の装置、またはネットワーク等を介して接続された他の装置との間で、各種データを送受信する通信インタフェースである。通信部11は、API、またはNIC(Network Interface Card)等で実現され、共通の基盤的装置を介した他の装置、またはLAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と、制御部13(後述)との間の通信を行う。
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、識別装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部12は、処理対象画面データ記憶部121、識別結果記憶部122、識別情報記憶部123、画面属性比較規則記憶部124(オプション2-1)、要素属性比較規則記憶部125(オプション3)および識別事例記憶部126(オプション1-2)を有する。
処理対象画面データ記憶部121は、処理対象画面データに関するデータを記憶する。図6は、処理対象画面データ記憶部121において記憶されるデータのデータ構成の一例を示す図である。処理対象画面データ記憶部121は、処理対象の画面ごとに画面データを記憶する。例えば、処理対象画面データ記憶部121は、処理対象の画面データとして、図6の処理対象画面データ121-1に例示するデータ構成を有する。
処理対象画面データ121-1は、処理対象の画面データに関する画面データID121D、画面構成要素の属性121Aと画面構造121Cとを含む画面構成要素の情報、画面の画像データ121P、および、画面の属性データ121Eを含む。
画面データID121Dは、処理対象画面データの識別情報であるID番号を有する。画面構成要素の属性121Aは、図1に示す画面構成要素の属性E1が有する画面構成要素の種類、表示または非表示の状態、表示値に加え、選択状態、作業者の操作の有無の項目(オプション4-2適用時)を有する。画面構成要素の属性121Aが有する項目は、図1に示す画面構成要素の属性E1と同様の項目でもあってもよい。画面構造121Cは、有向木で画面構造を表現することによって、画面構成要素同士の包含関係や所有関係等の関係性を示す。画面の属性データ121Eは、図1に示す画面の属性A1と同様に、属性のタイトル、クラス名、表示領域の座標値、表示しているプログラムの名称、等の項目有する。
識別結果記憶部122は、識別部131(後述)による識別結果を記憶する。図7は、識別結果記憶部122において記憶されるデータのデータ構成の一例を示す図である。識別結果記憶部122は、処理対象の画面データに対して実行された識別処理の識別結果を記憶する。例えば、識別結果記憶部122は、識別結果として、図7の識別結果データ122-1に例示するデータ構成を有する。
識別結果データ122-1は、処理対象の画面データとの同等性判定が行われた見本画面データのID番号とその判定結果とを示す判定データ122R、見本画面データと処理対象画面データとの画面構成要素の対応付けデータ122Hとを有する。対応付けデータ122Hでは、識別処理において、同じ部分構造(反復単位)が繰り返し出現する画面構造(反復構造)について対応付けが行われた場合、対応付けデータ122Haに示すように、反復単位のID番号(反復単位ID)と反復回数とが追加される(オプション5適用時)。
識別情報記憶部123は、見本画面データに関する情報を記憶する。図8は、識別情報記憶部123において記憶されるデータのデータ構成の一例を示す図である。識別情報記憶部123は、見本画面データごとに画面データを記憶する。例えば、識別情報記憶部123は、図8の見本画面データ123-1の集合123Gを有する。
見本画面データ123-1は、見本画面データの識別情報である見本画面データID123D、画面構成要素の属性123Aと画面構造123Cとを含む画面構成要素の情報、画面の画像データ123P、画面の属性データ123E、画面構造比較個別設定123J(オプション6適用時)、および、画面構造トリミング個別設定123T(オプション1-1-1適用時)を含む。
画面構成要素の属性123Aは、画面構成要素の属性E1と比して、制御対象であるか否か、近傍距離(オプション1-1-1適用時)、子孫画面構成要素要否(オプション1-1-1適用時)、画面識別補助用画面構成要素と祖先(オプション1-2適用時)、反復構造ID(オプション5適用時)、反復単位ID(オプション5適用時)を示す項目をさらに有する。画面識別補助用画面構成要素と祖先の欄は、識別結果に影響を及ぼさない部分を特定してトリミングを行う処理に関する項目である。なお、画面識別補助用画面構成要素と祖先の欄に例示しているデータは、トリミング部132によるトリミング後を想定したものであるが、図8で例示している画面構造は、トリミング前のものである。子孫画面構成要素要否は、制御対象の画面構成要素とその祖先および近傍が残るように画面構造をトリミングする処理に関する項目である。反復構造ID、反復単位IDは、処理対象の画面構造中の各反復構造内の中から、制御対象の各画面構成要素と同等のものをすべて特定する処理に関する項目である。
画面構造比較個別設定123Jは、見本画面構造と処理対象画面構造とが同等か否かを判定する際に使用される閾値である。画面構造トリミング個別設定123Tは、制御対象の画面構成要素とその祖先および近傍が残るように画面構造をトリミングする際の近傍距離と子孫画面構成要素要否に使用する設定値である。
画面属性比較規則記憶部124は、画面の属性を比較する場合に適用する各種比較規則を記憶する。図9は、画面属性比較規則記憶部124において記憶されるデータのデータ構成の一例を示す図である。画面属性比較規則記憶部124は、見本画面データID、属性名、比較方法、置換前文字列、置換後文字列、下限値幅および上限値幅の項目を有する画面属性比較規則124Mを記憶する。なお、画面属性比較規則124Mに示す下限値幅、上限値幅の数値は、範囲一致の一例として記載している。
要素属性比較規則記憶部125は、画面構成要素の属性を比較する場合に適用する各種比較規則を記憶する。図10は、要素属性比較規則記憶部125において記憶されるデータのデータ構成の一例を示す図である。要素属性比較規則記憶部125は、見本画面データID、画面構成要素ID、属性名、比較方法、置換前文字列、置換後文字列、下限値幅および上限値幅の項目を有する画面構成要素属性比較規則125Mを記憶する。画面構成要素属性比較規則125Mに示す下限値幅、上限値幅の数値は、範囲一致の一例として記載しており、画面構成要素の表示領域の座標値が主な適用対象となる。
識別事例記憶部126は、画面データ識別事例を記憶する。識別事例記憶部126は、画面構造比較部1314による見本画面データの画面構造と処理対象画面データの画面構造との同等性に対する判定結果を記憶する(オプション1-2適用時)。
図11は、識別事例記憶部126において記憶されるデータのデータ構成の一例を示す図である。識別事例記憶部126は、識別事例の集合Grを含む画面データ識別事例126Wを記憶する。識別事例Grは、それぞれ、各見本画面データについて、各見本画面データと同等と識別された処理対象画面データの集合と、同等と識別されなかった処理対象画面データ集合とを事例として対応付けている。すなわち、画面データ識別事例126Wの各欄は、処理対象画面データ121-1、および、識別結果記憶部122に記憶された識別結果データ122-1からなるデータである。
制御部13は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部13は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部13は、識別部131およびトリミング部132(除去部)(オプション1-1,1-2)を有する。
識別部131は、処理対象の画面データと見本画面データとについて、画面および画面構成要素の同等性を判定する。識別部131は、処理対象画面データ記憶部121において記憶される処理対象の画面データが、識別情報記憶部123において記憶される各見本画面データと同等であるか否かを判定する識別処理を行う。識別部131は、識別結果を識別結果記憶部122に保存する。識別部131は、支援装置20の画面構成要素制御部22を呼び出し、識別結果を出力する。識別部131は、同等性を判定した結果を、識別事例記憶部126に保存してもよい。識別部131は、処理対象受付部1311、見本選択部1312、画面属性比較部1313(オプション2)、画面構造比較部1314、および、識別結果保存部1315を有する。
処理対象受付部1311は、支援装置20から出力された処理対象の画面データの入力を受け付け、処理対象画面データ記憶部121に記憶する。見本選択部1312は、識別情報記憶部123から、同等性を判定するための見本画面データを選択する。
画面属性比較部1313は、見本画面データの画面の属性と処理対象の画面データの画面の属性とを比較し、一致または不一致を判定する。画面属性比較部1313は、画面の属性の一致または不一致の判定にあたり、画面属性比較規則記憶部124において記憶される比較規則を用いてもよい(オプション2-1)。
画面構造比較部1314は、見本の画面構造と処理対象の画面構造とを比較し、同等であるか否かを判定する。画面構造比較部1314は、見本の画面構造中の画面構成要素と、処理対象の画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かを基に、見本の画面構成要素と処理対象の画面構成要素との同等性を判定する。
画面構造比較部1314は、見本の画面構造の画面構成要素全体のうちの処理対象画面構造における画面構成要素に対応付けられる画面構成要素の数による、画面構成要素の対応付け方法の評価が最良となるような共通部分となる要素を抽出し、見本の画面構成要素全体のうち、処理対象の画面構成要素に対応付けられるものの割合を、所定の閾値と比較し、画面構成要素の同等性を判定する。
画面構造比較部1314は、見本と処理対象との画面構造の比較において、見本の各画面構成要素と、処理の画面構成要素とを対応付けるための対応付け方法を評価し、最も評価の良い対応付け方法を用いて、見本画面データの各画面構成要素と、処理対象画面データの画面構成要素との対応付けや、同等性の判定を行う。この際、画面構造比較部1314は、見本の画面構造から抽出した制御対象の画面構成要素であって、処理対象の画面構造における画面構成要素に対応付けられる画面構成要素の数を、対応付け方法の評価や、同等性の判定に用いてもよい(オプション4-1)。また、画面構造比較部1314は、操作の対象となった処理対象の画面構成要素であって、制御対象の画面構成要素に対応付けられる画面構成要素の数を、対応付け方法の評価や、同等性の判定に用いてもよい(オプション4-2)。また、画面構造比較部1314は、見本の画面構造の画面構成要素に対応付けられた処理対象の画面構成要素の一部を削除し、評価が最良となる対応付け方法を求める処理を繰り返してもよい(オプション5)。
識別結果保存部1315は、識別結果を識別結果記憶部122に保存する。また、識別結果保存部1315は、識別事例記憶部126に識別結果を保存する(オプション1-2)。
トリミング部132は、識別情報記憶部123において記憶される各見本の画面構造を、制御対象画面構成要素とその祖先や近傍が残るように画面構造をトリミングする(オプション1-1適用時)。トリミング部132は、制御対象の画面構成要素、または、該制御対象の画面構成要素の祖先、または、近傍の画面構成要素、のいずれにも該当しない画面構成要素を除去する。トリミング部132は、トリミング後の各見本の画面構造を識別情報記憶部123に保存する。
また、トリミング部132は、識別情報記憶部123において記憶される各見本の画面構造に対し、識別結果に影響を及ぼさない部分を特定し、トリミングする(オプション1-2適用時)。トリミング部132は、各見本の画面構造における識別結果に影響を及ぼさない部分を特定する際に、制御対象画面構成要素と、それに類似する画面構成要素それぞれの祖先や子孫または近傍を比較し、共通する部分および共通しない部分を求める。または、トリミング部132は、識別結果に影響を及ぼさない部分を特定する際に、識別事例記憶部126に蓄積されている同等あるいは非同等の画面データの画面構造と比較し、共通する部分および共通しない部分を求める。トリミング部132は、共通しない部分共のうち、必要最小限のものを、制御対象識別補助用画面構成要素、画面識別補助用画面構成要素として残し、それ以外の共通しない部分を見本の画面構造から除去する。
トリミング部132は、識別事例記憶部126に蓄積されている識別事例を用いて、トリミングの前後で識別結果が変わらない見本の画面構造のみを識別情報記憶部123に保存し、以降の識別処理で使用できるようにする(オプション1-2適用時)。
[6.識別装置の処理]
次に、識別装置10における処理の概略について説明する。図12は、図5に示す識別装置10における処理の処理手順を示すフローチャートである。
次に、識別装置10における処理の概略について説明する。図12は、図5に示す識別装置10における処理の処理手順を示すフローチャートである。
図12に示すように、識別装置10では、識別部131における識別処理前に、トリミング部132が、識別情報記憶部123において記憶される各見本の画面構造を、制御対象画面構成要素とその祖先または近傍が残るように画面構造をトリミングし、更新する事前トリミング処理を行う(ステップS1)(オプション1-1)。
識別装置10は、識別処理が継続されない場合(ステップS2:No)、処理を終了する。一方、識別処理が継続される場合(ステップS2:Yes)、支援装置20からの呼び出しに応じて、識別部131は、処理対象の画面データの入力を受け付け、処理対象の画面データと見本画面データとについて、画面または画面構成要素の同等性を判定する識別処理を行う(ステップS3)。
続いて、識別装置10は、見本画面データの更新条件が満たされているか否かを判定する(ステップS4)。更新条件は、例えば、識別事例記憶部126に、見本画面データに未反映のデータが、所定の閾値の数以上蓄積されている、等である。
また、見本画面データの更新条件が満たされている場合(ステップS4:Yes)、トリミング部132が、識別情報記憶部123において記憶される各見本の画面構造を、識別事例記憶部126に蓄積された画面データを用いてトリミングし、更新する識別後トリミングを行う(ステップS5)(オプション1-2)。識別装置10では、見本画面データの更新条件が満たされていない場合(ステップS4:No)、または、ステップS5終了後、ステップS2に進む。なお、ステップS1、ステップS4およびステップS5は、図1から削除して、図1の処理と独立して実行することも可能である。
[7.識別処理の処理手順]
次に、図12に示す識別処理(ステップS3)について説明する。図13は、図12に示す識別処理の処理手順を示すフローチャートである。
次に、図12に示す識別処理(ステップS3)について説明する。図13は、図12に示す識別処理の処理手順を示すフローチャートである。
図13に示すように、識別部131は、未判定の見本画像データが存在するかを判定する(ステップS11)。未判定の見本画像データが存在しない場合(ステップS11:No)、識別部131は、識別処理を終了する。
未判定の見本画像データが存在する場合(ステップS11:Yes)、見本選択部1312は、識別情報記憶部123から未判定の見本画面データを1個選択する(ステップS12)。
そして、画面属性比較部1313は、選択された見本画面データの画面属性と、処理対象画面データの画面属性とを比較し、一致または不一致を判定する属性比較処理を行う(ステップS13)(オプション2)。
続いて、識別部131は、画面の属性の比較結果が一致または不一致のいずれであるかを判定する(ステップS14)。画面の属性の比較結果が一致である場合(ステップS14:一致)、画面構造比較部1314は、処理対象の画面構造と、見本の画面構造とを比較し、同等であるか否かを判定する画面構造比較処理を行う(ステップS15)。
そして、識別部131は、画面構造の比較結果が同等または非同等のいずれであるかを判定する(ステップS16)。画面構造の比較結果が同等である場合(ステップS16:同等)、識別結果保存部1315は、識別結果記憶部122に識別結果を保存する(ステップS17)。画面構造の比較結果が非同等である場合(ステップS16:非同等)、または、ステップS17の処理後、識別結果保存部1315は、識別事例記憶部126に識別結果を保存する(ステップS18)(オプション1-2)。
識別部131は、画面の属性の比較結果が不一致である場合(ステップS14:不一致)、または、ステップS18の処理後、選択された見本画面データを判定済みとし(ステップS19)、次の見本画面データとの同等性を判定するために、ステップS11に進む。なお、識別部131は、端末作業の自動化、支援等の用途によっては、見本画面データに、選択の優先順位をあらかじめ付与しておき、「同等」と判定されるものが見つかった段階で、識別処理を打ち切ってもよい。
[8.画面属性比較処理]
次に、画面属性比較処理(ステップS13)について説明する。ステップS13において、画面属性比較部1313は、以下の第1または第2の画面属性比較方法を用いる。
次に、画面属性比較処理(ステップS13)について説明する。ステップS13において、画面属性比較部1313は、以下の第1または第2の画面属性比較方法を用いる。
第1の画面属性比較方法は、選択された見本画面データの画面の属性と、処理対象画面データの画面の属性とのうち、クラス名を表す属性が一致する場合には「一致」、そうでない場合には「不一致」と判定する方法である。
第2の画面属性比較方法(オプション2-1適用時)は、画面属性比較規則記憶部124が保持する比較規則の中から、適用する比較規則を決定し、比較規則に応じて、選択された見本画面データの画面の属性と、処理対象画面データの画面の属性との一致または不一致を判定する方法である。例えば、画面属性比較部1313は、表1に示す比較規則を用いて、画面属性を比較する。
この場合、画面属性比較部1313は、表1の比較規則に従って、見本画面データの画面の属性の値と、処理対象画面データの画面の属性の値とを比較し、一致または不一致を判定する。
例えば、画面属性比較部1313は、見本画面データと処理対象画面データとのすべての画面の属性の値について、「一致」と判定と判定された場合には、見本画面データの画面の属性と処理対象画面データの画面の属性とが「一致」すると判定し、そうでない場合には「不一致」であると判定する。
具体的には、画面属性比較部1313は、見本と処理対象の属性値について、属性値が完全に一致する場合に一致、それ以外の場合に不一致と判定する(表1の「完全一致」)。画面属性比較部1313は、見本と処理対象の属性値について、置換前文字列で指定された正規表現にマッチする部分を、置換後文字列で指定された文字列に置き換える。その後、画面属性比較部1313は、置換後の値同士を比較し、完全に一致する場合に一致、それ以外の場合に不一致と判定する(表1の「正規表現一致」)。画面属性比較部1313は、処理対象画面データの画面の属性値が、見本画面データの画面の属性値から下限値幅を引いた値以上で、見本画面データの画面の属性値に上限値幅を加えた値以下に入っていれば一致、それ以外の場合に不一致と判定する(表1の「範囲一致」)。また、画面属性比較部1313は、処理対象画面データの画面の属性値と、見本画面データの画面の属性値とによらず、常に一致と判定する(表1の「無視」)。
なお、適用する比較規則は、例えば以下の優先順位で決定する。
優先順位1:「見本画面データID」「属性名」のいずれも「(任意)」ではなく、比較対象の見本画面データのID、属性名と一致する比較規則。
優先順位2:「見本画面データID」が「(任意)」ではなく、比較対象の見本画面データのIDと一致する比較規則。
優先順位3:「属性名」が「(任意)」ではなく、比較対象の属性名と一致する比較規則。
優先順位4:優先順位1~3以外で、比較対象の見本画面データのID、属性名が該当する比較規則。
優先順位1:「見本画面データID」「属性名」のいずれも「(任意)」ではなく、比較対象の見本画面データのID、属性名と一致する比較規則。
優先順位2:「見本画面データID」が「(任意)」ではなく、比較対象の見本画面データのIDと一致する比較規則。
優先順位3:「属性名」が「(任意)」ではなく、比較対象の属性名と一致する比較規則。
優先順位4:優先順位1~3以外で、比較対象の見本画面データのID、属性名が該当する比較規則。
[9.画面構造比較処理]
次に、図13に示す画面構造比較処理(ステップS15)について説明する。図14は、図13に示す画面構造比較処理の処理手順を示すフローチャートである。
次に、図13に示す画面構造比較処理(ステップS15)について説明する。図14は、図13に示す画面構造比較処理の処理手順を示すフローチャートである。
図14に示すように、画面構造比較部1314は、選択された見本の画面構造と、処理対象の画面構造とに対し、評価の最も良い対応付け方法^fを求める対応付け方法導出処理を行う(ステップS21)。画面構造比較部1314は、ステップS21において求めた対応付け方法^fに基づき、画面構造の同等性を判定する画面構造同等性判定処理を行う(ステップS22)。
ここで、画面構造の中には、一覧表とその行のように、同じ部分構造(行に相当し、以下、「反復単位」と表記)が内部で繰り返し出現する部分構造(一覧表に相当し、以下、「反復構造」と表記)が存在し、見本の画面構造において、制御対象の画面構成要素が反復単位に含まれることがある。
処理対象の画面構成要素の中から、そのような制御対象の画面構成要素と同等のものを特定するにあたり、端末作業の自動化、支援等の目的によって、以下を含む要件のバリエーション、具体的には単一反復単位対応付けパターンおよび全反復単位対応付けパターン(オプション5)が考えられる。
単一反復単位対応付けパターンは、処理対象の画面構造中の各反復構造内の中から、制御対象の各画面構成要素と同等のものを1個だけ特定する。例えば、処理対象画面データにおいて、チェックボックスのON、OFFを切り替える等、作業者の操作対象となった画面構成要素と同じ反復単位に含まれるものだけを特定し、その画面構成要素への入力操作を支援する場合に相当する。全反復単位対応付けパターンは、処理対象の画面構造中の各反復構造内の中から、制御対象の各画面構成要素と同等のものをすべて特定する。全反復単位対応付けパターンは、例えば、処理対象画面データの反復構造内に表示された値をすべて取得し、その後、取得した値の数だけ、別の画面に繰り返し転記する場合に相当する(オプション5)。
画面構造比較部1314は、全反復単位対応付けパターンの場合、処理対象の画面構造中の各反復構造の中から、制御対象の各画面構成要素と同等のものを列挙する(ステップS23)(オプション5)ことで、処理対象の画面構成要素の中から制御対象の画面構成要素と同等のものを特定する。この際、画面構造比較部1314は、識別結果記憶部122の画面構成要素の属性123Aの反復構造ID欄、反復単位ID欄に、反復構造のID番号や単位を書き込む。以下では、これら2パターンに対応した画面構造の比較方法について、詳細に説明する。
[9.1.単一反復単位対応付けパターン]
単一反復単位対応付けパターンについて説明する。画面構造は、各画面構成要素を頂点、一部の画面構成要素間に存在する直接的な関係性を辺とした、グラフ構造または木構造として表現される(例えば、図6の画面構造121C参照)。
単一反復単位対応付けパターンについて説明する。画面構造は、各画面構成要素を頂点、一部の画面構成要素間に存在する直接的な関係性を辺とした、グラフ構造または木構造として表現される(例えば、図6の画面構造121C参照)。
以下の説明では、見本の画面構造における頂点の集合をVr、見本の画面構造における辺の集合をEr(⊆Vr×Vr)、処理対象の画面構造における頂点の集合をVt、処理対象の画面構造における辺の集合をEt(⊆Vt×Vt)と表記することにする。なお、辺に向きがある場合には、それらをErやEtの別の元として区別するものとする。また、画面構成要素と頂点は、説明上、区別しない。見本の画面構造をSr=(Vr,Er)、処理対象の画面構造をSt=(Vt,Et)と表記する。
見本と処理対象との画面構造との比較では、見本の各画面構成要素に相当する頂点v(∈Vr)を、処理対象の最大1個の画面構成要素に相当する頂点u(∈Vt)に、重複しないよう対応付ける。この頂点同士の対応付け方法は、単射な部分写像(または全域写像)f(式(1)参照)に相当する。
処理対象のいずれかの画面構成要素に対応付けられる、見本の画面構成要素の集合は、Def(f)と表される。また、見本の画面構成要素に対応付けられる、処理対象の画面構成要素の集合は、Img(f)と表される。
画面構成比較部1314が見本と処理対象との画面構造を比較し、共通部分構造を求める場合には、これらの対応付け方法のうち、対応付けられる各頂点の組合せについて、辺の有無が、対応付けの前後で維持されるもの、つまり、式(2)を満たすものに限定する。
画面構造が有向順序木の場合には、例えば参考文献1に記載の有向順序木に対するアルゴリズムを用いることで、見本画面データの画面構成要素数と処理対象画面データの画面要素数の積の計算オーダで、Def(f)に含まれる画面構成要素の数|Def(f)|が最大となる対応付け方法^fを求めることができる。
(参考文献1)「二つの木の最大共通部分グラフを求めるアルゴリズム」、1994年、増田澄夫他、電子情報通信学会論文誌. A, 基礎・境界 77(3), 460-470, 1994-03-25.
(参考文献1)「二つの木の最大共通部分グラフを求めるアルゴリズム」、1994年、増田澄夫他、電子情報通信学会論文誌. A, 基礎・境界 77(3), 460-470, 1994-03-25.
なお、参考文献1に記載のアルゴリズムでは、他の頂点との関係性を無視した各頂点単体では、すべての頂点を同等なものとして扱っているが、本実施の形態においては、画面構成要素は、少なくとも種類を表す属性を有するものとし、異なる種類の画面構成要素は同等にはなり得ない。そのため、本実施の形態では、同等となり得る画面構成要素同士に対してのみ対応付け可能、という制約条件の下、対応付け方法を求める。
画面構成要素の対応付け可否は、以下の第1または第2の方法により判定する。第1の方法は、画面構成要素の属性のうち、種類を表す属性の値が一致する場合には「対応付け可」、そうでない場合には「対応付け不可」と判定する方法である。
第2の方法(オプション3適用時)は、画面構成要素の各属性について、要素属性比較規則記憶部125で保持する比較規則の中から、適用する比較規則を決定する。第2の方法は、見本の画面構成要素の属性の値と、処理対象の画面構成要素の属性の値とを比較し、決定された比較規則に応じて表1のように一致、不一致を判定する。第2の方法は、すべての属性について、「一致」と判定と判定された場合には、画面構成要素同士を「対応付け可」、そうでない場合には、画面構成要素同士を「対応付け不可」と判定する。
なお、第2の方法において適用する比較規則は、例えば以下の優先順位で決定する。
優先順位1:「見本画面データID」「画面構成要素ID」「属性名」のいずれも「(任)」ではなく、比較対象の見本画面データのID、画面構成要素のID、属性名と一致する比較規則。
優先順位2:「見本画面データID」「画面構成要素ID」のいずれも「(任意)」ではなく、比較対象の見本画面データのID、画面構成要素のIDと一致する比較規則。
優先順位3:「属性名」が「(任意)」ではなく、比較対象の属性名と一致する比較規則。
優先順位4:優先順位1~3以外で、比較対象の見本画面データのID、画面構成要素のID、属性名が該当する比較規則。
優先順位1:「見本画面データID」「画面構成要素ID」「属性名」のいずれも「(任)」ではなく、比較対象の見本画面データのID、画面構成要素のID、属性名と一致する比較規則。
優先順位2:「見本画面データID」「画面構成要素ID」のいずれも「(任意)」ではなく、比較対象の見本画面データのID、画面構成要素のIDと一致する比較規則。
優先順位3:「属性名」が「(任意)」ではなく、比較対象の属性名と一致する比較規則。
優先順位4:優先順位1~3以外で、比較対象の見本画面データのID、画面構成要素のID、属性名が該当する比較規則。
また、本実施の形態においては、見本の画面構造のルートの画面構成要素は、処理対象の画面構造のルートの画面構成要素にのみ対応付け可能、という制約条件の下、対応付け方法を求める。
さらに、参考文献1では、部分構造同士の対応付け方法fを、対応付け方法fを用いて対応付けられた頂点、すなわち、Def(f)に含まれる画面構成要素の数|Def(f)|の大小により評価している。本実施の形態においては、同様に、共通部分構造に含まれる画面構成要素の数の大小により評価してもよいし、以下の第1および第2の観点のいくつか、あるいは、すべてを反映した評価方法を用いてもよい。
第1の観点は、見本の画面構成要素のうち、制御対象の画面構成要素を、他の画面構成要素よりも優先的に、処理対象の画面構成要素と対応付けることである。そのため、制御対象の画面構成要素の集合を~Vr(⊆Vr)とすると、|Def(f)∩~Vr|の大小により対応付け方法fを評価する。
第2の観点は、一覧表の行のように、同じ部分構造が繰り返し出現する画面構造において、処理対象画面データ中の、作業者が操作の対象とした画面構成要素を、他の行内の画面構成要素よりも優先的に、見本の画面構造中の制御対象の画面構成要素と対応付けることである。そのため、作業者が操作の対象とした画面構成要素の集合をVop
t(⊆Vt)とすると、|f(~Vr)∩~Vop
t|の大小により対応付け方法fを評価する。
なお、対応付け方法の評価方法は、見本の画面構造全体と、処理対象の画面構造全体を対象とした、最終的な対応付け方法についてだけでなく、それを求める過程で取り扱う、任意のVr´(⊆Vr)、Vt´(⊆Vt)を頂点集合とするそれぞれの部分構造を対象とした対応付け方法f´(式(3)参照)についても同様である。具体的には、引用の参考文献1のアルゴリズムを、評価方法のみ置き換えることで、その評価方法において最も良い評価となる対応付け方法^fを求めることができる。また、評価方法自体は、画面構図がグラフ構造か木構造であるかに依存しない。
[9.1.1.対応付け方法導出処理]
対応付け方法導出処理に、参考文献1に記載のアルゴリズムを適用することができる。そのうち、本実施の形態では、以下の図15に示す処理を、参考文献1のうちの対応付け方法を評価する処理に置き換えて、実施することができる。そこで、図15の処理について説明する。図15は、対応付け方法導出処理のうちの対応付け方法を評価する処理の処理手順を示すフローチャートである。図15では、対応付け方法fp,fqとのうちいずれが良い方法であるかを評価する場合を例に説明する。
対応付け方法導出処理に、参考文献1に記載のアルゴリズムを適用することができる。そのうち、本実施の形態では、以下の図15に示す処理を、参考文献1のうちの対応付け方法を評価する処理に置き換えて、実施することができる。そこで、図15の処理について説明する。図15は、対応付け方法導出処理のうちの対応付け方法を評価する処理の処理手順を示すフローチャートである。図15では、対応付け方法fp,fqとのうちいずれが良い方法であるかを評価する場合を例に説明する。
まず、画面構造比較部1314は、第1の観点で対応付け方法fp,fqを評価するため、|Def(fp)∩~Vr|と|Def(fq)∩~Vr|との大小について判定する(ステップS31)(オプション4-1適用時)。
画面構造比較部1314は、|Def(fp)∩~Vr|>|Def(fq)∩~Vr|である場合(ステップS31:|Def(fp)∩~Vr|>|Def(fq)∩~Vr|)、対応付け方法fpをfqよりも良い対応付け方法として評価する(ステップS32)。また、画面構造比較部1314は、|Def(fp)∩~Vr|<|Def(fq)∩~Vr|である場合(ステップS31:|Def(fp)∩~Vr|<|Def(fq)∩~Vr|)、対応付け方法fqをfpよりも良い対応付け方法として評価する(ステップS33)。
また、|Def(fp)∩~Vr|=|Def(fq)∩~Vr|である場合(ステップS31:|Def(fp)∩~Vr|=|Def(fq)∩~Vr|)、画面構造比較部1314は、|Def(fp)|と|Def(fq)|との大小について判定する(ステップS34)。これは、引用文献1に記載のアルゴリズムをそのまま適用した場合の判定処理と同じである。
|Def(fp)|>|Def(fq)|である場合(ステップS34:|Def(fp)|>|Def(fq)|)、画面構造比較部1314は、対応付け方法fpをfqよりも良い対応付け方法として評価する(ステップS32)。また、|Def(fp)|<|Def(fq)|である場合(ステップS34:|Def(fp)|<|Def(fq)|)、画面構造比較部1314は、対応付け方法fqをfpよりも良い対応付け方法として評価する(ステップS33)。
そして、|Def(fp)|=|Def(fq)|である場合(ステップS34:|Def(fp)|=|Def(fq)|)、画面構造比較部1314は、第2の観点で対応付け方法fp,fqを評価するため、|fp(~Vr)∩~Vop
t|<|fq(~Vr)∩~Vop
t|であるか否かを判定する(ステップS35)(オプション4-2適用時)。
|fp(~Vr)∩~Vop
t|<|fq(~Vr)∩~Vop
t|である場合(ステップS35:Yes)、画面構造比較部1314は、対応付け方法fqをfpよりも良い対応付け方法として評価する(ステップS33)。|fp(~Vr)∩~Vop
t|<|fq(~Vr)∩~Vop
t|でない場合(ステップS35:No)、すなわち、|fp(~Vr)∩~Vop
t|≧|fq(~Vr)∩~Vop
t|である場合、画面構造比較部1314は、対応付け方法fpをfqよりも良い対応付け方法として評価する(ステップS32)。画面構造比較部1314は、評価対象の対応付け方法に対し、図15に示す対応付け方法評価処理を行うことによって、最も評価が良い対応付け方法^fを得ることができる。
[9.1.2.画面構造同等性判定処理]
画面構造比較部1314は、見本画面データと処理対象画像データとの画面構造が同等か否かを、図15に示す対応付け方法評価処理において求めた最良の対応付け方法^fの各評価観点について、それぞれ、所定の閾値と比較することにより判定する。
画面構造比較部1314は、見本画面データと処理対象画像データとの画面構造が同等か否かを、図15に示す対応付け方法評価処理において求めた最良の対応付け方法^fの各評価観点について、それぞれ、所定の閾値と比較することにより判定する。
次に、図14の画面構造同等性判定処理(ステップS22)について説明する。図16は、図14に示す画面構造同等性判定処理の処理手順を示すフローチャートである。
図16に示すように、画面構造比較部1314は、制御対象の画面構成要素の集合(~Vr)の要素数に対する、対応付け方法^fを用いて対応付けられた画面構成要素の集合(Def(^f))と制御対象の画面構成要素の集合(~Vr)の両方に含まれる要素の数の割合が、所定の閾値以上~θ以上であるか、すなわち、式(4)を満たすか否かを判定する(ステップS41)。
式(4)を満たさない場合(ステップS41:No)、画面構造比較部1314は、見本の画面構造と、処理対象の画面構造とは非同等と判定する(ステップS42)。
一方、式(4)を満たす場合(ステップS41:Yes)、見本の画面構成要素(の全体)の集合(Vr)の要素数に対する、対応付け方法^fを用いて対応付けられた画面構成要素(Def(^f))の数の割合が、所定の閾値以上θ以上であるか、すなわち、式(5)を満たすか否かを判定する(ステップS43)。
式(5)を満たさない場合(ステップS43:No)、画面構造比較部1314は、見本の画面構造と、処理対象の画面構造とは非同等と判定する(ステップS42)。
一方、式(5)を満たす場合(ステップS43:Yes)、作業者が操作の対象とした画面構成要素の集合(Vop
t)の要素数に対する、対応付け方法^fを用いて見本に対応付けられた処理対象の画面構成要素の集合(^f(~Vr)と作業者が操作の対象とした画面構成要素の集合(Vop
t)の両方に含まれる要素の数の割合が、所定の閾値以上θop以上であるか、すなわち、式(6)を満たすか否かを判定する(ステップS44)。
式(6)を満たさない場合(ステップS44:No)、画面構造比較部1314は、見本の画面構造と、処理対象の画面構造とは非同等と判定する(ステップS42)。一方、式(6)を満たす場合(ステップS44:Yes)、画面構造比較部1314は、見本の画面構造と、処理対象の画面構造とは同等と判定する(ステップS45)。
なお、画面構造比較部1314は、各閾値として、すべての見本画面データに対し、共通の閾値を用いてもよいし、見本画面データごとに定めておいた閾値を用いてもよい(オプション6)。
図16では、画面構造比較部1314は、見本と処理対象との画面構造を比較する処理として、比較により、最良の対応付け方法^fを求めた後、見本と処理対象の画面構造の同等性を判定している。これに対し、同等でない場合に最良の対応付け方法^fが必要ない構成においては(オプション1-2不適用時)、すなわち、識別後トリミング処理を適用しない場合には、閾値を下回ることが判明した時点で、比較処理を打ち切り、「非同等」と判定してもよい。
[9.2.全反復単位対応付けパターン]
[9.2.1.拡張形]
まず、単一反復単位対応付けパターンを拡張する形で、全反復単位対応付けパターンのうち、1階層の反復構造が任意の数だけ含まれる場合について説明する。
[9.2.1.拡張形]
まず、単一反復単位対応付けパターンを拡張する形で、全反復単位対応付けパターンのうち、1階層の反復構造が任意の数だけ含まれる場合について説明する。
以下、見本の画面構造中における、1階層目の任意のk個目(ただしk≧1)の反復構造に相当する部分構造を、~S*
r(k)=(~V*
r(k),~E*
r(k))、さらに、その部分構造で、反復単位に相当する部分構造を~S**
r(k)=(~V**
r(k),~E**
r(k))、その反復単位に含まれる制御対象の画面構成要素の集合を~Vr(k)とする。
なお、制御対象の画面構成要素だけでなく、反復構造と、各反復構造につき1個の反復単位とが事前に指定されているものとし、その際、各集合~Vr(k)に含まれる制御対象の画面構成要素は、すべて単一の反復単位の内部に含まれているものとする。ただし、反復構造には含まれるが、反復単位には含まれない制御対象の画面構成要素が存在してもよく、このような画面構成要素の集合を~Vodd
r(k)とする。
画面構造が有向木の場合には、部分木~S*
r(k),~S**
r(k)それぞれのルートの画面構成要素を、反復構造の基点~v*
k、反復単位の基点~v**
kと表記する。事前に反復構造、反復単位が指定される方法としては、集合~V*
r(k),~V**
r(k)が指定されてもよいし、画面構造が有向木の場合には、この代わりに基点~v*
k,~v**
kが指定されてもよい。
また、集合~Vrに含まれる制御対象の画面構成要素のうち、いずれの反復構造にも含まれないものの集合を~Vr(0)とする。
図17および図18は、反復構造が1階層の場合における反復単位の列挙を説明する図である。図17および図18では、見本の画面構造C8と、処理対象の画面構造C9とを比較した場合を例として示す。
反復構造~S*
r(k)内の制御対象の画面構成要素と同等のものをすべて特定する場合にも、まず、画面構造比較部1314は、画面構造の全体に対して、単一反復単位対応付けパターンによる比較を行い、最良の対応付け方法^fを求め、対応付け方法^fによる対応付けを行い(図17の(1)参照)、各制御対象の画面構成要素に対し、処理対象の画面構造中で同等のものを最大1個ずつ特定する。
画面構造比較部1314は、集合~Vodd
r(k)に含まれる画面構成要素については、それ以上、同等の画面構成要素を求める必要はない。画面構造比較部1314は、以降は、図17および図18に示すように、各集合~Vr(k)(ただしk≧1)について、それに含まれる制御対象の画面構成要素を対象に、処理対象の画面構造中で他の同等のものを列挙していく。
画面構造比較部1314は、k≧1の任意の集合~Vr(k)について、集合~Vr(k)に含まれる画面構成要素のすべてが、最良の対応付け方法^fにより、処理対象の画面構造中のいずれかの画面構成要素に対応付けられている場合、つまり式(7)の場合には、反復単位~S**
r(k)内の画面構成要素~V**
r(k)に対応付けられた、処理対象の画面構造中の画面構成要素すべて、つまり^f(~V**
r(k))(以下、「処理対象の画面構造中の反復単位」と表記)を削除する(図18の(A)参照)。
その後、集合~Vr(k)に含まれない制御対象の画面構成要素はすべて、最良の対応付け方法^fと同じ対応付けとする、という制約条件の下(図18の(1)参照)、再度、見本と処理対象の画面構造に対し、単一反復単位対応付けパターンによる比較を行い、最良の対応付け方法^f2
kを求める。応付け方法^f2
kによる対応付けを行う(図18の(2)参照)。
図19は、画面構成比較部1314が取得する演算結果を説明する図である。以上の処理を式(8)となるまで繰り返ことによって、図19に示す結果を得る。
[9.2.2.一般形]
次に、全反復単位対応付けパターンのうち、入れ子になった任意の階層数の反復構造が任意の数だけ含まれる一般の場合について説明する。
次に、全反復単位対応付けパターンのうち、入れ子になった任意の階層数の反復構造が任意の数だけ含まれる一般の場合について説明する。
反復構造が入れ子になっている場合にも、画面構成比較部1314は、画面構造の全体に対して、単一反復単位対応付けパターンによる比較を行い、最良の対応付け方法^fを求め、各制御対象の画面構成要素に対し、処理対象の画面構造中で同等のものを最大1個ずつ特定する。これにより、各階層の各反復構造について、処理対象の画面構造における、反復構造には含まれるが反復単位には含まれない画面構成要素と同等の画面構成要素の集合と、1個目の反復単位に相当する部分構造とが求められる。
図20~図25は、反復構造が複数階層の場合における反復単位の列挙を説明する図である。図20~図25では、見本の画面構造C12と、処理対象の画面構造C13とを比較した場合を例として示す。
画面構成比較部1314は、その後、図20~図25に示すように、上位の階層において、処理対象の画面構造中に、反復単位と同等の部分構造を見つける毎に、そのそれぞれに対し、下位の各階層の各反復構造における、反復構造には含まれるが反復単位には含まれない画面構成要素と同等の画面構成要素の集合と、反復単位と同等の部分構造とを列挙する、という処理を、再帰的に繰り返す。以下、この処理の詳細を説明する。
見本の画面構造中C12における、任意のn階層目のkn個目(ただしkn≧1)の反復構造について、反復構造に相当する部分構造を、~S*
r(k1,・・・,kn-1,kn)=(~V*
r(k1,・・・,kn-1,kn),~E*
r(k1,・・・,kn-1,kn))、さらにその部分構造で、反復単位に相当する部分構造を~S**
r(k1,・・・,kn-1,kn)=(~V**
r(k1,・・・,kn-1,kn),~E**
r(k1,・・・,kn-1,kn))、その反復単位に含まれる制御対象の画面構成要素の集合を~Vr(k1,・・・,kn-1,kn)、その反復構造には含まれるが反復単位には含まれない制御対象の画面構成要素の集合を~Vodd
r(k1,・・・,kn-1,kn)とする(例えば、図20のC12参照)。この場合、各集合は、式(9)~式(12)である。
[9.2.2.1.最下層の反復構造に対する処理]
図26は、画面構成比較部1314が取得する演算結果を説明する図である。画面構成比較部1314は、反復構造~S* r(k1,・・・,kn-1,kn)が、その内部に反復構造を持たない場合には、拡張形の処理を行い、図26に示す結果を得る。
図26は、画面構成比較部1314が取得する演算結果を説明する図である。画面構成比較部1314は、反復構造~S* r(k1,・・・,kn-1,kn)が、その内部に反復構造を持たない場合には、拡張形の処理を行い、図26に示す結果を得る。
[9.2.2.2.最下層以外の反復構造に対する処理]
画面構成比較部1314は、反復構造~S* r(k1,・・・,kn-1)が、その内部に反復構造を持つ場合、内部の反復構造を~S* r(k1,・・・,kn-1,1)、~S* r(k1,・・・,kn-1,2)、・・・、~S* r(k1,・・・,kn-1,kn)…とする。
画面構成比較部1314は、反復構造~S* r(k1,・・・,kn-1)が、その内部に反復構造を持つ場合、内部の反復構造を~S* r(k1,・・・,kn-1,1)、~S* r(k1,・・・,kn-1,2)、・・・、~S* r(k1,・・・,kn-1,kn)…とする。
まず、画面構成比較部1314は、反復単位~S**
r(k1,・・・,kn-1)と同等な、処理対象の画面構造中の1個目の反復単位において、各反復構造~S*
r(k1,・・・,kn-1,kn)に関し、以下の処理により、反復単位~S**
r(k1,・・・,kn-1,kn)と同等な部分構造(に含まれる画面構成要素の集合)と、制御対象の画面構成要素~Vr(k1,・・・,kn-1,kn)と同等な画面構成要素と、をすべて列挙する。
反復構造~S*
r(k1,・・・,kn-1,kn)が、その内部に反復構造を持たない場合には、画面構成比較部1314は、最下層の反復構造に対する処理を行う。
例えば、画面構成比較部1314は、最下層の反復構造において、対応付け方法^fm1,・・・,1、1
k1,・・・,kn-1、kn(=^fm1,・・・,1
k1,・・・,kn-1)によって対応付けられた、処理対象の画面構造中の1個目の反復単位^fm1,・・・,1、1
k1,・・・,kn-1、kn(~V**
r(k1,・・・,kn-1、kn))(図21のF11参照)に含まれる画面構成要素をすべて削除する(図21の(2)参照)。続いて、画面構成比較部1314は、~Vr(k1,・・・,kn-1,kn)に含まれない制御対象画面データの画面構成要素はすべて、最良の対応付け方法^fm1,・・・,1
k1,・・・,kn-1と同じ対応付けとする、という制約条件(図21の(3)参照)の下、対応付け方法^fm1,・・・,1,2
k1,・・・,kn-1,kn(図21の(4)参照)を求め、反復構造~S*
r(k1,・・・,kn-1,kn)内の反復単位~S**
r(k1,・・・,kn-1,kn)と同等な、処理対象の画面構造中の2個目の部分構造(に含まれる画面構成要素の集合)^fm1,・・・,1、2
k1,・・・,kn-1、kn(~V**
r(k1,・・・,kn-1、kn))(図22のF12参照)と、制御対象の画面構成要素~Vr(k1,・・・,kn-1,kn)と同等な画面構成要素^fm1,・・・,1、2
k1,・・・,kn-1、kn(~Vr(k1,・・・,kn-1、kn))を得る。続いて、処理対象の画面構造中の2個目の反復単位^fm1,・・・,1、2
k1,・・・,kn-1、kn(~V**
r(k1,・・・,kn-1、kn))(図22のF12参照)に含まれる画面構成要素をすべて削除する(図22の(5)参照)。以降、画面構成比較部1314は、同様の処理を、処理対象の画面構造中の反復単位が見つからなくなるまで繰り返す。
また、反復構造~S*
r(k1,・・・,kn-1,kn)が、その内部に反復構造を持つ場合には、画面構成比較部1314は、最下層以外の反復構造に対する処理を、再帰的に行う。
なお、反復構造には含まれるが反復単位には含まれない画面構成要素~Vodd
r(k1,・・・,kn-1,kn)と同等の画面構成要素の集合は、処理対象の画面構造中の1個目の反復単位が求まった段階で得られている。
その後、画面構成比較部1314は、対応付け方法^fm1,・・・,1
k1,・・・,kn-1による対応付けにより求めた、反復単位~S**
r(k1,・・・,kn-1)と同等な、処理対象の画面構造中の1個目の反復単位に含まれる画面構成要素^fm1,・・・,1
k1,・・・,kn-1(~V**
r(k1,・・・,kn-1))(図23の画面構成要素F1)をすべて削除する(図23の(8)参照)。
その上で、画面構成比較部1314は、~Vr(k1,・・・,kn-1)に含まれない制御対象画面データの画面構成要素はすべて、最良の対応付け方法^fm1,・・・,1
k1,・・・,kn-1と同じ対応付けとする、という制約条件の下、再度、見本の画面構造C12と処理対象の画面構造C13に対し、単一反復単位対応付けパターンによる比較を行い、最良の対応付け方法^fm1,・・・,2
k1,・・・,kn-1を求める(図23の(9)参照)。
続いて、画面構成比較部1314は、反復単位~S**
r(k1,・・・,kn-1)と同等な、処理対象の画面構造中の2個目の反復単位において、1個目の反復単位と同様の処理(図24,25参照を行う。反復構造~S*
r(k1,・・・,kn-1,kn)は、その内部に反復構造を持たないため、画面構成比較部1314は、2個目の反復単位において、図24,25に示すように、最下層の反復構造に対する処理を行う。そして、画面構成比較部1314は、2個目の反復単位の内部で、制御対象の画面構成要素と同等のものを列挙する。
画面構成比較部1314は、以上の処理を、式(13)となるまで繰り返す。
図27は、画面構成比較部1314が取得する演算結果を説明する図である。画面構成比較部1314は、以上の処理を、式(13)となるまで繰り返すことにより、図27に示す結果を得る。
[10.見本画面データのトリミング処理]
次に、トリミング部132による見本画面データのトリミング処理について説明する。識別装置10は、見本の画面構造は、ある時点、ある端末で取得されている画面データのものをそのまま用いてもよい。また、識別装置10は、取得された画面データの画面構造を、図12のステップS1において事前にトリミングしておいたものを利用してもよい(オプション1-2適用時)。また、識別装置10は、異なる時点、異なる端末で取得され、識別結果が付与された、複数の画面データを用いて、見本の画面構造をトリミングし(図12のステップS5)、以降の識別処理で使用してもよい(オプション1-2適用時)。なお、識別情報記憶部123には、複数の見本画面データが保持されている。識別装置10では、これら見本の画面構造のトリミングを、それぞれ独立して行う。そのため、以降では、その中の任意の1個の見本画面データを対象として説明する。
次に、トリミング部132による見本画面データのトリミング処理について説明する。識別装置10は、見本の画面構造は、ある時点、ある端末で取得されている画面データのものをそのまま用いてもよい。また、識別装置10は、取得された画面データの画面構造を、図12のステップS1において事前にトリミングしておいたものを利用してもよい(オプション1-2適用時)。また、識別装置10は、異なる時点、異なる端末で取得され、識別結果が付与された、複数の画面データを用いて、見本の画面構造をトリミングし(図12のステップS5)、以降の識別処理で使用してもよい(オプション1-2適用時)。なお、識別情報記憶部123には、複数の見本画面データが保持されている。識別装置10では、これら見本の画面構造のトリミングを、それぞれ独立して行う。そのため、以降では、その中の任意の1個の見本画面データを対象として説明する。
[11.事前トリミング処理]
まず、事前トリミング処理(図12のステップS1)(オプション1-1)の処理手順について説明する。
まず、事前トリミング処理(図12のステップS1)(オプション1-1)の処理手順について説明する。
トリミング部132は、識別情報記憶部123で保持されている各見本の画面構造を、事前に指定された近傍距離と子孫画面構成要素要否とにしたがってトリミングする(オプション1-1)。ただし、事前トリミング処理では、画面構造が有向木の場合を対象とする。
事前のトリミングを行う場合には、取得された画面データの画面構造に対し、制御対象の画面構成要素とその祖先および近傍が残るように画面構造をトリミングする。
なお、以下に記載する近傍距離と子孫画面構成要素要否とにおいて、すべての見本の画面構造、制御対象の画面構成要素で、あらかじめ指定された同じ値を使用してもよい。また、トリミング部132は、見本画面データ画面構造個別あるいは制御対象の画面構成要素個別に、あらかじめ指定された異なる値を使用してもよい(オプション1-1-1)。この値は、識別情報記憶部123の画面構造トリミング個別設定123Tあるいは画面構成要素の属性123Aの近傍距離、子孫画面構成要素要否を参照することで得ることができる。
また、制御対象の画面構成要素とその祖先および近傍は、見本の画面構造およびそれと同等の画面構造に特有のものばかりとは限らず、それらすべてが、他の同等ではない画面構造にも含まれる場合もある。その場合、端末作業の自動化や支援等を目的とするプログラムにおいて真に制御対象となる画面構成要素とその祖先および近傍のみでは、見本の画面構造と同等の画面構造内において同等の画面構成要素を識別できても、画面構造が見本の画面構造と同等であるかどうかを、トリミング前と同様には識別できなくなる可能性がある。そのため、この方法では、真に制御対象となる画面構成要素だけでなく、見本の画面構造およびそれと同等の画面構造に特有と考えられる画面構成要素も、制御対象の画面構成要素として指定されているものとする。
図28は、事前トリミング処理の処理手順を示すフローチャートである。図28に示すように、まず、トリミング部132は、識別情報記憶部123で保持されている見本画面データの中に、トリミング処理が未処理である見本画面データが存在するか否かを判定する(ステップS51)。トリミング部132は、未処理である見本画面データが存在しない場合(ステップS51:No)、事前トリミング処理を終了する。
一方、未処理である見本画面データが存在する場合(ステップS51:Yes)、トリミング部132は、未処理の見本画面データを1個選択する(ステップS52)。トリミング部132は、トリミング対象画面構成要素集合をすべての画面構成要素で初期化する(ステップS53)。そして、有向木のルートとなる画面構成要素を選択し、現在の画面構成要素とする(ステップS54)。
トリミング部132は、現在の画面構成要素に対し、画面構成要素とその子孫のトリミング対象を特定するトリミング対象特定処理を行う(ステップS55)。
続いて、トリミング部132は、トリミング対象画面構成要素集合に残っている画面構成要素と、それを一端とする辺とを、選択された見本の画面構造から削除する(ステップS56)。トリミング部132は、トリミング結果(トリミング後の見本画面データ)を識別情報記憶部123に保存する(ステップS57)。そして、トリミング部132は、選択された見本画面データを処理済みとし(ステップS58)、次の見本画面データに対するトリミング処理を行うため、ステップS51に進む。
[11.1.トリミング対象特定処理]
次に、図28に示すトリミング対象特定処理(ステップS55)について説明する。図29は、図28に示すトリミング対象特定処理の処理手順を示すフローチャートである。
次に、図28に示すトリミング対象特定処理(ステップS55)について説明する。図29は、図28に示すトリミング対象特定処理の処理手順を示すフローチャートである。
図29に示すように、トリミング部132は、現在の画面構成要素を走査済みとする(ステップS61)。そして、トリミング部132は、現在の画面構成要素が制御対象であるか否かを判定する(ステップS62)。
現在の画面構成要素が制御対象である場合(ステップS62:Yes)、トリミング部132は、現在の画面構成要素を調査済みとし、トリミング対象画面構成要素集合から削除する(ステップS63)。続いて、トリミング部132は、祖先および近傍の画面構成要素を列挙する祖先・近傍の画面構成要素列挙処理を行う(ステップS64)。
そして、トリミング部132は、子孫画面構成要素要否について判定する(ステップS65)。ここで、トリミング部132は、子孫画面構成要素要否において、すべての見本の画面構造、制御対象の画面構成要素で、あらかじめ指定された同じ値を使用してもよい。また、トリミング部132は、見本画面データ画面構造個別あるいは制御対象の画面構成要素個別に、あらかじめ指定された異なる値を使用してもよい。この値は、識別情報記憶部123の画面構造トリミング個別設定123Tあるいは画面構成要素の属性123Aの子孫画面構成要素要否を参照することで得ることができる。
子孫画面構成要素要否が「要」である場合(ステップS65:要)、トリミング部132は、現在の画面構成要素の子孫を走査し、トリミング対象画面構成要素集合から削除する(ステップS66)。
また、トリミング部132は、現在の画面構成要素が制御対象でない場合(ステップS62:No)、子孫画面構成要素要否が「否」である場合(ステップS65:否)、または、ステップS66処理後、未走査の子の画面構成要素が存在するか否かを判定する(ステップS67)。
未走査の子の画面構成要素が存在する場合(ステップS67:Yes)、トリミング部132は、子の画面構成要素のうち、未走査の画面構成要素を1個選択する(ステップS68)。そして、トリミング部132は、選択された画面構成要素を現在の画面構成要素として、本処理のフローを適用し(ステップS69)、ステップS67に進む。未走査の子の画面構成要素が存在しない場合(ステップS67:No)、トリミング部132は、トリミング対象特定処理を終了する。
[11.2.祖先・近傍の画面構成要素列挙処理]
次に、図29に示す祖先・近傍の画面構成要素列挙処理(ステップS64)について説明する。図30は、図29に示す祖先・近傍の画面構成要素列挙処理の処理手順を示すフローチャートである。
次に、図29に示す祖先・近傍の画面構成要素列挙処理(ステップS64)について説明する。図30は、図29に示す祖先・近傍の画面構成要素列挙処理の処理手順を示すフローチャートである。
図30に示すように、まず、トリミング部132は、制御対象画面構成要素からの距離を0に初期化する(ステップS71)。続いて、トリミング部132は、親の画面構成要素が存在するか否かを判定する(ステップS72)。親の画面構成要素が存在しない場合(ステップS72:No)、トリミング部132は、祖先・近傍の画面構成要素列挙処理を終了する。
親の画面構成要素が存在する場合(ステップS72:Yes)、トリミング部132は、親の画面構成要素を現在の画面構成要素とする(ステップS73)。そして、トリミング部132は、現在の画面構成要素を調査済みとし、また、トリミング対象画面構成要素から除外する(ステップS74)。トリミング部132は、制御対象画面構成要素からの距離に1を加算する(ステップS75)。
トリミング部132は、制御対象画面構成要素からの距離と、所定の近傍距離とを比較し、制御対象画面構成要素からの距離≦近傍距離であるか否かを判定する(ステップS76)。ここで、トリミング部132は、近傍距離として、すべての見本の画面構造、制御対象の画面構成要素で、あらかじめ指定された同じ値を使用してもよい。また、トリミング部132は、見本画面データ画面構造個別あるいは制御対象の画面構成要素個別に、あらかじめ指定された異なる値を使用してもよい。この値は、識別情報記憶部123の画面構造トリミング個別設定123Tあるいは画面構成要素の属性123Aの近傍距離を参照することで得ることができる。
トリミング部132は、制御対象画面構成要素からの距離≦近傍距離でない場合(ステップS76:No)、すなわち、制御対象画面構成要素からの距離>近傍距離である場合、ステップS72の処理に進む。
一方、制御対象画面構成要素からの距離≦近傍距離である場合(ステップS76:Yes)、未調査の子の画面構成要素が存在するか否かを判定する(ステップS77)。未調査の子の画面構成要素が存在しない場合(ステップS77:No)、トリミング部132は、ステップS72の処理に進む。
未調査の子の画面構成要素が存在する場合(ステップS77:Yes)、トリミング部132は、子の画面構成要素のうち、未調査の画面構成要素を1個選択する(ステップS78)。そして、トリミング部132は、選択した画面構成要素を、調査済みとし、トリミング対象画面構成要素集合から削除する(ステップS79)。
続いて、トリミング部132は、子孫画面構成要素の要否を判定する(ステップS80)。子孫画面構成要素の要否が「要」である場合(ステップS80:要)、トリミング部132は、選択された画面構成要素の子孫を走査して調査済みとし、トリミング対象画面構成要素集合から削除する(ステップS81)。子孫画面構成要素の要否が「否」である場合(ステップS80:否)、または、ステップS81の処理後、トリミング部132は、ステップS77の処理に進む。
[12.識別後トリミング処理]
次に、図12に示す識別後トリミング処理(ステップS5)(オプション1-2)について説明する。
次に、図12に示す識別後トリミング処理(ステップS5)(オプション1-2)について説明する。
制御対象の画面構成要素は、見本の画面構造およびそれと同等の画面データに特有のものばかりとは限らない。そのため、この方法では、トリミング可能な画面構成要素を、以下の第1および第2の条件の双方を満たすように求める。
第1のトリミング条件は、見本の画面構造中の制御対象画面構成要素が、その見本の画面構造自体に含まれる他の画面構造要素と混同されないことである。第2のトリミング条件は、見本の画面構造との同等性の判定が、トリミングの前後で変わらないことである。
次に、識別後トリミング処理の処理手順を説明する。図31は、図12に示す識別後トリミング処理の処理手順を示すフローチャートである。ただし、識別後トリミング処理では、画面構造が有向順序木の場合を対象とする。
図31に示すように、トリミング部132は、識別情報記憶部123に未処理の見本画面データが存在するか否かを判定する(ステップS91)。識別情報記憶部123に未処理の見本画面データが存在しない場合(ステップS91:No)、識別後トリミング処理を終了する。
識別情報記憶部123に未処理の見本画面データが存在する場合(ステップS91:Yes)、トリミング部132は、識別情報記憶部123で保持されている、未処理の見本画面データkを1個選択する(ステップS92)。
続いて、トリミング部132は、選択された見本の画面構造において、制御対象識別補助用画面構成要素集合を求める(ステップS93)。そして、トリミング部132は、選択された見本の画面構造において、画面識別補助用画面構成要素集合を求める(ステップS94)。
トリミング部132は、制御対象の画面構成要素、制御対象識別補助用画面構成要素、画面識別補助用画面構成要素、それらの祖先のいずれにも該当しない画面構成要素と、それを一端とする辺とを、選択された見本の画面構造から削除する(ステップS95)。
トリミング部132は、トリミング結果となる画面構造を見本とし、識別事例記憶部126に蓄積されている各識別事例の画面構造を処理対象として識別処理を行い、トリミング前後で識別結果を比較する(ステップS96)。トリミング部132は、識別結果がトリミング前後で変わる識別事例があるか否かを判定する(ステップS97)。
識別結果がどの識別事例でもトリミング前後で変わらない場合(ステップS97:No)、トリミング結果を識別情報記憶部123に保存する(ステップS98)。トリミング部132は、識別結果がトリミング前後で変わる場合(ステップS97:Yes)、または、ステップS98処理終了後、選択された見本画面データを処理済みとする(ステップS99)。そして、ステップS91に戻り、次の見本画面データの有無を判定する。
[12.1.第1のトリミング条件]
制御対象の画面構成要素の中に、反復構造に含まれるものがあるか否かにより、どの範囲で混同されないようにする必要があるのかが変わる。そのため、以下では、画面構造中における反復構造の有無や、その入れ子の有無によって場合分けし、処理方法を段階的に説明する。最終的には、どのような場合においても、「一般形」の処理を行うことで、第1のトリミング条件を満たす上で必要となる、識別に必要な近傍の画面構成要素「制御対象識別補助用画面構成要素」を得る。
制御対象の画面構成要素の中に、反復構造に含まれるものがあるか否かにより、どの範囲で混同されないようにする必要があるのかが変わる。そのため、以下では、画面構造中における反復構造の有無や、その入れ子の有無によって場合分けし、処理方法を段階的に説明する。最終的には、どのような場合においても、「一般形」の処理を行うことで、第1のトリミング条件を満たす上で必要となる、識別に必要な近傍の画面構成要素「制御対象識別補助用画面構成要素」を得る。
[12.1.1.基本形(反復構造なし)]
まず、反復構造がない基本形に対する処理について説明する。図32は、制御対象識別補助用画面構成要素を求める処理を説明する図である。トリミング部132は、有向順序木C14の要素のうち、制御対象の各画面構成要素を順番にトリミング範囲調整対象(例えば、[1-0]~[5-0]トリミング範囲調整対象)として、それぞれ、以下の第1および第2の処理を行うことにより、第1のトリミング条件を満たすよう、制御対象識別補助用画面構成要素(例えば、[1-2]~[5-2]制御対象識別補助用)を求める。
まず、反復構造がない基本形に対する処理について説明する。図32は、制御対象識別補助用画面構成要素を求める処理を説明する図である。トリミング部132は、有向順序木C14の要素のうち、制御対象の各画面構成要素を順番にトリミング範囲調整対象(例えば、[1-0]~[5-0]トリミング範囲調整対象)として、それぞれ、以下の第1および第2の処理を行うことにより、第1のトリミング条件を満たすよう、制御対象識別補助用画面構成要素(例えば、[1-2]~[5-2]制御対象識別補助用)を求める。
第1の処理として、トリミング部132は、祖先と子孫、および他の制御対象の画面構成要素を考慮したのみでは区別できず、同等と判定される画面構成要素(以下、「類似画面構成要素」と表記)(図32の[1-1]~[5-1]類似、を参照)を、トリミング前の画面構造の中から抽出する。
第2の処理として、トリミング部132は、近傍距離を段階的に大きくしながら、トリミング前の画面構造における、トリミング範囲調整対象の画面構成要素とその祖先、子孫および近傍からなる画面構造(以下「トリミング範囲調整対象画面構造」と表記)と、各類似画面構成要素とその祖先、子孫および近傍からなる画面構造(以下、「類似画面構造」と表記)を比較することにより、トリミング範囲調整対象の画面構成要素を、類似画面構成要素と区別するのに利用可能な画面構成要素(以下、「制御対象識別補助用画面構成要素」と表記)(例えば、[1-2]~[5-2]制御対象識別補助用)を求める。
第1の処理、第2の処理の説明において、制御対象の画面構成要素のうち、トリミング範囲調整対象の画面構成要素の集合をUr(⊆~Vr)、トリミング範囲調整対象外の画面構成要素の集合を ̄Ur(⊆~Vr)とする。基本形においては、|Ur|=1だが、後述の拡張形においては、|Ur|≧1の場合が出てくる。
[12.1.1.1.第1の処理]
図33は、類似画面構成を求める処理例を示す図である。図33は、暫定トリミング済み画面構造C15と、類似画面構成要素抽出用画面構造(初期)C16-1と、類似画面構成要素抽出用画面構造(1個目抽出後)C16-2とを示す。
図33は、類似画面構成を求める処理例を示す図である。図33は、暫定トリミング済み画面構造C15と、類似画面構成要素抽出用画面構造(初期)C16-1と、類似画面構成要素抽出用画面構造(1個目抽出後)C16-2とを示す。
第1の処理では、まず、トリミング前の画面構造から暫定トリミング済み画面構造C15および類似画面構成要素抽出用画面構造C16-1を作成する。
暫定トリミング済み画面構造C15は、すべての制御対象の画面構成要素とその祖先および子孫のみからなる画面構造である。類似画面構成要素抽出用画面構造C16-1は、トリミング前の画面構造から、トリミング範囲調整対象の画面構成要素とその子孫(例えば、図32のB2)を削除した画面構造である(図33の(A)参照)。
トリミング部132は、暫定トリミング済み画面構造C15を見本とし、類似画面構成要素抽出用画面構造C16-1を処理対象とし、以下の制約条件、評価方法により、1回目の最良の対応付け方法^g1を求める。
制約条件は、トリミング範囲調整対象以外の制御対象の画面構成要素はすべて自分自身に対応付けられるとする条件である(図33の(1)参照)。評価方法として、対応付けられる画面構成要素の数の大小により評価する評価方法を採用する。
その結果、トリミング部132は、暫定トリミング済み画面構造C15中の、トリミング範囲調整対象の(すべての)画面構成要素(例えば、図33の[1-0]トリミング範囲調整対象)が、類似画面構成要素抽出用画面構造C16-1中のいずれかの画面構成要素に対応付けられた場合(Ur⊆Def(^g1))には、その対応付け方法を記録する。その上で、トリミング部132は、類似画面構成要素(^g1(Ur)に含まれる画面構成要素)(例えば、図33の[1-1-1]類似)とその子孫B3を、類似画面構成要素抽出用画面構造C16-1から削除し(図33の(B)参照)、次の類似画面構成要素抽出用画面構造C16-2を得た上で、再度、同じ制約条件、評価方法により、2回目の最良の対応付け方法^g2を求める。
トリミング部132は、暫定トリミング済み画面構造C15中の、トリミング範囲調整対象の(すべての)画面構成要素(例えば、図33の[1-0]トリミング範囲調整対象)が、類似画面構成要素とその子孫B3を削除した後の類似画面構成要素抽出用画面構造C16-2中のいずれかの画面構成要素に対応付けられた場合(Ur⊆Def(^g2))には、その対応付け方法を記録する。その上で、トリミング部132は、類似画面構成要素(^g2(Ur)に含まれる画面構成要素)(例えば、図33の[1-1-2]類似)とその子孫を、類似画面構成要素抽出用画面構造C16-2から削除し、次の類似画面構成要素抽出用画面構造C16-3を得た上で、再度、同じ制約条件、評価方法により、3回目の最良の対応付け方法^g3を求める。
トリミング部132は、これらの処理を、トリミング範囲調整対象の(いずれかの)画面構成要素に対応付けられる画面構成要素がなくなるまで行う。なお、トリミング部132は、式(14)に示す関係である場合には、類似画面構成要素は存在しないため、第2の処理は実行せず、空の制御対象識別補助用画面構成要素の集合を得る。
[12.1.1.2.第2の処理]
次に、第2の処理について、図34~図38を参照して説明する。図34~図38は、制御対象識別補助用画面構成要素を求める処理の一例を示す図である。
次に、第2の処理について、図34~図38を参照して説明する。図34~図38は、制御対象識別補助用画面構成要素を求める処理の一例を示す図である。
第2の処理では、まず、トリミング前の画面構造において、近傍距離を0とし、トリミング範囲調整対象の画面構成要素とその祖先、子孫、および近傍が残るように画面構造をトリミングすることで、トリミング範囲調整対象画面構造を作成する。
以下では、近傍距離がdの場合の、トリミング範囲調整対象画面構造に含まれる画面構成要素の集合を、U*
dと表記する。図34~図38に示すトリミング範囲調整対象画面構造C17,C19,C21,C23,C25はトリミング範囲調整対象画面構造の一例である。
同様に、トリミング部132は、トリミング前の画面構造において、第1の処理で求めた対応付け方法^g1,^g2,・・・^gm,・・・それぞれについて、類似画面構成要素(^gm(Ur)に含まれる画面構成要素すべて)とその祖先、子孫、および近傍が残るように画面構造をトリミングすることで、1個目、2個目、・・・m個目、・・・の類似画面構造を作成する。例えば、トリミング部132は、類似画面構造C18-1,C18-2,C20-1~C20-3,C22,C24,C26-1,C26-2を作成する。
その後、トリミング部132は、トリミング範囲調整対象画面構造を見本とし、各類似画面構造を処理対象として比較を行い、以下の制約条件、評価方法により、最良の対応付け方法^hmを求める。
制約条件は、トリミング範囲調整対象の制御対象の画面構成要素はすべて第1の処理で抽出した類似画面構成要素に対応付けられるという条件である(例えば、図34の(1)参照)。評価方法は、対応付けられる画面構成要素の数の大小により評価するという評価方法を採用する。トリミング範囲調整対象は、例えば、図34~図38に示す[1-0],[2-0],[3-0],[4-0],[5-0]トリミング範囲調整対象である。類似画面構成要素は、例えば、図34~図38に示す[1-1-1],[1-1-2],[2-1-1]~[2-1-3],[3-1-1],[4-1-1],[5-1-1],[5-1-2]である。
なお、近傍距離を0としている初回は、第1の処理で求めた最良の対応付け方法のうち、トリミング範囲調整対象画面構造に関する部分となるため、第1の処理の結果を流用してもよい。
トリミング部132は、すべての類似画面構造との比較により、どの類似画面構造中のいずれの画面構成要素にも対応付けられない画面構成要素の集合Pd(式(15)参照)を求める。
さらに、トリミング部132は、Pdに含まれる各画面構成要素vについて、トリミング範囲調整対象画面構造における兄弟(ただし、トリミング範囲調整対象の画面構成要素とその祖先は除く)のそれぞれと、画面構成要素の対応付け可否を判定し、その結果、すべての兄弟と「対応付け不可」と判定されたものを、制御対象識別補助用画面構成要素の集合Ωに追加する。制御対象識別補助用画面構成要素は、例えば、図34~図38に示す[1-2],[2-2],[3-2],[4-2],[5-2]制御対象識別補助用である。
トリミング部132は、制御対象識別補助用画面構成要素が1個以上見つかるか、近傍距離dが、トリミング前の画面構造のルートの画面構成要素からトリミング範囲調整対象の画面構成要素までの深さdUr以上となり、トリミング前の画面構造全体が近傍に含まれるようになるまで、近傍距離dを増加させながら、同様の処理を繰り返す。
なお、トリミング部132は、制御対象識別補助用画面構成要素が1個以上見つかる前に、近傍距離dが、dUrとなった場合には、事前に指定されていない反復構造の存在等により、トリミング範囲調整対象の画面構成要素を、その祖先や子孫、近傍の画面構成要素を考慮しても、識別できないことになるため、本識別装置10の利用者にその旨を通知し、見本の画面構造に対するトリミングを中断する。
[12.1.2.拡張形]
続いて、最大で1階層の反復構造が任意の数だけ含まれる場合である拡張形について説明する。
続いて、最大で1階層の反復構造が任意の数だけ含まれる場合である拡張形について説明する。
図39~図41は、反復構造が1階層の場合の制御対象識別補助用画面構成要素を求める処理を説明する図である。図39の画面構造C27のうち、トリミング部132は、反復構造に含まれない制御対象の各画面構成要素vi∈~Vr(0)(図39の[1-1],[1-2]トリミング範囲調整対象を参照)については、基本形の処理を行うことにより、その制御対象識別補助用画面構成要素の集合Ω0,iを得る(図39の[1-1],[1-2]制御対象識別補助用を参照)。なお、以下では、1個目の反復構造~S*
r(1)について主に説明するが、1個目の反復構造~S*
r(1)に対する処理の後、同様の処理を2個目の反復構造~S*
r(2)に対しも実施する(図39の(1)参照)。また図39で示した例では、反復構造は2個であるが、反復構造が3個以上ある場合も、同様の処理を2個目以降の反復構造に対して順次実施する。
k個目の反復構造~S*
r(k)=(~V*
r(k),~E*
r(k))において、反復構造には含まれるが反復単位には含まれない画面構成要素~Vodd
r(k)については、まず、反復構造の内部で、他の画面構成要素と混同されないようにする。そのため、トリミング部132は、トリミング前の画面構造において、反復構造に相当する部分木を考え、~Vodd
r(k)に含まれる画面構成要素のみを順番にトリミング範囲調整対象として(図39の[2-1-1]トリミング範囲調整対象を参照)、基本形の処理を行うことで、~Vr(k)∪~Vodd
r(k)に対する制御対象識別補助用画面構成要素の集合Ωin
kを求める(図39の[2-1-1]制御対象識別補助用を参照)。
また、反復構造~S*
r(k)の部分構造である反復単位~S**
r(k)=(~V**
r(k),~E**
r(k))に含まれる制御対象の画面構成要素~Vr(k)(図39の[2-2-1],[2-2-2]トリミング調整範囲対象を参照)については、まず、反復単位の内部で、他の画面構成要素と混同されないようにする。そのため、トリミング部132は、トリミング前の画面構造において、反復単位に相当する部分木を考え、基本形の処理を行うことで、~Vr(k)∪~Vodd
r(k)に対する制御対象識別補助用画面構成要素の集合Ωin
kを得る(図39の[2-2-1],[2-2-2]制御対象識別補助用を参照)。
次に、トリミング前の画面構造においてk個目の反復構造の外部に存在する画面構成要素と、~Vr(k)∪~Vodd
r(k)に含まれる画面構成要素が、混同されないようにする。そのため、トリミング部132は、基本形の処理において、~Vr(k)∪~Vodd
r(k)を、トリミング範囲調整対象の画面構成要素の集合Urとし(図40の[3]トリミング範囲調整対象を参照)、第1および第2の処理を実施する。
ただし、第1の処理における暫定トリミング済み画面構造、類似画面構成要素抽出用画面構造は、それぞれ以下のように設定する(図40の[4]対応付け(制約条件)、[5]類似を参照)。
暫定トリミング済み画面構造(例えば、図40のC27-1)は、~Vr(k)∪~Vodd
r(k)に含まれないすべての制御対象の画面構成要素とその祖先、子孫、~Vr(k)∪~Vodd
r(k)に含まれる制御対象の画面構成要素とその制御対象識別補助用画面構成要素、および、それらの祖先のみからなる画面構造である。
類似画面構成要素抽出用画面構造(例えば、図40のC28-1)は、トリミング前の画面構造から、事前に、k個目の反復構造に相当する部分木~S*
r(k)を削除した画面構造である(図40の(1)参照)。
また、第2の処理においては、トリミング範囲調整対象画面構造、m番目の類似画面構造は、それぞれ以下のように設定する。
トリミング範囲調整対象画面構造(例えば、図41のC27-4)については、トリミング前の画面構造中の反復構造~S*
r(k)内において、反復単位~S**
r(k)と同等の部分構造をすべて列挙し、2個目以降の部分構造は削除しておく(図41の(A)参照)。これは、トリミング前の見本の画面構造自身を、処理対象の画面構造とみなし、拡張形の識別処理を行えばよい。この結果得られる画面構造を、疑似的にトリミング前の画面構造として、第2の処理により、トリミング範囲調整対象画面構造を作成する。ただし、~Vr(k)∪~Vodd
r(k)に対する制御対象識別補助用画面構成要素(例えば、図41の[2-1-1],[2-2-1],[2-2-2]制御対象識別補助用)とその祖先が、常に含まれるようにする。
m番目の類似画面構造(例えば、図41のC28-4)については、対応付け方法^gmにより、~Vr(k)∪~Vodd
r(k)に対する制御対象識別補助用画面構成要素(例えば、図41の[2-1-1],[2-2-1],[2-2-2]制御対象識別補助用)に対応付けられた画面構成要素(例えば、図41の[2-1-1],[2-2-1],[2-2-2]制御対象識別補助用対応付け先)とその祖先が、常に含まれるようにする。
つまり、トリミング調整対象画面構造(例えば、図41のC27-1)には、集合Ωin
kに含まれる画面構成要素とその祖先が常に含まれる。そして、m番目の類似画面構造(例えば、図41のC28-1)には^gm(Ωin
k)に含まれる画面構成要素とその祖先が、常に含まれる。第2の処理を実施することで得られる制御対象識別補助用画面構成要素の集合をΩout
kと表記する(例えば、図41の[6]制御対象識別補助用を参照)。
最終的に、反復構造や反復単位の内部と、反復構造の外部、つまりトリミング前の画面構造全体の両方において、他の画面構造要素と混同されないようにするために必要な、制御対象識別補助用画面構成要素の集合Ωkは、以下の式(16)により得られる。
なお、反復構造の基点は、見本の画面構造において事前に指定されているものとしたが、~Vodd
r(k)に含まれる画面構成要素を、反復構造の外部にある画面構成要素として扱うことができ、~Vodd
r(k)を空集合とできる場合には、トリミング部132は、以下の方法により、自動的に推定してもよい。
まず、トリミング部132は、反復単位に相当する画面構成要素の親を、反復構造の基点とする。または、トリミング部132は、反復単位の内部で、制御対象の画面構成要素(~Vr(k))が他の画面構成要素と混同されないようにするために必要な、制御対象識別補助用画面構成要素(Ωin
k)を求める。その上で、トリミング部132は、それを用い、トリミング前の画面構造において、反復単位の部分構造と同等の、他の反復単位の部分構造を列挙し、それらに共通する祖先の画面構成要素を、反復構造の基点とする。
ただし、列挙のための探索範囲は、以下の2つの画面構成要素に挟まれる部分とする。1つ目の画面構成要素は、~Vr(k)に含まれる最も左側の画面構成要素の、左側に位置する制御対象画面構成要素のうち、最も右側に位置する画面構成要素である。2つ目の画面構成要素は、~Vr(k)に含まれる最も右側の画面構成要素の、右側に位置する制御対象画面構成要素のうち、最も左側に位置する画面構成要素である。
[12.1.3.一般形]
次に、入れ子になった任意の階層数の反復構造が任意の数だけ含まれる場合である一般形について説明する。図42は、入れ子になった任意の階層数の反復構造が任意の数だけ含まれる場合の制御対象識別補助用画面構成要素を求める処理を説明する図である。
次に、入れ子になった任意の階層数の反復構造が任意の数だけ含まれる場合である一般形について説明する。図42は、入れ子になった任意の階層数の反復構造が任意の数だけ含まれる場合の制御対象識別補助用画面構成要素を求める処理を説明する図である。
トリミング部132は、図42に示すように、各階層の各反復構造と反復単位Uについて、内側にある下の階層、つまり有向木においてルートの画面構成要素から反復構造に相当する画面構成要素までの深さが深い反復構造(例えば、反復構造U2)から先に、それを含む、外側の一つ上の階層の反復単位(例えば、反復単位U)の画面構造を見本の画面構造とみなして、拡張形の処理を順番に行う。
トリミング部132は、例えば、図42の(A)のように、制御対象の画面構成要素の各々について、この反復単位内で混同されないように制御対象識別補助用画像構成要素を求める(図42の(1)参照)。
トリミング部132は、図42の(B)のように、反復構造U2に含まれる制御対象の画面構成要素の各々について、この反復構造内で混同されないように制御対象識別補助用画像構成要素を求める(図42の(2)参照)。そして、トリミング部132は、一つ上位の反復単位に含まれるが反復構造U2には含まれない制御対象の画面構成要素と、反復構造U2に含まれる画面構成要素の各々について、一つ上位の反復単位内で混同されないように制御対象識別補助用画面構成要素を更新する(図42の(3),(4)参照)。トリミング部132は、図42の(D)の反復単位Uを、下層の反復単位とみなし、1個上の階層の反復単位U´との関係に表現しなおし(つまり、図42の(D)の反復単位Uを、図42の(B)の反復単位U1、図42の(D)の反復単位U´を、図42の(B)の反復単位Uとみなして)、処理を繰り返す。なお、表記上、制御対象別補助用画面構成要素の更新回数はリセットする(図42の(5)参照)。そして、トリミング部132は、反復構造U2に含まれる制御対象の画面構成要素の各々について、この反復構造内で混同されないように制御対象識別補助用画像構成要素を求める処理を行う。
これにより、トリミング部132は、最下層の反復構造と反復単位の内部、その1個上の階層の反復構造と反復単位の内部、さらにその1個上の階層の反復構造と反復単位の内部、・・・、最上層の反復構造と反復単位の内部、見本の画面構造の全体、において、他の制御対象の画面構造要素と混同されないようにするために必要な、制御対象識別補助用画面構成要素の集合を得る。
[12.2.第2のトリミング条件]
次に、第2のトリミング条件について説明する。見本の画面構造の中には、識別結果への影響がない画面構成要素と、識別結果への影響がある画面構成要素とが存在する。
次に、第2のトリミング条件について説明する。見本の画面構造の中には、識別結果への影響がない画面構成要素と、識別結果への影響がある画面構成要素とが存在する。
見本と処理対象との画面構造が同等であっても、見本の画面構成要素v∈Vrが、最良の対応付け方法^fにより処理対象の画面構成要素と対応付けられるか否か、つまり、v∈Def(^f)か否かが、処理対象の画面構造によって異なる場合、見本の画面構成要素vは同等性の判定に影響していないと考えられる。同様に、見本と処理対象との画面構造とが同等ではなくても、処理対象の画面構造によっては、見本の画面構成要素v∈Vrが、最良の対応付け方法^fにより処理対象の画面構成要素と対応付けられることがある場合、つまり、v∈Def(^f)となることがある場合、見本の画面構成要素vは同等性の判定に影響していないと考えられる。
一方、見本と処理対象の画面構造が、同等の場合には常にv∈Def(^f)となり、同等でない場合に常に式(17)に示す関係となる場合、見本の画面構成要素vは同等性の判定に影響していると考えられる。
識別事例記憶部126に蓄積されている事例の範囲内においては、v∈Def(^f)が、画面構造の同等性の必要十分条件になる。
したがって、本実施の形態では、識別事例記憶部126に蓄積されている、任意の1個の見本画面データに関する識別事例について、同等と識別された事例の集合をCeq、同等と識別されなかった事例の集合をCneq、事例cにおける最良の対応付け方法を^fcとする。トリミング部132は、式(18)~式(20)で定義される集合Qrに含まれる見本の画面構成要素vとその祖先を残し、他の画面構成要素をトリミングする。
図43は、同等または非同等な画面構造と共通する部分および共通しない部分を模式的に示す図である。図43は、集合Qr,Q+
r,Q―
rおよび後述の集合Λrを概念的に示す。
さらに、上記トリミング後の画面構造において、画面構成要素viが画面構成要素vjの祖先であり、かつ、画面構成要素viが集合Qrに含まれるとき、識別事例記憶部126に蓄積されている識別事例の範囲内においては、画面構成要素vjも必ず集合Qrに含まれる。これは、以下の理由による。vi∈Q-
rであるため、その子孫要素は、画面構成要素vjを含め、すべて集合Q-
rに含まれる。そして、画面構成要素vjの子孫で、上記トリミング後の木構造においてリーフとなる画面構成要素は、集合Qrに含まれるため、集合Q+
rにも含まれ、その祖先要素は画面構成要素vjを含め、すべて集合Q+
rの要素となる。
そのため、vi∈Def(^f)であれば、画面構造は同等であり、このとき、vj∈(Ur⊆)Def(^f)であり、逆に式(21)であれば、画面構造は同等ではなく、このとき、式(22)も自明のため、画面構成要素viにより同等性判定が行われる条件の下では、画面構成要素vjは同等性の判定に影響していないと考えられる。
したがって、本実施の形態では、式(23)によって定義されるΛrとして、見本の画面構造との同等性の判定が、トリミングの前後で変わらないようにするために必要な、画面識別補助用画面構成要素の集合を求める。
トリミング部132は、上記方法で求まる、第1および第2のトリミング条件を満たすために必要な、制御対象識別補助用画面構成要素、画面識別補助用画面構成要素を用いて、制御対象の画面構成要素、制御対象識別補助用画面構成要素、画面識別補助用画面構成要素と、それらの祖先が残るように、残りの画面構成要素を削除することで、トリミングを行う。
なお、図44は、同等の部分構造の数により画面構造の同等性が変わる例を示す図である。図44に示す非同等な識別事例の場合、集合Qrに含まれる画面構成要素vとその祖先を残して他の画面構成要素がトリミングされたトリミング後の見本の画面構造により識別すると、同等と判定される。
したがって、図44のように、反復単位の個数により画面構造が変わり、それにより同等かどうかが変わる場合には、この方法によるトリミングの前後で、識別結果が変わってしまうため、トリミングは行えない。このため、トリミング部132は、識別事例記憶部126に蓄積されている識別事例を用いて、トリミングの前後で識別結果が変わらない場合にのみ(図31のステップS97:No)、トリミング結果を識別情報記憶部123に保存し(図31のステップS98)、以降の識別処理で使用する。
また、トリミング後の見本の画面構造において、処理対象の画面構造中の画面構造要素と対応付けられないことが許容される画面構成要素は、制御対象の画面構成要素あるいは制御対象識別補助用画面構成要素と、それらの祖先であることのみを理由に残されたもの以外、存在しないことになる。特に、~θ=1の場合には、処理対象の画面構造中の画面構造要素と対応付けられないことが許容される画面構成要素は、一切存在しない。
したがって、トリミング後の画面構造を使用して行われる以降の識別処理においては、集合Λrに含まれる画面構成要素vとその祖先からなる画面構成要素の集合をΛ*
rとすると、式(24)、式(25)(図16における式(5)と同式である。)を用いて画面構造の同等性を判定する処理(図16参照)の代わりに、画面構造比較部1514は、式(26)および式(27)を用いてステップS42において同等性を判定する処理を行う。
[13.実施の形態の効果]
このように、実施の形態に係る識別装置10は、同じ属性値を持ち、同等となりうる見本の画面構造中の画面構成要素と処理対象の画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かも考慮した上で、画面と画面構成要素の同等性を判定する。
このように、実施の形態に係る識別装置10は、同じ属性値を持ち、同等となりうる見本の画面構造中の画面構成要素と処理対象の画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かも考慮した上で、画面と画面構成要素の同等性を判定する。
具体的には、識別装置10は、見本と処理対象との画面構造同士を比較し、制御対象の画面構成要素のうちの処理対象の画面構成要素に対応付けられるものの数、見本の画面構成要素全体のうちの処理対象の画面構成要素に対応付けられるものの数等による、対応付け方法の評価が最良となるように共通部分構造を求める。そして、識別装置10は、これらの数が、制御対象の画面構成要素または見本の画面構成要素の数等に占める割合を、所定の閾値と比較することによって、画面と画面構成要素の同等性を判定する。
そして、識別装置10は、作業者による操作の対象となった処理対象の画面構成要素であって、制御対象の画面構成要素に対応付けられる画面構成要素の数を、対応付け方法の評価に用いることで、反復構造の複数の同等の反復単位のうち、作業者による操作の対象となった処理対象の画面構成要素と同じ反復単位に含まれる画面構成要素を、制御対象の画面構成要素に対応付ける。
あるいは、識別装置10は、見本の画面構成要素に対応付けられた処理対象の画面構成要素の一部を削除し、再度評価が最良となる対応付け方法を求めることを繰り返すことにより、反復構造に含まれる制御対象の画面構成要素と同等の処理対象の画面構成要素をすべて求めることができる。
そして、識別装置10は、一致、不一致をどのように判定するかを個別に調整する必要のある画面、画面構成要素やそれらの属性についてのみ、比較規則を指定することにより、適用対象の画面や用途に応じて同等性の判定を制御する。
これによって、識別装置10では、同等の画面であっても、表示している案件に応じて、画面構成要素の属性値と画面構造が変動する場合、画面と画面構成要素を識別が可能となる。
そして、識別装置10では、取得できる画面構成要素の情報において、不変属性が、画面構成要素の種類等に限定されており、制御対象の画面構成要素とその祖先の属性あるいは複数の属性の組合せを用いても、各画面構成要素を一意に識別できない場合であっても、画面と画面構成要素を識別が可能となる。
そして、識別装置10では、画面の大きさや表示内容の多寡により、画面構成要素の二次元平面上の配置が変わる場合であっても、画面と画面構成要素を識別が可能となる。
そして、識別装置10では、画面や画面構成要素ごとに、制御対象の画面構成要素の同等性の判定条件を、必ずしも人が作成する必要がないため、作成者の負担を軽減することができる。
また、識別装置10は、見本の画面構造を、制御対象画面構成要素とその祖先および近傍が残るように画面構造をトリミングする。このため、識別装置10によれば、見本の画面構造に含まれる画面構成要素の数を削減でき、識別に要する計算量を低減することができる。
また、識別装置10は、見本の画面構造内において、制御対象画面構成要素と、それに類似する画面構成要素それぞれの祖先や子孫、近傍を比較し、共通する部分、しない部分を求める。これによって、識別装置10は、見本の画面構造に対し、識別結果に影響を及ぼさない部分を特定し、適切にトリミングできる。
そして、識別装置10は、画面データ識別事例蓄積部に蓄積されている同等あるいは非同等の画面データの画面構造と比較し、共通する部分、しない部分を求める。これによって、識別装置10は、見本の画面構造に対し、識別結果に影響を及ぼさない部分を特定し、適切にトリミングできる。
[実施形態のシステム構成について]
図5に示した識別装置10および支援装置20の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、識別装置10および支援装置20の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
図5に示した識別装置10および支援装置20の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、識別装置10および支援装置20の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
また、識別装置10および支援装置20においておこなわれる各処理は、全部または任意の一部が、CPUおよびCPUにより解析実行されるプログラムにて実現されてもよい。また識別装置10および支援装置20においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
[プログラム]
図45は、プログラムが実行されることにより、識別装置10および支援装置20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
図45は、プログラムが実行されることにより、識別装置10および支援装置20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、識別装置10および支援装置20の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、識別装置10および支援装置20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例および運用技術等は全て本発明の範疇に含まれる。
1 識別システム
10 識別装置
11 通信部
12 記憶部
13 制御部
20 支援装置
21 識別処理呼出部
22 画面構成要素制御部
121 処理対象画面データ記憶部
122 識別結果記憶部
123 識別情報記憶部
124 画面属性比較規則記憶部
125 要素属性比較規則記憶部
126 識別事例記憶部
131 識別部
132 トリミング部
1311 処理対象受付部
1312 見本選択部
1313 画面属性比較部
1314 画面構造比較部
1315 識別結果保存部
10 識別装置
11 通信部
12 記憶部
13 制御部
20 支援装置
21 識別処理呼出部
22 画面構成要素制御部
121 処理対象画面データ記憶部
122 識別結果記憶部
123 識別情報記憶部
124 画面属性比較規則記憶部
125 要素属性比較規則記憶部
126 識別事例記憶部
131 識別部
132 トリミング部
1311 処理対象受付部
1312 見本選択部
1313 画面属性比較部
1314 画面構造比較部
1315 識別結果保存部
Claims (8)
- 見本画面データの画面構造中の画面構成要素と、処理対象画面データの画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かを基に、前記見本画面データと前記処理対象画面データとの画面構成要素の同等性を判定する画面構造比較部、
を有することを特徴とする識別装置。 - 前記画面構造比較部は、前記見本画面データの画面構造の画面構成要素全体のうちの前記処理対象画面データの画面構造における画面構成要素に対応付けられる画面構成要素の数による、画面構成要素の対応付け方法の評価が最良となるような共通部分となる要素を抽出し、前記見本画面データの画面構成要素全体のうち、前記処理対象画面データの画面構成要素に対応付けられるものの割合を、所定の閾値と比較し、画面構成要素の同等性を判定することを特徴とする請求項1に記載の識別装置。
- 前記画面構造比較部は、前記見本画面データの画面構造から抽出した制御対象の画面構成要素のうちの前記処理対象画面データの画面構造における画面構成要素に対応付けられる画面構成要素の数、または、操作の対象となった処理対象画面データの画面構成要素であって、前記制御対象の画面構成要素に対応付けられる画面構成要素の数を、前記対応付け方法の評価、または、前記同等性の判断に用いることを特徴とする請求項2に記載の識別装置。
- 前記画面構造比較部は、前記見本画面データの画面構造の画面構成要素に対応付けられた前記処理対象画面データの画面構成要素の一部を削除し、評価が最良となる前記対応付け方法を求める処理を繰り返すことを特徴とする請求項2に記載の識別装置。
- 前記見本画面データの画面構造から、制御対象の画面構成要素、または、該制御対象の画面構成要素の祖先、または、近傍の画面構成要素、のいずれにも該当しない画面構成要素を除去する除去部
をさらに有することを特徴とする請求項1~4のいずれか一つに記載の識別装置。 - 前記見本画面データを記憶する識別情報記憶部と、
前記画面構造比較部による前記見本画面データの画面構造と前記処理対象画面データの画面構造との同等性に対する判定結果を記憶する識別事例記憶部と、
をさらに有し、
前記識別事例記憶部を参照し、前記見本画面データの画面構造と同等あるいは非同等の画面データの画面構造と比較し、前記見本画面データの画面構造から、識別結果に影響を及ぼさない画面構成要素を除去する除去部
をさらに有することを特徴とする請求項1~4のいずれか一つに記載の識別装置。 - 識別装置が実行する識別方法であって、
見本画面データの画面構造中の画面構成要素と、処理対象画面データの画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かを基に、前記見本画面データと前記処理対象画面データとの画面構成要素の同等性を判定する工程、
を含んだことを特徴とする識別方法。 - 見本画面データの画面構造中の画面構成要素と、処理対象画面データの画面構造中の画面構成要素とが、それぞれの画面構造において他の画面構成要素と同様の関係性にあるか否かを基に、前記見本画面データと前記処理対象画面データとの画面構成要素の同等性を判定する工程
をコンピュータに実行させるための識別プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/926,170 US20230195280A1 (en) | 2020-05-29 | 2020-05-29 | Identification device, identification method, and identification program |
JP2022527470A JP7388553B2 (ja) | 2020-05-29 | 2020-05-29 | 識別装置、識別方法および識別プログラム |
PCT/JP2020/021497 WO2021240823A1 (ja) | 2020-05-29 | 2020-05-29 | 識別装置、識別方法および識別プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/021497 WO2021240823A1 (ja) | 2020-05-29 | 2020-05-29 | 識別装置、識別方法および識別プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021240823A1 true WO2021240823A1 (ja) | 2021-12-02 |
Family
ID=78744181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/021497 WO2021240823A1 (ja) | 2020-05-29 | 2020-05-29 | 識別装置、識別方法および識別プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230195280A1 (ja) |
JP (1) | JP7388553B2 (ja) |
WO (1) | WO2021240823A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011181007A (ja) * | 2010-03-03 | 2011-09-15 | Nippon Telegr & Teleph Corp <Ntt> | アプリケーション状態認識方法、装置及びプログラム |
US20120041985A1 (en) * | 2010-08-10 | 2012-02-16 | Christof Engel | Systems and methods for replicating values from multiple interface elements |
JP2013033377A (ja) * | 2011-08-02 | 2013-02-14 | Nippon Telegr & Teleph Corp <Ntt> | 自動操作部品の特定方法およびその装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10417114B2 (en) * | 2017-07-18 | 2019-09-17 | Apple Inc. | Testing tool for testing applications while executing without human interaction |
US11249729B2 (en) * | 2019-10-14 | 2022-02-15 | UiPath Inc. | Providing image and text data for automatic target selection in robotic process automation |
US11442749B2 (en) * | 2019-11-11 | 2022-09-13 | Klarna Bank Ab | Location and extraction of item elements in a user interface |
-
2020
- 2020-05-29 JP JP2022527470A patent/JP7388553B2/ja active Active
- 2020-05-29 WO PCT/JP2020/021497 patent/WO2021240823A1/ja active Application Filing
- 2020-05-29 US US17/926,170 patent/US20230195280A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011181007A (ja) * | 2010-03-03 | 2011-09-15 | Nippon Telegr & Teleph Corp <Ntt> | アプリケーション状態認識方法、装置及びプログラム |
US20120041985A1 (en) * | 2010-08-10 | 2012-02-16 | Christof Engel | Systems and methods for replicating values from multiple interface elements |
JP2013033377A (ja) * | 2011-08-02 | 2013-02-14 | Nippon Telegr & Teleph Corp <Ntt> | 自動操作部品の特定方法およびその装置 |
Also Published As
Publication number | Publication date |
---|---|
JP7388553B2 (ja) | 2023-11-29 |
JPWO2021240823A1 (ja) | 2021-12-02 |
US20230195280A1 (en) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4429236B2 (ja) | 分類ルール作成支援方法 | |
EP1552437B1 (en) | Information extraction using an object based semantic network | |
US7444325B2 (en) | Method and system for information extraction | |
JP4121125B2 (ja) | グラフィックス・イメージ生成装置及びその方法、データ解析装置及びその方法並びにプログラム | |
US7672958B2 (en) | Method and system to identify records that relate to a pre-defined context in a data set | |
JP2000112993A (ja) | 文書分類方法、記憶媒体、文書分類装置及び文書分類システム | |
CN108647276A (zh) | 一种搜索方法 | |
JP2009199102A (ja) | 文字認識プログラム、文字認識装置及び文字認識方法 | |
Wong et al. | Discovery of delta closed patterns and noninduced patterns from sequences | |
CN115827908A (zh) | 用于交互式图像场景图模式搜索和分析的系统和方法 | |
WO2021240823A1 (ja) | 識別装置、識別方法および識別プログラム | |
JP5117589B2 (ja) | 文書分析装置およびプログラム | |
CN116861038A (zh) | 一种基于多平台的消费者数据整合系统及其整合方法 | |
JP2011100208A (ja) | 行動推定装置、行動推定方法および行動推定プログラム | |
WO2011070979A1 (ja) | 辞書作成装置 | |
WO2022259561A1 (ja) | 識別装置、識別方法および識別プログラム | |
JP6568021B2 (ja) | 論理関係認識装置、論理関係認識方法および論理関係認識プログラム | |
WO2017043664A1 (ja) | 情報管理装置並びにファイル管理方法 | |
JP5087518B2 (ja) | 評価装置、及び、コンピュータプログラム | |
JP2006313497A (ja) | 画像検索装置及び画像検索方法 | |
US20140372445A1 (en) | Systems and methods for indexing and linking electronic documents | |
JPWO2020240820A1 (ja) | ファイル管理装置、ファイル管理方法、及びプログラム | |
CN116070596B (zh) | 基于动态数据的pdf文件生成方法、装置及相关介质 | |
JP6616854B2 (ja) | 移行単位分析装置、移行単位分析方法及び移行単位分析プログラム | |
Bezerra et al. | Recent advances in gene expression data clustering: a case study with comparative results |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20937662 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022527470 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20937662 Country of ref document: EP Kind code of ref document: A1 |