WO2013058394A1 - Verification device, verification method, and computer program - Google Patents

Verification device, verification method, and computer program Download PDF

Info

Publication number
WO2013058394A1
WO2013058394A1 PCT/JP2012/077173 JP2012077173W WO2013058394A1 WO 2013058394 A1 WO2013058394 A1 WO 2013058394A1 JP 2012077173 W JP2012077173 W JP 2012077173W WO 2013058394 A1 WO2013058394 A1 WO 2013058394A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
module
functional module
acquired
function module
Prior art date
Application number
PCT/JP2012/077173
Other languages
French (fr)
Japanese (ja)
Inventor
貴之 黒田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2013539719A priority Critical patent/JP6007916B2/en
Publication of WO2013058394A1 publication Critical patent/WO2013058394A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Definitions

  • the present invention relates to a verification technique for various systems using a computer.
  • the system SB introduces a database product DB that meets the requirements of its own system, the system SB can use the system SA. That is, the reusability of the system SA is improved. In this manner, the more the system dependency includes more options (the looser the constraint), the more independent the system, and the more the system can be reused.
  • the dependence of the system is determined by the dependence of the component with the severest restrictions of the dependence among the components which the said system contains.
  • Patent Document 1 and Patent Document 2 describe an example of a mechanism for automatically verifying consistency between requirements of a system and its components.
  • the verification devices described in Patent Document 1 and Patent Document 2 set requirements to be verified and data necessary for the verification in advance in the system and each component. Then, the verification device verifies the requirements based on the data when incorporating the component into the system. If it is determined that the component does not meet the requirements on the system side, the verification device avoids the incorporation. Maintain proper operation of the system.
  • the main object of the present invention is to provide a verification apparatus and a control method therefor, and a computer program capable of easily verifying consistency between system dependencies and dependencies of components constituting the system. To do.
  • one aspect of the present invention is a verification apparatus, Storage means for storing a functional module ID and association information between the functional module ID and another functional module ID; With reference to the storage unit for the specific functional module ID to be verified, when the specific functional module ID is associated with the other functional module ID, the other functional module ID is output. And if not associated, a function management means for outputting information indicating that there is no specific function module ID or association; When the function module ID on which the first system depends is input to the function management unit as the specific function module ID, if at least one of the function module IDs is acquired from the function management unit, the function module ID is acquired.
  • the function module ID is the first set of function module IDs and information indicating that there is no association is acquired from the function management unit
  • the function module ID is input to the function management unit as the specific function module ID.
  • the function module ID thus obtained is set as the first function module ID set
  • the function module ID on which the second system constituting the first system depends is input to the function management unit as the specific function module ID, at least one of the function module IDs is input from the function management unit.
  • the acquired functional module ID is set as the second functional module ID set, while if the information indicating that there is no association is acquired from the functional management unit, the specific functional module
  • the function module ID input to the function management means as an ID is used as the second function module ID set, Verifying means for outputting information indicating matching when the second functional module ID set includes the first functional module ID set; Is provided.
  • Another embodiment of the present invention is a verification method,
  • the function module ID and the association information between the function module ID and another function module ID are stored in a storage unit for storing,
  • the computer refers to the storage unit for a specific functional module ID to be verified, and the specific functional module ID is associated with the other functional module ID, the other functional module ID
  • the other functional module ID On the other hand, if it is not associated, it outputs information indicating that there is no specific functional module ID or association
  • the functional module IDs is acquired when the computer inputs the functional module ID on which the first system depends as the specific functional module ID
  • the acquired functional module ID is On the other hand, when the information indicating that there is no association is obtained while the first functional module ID set, the functional module ID input as the specific functional module is set as the first functional module ID set
  • the acquired functional module ID is On the other hand, when information indicating that there is no association is obtained while the first functional module ID set, the functional module ID input as the specific functional module is set as the first functional module ID set,
  • the computer When the second functional module ID set includes the first functional module ID set, the computer outputs information indicating matching.
  • This object can also be achieved by a computer program that implements the verification apparatus or the verification method having the above configuration by a computer, and a computer-readable storage medium that stores the computer program.
  • the present invention it is possible to provide a verification device or the like that can easily verify the consistency between the dependency of a system and the dependency of components constituting the system.
  • FIG. 1 is a block diagram showing a configuration example of a verification apparatus 100 according to the first embodiment for implementing the present invention.
  • FIG. 2 is an example of configuration information managed by the configuration management unit 102 according to the first embodiment that implements the present invention.
  • FIG. 3 is an example of a configuration information change request according to the first embodiment for carrying out the present invention.
  • FIG. 4 is an example of a configuration information acquisition request according to the first embodiment for carrying out the present invention.
  • FIG. 5 is an example of function information managed by the function management unit 103 according to the first embodiment that implements the present invention.
  • FIG. 6 is an example of a function information acquisition request according to the first embodiment for carrying out the present invention.
  • FIG. 7 is an example of a verification request according to the first embodiment for carrying out the present invention.
  • FIG. 1 is a block diagram showing a configuration example of a verification apparatus 100 according to the first embodiment for implementing the present invention.
  • FIG. 2 is an example of configuration information managed by the configuration management unit 102 according to the
  • FIG. 10 is a flowchart showing an operation of a requirement definition process for the configuration management unit 102 in the first embodiment for implementing the present invention.
  • FIG. 9 is a flowchart showing an example of the verification processing operation of the verification unit 101 according to the first embodiment of the present invention.
  • FIG. 10 is an example of function information managed by the function management unit 103 according to the second embodiment that implements the present invention.
  • FIG. 11 is an example of configuration information managed by the configuration management unit 102 according to the third embodiment that implements the present invention.
  • FIG. 12 is an example of function information managed by the function management unit 103 according to the third embodiment that implements the present invention.
  • FIG. 13 is an example of a function information acquisition request according to the third embodiment for implementing the present invention.
  • FIG. 10 is a flowchart showing an operation of a requirement definition process for the configuration management unit 102 in the first embodiment for implementing the present invention.
  • FIG. 9 is a flowchart showing an example of the verification processing operation of the verification unit 101 according to
  • FIG. 14 is a block diagram illustrating a configuration example of the verification apparatus 100 according to the fourth embodiment that implements the present invention.
  • FIG. 15 is an example of function resolution information managed by the function resolution unit 401 according to the fourth embodiment that implements the present invention.
  • FIG. 16 is an example of configuration information managed by the configuration management unit 102 according to the fourth embodiment that implements the present invention.
  • FIG. 17 is an example of external configuration information referred to by the configuration management unit 102 according to the fourth embodiment that implements the present invention.
  • FIG. 18 is an example of resolvable format information managed by the function resolution unit 401 according to the fourth embodiment that implements the present invention.
  • FIG. 19 is an example of a function information acquisition request according to the fourth embodiment for implementing the present invention.
  • FIG. 15 is an example of function resolution information managed by the function resolution unit 401 according to the fourth embodiment that implements the present invention.
  • FIG. 16 is an example of configuration information managed by the configuration management unit 102 according to the fourth embodiment that implements the present invention.
  • FIG. 20 is a flowchart illustrating an operation example of the function information acquisition process of the function management unit 103 according to the fourth embodiment of the present invention.
  • FIG. 21 is a block diagram illustrating a configuration example of the verification apparatus 100 according to the fifth embodiment of this invention.
  • FIG. 22 is a block diagram illustrating the configuration of an information processing apparatus to which each embodiment of the present invention can be applied.
  • each part which comprises the apparatus etc. which concern on each embodiment demonstrated below is comprised by hardware, such as a logic circuit.
  • the respective units can be realized by an information processing apparatus (computer) 10 having a general configuration illustrated in FIG. That is, the present invention, which will be described by taking each of the embodiments as an example, includes a storage unit 14 such as a hard disk that stores a control unit, a memory 12, and a computer program (hereinafter simply referred to as “program”) 15 constituting the computer.
  • program hereinafter simply referred to as “program”
  • the control unit includes a CPU (Central Processing Unit) 11 and the like, and by executing the program 15 under the management of an OS (Operating System) that operates on the CPU, the apparatus according to each of the embodiments And the like, and the entire apparatus is controlled.
  • the control unit may read a program or data from the recording medium 17 mounted on the drive device 16 or the like to the memory 12 and execute various processes according to the program or data.
  • the recording medium 17 is, for example, an optical disk, a flexible disk, a magnetic optical disk, an external hard disk, a semiconductor memory, or the like, and records the program so that the computer can read it.
  • the program may be obtained from an external computer (not shown) or the like that is communicably connected to the communication network 20.
  • FIG. 1 is a block diagram showing a configuration example of a verification apparatus 100 according to the first embodiment for implementing the present invention. As shown in FIG.
  • the verification device 100 includes a front end 105, a verification unit 101, a configuration management unit 102, a function management unit 103, and a storage device 104.
  • the front end 105 is communicably connected to the input / output device 110 via a wired or wireless communication line such as a communication network (20).
  • the input / output device 110 is a device external to the verification device 100 that is used by a user to input and output information. Note that the input / output device 110 may be provided inside the verification device 100.
  • the verification unit 101 receives a verification request input from the input / output device 110 by the user via the front end 105.
  • the verification unit 101 is based on configuration information obtained from the configuration management unit 102 to be described later and functional information obtained from the function management unit 103 to be described later. Verify the consistency with the dependency of the components that make up the functional module. The operation of the verification unit 101 will be described later.
  • the storage device 104 stores information (configuration information, see FIG. 2) representing components of the system and components constituting the system, and function information (see FIG. 5) described later.
  • the configuration management unit 102 manages configuration information stored in the storage device 104.
  • FIG. 2 is an example of configuration information managed by the configuration management unit 102 according to the first embodiment that implements the present invention. In the example shown in FIG.
  • the configuration information is described in an XML (Extensible Markup Language) format, but the format of the configuration information according to the present invention that is described by taking this embodiment as an example is not particularly limited.
  • System configuration information is described by a system tag.
  • the ID (Identification) of the system is defined by the attribute “id” of the tag “system”.
  • two systems, system A and system B are defined.
  • a component constituting the system is described by a tag “component” corresponding to a child element of a tag “system” defining the system.
  • the ID of the component is defined by the attribute “name” of the tag “component”.
  • the component of system A is defined as system B.
  • the functional module on which the system and its components depend is described by a tag “dependency” that is a child element of the tag “system” that defines the system or component.
  • An ID (functional module ID) for identifying each of one or more functional modules on which the system or component depends is defined by an attribute “name” of the tag “dependency”.
  • the function module ID on which the system B shown in FIG. 2 depends is “mysql”.
  • the function module ID on which the system A depends is “rdb”.
  • the “rdb” defined by the attribute “name” of the tag “dependency” of the system A in FIG. 2 includes three function module IDs “mysql”, “postresql”, and “oracle”, as shown in FIG. Associated (this association will be described later).
  • the configuration management unit 102 receives a configuration information change request input by the user via the input / output device 110 via the front end 105, and updates the configuration information according to the content of the request.
  • the configuration information change request is, for example, a specific system addition request, update request, deletion request, or the like.
  • the request content includes, for example, a request type related to the system and content related to the request target, as shown in FIG. In the example shown in FIG. 3, the request type is shown in the first line of the configuration change request, and the target of the request is shown in the second and subsequent lines.
  • “create” indicates that the request is an additional request for the system, and the following description indicates configuration information of the system to be added. ing.
  • the configuration management unit 102 receives the configuration information acquisition request from the verification unit 101, and returns configuration information regarding the system specified in the request and the components constituting the system.
  • the configuration information acquisition request includes information indicating a configuration information acquisition request and information indicating a target system for which the user wants to acquire configuration information. For example, “getcomp” on the first line in FIG.
  • the storage device 104 stores functional information (see FIG. 5) that includes functional module IDs, functional module IDs, and association information with other functional module IDs.
  • the function management unit 103 manages function information.
  • FIG. 5 is an example of function information managed by the function management unit 103.
  • the functional module ID is shown, and when another functional module is associated with the functional module, the associated other functional module is displayed in parentheses on the right side of the functional module. It is described collectively.
  • FIG. 5 is an example of function information managed by the function management unit 103.
  • the functional module ID is shown, and when another functional module is associated with the functional module, the associated other functional module is displayed in parentheses on the right side of the functional module. It is described collectively.
  • FIG. 5 is an example of function information managed by the function management unit 103.
  • the functional module ID is shown, and when another functional module is associated with the functional module, the associated other functional module is displayed in parentheses on the right side of the functional module. It is described collectively.
  • the system when the function module ID is not associated with another function module ID, the system is expressed as having a dependency on the function module indicated by the function module ID.
  • the function module ID when the function module ID is associated with another function module ID, the system is expressed as having a dependency on one of the function modules indicated by the other function module ID.
  • the system is expressed as having a dependency on the functional module ⁇ , ⁇ , or ⁇ (the dependency requirement of the system is also referred to as ⁇ , ⁇ , ⁇ ).
  • the dependency will be described.
  • the system has dependencies on the function modules ⁇ , ⁇ , and ⁇ (that is, when the system dependency requirement is ⁇ , ⁇ , and ⁇ ), at least one of the function modules ⁇ , ⁇ , and ⁇ If present, it means that the system is available. That is, as the number of functional modules having dependencies increases, the system constraints are relaxed. For example, the constraint condition is relaxed such that the dependency of the system SA can be used if either the database product DA or the database product DB exists, rather than only the database product DA. Therefore, the looser the dependency requirement includes many options, the more the system becomes more independent, and the more the system can be reused.
  • the function management unit 103 accepts the function information acquisition request from the verification unit 101, and returns the function module ID itself when the function module ID specified in the request is not associated with another function module ID. On the other hand, when another function module is associated with the function module ID, the function management unit 103 returns the other function module ID (associated function module ID). Here, if the function module ID is not associated with another function module ID, the function management unit 103 may return information indicating that there is no association.
  • the function information acquisition request includes information indicating a function information acquisition request and a function module ID. For example, “getfunc” on the first line in FIG. 6 indicates that the request is a function information acquisition request, and the description on the second line indicates the function module ID to be acquired.
  • the function information returned by the function management unit 103 is the function module ID specified in the request or the associated function module ID. That is, when the function module ID specified in the function information acquisition request is a function module ID for which no association is defined in the storage device 104, the function management unit 103 returns the function module ID itself. Note that the function management unit 103 may return information indicating that the association is not performed. When the functional module ID specified in the request is a functional module ID whose association is defined with another functional module ID in the storage device 104, the function management unit 103 displays all the associated functional modules. An ID (associated function module ID) is returned.
  • the verification unit 101 receives a verification request from the user via the front end 105, and based on the configuration information obtained from the configuration management unit 102 and the functional module ID obtained from the function management unit 103, Verify the consistency of consistency of the system and its components with respect to functional modules. Verification processing for performing such verification will be described later.
  • the verification request includes information indicating that the request is a verification request and an ID indicating the system to be verified.
  • FIG. 7 shows an example of the verification request. “Validate” on the first line in FIG. 7 indicates that the request is a verification request, and the description on the second line indicates the ID of the system to be verified.
  • FIG. 8 is a flowchart illustrating an operation example of the requirement definition processing for the configuration management unit 102 according to the first embodiment of this invention.
  • the front end 105 checks the content of the first line indicating the type of the request, and this content is a configuration information change request (see FIG. 3). If it is any one of “create”, “update”, and “delete” indicating this, the request is transmitted to the configuration management unit 102 (step S101).
  • the configuration management unit 102 changes the configuration information according to the type of the request (step S102).
  • the configuration management unit 102 adds system configuration information described in the second and subsequent lines of the request. If the request type is “update”, that is, update, the configuration management unit 102 uses a system having the same ID as the ID according to the system configuration information and the ID described in the second and subsequent lines of the request. Update the configuration information. If the request type is “delete”, that is, deletion, the configuration management unit 102 deletes the configuration information of the system having the same ID as the ID according to the system ID described in the second line of the request. To do. Finally, the configuration management unit 102 outputs the configuration information change result to the input / output device 110 via the front end 105 (step S103).
  • the change result of the configuration information is, for example, information such as a symbol indicating that the change process has been completed and the content of the change.
  • FIG. 9 is a flowchart showing an operation example of the verification process of the verification unit 101 according to the first embodiment of the present invention.
  • the front end 105 receives an input of a request from the input / output device 110, the front end 105 checks the content of the first line indicating the type of the request, and if the content is “validate” indicating that the request is a verification request, the front end 105 The request is transmitted to the verification unit 101 (step S104).
  • the verification unit 101 Upon receipt of the verification request (see FIG. 7), the verification unit 101 starts verification with the system having the ID described in the second line of the request as the verification target system.
  • the verification unit 101 first transmits a configuration information acquisition request (see FIG. 4) including the ID of the system to the configuration management unit 102, and acquires configuration information of the system and all its components from the configuration management unit 102 (see FIG. 4). Step S105). At this time, the configuration management unit 102 first acquires the configuration information of the system having the ID described in the configuration information acquisition request. Subsequently, the configuration management unit 102 recursively acquires configuration information of components that constitute the system, and transmits all the acquired configuration information to the verification unit 101.
  • recursive means that if the component includes another component, the configuration information of the included component is also acquired.
  • the configuration management unit 102 can acquire the configuration information of the components constituting a certain system based on the IDs described in the attribute “name” of all the tags “component” in the system. For example, it is assumed that the configuration management unit 102 acquires a configuration information acquisition request from the verification unit 101 for the system whose ID is A as illustrated in FIG. In this case, for example, if the configuration information shown in FIG. 2 exists in the storage device 104, the configuration management unit 102 transmits the two configuration information of the system A and its component B to the verification unit 101. Next, the verification unit 101 acquires the function module ID described in the attribute “name” of the tag “dependency” in the system configuration information from the acquired configuration information, and acquires a function information acquisition request including the ID (FIG. 6).
  • the verification unit 101 acquires the function module ID described in the attribute “name” of the tag “dependency” in the configuration information of the system component, and acquires a function information acquisition request including the ID (see the lower side in FIG. 6). Is transmitted to the function management unit 103. Then, the verification unit 101 performs functional management on the functional module ID (first functional module ID set) on which the verification target system depends and the ID of the functional module (second functional module ID set) on which the component depends. Obtained from the unit 103 (step S106). For example, it is assumed that the verification unit 101 obtains the configuration information illustrated in FIG. 2 from the configuration management unit 102.
  • the verification unit 101 transmits a function information acquisition request including “rdb” to the function management unit 103 in order to acquire the function module ID (first function module ID set) on which the system A depends (FIG. 1). 6 upper reference). Further, the verification unit 101 acquires a function information acquisition request including “mysql” in order to acquire a function module ID (second function module ID set) on which the system B, which is a component of the system A, depends. Reference) is transmitted to the function management unit 103. Then, the function management unit 103 that has acquired these function information acquisition requests from the verification unit 101 refers to the storage device 104 and sets “mysql” associated with the function module ID of “rdb” as the first function module ID set.
  • Three functional module IDs “,“ postgresql ”, and“ oracle ” are transmitted to the verification unit 101, and at the same time, the ID of the“ mysql ”functional module that is the second functional module ID set is transmitted to the verification unit 101 ( (See FIG. 5).
  • the function management unit 103 may transmit information indicating that there is no association to the verification unit 101 instead of the ID of the “mysql” function module.
  • the verification unit 101 checks the consistency between the system and its components based on the acquired functional module ID (step S107).
  • the second functional module ID set includes the first functional module ID set
  • the verification unit 101 outputs information indicating matching to the input / output device 110.
  • the verification unit 101 may output information indicating inconsistency to the input / output device 101. Also, if the second functional module ID set is a true subset other than the empty set of the first functional module ID set, it is determined that there is a mismatch and information indicating that it is mismatched is entered. You may output to the output device 110. As a result of transmitting the function information acquisition request including the function module ID depending on the system to the function management unit 103, the verification unit 101 acquires information indicating that the function module ID is not associated from the function management unit 103. In this case, the functional module ID itself is included in the first functional module ID set.
  • the verification unit 101 transmits, to the function management unit 103, a function information acquisition request including a function module ID on which a component constituting the system depends, and as a result, information indicating that there is no association with the function module ID.
  • the function module ID itself is included in the second function module ID set.
  • the verification unit 101 When it depends on “′′,” oracle ”> (that is, when the second functional module ID set is“ mysql ”,“ postgresql ”,“ oracle ”), the verification unit 101 enters information indicating matching. Output to the output device 101. Also, when a certain system depends on ⁇ "mysql”, “postgresql”, “oracle”>, the components are ⁇ "mysql”>, ⁇ "postgres">, ⁇ "oracle”>, ⁇ "mysql”.
  • the verification unit 101 does not. Judged to be consistent. The reason will be described using a specific example. For example, an example will be described in which a certain system depends on ⁇ “mysql”, “postgresql”, “oracle”>, and components constituting the system depend on ⁇ “mysql”, “postgresql”>.
  • a system depends on ⁇ “mysql”, “postgresql”, “oracle”>, the system can be used with any of the function modules “mysql”, “postgresql”, and “oracle”. If the component depends on ⁇ “mysql”, “postgresql”>, the component can be used if any of the functional modules “mysql” or “postgresql” is provided. Therefore, even if “oracle” which is another functional module exists, the component is not available. As a result, even if a “module” functional module exists, the component cannot be used, and thus the system including the component cannot be used.
  • the verification unit 101 determines that the system dependency requirement and the component dependency requirement are inconsistent. If the dependency requirement of the system or component is an empty set, it means that there is no dependency requirement. Therefore, the system or component does not depend on any functional module, which is inconsistent. There is nothing. Therefore, if the system dependency requirement is an empty set, the verification unit 101 determines that the system is consistent.
  • the dependency requirement is an empty set because the system or component has no dependency.
  • the verification unit 101 transmits the verification result to the user terminal 110 via the front end 105 (step S108).
  • the verification result only needs to include information such as a symbol indicating matching or mismatching.
  • the verification unit 101 may add detailed information such as an ID indicating a functional module on which the system depends on the cause of the mismatch or an ID of a component dependent on the functional module to the verification result. According to the present embodiment, it is possible to easily verify the consistency between the system dependency and the component dependency.
  • ⁇ Second Embodiment> [Description of configuration] Next, a second embodiment of the present invention will be described. Elements similar to those in the first embodiment are denoted by the same reference numerals as those in FIG. 1, and detailed description thereof is omitted.
  • FIG. 10 is an example of function information managed by the function management unit 103 according to the second embodiment of this invention.
  • the function information indicates the function module ID and information for associating the function module with another function module, as in the first embodiment, but the associated function module ID is further different.
  • the configuration of being associated with the functional module ID is different from that of the first embodiment.
  • “db” is associated with “rdb”
  • “kvs” is associated with “mysql”, “postgresql”, “oracle”
  • “kvs” is “simpledb”, “ associated with coachdb ".
  • db includes “rdb” and “kvs”
  • rdb includes “mysql”, “postgresql”, and “oracle”
  • kvs includes “simpledb” and “couchdb”. It can also be understood as a set relationship (or tree structure) that includes.
  • step S106 the configuration in which the function management unit 103 recursively searches the function module ID association information and collects the associated function module IDs is different from the first embodiment.
  • “recursively search and collect associated function module IDs” means that when another function module ID is associated with a certain function module ID, the other function module ID is further When the function module ID is associated with another function module ID, the associated function modules are sequentially searched to obtain all the function module IDs associated with a certain function module ID. That is, when the function management unit 103 receives a function information acquisition request from the verification unit 101, the function management unit 103 searches for another function module ID associated with the function module ID specified in the request.
  • the function management unit 103 searches for the further associated function module ID and further associates the function module ID.
  • the function module ID end point function module ID
  • the function management unit 103 returns the function module IDs to the verification unit 101, and the verification unit 101 acquires these pieces of information.
  • the operation when the function information shown in FIG. 10 exists in the storage device 104 and the function management unit 103 receives a function information acquisition request regarding “db” will be described.
  • the function management unit 103 first searches for “db” to find the definition of “db (rdb, kvs)” in the storage device 104, and is enclosed in parentheses on the right side of “db”. Since there is a set of associated functional module IDs, the functional module IDs are searched recursively. Since “rdb” and “kvs”, which are elements of “db”, have function module IDs associated with each other, the function management unit 103 sets “mysql”, “postgresql”, and “oracle”, respectively. “Simpledb” and “couchdb” are obtained from the storage device 104.
  • the function management unit 103 When the function management unit 103 further recursively searches for these function module IDs, the function management unit 103 recognizes that no further associated IDs are found. Therefore, the function management unit 103 returns “mysql”, “postgresql”, “oracle”, “simpledb”, and “couchdb” to the verification unit 101. According to this embodiment, dependency requirements related to many functional modules can be expressed more easily and efficiently. Therefore, consistency between the system related to the dependency requirements and the components constituting the system is improved. Verification work can be made more efficient.
  • FIG. 11 is an example of configuration information managed by the configuration management unit 102 according to the third embodiment that implements the present invention. As shown in the example of FIG.
  • the configuration information in the present embodiment is different from the configuration information in the first embodiment in that an attribute can be added to the part for specifying the dependency.
  • “rdb” is specified as the function module ID on which the system A depends
  • “oss” is added as the attribute “attribute”.
  • FIG. 12 is an example of function information managed by the function management unit 103 according to the third embodiment.
  • the functional information in the present embodiment is different from the functional information in the first embodiment in that the user can add an attribute to each functional module ID.
  • FIG. 13 is an example of a function information acquisition request according to the third embodiment.
  • the function information acquisition request received by the function management unit 103 in this embodiment is configured such that an attribute can be added to the function module ID indicating the acquisition target. Different from information acquisition request.
  • the function module ID to be acquired is “rdb”, and “oss” is added as the attribute “attribute”.
  • step S106 the function management unit 103 verifies only the function module IDs whose attributes match, as well as the acquisition target function module IDs included in the function information acquisition request. The configuration of replying to is different from that of the first embodiment.
  • the function management unit 103 when the function management unit 103 receives the function information acquisition request from the verification unit 101, all the function module IDs associated with the ID are based on the function module ID specified in the request. Search for. Subsequently, when an attribute is specified in the request, the function management unit 103 extracts only the function module ID to which the same attribute is added from the function module IDs found by the search. This is the function module ID that finally responds.
  • a description will be given of an operation example when the function information shown in FIG. 12 exists in the function management unit 103 and the function management unit 103 receives the function information acquisition request shown in FIG.
  • FIG. 14 is a block diagram illustrating a configuration example of the verification apparatus 100 according to the fourth embodiment that implements the present invention. As illustrated in FIG.
  • the verification apparatus 100 relates to a function resolution unit 401 that associates an ID (external system ID) in a specific ID system with a function module ID in the function information. Is different from the first embodiment. Also, the configuration of including a file processing module group 402 for extracting the external system ID included in the file from a specific format file is different from that of the first embodiment. Elements similar to those in the first embodiment are denoted by the same symbols as those in FIG. 1 and detailed description thereof is omitted.
  • the storage device 104 records function solution information.
  • the function resolution information is information that associates an ID (external system ID) in the specific ID system with the function module ID managed by the function management unit 103.
  • the function resolution information is managed by the function resolution unit 401.
  • the function resolution unit 401 is communicably connected to the function management unit 103 and the storage device 104.
  • FIG. 15 is an example of function resolution information managed by the function resolution unit 401.
  • an external system ID in a certain ID system is described in a tag “aliases”, and information indicating the ID system is described by an attribute “type” of the tag.
  • a plurality of tags “alias” are listed in the tag “aliases”, and each tag “alias” describes information that associates an external system ID and a functional module ID in the ID system.
  • an external system ID in the ID system is described in the attribute “name”, and a function module ID associated with the external system ID is described in the attribute “value” in the tag.
  • a function module ID associated with the external system ID is described in the attribute “value” in the tag.
  • information for associating an external system ID and a functional module ID in the “maven” ID system is described by an attribute “type” of the tag “aliases”.
  • mysql: mysql-connector-java: 5.1.17 and the function module ID “mysql” in the ID system of “maven” by the tag “alias” in the tag “aliases”.
  • “Is associated with the symbol” ".
  • FIG. 16 is an example of configuration information managed by the configuration management unit 102 according to the fourth embodiment
  • FIG. 17 is stored in an external storage device or the like referenced by the configuration management unit 102 according to the fourth embodiment.
  • It is an example of the made external file.
  • it is possible to define information related to the dependency requirements of the system and its components by referring to an external file.
  • the configuration information shown in FIG. 16 when the dependency of the system B is defined by reference to an external file, the position information of the external file is specified by a ref attribute in the tag “dependency”, and the format of the file Is specified by the attribute “type”. That is, in the configuration information shown in FIG.
  • the dependency of the system B is defined by an external file specified by “/xxx/xxx/pom.xml”, and the file format (external file format name) is the format “maven”. ".
  • the name indicating the ID system and the format name of the external file are associated with each other and have the same name, but they may not be the same.
  • FIG. 17 illustrates the contents of the external file.
  • the “maven” file “pom.xml” the dependency on the module is described by the tag “dependencies”, and the information of each dependency is described by the tag “dependency”.
  • the tag “dependency” includes a tag “groupId”, a tag “artifactId”, a tag “version”, and the like.
  • the dependency is defined by at least these three pieces of information (tag “groupId”, tag “artifactId”, and tag “version”).
  • groupId is defined as “mysql”
  • artifactId is defined as “mysql-connector-java”
  • version is defined as “5.1.17”.
  • the format of the external file that can be resolved by the function resolution unit 401 is managed by the function resolution unit 401 as resolvable format information and recorded in the storage device 104.
  • FIG. 18 is an example of resolvable format information managed by the function resolution unit 401 according to the fourth embodiment. The resolvable format information illustrated in FIG.
  • FIG. 18 includes two items: the format name of the external file and the name (module name) of the processing module that extracts the external system ID from the file in the format indicated by the format name of the external file. Tabular information consisting of is recorded.
  • module 1 can extract an external system ID from an external file of the format “maven” (format “maven” can be solved by module 1).
  • the processing module may be incorporated by a user or the like in a state that can be called from the function resolution unit 401 as a plug-in for each format.
  • FIG. 19 is an example of a function information acquisition request according to the fourth embodiment for implementing the present invention.
  • the function information acquisition request in the present embodiment includes, for example, the location information of the external file to be referenced instead of the function module ID to be acquired and the format name of the external file.
  • the format name of the external file and the position of the file are described by being separated by “:”.
  • “maven” is designated as the format name of the external file
  • “/xxx/xxx/pom.xml” is designated as the file position.
  • the function management unit 103 acquires function information using the function resolution unit 401 based on the above-described external file format name and file position information.
  • FIG. 20 is a flowchart illustrating an operation example of the function information acquisition process of the function management unit 103 according to the fourth embodiment.
  • the verification unit 101 according to the present embodiment performs the function module ID acquisition process illustrated in FIG. 20 for the information described in the tag “dependency” in the configuration information acquired from the configuration management unit 102 during the verification process. To do. First, the verification unit 101 confirms the content of the tag “dependency” and determines whether an external file is referenced within the tag “dependency” (step S401).
  • the verification unit 101 sets the format name and attribute “ref” of the external file specified in the attribute “type” of the tag “dependency”.
  • the position of the described external file is acquired, and a function information acquisition request (see FIG. 19) including these pieces of information is transmitted to the function management unit 103 (step S404).
  • the format name of the external file specified in the attribute “type” of the tag “dependency” is “maven”
  • the position of the external file described in the attribute “ref” is “/ xxx / xxx”. /Pom.xml ". Further, as shown in FIG.
  • the function information acquisition request including these pieces of information indicates that the request is a function information acquisition request by “getfunc” on the first line, and the symbol “:” on the second line that follows.
  • the format name of the external file is before the symbol, and the position information of the external file is after the symbol “:”.
  • the function management unit 103 determines whether “:” is included in the received function information acquisition request. If included, the function management unit 103 transfers the function information acquisition request to the function resolution unit 401 (step S405).
  • the function resolution unit 401 extracts the part before the symbol “:” as the format name of the external file, and extracts the part after the symbol “:” as the position information of the external file.
  • the function resolution unit 401 acquires an external file (see FIG.
  • the function resolution unit 401 identifies processing modules in the file processing module group 402 corresponding to the format name of the external file by referring to the resolvable format information (see FIG. 18). Then, the function resolution unit 401 acquires the external system ID based on the system of the format by processing the acquired external file in the specified processing module (step S406). For example, consider a case in which the function information acquisition request shown in FIG. 19 is transmitted from the verification unit 101 to the function management unit 103, and the external file shown in FIG. 17 and the resolvable format information shown in FIG.
  • the function management unit 103 first acquires “maven” as the external file format name and “/xxx/xxx/pom.xml” as the external file position information.
  • the function management unit 103 acquires the external file shown in FIG.
  • the function management unit 103 identifies that the processing module corresponding to “maven” is “module 1” by referring to the resolvable format information shown in FIG. Send to.
  • the module 1 is implemented with a process for extracting an external system ID in “maven” from a file having the format “maven”.
  • the module 1 acquires the information described by the tags “groupId”, “artifactId”, and “version” from the file shown in FIG.
  • the function resolution unit 401 refers to the function resolution information (see FIG. 15), and the function corresponding to the function information managed by the function management unit 103 using the external system ID acquired by the module in the file processing module group 402.
  • the module ID is converted to the module ID, and the function module ID obtained by the conversion is transmitted to the function management unit 103 (step S407).
  • the function management unit 103 acquires the acquired function module ID or the function module ID associated with the function module ID.
  • the function management unit 103 transmits these function module IDs to the verification unit 101.
  • the verification unit 101 acquires the functional module ID on which the verification target system and its components depend from the function management unit 103 (step S403).
  • the subsequent operation is the same as the function information acquisition process (step S106) in the first embodiment. is there. That is, the verification unit 101 acquires the function module ID described in the attribute “name” of the tag “dependency”, and transmits a function information acquisition request including the function module ID to the function management unit 103 (step S402).
  • the verification unit 101 acquires the functional module ID on which the verification target system and its components depend from the function management unit 103 (step S403).
  • the function resolution unit 401 converts the external system ID into the functional module ID.
  • a module in the file processing module group 402 may directly convert an external system ID into a functional module ID by referring to the function resolution information.
  • the function solution information may be stored not in the storage unit 104 but in an external storage unit (not shown). According to the present embodiment, even if the system of ID that defines the dependency described in the configuration information of the system or component is different from the system of functional module ID in the function information, the system and component Verification of the consistency of dependency requirements between Further, according to the present embodiment, it is possible to achieve flexibility in description of ID.
  • the verification device 100 includes a storage device 104, a function management unit 103, and a verification unit 101.
  • the storage device 104 stores functional module IDs and association information between functional module IDs and other functional module IDs.
  • the function management unit 103 acquires a function module ID (a specific function module ID to be verified) input from the outside.
  • the ID or information including the ID is input from the verification unit 101, for example.
  • the function management unit 103 refers to the storage device 104, and extracts another function module ID and outputs it to the verification unit 101 when another function module is associated with the function module ID. In addition, when the input function module ID is not associated with another function module ID, the function management unit 103 verifies the input function module ID itself or information indicating that there is no association. 101.
  • the verification unit 101 inputs a function module ID corresponding to each of one or more function modules on which the system depends to the function management unit 103. As a result, the verification unit 101 acquires information indicating that there is no functional module ID or association from the function management unit 103. When the verification unit 101 acquires the functional module ID, it is set as a first functional module set.
  • the function module ID input to the function management unit 103 is set as the first function module set. That is, the verification unit 101 sets a set of functional module IDs on which the system depends as a first functional module set. The verification unit 101 inputs a function module ID corresponding to each of one or more function modules on which components constituting the system depend, to the function management unit 103. As a result, the verification unit 101 acquires information indicating that there is no functional module ID or association from the function management unit 103. When the verification unit 101 acquires the functional module ID, it is set as the second functional module set.
  • the function module ID input to the function management unit 103 is set as the second function module set. That is, the verification unit 101 sets a set of functional module IDs on which components depend as a second functional module set.
  • the verification unit 101 outputs information indicating matching to the input / output device 101 or the like. In other cases, the verification unit 101 may output information indicating inconsistency to the input / output device 101.
  • the verification unit 101 also displays information indicating that the second functional module ID set acquired from the function management unit 103 is inconsistent when the second functional module ID set is a true subset that is not an empty set of the first functional module ID set.

Abstract

Disclosed is a verification device that can easily verify consistency between dependencies of a system and dependencies of components constituting such a system. The verification device determines consistency by verifying a containment relationship between a group of function modules that a first system is dependent on and a group of function modules that a second system constituting the first system is dependent on.

Description

検証装置、検証方法、並びにコンピュータ・プログラムVerification device, verification method, and computer program
 本発明は、コンピュータを利用した各種システムの検証技術に関する。 The present invention relates to a verification technique for various systems using a computer.
 コンピュータを利用した各種システムの再利用性を高めるためには、当該システムの稼動に必須となる特定の環境やミドルウェアや機能モジュールなどに対する当該システムの依存性を極力排除し、これにより当該システムの独立性を高めることが有効である。
 例えば、あるシステムSAが特定のデータベース製品DAに依存している場合、他のシステムSBがシステムSAを再利用するためには、データベース製品DAも併せて導入する必要がある。この場合、データベース製品DAが高額な商用製品であったり、多くのメモリリソースを必要とする場合、システムSBがシステムSAを利用することは困難となる。
 あるいは、システムSBが別のデータベース製品DBを利用しており、構造上データベース製品DAとデータベース製品DBを共存させられないなどの事情が存在する場合には、システムSBがシステムSAを利用することは困難となる。
 ここで、システムSAの依存性をデータベース製品DAに限定せず、データベース製品DAまたはデータベース製品DBのいずれかが存在すればよい、というようにその制約条件を緩和した場合を考える。この場合、システムSBが自システムの要件に沿ったデータベース製品DBを導入すれば、システムSBはシステムSAを利用することができる。すなわち、システムSAの再利用性が向上する。
 この様に、システムの依存性が多くの選択肢を含む(緩い制約条件である)ほど、当該システムの独立性は向上するので、当該システムの再利用性は向上する。
 ところで、システムがいくつかのコンポーネントから構成される場合、そのシステムの依存性は、当該システムが含むコンポーネントのうち、その依存性の制約条件が最も厳しいコンポーネントの依存性によって決定される。
 例えば、利用者等が、あるシステムSCが任意のデータベース製品によって動作可能となることを期待していたとしても、システムSCに含まれるコンポーネントCCが特定のデータベース製品DCに依存していた場合、結果的にシステムSCはデータベース製品DCに依存することとなる。
 そのため、利用者等が、このようなシステムの独立性と再利用性とを高めるためにその依存性の制約条件を緩い状態に維持しようとする場合、当該システムの依存性と、当該システムに含まれる各コンポーネントの依存性との整合性を確認する作業、すなわち整合性の検証が必要となる。
 とりわけ多くのコンポーネントから構成されるシステムの開発においては、この検証作業は困難となるため、これを容易化する仕組みの提供が望まれる。
 特許文献1及び特許文献2には、システムとそのコンポーネントのそれぞれが持つ要件間の整合性を自動的に検証する仕組みの一例が記載されている。特許文献1及び特許文献2に記載の検証装置は、検証する要件および検証に必要なデータをシステムや各コンポーネントに予め設定しておく。そして、検証装置は、コンポーネントをシステムに組み込む際に当該データに基づく要件の検証を実施し、システム側の要件に合致しないコンポーネントであると判断された場合、当該検証装置は、組み込みを避けることで、システムの適切な動作を維持する。
In order to improve the reusability of various systems using computers, the dependence of the system on the specific environment, middleware and functional modules that are essential for the operation of the system is eliminated as much as possible. It is effective to increase the sex.
For example, when a certain system SA depends on a specific database product DA, in order for another system SB to reuse the system SA, it is necessary to install the database product DA together. In this case, when the database product DA is an expensive commercial product or requires a lot of memory resources, it is difficult for the system SB to use the system SA.
Alternatively, when the system SB uses another database product DB and there is a situation where the database product DA and the database product DB cannot coexist due to the structure, the system SB may use the system SA. It becomes difficult.
Here, let us consider a case where the constraint condition is relaxed such that the dependency of the system SA is not limited to the database product DA, but only the database product DA or the database product DB exists. In this case, if the system SB introduces a database product DB that meets the requirements of its own system, the system SB can use the system SA. That is, the reusability of the system SA is improved.
In this manner, the more the system dependency includes more options (the looser the constraint), the more independent the system, and the more the system can be reused.
By the way, when a system is comprised from several components, the dependence of the system is determined by the dependence of the component with the severest restrictions of the dependence among the components which the said system contains.
For example, even if a user or the like expects that a certain system SC can be operated by an arbitrary database product, if the component CC included in the system SC depends on a specific database product DC, the result Therefore, the system SC depends on the database product DC.
Therefore, when a user or the like tries to maintain the dependency constraint condition in a loose state in order to increase the independence and reusability of such a system, the dependency of the system and It is necessary to check the consistency with the dependency of each component, that is, to verify the consistency.
In particular, in the development of a system composed of many components, this verification work becomes difficult. Therefore, it is desirable to provide a mechanism for facilitating this verification work.
Patent Document 1 and Patent Document 2 describe an example of a mechanism for automatically verifying consistency between requirements of a system and its components. The verification devices described in Patent Document 1 and Patent Document 2 set requirements to be verified and data necessary for the verification in advance in the system and each component. Then, the verification device verifies the requirements based on the data when incorporating the component into the system. If it is determined that the component does not meet the requirements on the system side, the verification device avoids the incorporation. Maintain proper operation of the system.
特開2004−326366号公報JP 2004-326366 A 特開2008−171318号公報JP 2008-171318 A
 しかしながら、前述の特許文献で提案されている要件の検証に必要なデータは、対象システムやコンポーネントの詳細なモデル記述である。このため、係る特許文献に提案されている技術において、係る必要なデータの準備に要する作業工数は大きい。そのため、システムの依存性とコンポーネントの依存性との間の整合性を容易に検証できないという問題がある。
 そこで、本発明は、上述の課題を解決すべくなされた。本発明は、システムの依存性と、そのシステムを構成するコンポーネントの依存性との間の整合性を容易に検証可能な検証装置及びその制御方法、並びにコンピュータ・プログラムを提供することを主たる目的とする。
However, the data necessary for verification of the requirements proposed in the above-mentioned patent document is a detailed model description of the target system or component. For this reason, in the technique proposed in the patent document, the number of work steps required for preparing the necessary data is large. Therefore, there is a problem that the consistency between the system dependency and the component dependency cannot be easily verified.
Therefore, the present invention has been made to solve the above-described problems. SUMMARY OF THE INVENTION The main object of the present invention is to provide a verification apparatus and a control method therefor, and a computer program capable of easily verifying consistency between system dependencies and dependencies of components constituting the system. To do.
 かかる目的を達成するため、本発明の一形態は、検証装置であって、
 機能モジュールIDと、その機能モジュールIDと他の機能モジュールIDとの関連付け情報と、を記憶する記憶手段と、
 検証対象である特定の機能モジュールIDに関して前記記憶手段を参照して、該特定の機能モジュールIDが前記他の機能モジュールIDと関連付けられている場合には、前記他の機能モジュールIDを出力する一方で、関連付けされていない場合には、該特定の機能モジュールIDまたは関連付けがないことを表す情報を出力する機能管理手段と、
 第1のシステムが依存する機能モジュールIDを、前記特定の機能モジュールIDとして前記機能管理手段に入力した際に、前記機能管理手段から少なくとも何れかの機能モジュールIDを取得した場合には、取得した機能モジュールIDを、第1の機能モジュールID集合とする一方で、前記機能管理手段から前記関連付けがないことを表す情報を取得した場合には、前記特定の機能モジュールIDとして前記機能管理手段に入力した機能モジュールIDを、該第1の機能モジュールID集合とし、
 前記第1のシステムを構成する第2のシステムが依存する機能モジュールIDを、前記特定の機能モジュールIDとして前記機能管理手段に入力した際に、前記機能管理手段から少なくとも何れかの機能モジュールIDを取得した場合には、取得した機能モジュールIDを、第2の機能モジュールID集合とする一方で、前記機能管理手段から前記関連付けがないことを表す情報を取得した場合には、前記特定の機能モジュールIDとして前記機能管理手段に入力した機能モジュールIDを、該第2の機能モジュールID集合とし、
 前記第2の機能モジュールID集合が、前記第1の機能モジュールID集合を包含している場合に、整合であることを表す情報を出力する検証手段と、
 を備える。
 また、本発明の他の形態は、検証方法であって、
 コンピュータによって、機能モジュールIDと、その機能モジュールIDと他の機能モジュールIDとの関連付け情報と、を記憶する記憶手段に記憶し、
 前記コンピュータによって、検証対象である特定の機能モジュールIDに関して前記記憶手段を参照して、該特定の機能モジュールIDが前記他の機能モジュールIDと関連付けられている場合には、前記他の機能モジュールIDを出力する一方で、関連付けされていない場合には、該特定の機能モジュールIDまたは関連付けがないことを表す情報を出力し、
 前記コンピュータによって、第1のシステムが依存する前記機能モジュールIDを、前記特定の機能モジュールIDとして入力した際に、少なくとも何れかの機能モジュールIDを取得した場合には、取得した機能モジュールIDを、第1の機能モジュールID集合とする一方で、前記関連付けがないことを表す情報を取得した場合には、前記特定の機能モジュールとして入力した機能モジュールIDを第1の機能モジュールID集合とし、
 前記コンピュータによって、前記第1のシステムを構成する第2のシステムが依存する機能モジュールIDを入力した際に、少なくとも何れかの機能モジュールIDを取得した場合には、取得した機能モジュールIDを、第2の機能モジュールID集合とする一方で、前記関連付けがないことを表す情報を取得した場合には、前記特定の機能モジュールIDとして入力した機能モジュールIDを、該第2の機能モジュールID集合とし、
 前記コンピュータによって、前記第2の機能モジュールID集合が、前記第1の機能モジュールID集合を包含している場合に、整合であることを表す情報を出力する。
 尚、同目的は、上記構成を有する検証装置または検証方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
In order to achieve such an object, one aspect of the present invention is a verification apparatus,
Storage means for storing a functional module ID and association information between the functional module ID and another functional module ID;
With reference to the storage unit for the specific functional module ID to be verified, when the specific functional module ID is associated with the other functional module ID, the other functional module ID is output. And if not associated, a function management means for outputting information indicating that there is no specific function module ID or association;
When the function module ID on which the first system depends is input to the function management unit as the specific function module ID, if at least one of the function module IDs is acquired from the function management unit, the function module ID is acquired. When the function module ID is the first set of function module IDs and information indicating that there is no association is acquired from the function management unit, the function module ID is input to the function management unit as the specific function module ID. The function module ID thus obtained is set as the first function module ID set,
When the function module ID on which the second system constituting the first system depends is input to the function management unit as the specific function module ID, at least one of the function module IDs is input from the function management unit. If acquired, the acquired functional module ID is set as the second functional module ID set, while if the information indicating that there is no association is acquired from the functional management unit, the specific functional module The function module ID input to the function management means as an ID is used as the second function module ID set,
Verifying means for outputting information indicating matching when the second functional module ID set includes the first functional module ID set;
Is provided.
Another embodiment of the present invention is a verification method,
By the computer, the function module ID and the association information between the function module ID and another function module ID are stored in a storage unit for storing,
When the computer refers to the storage unit for a specific functional module ID to be verified, and the specific functional module ID is associated with the other functional module ID, the other functional module ID On the other hand, if it is not associated, it outputs information indicating that there is no specific functional module ID or association,
When at least one of the functional module IDs is acquired when the computer inputs the functional module ID on which the first system depends as the specific functional module ID, the acquired functional module ID is On the other hand, when the information indicating that there is no association is obtained while the first functional module ID set, the functional module ID input as the specific functional module is set as the first functional module ID set,
When at least one of the functional module IDs is acquired by the computer when the functional module ID on which the second system constituting the first system depends is input by the computer, the acquired functional module ID is On the other hand, when information indicating that there is no association is acquired, the function module ID input as the specific function module ID is set as the second function module ID set.
When the second functional module ID set includes the first functional module ID set, the computer outputs information indicating matching.
This object can also be achieved by a computer program that implements the verification apparatus or the verification method having the above configuration by a computer, and a computer-readable storage medium that stores the computer program.
 本発明によれば、システムの依存性と、そのシステムを構成するコンポーネントの依存性との間の整合性を容易に検証可能な検証装置等の提供が実現する。 According to the present invention, it is possible to provide a verification device or the like that can easily verify the consistency between the dependency of a system and the dependency of components constituting the system.
図1は、本発明を実施する第1の実施の形態の検証装置100の構成例を示すブロック図である。FIG. 1 is a block diagram showing a configuration example of a verification apparatus 100 according to the first embodiment for implementing the present invention. 図2は、本発明を実施する第1の実施の形態の構成管理部102が管理する構成情報の一例である。FIG. 2 is an example of configuration information managed by the configuration management unit 102 according to the first embodiment that implements the present invention. 図3は、本発明を実施する第1の実施の形態の構成情報変更要求の一例である。FIG. 3 is an example of a configuration information change request according to the first embodiment for carrying out the present invention. 図4は、本発明を実施する第1の実施の形態の構成情報取得要求の一例である。FIG. 4 is an example of a configuration information acquisition request according to the first embodiment for carrying out the present invention. 図5は、本発明を実施する第1の実施の形態の機能管理部103が管理する機能情報の一例である。FIG. 5 is an example of function information managed by the function management unit 103 according to the first embodiment that implements the present invention. 図6は、本発明を実施する第1の実施の形態の機能情報取得要求の一例である。FIG. 6 is an example of a function information acquisition request according to the first embodiment for carrying out the present invention. 図7は、本発明を実施する第1の実施の形態の検証要求の一例である。FIG. 7 is an example of a verification request according to the first embodiment for carrying out the present invention. 図は、本発明を実施する第1の実施の形態における構成管理部102への要件定義処理の動作を示すフローチャートである。FIG. 10 is a flowchart showing an operation of a requirement definition process for the configuration management unit 102 in the first embodiment for implementing the present invention. 図9は、本発明を実施する第1の実施の形態における検証部101の検証処理の動作例を示すフローチャートである。FIG. 9 is a flowchart showing an example of the verification processing operation of the verification unit 101 according to the first embodiment of the present invention. 図10は、本発明を実施する第2の実施の形態の機能管理部103が管理する機能情報の一例である。FIG. 10 is an example of function information managed by the function management unit 103 according to the second embodiment that implements the present invention. 図11は、本発明を実施する第3の実施の形態の構成管理部102が管理する構成情報の一例である。FIG. 11 is an example of configuration information managed by the configuration management unit 102 according to the third embodiment that implements the present invention. 図12は、本発明を実施する第3の実施の形態の機能管理部103が管理する機能情報の一例である。FIG. 12 is an example of function information managed by the function management unit 103 according to the third embodiment that implements the present invention. 図13は、本発明を実施する第3の実施の形態の機能情報取得要求の一例である。FIG. 13 is an example of a function information acquisition request according to the third embodiment for implementing the present invention. 図14は、本発明を実施する第4の実施の形態の検証装置100の構成例を示すブロック図である。FIG. 14 is a block diagram illustrating a configuration example of the verification apparatus 100 according to the fourth embodiment that implements the present invention. 図15は、本発明を実施する第4の実施の形態の機能解決部401が管理する機能解決情報の一例である。FIG. 15 is an example of function resolution information managed by the function resolution unit 401 according to the fourth embodiment that implements the present invention. 図16は、本発明を実施する第4の実施の形態の構成管理部102が管理する構成情報の一例である。FIG. 16 is an example of configuration information managed by the configuration management unit 102 according to the fourth embodiment that implements the present invention. 図17は、本発明を実施する第4の実施の形態の構成管理部102が参照する外部の構成情報の一例である。FIG. 17 is an example of external configuration information referred to by the configuration management unit 102 according to the fourth embodiment that implements the present invention. 図18は、本発明を実施する第4の実施の形態の機能解決部401が管理する解決可能形式情報の一例である。FIG. 18 is an example of resolvable format information managed by the function resolution unit 401 according to the fourth embodiment that implements the present invention. 図19は、本発明を実施する第4の実施の形態の機能情報取得要求の一例である。FIG. 19 is an example of a function information acquisition request according to the fourth embodiment for implementing the present invention. 図20は、本発明を実施する第4の実施の形態における機能管理部103の機能情報取得処理の動作例を示すフローチャートである。FIG. 20 is a flowchart illustrating an operation example of the function information acquisition process of the function management unit 103 according to the fourth embodiment of the present invention. 図21は、本発明の第5の実施の形態の検証装置100の構成例を示すブロック図である。FIG. 21 is a block diagram illustrating a configuration example of the verification apparatus 100 according to the fifth embodiment of this invention. 図22は、本発明の各実施形態を適用可能な情報処理装置の構成を例示するブロック図である。FIG. 22 is a block diagram illustrating the configuration of an information processing apparatus to which each embodiment of the present invention can be applied.
 以下、本発明の実施の形態について、図面を用いて詳細に説明する。すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
 はじめに、以下に説明する各実施形態に係る装置等を構成する各部は、論理回路等のハードウェアで構成される。
 或いは、当該各部は、図22に例示するような一般的な構成を有する情報処理装置(コンピュータ)10によっても実現可能である。即ち、当該各実施形態を例に説明する本発明は、係るコンピュータを構成する制御部、メモリ12、コンピュータ・プログラム(以下、単に「プログラム」と略称する)15を格納するハードディスク等の記憶装置14、ネットワーク20と通信可能に接続する通信インタフェース(I/F)13などのハードウェア資源と、そのハードウェア資源と協働するソフトウェア(プログラム)との任意の組合せによって実現されてもよい。そして特に断りのない限り、その実現方法、装置は限定されない。
 そして、係る制御部は、CPU(Central Processing Unit)11などを有しており、そのCPUにおいて動作するOS(Operating system)の管理下においてプログラム15を実行することにより、当該各実施形態に係る装置等を実現すると共に、係る装置等の全体を制御する。或いは、係る制御部は、例えばドライブ装置16などに装着された記録媒体17からメモリ12にプログラムやデータを読み出し、これに従って各種の処理を実行してもよい。係る記録媒体17は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリ等であって、係るプログラムを、コンピュータが読み取り可能に記録する。また、プログラムは、通信ネットワーク20に通信可能に接続される外部コンピュータ(不図示)等から入手してもよい。
 <第1の実施形態>
 次に、本発明の第1の実施形態について図面を用いて説明する。
 [構成の説明]
 図1は、本発明を実施する第1の実施の形態の検証装置100の構成例を示すブロック図である。
 図1に示されるように、本発明の第1の実施の形態における検証装置100は、フロントエンド105、検証部101、構成管理部102、機能管理部103、記憶装置104を備える。
 フロントエンド105は、通信ネットワーク(20)等の有線または無線の通信回線を介して、入出力装置110と通信可能に接続されている。入出力装置110は、利用者が情報の入出力に用いる、検証装置100の外部にある装置である。なお、入出力装置110は、検証装置100内部に設けられてもよい。
 検証部101は、フロントエンド105を介して、利用者が入出力装置110から入力した検証要求を受け付ける。検証部101は、係る検証要求に従い、後述する構成管理部102から得られる構成情報と、後述する機能管理部103から得られる機能情報とに基づいて、システムの機能モジュールに対する依存性と、当該システムを構成するコンポーネントの機能モジュールに対する依存性との整合性を検証する。検証部101の動作については後述する。
 記憶装置104は、システムや当該システムを構成するコンポーネントの構成要素を表す情報(構成情報、図2参照)、及び、後述する機能情報(図5参照)を格納している。
 構成管理部102は、記憶装置104に格納された構成情報を管理する。図2は、本発明を実施する第1の実施の形態の構成管理部102が管理する構成情報の一例である。図2に示す例では、構成情報はXML(Extensible Markup Language)形式で記述されているが、本実施形態を例に説明する本発明において係る構成情報の形式は特に限定されない。
 システムの構成情報はsystemタグで記述される。当該システムのID(Identification)は、そのタグ“system”の属性“id”によって定義される。図2に示す例では、システムAとシステムBという2つのシステムが定義されている。
 また、システムを構成するコンポーネントは、当該システムを定義するタグ“system”の子要素にあたるタグ“component”で記述される。当該コンポーネントのIDは、そのタグ“component”の属性“name”によって定義される。図2に示す例では、システムAのコンポーネントがシステムBであると定義されている。
 また、システムやそのコンポーネントの依存する機能モジュールは、当該システムやコンポーネントを定義するタグ“system”の子要素にあたるタグ“dependency”によって記述される。当該システムやコンポーネントが依存する1以上の機能モジュールの各々を識別するID(機能モジュールID)は、そのタグ“dependency”の属性“name”によって定義される。
 例えば、図2に示すシステムBの依存する機能モジュールIDは″mysql″である。また、システムAの依存する機能モジュールIDは″rdb″である。図2のシステムAのタグ“dependency”の属性“name”で定義される″rdb″は、図5で示されるように、″mysql″、″postresql″、″oracle″なる3つの機能モジュールIDと関連付けられている(この関連付けについては後述する)。
 構成管理部102は、フロントエンド105を介して、利用者が入出力装置110によって入力した構成情報の変更要求を受け付け、当該要求の内容に応じて構成情報を更新する。
 ここで構成情報の変更要求とは、例えば、特定のシステムの追加要求、更新要求、削除要求等である。要求内容には、例えば、図3に示すように、システムに関する要求の種別と当該要求の対象に関する内容が含まれる。図3に示す例では、構成変更要求の1行目に要求の種別を示し、2行目以降にその要求の対象が示されている。
 例えば、図3の一番上に示されたシステムの追加要求において、“create”は、当該要求が、システムの追加の要求であることを示し、続く記述は、追加するシステムの構成情報を示している。
 また、図3の中央に示されたシステムの更新要求において、“update”は、当該要求がシステムの更新の要求であることを示し、続く記述は、更新対象のシステムとその構成情報を示している。
 また、図3の一番下に示されたシステムの削除要求において、“delete”は、当該要求がシステムの削除の要求であることを示し、続く記述は、削除対象のシステムのIDを示している。
 また構成管理部102は、検証部101からの構成情報取得要求を受付け、当該要求において指定されたシステムと、そのシステムを構成するコンポーネントに関する構成情報を返答する。
 ここで構成情報取得要求は、例えば図4に示すように、構成情報取得要求であることを表す情報と、利用者が構成情報を取得したい対象のシステムを表す情報とが含まれる。例えば、図4の1行目の“getcomp”は、当該要求が構成情報取得要求であることを示しており、続く2行目は、情報取得対象のシステムのID(この例ではA)を示している。
 記憶装置104は、機能モジュールIDと、機能モジュールIDと、他の機能モジュールIDとの関連付け情報とによって構成される機能情報(図5参照)を格納している。
 機能管理部103は、機能情報を管理する。図5は、機能管理部103が管理する機能情報の一例である。
 図5の例では、機能モジュールIDが示されており、機能モジュールに他の機能モジュールが関連付けられている場合に、係る関連付けされた他の機能モジュールは、当該機能モジュールの右に、丸括弧で括って記載される。図5に示す例では、機能モジュールIDとして″mysql″、″postgresql″、″oracle″、″tomcat″、″jetty″、″glassfish″、″rdb″、″apContainer″が示されている。また″rdb″は、他の機能モジュールIDである″mysql″、″postgresql″、″oracle″と関連付けられている。また、″apContainer″は、″tocat″、″jetty″、″glassfish″と関連付けられている。以下の説明では、関連付けられた機能モジュールIDを、「被関連付け機能モジュールID」とも称することとする。
 ここで、システムの構成情報内のタグ“dependency”に機能モジュールIDが記述されている場合を考える。この場合において、その機能モジュールIDが他の機能モジュールIDと関連付けされていない場合には、当該システムは、その機能モジュールIDによって示される機能モジュールに依存性を持つ、と表現することとする。反対に、当該機能モジュールIDが他の機能モジュールIDと関連付けられている場合には、当該システムは、当該他の機能モジュールIDによって示される機能モジュールのいずれかに依存性を持つ、と表現することとする。例えば、システムの構成情報内のタグ“dependency”が<dependency name=X>であるとし、機能モジュールIDであるXは、3つの機能モジュールα、β、及び、γのIDと関連付けられている場合、当該システムは、機能モジュールα、β、又は、γに依存性を持つ、と表現することとする(当該システムの依存性要件がα、β、γであるともいう)。
 ここで、依存性について説明する。システムが機能モジュールα、β、γに依存性を持つ場合(すなわちシステムの依存性要件がα、β、γである場合)とは、機能モジュールα、β、γの少なくともいずれかの機能モジュールが存在すれば、そのシステムが利用可能であることを意味する。すなわち、依存性を持つ機能モジュールの数が増えるほどシステムの制約条件は緩和される。例えば、システムSAの依存性がデータベース製品DAだけであるよりも、データベース製品DAまたはデータベース製品DBのいずれかが存在すれば利用可能である、というように制約条件が緩和される。そのため、依存性要件が多くの選択肢を含む緩い制約であるほど、システムの独立性は向上するので、当該システムの再利用性が高まる。
 機能管理部103は、検証部101からの機能情報取得要求を受付け、当該要求において指定された機能モジュールIDが他の機能モジュールIDと関連付けされていない場合には当該機能モジュールIDそのものを返答する。一方、機能モジュールIDに他の機能モジュールが関連付けられている場合に、機能管理部103は、当該他の機能モジュールID(被関連付け機能モジュールID)を返答する。ここで、機能管理部103は、機能モジュールIDが他の機能モジュールIDと関連付けされていない場合には、関連付けがないことを表す情報を返答してもよい。
 ここで機能情報取得要求には、例えば図6に示すように、機能情報取得要求であることを表す情報と、機能モジュールIDとが含まれる。例えば、図6の1行目の“getfunc”は、当該要求が、機能情報取得要求であることを示しており、続く2行目の記述は情報取得対象の機能モジュールIDを示している。
 機能管理部103が返答する機能情報は、当該要求において指定された機能モジュールID、あるいは、被関連付け機能モジュールIDである。すなわち、機能情報取得要求において指定された機能モジュールIDが、記憶装置104内で関連付けが定義されていない機能モジュールIDである場合には、機能管理部103は、当該機能モジュールIDそのものを返答する。なお、機能管理部103は、関連付けがされていない旨の情報を返答してもよい。また、当該要求において指定された機能モジュールIDが記憶装置104内で他の機能モジュールIDと関連付けが定義された機能モジュールIDである場合には、機能管理部103は、関連付けされた全ての機能モジュールID(被関連付け機能モジュールID)を返答する。
 検証部101は、上述のように、フロントエンド105を介して、利用者から検証要求を受付け、構成管理部102から得られる構成情報と機能管理部103から得られる機能モジュールIDとに基づいて、システムおよびそのコンポーネントの機能モジュールに対する依存性の整合性(整合状態)を検証する。係る検証を行うための検証処理については後述する。
 ここで検証要求には、当該要求が検証要求であることを表す情報と、検証対象のシステムを表すIDとが含まれている。例えば図7には、検証要求の一例が示されている。図7の1行目の“validate”は、当該要求が検証要求であることを示しており、続く2行目の記述は検証対象のシステムのIDを示している。
 [動作の説明]
 次に、本発明の第1の実施の形態における検証装置100の動作について説明する。
 図8は、本発明の第1の実施の形態における構成管理部102への要件定義処理の動作例を示すフローチャートである。
 まず、フロントエンド105は、入出力装置110から要求が入力されると、当該要求の種類を示す1行目の内容を確認し、この内容が、構成情報の変更要求(図3参照)であることを示す″create″、″update″、″delete″のいずれかであれば、当該要求を構成管理部102へ送信する(ステップS101)。
 構成管理部102は、構成情報の変更要求を受け取ると、当該要求の種類に応じて構成情報の変更を実施する(ステップS102)。具体的には、要求の種類が″create″すなわち追加であれば、構成管理部102は、当該要求の2行目以降に記述されたシステムの構成情報を追加する。
 また、要求の種類が″update″すなわち更新であれば、当該要求の2行目以降に記述されたシステムの構成情報とそのIDに従い、構成管理部102は、当該IDと同一のIDを持つシステムの構成情報を更新する。
 また、要求の種類が″delete″すなわち削除であれば、当該要求の2行目に記述されたシステムのIDに従い、構成管理部102は、当該IDと同一のIDを持つシステムの構成情報を削除する。
 最後に構成管理部102は、フロントエンド105を介して、入出力装置110へ構成情報の変更結果を出力する(ステップS103)。構成情報の変更結果とは、例えば変更処理が完了したことを表す記号や変更内容等の情報である。
 図9は、本発明の第1の実施の形態における検証部101の検証処理の動作例を示すフローチャートである。
 フロントエンド105は、入出力装置110から要求の入力を受けると、当該要求の種類を示す1行目の内容を確認し、この内容が検証要求であることを示す″validate″であれば、当該要求を検証部101へ送信する(ステップS104)。
 検証部101は、検証要求(図7参照)を受け取ると、当該要求の2行目に記載されたIDを持つシステムを検証対象のシステムとして検証を開始する。
 検証部101は、まず当該システムのIDを含む構成情報取得要求(図4参照)を構成管理部102に送信し、構成管理部102から、当該システムとその全てのコンポーネントの構成情報を取得する(ステップS105)。
 この際、構成管理部102は、まず構成情報取得要求に記述されたIDを持つシステムの構成情報を取得する。続いて、構成管理部102は、そのシステムを構成するコンポーネントの構成情報を再帰的に取得して、取得した全ての構成情報を検証部101へ送信する。ここで再帰的とは、コンポーネントがさらに別のコンポーネントを包含する場合には、その包含されるコンポーネントの構成情報も取得することを意味する。なお、構成管理部102は、あるシステムを構成するコンポーネントの構成情報を、当該システム内の全てのタグ“component”の属性“name”に記載されたIDを基に取得できる。
 例えば、構成管理部102が、図4に示すような、IDがAのシステムに対する構成情報取得要求を検証部101から取得したとする。この場合、例えば図2に示される構成情報が記憶装置104内に存在すれば、構成管理部102は、システムAおよびそのコンポーネントBの2つの構成情報を検証部101へ送信する。
 次に検証部101は、取得した前記構成情報からシステムの構成情報内のタグ“dependency”の属性“name”に記述された機能モジュールIDを取得し、当該IDを含む機能情報取得要求(図6上側参照)を機能管理部103に送信する。また、検証部101は、システムのコンポーネントの構成情報内のタグ“dependency”の属性“name”に記述された機能モジュールIDを取得し、当該IDを含む機能情報取得要求(図6下側参照)を機能管理部103に送信する。そして、検証部101は、検証対象システムが依存する機能モジュールID(第1の機能モジュールID集合)と、そのコンポーネントが依存する機能モジュールのID(第2の機能モジュールID集合)とを、機能管理部103から取得する(ステップS106)。
 例えば、検証部101が、構成管理部102から、図2に示される構成情報を得たとする。この場合、検証部101は、システムAの依存する機能モジュールID(第1の機能モジュールID集合)を取得するために、″rdb″を含む機能情報取得要求を機能管理部103に送信する(図6上側参照)。また、検証部101は、システムAのコンポーネントであるシステムBの依存する機能モジュールID(第2の機能モジュールID集合)を取得するために、″mysql″を含む機能情報取得要求(図6下側参照)を機能管理部103に送信する。
 そして、検証部101からこれらの機能情報取得要求を取得した機能管理部103は、記憶装置104を参照し、第1の機能モジュールID集合として、″rdb″の機能モジュールIDと関連付けられた″mysql″、″postgresql″、″oracle″という3つの機能モジュールIDを検証部101に送信し、併せて、第2の機能モジュールID集合である″mysql″機能モジュールのIDを検証部101に送信する(図5参照)。なお、機能管理部103は、″mysql″機能モジュールのIDの代わりに、関連付けがないことを表す情報を検証部101に送信してもよい。
 続いて検証部101は、取得した機能モジュールIDを基に、システムとそのコンポーネントの整合性を確認する(ステップS107)。
 ここで、検証部101は、第2の機能モジュールID集合が、第1の機能モジュールID集合を包含する場合に、整合であることを表す情報を入出力装置110へ出力する。それ以外の場合に、検証部101は、不整合であることを表す情報を入出力装置101に出力してもよい。また、第2の機能モジュールID集合が、第1の機能モジュールID集合の、空集合以外の真部分集合である場合に、不整合であると判断し、不整合であることを表す情報を入出力装置110へ出力してもよい。
 なお、検証部101は、システムの依存する機能モジュールIDを含む機能情報取得要求を機能管理部103に送信した結果、当該機能モジュールIDには関連付けがないことを表す情報を機能管理部103から取得した場合には、当該機能モジュールIDそのものを前記第1の機能モジュールID集合に含める。また、検証部101は、システムを構成するコンポーネントの依存する機能モジュールIDを含む機能情報取得要求を機能管理部103に送信した結果、当該機能モジュールIDには関連付けがないことを表す情報を機能管理部103から取得した場合には、当該機能モジュールIDそのものを前記第2の機能モジュールID集合に含める。
 検証部101の検証処理について具体例を用いて説明する。例えば、あるシステムが<″mysql″,″postgresql″>に依存し(すなわち、第1の機能モジュールID集合が″mysql″,″postgresql″である場合)、そのコンポーネントが<″mysql″,″postgresql″,″oracle″>に依存する場合(すなわち、第2の機能モジュールID集合が″mysql″,″postgresql″,″oracle″である場合)、検証部101は整合であることを表す情報を入出力装置101に出力する。
 また、あるシステムが、<″mysql″,″postgresql″,″oracle″>に依存する場合であって、コンポーネントが<″mysql″>、<″postgres″>、<″oracle″>、<″mysql″,″postgresql″>、<″postgresql″,″oracle″>、<″mysql″,″oracle″>のいずれかの機能モジュールIDによって示される機能モジュールに依存する場合には、検証部101によって不整合であると判断される。その理由を、具体例を用いて説明する。
 例えば、あるシステムが<″mysql″,″postgresql″,″oracle″>に依存し、そのシステムを構成するコンポーネントが<″mysql″,″postgresql″>に依存する場合を例に説明する。
 あるシステムが<″mysql″,″postgresql″,″oracle″>に依存する場合、当該システムは、″mysql″、″postgresql″、″oracle″のいずれかの機能モジュールがあれば利用可能である。
 また、コンポーネントが<″mysql″,″postgresql″>に依存する場合、コンポーネントは、″mysql″、″postgresql″のいずれかの機能モジュールがあれば利用可能である。したがって、それ以外の機能モジュールである″oracle″が存在したとしても、該コンポーネントは利用可能ではない。
 その結果、″oracle″の機能モジュールが存在したとしても、該コンポーネントが利用可能ではないので、該コンポーネントを備えるシステムも利用不可能であることになる。
 しかし、このことは、当該システムが″mysql″、″postgresql″、″oracle″のいずれかの機能モジュールがあれば(すなわち、″oracle″の機能モジュールがあれば)利用可能であることと整合がとれていない。したがって、この場合には、検証部101によって、システムの依存性要件とそのコンポーネントの依存性要件とが不整合であると判断される。
 なお、システムやコンポーネントの依存性要件が空集合であれば、依存性要件が無いということであるから、システムやコンポーネントはどのような機能モジュールにも依存していないことになり、不整合となることはない。よって、システムの依存性要件が空集合である場合には、検証部101によって整合であると判断される。例えば、あるシステムやコンポーネントの構成情報内のタグ“dependency”に関する情報が存在しない場合には、当該システムやコンポーネントには依存性がないため、依存性要件は空集合となる。
 また、あるシステムが<″mysql″,″postgresql″>に依存し、そのシステムを構成するコンポーネントが<″mysql″,″postgresql″,″oracle″>に依存する場合には、システムが″mysql″と″postgresql″とのいずれを利用する場合にも、コンポーネントは利用可能であるから整合がとれていることになる。
 最後に、検証部101は、フロントエンド105を介して、利用者端末110に検証結果を送信する(ステップS108)。
 検証結果には、整合か不整合かを示す記号などの情報が含まれればよい。検証部101は、不整合の原因となったシステムの依存する機能モジュールを示すIDや、それらの機能モジュールに依存するコンポーネントのIDなどの詳細情報を検証結果に付加してもよい。
 本実施の形態によれば、システムの依存性とそのコンポーネントの依存性との間の整合性を容易に検証可能である。
 <第2の実施形態>
 [構成の説明]
 次に、本発明の第2の実施の形態について説明する。第1の実施の形態と同様の要素については図1と同様の記号を付し、詳細な説明を省略する。
 図10は、本発明の第2の実施の形態の機能管理部103が管理する機能情報の一例である。この例では、機能情報には、第1の実施の形態と同様に、機能モジュールIDと、機能モジュールを他の機能モジュールと関連付ける情報が示されているが、関連付けされた機能モジュールIDがさらに他の機能モジュールIDと関連付けされているという構成が第1の実施の形態とは異なる。
 この例では、″db″が″rdb″、″kvs″と関連付けられており、さらに″rdb″は″mysql″、″postgresql″、″oracle″と関連付けられ、″kvs″は″simpledb″、″couchdb″と関連付けられている。すなわち、″db″は、″rdb″と″kvs″とを包含し、さらに″rdb″は″mysql″、″postgresql″、″oracle″を包含し、″kvs″は″simpledb″、″couchdb″を包含している集合関係(あるいはツリー構造)と捉えることもできる。
 [動作の説明]
 次に、本発明の第2の実施の形態における検証装置100の動作について説明する。
 第2の実施の形態における検証装置100の動作は、図9に示したステップS104、S105、S107、S108については第1の実施の形態と同様である。一方、ステップS106の動作において、機能管理部103が、機能モジュールIDの関連付け情報を再帰的に検索して関連付けされた機能モジュールIDを収集するという構成が第1の実施の形態と異なる。ここで、“再帰的に検索して関連付けされた機能モジュールIDを収集する”、とは、ある機能モジュールIDに他の機能モジュールIDが関連付けされている場合に、当該他の機能モジュールIDがさらに他の機能モジュールIDと関連付けされている場合には、それらの関連付けされた機能モジュールを順次検索して、ある機能モジュールIDに関連付けされている全ての機能モジュールIDを取得する、ということである。
 すなわち、機能管理部103は、検証部101からの機能情報取得要求を受付けると、当該要求において指定された機能モジュールIDに関連付けされた他の機能モジュールIDを検索する。
 機能管理部103は、検索により取得した機能モジュールIDがさらに他の機能モジュールIDと関連づけられている場合には、さらに関連付けされているそれらの機能モジュールIDを検索し、それ以上関連付けされた機能モジュールIDが見つからない場合には、当該機能モジュールID(終点機能モジュールID)を取得する。
 機能管理部103は、全ての終点機能モジュールIDを取得したら、それらの機能モジュールIDを検証部101に返答し、検証部101がこれらの情報を取得する。
 例として記憶装置104に、図10で示される機能情報が存在するとし、機能管理部103が″db″に関する機能情報取得要求を受け付けた場合の動作を説明する。
 機能管理部103は、まず″db″を検索することにより、記憶装置104に″db(rdb,kvs)″の定義を発見し、″db″の右側に丸括弧で括られ、″db″に関連付けされた機能モジュールIDの集合が存在することから、それらの機能モジュールIDについて再帰的に検索を実施する。
 ″db″の要素である″rdb″と″kvs″とは、いずれも他に関連付けられた機能モジュールIDをもつため、機能管理部103は、それぞれ″mysql″、″postgresql″、″oracle″と″simpledb″、″couchdb″とを記憶装置104から得る。機能管理部103は、これらの機能モジュールIDについてさらに再帰的に検索を実施すると、これ以上関連付けされたIDは発見されないことを認識する。そのため、機能管理部103は、″mysql″、″postgresql″、″oracle″と″simpledb″、″couchdb″とを検証部101に返答する。
 本実施の形態によれば、多くの機能モジュールに関連する依存性要件をより判り易く効率的に表現できるので、当該依存性要件に関するシステムと、そのシステムを構成するコンポーネントとの間の整合性の検証作業を効率化できる。
 <第3の実施形態>
 [構成の説明]
 本発明の第3の実施の形態では、構成情報の依存性を指定する部分と、機能情報とのそれぞれに対してユーザ等が属性を付加できる構成、並びに、機能管理部103が受け付ける機能情報取得要求にユーザ等が属性の情報を付加できる構成が第1の実施の形態と異なる。それ以外の構成は、第1の実施の形態と同様である。第1の実施の形態と同様の要素については、図1と同様の記号を付し、本実施形態における詳細な説明は省略する。
 図11は、本発明を実施する第3の実施の形態の構成管理部102が管理する構成情報の一例である。
 図11の例に示すように、本実施の形態における構成情報は、依存性を指定する部分に属性を付加できる点が第1の実施の形態における構成情報と異なる。図11に示す例では、システムAの依存する機能モジュールIDとして″rdb″が指定されており、その属性“attribute”として″oss″が付加されている。
 図12は、第3の実施の形態に係る機能管理部103が管理する機能情報の一例である。
 図12の例に示すように、本実施の形態における機能情報は、各機能モジュールIDに対してユーザ等が属性を付加できるという構成が、第1の実施の形態における機能情報と異なる。
 この例では、付加された属性は、各要素の右側に配置した角括弧内に属性名と値の組として記述され、属性名と値とは、記号″=″によって区切る形式で表されている。
 すなわちこの例では、″mysql″と″postgresql″とのattribute属性として″oss″が付加され、″oracle″の属性“attribute”として″commercial″が付加されている。
 図13は、第3の実施の形態における機能情報取得要求の一例である。
 図13に示すように、本実施の形態において機能管理部103が受け付ける機能情報取得要求は、取得対象を示す機能モジュールIDに対して属性を追加できるという構成が、第1の実施の形態における機能情報取得要求と異なる。図13に例示するように、付加された属性は、取得対象の機能モジュールIDの右側に配置した角括弧内に属性名と値との組として記述され、属性名と値とは″=″によって区切る形式で表されている。すなわちこの例では、取得対象の機能モジュールIDが″rdb″であり、その属性“attribute”として″oss″が付加されている。
 [動作の説明]
 次に、本発明の第3の実施の形態における検証装置100の動作例について説明する。
 本実施の形態における検証装置100の動作は、図9に示したステップS104、S105、S107、S108については第1の実施の形態と同様である。これに対して、本実施形態では、ステップS106において、機能管理部103が、機能情報取得要求に含まれる取得対象の機能モジュールIDだけでなく、属性までが一致する機能モジュールIDのみを検証部101に返答するという構成が第1の実施の形態と異なる。
 すなわち、本実施形態において、機能管理部103は、検証部101からの機能情報取得要求を受付けると、当該要求において指定された機能モジュールIDを基に、当該IDと関連付けられた全ての機能モジュールIDを検索する。
 続いて、機能管理部103は、前記要求において属性が指定されている場合には、前記検索により発見された機能モジュールIDのうち、当該属性と同一の属性が付加された機能モジュールIDのみを抽出し、これを最終的に返答する機能モジュールIDとする。
 例として機能管理部103に図12で示される機能情報が存在するとし、機能管理部103が図13で示される機能情報取得要求を受け付けた場合の動作例を説明する。
 まず機能管理部103は、″rdb″に関連付けられた機能モジュールIDを検索することにより、″mysql[attribute=oss]″、″postgresql[attribute=oss]″、″oracle[attribute=commercial]″という3つの機能モジュールIDを発見する。
 続いて、機能管理部103は、機能情報取得要求で示された取得対象である″rdb″には属性″attribute=oss″が付加されているため、前記検索された機能モジュールIDのうちattribute属性の値が″oss″であるもののみを抽出し、検証部101に返答する機能モジュールIDを″mysql″、″postgresql″と設定する。
 機能管理部103は、検索の際には機能情報取得要求で付加された属性名と値の組を持つ要素のみを抽出していたが、該当する属性を持たない要素を抽出したり、該当する属性名と値の組を持つ要素以外を抽出したりしてもよい。機能管理部103は、さらにメタ属性の追加により、上述のような属性による機能モジュールIDの抽出方法を既存の方法により制御してもよい。
 本実施の形態によれば、機能モジュールの分類が複雑化した場合でも依存性要件を効率的に表現でき、当該依存性要件に関するシステムとそのコンポーネントとの間の整合性の検証作業を効率化できる。
 <第4の実施形態>
 [構成の説明]
 図14は、本発明を実施する第4の実施の形態の検証装置100の構成例を示すブロック図である。
 図14に示されるように、本発明の第4の実施の形態における検証装置100は、特定のID体系におけるID(外部体系ID)と、機能情報内における機能モジュールIDとを関連付ける機能解決部401を備えるという構成が第1の実施の形態と異なる。また、特定形式のファイルから、当該ファイルに含まれる外部体系IDを抽出するファイル処理モジュール群402を備えるという構成が第1の実施の形態と異なる。
 第1の実施の形態と同様の要素については図1と同様の記号を付して詳細な説明を省略する。
 記憶装置104は、機能解決情報を記録する。機能解決情報とは、係る特定のID体系におけるID(外部体系ID)と、機能管理部103が管理する機能モジュールIDとを関連付ける情報である。機能解決情報は、機能解決部401によって管理される。機能解決部401は、機能管理部103および記憶装置104と通信可能に接続される。
 図15は、機能解決部401が管理する機能解決情報の一例である。図15に示す例では、あるID体系における外部体系IDはタグ“aliases”内に記述され、当該タグの属性“type”によって当該ID体系を表す情報が記述される。タグ“aliases”内には、複数のタグ“alias”が列記され、各タグ“alias”には、前記ID体系における外部体系IDと機能モジュールIDとを関連付ける情報が記述される。例えば、タグ“alias”では、属性“name”に前記ID体系における外部体系IDが記述され、前記タグ内の属性“value”によって前記外部体系IDと対応付けられる機能モジュールIDが記述される。
 図15に示す例では、まずタグ“aliases”の属性“type”により″maven″のID体系における外部体系IDと機能モジュールIDとを対応付ける情報を記述することが宣言されている。また、図15に示す例では、係るタグ“aliases”内のタグ“alias”により“maven”のID体系における“mysql:mysql−connector−java:5.1.17″と、機能モジュールID″mysql″とが記号″=″によって対応付けられている。
 図16は、第4の実施の形態の構成管理部102が管理する構成情報の一例であり、図17は、第4の実施の形態の構成管理部102が参照する外部の記憶装置等に格納された外部ファイルの一例である。
 本実施の形態では、システムやそのコンポーネントの依存性要件に関する情報を外部ファイルの参照によって定義することができる。例えば、図16に示す構成情報は、システムBの依存性が外部ファイルの参照によって定義される場合に、タグ“dependency”内において前記外部ファイルの位置情報をref属性で指定し、当該ファイルの形式を属性“type”によって指定している。すなわち、図16に示す構成情報では、システムBの依存性が″/xxx/xxx/pom.xml″で指定される外部ファイルによって定義され、そのファイル形式(外部ファイルの形式名)は形式“maven”であることが示されている。ここでは、ID体系を示す名称と外部ファイルの形式名とが関連付けられており同一の名称となっているが、これらは同一でなくても構わない。
 図17は、前記外部ファイルの内容を例示している。“maven”のファイル“pom.xml”では、タグ“dependencies”によってモジュールへの依存性が記述され、個々の依存性の情報はタグ“dependency”によって記述される。
 タグ“dependency”はタグ“groupId”、タグ“artifactId”、タグ“version”などから構成される。“maven”では、最低限これら3つの情報(タグ“groupId”、タグ“artifactId”、タグ“version”)によって依存性が定義される。この例では“groupId”が″mysql″、“artifactId”が″mysql−connector−java″、“version”が″5.1.17″によって依存性が定義されている。
 機能解決部401が解決可能な外部ファイルの形式は、解決可能形式情報として機能解決部401によって管理され、記憶装置104に記録される。図18は、第4の実施の形態における機能解決部401が管理する解決可能形式情報の一例である。
 図18に例示する解決可能形式情報では、外部ファイルの形式名と、当該外部ファイルの形式名が示す形式のファイルから外部体系IDを抽出する処理モジュールの名前(モジュール名)と、の2つの項目からなる表形式の情報が記録される。例えば、モジュール1は、形式“maven”の外部ファイルから外部体系IDを抽出することができる(形式“maven”は、モジュール1によって解決可能である)。
 また、処理モジュールは、形式ごとのプラグインとして機能解決部401から呼び出し可能な状態でユーザ等が組み込んでおいてもよい。
 図19は、本発明を実施する第4の実施の形態の機能情報取得要求の一例である。
 本実施の形態における機能情報取得要求は、例えば、情報取得対象の機能モジュールIDの代わりに参照する外部ファイルの位置情報と、その外部ファイルの形式名と、を含んでいる。
 図19に示す例では、外部ファイルの形式名とファイルの位置とが、″:″によって区切られて記述されている。具体的には、図19では、外部ファイルの形式名として″maven″、ファイルの位置として″/xxx/xxx/pom.xml″が指定されている。
 本実施の形態における機能管理部103は、上述の外部ファイルの形式名とファイルの位置情報を基に機能解決部401を用いて機能情報を取得する。
 [動作の説明]
 次に、本発明を実施する第4の実施の形態における検証装置100の動作例について図20を用いて説明する。第1の実施の形態と同様の動作については図9と同様の記号を付し、詳細な説明を省略する。ステップS106以外は図9で示す第1の実施の形態の動作と同様であるから、該ステップについて説明する。
 図20は、第4の実施の形態における機能管理部103の機能情報取得処理の動作例を示すフローチャートである。本実施の形態における検証部101は、検証処理の中で、構成管理部102から取得した構成情報内のタグ“dependency”に記載された情報について、図20に示す機能モジュールIDの取得処理を実施する。
 まず検証部101は、タグ“dependency”の内容を確認し、当該タグ“dependency”内で外部ファイルを参照しているかを判断する(ステップS401)。
 係る外部ファイルを参照している場合(ステップS401で「YES」の場合)に、検証部101は、タグ“dependency”の属性“type”に指定された外部ファイルの形式名および属性“ref”に記述された外部ファイルの位置を取得し、これらの情報を含む機能情報取得要求(図19参照)を機能管理部103に送信する(ステップS404)。例えば、図16では、タグ“dependency”の属性“type”に指定された外部ファイルの形式名は“maven”であり、属性“ref”に記述された外部ファイルの位置は、“/xxx/xxx/pom.xml”である。また、これらの情報を含む機能情報取得要求は、図19に示すように、1行目の“getfunc”により当該要求が機能情報取得要求であることを示し、続く2行目の記号″:″の前が外部ファイルの形式名、記号″:″の後が外部ファイルの位置情報を示している。
 機能管理部103は、受け付けた機能情報取得要求に″:″が含まれるかを判断し、含まれる場合には当該機能情報取得要求を機能解決部401に転送する(ステップS405)。
 機能解決部401は、機能情報取得要求を受け付けると、記号″:″の前の部分を外部ファイルの形式名として切り出し、記号″:″の後の部分を外部ファイルの位置情報として切り出す。そして、機能解決部401は、前記外部ファイルの位置情報に基づいて外部ファイル(図17参照)を取得する。また、機能解決部401は、解決可能形式情報(図18参照)を参照することにより、前記外部ファイルの形式名に対応するファイル処理モジュール群402内の処理モジュールを特定する。そして、機能解決部401は、前記取得した外部ファイルを、特定した処理モジュールにおいて処理することで、当該形式の体系に基づく外部体系IDを取得する(ステップS406)。
 例えば検証部101から機能管理部103に対して図19に示す機能情報取得要求が送信され、図17に示す外部ファイルと図18に示す解決可能形式情報が存在する場合を考える。この場合、機能管理部103は、まず″maven″を外部ファイルの形式名、″/xxx/xxx/pom.xml″を外部ファイルの位置情報として取得する。そして機能管理部103は、図17に示す外部ファイルを取得する。さらに、機能管理部103は、図18に示す解決可能形式情報を参照することにより、″maven″に対応する処理モジュールが″モジュール1″であることを特定し、前記取得した外部ファイルをモジュール1に送信する。
 モジュール1には、形式が“maven”であるファイルから、“maven”における外部体系IDを抽出する処理が実装されている。モジュール1は、図17に示すファイルから、″groupId″、″artifactId″、″version″なる各タグによって記述された情報を取得し、取得したこれらの情報を″:″によって連結し、″mysql:mysql−connector−java:5.1.17″の外部体系IDを取得する。
 次に、機能解決部401は、機能解決情報(図15参照)を参照し、ファイル処理モジュール群402内のモジュールが取得した外部体系IDを、機能管理部103が管理する機能情報に対応した機能モジュールIDへ変換し、変換によって得られた機能モジュールIDを機能管理部103に送信する(ステップS407)。機能管理部103は、第1の実施の形態と同様に、取得した機能モジュールID、あるいは、当該機能モジュールIDに関連付けられた機能モジュールIDを取得する。機能管理部103は、これらの機能モジュールIDを検証部101に送信する。そして、検証部101は、機能管理部103から検証対象システムおよびそのコンポーネントの依存する機能モジュールIDを取得する(ステップS403)。
 タグ“dependency”内で外部ファイルを参照していない場合(ステップS401で「NO」の場合)には、その後の動作は第1の実施の形態における機能情報の取得処理(ステップS106)と同様である。すなわち、検証部101は、タグ“dependency”の属性“name”に記述された機能モジュールIDを取得し、当該機能モジュールIDを含む機能情報取得要求を機能管理部103に送信(ステップS402)する。検証部101は、機能管理部103から検証対象システムおよびそのコンポーネントの依存する機能モジュールIDを取得する(ステップS403)。
 なお、上述した説明では、ファイル処理モジュール群402内のモジュールが外部ファイルから外部体系IDを抽出した後、機能解決部401が外部体系IDを機能モジュールIDに変換する例を説明した。しかしながら、本発明はこの例には限定されず、例えば、ファイル処理モジュール群402内のモジュールが機能解決情報を参照して外部体系IDを機能モジュールIDに直接変換してもよい。また、機能解決情報は記憶部104ではなく図示しない外部の記憶部に格納されてもよい。
 本実施の形態によれば、システムやコンポーネントの構成情報内に記述された依存性を定義するIDの体系と、機能情報内における機能モジュールIDの体系とが異なっていても、システムとコンポーネントとの間の依存性要件の整合性の検証を実施できる。また、本実施の形態によれば、IDの記述の柔軟性を図ることができる。これにより、利用者は、他のシステム開発支援機能の利用のために記述した依存性を定義する情報を用いることで、それ以外に情報を追加することなくシステムと、そのコンポーネントとの間の依存要件の整合性に関する検証を実施できる。
 <第5の実施形態>
 次に、本発明の第5の実施の形態について説明する。
 本実施の形態に係る検証装置100は、記憶装置104と、機能管理部103と、検証部101とを有する。
 記憶装置104は、機能モジュールIDと、機能モジュールIDと他の機能モジュールIDとの関連付け情報とを記憶している。
 機能管理部103は、外部から入力された機能モジュールID(検証対象の特定の機能モジュールID)を取得する。該IDあるいは該IDを包含する情報は、例えば検証部101から入力される。
 機能管理部103は、記憶装置104を参照して、当該機能モジュールIDに他の機能モジュールが関連付けられている場合には、当該他の機能モジュールIDを抽出して検証部101に出力する。また、機能管理部103は、入力された機能モジュールIDが他の機能モジュールIDと関連付けされていない場合には、当該入力された機能モジュールIDそのもの、あるいは、関連付けがないことを表す情報を検証部101に出力する。
 検証部101は、システムが依存する1以上の機能モジュールの各々と対応する機能モジュールIDを機能管理部103に入力する。その結果、検証部101は、機能管理部103から、機能モジュールIDあるいは関連付けがないことを表す情報を取得する。
 検証部101が、機能モジュールIDを取得した場合には、これを第1の機能モジュール集合とする。
 検証部101が、関連付けがないことを表す情報を取得した場合には、機能管理部103に入力した機能モジュールIDを第1の機能モジュール集合とする。
 すなわち、検証部101は、システムが依存する機能モジュールIDの集合を第1の機能モジュール集合とする。
 検証部101は、システムを構成するコンポーネントが依存する1以上の機能モジュールの各々と対応する機能モジュールIDを機能管理部103に入力する。その結果、検証部101は、機能管理部103から、機能モジュールIDあるいは関連付けがないことを表す情報を取得する。
 検証部101が、機能モジュールIDを取得した場合には、これを第2の機能モジュール集合とする。
 検証部101が、関連付けがないことを表す情報を取得した場合には、機能管理部103に入力した機能モジュールIDを第2の機能モジュール集合とする。
 すなわち、検証部101は、コンポーネントが依存する機能モジュールIDの集合を第2の機能モジュール集合とする。
 検証部101は、第2の機能モジュールID集合が、第1の機能モジュールID集合を包含している場合に、整合であることを表す情報を入出力装置101等に出力する。また、検証部101は、それ以外の場合に、不整合であることを表す情報を入出力装置101に出力してもよい。また、検証部101は、機能管理部103から取得した第2の機能モジュールID集合が、第1の機能モジュールID集合の空集合でない真部分集合である場合に不整合であることを表す情報を入出力装置101等に出力してもよい。
 本実施形態によれば、機能モジュールへの依存性に関し、システムの依存性とコンポーネントの依存性との間の整合性を検証可能である。それゆえ、再利用性の高いシステムの開発が促進される。また、本実施の形態によれば、制約条件までを含む依存性要件の設定が容易になるので、作業工数が削減できる他、設定漏れなどのミスを防止できる。
 以上、上述した各実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した各実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2011年10月18日に出願された日本出願特願2011−229043を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In all the drawings, the same components are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
First, each part which comprises the apparatus etc. which concern on each embodiment demonstrated below is comprised by hardware, such as a logic circuit.
Alternatively, the respective units can be realized by an information processing apparatus (computer) 10 having a general configuration illustrated in FIG. That is, the present invention, which will be described by taking each of the embodiments as an example, includes a storage unit 14 such as a hard disk that stores a control unit, a memory 12, and a computer program (hereinafter simply referred to as “program”) 15 constituting the computer. It may be realized by any combination of hardware resources such as a communication interface (I / F) 13 that is communicably connected to the network 20 and software (program) that cooperates with the hardware resources. And unless there is particular notice, the realization method and apparatus are not limited.
The control unit includes a CPU (Central Processing Unit) 11 and the like, and by executing the program 15 under the management of an OS (Operating System) that operates on the CPU, the apparatus according to each of the embodiments And the like, and the entire apparatus is controlled. Alternatively, the control unit may read a program or data from the recording medium 17 mounted on the drive device 16 or the like to the memory 12 and execute various processes according to the program or data. The recording medium 17 is, for example, an optical disk, a flexible disk, a magnetic optical disk, an external hard disk, a semiconductor memory, or the like, and records the program so that the computer can read it. The program may be obtained from an external computer (not shown) or the like that is communicably connected to the communication network 20.
<First Embodiment>
Next, a first embodiment of the present invention will be described with reference to the drawings.
[Description of configuration]
FIG. 1 is a block diagram showing a configuration example of a verification apparatus 100 according to the first embodiment for implementing the present invention.
As shown in FIG. 1, the verification device 100 according to the first embodiment of the present invention includes a front end 105, a verification unit 101, a configuration management unit 102, a function management unit 103, and a storage device 104.
The front end 105 is communicably connected to the input / output device 110 via a wired or wireless communication line such as a communication network (20). The input / output device 110 is a device external to the verification device 100 that is used by a user to input and output information. Note that the input / output device 110 may be provided inside the verification device 100.
The verification unit 101 receives a verification request input from the input / output device 110 by the user via the front end 105. In accordance with the verification request, the verification unit 101 is based on configuration information obtained from the configuration management unit 102 to be described later and functional information obtained from the function management unit 103 to be described later. Verify the consistency with the dependency of the components that make up the functional module. The operation of the verification unit 101 will be described later.
The storage device 104 stores information (configuration information, see FIG. 2) representing components of the system and components constituting the system, and function information (see FIG. 5) described later.
The configuration management unit 102 manages configuration information stored in the storage device 104. FIG. 2 is an example of configuration information managed by the configuration management unit 102 according to the first embodiment that implements the present invention. In the example shown in FIG. 2, the configuration information is described in an XML (Extensible Markup Language) format, but the format of the configuration information according to the present invention that is described by taking this embodiment as an example is not particularly limited.
System configuration information is described by a system tag. The ID (Identification) of the system is defined by the attribute “id” of the tag “system”. In the example shown in FIG. 2, two systems, system A and system B, are defined.
Further, a component constituting the system is described by a tag “component” corresponding to a child element of a tag “system” defining the system. The ID of the component is defined by the attribute “name” of the tag “component”. In the example shown in FIG. 2, the component of system A is defined as system B.
In addition, the functional module on which the system and its components depend is described by a tag “dependency” that is a child element of the tag “system” that defines the system or component. An ID (functional module ID) for identifying each of one or more functional modules on which the system or component depends is defined by an attribute “name” of the tag “dependency”.
For example, the function module ID on which the system B shown in FIG. 2 depends is “mysql”. The function module ID on which the system A depends is “rdb”. The “rdb” defined by the attribute “name” of the tag “dependency” of the system A in FIG. 2 includes three function module IDs “mysql”, “postresql”, and “oracle”, as shown in FIG. Associated (this association will be described later).
The configuration management unit 102 receives a configuration information change request input by the user via the input / output device 110 via the front end 105, and updates the configuration information according to the content of the request.
Here, the configuration information change request is, for example, a specific system addition request, update request, deletion request, or the like. The request content includes, for example, a request type related to the system and content related to the request target, as shown in FIG. In the example shown in FIG. 3, the request type is shown in the first line of the configuration change request, and the target of the request is shown in the second and subsequent lines.
For example, in the system addition request shown at the top of FIG. 3, “create” indicates that the request is an additional request for the system, and the following description indicates configuration information of the system to be added. ing.
In the system update request shown in the center of FIG. 3, “update” indicates that the request is a system update request, and the following description indicates the system to be updated and its configuration information. Yes.
Further, in the system deletion request shown at the bottom of FIG. 3, “delete” indicates that the request is a system deletion request, and the following description indicates the ID of the system to be deleted. Yes.
In addition, the configuration management unit 102 receives the configuration information acquisition request from the verification unit 101, and returns configuration information regarding the system specified in the request and the components constituting the system.
Here, for example, as shown in FIG. 4, the configuration information acquisition request includes information indicating a configuration information acquisition request and information indicating a target system for which the user wants to acquire configuration information. For example, “getcomp” on the first line in FIG. 4 indicates that the request is a configuration information acquisition request, and the subsequent second line indicates the ID of the information acquisition target system (A in this example). ing.
The storage device 104 stores functional information (see FIG. 5) that includes functional module IDs, functional module IDs, and association information with other functional module IDs.
The function management unit 103 manages function information. FIG. 5 is an example of function information managed by the function management unit 103.
In the example of FIG. 5, the functional module ID is shown, and when another functional module is associated with the functional module, the associated other functional module is displayed in parentheses on the right side of the functional module. It is described collectively. In the example shown in FIG. 5, “mysql”, “postgresql”, “oracle”, “tomcat”, “jetty”, “glassfish”, “rdb”, and “apContainer” are shown as function module IDs. “Rdb” is associated with other function module IDs “mysql”, “postgresql”, and “oracle”. “ApContainer” is associated with “tocat”, “jetty”, and “glassfish”. In the following description, the associated function module ID is also referred to as “associated function module ID”.
Here, consider a case where a functional module ID is described in a tag “dependency” in the system configuration information. In this case, when the function module ID is not associated with another function module ID, the system is expressed as having a dependency on the function module indicated by the function module ID. On the other hand, when the function module ID is associated with another function module ID, the system is expressed as having a dependency on one of the function modules indicated by the other function module ID. And For example, when the tag “dependency” in the system configuration information is <dependency name = X>, and the function module ID X is associated with the IDs of three function modules α, β, and γ The system is expressed as having a dependency on the functional module α, β, or γ (the dependency requirement of the system is also referred to as α, β, γ).
Here, the dependency will be described. When the system has dependencies on the function modules α, β, and γ (that is, when the system dependency requirement is α, β, and γ), at least one of the function modules α, β, and γ If present, it means that the system is available. That is, as the number of functional modules having dependencies increases, the system constraints are relaxed. For example, the constraint condition is relaxed such that the dependency of the system SA can be used if either the database product DA or the database product DB exists, rather than only the database product DA. Therefore, the looser the dependency requirement includes many options, the more the system becomes more independent, and the more the system can be reused.
The function management unit 103 accepts the function information acquisition request from the verification unit 101, and returns the function module ID itself when the function module ID specified in the request is not associated with another function module ID. On the other hand, when another function module is associated with the function module ID, the function management unit 103 returns the other function module ID (associated function module ID). Here, if the function module ID is not associated with another function module ID, the function management unit 103 may return information indicating that there is no association.
Here, for example, as shown in FIG. 6, the function information acquisition request includes information indicating a function information acquisition request and a function module ID. For example, “getfunc” on the first line in FIG. 6 indicates that the request is a function information acquisition request, and the description on the second line indicates the function module ID to be acquired.
The function information returned by the function management unit 103 is the function module ID specified in the request or the associated function module ID. That is, when the function module ID specified in the function information acquisition request is a function module ID for which no association is defined in the storage device 104, the function management unit 103 returns the function module ID itself. Note that the function management unit 103 may return information indicating that the association is not performed. When the functional module ID specified in the request is a functional module ID whose association is defined with another functional module ID in the storage device 104, the function management unit 103 displays all the associated functional modules. An ID (associated function module ID) is returned.
As described above, the verification unit 101 receives a verification request from the user via the front end 105, and based on the configuration information obtained from the configuration management unit 102 and the functional module ID obtained from the function management unit 103, Verify the consistency of consistency of the system and its components with respect to functional modules. Verification processing for performing such verification will be described later.
Here, the verification request includes information indicating that the request is a verification request and an ID indicating the system to be verified. For example, FIG. 7 shows an example of the verification request. “Validate” on the first line in FIG. 7 indicates that the request is a verification request, and the description on the second line indicates the ID of the system to be verified.
[Description of operation]
Next, the operation of the verification apparatus 100 according to the first embodiment of the present invention will be described.
FIG. 8 is a flowchart illustrating an operation example of the requirement definition processing for the configuration management unit 102 according to the first embodiment of this invention.
First, when a request is input from the input / output device 110, the front end 105 checks the content of the first line indicating the type of the request, and this content is a configuration information change request (see FIG. 3). If it is any one of “create”, “update”, and “delete” indicating this, the request is transmitted to the configuration management unit 102 (step S101).
When receiving the configuration information change request, the configuration management unit 102 changes the configuration information according to the type of the request (step S102). Specifically, if the type of request is “create”, that is, addition, the configuration management unit 102 adds system configuration information described in the second and subsequent lines of the request.
If the request type is “update”, that is, update, the configuration management unit 102 uses a system having the same ID as the ID according to the system configuration information and the ID described in the second and subsequent lines of the request. Update the configuration information.
If the request type is “delete”, that is, deletion, the configuration management unit 102 deletes the configuration information of the system having the same ID as the ID according to the system ID described in the second line of the request. To do.
Finally, the configuration management unit 102 outputs the configuration information change result to the input / output device 110 via the front end 105 (step S103). The change result of the configuration information is, for example, information such as a symbol indicating that the change process has been completed and the content of the change.
FIG. 9 is a flowchart showing an operation example of the verification process of the verification unit 101 according to the first embodiment of the present invention.
When the front end 105 receives an input of a request from the input / output device 110, the front end 105 checks the content of the first line indicating the type of the request, and if the content is “validate” indicating that the request is a verification request, the front end 105 The request is transmitted to the verification unit 101 (step S104).
Upon receipt of the verification request (see FIG. 7), the verification unit 101 starts verification with the system having the ID described in the second line of the request as the verification target system.
The verification unit 101 first transmits a configuration information acquisition request (see FIG. 4) including the ID of the system to the configuration management unit 102, and acquires configuration information of the system and all its components from the configuration management unit 102 (see FIG. 4). Step S105).
At this time, the configuration management unit 102 first acquires the configuration information of the system having the ID described in the configuration information acquisition request. Subsequently, the configuration management unit 102 recursively acquires configuration information of components that constitute the system, and transmits all the acquired configuration information to the verification unit 101. Here, recursive means that if the component includes another component, the configuration information of the included component is also acquired. Note that the configuration management unit 102 can acquire the configuration information of the components constituting a certain system based on the IDs described in the attribute “name” of all the tags “component” in the system.
For example, it is assumed that the configuration management unit 102 acquires a configuration information acquisition request from the verification unit 101 for the system whose ID is A as illustrated in FIG. In this case, for example, if the configuration information shown in FIG. 2 exists in the storage device 104, the configuration management unit 102 transmits the two configuration information of the system A and its component B to the verification unit 101.
Next, the verification unit 101 acquires the function module ID described in the attribute “name” of the tag “dependency” in the system configuration information from the acquired configuration information, and acquires a function information acquisition request including the ID (FIG. 6). To the function management unit 103. Further, the verification unit 101 acquires the function module ID described in the attribute “name” of the tag “dependency” in the configuration information of the system component, and acquires a function information acquisition request including the ID (see the lower side in FIG. 6). Is transmitted to the function management unit 103. Then, the verification unit 101 performs functional management on the functional module ID (first functional module ID set) on which the verification target system depends and the ID of the functional module (second functional module ID set) on which the component depends. Obtained from the unit 103 (step S106).
For example, it is assumed that the verification unit 101 obtains the configuration information illustrated in FIG. 2 from the configuration management unit 102. In this case, the verification unit 101 transmits a function information acquisition request including “rdb” to the function management unit 103 in order to acquire the function module ID (first function module ID set) on which the system A depends (FIG. 1). 6 upper reference). Further, the verification unit 101 acquires a function information acquisition request including “mysql” in order to acquire a function module ID (second function module ID set) on which the system B, which is a component of the system A, depends. Reference) is transmitted to the function management unit 103.
Then, the function management unit 103 that has acquired these function information acquisition requests from the verification unit 101 refers to the storage device 104 and sets “mysql” associated with the function module ID of “rdb” as the first function module ID set. Three functional module IDs “,“ postgresql ”, and“ oracle ”are transmitted to the verification unit 101, and at the same time, the ID of the“ mysql ”functional module that is the second functional module ID set is transmitted to the verification unit 101 ( (See FIG. 5). The function management unit 103 may transmit information indicating that there is no association to the verification unit 101 instead of the ID of the “mysql” function module.
Subsequently, the verification unit 101 checks the consistency between the system and its components based on the acquired functional module ID (step S107).
Here, when the second functional module ID set includes the first functional module ID set, the verification unit 101 outputs information indicating matching to the input / output device 110. In other cases, the verification unit 101 may output information indicating inconsistency to the input / output device 101. Also, if the second functional module ID set is a true subset other than the empty set of the first functional module ID set, it is determined that there is a mismatch and information indicating that it is mismatched is entered. You may output to the output device 110.
As a result of transmitting the function information acquisition request including the function module ID depending on the system to the function management unit 103, the verification unit 101 acquires information indicating that the function module ID is not associated from the function management unit 103. In this case, the functional module ID itself is included in the first functional module ID set. In addition, the verification unit 101 transmits, to the function management unit 103, a function information acquisition request including a function module ID on which a component constituting the system depends, and as a result, information indicating that there is no association with the function module ID. When acquired from the unit 103, the function module ID itself is included in the second function module ID set.
The verification process of the verification unit 101 will be described using a specific example. For example, if a system depends on <"mysql", "postgresql"> (ie, if the first functional module ID set is "mysql", "postgresql"), its components are <"mysql", "postgresql". When it depends on “″,” oracle ”> (that is, when the second functional module ID set is“ mysql ”,“ postgresql ”,“ oracle ”), the verification unit 101 enters information indicating matching. Output to the output device 101.
Also, when a certain system depends on <"mysql", "postgresql", "oracle">, the components are <"mysql">, <"postgres">, <"oracle">, <"mysql". If it depends on the function module indicated by any of the function module IDs of “,“ postgresql ”>, <“ postgresql ”,“ oracle ”>, <“ mysql ”,“ oracle ”>, the verification unit 101 does not. Judged to be consistent. The reason will be described using a specific example.
For example, an example will be described in which a certain system depends on <“mysql”, “postgresql”, “oracle”>, and components constituting the system depend on <“mysql”, “postgresql”>.
If a system depends on <“mysql”, “postgresql”, “oracle”>, the system can be used with any of the function modules “mysql”, “postgresql”, and “oracle”.
If the component depends on <“mysql”, “postgresql”>, the component can be used if any of the functional modules “mysql” or “postgresql” is provided. Therefore, even if “oracle” which is another functional module exists, the component is not available.
As a result, even if a “module” functional module exists, the component cannot be used, and thus the system including the component cannot be used.
However, this is consistent with the fact that the system can be used if there is a function module of “mysql”, “postgresql”, or “oracle” (that is, if there is a function module of “oracle”). Not taken. Therefore, in this case, the verification unit 101 determines that the system dependency requirement and the component dependency requirement are inconsistent.
If the dependency requirement of the system or component is an empty set, it means that there is no dependency requirement. Therefore, the system or component does not depend on any functional module, which is inconsistent. There is nothing. Therefore, if the system dependency requirement is an empty set, the verification unit 101 determines that the system is consistent. For example, when there is no information regarding the tag “dependency” in the configuration information of a certain system or component, the dependency requirement is an empty set because the system or component has no dependency.
In addition, when a system depends on <"mysql", "postgresql"> and components constituting the system depend on <"mysqll", "postgresql", "oracle">, the system is "mysql". And “postgresql” are used, the components are available, so that the matching is achieved.
Finally, the verification unit 101 transmits the verification result to the user terminal 110 via the front end 105 (step S108).
The verification result only needs to include information such as a symbol indicating matching or mismatching. The verification unit 101 may add detailed information such as an ID indicating a functional module on which the system depends on the cause of the mismatch or an ID of a component dependent on the functional module to the verification result.
According to the present embodiment, it is possible to easily verify the consistency between the system dependency and the component dependency.
<Second Embodiment>
[Description of configuration]
Next, a second embodiment of the present invention will be described. Elements similar to those in the first embodiment are denoted by the same reference numerals as those in FIG. 1, and detailed description thereof is omitted.
FIG. 10 is an example of function information managed by the function management unit 103 according to the second embodiment of this invention. In this example, the function information indicates the function module ID and information for associating the function module with another function module, as in the first embodiment, but the associated function module ID is further different. The configuration of being associated with the functional module ID is different from that of the first embodiment.
In this example, “db” is associated with “rdb”, “kvs”, “rdb” is associated with “mysql”, “postgresql”, “oracle”, and “kvs” is “simpledb”, “ associated with coachdb ". That is, “db” includes “rdb” and “kvs”, “rdb” includes “mysql”, “postgresql”, and “oracle”, and “kvs” includes “simpledb” and “couchdb”. It can also be understood as a set relationship (or tree structure) that includes.
[Description of operation]
Next, the operation of the verification apparatus 100 according to the second embodiment of the present invention will be described.
The operation of the verification apparatus 100 in the second embodiment is the same as that in the first embodiment in steps S104, S105, S107, and S108 shown in FIG. On the other hand, in the operation of step S106, the configuration in which the function management unit 103 recursively searches the function module ID association information and collects the associated function module IDs is different from the first embodiment. Here, “recursively search and collect associated function module IDs” means that when another function module ID is associated with a certain function module ID, the other function module ID is further When the function module ID is associated with another function module ID, the associated function modules are sequentially searched to obtain all the function module IDs associated with a certain function module ID.
That is, when the function management unit 103 receives a function information acquisition request from the verification unit 101, the function management unit 103 searches for another function module ID associated with the function module ID specified in the request.
When the function module ID acquired by the search is further associated with another function module ID, the function management unit 103 searches for the further associated function module ID and further associates the function module ID. When the ID is not found, the function module ID (end point function module ID) is acquired.
When the function management unit 103 acquires all end function module IDs, the function management unit 103 returns the function module IDs to the verification unit 101, and the verification unit 101 acquires these pieces of information.
As an example, the operation when the function information shown in FIG. 10 exists in the storage device 104 and the function management unit 103 receives a function information acquisition request regarding “db” will be described.
The function management unit 103 first searches for “db” to find the definition of “db (rdb, kvs)” in the storage device 104, and is enclosed in parentheses on the right side of “db”. Since there is a set of associated functional module IDs, the functional module IDs are searched recursively.
Since “rdb” and “kvs”, which are elements of “db”, have function module IDs associated with each other, the function management unit 103 sets “mysql”, “postgresql”, and “oracle”, respectively. “Simpledb” and “couchdb” are obtained from the storage device 104. When the function management unit 103 further recursively searches for these function module IDs, the function management unit 103 recognizes that no further associated IDs are found. Therefore, the function management unit 103 returns “mysql”, “postgresql”, “oracle”, “simpledb”, and “couchdb” to the verification unit 101.
According to this embodiment, dependency requirements related to many functional modules can be expressed more easily and efficiently. Therefore, consistency between the system related to the dependency requirements and the components constituting the system is improved. Verification work can be made more efficient.
<Third Embodiment>
[Description of configuration]
In the third embodiment of the present invention, a configuration in which a user or the like can add an attribute to each of the part that specifies the dependency of the configuration information and the function information, and the function information acquisition that the function management unit 103 accepts A configuration in which a user or the like can add attribute information to the request is different from that of the first embodiment. The other configuration is the same as that of the first embodiment. The same elements as those in the first embodiment are denoted by the same symbols as those in FIG. 1, and the detailed description in this embodiment is omitted.
FIG. 11 is an example of configuration information managed by the configuration management unit 102 according to the third embodiment that implements the present invention.
As shown in the example of FIG. 11, the configuration information in the present embodiment is different from the configuration information in the first embodiment in that an attribute can be added to the part for specifying the dependency. In the example shown in FIG. 11, “rdb” is specified as the function module ID on which the system A depends, and “oss” is added as the attribute “attribute”.
FIG. 12 is an example of function information managed by the function management unit 103 according to the third embodiment.
As shown in the example of FIG. 12, the functional information in the present embodiment is different from the functional information in the first embodiment in that the user can add an attribute to each functional module ID.
In this example, the added attribute is described as a pair of attribute name and value in square brackets placed on the right side of each element, and the attribute name and value are expressed in a format delimited by the symbol “=”. .
That is, in this example, “oss” is added as an attribute attribute of “mysql” and “postgresql”, and “commercial” is added as an attribute “attribute” of “orange”.
FIG. 13 is an example of a function information acquisition request according to the third embodiment.
As shown in FIG. 13, the function information acquisition request received by the function management unit 103 in this embodiment is configured such that an attribute can be added to the function module ID indicating the acquisition target. Different from information acquisition request. As illustrated in FIG. 13, the added attribute is described as a pair of attribute name and value in square brackets arranged on the right side of the functional module ID to be acquired. The attribute name and value are indicated by “=”. Expressed in a delimited format. That is, in this example, the function module ID to be acquired is “rdb”, and “oss” is added as the attribute “attribute”.
[Description of operation]
Next, an operation example of the verification apparatus 100 according to the third embodiment of the present invention will be described.
The operation of the verification apparatus 100 in the present embodiment is the same as that in the first embodiment in steps S104, S105, S107, and S108 shown in FIG. On the other hand, in the present embodiment, in step S106, the function management unit 103 verifies only the function module IDs whose attributes match, as well as the acquisition target function module IDs included in the function information acquisition request. The configuration of replying to is different from that of the first embodiment.
In other words, in the present embodiment, when the function management unit 103 receives the function information acquisition request from the verification unit 101, all the function module IDs associated with the ID are based on the function module ID specified in the request. Search for.
Subsequently, when an attribute is specified in the request, the function management unit 103 extracts only the function module ID to which the same attribute is added from the function module IDs found by the search. This is the function module ID that finally responds.
As an example, a description will be given of an operation example when the function information shown in FIG. 12 exists in the function management unit 103 and the function management unit 103 receives the function information acquisition request shown in FIG.
First, the function management unit 103 searches for a function module ID associated with “rdb” to obtain “mysql [attribute = oss]”, “postgresql [attribute = oss]”, and “oracle [attribute = commercial]”. Find three functional module IDs.
Subsequently, since the attribute “attribute = oss” is added to the “rdb” that is the acquisition target indicated by the function information acquisition request, the function management unit 103 includes the attribute attribute among the searched function module IDs. Only those whose value is “oss” are extracted, and the function module IDs returned to the verification unit 101 are set to “mysql” and “postgresql”.
The function management unit 103 extracts only elements having attribute name / value pairs added in the function information acquisition request at the time of search. However, the function management unit 103 extracts elements having no corresponding attribute or Elements other than attribute name / value pairs may be extracted. The function management unit 103 may further control the extraction method of the function module ID based on the attribute as described above by adding a meta attribute.
According to the present embodiment, dependency requirements can be efficiently expressed even when the functional module classification is complicated, and the consistency verification work between the system related to the dependency requirements and its components can be made efficient. .
<Fourth Embodiment>
[Description of configuration]
FIG. 14 is a block diagram illustrating a configuration example of the verification apparatus 100 according to the fourth embodiment that implements the present invention.
As illustrated in FIG. 14, the verification apparatus 100 according to the fourth embodiment of the present invention relates to a function resolution unit 401 that associates an ID (external system ID) in a specific ID system with a function module ID in the function information. Is different from the first embodiment. Also, the configuration of including a file processing module group 402 for extracting the external system ID included in the file from a specific format file is different from that of the first embodiment.
Elements similar to those in the first embodiment are denoted by the same symbols as those in FIG. 1 and detailed description thereof is omitted.
The storage device 104 records function solution information. The function resolution information is information that associates an ID (external system ID) in the specific ID system with the function module ID managed by the function management unit 103. The function resolution information is managed by the function resolution unit 401. The function resolution unit 401 is communicably connected to the function management unit 103 and the storage device 104.
FIG. 15 is an example of function resolution information managed by the function resolution unit 401. In the example shown in FIG. 15, an external system ID in a certain ID system is described in a tag “aliases”, and information indicating the ID system is described by an attribute “type” of the tag. A plurality of tags “alias” are listed in the tag “aliases”, and each tag “alias” describes information that associates an external system ID and a functional module ID in the ID system. For example, in the tag “alias”, an external system ID in the ID system is described in the attribute “name”, and a function module ID associated with the external system ID is described in the attribute “value” in the tag.
In the example shown in FIG. 15, it is first declared that information for associating an external system ID and a functional module ID in the “maven” ID system is described by an attribute “type” of the tag “aliases”. Further, in the example shown in FIG. 15, “mysql: mysql-connector-java: 5.1.17” and the function module ID “mysql” in the ID system of “maven” by the tag “alias” in the tag “aliases”. "Is associated with the symbol" = ".
FIG. 16 is an example of configuration information managed by the configuration management unit 102 according to the fourth embodiment, and FIG. 17 is stored in an external storage device or the like referenced by the configuration management unit 102 according to the fourth embodiment. It is an example of the made external file.
In the present embodiment, it is possible to define information related to the dependency requirements of the system and its components by referring to an external file. For example, in the configuration information shown in FIG. 16, when the dependency of the system B is defined by reference to an external file, the position information of the external file is specified by a ref attribute in the tag “dependency”, and the format of the file Is specified by the attribute “type”. That is, in the configuration information shown in FIG. 16, the dependency of the system B is defined by an external file specified by “/xxx/xxx/pom.xml”, and the file format (external file format name) is the format “maven”. ". Here, the name indicating the ID system and the format name of the external file are associated with each other and have the same name, but they may not be the same.
FIG. 17 illustrates the contents of the external file. In the “maven” file “pom.xml”, the dependency on the module is described by the tag “dependencies”, and the information of each dependency is described by the tag “dependency”.
The tag “dependency” includes a tag “groupId”, a tag “artifactId”, a tag “version”, and the like. In “maven”, the dependency is defined by at least these three pieces of information (tag “groupId”, tag “artifactId”, and tag “version”). In this example, “groupId” is defined as “mysql”, “artifactId” is defined as “mysql-connector-java”, and “version” is defined as “5.1.17”.
The format of the external file that can be resolved by the function resolution unit 401 is managed by the function resolution unit 401 as resolvable format information and recorded in the storage device 104. FIG. 18 is an example of resolvable format information managed by the function resolution unit 401 according to the fourth embodiment.
The resolvable format information illustrated in FIG. 18 includes two items: the format name of the external file and the name (module name) of the processing module that extracts the external system ID from the file in the format indicated by the format name of the external file. Tabular information consisting of is recorded. For example, module 1 can extract an external system ID from an external file of the format “maven” (format “maven” can be solved by module 1).
The processing module may be incorporated by a user or the like in a state that can be called from the function resolution unit 401 as a plug-in for each format.
FIG. 19 is an example of a function information acquisition request according to the fourth embodiment for implementing the present invention.
The function information acquisition request in the present embodiment includes, for example, the location information of the external file to be referenced instead of the function module ID to be acquired and the format name of the external file.
In the example shown in FIG. 19, the format name of the external file and the position of the file are described by being separated by “:”. Specifically, in FIG. 19, “maven” is designated as the format name of the external file, and “/xxx/xxx/pom.xml” is designated as the file position.
The function management unit 103 according to the present embodiment acquires function information using the function resolution unit 401 based on the above-described external file format name and file position information.
[Description of operation]
Next, an operation example of the verification apparatus 100 according to the fourth embodiment for carrying out the present invention will be described with reference to FIG. The same operations as those in the first embodiment are denoted by the same symbols as those in FIG. 9, and detailed description thereof is omitted. Since steps other than step S106 are the same as those of the first embodiment shown in FIG. 9, the steps will be described.
FIG. 20 is a flowchart illustrating an operation example of the function information acquisition process of the function management unit 103 according to the fourth embodiment. The verification unit 101 according to the present embodiment performs the function module ID acquisition process illustrated in FIG. 20 for the information described in the tag “dependency” in the configuration information acquired from the configuration management unit 102 during the verification process. To do.
First, the verification unit 101 confirms the content of the tag “dependency” and determines whether an external file is referenced within the tag “dependency” (step S401).
When referring to such an external file (in the case of “YES” in step S401), the verification unit 101 sets the format name and attribute “ref” of the external file specified in the attribute “type” of the tag “dependency”. The position of the described external file is acquired, and a function information acquisition request (see FIG. 19) including these pieces of information is transmitted to the function management unit 103 (step S404). For example, in FIG. 16, the format name of the external file specified in the attribute “type” of the tag “dependency” is “maven”, and the position of the external file described in the attribute “ref” is “/ xxx / xxx”. /Pom.xml ". Further, as shown in FIG. 19, the function information acquisition request including these pieces of information indicates that the request is a function information acquisition request by “getfunc” on the first line, and the symbol “:” on the second line that follows. The format name of the external file is before the symbol, and the position information of the external file is after the symbol “:”.
The function management unit 103 determines whether “:” is included in the received function information acquisition request. If included, the function management unit 103 transfers the function information acquisition request to the function resolution unit 401 (step S405).
Upon receiving the function information acquisition request, the function resolution unit 401 extracts the part before the symbol “:” as the format name of the external file, and extracts the part after the symbol “:” as the position information of the external file. The function resolution unit 401 acquires an external file (see FIG. 17) based on the position information of the external file. Further, the function resolution unit 401 identifies processing modules in the file processing module group 402 corresponding to the format name of the external file by referring to the resolvable format information (see FIG. 18). Then, the function resolution unit 401 acquires the external system ID based on the system of the format by processing the acquired external file in the specified processing module (step S406).
For example, consider a case in which the function information acquisition request shown in FIG. 19 is transmitted from the verification unit 101 to the function management unit 103, and the external file shown in FIG. 17 and the resolvable format information shown in FIG. In this case, the function management unit 103 first acquires “maven” as the external file format name and “/xxx/xxx/pom.xml” as the external file position information. The function management unit 103 acquires the external file shown in FIG. Further, the function management unit 103 identifies that the processing module corresponding to “maven” is “module 1” by referring to the resolvable format information shown in FIG. Send to.
The module 1 is implemented with a process for extracting an external system ID in “maven” from a file having the format “maven”. The module 1 acquires the information described by the tags “groupId”, “artifactId”, and “version” from the file shown in FIG. 17, concatenates the acquired information by “:”, and “mysql: mysql-connector-java: 5.1.17 ″ external system ID is acquired.
Next, the function resolution unit 401 refers to the function resolution information (see FIG. 15), and the function corresponding to the function information managed by the function management unit 103 using the external system ID acquired by the module in the file processing module group 402. The module ID is converted to the module ID, and the function module ID obtained by the conversion is transmitted to the function management unit 103 (step S407). As in the first embodiment, the function management unit 103 acquires the acquired function module ID or the function module ID associated with the function module ID. The function management unit 103 transmits these function module IDs to the verification unit 101. Then, the verification unit 101 acquires the functional module ID on which the verification target system and its components depend from the function management unit 103 (step S403).
When the external file is not referred to in the tag “dependency” (“NO” in step S401), the subsequent operation is the same as the function information acquisition process (step S106) in the first embodiment. is there. That is, the verification unit 101 acquires the function module ID described in the attribute “name” of the tag “dependency”, and transmits a function information acquisition request including the function module ID to the function management unit 103 (step S402). The verification unit 101 acquires the functional module ID on which the verification target system and its components depend from the function management unit 103 (step S403).
In the above description, after the module in the file processing module group 402 extracts the external system ID from the external file, the function resolution unit 401 converts the external system ID into the functional module ID. However, the present invention is not limited to this example. For example, a module in the file processing module group 402 may directly convert an external system ID into a functional module ID by referring to the function resolution information. Further, the function solution information may be stored not in the storage unit 104 but in an external storage unit (not shown).
According to the present embodiment, even if the system of ID that defines the dependency described in the configuration information of the system or component is different from the system of functional module ID in the function information, the system and component Verification of the consistency of dependency requirements between Further, according to the present embodiment, it is possible to achieve flexibility in description of ID. This allows the user to use the information that defines the dependencies described for the use of other system development support functions, and to add dependencies between the system and its components without adding any other information. Can verify the consistency of requirements.
<Fifth Embodiment>
Next, a fifth embodiment of the present invention will be described.
The verification device 100 according to the present embodiment includes a storage device 104, a function management unit 103, and a verification unit 101.
The storage device 104 stores functional module IDs and association information between functional module IDs and other functional module IDs.
The function management unit 103 acquires a function module ID (a specific function module ID to be verified) input from the outside. The ID or information including the ID is input from the verification unit 101, for example.
The function management unit 103 refers to the storage device 104, and extracts another function module ID and outputs it to the verification unit 101 when another function module is associated with the function module ID. In addition, when the input function module ID is not associated with another function module ID, the function management unit 103 verifies the input function module ID itself or information indicating that there is no association. 101.
The verification unit 101 inputs a function module ID corresponding to each of one or more function modules on which the system depends to the function management unit 103. As a result, the verification unit 101 acquires information indicating that there is no functional module ID or association from the function management unit 103.
When the verification unit 101 acquires the functional module ID, it is set as a first functional module set.
When the verification unit 101 acquires information indicating that there is no association, the function module ID input to the function management unit 103 is set as the first function module set.
That is, the verification unit 101 sets a set of functional module IDs on which the system depends as a first functional module set.
The verification unit 101 inputs a function module ID corresponding to each of one or more function modules on which components constituting the system depend, to the function management unit 103. As a result, the verification unit 101 acquires information indicating that there is no functional module ID or association from the function management unit 103.
When the verification unit 101 acquires the functional module ID, it is set as the second functional module set.
When the verification unit 101 acquires information indicating that there is no association, the function module ID input to the function management unit 103 is set as the second function module set.
That is, the verification unit 101 sets a set of functional module IDs on which components depend as a second functional module set.
When the second functional module ID set includes the first functional module ID set, the verification unit 101 outputs information indicating matching to the input / output device 101 or the like. In other cases, the verification unit 101 may output information indicating inconsistency to the input / output device 101. The verification unit 101 also displays information indicating that the second functional module ID set acquired from the function management unit 103 is inconsistent when the second functional module ID set is a true subset that is not an empty set of the first functional module ID set. You may output to the input / output device 101 grade | etc.,.
According to the present embodiment, it is possible to verify the consistency between the system dependency and the component dependency with respect to the dependency on the functional module. Therefore, development of a highly reusable system is promoted. In addition, according to the present embodiment, it becomes easy to set the dependency requirement including the constraint condition, so that the number of work steps can be reduced and mistakes such as omission of setting can be prevented.
The present invention has been described above using the above-described embodiments as exemplary examples. However, the present invention is not limited to the above-described embodiments. That is, the present invention can apply various modes that can be understood by those skilled in the art within the scope of the present invention.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2011-229043 for which it applied on October 18, 2011, and takes in those the indications of all here.
 10    情報処理装置(コンピュータ)
 11    CPU
 12    メモリ
 13    通信インタフェース(I/F)
 14    記憶装置
 15    コンピュータ・プログラム
 16    ドライブ装置
 17    記憶媒体
 20    通信ネットワーク
 100   検証装置
 101   検証部
 102   構成管理部
 103   機能管理部
 104   記憶装置
 105   フロントエンド
 110   利用者端末
 401   機能解決部
 402   ファイル処理モジュール群
10 Information processing device (computer)
11 CPU
12 Memory 13 Communication interface (I / F)
DESCRIPTION OF SYMBOLS 14 Storage apparatus 15 Computer program 16 Drive apparatus 17 Storage medium 20 Communication network 100 Verification apparatus 101 Verification part 102 Configuration management part 103 Function management part 104 Storage apparatus 105 Front end 110 User terminal 401 Function resolution part 402 File processing module group

Claims (10)

  1.  機能モジュールIDと、その機能モジュールIDと他の機能モジュールIDとの関連付け情報と、を記憶する記憶手段と、
     検証対象である特定の機能モジュールIDに関して前記記憶手段を参照して、該特定の機能モジュールIDが前記他の機能モジュールIDと関連付けられている場合には、前記他の機能モジュールIDを出力する一方で、関連付けされていない場合には、該特定の機能モジュールIDまたは関連付けがないことを表す情報を出力する機能管理手段と、
     第1のシステムが依存する機能モジュールIDを、前記特定の機能モジュールIDとして前記機能管理手段に入力した際に、前記機能管理手段から少なくとも何れかの機能モジュールIDを取得した場合には、取得した機能モジュールIDを、第1の機能モジュールID集合とする一方で、前記機能管理手段から前記関連付けがないことを表す情報を取得した場合には、前記特定の機能モジュールIDとして前記機能管理手段に入力した機能モジュールIDを、該第1の機能モジュールID集合とし、
     前記第1のシステムを構成する第2のシステムが依存する機能モジュールIDを、前記特定の機能モジュールIDとして前記機能管理手段に入力した際に、前記機能管理手段から少なくとも何れかの機能モジュールIDを取得した場合には、取得した機能モジュールIDを、第2の機能モジュールID集合とする一方で、前記機能管理手段から前記関連付けがないことを表す情報を取得した場合には、前記特定の機能モジュールIDとして前記機能管理手段に入力した機能モジュールIDを、該第2の機能モジュールID集合とし、
     前記第2の機能モジュールID集合が、前記第1の機能モジュールID集合を包含している場合に、整合であることを表す情報を出力する検証手段と、
     を備える検証装置。
    Storage means for storing a functional module ID and association information between the functional module ID and another functional module ID;
    With reference to the storage unit for the specific functional module ID to be verified, when the specific functional module ID is associated with the other functional module ID, the other functional module ID is output. And if not associated, a function management means for outputting information indicating that there is no specific function module ID or association;
    When the function module ID on which the first system depends is input to the function management unit as the specific function module ID, if at least one of the function module IDs is acquired from the function management unit, the function module ID is acquired. When the function module ID is the first set of function module IDs and information indicating that there is no association is acquired from the function management unit, the function module ID is input to the function management unit as the specific function module ID. The function module ID thus obtained is set as the first function module ID set,
    When the function module ID on which the second system constituting the first system depends is input to the function management unit as the specific function module ID, at least one of the function module IDs is input from the function management unit. If acquired, the acquired functional module ID is set as the second functional module ID set, while if the information indicating that there is no association is acquired from the functional management unit, the specific functional module The function module ID input to the function management means as an ID is used as the second function module ID set,
    Verifying means for outputting information indicating matching when the second functional module ID set includes the first functional module ID set;
    A verification apparatus comprising:
  2.  前記機能管理手段は、
    外部から取得した機能モジュールIDと関連付けされた前記機能モジュールIDが、さらに前記他の機能ジュールIDと関連付けされている場合には、当該他の機能モジュールIDを抽出する請求項1に記載の検証装置。
    The function management means includes
    The verification device according to claim 1, wherein when the functional module ID associated with the functional module ID acquired from the outside is further associated with the other functional module ID, the other functional module ID is extracted. .
  3.  前記記憶手段は、属性条件が付加された前記機能モジュールIDを記憶し、
     前記機能管理手段は、前記属性条件が付加された前記機能モジュールIDを取得して、その属性条件と同一の属性条件が付加された前記機能モジュールIDを前記記憶手段から抽出して出力する請求項1または請求項2に記載の検証装置。
    The storage means stores the functional module ID to which an attribute condition is added,
    The function management unit acquires the function module ID to which the attribute condition is added, extracts the function module ID to which the same attribute condition as the attribute condition is added, and outputs the function module ID. The verification device according to claim 1 or 2.
  4.  前記記憶手段は、外部ファイルの形式名と、その外部ファイルの内容から前記機能モジュールIDを抽出可能なモジュール名称と、を関連付けて記憶し、
     入力された外部ファイル名とその外部ファイルの形式名とを取得し、前記取得した外部ファイル名を基に、前記外部ファイルの内容を外部から取得し、
     前記記憶手段を参照することにより、前記取得した形式名に関連付けされている前記モジュール名称によって特定されるモジュールに、前記取得した外部ファイルから前記機能モジュールIDを抽出させ、その機能モジュールIDを前記機能管理手段に出力する機能解決手段をさらに備える請求項1乃至3のいずれかに記載の検証装置。
    The storage means associates and stores a format name of an external file and a module name from which the functional module ID can be extracted from the contents of the external file,
    Obtain the input external file name and the format name of the external file, and based on the acquired external file name, acquire the content of the external file from the outside,
    By referring to the storage means, the module specified by the module name associated with the acquired format name is caused to extract the function module ID from the acquired external file, and the function module ID is set to the function The verification apparatus according to claim 1, further comprising a function solving unit that outputs to the management unit.
  5.  機能モジュールIDと、その機能モジュールIDと他の機能モジュールIDとの関連付け情報と、を記憶する記憶手段を備えるコンピュータに、
     検証対象である特定の機能モジュールIDに関して前記記憶手段を参照して、該特定の機能モジュールIDが前記他の機能モジュールIDと関連付けられている場合には、前記他の機能モジュールIDを出力する一方で、関連付けされていない場合には、該特定の機能モジュールIDまたは関連付けがないことを表す情報を出力する機能管理処理と、
     第1のシステムが依存する機能モジュールIDを、前記特定の機能モジュールIDとして前記機能管理処理に入力した際に、前記機能管理処理によって少なくとも何れかの機能モジュールIDが取得された場合には、取得した機能モジュールIDを、第1の機能モジュールID集合とする一方で、前記機能管理処理によって前記関連付けがないことを表す情報が取得された場合には、前記特定の機能モジュールIDとして前記機能管理処理に入力した機能モジュールIDを、該第1の機能モジュールID集合とし、
     前記第1のシステムを構成する第2のシステムが依存する機能モジュールIDを、前記特定の機能モジュールIDとして前記機能管理処理に入力し、前記機能管理処理によって前記機能モジュールIDを取得した場合には、取得した機能モジュールIDを、第2の機能モジュールID集合とする一方で、前記機能管理処理によって前記関連付けがないことを表す情報を取得した場合には、前記特定の機能モジュールIDとして前記機能管理処理に入力した機能モジュールIDを、該第2の機能モジュールID集合とし、
     前記第2の機能モジュールID集合が、前記第1の機能モジュールID集合を包含している場合に、整合であることを表す情報を出力する検証処理と、
     を実行させる検証プログラム。
    In a computer provided with storage means for storing a functional module ID and association information between the functional module ID and another functional module ID,
    With reference to the storage unit for the specific functional module ID to be verified, when the specific functional module ID is associated with the other functional module ID, the other functional module ID is output. In the case of not being associated with each other, a function management process for outputting information indicating that there is no specific function module ID or association;
    When a function module ID on which the first system depends is input to the function management process as the specific function module ID, if at least one of the function module IDs is acquired by the function management process, the acquisition is performed. If the information indicating that there is no association is acquired by the function management process while the function module ID is the first function module ID set, the function management process is used as the specific function module ID. The function module ID input to is set as the first function module ID set,
    When the function module ID on which the second system constituting the first system depends is input to the function management process as the specific function module ID, and the function module ID is acquired by the function management process When the acquired function module ID is used as the second function module ID set, and information indicating that the association is not found is acquired by the function management process, the function management is used as the specific function module ID. The function module ID input to the process is set as the second function module ID set.
    A verification process for outputting information indicating matching when the second functional module ID set includes the first functional module ID set;
    Verification program that executes
  6.  前記機能管理処理は、
    外部から取得した機能モジュールIDと関連付けされた前記機能モジュールIDが、さらに前記他の機能ジュールIDと関連付けされている場合には、当該他の機能モジュールIDを抽出する請求項5に記載の検証プログラム。
    The function management process includes:
    The verification program according to claim 5, wherein when the functional module ID associated with the functional module ID acquired from the outside is further associated with the other functional module ID, the other functional module ID is extracted. .
  7.  前記記憶手段は、属性条件が付加された前記機能モジュールIDを記憶し、
     前記機能管理処理は、前記属性条件が付加された前記機能モジュールIDを取得して、その属性条件と同一の属性条件が付加された前記機能モジュールIDを前記記憶手段から抽出して出力する請求項5または請求項6に記載の検証プログラム。
    The storage means stores the functional module ID to which an attribute condition is added,
    The function management processing acquires the function module ID to which the attribute condition is added, extracts the function module ID to which the same attribute condition as the attribute condition is added, and outputs the extracted function module ID. The verification program according to claim 5 or claim 6.
  8.  前記記憶手段は、外部ファイルの形式名と、その外部ファイルの内容から前記機能モジュールIDを抽出可能なモジュールの名称と、を関連付けて記憶し、
     入力された外部ファイル名とその外部ファイルの形式名とを取得し、前記取得した外部ファイル名を基に、前記外部ファイルの内容を外部から取得し、
     前記記憶手段を参照することにより、前記取得した形式名に関連付けされている前記モジュール名称によって特定されるモジュールに、前記取得した外部ファイルから前記機能モジュールIDを抽出させ、その機能モジュールIDを前記機能管理処理に出力する機能解決処理を、前記コンピュータに実行させる請求項5乃至7のいずれかに記載の検証プログラム。
    The storage means associates and stores the external file format name and the module name from which the functional module ID can be extracted from the content of the external file,
    Obtain the input external file name and the format name of the external file, and based on the acquired external file name, acquire the content of the external file from the outside,
    By referring to the storage means, the module specified by the module name associated with the acquired format name is caused to extract the function module ID from the acquired external file, and the function module ID is set to the function The verification program according to claim 5, wherein the computer executes a function solution process to be output to a management process.
  9.  コンピュータによって、機能モジュールIDと、その機能モジュールIDと他の機能モジュールIDとの関連付け情報と、を記憶する記憶手段に記憶し、
     前記コンピュータによって、検証対象である特定の機能モジュールIDに関して前記記憶手段を参照して、該特定の機能モジュールIDが前記他の機能モジュールIDと関連付けられている場合には、前記他の機能モジュールIDを出力する一方で、関連付けされていない場合には、該特定の機能モジュールIDまたは関連付けがないことを表す情報を出力し、
     前記コンピュータによって、第1のシステムが依存する前記機能モジュールIDを、前記特定の機能モジュールIDとして入力した際に、少なくとも何れかの機能モジュールIDを取得した場合には、取得した機能モジュールIDを、第1の機能モジュールID集合とする一方で、前記関連付けがないことを表す情報を取得した場合には、前記特定の機能モジュールとして入力した機能モジュールIDを第1の機能モジュールID集合とし、
     前記コンピュータによって、前記第1のシステムを構成する第2のシステムが依存する機能モジュールIDを入力した際に、少なくとも何れかの機能モジュールIDを取得した場合には、取得した機能モジュールIDを、第2の機能モジュールID集合とする一方で、前記関連付けがないことを表す情報を取得した場合には、前記特定の機能モジュールIDとして入力した機能モジュールIDを、該第2の機能モジュールID集合とし、
     前記コンピュータによって、前記第2の機能モジュールID集合が、前記第1の機能モジュールID集合を包含している場合に、整合であることを表す情報を出力する検証方法。
    By the computer, the function module ID and the association information between the function module ID and another function module ID are stored in a storage unit for storing,
    When the computer refers to the storage unit for a specific functional module ID to be verified, and the specific functional module ID is associated with the other functional module ID, the other functional module ID On the other hand, if it is not associated, it outputs information indicating that there is no specific functional module ID or association,
    When at least one of the functional module IDs is acquired when the computer inputs the functional module ID on which the first system depends as the specific functional module ID, the acquired functional module ID is On the other hand, when the information indicating that there is no association is obtained while the first functional module ID set, the functional module ID input as the specific functional module is set as the first functional module ID set,
    When at least one of the functional module IDs is acquired by the computer when the functional module ID on which the second system constituting the first system depends is input by the computer, the acquired functional module ID is On the other hand, when information indicating that there is no association is acquired, the function module ID input as the specific function module ID is set as the second function module ID set.
    A verification method for outputting information indicating matching when the second functional module ID set includes the first functional module ID set by the computer.
  10.  外部から取得した機能モジュールIDと関連付けされた前記機能モジュールIDが、さらに前記他の機能ジュールIDと関連付けされている場合には、当該他の機能モジュールIDを抽出する請求項9に記載の検証方法。 The verification method according to claim 9, wherein when the functional module ID associated with the functional module ID acquired from the outside is further associated with the other functional module ID, the other functional module ID is extracted. .
PCT/JP2012/077173 2011-10-18 2012-10-16 Verification device, verification method, and computer program WO2013058394A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013539719A JP6007916B2 (en) 2011-10-18 2012-10-16 Verification device, verification method, and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-229043 2011-10-18
JP2011229043 2011-10-18

Publications (1)

Publication Number Publication Date
WO2013058394A1 true WO2013058394A1 (en) 2013-04-25

Family

ID=48141037

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/077173 WO2013058394A1 (en) 2011-10-18 2012-10-16 Verification device, verification method, and computer program

Country Status (2)

Country Link
JP (1) JP6007916B2 (en)
WO (1) WO2013058394A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444098A (en) * 2020-03-26 2020-07-24 广东电网有限责任公司惠州供电局 Computer verification system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013224A (en) * 2002-06-03 2004-01-15 Mitsubishi Electric Corp Software production system, device and method for software constitution management, and program
US20040255272A1 (en) * 2003-06-16 2004-12-16 Microsoft Corporation Component dependency matrices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013224A (en) * 2002-06-03 2004-01-15 Mitsubishi Electric Corp Software production system, device and method for software constitution management, and program
US20040255272A1 (en) * 2003-06-16 2004-12-16 Microsoft Corporation Component dependency matrices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444098A (en) * 2020-03-26 2020-07-24 广东电网有限责任公司惠州供电局 Computer verification system
CN111444098B (en) * 2020-03-26 2023-01-24 广东电网有限责任公司惠州供电局 Computer verification system

Also Published As

Publication number Publication date
JP6007916B2 (en) 2016-10-19
JPWO2013058394A1 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
US11940999B2 (en) Metadata-driven computing system
CN108399256B (en) Heterogeneous database content synchronization method and device and middleware
US10430164B2 (en) Automation of canonical model usage in application development processes
US20140164318A1 (en) Method for developing multi-tenant application and data accessing method of multi-tenant application and system using the same
US20120150935A1 (en) Methods, apparatus, systems and computer readable mediums for use in sharing information between entities
US20100001834A1 (en) System and method for a message registry and message handling in a service -oriented business framework
US20140207826A1 (en) Generating xml schema from json data
US9754242B2 (en) Deployment mechanism for non-versioning business process artifacts
CN109814884A (en) A kind of method and system carrying out resource management according to game resource type
CN108334609B (en) Method, device, equipment and storage medium for realizing JSON format data access in Oracle
JP2008269136A (en) Device and method for supporting model drive type development
US8037209B2 (en) Device configuration integration information managing device and device configuration information managing device
CN104102489A (en) Third-party database APP (Application) construction system and construction method
CN113138781B (en) CSV configuration updating method and storage medium
US6748388B1 (en) Method and mechanism for storing and managing self-descriptive heterogeneous data
US20040267796A1 (en) Data exchanger apparatus, data exchange method and program therefore
JP6007916B2 (en) Verification device, verification method, and computer program
US11900269B2 (en) Method and apparatus for managing knowledge base, device and medium
CN111401027B (en) Format template file upgrading method and device
US9465687B2 (en) Information processing apparatus and information processing method
US9165024B2 (en) Management apparatus and management method
US9483578B2 (en) Computer-readable storage medium storing update program, update method, and update device
CN110399386A (en) A kind of SQL UPDATE method and control system based on Presto
TW201448544A (en) Message exchange via generic TLV generator and parser
CN112035146A (en) Firmware update method, security device, and computer-readable storage medium

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: 12841739

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013539719

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: 12841739

Country of ref document: EP

Kind code of ref document: A1