WO2019244446A1 - システム構成導出装置、方法およびプログラム - Google Patents

システム構成導出装置、方法およびプログラム Download PDF

Info

Publication number
WO2019244446A1
WO2019244446A1 PCT/JP2019/015312 JP2019015312W WO2019244446A1 WO 2019244446 A1 WO2019244446 A1 WO 2019244446A1 JP 2019015312 W JP2019015312 W JP 2019015312W WO 2019244446 A1 WO2019244446 A1 WO 2019244446A1
Authority
WO
WIPO (PCT)
Prior art keywords
component
information
rule
configuration
unit
Prior art date
Application number
PCT/JP2019/015312
Other languages
English (en)
French (fr)
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 US16/973,974 priority Critical patent/US11403270B2/en
Priority to JP2020525290A priority patent/JP6989014B2/ja
Publication of WO2019244446A1 publication Critical patent/WO2019244446A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Definitions

  • the present invention relates to a system configuration deriving device, a system configuration deriving method, and a system configuration deriving program.
  • Non-Patent Document 1 discloses that a system for a construction purpose can be constructed by using a template of a component as a development asset, changing a combination of components, or changing a value of a parameter defined for each component. A technique for performing a design according to the description is described.
  • Non-Patent Document 2 describes a technology for automatically designing settings such as path information of each network device required to satisfy communication requirements in a topology, based on topology information of a communication network and information on communication requirements. I have.
  • Non-Patent Document 3 discloses that a change that can be performed on a base configuration expressed as a graph is defined as a graph rewriting rule, and rewrites the base configuration according to the selected rule. A technique for designing is described.
  • Patent Document 1 describes an automatic design data generation device including a rule storage unit for storing a set of rewrite rules for rewriting variable nodes of a graph of a design architecture of a system represented by a hierarchical structure.
  • Patent Document 2 describes a construction method for constructing an expert system.
  • Patent Document 3 describes a system construction support system that has an advantage that it is not necessary to add a setting corresponding to each combination of components.
  • Non-Patent Document 4 describes a machine learning technique relating to a graph.
  • JP 2011-13750 A JP-A-2-58131 International Publication No. WO 2017/033441
  • an object of the present invention is to provide a system configuration deriving device, a system configuration deriving method, and a system configuration deriving program that can efficiently derive a system configuration when constructing a system.
  • a system configuration derivation device is a system configuration derivation device that embodies the configuration requirements of a construction target system by repeatedly updating the configuration requirements of the construction target system, and includes a configuration requirement that has been determined to be appropriate in the past.
  • Search history storage means for storing a search history, and, for each transition from one configuration requirement to the next configuration requirement from the search history, a part of the configuration requirements applied to one configuration requirement is described in more detail
  • Information extraction means for extracting a set of predetermined information including a reification rule, which is a rewriting rule, and a set of predetermined information extracted by the information extraction means as learning data.
  • Learning means for learning a method of calculating a score indicating a degree of appropriateness of the materialization rule included in the set; materialization rule storage means for storing a plurality of materialization rules; Input means for inputting the configuration requirements of the rule, and the materialization rules applicable to the component of interest are read from the materialization rule storage means, and the read materialization rules and their corresponding For each pair with the application point of the instantiation rule, a set of predetermined information is extracted, a score is calculated by applying the set of the predetermined information to the calculation method, and the predetermined information extracted for each pair is calculated. And a set of predetermined information having the highest score among a set of predetermined information whose score has been calculated and not yet selected, and a set of the predetermined information.
  • a search means for repeatedly selecting a component obtained by applying the pair to a component to be applied to the pair corresponding to the pair, as a component of interest, When a new component is input to the input unit, the search unit selects the new component as the component of interest, and the search unit has not been selected because the score has been calculated previously. In the case where there is no set made up of no predetermined information, a set consisting of predetermined information having the highest score is selected from the set made up of predetermined information extracted for each pair.
  • system configuration deriving method is a system configuration deriving method for embodying the configuration requirements of the construction target system by repeatedly updating the configuration requirements of the construction target system, wherein the configuration determined to be appropriate in the past is From the search history of requirements, at each transition from one configuration requirement to the next, a reification rule applied to one configuration requirement and rewritten to describe a part of the configuration requirement in more detail.
  • a method of calculating a score indicating a degree of adequacy of the instantiation rule included in a set of predetermined information by extracting a set of predetermined information including a set of extracted predetermined information as learning data, Is read, and from the instantiation rule storage means that stores a plurality of instantiation rules, the instantiation rule applicable to the constituent element of interest is read, and the read instantiation rule and attention are read.
  • a set of predetermined information is extracted, and a score is calculated by applying the set of the predetermined information to the calculation method, A set of predetermined information extracted for each, and a set of predetermined information having the highest score among a set of predetermined information for which a score has been calculated and not yet selected is selected, By repeatedly selecting a component that is obtained by applying the pair to the component to which the pair corresponding to the set of the predetermined information is applied as the component of interest, Is input, the new component is selected as the component of interest, and a set of predetermined information for which scores have been calculated and not yet selected has been selected. If not standing, among sets of predetermined information extracted for each pair, and selects the set of most score consists higher predetermined information.
  • system configuration derivation program is a system configuration derivation program for causing a computer to repeat the configuration requirements of the construction target system, thereby realizing the configuration requirements of the construction target system.
  • a learning process for learning a method of calculating a score indicating the degree of appropriateness of the included embodying rules, and an embodiment for storing a plurality of embodying rules From the rule storage means, read the materialization rule applicable to the component of interest, and for each pair of the read materialization rule and the application location of the materialization rule in the component of interest, A set of information is extracted, a score is calculated by applying the set of the pre
  • the present invention may be a computer-readable recording medium recording the above-described system configuration deriving program.
  • the configuration of the system when constructing a system, the configuration of the system can be efficiently derived.
  • FIG. 9 is a schematic diagram illustrating an example of a second problem of a technique related to the present invention, which was considered by the inventor of the present invention.
  • FIG. 1 is a block diagram illustrating an example of a system configuration deriving device according to a first embodiment of the present invention. It is a schematic diagram which shows an example of the search history of a component requirement.
  • FIG. 10 is a schematic diagram showing an embodiment rule A and an embodiment rule B in FIG. 9. It is a schematic diagram which shows the example of the vicinity information of a unit component requirement. It is a schematic diagram which shows the example of a set of four.
  • FIG. 7 is a schematic diagram showing an example of a score determined for the classified triples by classifying the triples included in the various quadruples into groups corresponding to the materialization rules according to the materialization rules. is there.
  • FIG. 1 is a schematic block diagram illustrating a configuration example of a computer according to an embodiment of the present invention.
  • FIG. 11 is a block diagram illustrating an example of a system configuration deriving device according to a second embodiment of the present invention.
  • the “configuration requirement” is information indicating a configuration element or information indicating a relationship between the configuration elements in the ICT system to be built.
  • the configuration requirement may include both information indicating the components and information indicating the relationship between the components.
  • the components and the relationships between the components represent requirements for the ICT system.
  • the components included in the configuration requirements may be software or hardware.
  • the configuration requirement may include information indicating an abstract (in other words, non-specific) component, or information indicating an abstract (non-specific) relationship between the components.
  • “A component is not specific” means that the name of the component has not been embodied, or even if the name of the component has been embodied, Is that the relationship between them is not materialized. Whether or not the relationship between the components is specific is determined in advance according to the type of the relationship. For example, it is assumed that the relationship “HostedOn” is predetermined as a specific relationship, and the relationship “ConnectedTo” is predetermined as not a specific relationship.
  • the component requirement can be represented by a graph in which the components are represented by nodes and the relationships between the components are represented by edges.
  • the node representing the component describes the name of the "type" of the component, and the edge representing the relationship between the components describes the name of the "type" of the relationship.
  • the function of the component having the name, the feature of the relationship having the name, and the like are predetermined.
  • an attribute value (for example, version information or the like) may be described in addition to the name of the “type”.
  • FIG. 1 is a schematic diagram showing an example of a component requirement.
  • the type “MyApp” described in the component 101 is a specific application software name.
  • MySQL is described as a type
  • [77] indicating the version of “MySQL” is described as an attribute value.
  • the component 103 describes a type “APS”. “APS” means Application @ Server.
  • “HostedOn” and “ConnectedTo ⁇ ⁇ ⁇ ” are illustrated as types of edges indicating the relationship between the constituent elements.
  • “HostedOn” means that the component on the side opposite to the arrowhead of the edge represented by the arrow is hosted on the component on the arrowhead side (in other words, the component on the opposite side to the arrowhead is Operating on the components on the arrowhead side).
  • ConnectedTo means that communication is established by a network. At the edge indicated by an arrow in which “connectedTo” is described, the component on the side opposite to the arrow head indicates that the component on the arrow head side initiates communication.
  • FIG. 2 is a schematic diagram showing an example of a materialization rule.
  • FIG. 2 shows two concrete rules 201 and 202.
  • the instantiation rule indicates that if there is a portion in the constituent requirements that matches the upper stage of the instantiation rule, that portion is rewritten in more detail as shown in the lower stage of the instantiation rule.
  • the materialization rule 201 shown in FIG. 2A and the materialization rule 202 shown in FIG. 2B have the same upper content. As shown in FIG. 2, there may be a plurality of instantiation rules having the same upper content.
  • the mark 203 shown in FIG. 2 means that the component to which the mark 203 is added requires another component. Then, necessary components may be described in the vicinity of the mark 203. For example, in the example shown in the upper part of each of FIGS. 2A and 2B, it means that the component “MW (Middle ⁇ Ware ⁇ )” requires another component “VM (Virtual ⁇ Machine ⁇ )”. Necessary components need not be described in the description near the mark 203.
  • V “VMM” means a hypervisor
  • a computer stores a plurality of types of embodying rules in advance.
  • configuration requirements are input to the computer.
  • the computer selects all the instantiation rules applicable to the input configuration requirement. That is, the computer selects all the embodying rules whose upper part corresponds to a part of the constituent requirements.
  • the computer derives a constituent requirement in which a part of the constituent requirement is described in more detail for each selected embodying rule.
  • the computer selects one component requirement that satisfies the criteria of “good embodiment” from among the newly obtained component requirements, and also selects all applicable embodiment rules for the component requirement. Further, the computer derives, for each of the selected embodying rules, a component that describes a part of the component in more detail.
  • the computer selects one of the newly derived components and one of the components that have been derived so far and has not been selected yet that satisfies the criteria of “good implementation”. .
  • the computer repeats the same process, and terminates the process if the component selected as the component that satisfies the criteria of “good implementation” can no longer be implemented.
  • the computer also includes materialization rules 204 and 205 shown in FIGS. 3A and 3B, and other materialization rules. Is stored. "Esxi (Elastic @ Sky @ Xi)" shown in FIG. 3A means a virtualization platform. “NW” shown in FIG. 3B means Network #.
  • FIG. 4 is a schematic diagram illustrating an example of a component selected as a reference for “good implementation”.
  • the input configuration requirement is represented by reference numeral “301”.
  • the computer selects materialization rules 201 and 202 (see FIG. 2) as materialization rules applicable to the input configuration requirement 301. Then, the computer derives the configuration requirement 302 by applying the instantiation rule 202 (see FIG. 2B) to the configuration requirement 301, and applies the instantiation rule 201 (see FIG. 2A) to the configuration requirement 301.
  • the configuration requirement 303 is derived by applying.
  • the computer selects the component 302 from the components 302 and 303 based on the criterion “the number of components included in the component is the smallest”. Further, the computer selects the embodying rules 204 and 205 (see FIG. 3) as the embodying rules applicable to the configuration requirement 302.
  • the computer derives the component requirement 304 by applying the materialization rule 205 (see FIG. 3B) to the component requirement 302, and derives the materialization rule 204 (see FIG. 3A) for the component requirement 302.
  • the configuration requirement 305 is derived by applying.
  • the computer selects the configuration requirement 303 based on the above-described criteria among the newly derived configuration requirements 304 and 305 and the configuration requirement 303 that has been derived so far and has not been selected yet. And Further, the computer selects an embodiment rule applicable to the configuration requirement 303 and derives a new configuration requirement (not shown in FIG. 4) from the configuration requirement 303 using the implementation rule.
  • the computer selects the component 304 based on the above-described criteria among the newly derived components and the components 304 and 305 that have been derived and have not been selected yet. I do.
  • the components selected in the description of the above specific example are indicated by thick lines.
  • “configuration requirement 301”, “configuration requirement 302”, “configuration requirement 303”, and “configuration requirement 304” are selected in this order.
  • the computer repeats the same processing even after selecting the component requirement 304, and terminates the process if the component requirement selected as the component requirement that satisfies the criterion can no longer be embodied.
  • a component selected as a component that satisfies the criterion and cannot be further embodied corresponds to a leaf node, and a component 301 serving as a starting point (see FIG. 4) corresponds to a root node. . It is possible to trace from the root node to the leaf node, and all the configuration requirements on the path from the root node to the leaf node are the configuration requirements that have been selected as the configuration requirements that satisfy the criteria.
  • the path from the root node to the leaf node is “configuration requirement 301 ⁇ configuration requirement 302 ⁇ configuration requirement 304 ⁇ ...”.
  • the components included in this path are all components that have been selected as components that meet the criteria.
  • the inventor derives a search history of a component requirement that satisfies the criteria when deriving a component requirement embodied based on the input component requirement. I thought about keeping a record for each system.
  • the inventor has considered the following technology in addition to the above-described inventor-supposed technology.
  • the computer stores in advance a plurality of types of embodying rules in the same manner as in the above-described inventor-supposed technology. Then, the computer repeatedly selects each component obtained by the incarnation rule as long as the constraint is satisfied, using the input component as the root node of the tree structure, and repeatedly selects the selected component. If it is no longer possible to embody, no new component is derived from that component.
  • This technique is referred to as a full search technique. In the full search technique, a tree structure having a plurality of leaf nodes is obtained. Therefore, in the full search technique, a plurality of configuration requirements corresponding to leaf nodes are obtained.
  • the designer determines the most preferable configuration requirement from the plurality of configuration requirements. In this case as well, it is possible to trace from the root node (the input configuration requirement) to the configuration requirement determined to be most preferable.
  • the inventor considers recording the path from the root node when the ICT system was constructed in the past to the configuration element determined to be most preferable as a preferable search history for each ICT system constructed in the past. Was.
  • the inventor uses the past search history of the constituent requirements that has been recorded in order to efficiently search for a preferable constituent based on the new constituent requirements. We examined whether we could do it.
  • the inventor states that the search history in the past may be obtained based on the inventor's assumed technology, obtained by the full search technology, or obtained by another technology. I thought it might be.
  • FIG. 5 and FIG. 6 are schematic diagrams illustrating an example of the difficulty of specifying the similarity between the constituent requirements.
  • FIG. 5 shows a past configuration requirement and a newly obtained configuration requirement.
  • FIG. 6 also shows a past configuration requirement and a newly obtained configuration requirement.
  • These two components have in common that the component 113 (NW) and the component 114 (router) are connected in a relationship of “connectedTo”.
  • NW component 113
  • router component 114
  • the similarity of the constituent requirements cannot be determined.
  • it is difficult to determine the similarity it is difficult to use the search history in the past when searching for a new component.
  • FIG. 7 is a schematic diagram illustrating an example of the second problem.
  • the configuration requirements 400 and 401 shown in FIG. 7 are past configuration requirements, and the configuration requirement 411 is a newly obtained configuration requirement.
  • the component 401 and the component 411 are the same.
  • the configuration requirement 401 is a configuration requirement obtained by applying a predetermined realization rule to the configuration requirement 400.
  • the configuration requirement 401 is obtained for the purpose of “I want to connect an AP (Application)”.
  • the component 411 is a component provided as a starting component, and there is no source component. Therefore, the configuration requirement 411 is not obtained for the purpose of “I want to connect an AP (Application)”.
  • the component 401 and the component 411 are the same component, but have different intentions because the sources are different. Therefore, even if the search history after the component 401 is used as it is in order to efficiently perform the search from the component 411, the search is not appropriate.
  • Embodiment 1 FIG. Also in the present invention, since the “configuration requirements” and “embodiment rules” are used, the “configuration requirements” and “embodiment rules” in the present invention are the ], But also in the embodiment, the “configuration requirements” and the “specification rules” will be described.
  • the “component requirement” is information indicating a component or information indicating a relationship between components in the ICT system to be built.
  • the configuration requirement may include both information indicating the components and information indicating the relationship between the components.
  • the components and the relationships between the components represent requirements for the ICT system.
  • the components included in the configuration requirements may be software or hardware.
  • the configuration requirement may include information indicating an abstract (in other words, non-specific) component, or information indicating an abstract (non-specific) relationship between the components.
  • “A component is not specific” means that the name of the component has not been embodied, or even if the name of the component has been embodied, Is that the relationship between them is not materialized. Whether or not the relationship between the components is specific is determined in advance according to the type of the relationship. For example, it is assumed that the relationship “HostedOn” is predetermined as a specific relationship, and the relationship “ConnectedTo” is predetermined as not a specific relationship.
  • the component requirement can be represented by a graph in which the components are represented by nodes and the relationships between the components are represented by edges.
  • the node representing the component describes the name of the "type" of the component, and the edge representing the relationship between the components describes the name of the "type" of the relationship.
  • the function of the component having the name, the feature of the relationship having the name, and the like are predetermined.
  • an attribute value (for example, version information or the like) may be described in addition to the name of the “type”.
  • FIG. 1 An example of a component requirement can be represented, for example, as shown in FIG. Since FIG. 1 has already been described, the description is omitted here.
  • the "incarnation rule” is a rule that rewrites a part of the constituent requirements so as to be described in more detail.
  • instantiation rules for example, instantiation rules 201 and 202 shown in FIG. 2 are given.
  • the instantiation rule indicates that if there is a portion in the constituent requirements that matches the upper stage of the instantiation rule, that portion is rewritten in more detail as shown in the lower stage of the instantiation rule.
  • FIG. 2 there may be a plurality of instantiation rules having the same upper content. Since the mark 203 shown in FIG. 2 has already been described, the description is omitted here.
  • FIG. 8 is a block diagram showing an example of a system configuration deriving device according to the first embodiment of the present invention.
  • the system configuration deriving device 10 of the present embodiment includes a search history storage unit 11, an information extraction unit 12, a learning data storage unit 13, a learning unit 14, a learning result storage unit 15, a realization rule storage unit 16, , An input unit 17, a search unit 18, and a search progress storage unit 19.
  • the search history storage unit 11 is a storage device that stores a search history of a configuration requirement determined to be appropriate in the past.
  • the search history of the constituent requirement stored in the search history storage unit 11 is a search history when a constituent requirement embodied based on a given constituent requirement is derived in the past to construct an ICT system. , The search history of the configuration requirements determined to be appropriate.
  • a computer to which the above-described inventor-supplied technology is applied searches for a configuration requirement that satisfies the criteria of “good embodiment”, and uses the input configuration requirement as a starting point, and Therefore, it is assumed that a search has been made for components that cannot be further specified.
  • This constituent requirement corresponds to a leaf node in the tree structure, and the constituent requirement corresponds to a root node as a starting point.
  • all of the components on the path from the root node to the leaf node are components that have been selected as components that satisfy the criteria.
  • the administrator of the system configuration deriving device 10 determines each configuration requirement on the path ordered from the root node side to the leaf node side and each specific configuration used to derive the next configuration requirement from each configuration requirement on the path.
  • the conversion rule is stored in the search history storage unit 11 in advance as a search history of a component that has been determined to be appropriate in the past.
  • the search history stored in the search history storage unit 11 is not limited to the search history obtained based on the above-described inventor-supposed technology.
  • a computer to which the above-described all-search technique is applied repeats selecting all the constituent requirements obtained by the incarnation rules as long as the constraints are satisfied, starting from the input constituent requirements, It is assumed that a tree structure in which a plurality of component requirements corresponding to leaf nodes exist is generated. Then, it is assumed that the designer determines the most preferable configuration requirement from a plurality of configuration requirements corresponding to the leaf nodes. Then, a path from the root node (the input configuration requirement) to the configuration requirement determined to be most preferable can be specified.
  • the administrator of the system configuration deriving device 10 determines each configuration requirement on the path ordered from the root node side to the leaf node side and each specific configuration used to derive the next configuration requirement from each configuration requirement on the path.
  • the search rule may be stored in advance in the search history storage unit 11 as a search history of a component determined to be appropriate in the past.
  • the number of search histories of the constituent elements stored in the search history storage unit 11 is not limited to one.
  • the administrator of the system configuration deriving device 10 collects, for example, search histories obtained based on the inventor's assumed technology or the full search technology as described above, and collects the search histories. It is stored in the search history storage unit 11.
  • the search history stored in the search history storage unit 11 may be a search history obtained based on a technology other than the inventor's assumed technology or the full search technology.
  • FIG. 9 is a schematic diagram showing an example of the search history of the constituent requirements stored in the search history storage unit 11.
  • the component 21 is the component provided first, and is a starting point.
  • the component 21 includes the components 31 to 34, and the component 31 (AP) and the component 32 (AP) are connected in a relationship of “connectedTo”.
  • the element 33 (AP) and the constituent element 34 (AP) are connected in a relationship of “connectedTo @”.
  • the configuration item 21 transitions to the configuration item 22, and the configuration is performed by applying the embodiment rule A to the configuration item 22.
  • the requirement 22 has transitioned to the configuration requirement 23, and the configuration requirement 23 has transitioned to the configuration requirement 24 by applying the instantiation rule B to the configuration requirement 23.
  • the transition of the component requirement after the component requirement 24 is also included in the search history, but is not shown in FIG.
  • a materialization rule is assigned for each transition from one component to the next. For example, “concrete rule A” is assigned to the transition 51 from the component requirement 21 to the component requirement 22. Materialization rules are also assigned to the other transitions 52, 53, and the like.
  • FIG. 10 is a schematic diagram showing the materialization rule A and the materialization rule B in FIG.
  • the information extracting unit 12 performs a predetermined process including a realization rule for each transition from one configuration requirement to the next configuration requirement from the search history stored in the search history storage unit 11 (see, for example, FIG. 9). Extract a set of information. A set of predetermined information extracted by the information extraction unit 12 for each transition will be described in more detail.
  • the information extraction unit 12 extracts a combination of four types of information (hereinafter, referred to as a quadruple) as a set including the above-described predetermined information.
  • the four types of information included in the quadruple are the following information.
  • the four-piece set is an example of a set made up of the above-mentioned predetermined information
  • the set made up of the above-mentioned predetermined information may be other than the four-piece set.
  • the set of the above-described predetermined information is the four-piece set.
  • the information extraction unit 12 extracts a set of four from the search history for each transition from one component to the next. As described above, the materialization rule is assigned to each transition from one component requirement to the next component requirement. The information extraction unit 12 extracts the materialization rule assigned to the transition of the four-piece extraction target as one piece of information forming the four-piece set. That is, the materialization rules included in the quadruple are materialization rules assigned to the transitions of the components.
  • the “unit configuration requirement” is a portion of the configuration requirement to which the instantiation rule is applied, which is rewritten by the instantiation rule.
  • This configuration requirement is a configuration requirement before transition.
  • the information extraction unit 12 extracts a unit component requirement from the component requirement before the transition based on the component requirement before and after the transition of the set of four to be extracted and the materialization rule assigned to the transition.
  • “Unit configuration requirement neighborhood information” is information on the neighborhood of the unit configuration requirement.
  • the neighborhood information of the unit configuration requirement may be simply referred to as neighborhood information.
  • the neighborhood information is, for example, information indicating a unit configuration requirement, a configuration element within N hops from the unit configuration requirement, and a relationship between the configuration elements.
  • the name of “type” is described.
  • an attribute value for example, version information
  • the unit information is included in the neighborhood information.
  • the proximity information is not limited to the above example. Other examples of the proximity information will be described later.
  • FIG. 11 is a schematic diagram illustrating an example of the neighborhood information.
  • FIG. 11 (a) shows the configuration requirements. It is assumed that the unit component included in the component is the component 103 (APS). In FIG. 11, the unit constituent requirements are illustrated by being surrounded by broken lines.
  • the neighborhood information is information indicating the component 103 (unit configuration requirement), components within one hop from the component 103, and relationships between the components.
  • FIG. 11B shows this neighborhood information.
  • the component 101 and the component 102 are components within one hop from the component 103 (unit configuration requirement).
  • the relationship (hostedOn) between the components 103 and 101 corresponds to the relationship between components within one hop from the component 103.
  • the relationship between the components 103 and 102 (connectedTo) corresponds to the relationship between components within one hop from the component 103.
  • the relationship between the components 101 and 102 does not correspond to the relationship between components within one hop from the component 103 and is not included in the neighborhood information.
  • One or a plurality of constraints on the neighborhood information may be specified in advance. For example, it is assumed that a specific component type is specified as a constraint.
  • the information extraction unit 12 may be configured to, among the components within one hop from the unit configuration requirement, the component corresponding to the specified type, and the configuration component corresponding to the component within the unit configuration requirement and the specified type. Include the relationship with the element in the neighborhood information.
  • the unit component requirement history information is information including a materialization rule used in connection with the generation of the unit component requirement and information indicating to which part of the component requirement the materialization rule is applied.
  • the "incarnation rules used in connection with the generation of the unit component” are "the components included in the unit component, the relationships between the components, and the components included in the component, This is a materialization rule that has contributed to the generation of the "components and relations from which the relation is generated”.
  • “the components and relationships from which the components and relationships included in the components are generated” refer to the components from the starting point to the components before the transition of the four extraction targets. It means a component or a relationship that was necessary to generate a component or a relationship included in the component among the components.
  • a component “VM” is generated based on a component “AP” included in a configuration requirement serving as a starting point, and that a component “NW” is generated based on the component “VM”. .
  • the component “NW” is included in the unit configuration requirement.
  • both “AP” and “VM” correspond to the components from which the component “NW” is generated.
  • a specific example of the unit configuration requirement history information will be described later.
  • the unit configuration requirement history information may be information indicating “none”.
  • FIG. 12 is a schematic diagram illustrating a quadruple set extracted when the transition 53 is targeted.
  • the materialization rule assigned to transition 53 is materialization rule B (see FIG. 10B). Therefore, the information extraction unit 12 extracts the materialization rule B from the search history.
  • the information extraction unit 12 determines whether the unit configuration requirement in the configuration requirement 23 before the transition is between the components 35 and 36 and the components 35 and 36. It is determined that the relationship is “connectedTo”, and the unit configuration requirement is extracted from the configuration requirement 23.
  • FIG. 12 shows the extracted unit configuration requirements.
  • the information extracting unit 12 extracts the neighboring information of the unit component requirement from the component requirement 23.
  • FIG. 12 shows the extracted neighborhood information of the unit configuration requirement.
  • the information extraction unit 12 generates a unit including a reification rule used in connection with the generation of the unit configuration requirement and information indicating to which part of which configuration requirement the reification rule was applied. Extract configuration requirement history information.
  • a unit component requirement is generated. Therefore, the information extraction unit 12 determines the materialization rule A (see FIG. 10A) assigned to the transition 51, the component 21 to which the materialization rule A is applied, and the The part where the conversion rule A is applied is extracted.
  • the information extraction unit 12 determines, for each incarnation rule, the incarnation rule and the composition of the incarnation rule. Extract information that indicates where in the requirement it was applied.
  • the instantiation rule A assigned to the transition 52 is used to generate the components 37 and 38 and the relationship between the components 37 and 38 that are not included in the unit component shown in FIG. And does not contribute to the generation of the unit configuration requirement shown in FIG. Therefore, the materialization rule A assigned to the transition 52, the location where the materialization rule A is applied in the configuration requirement 22, and the like are not included in the unit configuration requirement history information.
  • FIG. 12 shows the unit configuration requirement history information extracted in this example.
  • the information extracting unit 12 extracts a quadruple for each transition. When the transition 51 shown in FIG. 9 is targeted, the information extraction unit 12 extracts the following four sets.
  • the information extraction unit 12 extracts “materialization rule A”.
  • the information extraction unit 12 extracts the components 31 and 32 included in the configuration requirement 21 and the relationship between the components 31 and 32.
  • Unit component requirement history information In this example, the unit component requirement is included in the given component requirement 21. Therefore, there is no instantiation rule used in connection with the generation of unit constituent requirements. Therefore, the information extraction unit 12 obtains the information “none” as the unit configuration requirement history information.
  • the information extraction unit 12 extracts the following four sets.
  • the information extraction unit 12 extracts “materialization rule A”.
  • the information extraction unit 12 extracts the components 33 and 34 included in the configuration requirements 22 and the relationship between the components 33 and 34.
  • Unit component requirement history information In this example, the unit component requirement is included in the given component requirement 21. Therefore, there is no instantiation rule used in connection with the generation of unit constituent requirements. Therefore, the information extraction unit 12 obtains the information “none” as the unit configuration requirement history information.
  • the information extraction unit 12 extracts a set of four for each transition of the configuration requirement in each search history stored in the search history storage unit 11.
  • the information extracting unit 12 causes the learning data storage unit 13 to store the extracted four-tuples.
  • the learning data storage unit 13 is a storage device that stores a set of four.
  • the learning unit 14 uses a set of fours stored in the learning data storage unit 13 as learning data, and calculates a score calculation method indicating a degree of appropriateness of the embodying rule included in the given four-unit by a machine. Learn by learning.
  • the learning unit 14 may use the technique described in Non-Patent Document 4 in machine learning of a method of calculating a score corresponding to a quadruple.
  • a method of calculating a score for a given quadruplet is referred to as a model.
  • the model is predetermined.
  • three types of information other than the embodying rule in the quadruple hereinafter, referred to as a triplet
  • a method of determining the score of the triple in the group is described as an example of a case where the method is predetermined as a model.
  • another model may be defined as a model.
  • FIG. 13 shows an example of a score determined by classifying the triples included in the various quadruples into groups corresponding to the materialization rules according to the materialization rules and determining the classified triples.
  • FIG. FIG. 13 illustrates two groups corresponding to the instantiation rules. Each rectangle shown in FIG. 13 schematically represents a triple. Then, the values shown in the vicinity of the rectangle indicate scores of three groups classified into groups.
  • “FW” means a firewall
  • R means a router.
  • the learning unit 14 learns, by machine learning, a method of calculating a score based on the above model, using a set of four as learning data. For example, the learning unit 14 learns a calculation method (for example, a calculation formula) for calculating a triple score for each group corresponding to the materialization rule.
  • a calculation method for example, a calculation formula
  • the score represents the degree of adequacy of the component requirement after the transition when the instantiation rule corresponding to the group in which the triple is classified is used in the situation indicated by the triple. Can be said.
  • the learning unit 14 causes the learning result storage unit 15 to store a learning result (a method of calculating a score indicating a degree of appropriateness of the materialization rule included in the quadruple when the quadruple is given).
  • the learning result storage unit 15 is a storage device that stores a learning result (score calculation method) by the learning unit 14.
  • the instantiation rule storage unit 16 is a storage device that stores a plurality of types of instantiation rules.
  • the input unit 17 is an input device into which a new component requirement is input.
  • the search unit 18 reads the materialization rule applicable to the component of interest from the materialization rule storage unit 16.
  • the instantiation rule applicable to the component of interest is not limited to one, and two or more instantiation rules may exist.
  • the search unit 18 selects the new component as the component of interest. In addition, as described later, the search unit 18 sequentially selects the constituent requirements of interest.
  • the search unit 18 determines a pair of the instantiation rule read from the instantiation rule storage unit 16 and the application location of the instantiation rule in the component of interest. Even when the instantiation rules applied to the constituent requirements are common, if the application points of the instantiation rules in the constituent requirements are different, the obtained constituent requirements are also different. Then, the obtained score differs depending on the application location of the embodying rule. For this reason, as described above, the search unit 18 determines a pair of a materialization rule and a location to which the materialization rule is applied in the component of interest.
  • FIG. 14 is a schematic diagram showing that different constituent requirements can be obtained depending on the difference between the materialization rules and where the materialization rule is applied in the constituent requirements.
  • the configuration requirement 61 shown in FIG. 14 is the configuration requirement input to the input unit 17, and the search unit 18 has selected the configuration requirement 61 as the component requirement of interest. It is also assumed that the search unit 18 has read from the instantiation rule storage unit 16 two instantiation rules 211 and 212 shown in FIG.
  • the instantiation rule 211 (see FIG. 15A) can be applied to each of the components 121 and 122 in the component 61, and depending on which of the components 121 and 122 the instantiation rule 211 is applied to. The resulting configuration requirements vary. Further, the materialization rule 212 (see FIG. 15B) can be applied to the components 121 and 122 in the component requirement 61 and a portion corresponding to a relationship connecting both of them.
  • the search unit 18 determines the following three pairs as a pair of a materialization rule and its application location.
  • (Pair 1) A pair of the instantiation rule 211 and the component 121 (Pair 2)
  • the search unit 18 extracts the above-described four-tuple for each determined pair.
  • the search unit 18 may extract the materialization rule included in the pair as the materialization rule in the quadruple.
  • the search unit 18 may extract an application location (application location of the materialization rule) included in the pair as a unit configuration requirement in the quadruple.
  • the search unit 18 may determine the neighborhood information of the unit configuration requirement and the unit configuration requirement history information according to the unit configuration requirement.
  • the method in which the search unit 18 determines the neighborhood information and the unit configuration requirement history information of the unit configuration requirement is the same as the method in which the information extraction unit 12 determines the neighborhood information of the unit configuration requirement and the unit configuration requirement history information.
  • the search unit 18 extracts a quadruple including neighborhood information satisfying the constraint.
  • the quadruple extracted according to the above “pair 1” is allocated to the transition 71 from the configuration requirement 61 to the configuration requirement 62.
  • the quadruple set extracted according to the above “pair 2” is allocated to the transition 72 from the configuration requirement 61 to the configuration requirement 63.
  • the quadruple extracted according to the above “pair 3” is allocated to the transition 73 from the configuration requirement 61 to the configuration requirement 64.
  • the search unit 18 calculates the score of the quadruplet by applying the quadruple to the score calculation method for each of the determined pairs.
  • the score calculation method is learned by the learning unit 14 as described above, and is stored in the learning result storage unit 15.
  • the search unit 18 includes a set of four extracted for each pair, and a set of four that have been previously calculated (in other words, prior to the current score calculation) by the search unit 18 and have not yet been selected. Of the four, the quadruple with the highest score is selected.
  • the search unit 18 has the highest score among the quadruples extracted for each pair. What is necessary is just to select a 4-tuple.
  • the configuration requirement 61 is a newly input configuration requirement. Therefore, in the example shown in FIG. 14, there is no 4-tuple for which a score has been previously calculated by the search unit 18 and which has not been selected yet. Therefore, the search unit 18 may select the quadruple having the highest score from the three quadruples.
  • the search unit 18 newly selects, as a component of interest, a component obtained by applying the pair to the component to which the pair corresponding to the selected quadruple is to be applied.
  • the score of the quadruple corresponding to the above “pair 1” is “0.9”, the score of the quadruple corresponding to the above “pair 2” is “0.8”, Assume that the score of the quadruple corresponding to “3” is “0.6” (see FIG. 16). In this case, the score of the quadruple corresponding to “pair 1” is the highest.
  • the constituent element to which “pair 1” corresponding to the quadruple with the highest score is applied is the constituent element 61. Therefore, the search unit 18 newly selects the component 62 obtained by applying “pair 1” to the component 61 as the component of interest.
  • the constituent requirement 61 is a new constituent requirement, and all of the above-mentioned “pair 1”, “pair 2”, and “pair 3” are applied to the constituent requirement 61. Therefore, the component to which the pair corresponding to the quadruple having the highest score (pair 1) is applied corresponds to the component of interest. However, when the search progresses, the component to which the pair corresponding to the quadruple with the highest score is applied may not correspond to the component of interest.
  • the search unit 18 repeats the same operation when newly selecting a constituent component of interest. Therefore, the search unit 18 sequentially selects the constituent components of interest.
  • the search unit 18 determines the constituent component of interest, each pair defined for the constituent component of interest, the four sets extracted for each pair, and the score (4
  • the search progress storage unit 19 stores the set of scores) and the component requirement newly selected as the component requirement of interest.
  • the search progress storage unit 19 is a storage device that stores such information.
  • the search unit 18 When the component requirement 62 is newly selected as the component requirement of interest, the search unit 18 reads the materialization rule applicable to the component requirement 62 from the materialization rule storage unit 16. Then, the search unit 18 determines a pair of the read materialization rule and a location where the materialization rule is applied in the configuration requirement 62.
  • the search unit 18 extracts the above-described quadruple for each determined pair. Further, the search unit 18 calculates a score of a set of four for each determined pair.
  • the search unit 18 selects a quadruple having the highest score among the quadruple extracted for each pair and the quadruple not yet selected in which the score has been calculated by the search unit 18 previously.
  • a quadruple for which a score has been previously calculated by the search unit 18 and which has not yet been selected a quadruple for which the score “0.8” (see FIG. 16) has been calculated, and a score “0” .6 “(see FIG. 16). Therefore, the search unit 18 selects the highest score among the scores calculated this time and the previously calculated scores “0.8” and “0.6”, and selects the quadruple with the highest score. select.
  • the search unit 18 newly selects the component 63 obtained by applying “pair 2” to the component 61 as the component of interest.
  • the component to which the pair corresponding to the quadruple with the highest score is applied does not correspond to the component of interest (the component 62).
  • the search unit 18 repeats the same operation when newly selecting a constituent component of interest.
  • component requirement 61 “component requirement 62”, and “component requirement 63” are sequentially selected as the component requirement of interest.
  • component requirement 62 a component lower than the component 62 may be selected as the component of interest.
  • the search unit 18 terminates the search and replaces the component requirement with a leaf node in the tree structure. Determined as a configuration requirement.
  • the information extraction unit 12, the learning unit 14, and the search unit 18 are realized by, for example, a CPU (Central Processing Unit) of a computer that operates according to a system configuration derivation program.
  • the CPU may read the system configuration deriving program from a program recording medium such as a program storage device of a computer, and operate as the information extracting unit 12, the learning unit 14, and the searching unit 18 according to the system configuration deriving program.
  • the system configuration deriving device 10 may have a configuration in which two or more physically separated devices are connected by wire or wirelessly.
  • FIG. 17 is a flowchart showing an example of the progress of processing when learning a score calculation method.
  • the information extraction unit 12 extracts a set of four from each search history stored in the search history storage unit 11 for each transition of the configuration requirement, and stores the extracted set of four sets in the learning data storage unit 13. It is stored (step S1).
  • the learning unit 14 reads a set of four from the learning data storage unit 13.
  • the learning unit 14 learns, by machine learning, a calculation method (for example, a calculation formula) for calculating the score of the four sets using the set of the four as learning data (step S2).
  • the learning unit 14 stores the calculation method of the score learned in step S2 in the learning result storage unit 15 (step S3).
  • FIGS. 18 and 19 are flowcharts showing an example of the processing progress of a process of searching for a constituent requirement in order to make the constituent feature more specific, starting from the input constituent requirement.
  • a new component is input via the input unit 17 (step S11).
  • the search unit 18 selects the new component input in step S11 as the component of interest (step S12).
  • the search unit 18 causes the search progress storage unit 19 to store this component requirement as the component of interest.
  • the information stored in the search progress storage unit 19 is used when extracting unit configuration requirement history information included in the quadruplicate.
  • the search unit 18 reads the materialization rule applicable to the component of interest from the materialization rule storage unit 16 (step S13).
  • the search unit 18 determines a pair of the instantiation rule read in step S13 and the application location of the specific rule in the component of interest (step S14). In step S14, a plurality of pairs may be obtained.
  • the search unit 18 causes the search progress storage unit 19 to store each pair in association with the component of interest.
  • the search unit 18 extracts a quadruple for each pair determined in step S14 (step S15).
  • the search unit 18 calculates a four-piece score by applying the four-piece set to the score calculation method for each pair determined in step S14 (step S16).
  • the search unit 18 associates the quadruple and its score with the pair and stores them in the search progress storage unit 19.
  • the search unit 18 calculates the highest score among the four sets extracted for each pair in the latest step S15 and the four sets not yet selected in which the search unit 18 has previously calculated the score. Is selected (step S17). However, when there is no unselected 4-tuple for which a score has been calculated by the search unit 18 before, the search unit 18 selects the most of the 4-tuples extracted for each pair in the latest step S15. What is necessary is just to select a quadruple with a high score.
  • the search unit 18 newly focuses on a component obtained by applying the pair to the component to be applied to the pair corresponding to the quadruple selected in step S17. It is selected as a requirement (step S18).
  • the search unit 18 causes the search progress storage unit 19 to store the component requirement as the next selected “component of interest”.
  • the search unit 18 determines whether or not the configuration requirement selected in step S18 can be embodied in more detail (step S19). For example, the search unit 18 determines If the instantiation rule applicable to the requirement is stored in the instantiation rule storage unit 16, it is determined that the configuration requirement can be further embodied, and the instantiation rule applicable to the configuration requirement is stored in the instantiation rule storage. If it is not stored in the unit 16, it may be determined that the configuration requirements cannot be embodied more.
  • this determination method is an example, and the determination method in step S19 is not particularly limited.
  • step S18 When it is determined that the component requirement selected in step S18 can be further embodied (Yes in step S19), the search unit 18 repeats the operation from step S13.
  • the search unit 18 determines the component selected in step S18 as a component corresponding to a leaf node in the tree structure. (Step S20). Note that the search unit 18 causes the search progress storage unit 19 to store the constituent requirements as finally obtained constituent requirements. The search unit 18 ends the process in step S20.
  • the system configuration deriving device 10 materializes the configuration requirements of the construction target system by repeatedly updating the configuration requirements.
  • the designer of the ICT system can use the configuration requirements corresponding to the leaf nodes for constructing the ICT system.
  • the learning unit 14 calculates a score (for example, an arithmetic expression) for a given quadruple using the set of quadruples obtained from the search history of the constituent requirements in the past as learning data.
  • a score for example, an arithmetic expression
  • the granularity of the “unit configuration requirement” included in the quadruplet is finer than the granularity of the “configuration requirement”. Therefore, when learning the score calculation method, the similarity of the “unit configuration requirement” can be easily obtained, and a highly accurate score calculation method can be learned.
  • the quadruple includes the neighborhood information of the unit configuration requirement. Whether or not the pieces of neighboring information are similar can be determined, for example, based on whether or not one piece of neighboring information can be embedded in a graph in the other piece of neighboring information. It can also be determined whether or not the pieces of proximity information are similar, and a highly accurate score calculation method can be learned.
  • the quadruple also includes unit configuration requirement history information. Therefore, it is possible to learn a score calculation method that can obtain a score as a value in consideration of the design intention.
  • the search unit 18 applies such a score calculation method to the quadruple, calculates a quadruple score, and proceeds with the search for the constituent requirements based on the score. Therefore, according to the present embodiment, it is possible to efficiently search for a preferable component using the search history of the component in the past.
  • the configuration of the system can be efficiently derived.
  • the information indicating the unit configuration requirement and the components within N hops from the unit configuration requirement and the relationship between the components is defined as “neighbor information of the unit configuration requirement”.
  • the neighborhood information of the unit configuration requirement is not limited to the above example.
  • the neighborhood information of a unit configuration requirement may be information indicating the number of components within N hops from the unit configuration requirement.
  • the information extraction unit 12 may set the number of components that satisfy the constraint condition among the components within N hops (for example, 1 hop) from the unit configuration requirement as the neighborhood information. For example, it is assumed that a specific component type is specified as a constraint. In that case, the information extraction unit 12 may set the number of components that match the type among the components within N hops (for example, one hop) from the unit configuration requirement as the neighborhood information.
  • FIG. 20 is a schematic block diagram showing a configuration example of a computer according to the embodiment of the present invention. The following description also applies to a second embodiment described later.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, and an input device 1005.
  • the system configuration deriving device 10 according to the embodiment of the present invention is mounted on a computer 1000.
  • the operation of the system configuration deriving device 10 is stored in the auxiliary storage device 1003 in the form of a system configuration deriving program.
  • the CPU 1001 reads out the system configuration deriving program from the auxiliary storage device 1003 and expands it in the main storage device 1002, and executes the processing described in the above embodiment according to the system configuration deriving program.
  • the auxiliary storage device 1003 is an example of a non-transitory tangible medium.
  • Other examples of non-transitory tangible media include a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory) connected via an interface 1004, A semiconductor memory and the like can be given.
  • the program When the program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the program may load the program into the main storage device 1002 and execute the above processing.
  • each component may be realized by a general-purpose or dedicated circuit (circuitry II), a processor, or a combination thereof. These may be configured by a single chip, or may be configured by a plurality of chips connected via a bus. Some or all of the components may be realized by a combination of the above-described circuit and the like and a program.
  • the plurality of information processing devices, circuits, and the like may be centrally arranged or distributed.
  • the information processing device, the circuit, and the like may be implemented as a form in which each is connected via a communication network, such as a client and server system or a cloud computing system.
  • FIG. FIG. 21 is a block diagram illustrating an example of a system configuration deriving device according to the second embodiment of the present invention.
  • the system configuration deriving device according to the present embodiment can derive a specific configuration requirement as a configuration requirement of the construction target system. More specifically, such a system configuration deriving device materializes the configuration requirements of the construction target system by repeatedly updating the configuration requirements of the construction target system.
  • the system configuration deriving device of the present invention includes a search history storage unit 81, an information extraction unit 82, a learning unit 83, a materialization rule storage unit 84, an input unit 85, and a search unit 86.
  • the search history storage unit 81 (corresponding to, for example, the search history storage unit 11 in the first embodiment described above) stores a search history of a component that has been determined to be appropriate in the past.
  • the information extracting unit 82 (corresponding to, for example, the information extracting unit 12 in the above-described first embodiment) converts one search condition from one search condition to the next test condition based on the search history. (For example, corresponding to the quadruple in the above-described first embodiment) composed of predetermined information including the instantiation rule applied to.
  • the instantiation rule is a rule that rewrites a part of the configuration requirement so as to be described in more detail.
  • the learning unit 83 (corresponding to, for example, the learning unit 14 in the above-described first embodiment) includes predetermined information extracted from the set of predetermined information extracted by the information extraction unit 82 as learning data. Learn how to calculate a score that indicates the appropriateness of the instantiation rules included in the set.
  • the materialization rule storage unit 84 (for example, corresponds to the materialization rule storage unit 16 in the first embodiment described above) stores a plurality of materialization rules.
  • a new component is input to the input unit 85 (corresponding to, for example, the input unit 17 in the first embodiment described above).
  • the search unit 86 (for example, corresponds to the search unit 18 in the above-described first embodiment) reads a materialization rule applicable to the component of interest from the materialization rule storage unit 84 and reads the materialization rule. For each pair of the instantiation rule and the application location of the instantiation rule in the component of interest, a set of predetermined information is extracted, and the set of the predetermined information is applied to the calculation method to obtain a score. And a set of predetermined information extracted for each pair, and a set of predetermined information having the highest score among a set of predetermined information for which a score has been calculated and not yet selected. A component selected by selecting a pair and applying the pair to the component applicable to the pair corresponding to the pair consisting of the predetermined information is newly added as the component of interest. Repeat that-option.
  • the search unit 86 selects the new component as the component of interest.
  • the search unit 86 determines the highest score among the set of predetermined information extracted for each pair. Is selected.
  • the configuration of the system when constructing a system, the configuration of the system can be efficiently derived.
  • the information extraction unit 82 For each transition from one component to the next, Reification rules; A unit component, which is a portion of the component to which the instantiation rule is applied and which is rewritten by the instantiation rule, Neighborhood information that is information about the neighborhood of the unit configuration requirement; A quartet containing unitization requirement history information including the instantiation rule used in connection with the generation of the unitary requirement and information indicating to which part of which requirement the instantiation rule was applied. Extract, The learning unit 83 Using a set of four as learning data, learn the operation method, The search unit 86 It is also possible to adopt a configuration in which a materialization rule applicable to the constituent requirement of interest is read from the materialization rule storage unit 84, and a quadruple set is extracted for each pair.
  • the neighborhood information may be information indicating a unit configuration requirement, a component within N hops from the unit configuration requirement, and a relationship between the components.
  • the neighborhood information is information indicating a unit component requirement and a relationship between components and components within N hops from the unit component requirement and satisfying a specified condition and a relationship between components. There may be.
  • the type name may be described in the components included in the proximity information and the relationship between the components.
  • the proximity information may be information indicating the number of components within N hops from the unit configuration requirement.
  • the proximity information may be information indicating the number of components within N hops from the unit configuration requirement and satisfying the specified condition.
  • N 1 may be satisfied.
  • Reference Signs List 10 system configuration deriving device 11 search history storage unit 12 information extraction unit 13 learning data storage unit 14 learning unit 15 learning result storage unit 16 materialization rule storage unit 17 input unit 18 search unit 19 search progress storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

システムを構築する際、システムの構成を効率的に導出することができるシステム構成導出装置を提供する。情報抽出部82は、過去の探索履歴から、構成要件の遷移毎に、所定の情報から成る組を抽出する。学習部83は、その組の集合を学習データとして、所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する。探索部86は、着目している構成要件に適用可能な具体化規則と、着目している構成要件内における具体化規則の適用箇所とのペア毎に、所定の情報から成る組を抽出し、その組に対するスコアを算出し、スコアに基づいて、新たに、着目している構成要件として選択することを繰り返す。

Description

システム構成導出装置、方法およびプログラム
 本発明は、システム構成導出装置、システム構成導出方法およびシステム構成導出プログラムに関する。
 非特許文献1には、構成部品のテンプレートを開発資産として用いて、構成部品の組み合わせ方を変更したり構成部品ごとに定義されたパラメタの値を変更したりすることによって、構築目的のシステムに応じた設計を行う技術が記載されている。
 非特許文献2には、通信ネットワークのトポロジ情報と通信要件に関する情報を基に、トポロジにおいて通信要件を満たすために求められる各ネットワーク機器の経路情報等の設定を自動で設計する技術が記載されている。
 非特許文献3には、グラフとして表現されたベースの構成に対して実行可能な変更をグラフ書き換え規則として定義し、選択された規則に従ってベースの構成を書き換えることによって、構築目的のシステムに応じた設計を行う技術が記載されている。
 特許文献1には、階層構造で表現されるシステムの設計アーキテクチャのグラフの可変ノードを書き換える書き換え規則の集合を格納する規則格納部を備える設計データ自動生成装置が記載されている。
 特許文献2には、エキスパートシステムを構築するための構築方式が記載されている。
 特許文献3には、コンポネントの組合せ毎にその組み合わせに応じた設定を追加しなくてもよい等の利点を有するシステム構築支援システムが記載されている。
 また、非特許文献4には、グラフに関する機械学習の技術が記載されている。
特開2011-13750号公報 特開平2-58131号公報 国際公開第2017/033441号
T. Binz, G. Breiter, F. Leyman, and T. Spatzier, "Portable cloud servicesusing tosca", Internet Computing, IEEE, vol. 16, no. 3, pp. 80-85, 2012. Beckett, Ryan and Mahajan, Ratul and Millstein, Todd and Padhye, Jitendra and Walker, David, "Don't Mind the Gap: Bridging Network-wide Objectives and Device-level Configurations", Proceedings of the 2016 ACM SIGCOMM Conference, pp. 328-341, 2016. P. Jayaraman, J. Whittle, A. Elkhodary, and H. Gomaa, "ModelComposition in Product Lines and Feature Interaction Detection Using Critical Pair Analysis", Model Driven Engineering Languages and Systems, pp. 151-165, 2007. Mathias Niepert, Mohamed Ahmed, Konstantin Kutzkov, "Learning Convolutional Neural Networks for Graphs", [2018年6月14日検索]、インターネット<URL: http://proceedings.mlr.press/v48/niepert16.pdf>
 システムを構築する際、システムの構成を効率的に導出できることが好ましい。
 そこで、本発明は、システムを構築する際、システムの構成を効率的に導出することができるシステム構成導出装置、システム構成導出方法およびシステム構成導出プログラムを提供することを目的とする。
 本発明によるシステム構成導出装置は、構築対象システムの構成要件の更新を繰り返すことによって、構築対象システムの構成要件を具体化するシステム構成導出装置であって、過去において適切と判定された構成要件の探索履歴を記憶する探索履歴記憶手段と、探索履歴から、一の構成要件から次の構成要件への遷移毎に、一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出する情報抽出手段と、情報抽出手段によって抽出された所定の情報から成る組の集合を学習データとして、所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する学習手段と、複数の具体化規則を記憶する具体化規則記憶手段と、新規の構成要件が入力される入力手段と、着目している構成要件に適用可能な具体化規則を、具体化規則記憶手段から読み込み、読み込んだ具体化規則と着目している構成要件内におけるその具体化規則の適用箇所とのペア毎に、所定の情報から成る組を抽出し、当該所定の情報から成る組を演算方法に適用することによってスコアを算出し、ペア毎に抽出した所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す探索手段とを備え、探索手段が、入力手段に新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択し、探索手段が、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組が存在しない場合には、ペア毎に抽出した所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択することを特徴とする。
 また、本発明によるシステム構成導出方法は、構築対象システムの構成要件の更新を繰り返すことによって、構築対象システムの構成要件を具体化するシステム構成導出方法であって、過去において適切と判定された構成要件の探索履歴から、一の構成要件から次の構成要件への遷移毎に、一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出し、抽出した所定の情報から成る組の集合を学習データとして、所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習し、複数の具体化規則を記憶する具体化規則記憶手段から、着目している構成要件に適用可能な具体化規則を読み込み、読み込んだ具体化規則と着目している構成要件内におけるその具体化規則の適用箇所とのペア毎に、所定の情報から成る組を抽出し、当該所定の情報から成る組を演算方法に適用することによってスコアを算出し、ペア毎に抽出した所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返し、新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択し、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組が存在しない場合には、ペア毎に抽出した所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択することを特徴とする。
 また、本発明によるシステム構成導出プログラムは、コンピュータに、構築対象システムの構成要件の更新を繰り返すことによって、構築対象システムの構成要件を具体化させるためのシステム構成導出プログラムであって、コンピュータに、過去において適切と判定された構成要件の探索履歴から、一の構成要件から次の構成要件への遷移毎に、一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出する情報抽出処理、情報抽出処理で抽出された所定の情報から成る組の集合を学習データとして、所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する学習処理、および、複数の具体化規則を記憶する具体化規則記憶手段から、着目している構成要件に適用可能な具体化規則を読み込み、読み込んだ具体化規則と着目している構成要件内におけるその具体化規則の適用箇所とのペア毎に、所定の情報から成る組を抽出し、当該所定の情報から成る組を演算方法に適用することによってスコアを算出し、ペア毎に抽出した所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す探索処理を実行させ、新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択させ、探索処理で、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組が存在しない場合には、ペア毎に抽出した所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択させることを特徴とする。また、本発明は、上記のシステム構成導出プログラムを記録したコンピュータ読み取り可能な記録媒体であってもよい。
 本発明によれば、システムを構築する際、システムの構成を効率的に導出することができる。
構成要件の一例を示す模式図である。 具体化規則の例を示す模式図である。 具体化規則の例を示す模式図である。 発明者想定技術において、「良い具体化」の基準として選択される構成要素の例を示す模式図である。 構成要件同士の類似度の特定の困難性の例を示す模式図である。 構成要件同士の類似度の特定の困難性の例を示す模式図である。 本発明の発明者が考えた、本発明に関連する技術の第2の課題の例を示す模式図である。 本発明の第1の実施形態に係るシステム構成導出装置の例を示すブロック図である。 構成要件の探索履歴の一例を示す模式図である。 図9における具体化規則Aおよび具体化規則Bを示す模式図である。 単位構成要件の近傍情報の例を示す模式図である。 4つ組の例を示す模式図である。 種々の4つ組に含まれる3つ組を、具体化規則に応じて、具体化規則に対応するグループに分類し、分類された3つ組に対して定めたスコアの例を示す模式図である。 具体化規則の違いや、構成要件内の具体化規則の適用箇所の違いによって、異なる構成要件が得られることを示す模式図である。 具体化規則の例を示す模式図である。 算出されたスコアの例を示す模式図である。 スコアの演算方法を学習する際の処理経過の例を示すフローチャートである。 入力された構成要件を起点として、構成要件をより具体化するように構成要件を探索していく処理の処理経過の例を示すフローチャートである。 入力された構成要件を起点として、構成要件をより具体化するように構成要件を探索していく処理の処理経過の例を示すフローチャートである。 本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。 本発明の第2の実施形態に係るシステム構成導出装置の例を示すブロック図である。
 本発明の実施形態について説明する前に、本発明の発明者が考えた、本発明に関連する技術について説明する。以下、この関連技術について述べる。
 具体的なICT(Information and Communication Technology)システム構成を導出する技術として、本発明の発明者は、以下に示す技術を考えた。以下に説明する、発明者が考えた技術を、発明者想定技術と記す。
 以下の説明において、「構成要件」とは、構築対象のICTシステムにおける、構成要素を示す情報、または、構成要素間の関係を示す情報である。構成要件が、構成要素を示す情報と、構成要素間の関係を示す情報の両方を含んでいてもよい。構成要素や、構成要素間の関係は、ICTシステムに関する要件を表わしている。構成要件に含まれる構成要素は、ソフトウェアであっても、ハードウェアであってもよい。
 また、構成要件は、抽象的な(換言すれば、具体的でない)構成要素を示す情報や、構成要素間の抽象的な(具体的でない)関係を示す情報を含んでいてもよい。「構成要素が具体的でない」とは、構成要素の名称が具体化されていないことや、構成要素の名称が具体化されていたとしても、その構成要素が必要とする他の構成要素との間の関係が具体化されていないことである。また、構成要素間の関係が具体的であるか否かは、その関係の種類に応じて予め定められる。例えば、「HostedOn」という関係は具体的な関係として予め定められていて、「ConnectedTo 」という関係は具体的な関係ではないとして予め定められているものとする。
 構成要件は、構成要素をノードで表し、構成要素間の関係をエッジで表したグラフで表現することができる。構成要素を表わすノードには、構成要素の「型」の名称が記述され、構成要素間の関係を表わすエッジには、その関係の「型」の名称が記述される。個々の「型」の名称には、その名称を有する構成要素の機能や、その名称を有する関係の特徴等が予め定められている。構成要素を表わすノードには、「型」の名称の他に、属性値(例えば、バージョン情報等)が記述されていてもよい。
 また、構成要件の一部をより詳細に記述するように書き換える規則を「具体化規則」と記す。
 図1は、構成要件の一例を示す模式図である。図1に示す例において、構成要素101に記述された型「MyApp」は、具体的なアプリケーションソフトウェアの名称であるものとする。また、構成要素102には、型として「MySQL」が記述され、「MySQL」のバージョンを示す[7~]が属性値として記述されている。構成要素103には、型「APS」が記述されている。「APS」は、Application Serverを意味するものとする。また、図1に示す例では、構成要素間の関係を示すエッジの型として「HostedOn」および「ConnectedTo 」を例示している。「HostedOn」は、矢印で表されたエッジのアローヘッドとは反対側の構成要素が、アローヘッド側の構成要素にホストされている(換言すれば、アローヘッドとは反対側の構成要素が、アローヘッド側の構成要素上で稼働する)ことを意味している。「connectedTo」は、ネットワークによって通信可能に接続されていることを意味している。「connectedTo」が記述され、矢印で表されたエッジでは、アローヘッドとは反対側の構成要素が、アローヘッド側の構成要素に通信を仕掛けることを表わしている。
 図2は、具体化規則の例を示す模式図である。図2では、2つの具体化規則201,202を示している。具体化規則は、構成要件の中に、具体化規則の上段に適合する箇所が存在しているならば、その箇所を、具体化規則の下段に示すようにより詳細に書き換えることを表わしている。図2(a)に示す具体化規則201と、図2(b)に示す具体化規則202とでは、上段の内容が共通である。図2に示すように、上段の内容が共通である具体化規則が複数存在してもよい。
 なお、図2に示すマーク203は、そのマーク203が付加されている構成要素が他の構成要素を必要としていることを意味している。そして、必要とされる構成要素が、マーク203の近傍に記述されてもよい。例えば、図2(a),(b)それぞれの上段に示す例では、構成要素「MW(Middle Ware )」が他の構成要素「VM(Virtual Machine )」を必要としていることを意味する。必要とされる構成要素が、マーク203の近傍に記述に記述されていなくてもよい。
 また、「VMM」は、ハイパーバイザーを意味する。
 発明者想定技術では、例えば、コンピュータに、複数種類の具体化規則を予め記憶させておく。また、そのコンピュータには、構成要件が入力される。コンピュータは、入力された構成要件に適用可能な具体化規則を全て選択する。すなわち、コンピュータは、上段の部分が構成要件の一部に該当している具体化規則を全て選択する。そして、コンピュータは、選択した具体化規則毎に、構成要件の一部をより詳細に記述した構成要件を導出する。コンピュータは、新たに得られた各構成要件の中から、「良い具体化」の基準を満たす構成要件を1つ選択し、その構成要件に関しても、適用可能な具体化規則を全て選択する。さらに、コンピュータは、選択した具体化規則毎に、構成要件の一部をより詳細に記述した構成要件を導出する。コンピュータは、新たに導出した各構成要件、および、これまでに導出済みの構成要件であって未だ選択されていない構成要件のうち、「良い具体化」の基準を満たす構成要件を1つ選択する。コンピュータは、同様の処理を繰り返し、「良い具体化」の基準を満たす構成要件として選択された構成要件をそれ以上具体化できなくなったならば、処理を終了する。
 以下、コンピュータが順次、選択していく構成要件を、具体例を用いて説明する。以下に示す例では、最初に、図1に示す構成要件がコンピュータに入力される場合を例にして説明する。また、コンピュータは、図2(a),(b)に示す具体化規則201,202の他に、図3(a),(b)に示す具体化規則204,205や、その他の具体化規則を記憶しているものとする。なお、図3(a)に示す「Esxi(Elastic Sky Xi)」は、仮想化基盤を意味する。図3(b)に示す「NW」は、Network を意味する。また、以下に示す具体例では、「良い具体化」の基準として、「構成要件に含まれる構成要素の数が最も少ない」という基準を用いる場合を例にして説明する。ただし、「良い具体化」の基準の基準は、この例に限定されない。図4は、「良い具体化」の基準として選択される構成要素の例を示す模式図である。入力された構成要件を符号“301”で表す。
 コンピュータは、入力された構成要件301に適用可能な具体化規則として、具体化規則201,202(図2参照)を選択する。そして、コンピュータは、構成要件301に具体化規則202(図2(b)参照)を適用することによって構成要件302を導出し、構成要件301に具体化規則201(図2(a)参照)を適用することによって構成要件303を導出する。コンピュータは、構成要件302,303のうち、「構成要件に含まれる構成要素の数が最も少ない」という基準に基づき、構成要件302を選択する。さらに、コンピュータは、構成要件302に適用可能な具体化規則として、具体化規則204,205(図3参照)を選択する。そして、コンピュータは、構成要件302に具体化規則205(図3(b)参照)を適用することによって構成要件304を導出し、構成要件302に具体化規則204(図3(a)参照)を適用することによって構成要件305を導出する。コンピュータは、新たに導出した構成要件304,305、および、これまでに導出済みの構成要件であって未だ選択されていない構成要件303のうち、上記の基準に基づいて、構成要件303を選択したとする。さらに、コンピュータは、構成要件303に適用可能な具体化規則を選択し、その具体化規則を用いて、構成要件303から新たな構成要件(図4において図示略)を導出する。コンピュータは、新たに導出した構成要件、および、これまでに導出済みの構成要件であって未だ選択されていない構成要件304,305のうち、上記の基準に基づいて、構成要件304を選択したとする。図4では、上記の具体例の説明で選択された構成要件を、太線で示している。上記の具体例の説明では、「構成要件301」、「構成要件302」、「構成要件303」、「構成要件304」の順に選択されている。コンピュータは、構成要件304を選択した後も同様の処理を繰り返し、基準を満たす構成要件として選択された構成要件をそれ以上具体化できなくなったならば、処理を終了する。
 なお、発明者は、基準を満たす構成要件に対する制約条件を設けてもよいと考えた。例えば、『特定の構成要素と他の構成要素との関係が「connectedTo 」となることはない。』等の制約条件を設けてもよいと考えた。この場合、基準を満たす構成要件であっても、このような制約条件を満たしていなければ、選択されないことになる。
 上述の発明者想定技術は、木探索問題の一種として捉えることができる。そして、基準を満たす構成要件として選択された構成要件であって、それ以上具体化できない構成要件は、葉ノードに該当し、起点となる構成要件301(図4参照)は、ルートノードに該当する。ルートノードから葉ノードまで辿ることができ、ルートノードから葉ノードまでのパス上の構成要件は、全て、基準を満たす構成要件として選択済みの構成要件である。例えば、構成要件304の下位の構成要件が葉ノードに該当したとすると、ルートノードから葉ノードまでのパスは、「構成要件301→構成要件302→構成要件304→・・・・」となる。このパスに含まれる構成要件は、いずれも、基準を満たす構成要件として選択済みの構成要件である。
 発明者は、過去に、ICTシステムを構築するために、入力した構成要件に基づいて具体化された構成要件を導出したときにおける、基準を満たす構成要件の探索の履歴を、過去に構築したICTシステム毎に、記録しておくことを考えた。
 なお、発明者は、上記の発明者想定技術の他に、以下に示す技術も考えた。コンピュータは、上記の発明者想定技術と同様に、複数種類の具体化規則を予め記憶している。そして、コンピュータは、入力された構成要件を木構造のルートノードとして、制約条件を満たしている限り、具体化規則によって得られる各構成要件を全て選択していくことを繰り返し、選択された構成要件をそれ以上具体化できなくなったならば、その構成要件から新たな構成要件を導出しない。この技術を、全探索技術と記す。全探索技術では、葉ノードが複数存在する木構造が得られる。従って、全探索技術では、葉ノードに該当する構成要件が複数得られる。設計者は、その複数の構成要件から、最も好ましい構成要件を判断する。この場合にも、ルートノード(入力された構成要件)から、最も好ましいと判断された構成要件まで辿ることができる。発明者は、過去にICTシステムを構築したときにおけるルートノードから最も好ましいと判断された構成要件までのパスを、好ましい探索履歴として、過去に構築したICTシステム毎に、記録しておくことを考えた。
 そして、発明者は、新たなICTシステムを構築するときに、新たな構成要件に基づいて好ましい構成要件を効率的に探索するために、記録しておいた過去における構成要件の探索の履歴を利用することができないかを検討した。発明者は、過去における探索の履歴は、発明者想定技術に基づいて得られたものであっても、全探索技術によって得られたものであっても、あるいは、他の技術によって得られたものであってもよいと考えた。
 しかし、発明者は、新たな構成要件に基づいて好ましい構成要件を効率的に探索するために、過去における構成要件の探索の履歴を利用する場合に、課題が生じると考えた。
 発明者が考えた第1の課題は、新たに構成要件を探索する際に、新たな構成要件と、過去の探索の履歴に含まれる構成要件とを比較して、構成要件同士の類似度を求めなければならないが、その類似度を特定することが難しいという課題である。構成要件同士の類似度が特定できなければ、新たに構成要件を探索する際に、過去における探索の履歴を利用することが困難になってしまう。図5および図6は、構成要件同士の類似度の特定の困難性の例を示す模式図である。図5では、過去の構成要件と、新たに得られた構成要件とを示している。この2つの構成要件では、構成要素111(MySQL[7~])と構成要素112(VM)とが「hostedOn」という関係で繋がれている点は共通である。しかし、その他の構成要素は、共通ではないため、過去の構成要件と、新たに得られた構成要件との類似度を定めることができない。同様に、図6でも、過去の構成要件と、新たに得られた構成要件とを示している。この2つの構成要件では、構成要素113(NW)と構成要素114(ルータ)とが「connectedTo 」という関係で繋がれている点は共通である。しかし、その他の構成要素に着目すると、VMの数が異なっていたり、構成要素113以外のNWの有無の違いがあったりして、そのような相違を定量化することが困難であり、2つの構成要件の類似度を定めることができない。このように、類似度を定めることが困難であるため、新たに構成要件を探索する際に、過去における探索の履歴を利用することが困難になってしまう。
 発明者が考えた第2の課題は、過去の構成要件と、新たに得られた構成要件とが全く同じであっても、その2つの構成要件における設計の意図が異なっている場合があり、そのような場合には、新たに構成要件を探索する際に、過去における探索の履歴を利用することが困難であるという点である。全く同じ2つ構成要件において、その構成要件における設計の意図が異なる場合というのは、その2つの構成要件の出所が異なる場合である。図7は、第2の課題の例を示す模式図である。図7に示す構成要件400,401は、過去の構成要件であり、構成要件411は、新たに得られた構成要件である。構成要件401と構成要件411は、同一である。しかし、構成要件401は、構成要件400に所定の具体化規則を適用して得られた構成要件である。従って、構成要件401には、「AP(Application)を繋ぎたい。」という目的によって得られたものである。一方、構成要件411は、起点となる構成要件として与えられた構成要件であり、出所となる構成要件は存在しない。従って、構成要件411は、「AP(Application)を繋ぎたい。」という目的によって得られたものではない。このように、構成要件401と構成要件411は同一の構成要件であるが、出所が異なるため、設計の意図が異なっている。そのため、構成要件411からの探索を効率的に行うために、構成要件401以降の探索履歴をそのまま利用したとしても、適切な探索にはならない。
 以上が、本発明の発明者が考えた、本発明に関連する技術である。以下に説明する本発明によれば、上記の第1の課題や、第2の課題は、解決される。
 以下、図面を参照して本発明の実施形態を説明する。
実施形態1.
 本発明においても、「構成要件」や「具体化規則」を用いるので、本発明における「構成要件」や「具体化規則」は、前述の発明者想定技術における「構成要件」や「具体化規則」と同様であるが、実施形態においても、「構成要件」や「具体化規則」について説明する。
 「構成要件」とは、構築対象のICTシステムにおける、構成要素を示す情報、または、構成要素間の関係を示す情報である。構成要件が、構成要素を示す情報と、構成要素間の関係を示す情報の両方を含んでいてもよい。構成要素や、構成要素間の関係は、ICTシステムに関する要件を表わしている。構成要件に含まれる構成要素は、ソフトウェアであっても、ハードウェアであってもよい。
 また、構成要件は、抽象的な(換言すれば、具体的でない)構成要素を示す情報や、構成要素間の抽象的な(具体的でない)関係を示す情報を含んでいてもよい。「構成要素が具体的でない」とは、構成要素の名称が具体化されていないことや、構成要素の名称が具体化されていたとしても、その構成要素が必要とする他の構成要素との間の関係が具体化されていないことである。また、構成要素間の関係が具体的であるか否かは、その関係の種類に応じて予め定められる。例えば、「HostedOn」という関係は具体的な関係として予め定められていて、「ConnectedTo 」という関係は具体的な関係ではないとして予め定められているものとする。
 構成要件は、構成要素をノードで表し、構成要素間の関係をエッジで表したグラフで表現することができる。構成要素を表わすノードには、構成要素の「型」の名称が記述され、構成要素間の関係を表わすエッジには、その関係の「型」の名称が記述される。個々の「型」の名称には、その名称を有する構成要素の機能や、その名称を有する関係の特徴等が予め定められている。構成要素を表わすノードには、「型」の名称の他に、属性値(例えば、バージョン情報等)が記述されていてもよい。
 構成要件の例は、例えば、図1に示すように表すことができる。図1については、既に説明しているので、ここでは、説明を省略する。
 「具体化規則」は、構成要件の一部をより詳細に記述するように書き換える規則である。具体化規則の例として、例えば、図2に示す具体化規則201,202が挙げられる。具体化規則は、構成要件の中に、具体化規則の上段に適合する箇所が存在しているならば、その箇所を、具体化規則の下段に示すようにより詳細に書き換えることを表わしている。図2に示すように、上段の内容が共通である具体化規則が複数存在してもよい。図2に示すマーク203については、既に説明しているので、ここでは、説明を省略する。
 図8は、本発明の第1の実施形態に係るシステム構成導出装置の例を示すブロック図である。本実施形態のシステム構成導出装置10は、探索履歴記憶部11と、情報抽出部12と、学習データ記憶部13と、学習部14と、学習結果記憶部15と、具体化規則記憶部16と、入力部17と、探索部18と、探索経過記憶部19とを備える。
 探索履歴記憶部11は、過去において適切と判定された構成要件の探索履歴を記憶する記憶装置である。探索履歴記憶部11に記憶される構成要件の探索履歴は、過去に、ICTシステムを構築するために、与えられた構成要件に基づいて具体化された構成要件を導出したときにおける探索履歴であり、適切と判定された構成要件の探索履歴である。
 例えば、前述の発明者想定技術が適用されたコンピュータが、入力された構成要件を起点として、「良い具体化」の基準を満たす構成要件を探索し、「良い具体化」の基準を満たす構成要件であってそれ以上具体化できない構成要件まで探索したとする。この構成要件は、木構造における葉ノードに該当し、起点として構成要件はルートノードに該当する。既に説明したように、ルートノードから葉ノードまでのパス上の構成要件は、全て、基準を満たす構成要件として選択済みの構成要件である。システム構成導出装置10の管理者は、ルートノード側から葉ノード側に順序付けたパス上の各構成要件と、パス上の個々の構成要件から次の構成要件を導出する際に用いた個々の具体化規則とを、過去において適切と判定された構成要件の探索履歴として、予め探索履歴記憶部11に記憶させておく。
 探索履歴記憶部11に記憶される探索履歴は、前述の発明者想定技術に基づいて得られた探索履歴に限定されない。例えば、前述の全探索技術が適用されたコンピュータが、入力された構成要件を起点として、制約条件を満たしている限り、具体化規則によって得られる各構成要件を全て選択していくことを繰り返し、葉ノードに該当する構成要件が複数存在する木構造を生成したとする。そして、設計者が、葉ノードに該当する複数の構成要件から、最も好ましい構成要件を判断したとする。すると、ルートノード(入力された構成要件)から、最も好ましいと判断された構成要件までのパスが特定できる。システム構成導出装置10の管理者は、ルートノード側から葉ノード側に順序付けたパス上の各構成要件と、パス上の個々の構成要件から次の構成要件を導出する際に用いた個々の具体化規則とを、過去において適切と判定された構成要件の探索履歴として、予め探索履歴記憶部11に記憶させてもよい。
 探索履歴記憶部11が記憶する構成要件の探索履歴の数は1つとは限らない。システム構成導出装置10の管理者は、過去にICTシステムを構築する際に、例えば、上述のように発明者想定技術や全探索技術に基づいて得られた探索履歴を収集し、その探索履歴を探索履歴記憶部11に記憶させる。なお、探索履歴記憶部11が記憶する探索履歴は、発明者想定技術や全探索技術以外の技術に基づいて得られた探索履歴であってもよい。
 図9は、探索履歴記憶部11が記憶する構成要件の探索履歴の一例を示す模式図である。図9に示す例では、構成要件21が、最初に与えられた構成要件であり、起点となる。図9に示す例では、構成要件21には、構成要素31~34が含まれ、構成要素31(AP)と構成要素32(AP)とが「connectedTo 」という関係で繋がれ、同様に、構成要素33(AP)と構成要素34(AP)とが「connectedTo 」という関係で繋がれている。
 そして、図9に例示する探索履歴では、構成要件21に具体化規則Aを適用することによって、構成要件21が構成要件22に遷移し、構成要件22に具体化規則Aを適用することによって構成要件22が構成要件23に遷移し、構成要件23に具体化規則Bを適用することによって構成要件23が構成要件24に遷移したことを表わしている。なお、構成要件24より後の構成要件の遷移も、探索履歴に含まれているが、図9では図示を省略している。図9から分かるように、探索履歴では、1つの構成要件から次の構成要件への遷移毎に、具体化規則が割り付けられている。例えば、構成要件21から構成要件22への遷移51には、「具体化規則A」が割り付けられている。他の遷移52,53等にもそれぞれ、具体化規則が割り付けられている。
 図10は、図9における具体化規則Aおよび具体化規則Bを示す模式図である。
 情報抽出部12は、探索履歴記憶部11に記憶されている探索履歴(例えば、図9を参照)から、1つの構成要件から次の構成要件への遷移毎に、具体化規則を含む所定の情報から成る組を抽出する。情報抽出部12が遷移毎に抽出する所定の情報から成る組について、より詳細に説明する。
 情報抽出部12は、上記の所定の情報から成る組として、4種類の情報から成る組合せ(以下、4つ組と記す。)を抽出する。4つ組に含まれる4種類の情報は、以下に示す情報である。
(1)具体化規則
(2)単位構成要件
(3)単位構成要件の近傍情報
(4)単位構成要件履歴情報
 なお、この4つ組は、上記の所定の情報から成る組の例であり、上記の所定の情報から成る組は、この4つ組以外であってもよい。以下、上記の所定の情報から成る組が、この4つ組である場合を例にして説明する。
 上記(1)~(4)の4種類の情報について説明する。
 情報抽出部12は、探索履歴から、1つの構成要件から次の構成要件への遷移毎に、4つ組を抽出する。そして、前述のように、1つの構成要件から次の構成要件への遷移毎に、具体化規則が割り付けられている。情報抽出部12は、4つ組の抽出対象の遷移に割り付けられている具体化規則を、4つ組をなす情報の1つとして抽出する。すなわち、4つ組に含まれている具体化規則は、構成要素の遷移に割り付けられている具体化規則である。
 「単位構成要件」とは、具体化規則が適用される構成要件内でその具体化規則によって書き換えられる部分である。また、この構成要件は、遷移前の構成要件である。情報抽出部12は、4つ組の抽出対象の遷移前後の構成要件と、その遷移に割り付けられている具体化規則とに基づいて、遷移前の構成要件から単位構成要件を抽出する。
 「単位構成要件の近傍情報」とは、単位構成要件の近傍に関する情報である。以下、単位構成要件の近傍情報を、単に、近傍情報と記す場合がある。近傍情報は、例えば、単位構成要件と、その単位構成要件からNホップ以内の構成要素および構成要素間の関係とを示す情報である。近傍情報に含まれる構成要素および構成要素間の関係には、いずれも「型」の名称が記述される。また、近傍情報に含まれる構成要素や、構成要素間の関係には、「型」の名称の他に、属性値(例えば、バージョン情報等)が記述されていてもよい。この例では、近傍情報の中に、単位構成要件も包含される。ただし、近傍情報は、上記の例に限定されない。近傍情報の他の例については後述する。また、NホップにおけるNの値は、例えば、N=1であるが、N=1に限定されず、N=2、N=3等であってもよい。以下の説明では、N=1である場合を例にする。すなわち、以下の説明では、単位構成要件と、その単位構成要件から1ホップ以内の構成要素および構成要素間の関係とを示す情報を近傍情報とする場合を例にして説明する。図11は、近傍情報の例を示す模式図である。
 図11(a)は、構成要件を示す。この構成要件に含まれる単位構成要件が、構成要素103(APS)であるとする。図11において、単位構成要件を破線で囲んで図示する。この場合、近傍情報は、構成要素103(単位構成要件)と、構成要素103から1ホップ以内の構成要素および構成要素間の関係とを示す情報である。図11(b)は、この近傍情報を示している。図11(b)において、構成要素101および構成要素102は、構成要素103(単位構成要件)から1ホップ以内の構成要件である。また、構成要素103,101間の関係(hostedOn)は、構成要素103から1ホップ以内の構成要素間の関係に該当する。同様に、構成要素103,102間の関係(connectedTo )は、構成要素103から1ホップ以内の構成要素間の関係に該当する。一方、構成要素101,102間の関係(hostedOn、図11(a)参照)は、構成要素103から1ホップ以内の構成要素間の関係に該当せず、近傍情報に含まれない。
 また、近傍情報に対する1つまたは複数の制約条件が予め指定されていてもよい。例えば、制約条件として、特定の構成要素の型が指定されているとする。その場合、情報抽出部12は、単位構成要件から1ホップ以内の構成要素のうち、指定された型に該当する構成要素、および、単位構成要件内の構成要素と指定された型に該当する構成要素との関係を近傍情報に含める。一方、情報抽出部12は、単位構成要件から1ホップ以内の構成要素のうち、指定された型に該当しない構成要素、および、単位構成要件内の構成要素と指定された型に該当しない構成要素との関係に関しては、近傍情報に含めない。N=1以外の場合であっても同様である。
 単位構成要件履歴情報は、単位構成要件の生成に関連して用いられた具体化規則と、その具体化規則がどの構成要件のどの箇所に適用されたかを示す情報とを含む情報である。「単位構成要件の生成に関連して用いられた具体化規則」とは、換言すれば、「単位構成要件に含まれる構成要素や構成要素間の関係、および、構成要件に含まれる構成要素や関係を生成する元となった構成要素や関係」の生成に寄与した具体化規則である。ここで、「構成要件に含まれる構成要素や関係を生成する元となった構成要素や関係」とは、起点となる構成要件から、4つ組の抽出対象の遷移前の構成要件までの各構成要件の中で、構成要件に含まれる構成要素や関係を生成するために必要であった構成要素や関係を意味する。例えば、起点となる構成要件に含まれる構成要素「AP」に基づいて、構成要素「VM」が生成され、さらに、その構成要素「VM」に基づいて、構成要素「NW」が生成されたとする。そして、その構成要素「NW」が単位構成要件に含まれているとする。この場合、「AP」および「VM」がいずれも、構成要素「NW」を生成する元になった構成要素に該当する。単位構成要件履歴情報の具体例については後述する。
 情報抽出部12が抽出する4つ組をなす情報のうち、単位構成要件履歴情報は、「なし」という情報であってもよい。
 図9に示す構成要件23から次の構成要件24への遷移53を対象として情報抽出部12が抽出する4つ組を説明する。図12は、遷移53を対象とした場合に抽出される4つ組を示す模式図である。
 探索履歴において、遷移53に割り付けられている具体化規則は、具体化規則B(図10(b)参照)である。従って、情報抽出部12は、具体化規則Bを探索履歴から抽出する。
 また、情報抽出部12は、構成要件23,24と具体化規則Bとに基づいて、遷移前の構成要件23における単位構成要件が、構成要素35,36、および、構成要素35,36間の「connectedTo 」という関係であると判定し、その単位構成要件を構成要件23から抽出する。抽出された単位構成要件を図12に示している。
 次に、情報抽出部12は、上記の単位構成要件の近傍情報を、構成要件23から抽出する。抽出された単位構成要件の近傍情報を図12に示している。
 次に、情報抽出部12は、上記の単位構成要件の生成に関連して用いられた具体化規則と、その具体化規則がどの構成要件のどの箇所に適用されたかを示す情報とを含む単位構成要件履歴情報を抽出する。図9に示す遷移51で単位構成要件が生成されている。従って、情報抽出部12は、遷移51に割り付けられている具体化規則A(図10(a)参照)と、その具体化規則Aが適用された構成要件21、および、構成要件21内で具体化規則Aが適用された箇所を抽出する。
 単位構成要件の生成に関連して用いられた具体化規則が他にも1つ以上あれば、情報抽出部12は、具体化規則毎に、その具体化規則と、その具体化規則がどの構成要件のどの箇所に適用されたかを示す情報を抽出する。
 本例では、遷移52に割り付けられている具体化規則Aは、図12(2)に示されている単位構成要件に含まれない構成要素37,38および構成要素37,38間の関係の生成に寄与するものであり、図12(2)に示されている単位構成要件の生成には寄与していない。従って、遷移52に割り付けられている具体化規則Aや、構成要件22においてその具体化規則Aが適用された箇所等は、単位構成要件履歴情報に含まれない。
 本例において抽出された単位構成要件履歴情報を図12に示している。
 情報抽出部12は、遷移毎に、4つ組を抽出する。図9に示す遷移51を対象とした場合には、情報抽出部12は、以下の4つ組を抽出する。
(1)具体化規則
 情報抽出部12は、「具体化規則A」を抽出する。
(2)単位構成要件
 情報抽出部12は、構成要件21に含まれる構成要素31,32、および、構成要素31,32間の関係を抽出する。
(3)単位構成要件の近傍情報
 単位構成要件に含まれる構成要素31,32に接続される他の構成要素は存在しないので、本例では、単位構成要件の近傍情報は、単位構成要件と同一になる。
(4)単位構成要件履歴情報
 本例では、単位構成要件は、与えられた構成要件21に含まれている。そのため、単位構成要件の生成に関連して用いられた具体化規則は、ない。よって、情報抽出部12は、単位構成要件履歴情報として、「なし」という情報を得る。
 また、図9に示す遷移52を対象とした場合、情報抽出部12は、以下の4つ組を抽出する。
(1)具体化規則
 情報抽出部12は、「具体化規則A」を抽出する。
(2)単位構成要件
 情報抽出部12は、構成要件22に含まれる構成要素33,34、および、構成要素33,34間の関係を抽出する。
(3)単位構成要件の近傍情報
 単位構成要件に含まれる構成要素33,34に接続される他の構成要素は存在しないので、本例では、単位構成要件の近傍情報は、単位構成要件と同一になる。
(4)単位構成要件履歴情報
 本例では、単位構成要件は、与えられた構成要件21に含まれている。そのため、単位構成要件の生成に関連して用いられた具体化規則は、ない。よって、情報抽出部12は、単位構成要件履歴情報として、「なし」という情報を得る。
 以上、図9に示す遷移53,51,52から得られる4つ組をそれぞれ説明した。情報抽出部12は、探索履歴記憶部11に記憶された各探索履歴における構成要件の遷移毎に、4つ組を抽出する。
 また、情報抽出部12は、抽出した各4つ組を、学習データ記憶部13に記憶させる。学習データ記憶部13は、4つ組の集合を記憶する記憶装置である。
 学習部14は、学習データ記憶部13に記憶された4つ組の集合を学習データとして、与えられた4つ組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を、機械学習によって学習する。学習部14は、4つ組に対応するスコアの演算方法の機械学習において、非特許文献4に記載された技術を用いてもよい。
 ここで、与えられた4つ組に対するスコアを算出する方式を、モデルと称する。モデルは、予め定められている。本実施形態では、4つ組が与えられた場合、4つ組に含まれている具体化規則に応じて、4つ組における具体化規則以外の3種類の情報(以下、3つ組と記す。)を、具体化規則に対応するグループに分類し、そのグループにおけるその3つ組のスコアを定めるという方式が、モデルとして予め定められている場合を例にして説明する。ただし、モデルとして、他のモデル(方式)が定められていてもよい。
 図13は、種々の4つ組に含まれる3つ組を、具体化規則に応じて、具体化規則に対応するグループに分類し、分類された3つ組に対して定めたスコアの例を示す模式図である。図13では、具体化規則に対応するグループを2つ図示している。また、図13に示す各矩形は、3つ組を模式的に表わしている。そして、その矩形の近傍に示した値は、グループに分類された3つ組のスコアを示している。なお、図13に示す具体化規則において“FW”は、ファイアウォールを意味し、“R”は、ルータを意味する。
 学習部14は、4つ組の集合を学習データとして、上記のモデルに基づいたスコアの演算方法を、機械学習によって学習する。例えば、学習部14は、具体化規則に対応するグループ毎に、3つ組のスコアを算出する演算方法(例えば、演算式)を学習する。
 上記のモデルにおいて、スコアは、3つ組が示す状況において、3つ組が分類されているグループに対応する具体化規則を用いた場合の、遷移後の構成要件の適切さの度合いを表しているということができる。
 学習部14は、学習結果(4つ組が与えられた場合にその4つ組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法)を、学習結果記憶部15に記憶させる。学習結果記憶部15は、学習部14による学習結果(スコアの演算方法)を記憶する記憶装置である。
 具体化規則記憶部16は、複数種類の具体化規則を記憶する記憶装置である。
 入力部17は、新規の構成要件が入力される入力デバイスである。
 探索部18は、着目している構成要件に適用可能な具体化規則を、具体化規則記憶部16から読み込む。着目している構成要件に適用可能な具体化規則は、1つとは限らず、2つ以上存在していてもよい。
 入力部17に新規の構成要件が入力された場合、探索部18は、その新規の構成要件を、着目している構成要件として選択する。また、後述するように、探索部18は、着目している構成要件を、順次、選択していく。
 探索部18は、具体化規則記憶部16から読み込んだ具体化規則と、着目している構成要件内におけるその具体化規則の適用箇所とのペアを定める。構成要件に適用される具体化規則が共通であっても、構成要件内における具体化規則の適用箇所が異なれば、得られる構成要件も異なる。そして、具体化規則の適用箇所に応じて、得られるスコアも異なる。そのため、探索部18は、上記のように、具体化規則と、着目している構成要件内におけるその具体化規則の適用箇所とのペアをそれぞれ定める。
 図14は、具体化規則の違いや、構成要件内の具体化規則の適用箇所の違いによって、異なる構成要件が得られることを示す模式図である。ここで、図14に示す構成要件61は、入力部17に入力された構成要件であり、探索部18は、構成要件61を、着目している構成要件として選択しているものとする。また、探索部18は、構成要件61に適用可能な具体化規則として、図15に示す2つの具体化規則211,212を具体化規則記憶部16から読み込んだとする。
 具体化規則211(図15(a)参照)は、構成要件61内の構成要素121,122にそれぞれ適用可能であり、具体化規則211を、構成要素121,122のどちらに適用するかによって、得られる構成要件が変わる。また、具体化規則212(図15(b)参照)は、構成要件61内の構成要素121,122およびその両者を繋ぐ関係に該当する箇所に適用可能である。
 具体化規則211を構成要素121に適用した場合、構成要件62(図14参照)が得られる。
 具体化規則211を構成要素122に適用した場合、構成要件63(図14参照)が得られる。
 具体化規則212を、構成要素121,122およびその両者を繋ぐ関係に該当する箇所に適用に適用すると、構成要件64(図14参照)が得られる。
 本例では、探索部18は、具体化規則とその適用箇所とのペアとして、以下の3つのペアを定める。
(ペア1) 具体化規則211と、構成要素121とのペア
(ペア2) 具体化規則211と、構成要素122とのペア
(ペア3) 具体化規則212と、「構成要素121,122およびその両者を繋ぐ関係に該当する箇所」とのペア
 探索部18は、定めたペア毎に、前述の4つ組を抽出する。探索部18は、4つ組における具体化規則として、ペアに含まれる具体化規則を抽出すればよい。また、探索部18は、4つ組における単位構成要件として、ペアに含まれる適用箇所(具体化規則の適用箇所)を抽出すればよい。そして、探索部18は、単位構成要件に応じて、単位構成要件の近傍情報および単位構成要件履歴情報を定めればよい。探索部18が単位構成要件の近傍情報および単位構成要件履歴情報を定める方法は、情報抽出部12が単位構成要件の近傍情報および単位構成要件履歴情報を定める方法と同様である。
 なお、情報抽出部12が4つ組を抽出する場合と同様に、近傍情報に対する1つまたは複数の制約条件が予め指定されていてもよい。この場合、探索部18は、その制約条件を満足する近傍情報を含む4つ組を抽出する。
 上記の「ペア1」に応じて抽出される4つ組は、構成要件61から構成要件62への遷移71に割り付けられる。上記の「ペア2」に応じて抽出される4つ組は、構成要件61から構成要件63への遷移72に割り付けられる。上記の「ペア3」に応じて抽出される4つ組は、構成要件61から構成要件64への遷移73に割り付けられる。
 さらに、探索部18は、定めたペア毎に、4つ組をスコアの演算方法に適用することによって、4つ組のスコアを算出する。スコアの演算方法は、前述のように学習部14によって学習され、学習結果記憶部15に記憶されている。
 探索部18は、ペア毎に抽出した4つ組、および、以前に(換言すれば、今回のスコア算出よりも前に)探索部18によってスコアが算出されていて未だ選択されていない4つ組の中で、最もスコアが高い4つ組を選択する。
 ただし、以前に探索部18によってスコアが算出されていて未だ選択されていない4つ組が存在しない場合には、探索部18は、ペア毎に抽出した4つ組の中で、最もスコアが高い4つ組を選択すればよい。図14に示す例では、構成要件61は新規に入力された構成要件である。従って、図14に示す例では、以前に探索部18によってスコアが算出されていて未だ選択されていない4つ組は、存在しない。よって、探索部18は、3つの4つ組の中で、最もスコアが高い4つ組を選択すればよい。
 探索部18は、選択した4つ組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択する。
 例えば、上記の「ペア1」に対応する4つ組のスコアが“0.9”であり、上記の「ペア2」に対応する4つ組のスコアが“0.8”であり、「ペア3」に対応する4つ組のスコアが“0.6”であるとする(図16参照)。この場合、「ペア1」に対応する4つ組のスコアが最も高い。スコアが最も高い4つ組に対応する「ペア1」の適用対象となる構成要件は、構成要件61である。従って、探索部18は、構成要件61に「ペア1」を適用することによって得られる構成要件62を、着目している構成要件として新たに選択する。
 本例では、構成要件61は、新規の構成要件であり、上記の「ペア1」、「ペア2」、「ペア3」それぞれの適用対象は、全て構成要件61となる。従って、最もスコアが高い4つ組に対応するペア(ペア1)の適用対象となる構成要件は、着目している構成要件に該当する。しかし、探索が進んだ場合、最もスコアが高い4つ組に対応するペアの適用対象となる構成要件は、着目している構成要件に該当しない場合もあり得る。
 探索部18は、着目している構成要件として新たに選択すると、同様の動作を繰り返す。従って、探索部18は、着目している構成要件を、順次、選択していく。
 また、探索部18は、上記の動作において、着目している構成要件、着目している構成要件に対して定めた各ペア、ペア毎に抽出した4つ組、ペア毎に算出したスコア(4つ組のスコア)、および、着目している構成要件として新たに選択した構成要件を、探索経過記憶部19に記憶させる。探索経過記憶部19は、これらの情報を記憶する記憶装置である。上記の各種情報を探索経過記憶部19に記憶させることで、構成要件の探索が進んだとしても、探索部18は、4つ組に含まれる単位構成要件履歴情報を抽出することができる。
 探索部18は、構成要件62を、着目している構成要件として新たに選択した場合、構成要件62に適用可能な具体化規則を、具体化規則記憶部16から読み込む。そして、探索部18は、読み込んだ具体化規則と、構成要件62内におけるその具体化規則の適用箇所とのペアを定める。
 そして、探索部18は、定めたペア毎に、前述の4つ組を抽出する。さらに、探索部18は、定めたペア毎に、4つ組のスコアを算出する。
 探索部18は、ペア毎に抽出した4つ組、および、以前に探索部18によってスコアが算出されていて未だ選択されていない4つ組の中で、最もスコアが高い4つ組を選択する。ここでは、以前に探索部18によってスコアが算出されていて未だ選択されていない4つ組として、スコア“0.8”(図16参照)が算出されている4つ組、および、スコア“0.6”(図16参照)が算出されている4つ組が存在する。従って、探索部18は、今回算出した各スコア、および、以前に算出したスコア“0.8”,“0.6”の中で、最高のスコアを選択し、最もスコアが高い4つ組を選択する。本例では、着目している構成要件に基づいて、2つの4つ組が得られ、その2つの4つ組のスコアが“0.5”,“0.4”であったとする。この場合、最も高いスコアは、以前に算出されたスコア“0.8”(図16参照)である。すると、スコアが最も高い4つ組に対応するペアは、前述の「ペア2」になる。「ペア2」の適用対象となる構成要件は、構成要件61である。従って、探索部18は、構成要件61に「ペア2」を適用することによって得られる構成要件63を、着目している構成要件として新たに選択する。本例では、最もスコアが高い4つ組に対応するペアの適用対象となる構成要件は、着目している構成要件(構成要件62)に該当していない。
 探索部18は、着目している構成要件として新たに選択すると、同様の動作を繰り返す。
 上記の例では、着目している構成要件として、「構成要件61」、「構成要件62」、「構成要件63」が順に選択される場合を示した。得られるスコアの値によっては、例えば、構成要件62の次に、構成要件62の下位の構成要件が、着目している構成要件として選択され得る。
 なお、着目している構成要件として新たに選択した構成要件を、より詳細に具体化できない場合には、探索部18は、探索を終了し、その構成要件を、木構造における葉ノードに該当する構成要件として決定する。
 情報抽出部12、学習部14および探索部18は、例えば、システム構成導出プログラムに従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。この場合、CPUは、コンピュータのプログラム記憶装置等のプログラム記録媒体からシステム構成導出プログラムを読み込み、そのシステム構成導出プログラムに従って、情報抽出部12、学習部14および探索部18として動作すればよい。
 また、システム構成導出装置10は、2つ以上の物理的に分離した装置が、有線または無線で接続されている構成であってもよい。
 次に、本発明の処理経過について説明する。なお、以下の説明では、既に説明した事項については、適宜、説明を省略する。
 図17は、スコアの演算方法を学習する際の処理経過の例を示すフローチャートである。まず、情報抽出部12が、探索履歴記憶部11に記憶されている各探索履歴から、構成要件の遷移毎に4つ組を抽出し、抽出した4つ組の集合を学習データ記憶部13に記憶させる(ステップS1)。
 次に、学習部14が、学習データ記憶部13から4つ組の集合を読み込む。学習部14は、その4つ組の集合を学習データとして、4つ組のスコアを算出する演算方法(例えば、演算式)を、機械学習によって学習する(ステップS2)。
 学習部14は、ステップS2で学習したスコアの演算方法を、学習結果記憶部15に記憶させる(ステップS3)。
 図18および図19は、入力された構成要件を起点として、構成要件をより具体化するように構成要件を探索していく処理の処理経過の例を示すフローチャートである。
 まず、入力部17を介して、新規の構成要件が入力される(ステップS11)。
 探索部18は、ステップS11で入力された新規の構成要件を、着目している構成要件として選択する(ステップS12)。
 なお、探索部18は、この構成要件を、着目している構成要件として、探索経過記憶部19に記憶させる。探索経過記憶部19に記憶される情報は、4つ組に含まれる単位構成要件履歴情報を抽出する際に利用される。
 次に、探索部18は、着目している構成要件に適用可能な具体化規則を、具体化規則記憶部16から読み込む(ステップS13)。
 次に、探索部18は、ステップS13で読み込んだ具体化規則と、着目している構成要件内におけるその具体規則の適用箇所とのペアを定める(ステップS14)。ステップS14で、複数のペアが得られてもよい。
 探索部18は、各ペアを、着目している構成要件に関連付けて、探索経過記憶部19に記憶させる。
 次に、探索部18は、ステップS14で定めたペア毎に4つ組を抽出する(ステップS15)。
 さらに、探索部18は、ステップS14で定めたペア毎に、4つ組をスコアの演算方法に適用することによって、4つ組のスコアを算出する(ステップS16)。
 探索部18は、4つ組およびそのスコアをペアに関連付けて、探索経過記憶部19に記憶させる。
 次に、探索部18は、直近のステップS15でペア毎に抽出した4つ組、および、以前に探索部18によってスコアが算出されていて未だ選択されていない4つ組の中で、最もスコアが高い4つ組を選択する(ステップS17)。ただし、以前に探索部18によってスコアが算出されていて未だ選択されていない4つ組が存在しない場合、探索部18は、直近のステップS15でペア毎に抽出した4つ組の中で、最もスコアが高い4つ組を選択すればよい。
 次に、探索部18は、ステップS17で選択した4つ組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択する(ステップS18)。探索部18は、その構成要件を、次に選択された「着目している構成要件」として、探索経過記憶部19に記憶させる。
 次に、探索部18は、ステップS18で選択した構成要件を、より詳細に具体化することができるか否かを判定する(ステップS19)、例えば、探索部18は、ステップS18で選択した構成要件に適用可能な具体化規則が具体化規則記憶部16に記憶されていれば、構成要件をより具体化することができると判定し、構成要件に適用可能な具体化規則が具体化規則記憶部16に記憶されていなければ、構成要件をより具体化することができないと判定してもよい。ただし、この判定方法は例であり、ステップS19における判定方法は、特に限定されない。
 ステップS18で選択した構成要件をより具体化できると判定した場合(ステップS19のYes)、探索部18は、ステップS13以降の動作を繰り返す。
 ステップS18で選択した構成要件をより具体化することはできないと判定した場合(ステップS19のNo)、探索部18は、ステップS18で選択した構成要件を、木構造における葉ノードに該当する構成要件として決定する(ステップS20)。なお、探索部18は、その構成要件を、最終的に得られた構成要件として、探索経過記憶部19に記憶させる。探索部18は、ステップS20で処理を終了する。
 以上の処理経過において、システム構成導出装置10は、構成要件の更新を繰り返すことで、構築対象システムの構成要件を具体化していると言うことができる。
 ICTシステムの設計者は、この葉ノードに該当する構成要件を、ICTシステムの構築に利用することができる。
 本実施形態によれば、学習部14が、過去における構成要件の探索履歴から得られた4つ組の集合を学習データとして、与えられた4つ組に対するスコアの演算方法(例えば、演算式)を学習する。そして、4つ組に含まれている「単位構成要件」の粒度は、「構成要件」の粒度よりも細かい。従って、スコア演算方法を学習する際、「単位構成要件」の類似度は求めやすく、精度の高いスコア演算方法を学習することができる。
  また、4つ組には、単位構成要件の近傍情報が含まれている。近傍情報同士が類似しているか否かは、例えば、一方の近傍情報が他方の近傍情報に対してグラフ埋め込み可能か否かによって判定することができる。近傍情報同士が類似しているか否かも判定することができ、精度の高いスコア演算方法を学習することができる。
 また、4つ組には、単位構成要件履歴情報も含まれている。従って、設計の意図を考慮した値としてスコアが得られるスコア演算方法を学習することができる。
 そして、探索部18は、そのようなスコア演算方法を4つ組に適用して、4つ組のスコアを算出し、そのスコアに基づいて、構成要件の探索を進める。従って、本実施形態によれば、過去における構成要件の探索履歴を利用して、好ましい構成要件を効率的に探索することができる。
 従って、本実施形態によれば、システムを構築する際、システムの構成を効率的に導出することができる。
 次に、上記の実施形態の変形例について説明する。上記の実施形態では、単位構成要件と、その単位構成要件からNホップ以内の構成要素および構成要素間の関係とを示す情報を、「単位構成要件の近傍情報」とした。
 単位構成要件の近傍情報は、上記の例に限定されない。例えば、単位構成要件の近傍情報は、その単位構成要件からNホップ以内の構成要素の数を示す情報であってもよい。
 NホップにおけるNの値は、例えば、N=1であるが、N=1に限定されず、N=2、N=3等であってもよい。この点は、上記の実施形態と同様である。
 また、近傍情報に対する1つまたは複数の制約条件が予め指定されていてもよい。この場合、情報抽出部12は、単位構成要件からNホップ(例えば、1ホップ)以内の構成要素のうち、制約条件を満足する構成要素の数を近傍情報とすればよい。例えば、制約条件として、特定の構成要素の型が指定されているとする。その場合、情報抽出部12は、単位構成要件からNホップ(例えば、1ホップ)以内の構成要素のうち、その型に合致する構成要素の数を近傍情報とすればよい。
 図20は、本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。なお、以下の説明は、後述の第2の実施形態にも当てはまる。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、入力デバイス1005とを備える。
 本発明の実施形態のシステム構成導出装置10は、コンピュータ1000に実装される。システム構成導出装置10の動作は、システム構成導出プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのシステム構成導出プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのシステム構成導出プログラムに従って、上記の実施形態で説明した処理を実行する。
 補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
 また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサやこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
実施形態2.
 図21は、本発明の第2の実施形態に係るシステム構成導出装置の例を示すブロック図である。本実施形態のシステム構成導出装置は、構築対象システムの構成要件として具体的な構成要件を導出することができる。より具体的には、係るシステム構成導出装置は、構築対象システムの構成要件の更新を繰り返すことによって、その構築対象システムの構成要件を具体化する。本発明のシステム構成導出装置は、探索履歴記憶部81と、情報抽出部82と、学習部83と、具体化規則記憶部84と、入力部85と、探索部86とを備える。
 探索履歴記憶部81(例えば、上述した第1の実施形態における探索履歴記憶部11に対応する。)は、過去において適切と判定された構成要件の探索履歴を記憶する。
 情報抽出部82(例えば、上述した第1の実施形態における情報抽出部12に対応する。)は、探索履歴から、一の構成要件から次の構成要件への遷移毎に、その一の構成要件に適用された具体化規則を含む所定の情報から成る組(例えば、上述した第1の実施形態における4つ組に対応する。)を抽出する。具体化規則は、構成要件の一部をより詳細に記述するように書き換える規則である。
 学習部83(例えば、上述した第1の実施形態における学習部14に対応する。)は、情報抽出部82によって抽出された所定の情報から成る組の集合を学習データとして、所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する。
 具体化規則記憶部84(例えば、上述した第1の実施形態における具体化規則記憶部16に対応する。)は、複数の具体化規則を記憶する。
 入力部85(例えば、上述した第1の実施形態における入力部17に対応する。)には、新規の構成要件が入力される。
 探索部86(例えば、上述した第1の実施形態における探索部18に対応する。)は、着目している構成要件に適用可能な具体化規則を、具体化規則記憶部84から読み込み、読み込んだ具体化規則と着目している構成要件内における具体化規則の適用箇所とのペア毎に、所定の情報から成る組を抽出し、当該所定の情報から成る組を演算方法に適用することによってスコアを算出し、ペア毎に抽出した所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す。
 探索部86は、入力部85に新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択する。
 また、探索部86は、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組が存在しない場合には、ペア毎に抽出した所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択する。
 本発明により、システムを構築する際、システムの構成を効率的に導出することができる。
 また、情報抽出部82が、
 一の構成要件から次の構成要件への遷移毎に、
 具体化規則と、
 その具体化規則が適用される構成要件内でその具体化規則によって書き換えられる部分である単位構成要件と、
 単位構成要件の近傍に関する情報である近傍情報と、
 単位構成要件の生成に関連して用いられた具体化規則と、当該具体化規則がどの構成要件のどの箇所に適用されたかを示す情報とを含む単位構成要件履歴情報とを
 含む4つ組を抽出し、
 学習部83が、
 4つ組の集合を学習データとして、演算方法を学習し、
 探索部86が、
 着目している構成要件に適用可能な具体化規則を、具体化規則記憶部84から読み込み、ペア毎に、4つ組を抽出する
 構成であってもよい。
 また、近傍情報は、単位構成要件と、当該単位構成要件からNホップ以内の構成要素および構成要素間の関係とを示す情報であってもよい。
 また、近傍情報は、単位構成要件と、当該単位構成要件からNホップ以内の構成要素および構成要素間の関係であって指定された条件を満たす構成要素および構成要素間の関係とを示す情報であってもよい。
 また、近傍情報に含まれる構成要素および構成要素間の関係には型の名称が記述されてもよい。
 また、近傍情報は、単位構成要件からNホップ以内の構成要素の数を示す情報であってもよい。
 また、近傍情報は、単位構成要件からNホップ以内の構成要素であって指定された条件を満たす構成要素の数を示す情報であってもよい。
 また、N=1であってもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2018年6月22日に出願された日本特許出願2018-118930を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 10 システム構成導出装置
 11 探索履歴記憶部
 12 情報抽出部
 13 学習データ記憶部
 14 学習部
 15 学習結果記憶部
 16 具体化規則記憶部
 17 入力部
 18 探索部
 19 探索経過記憶部

Claims (10)

  1.  構築対象システムの構成要件の更新を繰り返すことによって、前記構築対象システムの構成要件を具体化するシステム構成導出装置であって、
     過去において適切と判定された構成要件の探索履歴を記憶する探索履歴記憶手段と、
     前記探索履歴から、一の構成要件から次の構成要件への遷移毎に、前記一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出する情報抽出手段と、
     前記情報抽出手段によって抽出された前記所定の情報から成る組の集合を学習データとして、前記所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する学習手段と、
     複数の具体化規則を記憶する具体化規則記憶手段と、
     新規の構成要件が入力される入力手段と、
     着目している構成要件に適用可能な具体化規則を、前記具体化規則記憶手段から読み込み、読み込んだ具体化規則と前記着目している構成要件内における前記具体化規則の適用箇所とのペア毎に、前記所定の情報から成る組を抽出し、当該所定の情報から成る組を前記演算方法に適用することによってスコアを算出し、前記ペア毎に抽出した前記所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、前記ペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す探索手段とを備え、
     前記探索手段は、
     前記入力手段に前記新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択し、
     前記探索手段は、
     以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組が存在しない場合には、前記ペア毎に抽出した前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択する
     ことを特徴とするシステム構成導出装置。
  2.  前記情報抽出手段は、
     一の構成要件から次の構成要件への遷移毎に、
     具体化規則と、
     前記具体化規則が適用される構成要件内で前記具体化規則によって書き換えられる部分である単位構成要件と、
     前記単位構成要件の近傍に関する情報である近傍情報と、
     前記単位構成要件の生成に関連して用いられた具体化規則と、当該具体化規則がどの構成要件のどの箇所に適用されたかを示す情報とを含む単位構成要件履歴情報とを
     含む4つ組を抽出し、
     前記学習手段は、
     前記4つ組の集合を学習データとして、前記演算方法を学習し、
     前記探索手段は、
     着目している構成要件に適用可能な具体化規則を、前記具体化規則記憶手段から読み込み、前記ペア毎に、前記4つ組を抽出する
     請求項1に記載のシステム構成導出装置。
  3.  近傍情報は、単位構成要件と、当該単位構成要件からNホップ以内の構成要素および構成要素間の関係とを示す情報である
     請求項2に記載のシステム構成導出装置。
  4.  近傍情報は、単位構成要件と、当該単位構成要件からNホップ以内の構成要素および構成要素間の関係であって指定された条件を満たす構成要素および構成要素間の関係とを示す情報である
     請求項2または請求項3に記載のシステム構成導出装置。
  5.  近傍情報に含まれる構成要素および構成要素間の関係には型の名称が記述される
     請求項3または請求項4に記載のシステム構成導出装置。
  6.  近傍情報は、単位構成要件からNホップ以内の構成要素の数を示す情報である
     請求項2に記載のシステム構成導出装置。
  7.  近傍情報は、単位構成要件からNホップ以内の構成要素であって指定された条件を満たす構成要素の数を示す情報である
     請求項2または請求項6に記載のシステム構成導出装置。
  8.  N=1である
     請求項3から請求項7のうちのいずれか1項に記載のシステム構成導出装置。
  9.  構築対象システムの構成要件の更新を繰り返すことによって、前記構築対象システムの構成要件を具体化するシステム構成導出方法であって、
     過去において適切と判定された構成要件の探索履歴から、一の構成要件から次の構成要件への遷移毎に、前記一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出し、
     抽出した前記所定の情報から成る組の集合を学習データとして、前記所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習し、
     複数の具体化規則を記憶する具体化規則記憶手段から、着目している構成要件に適用可能な具体化規則を読み込み、読み込んだ具体化規則と前記着目している構成要件内における前記具体化規則の適用箇所とのペア毎に、前記所定の情報から成る組を抽出し、当該所定の情報から成る組を前記演算方法に適用することによってスコアを算出し、前記ペア毎に抽出した前記所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、前記ペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返し、
     新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択し、
     以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組が存在しない場合には、前記ペア毎に抽出した前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択する
     ことを特徴とするシステム構成導出方法。
  10.  コンピュータに、構築対象システムの構成要件の更新を繰り返すことによって、前記構築対象システムの構成要件を具体化させるためのシステム構成導出プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
     前記コンピュータに、
     過去において適切と判定された構成要件の探索履歴から、一の構成要件から次の構成要件への遷移毎に、前記一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出する情報抽出処理、
     前記情報抽出処理で抽出された前記所定の情報から成る組の集合を学習データとして、前記所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する学習処理、および、
     複数の具体化規則を記憶する具体化規則記憶手段から、着目している構成要件に適用可能な具体化規則を読み込み、読み込んだ具体化規則と前記着目している構成要件内における前記具体化規則の適用箇所とのペア毎に、前記所定の情報から成る組を抽出し、当該所定の情報から成る組を前記演算方法に適用することによってスコアを算出し、前記ペア毎に抽出した前記所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、前記ペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す探索処理を実行させ、
     新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択させ、
     前記探索処理で、
     以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組が存在しない場合には、前記ペア毎に抽出した前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択させる
     ためのシステム構成導出プログラムを記録したコンピュータ読み取り可能な記録媒体。
PCT/JP2019/015312 2018-06-22 2019-04-08 システム構成導出装置、方法およびプログラム WO2019244446A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/973,974 US11403270B2 (en) 2018-06-22 2019-04-08 System configuration derivation device, method, and program
JP2020525290A JP6989014B2 (ja) 2018-06-22 2019-04-08 システム構成導出装置、方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018118930 2018-06-22
JP2018-118930 2018-06-22

Publications (1)

Publication Number Publication Date
WO2019244446A1 true WO2019244446A1 (ja) 2019-12-26

Family

ID=68983942

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/015312 WO2019244446A1 (ja) 2018-06-22 2019-04-08 システム構成導出装置、方法およびプログラム

Country Status (3)

Country Link
US (1) US11403270B2 (ja)
JP (1) JP6989014B2 (ja)
WO (1) WO2019244446A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023181121A1 (ja) * 2022-03-22 2023-09-28 日本電気株式会社 システム構成導出装置、システム構成導出方法および記録媒体
JP7508838B2 (ja) 2020-03-31 2024-07-02 日本電気株式会社 部分抽出装置、部分抽出方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013750A (ja) * 2009-06-30 2011-01-20 Internatl Business Mach Corp <Ibm> システムの構成要素の設計アーキテクチャを自動設計する自動設計装置、自動設計方法及び自動設計プログラム
JP2017129995A (ja) * 2016-01-19 2017-07-27 日本電信電話株式会社 前処理モデル学習装置、方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0258131A (ja) 1988-08-24 1990-02-27 Nec Corp 設計エキスパートシステム構築方式
US9530110B2 (en) * 2006-05-03 2016-12-27 Ca, Inc. Autonomic management of autonomous management systems
US10063445B1 (en) * 2014-06-20 2018-08-28 Amazon Technologies, Inc. Detecting misconfiguration during software deployment
US10599447B2 (en) 2015-08-27 2020-03-24 Nec Corporation System construction assistance system and method, and storage medium
US10936999B2 (en) * 2017-06-01 2021-03-02 Airwatch Llc Remote email configuration using dynamically generated configuration profiles

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013750A (ja) * 2009-06-30 2011-01-20 Internatl Business Mach Corp <Ibm> システムの構成要素の設計アーキテクチャを自動設計する自動設計装置、自動設計方法及び自動設計プログラム
JP2017129995A (ja) * 2016-01-19 2017-07-27 日本電信電話株式会社 前処理モデル学習装置、方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7508838B2 (ja) 2020-03-31 2024-07-02 日本電気株式会社 部分抽出装置、部分抽出方法およびプログラム
WO2023181121A1 (ja) * 2022-03-22 2023-09-28 日本電気株式会社 システム構成導出装置、システム構成導出方法および記録媒体

Also Published As

Publication number Publication date
US11403270B2 (en) 2022-08-02
JPWO2019244446A1 (ja) 2021-05-20
US20210256004A1 (en) 2021-08-19
JP6989014B2 (ja) 2022-01-05

Similar Documents

Publication Publication Date Title
US10127512B2 (en) Association-based product design
US20210012239A1 (en) Automated generation of machine learning models for network evaluation
US10521738B2 (en) Automated collaboration workflow generation in thing-sourcing environments
JP2019518257A (ja) 状態制御方法及び装置
US20180174072A1 (en) Method and system for predicting future states of a datacenter
US20180309635A1 (en) Communications network node
WO2019244446A1 (ja) システム構成導出装置、方法およびプログラム
JP6563350B2 (ja) データ分類装置、データ分類方法、及びプログラム
WO2018135515A1 (ja) 情報処理装置、ニューラルネットワークの設計方法及び記録媒体
CN111756635B (zh) 用于网络规划的方法、网络规划设备和计算机可读介质
US8762898B1 (en) Double patterning aware routing without stitching
JP7508841B2 (ja) システム検証プログラム生成装置、システム検証プログラム生成方法およびシステム検証プログラム生成プログラム
US20230099502A1 (en) Automatic discovery of machine learning model features
JP6766962B2 (ja) 変更手順生成装置、変更手順生成方法および変更手順生成プログラム
JP2017045354A (ja) ソフトウェア開発支援プログラム、ソフトウェア開発支援装置、及びソフトウェア開発支援方法
US11748075B2 (en) Two-phase application development device
US11403072B1 (en) Mobile application development device
WO2022239235A1 (ja) 特徴量算出装置、特徴量算出方法および特徴量算出プログラム
JP2015022356A (ja) テストシナリオバリエーション生成装置及び方法及びプログラム
KR102457153B1 (ko) 프로그램에 대한 중간 표현을 관리하는 방법 및 시스템
WO2019155827A1 (ja) システム更新装置およびシステム更新方法
Berns Applications and Implications of a General Framework for Self-Stabilizing Overlay Networks
JP2014085762A (ja) 解析システム、解析装置、解析方法及び解析プログラム
JPWO2017090506A1 (ja) システム構築支援システム、情報処理装置、方法およびプログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020525290

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

Country of ref document: EP

Kind code of ref document: A1