This application is based upon and claims the benefit of priority from Japanese patent application No. 2021-082306, filed on May 14, 2021, the disclosure of which is incorporated herein in its entirety by reference.
The present disclosure relates to an automation technology for automating the evaluation of products that compose an Information Communication Technology (ICT) system. In particular, the present disclosure relates to a technology for generating learning requirements for a machine to learn design knowledge related to the design of an ICT system.
The processes required to construct an ICT system include a design process for designing a concrete system configuration that meets the system requirements required for the ICT system.
International Patent Publication No. WO 2019/216082 discloses a technology for automatically generating a system configuration from system requirements for the purpose of automating a basic design process and a detailed design process. In this technology, a storage unit stores a concretization rule in which a method is specified for concretizing abstract configuration information (a system requirement) by confirming an unconfirmed portion of the abstract configuration information, which is information indicating a configuration of a system in which the unconfirmed portion is included. Further, the abstract configuration information included in configuration requirements of the system represented in the form of a graph is concretized using the concretization rule stored in the storage unit. By doing the above, information (a system configuration) indicating the configuration of the system in which the unconfirmed portion is not included is generated based on the configuration requirements of the system.
Non Patent Literature 1 (Takayuki KURODA, Takuya KUWAHARA, Takashi MARUYAMA, Yutaka YAKUWA, Kazuki TANABE, Tatsuya FUKUDA, Kozo SATODA, and Takao OSAKI, “Acquisition of Knowledge about ICT System Designing with Machine Learning”, The Transactions of the Institute of Electronics, Information and Communication Engineers Vol. J104-B, No. 3, pp. 140-151, March 2021) discloses an automatic design technology (a learning-type system automatic design technology) of an ICT system using machine learning inspired by International Patent Publication No. WO 2019/216082. In this technology, when a concrete system configuration is generated from the system requirement by the technology disclosed in International Patent Publication No. WO 2019/216082, a reward value is given to each of the generated system configuration and the concretization rule applied in the generation process, and Artificial Intelligence (AI) is made to learn the reward value for the system configuration and the concretization rule. By doing the above, AI can pseudo-acquire the knowledge (the design knowledge) related to a system design which an engineer possesses. Further, by learning the system configurations and the concretization rules for various types of system requirements and the reward values for these system configurations and concretization rules, it is possible to enhance the speed and the reliability of the design of a system configuration.
However, in the learning-type system automatic design technology disclosed in Non Patent Literature 1, like in the case of a common problem where a large amount of learning data is required when using AI, it is preferable that a large number of system requirements for learning (learning requirements) be prepared in order for AI to acquire necessary and sufficient design knowledge. Therefore, prior to learning, a problem may occur that a man-hour burden on an engineer who generates a large number of learning requirements described above becomes large.
The reason for the above is that it is necessary to prepare a large amount of information (actual case data) about the case for which a system design has actually been performed, and to manually interpret the content of the actual case data and then convert it into a requirement data format, which is an input format of the learning-type system automatic design technology, in order to generate the learning requirements.
Therefore, an object of the present disclosure is to solve the above-described problem and to provide a learning requirement generation apparatus, a learning requirement generation method, and a non-transitory computer readable medium that are capable of reducing the burden of generating learning requirements on an engineer.
A learning requirement generation apparatus according to an example aspect includes:
a storage unit configured to store a system requirement group;
a requirement acquisition unit configured to acquire the system requirement group from the storage unit and add the acquired system requirement group to an acquisition requirement group; and
a learning requirement generation unit configured to generate a learning requirement by adding or replacing of a component on each of acquisition requirements that compose the acquisition requirement group.
A learning requirement generation method according to an example aspect is a learning requirement generation method performed by a learning requirement generation apparatus, the learning requirement generation method including:
storing a system requirement group in a storage unit;
acquiring the system requirement group from the storage unit and adding the acquired system requirement group to an acquisition requirement group; and
generating a learning requirement by adding or replacing of a component on each of acquisition requirements that compose the acquisition requirement group.
A non-transitory computer readable medium according to an example aspect is a non-transitory computer readable medium storing a program for causing a computer to execute:
a procedure of storing a system requirement group in a storage unit;
a procedure of acquiring the system requirement group from the storage unit and adding the acquired system requirement group to an acquisition requirement group; and
a procedure of generating a learning requirement by adding or replacing of a component on each of acquisition requirements that compose the acquisition requirement group.
The above and other aspects, features and advantages of the present disclosure will become more apparent from the following description of certain example embodiments when taken in conjunction with the accompanying drawings, in which:
Example embodiments of the present disclosure will be described hereinafter with reference to the drawings. Note that, for the clarification of the description, the following descriptions and the drawings are partially omitted and simplified as appropriate. Further, the same elements are denoted by the same reference numerals or symbols throughout the drawings, and redundant descriptions are omitted as necessary.
The component data 200 describes definitions of types of components that compose an ICT system, such as an application, an Operation System (OS), and a server.
As shown in
In the example shown in
Further, “properties” representing the attribute value information of the component describes, as the attribute values, “fps” representing a frame rate of a video image to be input to the face authentication application and “resolution” representing a resolution of the video image.
Further, as information about connection by the relationship between a subject component and another component, “reference” representing a connection request from the subject component to another component, which is required for the subject component to operate, and “service” representing a connection capability that can be provided to the other component requesting a connection to the subject component are defined. Both “reference” and “service” describe a pair of a port name of a port used for the connection and the number of components that can be connected to the port. In the example shown in
The system requirements, the component data 200, and the relationship data have been stored in the storage unit 101.
The system requirement is input to a learning-type system automatic design apparatus 310 described later, and is an abstract representation of components and constraints required for a system by a user.
In
As shown in
In the example shown in
Meanwhile, the definition of the relationship between the components represented by “relationships” includes a list of a set of three values: a start point and an end point of the relationship using the component names defined by the “components”, and a type name of the relationship. In the example shown in
The relationship data defines a type of relationship between the components of the system, which is used in the learning requirement generation apparatus 100 and the learning-type system automatic design apparatus 310 described later. The relationship data includes definitions of both abstract and concrete relationships. Further, the definition of each relationship includes information about types of the components of the system that can be connected by the relationship, in addition to information that distinguishes between the abstractness and the concreteness of the relationship.
In
The definition of each relationship includes “abstract” which is information that distinguishes between the abstractness and the concreteness of the relationship, and “connection” which is information about the components that can be connected by the relationship.
In “abstract”, a value of “true” indicates an abstract relationship, and a value of “false” indicates a concrete relationship.
In “connection”, at least one or more pairs of “src” representing a type of the component serving as the start point of the connection and “dest” representing a type of the component serving as the end point of the connection are defined in order to connect the components to each other by the relationship. The type of the component is represented by “category” in the component data 200 shown in
In the example shown in
Meanwhile, since the abstract relationship is replaced with the concrete relationship by the learning-type system automatic design apparatus described later, the components are connected to each other without a port being specified. Note that a specific definition format of the relationship data is not limited to the example shown in
A system configuration is a concrete representation of all the components of the system and the relationships between the components.
In the examples shown in
The requirement acquisition unit 102 acquires all the system requirements stored in the storage unit 101, and adds the acquired system requirements to an acquisition requirement group.
The learning requirement generation unit 103 inputs the component data 200. Further, the learning requirement generation unit 103 performs addition or replacement of a component on each of the acquisition requirements that compose the acquisition requirement group acquired by the requirement acquisition unit 102, thereby generating a system requirement (a learning requirement). Then the learning requirement generation unit 103 stores the generated learning requirement in the storage unit 101, and then adds it to the learning requirement group 300 and outputs the learning requirement group 300.
Each of
In the example shown in
Further,
In the example shown in
Next, an example of a flow of an overall operation performed by the learning requirement generation apparatus 100 according to the first example embodiment will be described with reference to a flowchart of
As shown in
Next, the requirement acquisition unit 102 acquires all the system requirements stored in the storage unit 101, and adds the acquired system requirements to the acquisition requirement group (Step S102).
Next, the learning requirement generation unit 103 determines whether or not the acquisition requirement group is empty (Step S103), and if the learning requirement generation unit 103 determines that the acquisition requirement group is not empty (NO in Step S103), it extracts one acquisition requirement from the acquisition requirement group (Step S104).
Next, the learning requirement generation unit 103 determines whether or not the component (the input component) represented by the component data 200 input in Step S101 is included in the acquisition requirement extracted in Step S104 (Step S105). If the learning requirement generation unit 103 determines that the input component is included in the acquisition requirement (YES in Step S105), the process proceeds to Step S106, while if it determines that the input component is not included in the acquisition requirement (NO in Step S105), the process proceeds to Step S108.
In Step S106, the learning requirement generation unit 103 determines whether or not the input component in the acquisition requirement can be connected to a new component by a concrete or an abstract relationship. If the learning requirement generation unit 103 determines that the input component can be connected to a new component (YES in Step S106), it adds a new component to the acquisition requirement, and connects the added component to the input component in the acquisition requirement by the relationship (Step S107). In this way, a learning requirement is generated. On the other hand, if the learning requirement generation unit 103 determines that the input component cannot be connected to a new component (NO in Step S106), it discards the acquisition requirement, and the process returns to Step S103.
In Step S108, the learning requirement generation unit 103 determines whether or not there is a component that can be replaced with the input component in the acquisition requirement. If the learning requirement generation unit 103 determines that the replacement of the corresponding component with the input component can be performed (YES in Step S108), it replaces the corresponding component in the acquisition requirement with the input component (Step S109). In this way, a learning requirement is generated. On the other hand, if the learning requirement generation unit 103 determines that the replacement of the corresponding component with the input component cannot be performed (NO in Step S108), it discards the acquisition requirement, and the process returns to Step S103.
After the execution of Step S107 or S109, the learning requirement generation unit 103 stores the learning requirement generated in Step S107 or S109 in the storage unit 101 and adds it to the learning requirement group 300 (Step S110). After that, the process returns to Step S103.
In Step S103, if the learning requirement generation unit 103 determines that the acquisition requirement group is empty (YES in Step S103), it outputs the learning requirement group 300 (Step S111), and ends the process.
As described above, the learning requirement generation apparatus 100 according to the first example embodiment performs processing for adding or replacing components on the system requirements stored in the storage unit 101 using the input component data 200, thereby generating learning requirements. Therefore, AI of the learning-type system automatic design technology can automatically generate the learning requirement group 300 required for acquisition of the design knowledge which an engineer possesses. Further, by inputting various types of component data 200 to the learning requirement generation apparatus 100 and repeatedly performing the processing for generating a learning requirement, it is possible to automatically generate a larger number of learning requirement groups 300.
By doing the above, it is possible to greatly reduce the burden on the engineer who has manually interpreted actual case data and prepared requirement data. It is also possible to enhance the accuracy and the speed of the learning-type system automatic design technology and to further reduce the labor needed for the design and construction processes of the ICT system.
The requirement acquisition unit 111 inputs the component data 200. Further, the requirement acquisition unit 111 refers to the system requirement group stored in the storage unit 101, acquires all the system requirements including the components (the input components) represented by the input component data 200, and adds the acquired system requirements to the acquisition requirement group.
The extension requirement generation unit 112 performs an operation similar to that performed in the example shown in
For each of the extension requirements that compose the extension requirement group generated by the extension requirement generation unit 112, the similarity requirement acquisition unit 113 acquires a system requirement (a similarity requirement) that is similar to the corresponding extension requirement and that does not include the input component from the storage unit 101, and adds the acquired similarity requirements to a similarity requirement group.
In the example shown in
When two system requirements, i.e., a system requirement 1 and a system requirement 2, have been stored in the storage unit 101 as system requirements that do not include input components, the similarity requirement acquisition unit 113 regards the system requirements as a set composed of nodes and edges and uses the aforementioned Expression 1. As a result, the similarity between the extension requirement and the system requirement 1 is 0.25 (25%), and the similarity between the extension requirement and the system requirement 2 is 0.75 (75%). Therefore, the similarity requirement acquisition unit 113 selects the system requirement 2 as a similarity requirement and acquires it. Note that a specific method for acquiring a similarity requirement is not limited to the example shown in
The learning requirement generation unit 114 performs an operation similar to that performed in the example shown in
Next, an example of a flow of an overall operation performed by the learning requirement generation apparatus 100A according to the second example embodiment will be described with reference to flowcharts of
As shown in
Next, the requirement acquisition unit 111 acquires all the system requirements including the components (the input components) represented by the component data 200 input in Step S101 among the system requirements stored in the storage unit 101, and adds the acquired system requirements to the acquisition requirement group (Step S201).
Next, the extension requirement generation unit 112 determines whether or not the acquisition requirement group is empty (Step S103), and if the extension requirement generation unit 112 determines that the acquisition requirement group is not empty (NO in Step S103), it extracts one acquisition requirement from the acquisition requirement group (Step S104).
Next, the extension requirement generation unit 112 determines whether or not the input component in the acquisition requirement extracted in Step S104 can be connected to a new component by a concrete or an abstract relationship (Step S106). If the extension requirement generation unit 112 determines that the input component can be connected to a new component (YES in Step S106), it adds a new component to the acquisition requirement, and connects the added new component to the input component in the acquisition requirement by the relationship (Step S107). The extension requirement generation unit 112 stores the system requirement (the extension requirement) obtained in Step S107 in the storage unit 101 and adds it to the extension requirement group (Step S208). After that, the process returns to Step S103. On the other hand, if the extension requirement generation unit 112 determines that the input component cannot be connected to a new component (NO in Step S106), it discards the acquisition requirement, and the process returns to Step S103.
In Step S103, if it is determined that the acquisition requirement group is empty (YES in Step S103), the process proceeds to Step S209.
In Step S209, the similarity requirement acquisition unit 113 determines whether or not the extension requirement group is empty (Step S209), and if the similarity requirement acquisition unit 113 determines that the extension requirement group is not empty (NO in Step S209), it extracts one extension requirement from the extension requirement group (Step S210).
Next, among the system requirements stored in the storage unit 101, the similarity requirement acquisition unit 113 acquires the system requirement (the similarity requirement) that has the highest similarity to the extracted extension requirement and that does not include the input component (Step S211).
Next, the learning requirement generation unit 114 determines whether or not there is a component that can be replaced with the input component in the similarity requirement acquired in Step S211 (Step S212). If the learning requirement generation unit 114 determines that the replacement of the corresponding component with the input component can be performed (YES in Step S212), it replaces the corresponding component in the similarity requirement with the input component, thereby generating a system requirement (a learning requirement) (Step S213). The learning requirement generation unit 114 stores the learning requirement generated in Step S213 in the storage unit 101 and adds it to the learning requirement group 300 (Step S214). After that, the process returns to Step S209. On the other hand, if the learning requirement generation unit 114 determines that the replacement of the corresponding component with the input component cannot be performed (NO in Step S212), it discards the similarity requirement, and the process returns to Step S209.
In Step S209, if it is determined that the extension requirement group is empty (YES in Step S209), the learning requirement generation unit 103 outputs the learning requirement group 300 (Step S111), and ends the process.
As described above, the learning requirement generation apparatus 100A according to the second example embodiment performs processing for replacing input components on the system requirements that do not include the components (the input components) represented by the component data 200, which have been stored in the storage unit 101, thereby generating the learning requirement group 300. Therefore, regarding the input components, it is possible to automatically generate a wider variety of the learning requirement groups 300 at a high speed. Further, both the extension requirement group generated by the extension requirement generation unit 112 and the learning requirement group generated by the learning requirement generation unit 114 are stored in the storage unit 101. Therefore, it is possible to store a wider variety of system requirements in the storage unit 101 at a higher speed.
The effects of the second example embodiment other than the above ones are similar to those of the above-described first example embodiment.
As shown in Non Patent Literature 1, the learning-type system automatic design apparatus 310 sequentially applies a concretization rule in which a method is specified for partially concretizing an abstract element to the system requirement including an abstract component and relationship, thereby generating a large number of system configuration candidates in which all the elements are concretized. Further, the learning-type system automatic design apparatus 310 derives an evaluation value for each generated system configuration candidate by using a Graph Neural Network (GNN), which is a type of machine learning model using a graph structure, and gives a reward value to each concretization rule so that the reward value for the concretization rule applied in the process of generating the system configuration candidate having a large evaluation value becomes large. By doing the above, it is possible to make AI pseudo-learn the design knowledge which an engineer possesses.
The concretization rule shown in
As shown in
Next, an example of a flow of an overall operation performed by the automatic design system according to the third example embodiment will be described with reference to a flowchart of
As shown in
Next, the learning-type system automatic design apparatus 310 inputs the learning requirement group 300 generated in Step S302 (Step S303). Next, for the respective learning requirements that compose the input learning requirement group 300, the learning-type system automatic design apparatus 310 recursively executes the application of the concretization rule to the abstract element of the learning requirement and the evaluation of the system configuration plan to which the concretization rule has been applied. By doing the above, the learning-type system automatic design apparatus 310 generates a concrete system configuration corresponding to the learning requirement, and adds it to the system configuration group 400 (Step S304).
After that, the learning-type system automatic design apparatus 310 outputs the system configuration group 400, and ends the process (Step S305).
As described above, in the automatic design system according to the third example embodiment, the learning-type system automatic design apparatus 310 generates a concrete system configuration corresponding to each learning requirement generated by the learning requirement generation apparatus 100. Therefore, it is possible to automatically generate a concrete system configuration corresponding to each learning requirement.
The effects of the third example embodiment other than the above ones are similar to those of the above-described first example embodiment.
Note that the automatic design system according to the third example embodiment may include the learning requirement generation apparatus 100A according to the above-described second example embodiment instead of the learning requirement generation apparatus 100 according to the above-described first example embodiment.
The processor 121 may be, for example, a microprocessor, a Micro Processing Unit (MPU), or a Central Processing Unit (CPU). The processor 121 may include a plurality of processors.
The memory 122 is composed of a combination of a volatile memory and a non-volatile memory. The memory 122 may include a storage located separately from the processor 121. In this case, the processor 121 may access the memory 122 via an Input/Output (I/O) interface (not shown).
Each of the learning requirement generation apparatuses 100 and 100A according to the above-described first and second example embodiments can have the hardware configuration shown in
Further, the above-described program may be stored in a non-transitory computer readable medium or a tangible storage medium. By way of example, and not a limitation, non-transitory computer readable media or tangible storage media can include a random-access memory (RAM), a read-only memory (ROM), a flash memory, a solid-state drive (SSD) or other types of memory technologies, a CD-ROM, a digital versatile disc (DVD), a Blu-ray (Registered Trademark) disc or other types of optical disc storage, and magnetic cassettes, magnetic tape, magnetic disk storage or other types of magnetic storage devices. The program may be transmitted on a transitory computer readable medium or a communication medium. By way of example, and not a limitation, transitory computer readable media or communication media can include electrical, optical, acoustical, or other forms of propagated signals.
The industrial applicability of the present disclosure is obvious from the above description, and the present disclosure can be applied to applications such as the design and construction of an ICT system and a communication network.
Although the present disclosure has been described above with reference to example embodiments, the present disclosure is not limited to the above-described example embodiments. Various changes that may be understood by those skilled in the art may be made to the configurations and details of the present disclosure within the scope of the disclosure.
The first to fourth example embodiments can be combined as desirable by one of ordinary skill in the art.
Number | Date | Country | Kind |
---|---|---|---|
2021-082306 | May 2021 | JP | national |