System Design Learning Device, System Design Learning Method, and Program

The system design learning apparatus addresses the variability in conversion rules and their application order by using a learning-based approach to optimize the selection of components and conversion rules, ensuring effective system design even when the target system configuration differs from the learning configuration.

JP7694151B2Active Publication Date: 2025-06-18NEC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2021087757
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-10-09
Filing Date
2021-05-25
Publication Date
2025-06-18
Estimated Expiration
2041-05-25

AI Technical Summary

Technical Problem

Existing system design technologies face challenges in ensuring successful system configuration derivation due to the variability in conversion rules and their application order, leading to potential failures and inefficiencies in system design.

Method used

A system design learning apparatus and method that includes a conversion rule application unit, a design evaluation unit, a rule application evaluation unit, and a learning unit, which repeatedly applies conversion rules to system components, evaluates design results, assesses component conversions, and learns from evaluation data to optimize the selection of components for rule application.

Benefits of technology

This approach enables effective learning and system design even when the target system configuration differs from the learning configuration, by improving the selection of conversion rules and components, thereby increasing the likelihood of successful system design.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007694151000001
    Figure 0007694151000001
  • Figure 0007694151000002
    Figure 0007694151000002
  • Figure 0007694151000003
    Figure 0007694151000003
Patent Text Reader

Abstract

To carry out effective learning even when a system configuration to be an object during system design is different from a system configuration to be an object during learning.SOLUTION: A system design learning device comprises: conversion rule application means that performs, to a design object system to which system requirements are shown, system design achieved by repeating application of a conversion rule to components of the design object system until a design result of the system design is obtained; design evaluation means that determines an evaluation value for the system design based on the design result; rule application evaluation means that determines evaluation values related to conversion of the individual components in the system design based on the evaluation value for the system design; and leaning means that learns about selection of a component to which the conversion rule is applied based on learning data including the evaluation values related to the conversion of the components.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a system design learning device, a system design learning method, and a program.

Background Art

[0002] Patent Document 1 discloses a system design technique for deriving a specific system configuration that does not include an undetermined part by applying a concretization rule to an undetermined part of an abstract system configuration and concretizing it. Non-Patent Document 1 also discloses a technique for learning, by reinforcement learning, a process of selecting any one of applicable rules in a technique as shown in Patent Document 1.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Non-Patent Documents

[0004]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] When applying conversion rules to parts of a system configuration, such as the system design technology exemplified in Patent Document 1, it is conceivable that the resulting outcomes will differ depending on which conversion rule is applied and, furthermore, in what order the conversion rules are applied. In particular, in the system design technology exemplified in Patent Document 1 and the like, it is also conceivable that the system design may fail depending on which conversion rule is applied and, furthermore, in what order the conversion rules are applied. That is, in such system design technology, it is not always guaranteed to succeed in deriving a specific system configuration. For example, it is also conceivable that the applicable conversion rules may run out even though the system configuration contains undetermined parts.

[0006] On the other hand, from the perspective of increasing the likelihood of success in system design, it is conceivable to perform learning (machine learning) such as reinforcement learning exemplified in Non-Patent Document 1 for conversion according to the system configuration. However, when performing learning regarding the system configuration, since the system configurations are diverse, it is conceivable that the system configuration targeted during system design may be different from the system configuration targeted during learning. Even in such a case where the system configuration targeted during system design is different from the system configuration targeted during learning, it is preferable that effective learning can be performed.

[0007] An object of the present invention is to provide a system design learning apparatus, a system design learning method, and a program capable of solving the above-described problems.

Means for Solving the Problems

[0008] According to a first aspect of the present invention, a system design learning apparatus includes: a conversion rule application means for performing system design by repeatedly applying a conversion rule to components of a design target system indicating system requirements until a design result of the system design is obtained; a design evaluation means for determining an evaluation value for the system design based on the design result; a rule application evaluation means for determining an evaluation value regarding conversion of individual components in the system design based on the evaluation value for the system design; and a learning means for learning selection of components to which the conversion rule is to be applied based on learning data including the evaluation value regarding conversion of the components.

[0009] According to a second aspect of the present invention, The computer a system design learning method includes: performing system design by repeatedly applying a conversion rule to components of a design target system indicating system requirements until a design result of the system design is obtained; determining an evaluation value for the system design based on the design result; determining an evaluation value regarding conversion of individual components in the system design based on the evaluation value for the system design; and learning selection of components to which the conversion rule is to be applied based on learning data including the evaluation value regarding conversion of the components.

[0010] According to a third aspect of the present invention, a program is a program for causing a computer to perform: performing system design by repeatedly applying a conversion rule to components of a design target system indicating system requirements until a design result of the system design is obtained; determining an evaluation value for the system design based on the design result; determining an evaluation value regarding conversion of individual components in the system design based on the evaluation value for the system design; and learning selection of components to which the conversion rule is to be applied based on learning data including the evaluation value regarding conversion of the components.

Advantages of the Invention

[0011] According to the present invention, it is expected that effective learning can be performed even when the system configuration targeted at the time of system design is different from the system configuration targeted at the time of learning.

Brief Description of the Drawings

[0012]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Mode for Carrying Out the Invention

[0013] Hereinafter, embodiments of the present invention will be described. However, the following embodiments do not limit the invention according to the claims. Also, not all combinations of features described in the embodiments are essential for the solution means of the invention.

[0014] <First Embodiment> FIG. 1 is a schematic block diagram showing the functional configuration of the system design learning device according to the first embodiment. In the configuration shown in FIG. 1, the system design learning device 100 includes a communication unit 110, a display unit 120, an operation input unit 130, a storage unit 180, and a control unit 190. The control unit 190 includes a conversion rule application unit 191, a design evaluation unit 192, a rule application evaluation unit 193, a learning data generation unit 194, and a learning unit 195.

[0015] The system design learning device 100 automatically or semi-automatically performs system design. Then, the system design learning device 100 learns the system design process based on the result of the system design. The system design learning device 100 repeats system design using the learning result and learning using the result of the system design. The system design learning device 100 may be configured using a computer such as a personal computer (PC) or a workstation. Alternatively, the system design learning device 100 may be configured using dedicated hardware for the system design learning device 100, such as being configured using an application specific integrated circuit (ASIC).

[0016] In system design, the system design learning device 100 acquires the system requirements of the system to be designed. The system requirements referred to here are information describing the configuration that the system should have. Among the system requirements input to the system design learning device 100, it is possible to abstractly describe the components of the system to be designed. The system design learning device 100 concretizes the system requirements to a level where the system can be deployed by repeatedly applying predetermined conversion rules to the acquired system requirements.

[0017] Specifically, the system to be designed is configured to include one or more components. The system design learning device 100 selects any one of the components included in the system to be designed and applies a conversion rule for concretizing the selected component. The system design learning device 100 performs system design by repeating the selection of components and the application of conversion rules.

[0018] The component referred to here is a part that can constitute a part of a certain system. In the system design performed by the system design learning device 100, a conversion rule is applied to the component, and the system to be designed is concretized in terms of components. The components of the system indicated in the system requirements are also referred to as the components of the system requirements. In the present disclosure, "component" may represent a configuration that is maximally specified to the extent that it cannot be further converted into a more specific configuration according to the configuration of the system desired as the end product, or may represent a configuration that is specified to the desired extent (e.g., a functional module that realizes a certain function). Therefore, the degree of specification of each individual component is not uniquely determined. Also, "component" may be defined in units such as "server", or more specifically, in units such as "CPU", "memory", "hard disk", etc., or more coarsely, in units such as "system for performing face recognition", etc. Therefore, the unit in which each individual component is defined is not uniquely determined.

[0019] Hereinafter, a case where the system targeted by the system design learning device 100 is an ICT (Information and Communication Technology) system will be described as an example. However, the field of the system targeted by the system design learning device 100 is not limited to a specific field. Applying a conversion rule to system requirements is referred to as conversion. When it is explicitly stated that a conversion rule may be applied to system requirements multiple times, it is referred to as a conversion sequence. Therefore, a conversion sequence is represented by a series connection of one or more conversions.

[0020] FIG. 2 is a diagram showing an example of system requirements handled by the system design learning device 100. FIG. 2 shows an example of the system requirements of the design target when the system design learning device 100 designs a suspicious person detection system. In the example of FIG. 2, the system requirements handled by the system design learning device 100 are described in the form of a directed graph, and attribute information is added to each of the nodes and edges. Both the nodes and edges correspond to examples of components.

[0021] For example, a node may be assigned the name or identification information of the function or device that the node indicates as attribute information. In the example of FIG. 2, node N101 indicates a camera function (photographing function). Nodes N102 and N109 both indicate network switches. Nodes N103 and N110 both indicate routers. Node N104 indicates a face recognition function. Node N105 indicates a cloud platform. Node N106 indicates a WAN (Wide Area Network). Node N107 indicates a monitor function (image display function). Node N108 indicates a server device.

[0022] In addition, the abstraction level of a node may be added as attribute information to the node. In the example of FIG. 2, nodes N101, N104, N105, and N107 are abstract nodes. Meanwhile, nodes N102, N103, N106, N108, N109, and N110 are concrete nodes. Here, an abstract node is a node that can be converted into a node that represents a more concrete configuration than the current node by referring to a predetermined conversion rule at least once. Meanwhile, a concrete node (i.e., a node that has been embodied to a deployable level) is a node that cannot be converted into a node that represents a more concrete configuration even by referring to the conversion rule.

[0023] The system design learning device 100 applies the conversion rule to the system requirements so as to make the abstract nodes concrete. For example, the system design learning device 100 may apply a conversion rule to the system requirements illustrated in FIG. 2, which converts the node N101 indicating the camera function into a subgraph including a node of the camera (imaging device) and a node of a control device that controls the camera.

[0024] 2, attribute information "join" of each of edges E101, E105, and E109, and attribute information "http" of each of edges E103 and E107 are shown. "Join" indicates an affiliation relationship. For example, the camera function indicated by node N101 is included in a LAN (Local Area Network) formed by a network switch indicated by node N102. The face recognition function indicated by node N104 is provided on a cloud platform indicated by node N105. The monitor function indicated by node N107 is controlled using a server device indicated by node N108.

[0025] "http" indicates communication using HTTP (Hyper Text Transfer Protocol). For example, edge E103 indicates that data is transmitted by HTTP from the camera function indicated by node N101 to the face recognition function indicated by node N105. Edge E107 indicates that data is transmitted by HTTP from the face recognition function indicated by node N105 to the monitor function indicated by node N107.

[0026] In addition, the abstraction level of the edge may also be added as attribute information to the edge. In the example of FIG. 2, edges E101, E103, E105, E107, and E109 are abstract edges. Meanwhile, edges E102, E104, E106, E108, E110, and E111 are concrete edges. Here, an abstract edge is an edge that can be converted into an edge that represents a more concrete configuration than the current one by referring to a predetermined conversion rule at least once. Meanwhile, a concrete edge is an edge that cannot be converted into an edge that represents a more concrete configuration even by referring to the conversion rule (i.e., an edge that has been concretized to a deployable level).

[0027] The conversion rules used by the system design learning device 100 may include a conversion rule for instantiating an edge. FIG. 3 is a diagram showing an example of system requirements before the conversion rules are applied. In the system requirements shown in FIG. 3, the camera function shown by node N201 is connected to the workstation shown by node N202. Also, the face recognition function shown by node N203 is executed on the workstation shown by node N204. Assume that edge E201 indicates that data is transmitted from the camera function shown by node N201 to the face recognition function shown by node N203 via HTTP.

[0028] FIG. 4 shows an example of system requirements after applying the conversion rules. FIG. 4 shows an example in which the conversion rules are applied to the system requirements shown in FIG. 3. In FIG. 4, instead of edge E201 in FIG. 3, edge E211 is provided. Assume that edge E211 indicates that data is transmitted from the workstation shown by node N202 to the workstation shown by node N204 using TCP (Transmission Control Protocol). That is, FIG. 4 shows that the application of the conversion rules to the system requirements in FIG. 3 has resulted in the conversion of communication using HTTP into communication using TCP.

[0029] However, the system targeted by the system design learning device 100 can be various systems including components. The method of representing the system targeted by the system design learning device 100 can be various representation methods that can identify the types of components and apply conversion rules.

[0030] Among a plurality of predetermined conversion rules, an event occurs in which the content (configuration) represented by the system requirements after conversion differs depending on which conversion rule the system design learning device 100 applies to the system requirements, and furthermore, depending on the order in which the system design learning device 100 applies a plurality of conversion rules to the system requirements. In particular, depending on the conversion rule applied to the system requirements, and furthermore, depending on the order in which a plurality of conversion rules are applied to the system requirements, the system design learning device 100 is divided into a case where the system design is successful and a case where it fails. In other words, the purpose of the system design learning device 100 is to concretize the system requirements to a level at which the system can be deployed. However, the fact that there are no more applicable conversion rules while a part of the components of the system remains abstractly described typically (principally) means the failure of the system design by the system design learning device 100.

[0031] In order to increase the possibility of the system design learning device 100 succeeding in system design, it is conceivable to learn the conversion rules to be applied to the system requirements. However, it is considered that effective learning cannot be performed due to the fact that the scale and configuration of systems are generally diverse. For example, when learning a system design model that outputs a series of conversion rules to be applied to the input of system requirements, it is conceivable that the system configuration targeted during system design is different from the system configuration targeted during learning. As a result, it is conceivable that the system requirements given during system design are different from the system requirements given as learning data, and a series of conversion rules to be applied cannot be appropriately determined.

[0032] Therefore, based on the results of system design by repeatedly applying the conversion rules, the system design learning device 100 determines the evaluation for the application of each individual conversion rule. Then, the system design learning device 100 aggregates the evaluations for the application of the conversion rules for each component to which the conversion rule is applied, and determines the evaluation for the component. The system design learning device 100 uses the evaluation for the component to learn a component evaluation model that outputs, for the input of system requirements, the evaluation for each component indicated in the system requirements.

[0033] Then, the system design learning device 100 performs system design by repeatedly applying the conversion rules to the input system requirements using the learned component evaluation model. The system design learning device 100 may evaluate the system requirements obtained by applying one conversion rule to the current system requirements using the component evaluation model. Then, the system design learning device 100 may select and apply the conversion rule that results in the highest evaluation of the system requirements after applying the conversion rule among the conversion rules applicable to the current system requirements.

[0034] Alternatively, the system design learning device 100 may select, as the component to which the conversion rule is applied, the component with the highest evaluation among the components of the current system requirements. The current system requirements referred to here are the system requirements input to the system design learning device 100 or the system requirements obtained by applying the conversion rules to the input system requirements. The evaluation of the system requirements is calculated, for example, using the maximum value of the evaluation values of the components included in the system requirements. Alternatively, the system design learning device 100 may calculate a value other than the maximum value, such as the sum or the minimum value of the evaluation values of the components included in the system requirements, as the evaluation value of the system requirements.

[0035] Even if the configuration of the system used in the field targeted by the system design learning device 100 differs for each system, it is expected that common components or similar components are used. By having the system design learning device 100 perform learning regarding conversion in terms of components, it is expected that the same components or similar components used in the system targeted during system design are also used in the system targeted during learning. In this regard, by having the system design learning device 100 perform learning regarding conversion in terms of components, effective learning can be carried out even when the system configuration targeted during system design is different from the system configuration targeted during learning.

[0036] The communication unit 110 communicates with other devices. For example, the communication unit 110 may receive system requirements for the system to be designed from other devices. The display unit 120 includes a display screen such as a liquid crystal panel or an LED (Light Emitting Diode) panel, and displays various images. For example, the display unit 120 may display the result of the system design by the system design learning device 100, such as whether the system design learning device 100 has succeeded in system design and the system requirements when the system design has succeeded. The operation input unit 130 includes input devices such as a keyboard and a mouse, and accepts user operations. For example, the operation input unit 130 may accept a user operation that instructs the start of system design.

[0037] The storage unit 180 stores various data. For example, the storage unit 180 stores a component evaluation model, system requirements such as the input system requirements and the current system requirements, and application rules. The storage unit 180 is configured using a storage device included in the system design learning device 100. The control unit 190 controls each part of the system design learning device 100 to perform various processes. The functions of the control unit 190 are executed by a CPU (Central Processing Unit) provided in the system design learning device 100 reading a program from the storage unit 180 and executing it.

[0038] The conversion rule application unit 191 performs system design by repeatedly applying conversion rules to the parts of the design target system indicating system requirements until the design result of the system design is obtained. The conversion rule application unit 191 corresponds to an example of conversion rule application means. Success in system design (success in system design) includes obtaining system requirements concretized at a level where the system can be deployed.

[0039] Failure in system design (failure in system design) includes the certainty of not obtaining system requirements concretized at a level where the system can be deployed. For example, when the system requirements are not concretized to a level where the system can be deployed and there are no applicable conversion rules for the system requirements, the conversion rule application unit 191 determines that the system design has failed.

[0040] Also, depending on the conversion rules, it is conceivable that the application of the conversion rules to the system requirements falls into a loop. Even when there are applicable conversion rules for the system requirements, if there is no conversion sequence (application of the conversion rules one or more times) that does not form a loop, the conversion rule application unit 191 determines that the system design has failed.

[0041] Even when the conversion rule application unit 191 repeatedly applies the conversion rules in the system design a predetermined number of times but does not succeed in the system design, it may be determined that the system design has failed. That is, failure in system design may include not succeeding in system design even when the conversion rules in the system design are repeatedly applied a predetermined number of times.

[0042] When performing system design, the conversion rule application unit 191 generates history information of the system design. The history information generated by the conversion rule application unit 191 determines the evaluation values of system requirements and the evaluation values of components included in the system requirements, and is used to generate learning data. FIG. 5 is a diagram showing an example of the history information of the system design generated by the conversion rule application unit 191. In the example of FIG. 5, the conversion rule application unit 191 generates a configuration path and a component path as the history information of the system design.

[0043] The configuration path shows, in chronological order, the system requirements each time the conversion rule is applied from the initial system requirements to the final system requirements. The initial system requirements referred to here are the system requirements given to the system design learning device 100 as the system requirements to be designed. The initial system requirements may be given from outside the system design learning device 100. Alternatively, the system design learning device 100 may generate the initial system requirements for acquiring learning data. The final system requirements referred to here are the system requirements when the design result of the system design is obtained. The design result of the system design here can be any result that can be evaluated for the system design. In the following, the case where the result of success or failure of the system design is obtained as the design result will be described as an example, but it is not limited to this.

[0044] In the example of FIG. 5, the number of times the conversion rule is applied from the initial system requirements to the final system requirements is set to N times. N is a positive integer. In the example of FIG. 5, the configuration path is configured as time-series data of N + 1 system requirements. The component path is configured as time-series data of N components. The component to be converted at the i-th time shown in the component path is included in the i-th system requirement in chronological order in the configuration path. Here, i is an integer satisfying 1 ≦ i ≦ N.

[0045] The final system requirements correspond to the system requirements after applying the conversion rules N times. In the final system requirements, since the result of the success or failure of the system design can be obtained, the design evaluation unit 192 can determine the evaluation value for one system design. For example, when the result of the system design is successful, the design evaluation unit 192 may set the evaluation value of one system design to 1, and when the result of the system design is a failure, the design evaluation unit 192 may set the evaluation value of one system design to 0.

[0046] A series of repetitions of component selection and application of conversion rules from the initial system requirements to the final system requirements is referred to as one system design, or simply system design. The conversion rule application unit 191 may generate history information indicating the history of the applied conversion rules, in addition to the history of the system requirements and the history of the components to which the conversion rules are applied, as the history information of the system design.

[0047] The design evaluation unit 192 determines the evaluation value for the system design based on the design result of the system design. As described above, when the conversion rule application unit 191 succeeds in the system design, the design evaluation unit 192 may determine the evaluation value of the system design to be 1. When the conversion rule application unit 191 fails in the system design, the design evaluation unit 192 may determine the evaluation value of the system design to be 0. The design evaluation unit 192 corresponds to an example of design evaluation means.

[0048] In addition to the result of the success or failure of the system design, when the conversion rule application unit 191 succeeds in the system design, the design evaluation unit 192 may determine the evaluation value for the system design based on the obtained evaluation index value of the system. Various types of evaluation index values can be used as the evaluation index value of the system here. For example, the design evaluation unit 192 may use, but is not limited to, the evaluation index value of the processing speed of the system, the evaluation index value of reliability, the evaluation index value of construction cost, the evaluation index value of operation cost, or a combination thereof.

[0049] The design evaluation unit 192 may store in advance a calculation formula for calculating the evaluation index value of the system based on the components used in the system. Alternatively, the design evaluation unit 192 may acquire in advance, by learning, a model that outputs the evaluation index value of the system for the input of system requirements.

[0050] The rule application evaluation unit 193 determines the evaluation value regarding the conversion of each component in the system design based on the evaluation value for the system design. Specifically, the rule application evaluation unit 193 determines the evaluation value regarding the conversion of each component based on the data obtained by integrating a plurality of histories of the system design for the same component. The data obtained by integrating a plurality of histories of the system design for the same component is referred to as integrated data. The rule application evaluation unit 193 corresponds to an example of rule application evaluation means.

[0051] FIG. 6 is a diagram showing an example of integrated data. FIG. 6 shows an example where the integrated data is represented by a tree. The nodes of the tree illustrated in FIG. 6 indicate system requirements, and the edges indicate conversion rules. The edges are drawn in the direction from the node before the application of the conversion rule to the node after the application of the conversion rule. A plurality of edges extending from one node indicate a plurality of conversion rules applicable to the same system requirement.

[0052] The node N301 is the root. The node N302 is one of the leaves. One path from the root to the leaf, such as the path from the node N301 to the node N302, indicates one system design. In this case, if the system requirements indicated by the leaf are concretized to a deployable level, the design evaluation unit 192 evaluates the result of the system design as successful. On the other hand, if the system requirements indicated by the leaf are not concretized up to the deployable level, the design evaluation unit 192 evaluates the result of the system design as a failure.

[0053] The nodes at the start of system design are not limited to the root. For example, when system requirements that are somewhat specific as system requirements for the system to be designed are input to the system design learning device 100, nodes other than the root can be the nodes at the start of system design. Also, the nodes at the end of system design are not limited to the leaves. For example, as one of the conversion rules, when a rule for replacing a specific part with another specific part is included, it is conceivable that the system design ends when the system requirements are specified to a deployable level at a node other than the leaf.

[0054] The integrated data is not limited to a tree and can be represented by various valid graphs according to the conversion rules used in system design. For example, when the same second system requirement can be obtained by applying any of different conversion sequences to the first system requirement, there will be multiple paths from the first node to the second node in the statistical data. In this case, the integrated data may be shown as a lattice.

[0055] Also, when there is a conversion rule that applies the conversion rule one or more times to a certain system requirement and returns to that system requirement, the integrated data may be shown as a valid graph including a loop. If there is no path to exit such a loop and a system requirement specified to a deployable level cannot be obtained for any node included in the loop, the design evaluation unit 192 may evaluate the result of the system design as a failure for the nodes included in that loop.

[0056] The integrated data may include two or more subgraphs that are independent of each other. Here, the fact that two subgraphs are independent of each other means that there is no path from the first subgraph to the second subgraph and no path from the second subgraph to the first subgraph among the two subgraphs. For example, the integrated data may be shown as a forest.

[0057] FIG. 7 is a diagram showing an example of the correspondence between nodes and components in integrated data. The system requirements shown in FIG. 7 are represented by nodes in the integrated data. In the example of FIG. 7, the system requirements before applying the conversion rules include three components P11, P12, and P13. Three conversion rules R11, R12, and R13 are applicable to component P11. One conversion rule R14 is applicable to component P12. Two conversion rules R15 and R16 are applicable to component P13.

[0058] As described above, the edges in the integrated data are directed edges indicating conversion rules. The start end (the end on the starting point side) of this directed edge is connected to the node indicating the system requirements before conversion, and the end end (the end on the ending point side) is connected to the node indicating the system requirements after conversion. Also, the edges exiting from one node are grouped for each component included in the system requirements indicated by that node, as illustrated in FIG. 7. This grouping may be shown in the integrated data. For example, as in FIG. 7, the components of the constituent requirements may be shown in the nodes of the integrated data, and the grouping may be shown by connecting the starting point of the edge to any of the components.

[0059] Neither the number of components included in the system requirements nor the number of conversion rules applicable to one component is limited to a specific number. The number of components included in the system requirements may be different before and after applying the conversion rules. The number of conversion rules applicable to a component may be different for each component.

[0060] Also, in the example of FIG. 7, the system design learning device 100 is shown to calculate the evaluation value of the system requirements and the evaluation value for each component in the system requirements. The evaluation value of the system requirements is written to the node in the integrated data. On the other hand, the evaluation value for each component in the system requirements is calculated at the time of generating the learning data and incorporated into the learning data. There is no need to provide a storage area for the evaluation value of the components in the system requirements in the nodes of the integrated data.

[0061] The learning data generation unit 194 generates learning data for learning the component evaluation model. In particular, the learning data generation unit 194 generates learning data including evaluation values regarding component conversion. Specifically, the learning data generation unit 194 generates learning data including system requirements, any one of the components included in the system requirements, and the evaluation value of that component in the system requirements.

[0062] The learning unit 195 learns about the selection of components to which the conversion rule is to be applied based on the learning data including the evaluation value regarding component conversion generated by the learning data generation unit 194. Specifically, the learning unit 195 performs learning of the component evaluation model. The learning unit 195 corresponds to an example of a learning means.

[0063] Alternatively, when conversion rules are predetermined in common for system design performed by the system design learning apparatus 100, the learning unit 195 may learn about the selection of conversion rules to be applied to system requirements. That is, the learning unit 195 may learn about the selection of conversion rules applicable to the component, which is further refined from the selection of components included in the system requirements. Specifically, the learning unit 195 may perform learning of a conversion rule evaluation model that receives an input of system requirements and outputs the respective evaluation values of conversion rules applicable to the system requirements.

[0064] FIG. 8 is a flowchart showing an example of a processing procedure in which the system design learning apparatus 100 generates learning data and performs learning. In the process of FIG. 8, the system design learning apparatus 100 acquires system requirements to be learned (step S11). The system design learning apparatus 100 may use the system requirements given as the system requirements to be designed as the system requirements to be learned. Alternatively, the system design learning apparatus 100 may acquire the system requirements to be learned separately from the system requirements to be designed.

[0065] Next, the control unit 190 determines whether the learning end condition is satisfied (step S12). The learning end condition may be based on, but not limited to, the learning time, the number of learning times (the number of times the loop from step S12 to S24 is repeated), the magnitude of the learning error, etc.

[0066] When the control unit 190 determines that the end condition is satisfied (step S12: YES), the system design learning device 100 ends the process of FIG. 8. On the other hand, when the control unit 190 determines that the end condition is not satisfied (step S12: NO), the conversion rule application unit 191 performs a system design for the system requirements to be learned (step S21). Specifically, the conversion rule application unit 191 repeatedly applies the conversion rule to the system requirements to be learned until a result of successful or failed system design is obtained. When performing the system design, the conversion rule application unit 191 generates a configuration path and a component path. Also, when there is no node in the integrated data indicating the system requirements that appeared in the system design, the conversion rule application unit 191 adds a node indicating the system requirements that appeared in the system design to the integrated data.

[0067] FIG. 8 shows an example in which the system design learning device 100 acquires a plurality of system requirements in step S11 and performs a design for each individual system requirement in step S21. Alternatively, instead of the system design learning device 100 acquiring system requirements in step S11, one system requirement may be acquired each time step S21 is executed, and a system design may be performed for the acquired system requirement.

[0068] Also, the system design learning device 100 may perform a system design for different system requirements each time the process of step S21 is performed. Alternatively, the system design learning device 100 may perform a system design for the same system requirement as the system requirement for which the system design was performed in the previous process of step S21 using a conversion sequence different from the conversion sequence in the previous design in step S21.

[0069] Next, the design evaluation unit 192 determines an evaluation value for the system design performed by the conversion rule application unit 191 (step S22). For example, based on whether the conversion rule application unit 191 has succeeded or failed in the system design, if the system design is successful, the design evaluation unit 192 sets the evaluation value for the system design to 1, and if the system design fails, the design evaluation unit 192 sets the evaluation value for the system design to 0. Alternatively, when the conversion rule application unit 191 succeeds in the system design, the design evaluation unit 192 may determine the evaluation value for the system design based on the evaluation value of the obtained system.

[0070] Next, the rule application evaluation unit 193 updates the evaluation value of the node of the integrated data based on the evaluation value of the system design determined in step S22 (step S23). For example, the rule application evaluation unit 193 determines the evaluation value of the node of the integrated data as the largest evaluation value (the highest evaluation value) among the evaluation values of the child nodes of that node.

[0071] Next, the rule application evaluation unit 193 determines the evaluation value of the components included in the system requirements, determines the evaluation value of each component in the component path, and the learning data generation unit 194 generates and stores learning data (step S24). Then, the learning unit 195 performs learning of the component evaluation model using the learning data generated by the learning data generation unit 194 (step S25). As described above, the component evaluation model is a model that outputs an evaluation for each component indicated by the system requirements in response to an input of the system requirements. After step S25, the process returns to step S12.

[0072] FIG. 9 is a flowchart showing an example of a processing procedure for the system design learning apparatus 100 to perform system design. The system design learning apparatus 100 performs the processing of FIG. 9 in step S21 of FIG. 8. As described above for step S21 of FIG. 8, the system design learning apparatus 100 generates a configuration path and a component path during system design, and also sets nodes of integrated data. In the process of FIG. 9, the "current configuration" variable and the "next configuration" variable are used as variables that take on system requirements as values. The system requirements indicated as the value of the "current configuration" variable are denoted as the "current configuration". The system requirements indicated as the value of the "next configuration" variable are denoted as the "next configuration".

[0073] In the process of FIG. 9, the conversion rule application unit 191 stores the system requirements received in step S11 of FIG. 8 in the "current configuration" variable (step S101). That is, the conversion rule application unit 191 sets the system requirements received in step S11 of FIG. 8 as the initial value of the "current configuration" variable. Next, the conversion rule application unit 191 determines whether the "current configuration" is registered as a node in the integrated data (step S102). For example, the conversion rule application unit 191 compares the system requirements indicated for each node in the integrated data with the "current configuration".

[0074] If it is determined that the "current configuration" is not registered as a node in the integrated data (step S102: NO), the conversion rule application unit 191 registers the "current configuration" as a node in the integrated data (step S103). To register system requirements as a node in the integrated data means to newly provide a node indicating those system requirements. Next, the conversion rule application unit 191 determines whether the end condition of the system design is satisfied (step S104). For example, the conversion rule application unit 191 may determine that the end condition of the system design is satisfied when there are no concretization rules applicable to the "current configuration", or when the "current configuration" has been concretized to a deployable level.

[0075] If it is determined that the end condition is not satisfied (step S104: NO), the conversion rule application unit 191 selects one component to be concretized from the "current configuration" and applies the conversion rule (step S111). By applying the conversion rule, the conversion rule application unit 191 concretizes the component. The conversion rule application unit 191 stores the system requirements after applying the conversion rule in step S111 in the "next configuration" variable (step S112).

[0076] Next, the conversion rule application unit 191 determines whether the "next configuration" is registered as a node in the integrated data (step S113). For example, the conversion rule application unit 191 compares the system requirements indicated in each node in the integrated data with the "next configuration". When it is determined that the "next configuration" is not registered as a node in the integrated data (step S113: NO), the conversion rule application unit 191 registers the "next configuration" as a node in the integrated data (step S121). Specifically, the conversion rule application unit 191 provides a node indicating the "next configuration" in the integrated data. Then, the conversion rule application unit 191 creates an edge between the nodes with the node indicating the "current configuration" on the integrated data as the parent node and the node indicating the "next configuration" as the child node. This edge indicates the application of the conversion rule in step S111.

[0077] Then, the conversion rule application unit 191 stores the "next configuration" in the "current configuration" variable (step S122). After step S122, the process transitions to step S104. On the other hand, if the conversion rule application unit 191 determines in step S113 that the "next configuration" is registered as a node in the integrated data (step S113: YES), the process transitions to step S122. Therefore, in this case, the conversion rule application unit 191 does not perform the process of setting the node in the integrated data in step S121.

[0078] On the one hand, in step S104, when it is determined that the end condition is satisfied (step S104: YES), the conversion rule application unit 191 sets the system requirements that appeared in the current processing of FIG. 9 in chronological order as the configuration path (step S131). Further, the conversion rule application unit 191 sets, as the component path, the components included in the system requirements in the configuration path and selected as the application targets of the conversion rules in step S111, arranged in chronological order (step S132). After step S132, the system design learning device 100 ends the processing of FIG. 9.

[0079] On the other hand, in step S102, when the conversion rule application unit 191 determines that "the current configuration" has already been registered as a node of the integrated data, the process transitions to step S104. Therefore, in this case, the conversion rule application unit 191 does not perform the process of setting the node of the integrated data in step S103.

[0080] FIG. 10 is a flowchart showing an example of a processing procedure for the system design learning device 100 to update the evaluation value indicated by the node of the integrated data. The system design learning device 100 performs the processing of FIG. 10 in step S23 of FIG. 8. In the processing of FIG. 10, the "evaluation value of update candidate" variable is used as a variable taking the evaluation value of the system requirement as a value. Also, in the processing of FIG. 10, the "configuration to be updated" variable is used as a variable taking, as a value, a pointer indicating any one of the system requirements included in the configuration path. The evaluation value indicated as the value of the "evaluation value of update candidate" variable is denoted as the "evaluation value of update candidate". The system requirement pointed to by the value of the "configuration to be updated" variable is denoted as the "configuration to be updated".

[0081] In the processing of FIG. 10, the rule application evaluation unit 193 sets the system requirement indicated by the last node of the configuration path as the "configuration to be updated" (step S201). That is, the rule application evaluation unit 193 sets the value of the "configuration to be updated" variable so that the value of the "configuration to be updated" variable points to the last node of the configuration path. The nodes of the configuration path are the individual system requirements included in the configuration path. Further, the rule application evaluation unit 193 sets the initial value of the "evaluation value of update candidate" variable to the evaluation value of the system design determined in step S22 of FIG. 8 (step S202).

[0082] Next, the rule application evaluation unit 193 determines the evaluation value of the node representing the "configuration to be updated" in the integrated data (step S203). The evaluation value of the node in the integrated data is the evaluation value of the system requirement indicated by that node. Specifically, the rule application evaluation unit 193 compares the evaluation value of the node representing the "configuration to be updated" in the integrated data with the "evaluation value of update candidate". When the "evaluation value of update candidate" is larger, the rule application evaluation unit 193 updates the evaluation value of the node representing the "configuration to be updated" in the integrated data to the "evaluation value of update candidate". On the other hand, when the evaluation value of the node representing the "configuration to be updated" in the integrated data is larger, the rule application evaluation unit 193 keeps the evaluation value of the node representing the "configuration to be updated" in the integrated data as its original value. Note that when the evaluation value of a node is not set, the rule application evaluation unit 193 performs processing assuming that 0 is set as the evaluation value of that node.

[0083] Next, the rule application evaluation unit 193 updates the value of the "evaluation value of update candidate" (step S204). Specifically, the rule application evaluation unit 193 sets the value determined as the evaluation value of the node representing the "configuration to be updated" in the integrated data in step S203 to the "evaluation value of update candidate". Next, the rule application evaluation unit 193 determines whether the "configuration to be updated" is the first system requirement in the configuration path (step S205).

[0084] When the rule application evaluation unit 193 determines that the "configuration to be updated" is the first system requirement in the configuration path (step S205: YES), the system design learning device 100 ends the processing of FIG. 10. If it is determined that the "configuration to be updated" is not the first system requirement in the configuration path (step S205: NO), the rule application evaluation unit 193 sets the system requirement immediately before the "configuration to be updated" on the configuration path as the "configuration to be updated" (step S211). After step S211, the process returns to step S203.

[0085] FIG. 11 is a flowchart showing an example of a processing procedure for the system design learning apparatus 100 to generate learning data. The system design learning apparatus 100 performs the processing of FIG. 11 in step S24 of FIG. 8. In FIG. 11, a "target configuration" variable is used as a variable that takes as its value a pointer indicating any one of the system requirements in the configuration path. Also, in the processing of FIG. 11, a "target part" variable is used as a variable that takes as its value a pointer indicating any one of the parts in the part path. The system requirement indicated as the value of the "target configuration" variable is referred to as the "target configuration". The part indicated as the value of the "target part" variable is referred to as the "target part".

[0086] In the processing of FIG. 11, the learning data generation unit 194 sets the first system requirement of the configuration path as the "target configuration" (step S301). That is, the learning data generation unit 194 sets the value of the "target configuration" variable so that the value of the "target configuration" variable indicates the first system requirement of the configuration path. Next, the learning data generation unit 194 sets the first part of the part path as the "target part" (step S302). That is, the learning data generation unit 194 sets the value of the "target part" variable so that the value of the "target part" variable indicates the first part of the part path. Then, the learning data generation unit 194 enumerates all the directed edges grouped into the "target part" among the directed edges starting from the node representing the "target configuration" in the integrated data (step S303).

[0087] The learning data generation unit 194 sets the maximum value among the evaluation values recorded in the end nodes of each of the directed edges enumerated in step S303 as the evaluation value of the "target part" (step S304). Further, the learning data generation unit 194 generates, as learning data, a set of the "target configuration", the "target component", and the evaluation value of the "target component" determined in step S304, and stores the generated learning data in the storage unit 180 (step S305).

[0088] Also, the learning data generation unit 194 determines whether the "target component" is the last component in the component path (step S306). That is, the learning data generation unit 194 determines whether the value of the "target component" variable points to the last component in the component path. When it is determined that the "target component" is not the last component in the component path (step S306: NO), the learning data generation unit 194 sets the component one after the "target component" on the component path as the "target component" (step S311). That is, the learning data generation unit 194 updates the value of the "target component" variable so that it points to the component one after on the component path. Also, the learning data generation unit 194 sets the system requirement one after the "target configuration" on the configuration path as the "target configuration" (step S312). That is, the learning data generation unit 194 updates the value of the "target configuration" variable so that it points to the system requirement one after on the configuration path. After step S312, the process transitions to step S303.

[0089] On the other hand, if it is determined in step S306 that the "target component" is the last component in the component path (step S306: NO), the system design learning device 100 ends the process of FIG. 11. In this case, the process transitions to step S25 of FIG. 8. Note that if the component path is empty at the start of step S24 in FIG. 8, the system design learning device 100 omits the process of step S24. In this case, the system design learning device 100 does not perform the process of FIG. 11.

[0090] In step S25 of FIG. 8, the learning unit 195 performs learning of the component evaluation model using each of the learning data generated by the learning data generation unit 194. In this learning, when the system requirements shown in the learning data are input into the component evaluation model, the learning unit 195 updates the parameter values of the component evaluation model so that the evaluation values output by the component evaluation model for the components shown in the learning data approach the evaluation values of the components shown in the learning data.

[0091] FIG. 12 is a flowchart showing an example of a processing procedure for the system design learning apparatus 100 to calculate an evaluation value of system requirements. In the process of FIG. 12, the rule application evaluation unit 193 acquires the system requirements to be evaluated (step S401).

[0092] Then, the rule application evaluation unit 193 calculates the evaluation values of each component included in the system to be evaluated using the learned component evaluation model in step S25 of FIG. 8 (step S402). Specifically, the rule application evaluation unit 193 inputs the system requirements to be evaluated into the component evaluation model and acquires the evaluation values of each component output by the component evaluation model.

[0093] Then, the rule application evaluation unit 193 integrates the evaluation values of each component to calculate the evaluation value of the entire system requirements (step S403). The method by which the rule application evaluation unit 193 integrates the evaluation values of each component is not limited to a specific method. For example, the rule application evaluation unit 193 may calculate any one of the maximum value, minimum value, or average value of the evaluation values of each component as the integrated value of the evaluation values of each component, but is not limited thereto. After step S403, the system design learning apparatus 100 ends the process of FIG. 12.

[0094] As described above, the conversion rule application unit 191 performs system design by repeatedly applying conversion rules to the components of the system to be designed that indicates system requirements until the design result of the system design is obtained. The design evaluation unit 192 determines an evaluation value for the system design based on the design result. The rule application evaluation unit 193 determines an evaluation value regarding the conversion of each component in the system design based on the evaluation value for the system design. The learning unit 195 learns about the selection of components to which the conversion rules are to be applied based on learning data including the evaluation value regarding the conversion of components.

[0095] Here, in a method of learning a system design model that outputs a series of conversion rules to be applied for an input of system requirements, generally due to the fact that the scale and configuration of the system vary, it is conceivable that the system configuration targeted during system design is different from the system configuration targeted during learning. As a result, it is conceivable that the system requirements given during system design are different from the system requirements given as learning data, and an appropriate series of conversion rules to be applied cannot be determined. Thus, in a method of learning a system design model that outputs a series of conversion rules to be applied for an input of system requirements, it is considered that effective learning cannot be performed.

[0096] On the other hand, even if the configurations of the systems used in the field targeted by the system design learning device 100 are different for each system, it is expected that common components or similar components are used. By having the system design learning device 100 perform learning regarding conversion in units of components, it is expected that the same components or similar components used in the system targeted during system design are also used in the system targeted during learning. In this regard, by having the system design learning device 100 perform learning regarding conversion in units of components, effective learning can be performed even when the system configuration targeted during system design is different from the system configuration targeted during learning.

[0097] Furthermore, the rule application evaluation unit 193 determines an evaluation value for component conversion for each component of the system requirement, based on data obtained by integrating a plurality of system design histories for the same system requirement. This allows the system design learning device 100 to learn how to select components to which conversion rules are applied, using learning data that aggregates the results of multiple system designs. In this regard, the system design learning device 100 is expected to be able to perform learning with high accuracy.

[0098] The above system design result indicates either a successful system design or a failed system design. As a result, it is expected that the learning data generation unit 194 will generate learning data that will be highly evaluated when a conversion sequence that will be successful in system design exists, and the learning unit 195 will perform learning in a way that increases the likelihood of successful system design.

[0099] However, as described above, the system design result is not limited to indicating either a successful system design or a failed system design. For example, the system design result may indicate that the system design was successful, that the system design was unsuccessful, or that the success or failure of the system design is undetermined. In this case, the design evaluation unit 192 may determine the evaluation value for the system design to be the evaluation value indicating the highest evaluation in the order of success of the system design, success of the system design is undetermined, and failure of the system design.

[0100] Successful system design also includes having system requirements specified at a level that allows the system to be deployed. As a result, it is expected that the learning data generation unit 194 will generate learning data that will be highly evaluated when there is a transformation sequence that can be realized at a level at which the system can be deployed, and that the learning unit 195 will perform learning in a way that increases the likelihood that the system can be realized at a level at which the system can be deployed.

[0101] Also, the failure of the above system design includes the certainty that system requirements materialized at a deployable level of the system cannot be obtained. Accordingly, it is expected that when there is no conversion sequence that can be materialized at a deployable level of the system, the learning data generation unit 194 generates learning data with a low evaluation, and the learning unit 195 performs learning so as to increase the possibility of materializing the system at a deployable level.

[0102] In addition, when the design result indicates that the system design has been successful, the design evaluation unit 192 determines an evaluation value for the system design based on the evaluation index value of the obtained system. Accordingly, the system design learning apparatus 100 can perform learning using more detailed learning data such as, for example, learning data reflecting the performance evaluation of the obtained system, in addition to the result of success or failure of the system design. In this regard, the system design learning apparatus 100 can perform learning with high accuracy.

[0103] The success of the system design in this case may include, but is not limited to, obtaining system requirements materialized at a deployable level of the system. The success of the system design may be defined so as to be part of the event of obtaining system requirements materialized at a deployable level of the system. For example, the success of the system design may be obtaining system requirements materialized at a deployable level of the system and satisfying a predetermined condition regarding the installation space. Accordingly, the learning unit 195 can perform learning so as to be able to cope with other conditions in addition to the conditions for materializing the system.

[0104] <Second Embodiment> FIG. 13 is a schematic block diagram showing the functional configuration of the system design learning device according to the second embodiment. In the configuration shown in FIG. 13, the system design learning device 200 includes a communication unit 110, a display unit 120, an operation input unit 130, a storage unit 180, and a control unit 290. The control unit 290 includes a conversion rule application unit 191, a design evaluation unit 192, a rule application evaluation unit 193, a learning data generation unit 194, a learning unit 195, and a concretized component detection unit 296.

[0105] Among the respective parts in FIG. 13, parts having the same functions corresponding to the respective parts in FIG. 1 are denoted by the same reference numerals (110, 120, 130, 180, 191 to 195), and detailed description thereof is omitted here. The system design learning device 200 is different from the system design learning device 100 in that the control unit 290 further includes a concretized component detection unit 296 in addition to the respective parts included in the control unit 190. Further, in the system design learning device 200, the process performed by the conversion rule application unit 191 is concretized into a process using the concretized component information generated by the concretized component detection unit 296. In other respects, the system design learning device 200 is the same as the system design learning device 100, and the control unit 290 is the same as the control unit 190. The system design learning device 200 corresponds to an example of the system design learning device 100.

[0106] The concretized component detection unit 296 generates concretized component information indicating the components concretized by the conversion rule for each conversion rule that can be used in system design by the conversion rule application unit 191. The concretized component detection unit 296 corresponds to an example of a concretized component detection means. The conversion rules that can be used in system design by the conversion rule application unit 191 may be all the conversion rules prepared in advance. For example, the conversion rules that can be used in system design by the conversion rule application unit 191 may be all the conversion rules stored in the storage unit 180.

[0107] Alternatively, some of the pre-prepared conversion rules may be conversion rules that the conversion rule application unit 191 can use for system design. For example, the storage unit 180 may store conversion rules that can be used for the design of systems of each type for each type of system. Alternatively, the conversion rules that the conversion rule application unit 191 can use for system design, such as when the conversion rules are incorporated into a circuit and implemented in hardware, may be implemented by a method other than the method in which the storage unit 180 stores the conversion rules.

[0108] The components that the conversion rules embody can be detected as components that are included in the system requirements before the application of the conversion rules and not included in the system requirements after the application of the conversion rules. For example, in the conversion rule for converting the system requirements shown in FIG. 3 into the system requirements shown in FIG. 4, the communication means indicated by the edge E201 in FIG. 3 is an example of a component that is included in the system requirements before the application of the conversion rules and not included in the system requirements before the application of the conversion rules. In this conversion rule, the communication means indicated by the edge E201 is embodied as the communication means indicated by the edge E211 in FIG. 4.

[0109] The storage unit 180 stores a conversion rule that includes the system requirements before the application of the conversion rules exemplified in FIG. 3 and the system requirements after the application of the conversion rules exemplified in FIG. 3. This conversion rule can be expressed as an equation with the system requirements before the application of the conversion rules on the left side and the system requirements after the application of the conversion rules on the right side. Hereinafter, the system requirements before the application of the conversion rules will also be referred to as the left side of the conversion rule or simply the left side. The system requirements after the application of the conversion rules will also be referred to as the right side of the conversion rule or simply the right side.

[0110] As described above, when the conversion rules are represented using the system requirements before the application of the conversion rules and the system requirements after the application of the conversion rules, as one method for detecting the conversion rules applicable to the system requirements to be converted, a method of actually attempting to apply the conversion rules can be considered. Here, attempting to apply the conversion rules to the system requirements means performing a process of applying the conversion rules to the system requirements, regardless of whether the conversion is actually performed.

[0111] When attempting to apply a conversion rule to the system requirements to be converted and a component is materialized, it can be determined that the conversion rule is applicable to the system to be converted. On the other hand, when no component is materialized, it can be determined that the conversion rule is not applicable to the system to be converted.

[0112] For example, the conversion rule application unit 191 according to the first embodiment may detect candidates for conversion rules using this method in step S111 of FIG. 9, and select any one of the detected candidates as the conversion rule to be applied to the system requirements to be converted. In this case, for each conversion rule that can be used in system design, the conversion rule application unit 191 attempts to apply it to the system requirements to be converted shown as the "current configuration". Then, the conversion rule application unit 191 compares the system requirements before attempting to apply the conversion rule with the system requirements after attempting to apply the conversion rule, and determines the presence or absence of materialized components.

[0113] If it is determined that there are materialized components, the conversion rule application unit 191 can determine that the conversion rule is applicable to the "current configuration". On the other hand, if it is determined that there are no materialized components, the conversion rule application unit 191 can determine that the conversion rule is not applicable to the "current configuration".

[0114] The conversion rule application unit 191 selects any one of the candidates as the conversion rule to be applied to the system requirements to be converted, using the conversion rule determined to be applicable to the "current configuration" as a candidate. However, the method by which the conversion rule application unit 191 according to the first embodiment selects the conversion rule to be applied to the system requirements to be converted is not limited to a specific method.

[0115] Among the conversion rules that can be used for system design, the process of detecting the conversion rules applicable to the system requirements to be converted is not limited to the system design learning device 100, but is a process generally required for a device that performs system design by repeatedly materializing components by applying conversion rules to system requirements.

[0116] In the method of detecting the conversion rules applicable to the system requirements to be converted by attempting to apply the conversion rules to the system requirements to be converted, it is necessary to attempt to apply all the conversion rules that can be used for system design to the system requirements to be converted. In this regard, this method has a high computational cost. In particular, in this method, the larger the number of conversion rules that can be used for system design and the larger the number of times the conversion rules are applied to the system requirements, the higher the computational cost.

[0117] As described above, when the conversion rule is represented using the system requirements before applying the conversion rule and the system requirements after applying the conversion rule, as another method of detecting the conversion rules applicable to the system requirements to be converted, a method of determining whether the system requirements to be converted include the system requirements shown as the left side of the conversion rule can be considered. Specifically, it can be considered to perform pattern matching for various parts of the system requirements to be converted to determine whether there is a part that matches the system requirements shown as the left side of the conversion rule.

[0118] Both the method of actually attempting to apply the conversion rule and the method of determining whether the system requirements to be converted include the system requirements shown as the left side of the conversion rule are reduced to the NP (Non-Deterministic Polynomial) complete problem called the subgraph isomorphism determination problem, and in this regard, the computational cost is high. In particular, for any of these methods, the larger the number of conversion rules that can be used for system design, the larger the scale of the system requirements to be converted, and the larger the number of times the conversion rules are applied to the system requirements, the higher the computational cost. The high computational cost for detecting conversion rules applicable to the system requirements to be converted increases the time required for system design.

[0119] Therefore, the concretization component detection unit 296 generates concretization component information in advance for each of the conversion rules that the conversion rule application unit 191 can use for system design, and associates the conversion rule with the concretization component information indicating the component that the conversion rule concretizes. Here, "in advance" may be before the conversion rule application unit 191 performs the system design process. For example, "in advance" here may be before the conversion rule application unit 191 performs the process of step S21 in FIG. 8.

[0120] The method by which the concretization component detection unit 296 associates the conversion rule with the concretization component information is not limited to a specific method. For example, the storage unit 180 may store one conversion rule per row in the form of a data table having columns for the left side, the right side, and each item of the concretization component information. Then, the concretization component detection unit 296 may write the concretization component information generated for each individual conversion rule into the column of the concretization component information in the row where the conversion rule is stored. Alternatively, the storage unit 180 may store the conversion rule and the concretization component information as separate information. Then, the concretization component detection unit 296 may associate the conversion rule with the concretization component information by creating a link between one conversion rule and the concretization component information indicating the component that the conversion rule concretizes.

[0121] The concretization component detection unit 296 compares the left side and the right side for each conversion rule, and detects components that exist on the left side and do not exist on the right side. The concretization component detection unit 296 determines that the detected component is the component that the conversion rule concretizes, and generates concretization component information indicating that the conversion rule concretizes that component. The concretization component detection unit 296 may store the concretization component information in the storage unit 180 as described above.

[0122] By having the concretized component detection unit 296 generate the concretized component information in advance, the conversion rule application unit 191 can narrow down the candidates for the conversion rules applicable to the system requirements to be converted by referring to the concretized component information among the conversion rules usable for system design. Specifically, the conversion rule application unit 191 determines whether the component indicated in the concretized component information is included in the system requirements to be converted. When it is determined that the component indicated in the concretized component information is included in the system requirements to be converted, the conversion rule application unit 191 includes the conversion rule associated with the concretized component information in the candidates for the conversion rules applicable to the system requirements to be converted. On the other hand, when it is determined that the component indicated in the concretized component information is not included in the system requirements to be converted, the conversion rule application unit 191 does not include the conversion rule associated with the concretized component information in the candidates for the conversion rules applicable to the system requirements to be converted.

[0123] In this case, the candidates for the conversion rules applicable to the system requirements to be converted satisfy the necessary conditions for being applicable to the system requirements to be converted. When the left side of the conversion rule includes other components in addition to the component to be concretized, it is considered that the relationship between the component to be concretized and the other components is shown. When the system requirements to be converted satisfy not only the inclusion of the component to be concretized but also the relationship between the component to be concretized and the other components, the candidates for the conversion rules applicable to the system requirements to be converted are applicable to the system to be converted.

[0124] Generally, it is considered that the candidates for the conversion rules applicable to the system requirements to be converted often include conversion rules that do not satisfy the relationship between the component to be concretized and the other components and are not applicable. On the one hand, if system requirements are appropriately given and the learning of the component evaluation model is appropriately performed, it is expected that at least one applicable transformation rule is included in the candidates for transformation rules applicable to the system requirements to be transformed. In this case, the transformation rule application unit 191 detects an applicable transformation rule from the candidates for transformation rules applicable to the system requirements to be transformed. It is expected that the calculation cost is low in that the candidates for transformation rules to be determined whether they are applicable to the system requirements are narrowed down.

[0125] Alternatively, the transformation rule application unit 191 may directly select a transformation rule applicable to the system requirements to be transformed from the candidates for transformation rules applicable to the system requirements to be transformed. Specifically, the transformation rule application unit 191 may attempt to apply any of the candidates for transformation rules applicable to the system requirements to be transformed to the system requirements to be transformed, so as to determine whether the candidate is applicable to the system requirements to be transformed. In this case, it is expected that the calculation cost of the process of selecting a transformation rule applicable to the system requirements to be transformed is low in that the candidates for transformation rules applicable to the system requirements to be transformed are narrowed down.

[0126] Also, the concrete component information generated by the concrete component detection unit 296 can be used to detect candidates for transformation rules applicable to various system requirements. Therefore, the concrete component detection unit 296 only needs to generate the concrete component information before the transformation rule application unit 191 performs the system design process, and there is no need to generate the concrete component information every time the transformation rule application unit 191 applies a transformation rule to the system requirements. In this regard, it is expected that the increase in the calculation cost is small even if the number of times the transformation rule application unit 191 applies a transformation rule to the system requirements increases.

[0127] FIG. 14 is a flowchart showing an example of a processing procedure in which the system design learning device 200 generates learning data and performs learning. The system design learning device 200 may perform the processing of FIG. 14 instead of the processing of FIG. 8. In the process of FIG. 14, the system design learning device 200 acquires the system requirements to be learned (step S511). The system design learning device 200 may use the system requirements given as the system requirements for the design target also as the system requirements to be learned. Alternatively, the system design learning device 200 may acquire the system requirements to be learned separately from the system requirements for the design target.

[0128] Next, the concretized part detection unit 296 detects the parts concretized by each of the conversion rules that can be used for system design by the conversion rule application unit 191 and generates concretized part information (step S512). As described above, the concretized part detection unit 296 may store the concretized part information in the storage unit 180.

[0129] Next, the control unit 290 determines whether the learning end condition is satisfied (step S513). The learning end condition may be based on, but is not limited to, the learning time, the number of learning times (the number of times the loop from step S513 to S525 is repeated), the magnitude of the learning error, and the like.

[0130] If the control unit 290 determines that the end condition is satisfied (step S513: YES), the system design learning device 200 ends the process of FIG. 14. On the other hand, if the control unit 290 determines that the end condition is not satisfied (step S513: NO), the process proceeds to step S521. The processes in steps S521 to S525 are the same as the processes in steps S21 to S25 of FIG. 8, except that in step S521, the conversion rule application unit 191 performs system design using the concretized part information.

[0131] The process in step S521 of FIG. 14 corresponds to the example of the process in step S21 of FIG. 8. For example, when the system design learning device 200 performs the process of FIG. 9 in step S521 of FIG. 14, the conversion rule application unit 191 refers to the embodied part information in the process of step S111. Specifically, in the process of step S111, the conversion rule application unit 191 may select one conversion rule to be applied to the selected part from among the conversion rules associated with the embodied part information indicating the part. After step S525, the process returns to step S513.

[0132] In the process of step S111 described above, when the conversion rule application unit 191 selects one part to be embodied from the "current configuration", a part evaluation model may be used. For example, the conversion rule application unit 191 may input the system requirements shown as the "current configuration" into the part evaluation model and obtain the evaluation for each part of the "current configuration". Then, the conversion rule application unit 191 may select the part with the highest evaluation as the part to be embodied, etc., and select the part to be embodied based on the obtained evaluation for each part.

[0133] As described above regarding the learning by the learning unit 195, the part evaluation model outputs a high evaluation when there is a conversion sequence that succeeds in system design. By the conversion rule application unit 191 selecting a part with a high evaluation by the part evaluation model, it is expected that the possibility of succeeding in system design will increase.

[0134] In the process of step S111 described above, when the conversion rule application unit 191 selects a conversion rule to be applied to the selected part from among the conversion rule candidates, a part evaluation model may be used. For example, the conversion rule application unit 191 may apply each of the conversion rule candidates to the system requirements shown as the "current configuration" to obtain the system requirements after applying the conversion rule for each conversion rule candidate. Then, the conversion rule application unit 191 may input each of the system requirements after applying the conversion rule into the component evaluation model to obtain an evaluation of the system requirements after applying the conversion rule for each conversion rule candidate.

[0135] As described above, the component evaluation model outputs an evaluation for each component shown in the system requirements in response to the input of the system requirements. Therefore, the conversion rule application unit 191 calculates an evaluation for the entire system requirements based on the evaluation for each component. For example, as described above for the system design learning apparatus 100, the conversion rule application unit 191 may calculate the maximum value of the evaluation values for each component as the evaluation value for the entire system requirements.

[0136] The conversion rule application unit 191 may select any one of the conversion rule candidates as the conversion rule to be applied to the selected component based on the evaluation of the system requirements after applying the conversion rule, such as selecting the conversion rule candidate with the highest evaluation of the system requirements after applying the conversion rule.

[0137] By having the conversion rule application unit 191 calculate the evaluation of the system requirements after applying the conversion rule using the component evaluation model and selecting the conversion rule with a high evaluation of the system requirements after applying the conversion rule, it is expected that the possibility of success in system design will increase.

[0138] FIG. 15 is a flowchart showing an example of a processing procedure in which the embodied component detection unit 296 performs calculations on the components to be embodied. The embodied component detection unit 296 performs the processing of FIG. 15 in step S512 of FIG. 14. In the processing of FIG. 15, the embodied component detection unit 296 checks whether there are unselected conversion rules in step S541 (step S531). If the processing of step S541 has not been performed even once, the embodied component detection unit 296 may determine that all the conversion rules available for system design are unselected. When it is determined that there is no unselected conversion rule (step S531: NO), the concretized component detection unit 296 ends the process of FIG. 15.

[0139] On the other hand, when it is determined in step S531 that there is an unselected conversion rule (step S531: YES), the concretized component detection unit 296 selects one conversion rule from the unselected conversion rules (step S541). In the following description, the conversion rule selected in the execution of the latest step S541 while the concretized component detection unit 296 repeatedly executes step S541 is also referred to as the target conversion rule.

[0140] Next, the concretized component detection unit 296 compares the left side and the right side of the target conversion rule (step S542). Next, the concretized component detection unit 296 detects components that are on the left side of the target conversion rule but not on the right side, and generates concretized component information indicating the detected components as the components concretized by the target conversion rule (step S543). As described above, the concretized component detection unit 296 associates the conversion rule with the concretized component information indicating the components concretized by the conversion rule. The concretized component detection unit 296 may store the concretized component information in the storage unit 180. After step S543, the process transitions to step S531.

[0141] The concretized component information indicates, for each conversion rule, the components concretized by the conversion rule. The system design learning device 200 can eliminate the need to detect one by one the components concretized by each conversion rule every time a conversion rule is applied to the system requirements by referring to the concretized component information both during learning and during design. According to the system design learning device 200, in this regard, both the computational cost incurred in the learning process and the computational cost incurred in the design process can be improved.

[0142] As one method of selecting the next state to which the conversion rule is applied to the system requirements, a method of attempting to apply all conversion rules available for system design to the system requirements to be converted can be considered. In this method, for example, for each conversion rule, an evaluation value for the system requirements after attempting to apply the conversion rule is calculated, and based on the calculated evaluation value, the system requirements as the next state are selected. However, in this method, since it is necessary to attempt to apply all conversion rules, the calculation cost is high.

[0143] On the other hand, in the system design learning device 200, when the conversion rule application unit 191 selects the next state by applying the conversion rule to the system requirements both during learning and design, it can select the component to be materialized based on the evaluation for each component obtained using the component evaluation model. Then, the conversion rule application unit 191 attempts to apply only the conversion rule that materializes the selected component to the system requirements as the current state, and can select the system requirements as the next state from any of the resulting next state candidates.

[0144] According to the system design learning device 200, the conversion rule to be attempted is only the one that materializes the selected component, and in this regard, the calculation cost is lower compared to the above method. According to the system design learning device 200, in this regard, it is expected that both the time required for learning and the time required for design are short.

[0145] In the second embodiment, various methods can be considered as the method by which the conversion rule application unit 191 selects the next state from the next state candidates. For example, the conversion rule application unit 191 may select the next state based on the evaluation value of the system requirements obtained using the evaluation method shown in FIG. 12. At that time, the conversion rule application unit 191 may select the system requirement with the maximum evaluation value as the next state, or may select other system requirements. Alternatively, the conversion rule application unit 191 may select the next state randomly without using the evaluation method shown in FIG. 12.

[0146] As described above, the embodied component detection unit 296 generates embodied component information indicating the components embodied by each conversion rule that the conversion rule application unit 191 can use for system design. The conversion rule application unit 191 determines the conversion rules to be used in system design based on the embodied component information. By determining the conversion rules to be used in system design based on the embodied component information, the conversion rule application unit 191 does not need to obtain the conversion rules applicable to the system requirements for each determination of the conversion rules. According to the system design learning device 200, in this regard, it is expected that both the time required for learning and the time required for design are short.

[0147] Also, the learning unit 195 learns a component evaluation model that outputs an evaluation for each component indicated by the system requirements for the input of the system requirements. The conversion rule application unit 191 selects the components to which the conversion rules are to be applied based on the evaluation of the component evaluation model for each component indicated by the system requirements, and selects one conversion rule from the conversion rule candidates that are the conversion rules indicated by the embodied component information as being applicable to the selected components, and applies the selected conversion rule to the selected components. It is expected that the probability of successful system design will increase when the conversion rule application unit 191 selects components based on the evaluation by the component evaluation model.

[0148] Also, the conversion rule application unit 191 selects one conversion rule from the conversion rule candidates based on the evaluation of the component evaluation model for the system requirements after applying the conversion rule candidates to the system requirements obtained for each conversion rule candidate. It is expected that the probability of successful system design will increase when the conversion rule application unit 191 selects conversion rules based on the evaluation of the system requirements after applying the conversion rules obtained using the component evaluation model.

[0149] <Third Embodiment> FIG. 16 is a diagram showing an example of the configuration of a system design learning apparatus according to the third embodiment. The system design learning apparatus 610 shown in FIG. 16 includes a conversion rule application unit 611, a design evaluation unit 612, a rule application evaluation unit 613, and a learning unit 614. With such a configuration, the conversion rule application unit 611 performs system design by repeatedly applying conversion rules to the parts of the design target system indicating the system requirements until the design result of the system design is obtained. The design evaluation unit 612 determines an evaluation value for the system design based on the design result. The rule application evaluation unit 613 determines an evaluation value regarding the conversion of each part in the system design based on the evaluation value for the system design. The learning unit 614 learns about the selection of parts to which the conversion rules are to be applied based on learning data including the evaluation values regarding the conversion of parts. The conversion rule application unit 611 corresponds to an example of conversion rule application means. The design evaluation unit 612 corresponds to an example of design evaluation means. The rule application evaluation unit 613 corresponds to an example of rule application evaluation means. The learning unit 614 corresponds to an example of learning means.

[0150] As described above, in a method of learning a system design model that outputs a series of conversion rules to be applied in response to an input of system requirements, it is generally considered that effective learning cannot be performed due to the various scales and configurations of systems. On the other hand, even if the configurations of systems used in the field targeted by the system design learning apparatus 610 are different for each system, it is expected that common parts or similar parts are used. By having the system design learning apparatus 610 perform learning regarding conversion in units of parts, it is expected that the same parts or similar parts as those used in the system targeted during system design are also used in the system targeted during learning. In this regard, by having the system design learning apparatus 610 perform learning regarding conversion in units of parts, effective learning can be performed even when the system configuration targeted during system design is different from the system configuration targeted during learning.

[0151] <Fourth Embodiment> Figure 17 is a flowchart showing an example of the processing procedure in the system design learning method according to the fourth embodiment. The processing shown in Figure 17 includes applying conversion rules (step S611), evaluating the design (step S612), evaluating the rule application (step S613), and performing learning (step S614).

[0152] In applying the conversion rules (step S611), system design is performed by repeatedly applying the conversion rules to the parts of the system to be designed, which is indicated by the system requirements, until the design result of the system design is obtained. In evaluating the design (step S612), an evaluation value for the system design is determined based on the design result. In evaluating the rule application (step S613), an evaluation value regarding the conversion of each part in the system design is determined based on the evaluation value for the system design. In performing learning (step S614), learning is performed regarding the selection of the parts to which the conversion rules are to be applied based on the learning data including the evaluation value regarding the conversion of the parts.

[0153] As described above, in a method of learning a system design model that outputs a series of conversion rules to be applied for an input of system requirements, it is generally considered that effective learning cannot be performed due to the various scales and configurations of the systems. On the other hand, even if the configurations of the systems used in the field targeted by the processing shown in Figure 17 are different for each system, it is expected that common parts or similar parts are used. By performing learning regarding conversion in units of parts in the processing shown in Figure 17, it is expected that the same parts or similar parts as those used in the system targeted at the time of system design are also used in the system targeted at the time of learning. In this regard, by performing learning regarding conversion in units of parts in the processing shown in Figure 17, effective learning can be performed even when the system configuration targeted at the time of system design is different from the system configuration targeted at the time of learning.

[0154] FIG. 18 is a schematic block diagram showing the configuration of a computer according to at least one embodiment. In the configuration shown in FIG. 18, the computer 700 includes a CPU 710, a main memory device 720, an auxiliary storage device 730, and an interface 740.

[0155] Any one or more of the above-described system design learning devices 100, 200, and 610 may be implemented in the computer 700. In that case, the operations of the respective processing units described above are stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730, expands it in the main memory device 720, and executes the above processing according to the program. Further, the CPU 710 secures a storage area corresponding to each of the above-described storage units in the main memory device 720 according to the program.

[0156] When the system design learning device 100 is implemented in the computer 700, the control unit 190 and the operations of its respective parts are stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730, expands it in the main memory device 720, and executes the above processing according to the program. Further, the CPU 710 secures a storage area corresponding to the storage unit 180 in the main memory device 720 according to the program. Communication by the communication unit 110 is executed by the interface 740 having a communication function and performing communication under the control of the CPU 710. Display by the display unit 120 is executed by the interface 740 including a display screen and displaying various images under the control of the CPU 710. Reception of a user operation by the operation input unit 130 is executed by the interface 740 including an input device, receiving the user operation, and outputting a signal indicating the received user operation to the CPU 710.

[0157] When the system design learning device 200 is implemented in the computer 700, the control unit 290 and the operations of its respective parts are stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730, expands it in the main storage device 720, and executes the above processing according to the program. Also, the CPU 710 secures a storage area corresponding to the storage unit 180 in the main storage device 720 according to the program. The communication by the communication unit 110 is executed by the interface 740 having a communication function and performing communication under the control of the CPU 710. The display by the display unit 120 is executed by the interface 740 having a display screen and displaying various images under the control of the CPU 710. The reception of the user operation by the operation input unit 130 is executed by the interface 740 having an input device, receiving the user operation, and outputting a signal indicating the received user operation to the CPU 710.

[0158] When the system design learning device 610 is implemented in the computer 700, the operations of the conversion rule application unit 611, the design evaluation unit 612, the rule application evaluation unit 613, and the learning unit 614 are stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730, expands it in the main storage device 720, and executes the above processing according to the program.

[0159] Note that a program for realizing all or part of the functions of the system design learning device 100, the system design learning device 200, and the system design learning device 610 may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be read into a computer system and executed to perform the processing of each part. The "computer system" referred to here includes hardware such as an OS (operating system) and peripheral devices. The "computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM (Read Only Memory), a CD-ROM (Compact Disc Read Only Memory), or a storage device such as a hard disk incorporated in a computer system. Further, the above program may be for realizing a part of the functions described above, or may be realized in combination with a program already recorded in the computer system for realizing the functions described above.

[0160] As described above, the embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and design changes and the like within the scope not departing from the gist of the present invention are also included.

Explanation of Reference Numerals

[0161] 100, 200, 610 System Design Learning Device 110 Communication Unit 120 Display Unit 130 Operation Input Unit 180 Storage Unit 190, 290 Control Unit 191, 611 Conversion Rule Application Unit 192, 612 Design Evaluation Unit 193, 613 Rule Application Evaluation Unit 194 Learning Data Generation Unit 195, 614 Learning Unit 296 Specific Component Detection Unit

Claims

1. Conversion rule application means for performing system design by repeatedly applying conversion rules to components of a system to be designed, which is indicated by system requirements, until a design result of the system design is obtained; Design evaluation means for determining an evaluation value for the system design based on the design result; Rule application evaluation means for determining an evaluation value regarding conversion of each individual component in the system design based on the evaluation value for the system design; Learning means for learning selection of components to which the conversion rules are to be applied based on learning data including the evaluation value regarding conversion of the components; A system design learning apparatus comprising the above.

2. The rule application evaluation means determines an evaluation value regarding conversion of the components for each component of the system requirements based on data obtained by integrating a plurality of histories of the system design for the same system requirements. The system design learning apparatus according to Claim 1.

3. The design result represents either that the system design has been successful or that the system design has failed. The system design learning apparatus according to Claim 1 or Claim 2.

4. The fact that the system design has been successful includes that system requirements concretized at a level where the system can be deployed have been obtained. The system design learning apparatus according to Claim 3.

5. The fact that the system design has failed includes that it is determined that system requirements concretized at a level where the system can be deployed cannot be obtained. The system design learning apparatus according to Claim 3 or Claim 4.

6. When the design result represents that the system design has been successful, the design evaluation means determines an evaluation value for the system design based on the evaluation index value of the obtained system. The system design learning device according to any one of claims 1 to 5.

7. The conversion rule application means further includes a specific part detection means for generating specific part information indicating a part embodied by the conversion rule for each conversion rule applicable to the system design, and the conversion rule application means determines the conversion rule used for the system design based on the specific part information. The system design learning device according to any one of claims 1 to 6.

8. The learning means learns a part evaluation model that outputs an evaluation for each part indicated by the system requirement for an input of the system requirement. Based on the evaluation of the part evaluation model for each part indicated by the system requirement, the conversion rule application means selects the part to which the conversion rule is to be applied, selects one conversion rule from among the conversion rule candidates that are the conversion rules indicated by the specific part information as being applicable to the selected part, and applies the selected conversion rule to the selected part. The system design learning device according to claim 7.

9. Based on the evaluation of the part evaluation model for the system requirement after application of the conversion rule obtained by applying the conversion rule candidate to the system requirement for each conversion rule candidate, the conversion rule application means selects one conversion rule from among the conversion rule candidates as the conversion rule to be applied to the selected part. The system design learning device according to claim 8.

10. A computer Performs system design by repeatedly applying conversion rules to the parts of the design target system indicated by the system requirement until the design result of the system design is obtained for the design target system indicated by the system requirement. Determines an evaluation value for the system design based on the design result. Determines an evaluation value regarding the conversion of each part in the system design based on the evaluation value for the system design. learning about the selection of components to which the conversion rule is to be applied based on learning data including an evaluation value related to the conversion of the components; A system design learning method including:

11. causing a computer to perform system design by repeatedly applying a conversion rule to components of a design target system indicating system requirements until a design result of the system design is obtained; determining an evaluation value for the system design based on the design result; determining an evaluation value related to the conversion of each component in the system design based on the evaluation value for the system design; learning about the selection of components to which the conversion rule is to be applied based on learning data including an evaluation value related to the conversion of the components; A program for causing the above to be executed.

Citation Information

Patent Citations

  • Design drawing device

    JP1992137073A

  • System configuration derivation device and system configuration derivation method

    WO2019216082A1