JP7694151B2 - System design learning device, system design learning method and program - Google Patents
System design learning device, system design learning method and program Download PDFInfo
- Publication number
- JP7694151B2 JP7694151B2 JP2021087757A JP2021087757A JP7694151B2 JP 7694151 B2 JP7694151 B2 JP 7694151B2 JP 2021087757 A JP2021087757 A JP 2021087757A JP 2021087757 A JP2021087757 A JP 2021087757A JP 7694151 B2 JP7694151 B2 JP 7694151B2
- Authority
- JP
- Japan
- Prior art keywords
- system design
- design
- learning
- conversion rule
- conversion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、システム設計学習装置、システム設計学習方法およびプログラムに関する。 The present invention relates to a system design learning device, a system design learning method, and a program.
特許文献1には、抽象的なシステム構成の未確定な部分に具体化規則を適用して具体化することによって、未確定な部分が含まれていない具体的なシステム構成を導出するシステム設計技術が開示されている。
また、非特許文献1には、特許文献1に示されるような技術において、適用可能な規則の何れかを選択する処理を、強化学習で学習する技術が開示されている。
Furthermore, Non-Patent
特許文献1に例示されるシステム設計技術など、システム構成の部分に変換規則を適用する場合、どの変換規則を適用するか、さらには、どの変換規則をどの順番で適用するかによって、得られる結果が異なることが考えられる。特に、特許文献1に例示されるシステム設計技術などにおいては、どの変換規則を適用するか、さらには、どの変換規則をどの順番で適用するかによって、システム設計に失敗することも考えられる。すなわち、係るシステム設計技術においては、具体的なシステム構成の導出に必ず成功するとは限らず、例えば、システム構成に未確定な部分が含まれているにも関わらず、適用可能な変換規則が無くなってしまうことも考えられる。
When applying conversion rules to parts of a system configuration, such as the system design technology exemplified in
これに対し、システム設計に成功する可能性を高める観点から、システム構成に応じた変換について、非特許文献1に例示される強化学習などの学習(機械学習)を行うことが考えられる。
ただし、システム構成に関する学習を行う場合、システム構成が多様であることから、システム設計時に対象となるシステム構成が、学習時に対象となるシステム構成とは異なることが考えられる。このようにシステム設計時に対象となるシステム構成が学習時に対象となるシステム構成と異なる場合であっても、有効な学習を行えることが好ましい。
In response to this, from the viewpoint of increasing the possibility of successful system design, it is conceivable to carry out learning (machine learning) such as reinforcement learning exemplified in Non-Patent
However, when learning about system configurations, since there are many different system configurations, it is conceivable that the system configuration targeted at the time of system design may differ from the system configuration targeted at the time of learning. Even if the system configuration targeted at the time of system design differs from the system configuration targeted at the time of learning, it is preferable to be able to carry out effective learning.
本発明は、上述の課題を解決することのできるシステム設計学習装置、システム設計学習方法およびプログラムを提供することを目的としている。 The present invention aims to provide a system design learning device, a system design learning method, and a program that can solve the above-mentioned problems.
本発明の第1の態様によれば、システム設計学習装置は、システム要件を示される設計対象システムに対して、その設計対象システムの部品への変換規則の適用を繰り返すことによるシステム設計を、そのシステム設計の設計結果が得られるまで行う変換規則適用手段と、前記設計結果に基づいて、前記システム設計に対する評価値を決定する設計評価手段と、前記システム設計に対する評価値に基づいて、前記システム設計における個々の部品の変換に関する評価値を決定する規則適用評価手段と、前記部品の変換に関する評価値を含む学習データに基づいて、前記変換規則の適用対象となる部品の選択について学習する学習手段と、を備える。 According to a first aspect of the present invention, a system design learning device includes a conversion rule application means for performing system design by repeatedly applying conversion rules to components of a system to be designed, the components being designated as 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 for the conversion of each component in the system design based on the evaluation value for the system design, and a learning means for learning about the selection of components to which the conversion rules are applied, based on learning data including the evaluation values for the conversion of the components.
本発明の第2の態様によれば、コンピュータが、システム設計学習方法は、システム要件を示される設計対象システムに対して、その設計対象システムの部品への変換規則の適用を繰り返すことによるシステム設計を、そのシステム設計の設計結果が得られるまで行うことと、前記設計結果に基づいて、前記システム設計に対する評価値を決定することと、前記システム設計に対する評価値に基づいて、前記システム設計における個々の部品の変換に関する評価値を決定することと、前記部品の変換に関する評価値を含む学習データに基づいて、前記変換規則の適用対象となる部品の選択について学習することと、を含む。 According to a second aspect of the present invention, a system design learning method by a computer includes: performing system design by repeatedly applying conversion rules to components of a system to be designed, for a system to be designed, whose system requirements are given, 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 for the conversion of each component in the system design based on the evaluation value for the system design; and learning about selection of components to which the conversion rules are to be applied based on learning data including the evaluation values for the conversion of the components.
本発明の第3の態様によれば、プログラムは、コンピュータに、システム要件を示される設計対象システムに対して、その設計対象システムの部品への変換規則の適用を繰り返すことによるシステム設計を、そのシステム設計の設計結果が得られるまで行うことと、前記設計結果に基づいて、前記システム設計に対する評価値を決定することと、前記システム設計に対する評価値に基づいて、前記システム設計における個々の部品の変換に関する評価値を決定することと、前記部品の変換に関する評価値を含む学習データに基づいて、前記変換規則の適用対象となる部品の選択について学習することと、を実行させるためのプログラムである。 According to a third aspect of the present invention, the program causes a computer to perform the following steps: design a system by repeatedly applying conversion rules to components of a system to be designed, for which system requirements are given, until a design result of the system design is obtained; determine an evaluation value for the system design based on the design result; determine an evaluation value for the conversion of each component in the system design based on the evaluation value for the system design; and learn about the selection of components to which the conversion rules are to be applied based on learning data including the evaluation values for the conversion of the components.
この発明によれば、システム設計時に対象となるシステム構成が学習時に対象となるシステム構成と異なる場合であっても有効な学習を行えると期待される。 This invention is expected to enable effective learning even if the system configuration targeted during system design differs from the system configuration targeted during learning.
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 The following describes embodiments of the present invention, but the following embodiments do not limit the scope of the invention. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
<第1実施形態>
図1は、第1実施形態に係るシステム設計学習装置の機能構成を示す概略ブロック図である。図1に示す構成で、システム設計学習装置100は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部190とを備える。制御部190は、変換規則適用部191と、設計評価部192と、規則適用評価部193と、学習データ生成部194と、学習部195とを備える。
First Embodiment
Fig. 1 is a schematic block diagram showing the functional configuration of a system design learning apparatus according to the first embodiment. In the configuration shown in Fig. 1, the system
システム設計学習装置100は、システム設計を自動的または半自動的に行う。そして、システム設計学習装置100は、システム設計の結果に基づいて、システム設計の処理を学習する。システム設計学習装置100は、学習結果を用いたシステム設計と、システム設計の結果を用いた学習とを繰り返す。
システム設計学習装置100は、パソコン(Personal Computer;PC)またはワークステーション(Workstation)などのコンピュータを用いて構成されていてもよい。あるいは、システム設計学習装置100がASIC(Application Specific Integrated Circuit)を用いて構成されるなど、システム設計学習装置100専用のハードウェアを用いて構成されていてもよい。
The system
The system
システム設計では、システム設計学習装置100は、設計対象システムのシステム要件を取得する。ここでいうシステム要件は、システムが備えるべき構成を記述した情報である。
システム設計学習装置100に入力されるシステム要件では、設計対象システムの構成要素を抽象的に記述することが可能である。システム設計学習装置100は、取得したシステム要件に対して、予め定められた変換規則を繰り返し適用することで、システムを配備(Deployment)可能なレベルにまでシステム要件を具体化する。
In the system design, the system
The components of the system to be designed can be described abstractly in the system requirements input to the system
具体的には、設計対象システムは1つ以上の部品を含んで構成される。システム設計学習装置100は、設計対象システムに含まれる部品の何れか1つを選択し、選択した部品を具体化する変換規則を適用する。システム設計学習装置100は、部品の選択および変換規則の適用を繰り返すことでシステム設計を行う。
Specifically, the system to be designed is composed of one or more components. The system
ここでいう部品は、あるシステムの一部を構成可能な部分である。システム設計学習装置100が行うシステム設計では、部品に対して変換規則が適用され、設計対象システムが部品単位で具体化される。システム要件に示されるシステムの部品を、システム要件の部品とも称する。
また本開示において、「部品」は、成果物として求めたいシステムの構成に応じて、それ以上は具体的な構成に変換できない程度まで最大限具体化された構成を表す場合や、所望の程度まで具体化された構成(例えばある機能を実現する機能モジュール)を表す場合等が想定される。このため個々の部品の具体化の度合いは、一義的に定まるものではない。また、「部品」は、例えば「サーバ」等の単位で定義されてもよいし、より細かく、例えば「CPU」、「メモリ」、「ハードディスク」等の単位で定義されてもよいし、より粗く、例えば「顔認識を行うシステム」等の単位で定義されてもよい。このため個々の部品が定義される単位は、一義的に定まるものではない。
The components referred to here are parts that can constitute a part of a system. In the system design performed by the system
In addition, in this disclosure, it is assumed that a "component" may represent a configuration that is specified to the maximum extent that it cannot be converted into a more specific configuration, or a configuration that is specified to a desired extent (e.g., a functional module that realizes a certain function), depending on the configuration of the system desired as a deliverable. Therefore, the degree of specification of each component is not uniquely determined. Furthermore, a "component" may be defined in units such as "server", or more precisely in units such as "CPU", "memory", "hard disk", or more coarsely in units such as "system that performs face recognition". Therefore, the unit in which each component is defined is not uniquely determined.
以下では、システム設計学習装置100が対象とするシステムがICT(Information and Communication Technology、情報通信技術)システムである場合を例に説明する。ただし、システム設計学習装置100が対象とするシステムの分野は特定の分野に限定されない。
システム要件に変換規則を適用することを変換と称する。システム要件に変換規則を複数回適用してもよいことを明示する場合、変換系列と称する。したがって、変換系列は、1つ以上の変換の直列接続で示される。
In the following, a case will be described in which the system targeted by the system
The application of a transformation rule to a system requirement is called a transformation. When it is specified that a transformation rule may be applied multiple times to a system requirement, it is called a transformation sequence. Thus, a transformation sequence is represented by a serial connection of one or more transformations.
図2は、システム設計学習装置100が扱うシステム要件の例を示す図である。図2は、システム設計学習装置100が不審者検知システムを設計する場合の、設計対象のシステム要件の例を示している。
図2の例では、システム設計学習装置100が扱うシステム要件が有向グラフの形式で記述され、ノードおよびエッジのそれぞれに、属性情報が付加されている。ノードおよびエッジの何れも部品の例に該当する。
Fig. 2 is a diagram showing an example of system requirements handled by the system
2, the system requirements handled by the system
例えば、ノードには、そのノードが示す機能または機器などの名称または識別情報が属性情報として付加されていてもよい。図2の例の場合、ノードN101は、カメラ機能(撮影機能)を示す。ノードN102およびN109は、何れもネットワークスイッチを示す。ノードN103およびN110は、何れもルータを示す。ノードN104は、顔認証機能を示す。ノードN105は、クラウド基盤を示す。ノードN106は、WAN(Wide Area Network、広域通信網)を示す。ノードN107は、モニタ機能(画像表示機能)を示す。ノードN108は、サーバ装置を示す。 For example, a node may be assigned the name or identification information of the function or device that the node represents as attribute information. In the example of FIG. 2, node N101 represents a camera function (photographing function). Nodes N102 and N109 both represent network switches. Nodes N103 and N110 both represent routers. Node N104 represents a face recognition function. Node N105 represents a cloud platform. Node N106 represents a WAN (Wide Area Network). Node N107 represents a monitor function (image display function). Node N108 represents a server device.
また、ノードには、そのノードの抽象度も属性情報として付加されていてもよい。図2の例の場合、ノードN101、N104、N105、および、N107は、抽象的なノードである。一方、ノードN102、N103、N106、N108、N109、および、N110は、具体的なノードである。ここで、抽象的なノードとは、予め定められた変換規則を少なくとも1回参照することにより、現在よりも具体的な構成を表すノードに変換できるノードである。一方、具体的なノード(即ち、配備可能なレベルに具体化されたノード)は、当該変換規則を参照しても、これ以上は具体的な構成を表すノードには変換することができないノードである。 The node may also have its abstraction level added as attribute information. 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 one by referring to a predetermined conversion rule at least once. Meanwhile, a concrete node (i.e., a node that has been concretized 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.
システム設計学習装置100は、抽象的なノードを具体化するように、システム要件に当該変換規則を適用する。例えば、システム設計学習装置100は、図2に例示されるシステム要件に、カメラ機能を示すノードN101を、カメラ(撮像装置)のノードと、カメラを制御する制御装置のノードとを含む部分グラフ(Subgraph)に変換する変換規則を適用してもよい。
The system
また、図2の例では、エッジE101、E105、および、E109のそれぞれの属性情報「join」と、エッジE103およびE107のそれぞれの属性情報「http」が示されている。「join」は、所属関係を示す。例えば、ノードN101が示すカメラ機能は、ノードN102が示すネットワークスイッチが形成するLAN(Local Area Network)に含まれる。ノードN104が示す顔認証機能は、ノードN105が示すクラウド基盤上に設けられる。ノードN107が示すモニタ機能は、ノードN108が示すサーバ装置を用いて制御される。 In the example of FIG. 2, the attribute information "join" of each of the edges E101, E105, and E109, and the attribute information "http" of each of the edges E103 and E107 are shown. "Join" indicates an affiliation relationship. For example, the camera function indicated by node N101 is included in the LAN (Local Area Network) formed by the network switch indicated by node N102. The face recognition function indicated by node N104 is provided on the cloud platform indicated by node N105. The monitor function indicated by node N107 is controlled using the server device indicated by node N108.
「http」は、HTTP(Hyper Text Transfer Protocol)を用いた通信を示す。例えば、エッジE103は、ノードN101が示すカメラ機能からノードN105が示す顔認証機能へ、HTTPでデータを送信することを示している。エッジE107は、ノードN105が示す顔認証機能からノードN107が示すモニタ機能へ、HTTPでデータを送信することを示している。 "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.
また、エッジにも、そのエッジの抽象度も属性情報として付加されていてもよい。図2の例の場合、エッジE101、E103、E105、E107およびE109は、抽象的なエッジである。一方、エッジE102、E104、E106、E108、E110およびE111は、具体的なエッジである。ここで、抽象的なエッジとは、予め定められた変換規則を少なくとも1回参照することにより、現在よりも具体的な構成を表すエッジに変換できるエッジである。一方、具体的なエッジは、当該変換規則を参照しても、これ以上は具体的な構成を表すエッジには変換することができないエッジ(即ち、配備可能なレベルに具体化されたエッジ)である。 The edge may also have its abstraction level added as attribute information. In the example of FIG. 2, edges E101, E103, E105, E107, and E109 are abstract edges. On the other hand, 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. On the other hand, 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).
システム設計学習装置100が用いる変換規則には、エッジを具体化する変換規則が含まれていてもよい。
図3は、変換規則適用前のシステム要件の例を示す図である。
図3に示されるシステム要件では、ノードN201が示すカメラ機能が、ノードN202が示すワークステーションに接続される。また、ノードN203が示す顔認証機能が、ノードN204が示すワークステーション上で実行される。エッジE201は、ノードN201が示すカメラ機能から、ノードN203が示す顔認証機能へ、HTTPでデータを送信することを示していることとする。
The conversion rules used by the system
FIG. 3 is a diagram showing an example of system requirements before the conversion rules are applied.
3, a camera function indicated by node N201 is connected to a workstation indicated by node N202. A face recognition function indicated by node N203 is executed on a workstation indicated by node N204. An edge E201 indicates that data is transmitted by HTTP from the camera function indicated by node N201 to the face recognition function indicated by node N203.
図4は、変換規則適用後のシステム要件の例を示す。図4は、図3に示されるシステム要件に変換規則を適用した例を示している。
図4では、図3のエッジE201に代えて、エッジE211が設けられている。エッジE211は、ノードN202が示すワークステーションから、ノードN204が示すワークステーションへTCP(Transmission Control Protocol)を用いてデータを送信することを示していることとする。即ち、図4は、図3のシステム要件に対する変換規則の適用により、HTTPを用いた通信が、TCPを用いた通信に具体化する変換が行われたことが表されている。
4 shows an example of system requirements after applying the conversion rules. FIG. 4 shows an example of applying the conversion rules to the system requirements shown in FIG.
In Fig. 4, an edge E211 is provided instead of the edge E201 in Fig. 3. The edge E211 indicates that data is transmitted from the workstation indicated by node N202 to the workstation indicated 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 conversion from communication using HTTP to communication using TCP.
ただし、システム設計学習装置100が対象とするシステムは、部品を含むいろいろなシステムとすることができる。システム設計学習装置100が対象とするシステムの表現方法は、部品の種類を特定して変換規則を適用可能ないろいろな表現方法とすることができる。
However, the system targeted by the system
予め定められた複数の変換規則のうち、システム設計学習装置100がシステム要件にどの変換規則を適用するかによって、さらには、システム設計学習装置100がシステム要件に複数の変換規則を適用する順番によって、変換後のシステム要件が表す内容(構成)が異なるという事象が生じる。特に、システム要件に適用する変換規則によって、さらには、システム要件に複数の変換規則を適用する順番によって、システム設計学習装置100がシステム設計に成功する場合と、失敗する場合とに分かれる。換言すると、システム設計学習装置100の目的は、システムを配備(Deployment)可能なレベルにシステム要件を具体化することである。しかしながら、システム設計学習装置100は、システムの構成要素の一部が抽象的に記述されたままであるのに、それ以上は適用可能な変換規則が無くなることは、典型的(原則的)には、システム設計学習装置100によるシステム設計の失敗を意味する。
Depending on which of the multiple predetermined conversion rules the system
システム設計学習装置100がシステム設計に成功する可能性を高めるために、システム要件に対して適用する変換規則を学習しておくことが考えられる。ただし、一般的にシステムの規模および構成はさまざまであることに起因して、有効な学習を行えないことが考えられる。
例えば、システム要件の入力に対して、適用する一連の変換規則を出力するシステム設計モデルを学習する場合、システム設計時に対象となるシステム構成が学習時に対象となるシステム構成と異なることが考えられる。これにより、システム設計時に与えられるシステム要件が、学習データとして与えられるシステム要件と異なり、適用すべき一連の変換規則を適切に決定できないことが考えられる。
In order to increase the possibility that the system
For example, when learning a system design model that outputs a set of conversion rules to be applied to input system requirements, it is possible that the system configuration that is the target at the time of system design differs from the system configuration that is the target at the time of learning. As a result, it is possible that the system requirements given at the time of system design differ from the system requirements given as learning data, and it is impossible to appropriately determine the set of conversion rules to be applied.
そこで、システム設計学習装置100は、変換規則の適用の繰り返しによるシステム設計の結果に基づいて、個々の変換規則の適用に対する評価を決定する。そして、システム設計学習装置100は、変換規則の適用に対する評価を、変換規則の適用対象の部品ごとに集計して、部品に対する評価を決定する。システム設計学習装置100は、部品に対する評価を用いて、システム要件の入力に対して、そのシステム要件に示される部品ごとの評価を出力する部品評価モデルを学習する。
The system
そして、システム設計学習装置100は、学習した部品評価モデルを用いて、入力されるシステム要件に対して変換規則の適用を繰り返すことによるシステム設計を行う。
システム設計学習装置100が、部品評価モデルを用いて、現在のシステム要件に1つの変換規則を適用して得られるシステム要件を評価するようにしてもよい。そして、システム設計学習装置100が、現在のシステム要件に適用可能な変換規則のうち、変換規則適用後のシステム要件の評価が最も高くなる変換規則を選択し適用するようにしてもよい。
Then, the system
The system
あるいは、システム設計学習装置100が、現在のシステム要件の部品のうち、評価が最も高い部品を、変換規則適用対象の部品として選択するようにしてもよい。
ここでいう現在のシステム要件は、システム設計学習装置100に入力されるシステム要件、または、当該入力されるシステム要件に変換規則を適用したシステム要件である。システム要件の評価は、例えばシステム要件に含まれる部品の評価値の最大値にて算出される。
あるいは、システム設計学習装置100が、システム要件の評価値として、そのシステム要件に含まれる部品の評価値の合計、または、最小値など、最大値以外の値を算出するようにしてもよい。
Alternatively, the system
The current system requirement here is the system requirement input to the system
Alternatively, the system
システム設計学習装置100が対象とする分野で用いられるシステムの構成がシステムごとに異なっていても、共通の部品、あるいは、類似する部品が用いられることが期待される。システム設計学習装置100が、部品単位で変換に関する学習を行うことで、システム設計時に対象となるシステムに用いられる部品と同一の部品または類似の部品が、学習時に対象となるシステムにも用いられていることが期待される。この点で、システム設計学習装置100が、部品単位で変換に関する学習を行うことで、システム設計時に対象となるシステム構成が学習時に対象となるシステム構成と異なる場合でも有効な学習を行うことができる。
Even if the configurations of systems used in the field targeted by the system
通信部110は、他の装置と通信を行う。例えば通信部110が、設計対象となるシステム要件を他の装置から受信するようにしてもよい。
表示部120は、例えば液晶パネルまたはLED(Light Emitting Diode、発光ダイオード)パネル等の表示画面を備え、各種画像を表示する。例えば、表示部120が、システム設計学習装置100がシステム設計に成功したか否か、および、システム設計に成功した場合のシステム要件を示すなど、システム設計学習装置100によるシステム設計の結果を表示するようにしてもよい。
操作入力部130は、例えばキーボードおよびマウス等の入力デバイスを備え、ユーザ操作を受け付ける。例えば操作入力部130が、システム設計を開始するよう指示するユーザ操作を受け付けるようにしてもよい。
The
The
The
記憶部180は、各種データを表示する。例えば記憶部180は、部品評価モデル、入力されるシステム要件および現在のシステム要件などのシステム要件、および、適用規則を記憶する。記憶部180は、システム設計学習装置100が備える記憶デバイスを用いて構成される。
制御部190は、システム設計学習装置100の各部を制御して各種処理を行う。制御部190の機能は、システム設計学習装置100が備えるCPU(Central Processing Unit、中央処理装置)が記憶部180からプログラムを読み出して実行することで実行される。
The
The
変換規則適用部191は、システム要件を示される設計対象システムに対して、その設計対象システムの部品への変換規則の適用を繰り返すことによるシステム設計を、そのシステム設計の設計結果が得られるまで行う。変換規則適用部191は、変換規則適用手段の例に該当する。
システム設計の成功(システム設計に成功すること)には、システムを配備可能なレベルで具体化されたシステム要件を得られることが含まれる。
The conversion
Successful system design involves getting the system requirements specified at a level where the system can be deployed.
システム設計の失敗(システム設計に失敗すること)には、システムを配備可能なレベルで具体化されたシステム要件を得られないことが確定することが含まれる。例えば、システム要件が、システムを配備可能なレベルまで具体化されておらず、かつ、そのシステム要件に適用可能な変換規則がない場合、変換規則適用部191は、システム設計に失敗したと判定する。
A system design failure (failure to design a system) includes determining that system requirements cannot be specified to a level at which the system can be deployed. For example, if the system requirements are not specified to a level at which the system can be deployed and there are no conversion rules that can be applied to the system requirements, the conversion
また、変換規則によっては、システム要件に対する変換規則の適用がループに陥ることが考えられる。システム要件に適用可能な変換規則がある場合でも、ループを形成しない変換系列(1回以上の変換規則の適用)が無い場合、変換規則適用部191は、システム設計に失敗したと判定する。
In addition, depending on the conversion rule, it is possible that the application of the conversion rule to the system requirements will result in a loop. Even if there is a conversion rule that can be applied to the system requirements, if there is no conversion sequence that does not form a loop (application of the conversion rule one or more times), the conversion
変換規則適用部191が、システム設計における変換規則の適用を所定回数繰り返してもシステム設計に成功していない場合についても、システム設計に失敗したと判定するようにしてもよい。すなわち、システム設計の失敗に、システム設計における変換規則の適用を所定回数繰り返してもシステム設計に成功しないことが含まれていてもよい。
The conversion
変換規則適用部191は、システム設計を行う際、システム設計の履歴情報を生成する。変換規則適用部191が生成する履歴情報は、システム要件の評価値、および、システム要件に含まれる部品の評価値を決定し、学習データを生成するために用いられる。
図5は、変換規則適用部191が生成するシステム設計の履歴情報の例を示す図である。図5の例で、変換規則適用部191は、システム設計の履歴情報として構成パスと部品パスとを生成している。
When designing a system, the conversion
Fig. 5 is a diagram showing an example of system design history information generated by the conversion
構成パスは、初期のシステム要件から最終のシステム要件まで、変換規則が適用されるごとのシステム要件を時系列に示す。ここでいう初期のシステム要件は、システム設計の対象のシステム要件として、システム設計学習装置100に与えられるシステム要件である。初期のシステム要件は、システム設計学習装置100の外部から与えられてもよい。あるいは、システム設計学習装置100が、学習データ取得用の初期のシステム要件を生成するようにしてもよい。
ここでいう最終のシステム要件は、システム設計の設計結果が得られたときのシステム要件である。ここでいうシステム設計の設計結果は、システム設計について評価可能な何らかの結果とすることができる。以下では、設計結果として、システム設計の成功または失敗の結果が得られた場合を例に説明するが、これに限定されない。
The configuration path shows the system requirements in chronological order, from the initial system requirements to the final system requirements, each time the conversion rule is applied. The initial system requirements here are system requirements provided to the system
The final system requirements here are 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, an example will be described in which the design result is a success or failure of the system design, but this is not limiting.
図5の例では、初期のシステム要件から最終のシステム要件を得られるまでの変換規則の適用回数をN回としている。Nは正の整数である。
図5の例では、構成パスは、N+1個のシステム要件の時系列データとして構成されている。部品パスは、N個の部品の時系列データとして構成されている。
部品パスに示される、i回目の変換対象の部品は、構成パス中で時系列順にi個目のシステム要件に含まれる。ここでは、iは、1≦i≦Nの整数である。
5, the number of times that the conversion rules are applied from the initial system requirements to the final system requirements is set to N, where N is a positive integer.
5, the configuration path is configured as time-series data of N+1 system requirements, and the part path is configured as time-series data of N parts.
The component to be converted the i-th time, which is indicated in the component path, is included in the i-th system requirement in chronological order in the configuration path, where i is an integer such that 1≦i≦N.
最終のシステム要件は、変換規則をN回適用した後のシステム要件に該当する。最終のシステム要件では、システム設計の成功または失敗の結果が得られるので、設計評価部192が、1回のシステム設計に対する評価値を決定することができる。例えば、設計評価部192が、システム設計の結果が成功の場合は、1回のシステム設計の評価値を1にし、システム設計の結果が失敗の場合は、1回のシステム設計の評価値を0にするようにしてもよい。
The final system requirements correspond to the system requirements after applying the conversion rules N times. The final system requirements result in the success or failure of the system design, so the
初期のシステム要件から最終のシステム要件に至るまでの一連の、部品選択と変換規則適用との繰り返しを、1回のシステム設計、または単にシステム設計と称する。
変換規則適用部191が、システム設計の履歴情報として、システム要件の履歴および変換規則の適用対象の部品の履歴に加えて、適用された変換規則の履歴を示す履歴情報を生成するようにしてもよい。
A series of iterations of component selection and application of transformation rules from the initial system requirements to the final system requirements is called a system design round, or simply system design.
The conversion
設計評価部192は、システム設計の設計結果に基づいて、システム設計に対する評価値を決定する。上記のように、変換規則適用部191がシステム設計に成功した場合、設計評価部192が、システム設計の評価値を1に決定するようにしてもよい。変換規則適用部191がシステム設計に失敗した場合、設計評価部192が、システム設計の評価値を0に決定するようにしてもよい。
設計評価部192は、設計評価手段の例に該当する。
The
The
設計評価部192が、システム設計の成功または失敗の結果に加えて、変換規則適用部191がシステム設計に成功した場合、得られたシステムの評価指標値に基づいて、システム設計に対する評価値を決定するようにしてもよい。ここでのシステムの評価指標値としていろいろな種類の評価指標値を用いることができる。例えば、設計評価部192が、システムの処理速度の評価指標値、信頼性の評価指標値、構築コストの評価指標値、運用コストの評価指標値、またはこれらの組み合わせを用いるようにしてもよいが、これらに限定されない。
The
設計評価部192が、システムに用いられる部品に基づいてシステムの評価指標値を算出する計算式を予め記憶しておくようにしてもよい。あるいは、設計評価部192が、システム要件の入力に対してシステムの評価指標値を出力するモデルを学習にて予め取得しておくようにしてもよい。
The
規則適用評価部193は、システム設計に対する評価値に基づいて、システム設計における個々の部品の変換に関する評価値を決定する。具体的には、規則適用評価部193は、システム設計の複数の履歴を同一の部品について統合したデータに基づいて、部品の変換に関する評価値を部品ごとに決定する。システム設計の複数の履歴を同一の部品について統合したデータを、統合データと称する。
規則適用評価部193は、規則適用評価手段の例に該当する。
The rule
The rule
図6は、統合データの例を示す図である。図6は、統合データが木(Tree)で示される場合の例を示している。図6に例示される木のノードはシステム要件を示し、エッジは変換規則を示す。エッジは、変換規則適用前のノードから変換規則適用後のノードへの向きに張られる。1つのノードから出る複数のエッジは、同一のシステム要件に適用可能な複数の変換規則を示す。 Figure 6 is a diagram showing an example of integrated data. Figure 6 shows an example of integrated data displayed as a tree. The nodes of the tree shown in Figure 6 represent system requirements, and the edges represent transformation rules. The edges are extended from the node before the transformation rule is applied to the node after the transformation rule is applied. Multiple edges coming out of one node represent multiple transformation rules that can be applied to the same system requirement.
ノードN301は、根(Root)である。ノードN302は、葉(Leaf)の1つである。例えばノードN301からノードN302までの経路のように、根から葉までの1つの経路は、1つのシステム設計を示す。この場合、葉が示すシステム要件が配備可能なレベルに具体化されていれば、設計評価部192は、システム設計の結果を成功と評価する。一方、葉が示すシステム要件が配備可能なレベルまでは具体化されていなければ、設計評価部192は、システム設計の結果を失敗と評価する。
Node N301 is the root. Node N302 is one of the leaves. For example, one path from the root to a leaf, such as the path from node N301 to node N302, represents one system design. In this case, if the system requirements represented by the leaf are specified to a deployable level, the
システム設計開始時のノードは、根に限定されない。例えば、設計対象のシステム要件としてある程度具体化されたシステム要件がシステム設計学習装置100に入力される場合、根以外のノードがシステム設計開始時のノードになり得る。
また、システム設計終了時のノードは、葉に限定されない。例えば、変換規則の1つとして、具体化された部品を具体化された別の部品に置き換える規則が含まれている場合、葉以外のノードでシステム要件が配備可能なレベルに具体化されてシステム設計が終了となることが考えられる。
The node at the start of system design is not limited to the root. For example, when system requirements that are specified to a certain extent as system requirements to be designed are input to the system
In addition, the node at the end of the system design is not limited to a leaf. For example, if one of the transformation rules includes a rule to replace an instantiated part with another instantiated part, the system design may end with the system requirements instantiated to a deployable level at a node other than a leaf.
統合データは、システム設計に用いられる変換規則に応じて、木に限定されずいろいろな有効グラフで表され得る。例えば、第一のシステム要件に対して、異なる変換系列の何れを適用しても同じ第二のシステム要件を得られる場合、統計データでは、第一ノードから第二ノードへの経路が複数存在することになる。この場合、統合データがラティス(Lattice)で示されていてもよい。 The integrated data can be represented by various directed graphs, not limited to trees, depending on the transformation rules used in the system design. For example, if the same second system requirement can be obtained by applying different transformation sequences to a first system requirement, then in the statistical data, there will be multiple paths from the first node to the second node. In this case, the integrated data may be represented as a lattice.
また、あるシステム要件に変換規則を1回以上適用してそのシステム要件に戻るような変換規則がある場合、統合データがループを含む有効グラフで示されていてもよい。このようなループから抜け出す経路が無く、かつ、ループに含まれる何れのノードでも配備可能なレベルに具体化されたシステム要件を得られない場合、設計評価部192が、そのループに含まれるノードについてシステム設計の結果を失敗と評価するようにしてもよい。
In addition, if there is a conversion rule that applies the conversion rule one or more times to a certain system requirement and returns to the system requirement, the integrated data may be represented as an effective graph that includes a loop. If there is no path out of such a loop and none of the nodes included in the loop can obtain a system requirement that is specified to a deployable level, the
統合データが互いに独立した2つ以上の部分グラフを含んでいてもよい。ここでいう、2つの部分グラフが互いに独立していることは、2つの部分グラフのうち第一の部分グラフから第二の部分グラフに至る経路が無く、かつ、第二の部分グラフから第一の部分グラフに至る経路も無いことである。例えば、統合データが森(Forest)で示されていてもよい。 The integrated data may include two or more subgraphs that are independent of each other. In this case, two subgraphs are independent of each other if there is no path from the first subgraph to the second subgraph, and no path from the second subgraph to the first subgraph. For example, the integrated data may be represented as a forest.
図7は、統合データにおけるノードと部品との対応関係の例を示す図である。図7に示されるシステム要件が、統合データではノードで示される。
図7の例では、変換規則適用前のシステム要件が3つの部品P11、P12およびP13を備えている。部品P11には、3つの変換規則R11、R12およびR13を適用可能である。部品P12には、1つの変換規則R14を適用可能である。部品P13には、2つの変換規則R15およびR16を適用可能である。
7 is a diagram showing an example of the correspondence between nodes and parts in the 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 application of the conversion rules include three parts P11, P12, and P13. Three conversion rules R11, R12, and R13 can be applied to the part P11. One conversion rule R14 can be applied to the part P12. Two conversion rules R15 and R16 can be applied to the part P13.
上述したように、統合データのエッジは変換規則を示す有向エッジである。この有向エッジの始端(始点側の端部)は、変換前のシステム要件を示すノードに接続され、終端(終点側の端部)は、変換後のシステム要件を示すノードに接続される。
また、1つのノードから出るエッジは、図7に例示されるように、そのノードが示すシステム要件に含まれる部品ごとにグルーピングされる。このグルーピングが統合データに示されていてもよい。例えば、図7のように、統合データのノードに構成要件の部品が示され、エッジの始点が何れかの部品に接続されることで、グルーピングが示されていてもよい。
As described above, the edges of the integrated data are directed edges that indicate the conversion rules. The start end (the end on the starting point side) of the directed edge is connected to a node that indicates the system requirement before conversion, and the end end (the end on the ending point side) is connected to a node that indicates the system requirement after conversion.
In addition, edges coming out of one node are grouped for each component included in the system requirement indicated by the node, as exemplified in Fig. 7. This grouping may be indicated in the integrated data. For example, as shown in Fig. 7, components of the configuration requirements may be indicated in the nodes of the integrated data, and the starting point of an edge may be connected to one of the components to indicate the grouping.
システム要件が備える部品の個数、1つの部品に適用可能な変換規則の個数は、何れも特定の個数に限定されない。システム要件が備える部品の個数は、変換規則の適用前と適用後とで異なっていてもよい。部品に適用可能な変換規則の個数は、部品ごとに異なっていてもよい。 The number of components in a system requirement and the number of conversion rules that can be applied to one component are not limited to a specific number. The number of components in a system requirement may be different before and after the application of the conversion rules. The number of conversion rules that can be applied to a component may be different for each component.
また、図7の例では、システム設計学習装置100が、システム要件の評価値、および、システム要件における部品ごとの評価値を算出することを示している。
システム要件の評価値は、統合データにおけるノードに書き込まれる。
一方、システム要件における部品ごとの評価値は、学習データの生成時に算出され、学習データに組み込まれる。
統合データのノードには、システム要件における部品の評価値の格納領域を設ける必要はない。
Further, the example of FIG. 7 shows that the system
The evaluation values of the system requirements are written to nodes in the integrated data.
On the other hand, the evaluation value for each component in the system requirements is calculated when the learning data is generated and incorporated into the learning data.
There is no need to provide a storage area for the evaluation values of parts in the system requirements in the nodes of the integrated data.
学習データ生成部194は、部品評価モデルの学習のための学習データを生成する。特に、学習データ生成部194は、部品の変換に関する評価値を含む学習データを生成する。具体的には、学習データ生成部194は、システム要件と、そのシステム要件に含まれる部品のうち何れかの部品と、そのシステム要件におけるその部品の評価値と、を含む学習データを生成する。
The learning
学習部195は、学習データ生成部194が生成する、部品の変換に関する評価値を含む学習データに基づいて、変換規則の適用対象となる部品の選択について学習する。具体的には、学習部195は、部品評価モデルの学習を行う。
学習部195は、学習手段の例に該当する。
The
The
あるいは、システム設計学習装置100が行うシステム設計に共通して変換規則が予め定められている場合、学習部195が、システム要件に適用する変換規則の選択について学習するようにしてもよい。すなわち、学習部195が、システム要件に含まれる部品の選択からさらに細分化された、その部品に適用可能な変換規則の選択について学習するようにしてもよい。具体的には、学習部195が、システム要件の入力を受けてそのシステム要件に適用可能な変換規則のそれぞれの評価値を出力する変換規則評価モデルの学習を行うようにしてもよい。
Alternatively, when conversion rules are previously determined commonly for the system designs performed by the system
図8は、システム設計学習装置100が学習データを生成して学習を行う処理手順の例を示すフローチャートである。
図8の処理で、システム設計学習装置100は、学習対象のシステム要件を取得する(ステップS11)。システム設計学習装置100が、設計対象のシステム要件として与えられるシステム要件を、学習対象のシステム要件としても用いるようにしてもよい。あるいは、システム設計学習装置100が、設計対象のシステム要件とは別に、学習対象のシステム要件を取得するようにしてもよい。
FIG. 8 is a flowchart showing an example of a processing procedure in which the system
In the process of Fig. 8, the system
次に、制御部190は、学習の終了条件が成立しているか否かを判定する(ステップS12)。学習の終了条件は、学習時間、学習回数(ステップS12からS24のループを繰り返した回数)、学習誤差の大きさ等に基づくものであってもよいが、これらに限定されない。
Next, the
終了条件が成立していると制御部190が判定した場合(ステップS12:YES)、システム設計学習装置100は、図8の処理を終了する。
一方、終了条件が成立していないと制御部190が判定した場合(ステップS12:NO)、変換規則適用部191は、学習対象のシステム要件に対するシステム設計を行う(ステップS21)。具体的には、変換規則適用部191は、学習対象のシステム要件に対して、システム設計成功または失敗の結果を得られるまで変換規則の適用を繰り返す。システム設計の際、変換規則適用部191は、構成パスおよび部品パスを生成する。また、システム設計で出現したシステム要件を示す統合データのノードが無い場合、変換規則適用部191は、システム設計で出現したシステム要件を示すノードを統合データに追加する。
When the
On the other hand, if the
図8では、システム設計学習装置100が、ステップS11でシステム要件を複数取得し、ステップS21で、個々のシステム要件に対する設計を行う場合の例を示している。あるいは、システム設計学習装置100が、ステップS11でシステム要件を取得することに代えて、ステップS21を実行するごとにシステム要件を1つ取得し、取得したシステム要件に対してシステム設計を行うようにしてもよい。
Figure 8 shows an example in which the system
また、システム設計学習装置100が、ステップS21の処理を行うごとに異なるシステム要件に対してシステム設計を行うようにしてもよい。あるいは、システム設計学習装置100が、以前のステップS21の処理でシステム設計を行ったシステム要件と同じシステム要件に対して、以前のステップS21での設計における変換系列とは異なる変換系列によるシステム設計を行うことがあってもよい。
The system
次に、設計評価部192は、変換規則適用部191が行ったシステム設計に対する評価値を決定する(ステップS22)。
例えば、設計評価部192は、変換規則適用部191がシステム設計に成功したか失敗したかに基づいて、システム設計に成功した場合は、システム設計に対する評価値を1に設定し、システム設計に失敗した場合は、システム設計に対する評価値を0に設定する。
あるいは、変換規則適用部191がシステム設計に成功した場合、設計評価部192が、得られたシステムの評価値に基づいて、システム設計に対する評価値を決定するようにしてもよい。
Next, the
For example, based on whether the conversion
Alternatively, if the conversion
次に、規則適用評価部193が、ステップS22で決定されたシステム設計の評価値に基づいて、統合データのノードの評価値を更新する(ステップS23)。例えば、規則適用評価部193は、統合データのノードの評価値を、そのノードの子のノードの評価値のうち最も大きい評価値(評価が最も高い評価値)に決定する。
Next, the rule
次に、規則適用評価部193が、システム要件に含まれる部品の評価値を決定し、部品パス中の各部品の評価値を決定し、学習データ生成部194が学習データを生成して保存する(ステップS24)。
そして、学習部195は、学習データ生成部194が生成した学習データを用いて、部品評価モデルの学習を行う(ステップS25)。上述したように、部品評価モデルは、システム要件の入力に対して、そのシステム要件に示される部品ごとの評価を出力するモデルである。
ステップS25の後、処理がステップS12へ戻る。
Next, the rule
Then, the
After step S25, the process returns to step S12.
図9は、システム設計学習装置100がシステム設計を行う処理手順の例を示すフローチャートである。システム設計学習装置100は、図8のステップS21で図9の処理を行う。図8のステップS21について上述したように、システム設計学習装置100は、システム設計の際に構成パスおよび部品パスを生成し、また、統合データのノードを設定する。
図9の処理では、システム要件を値にとる変数として、「現在の構成」変数および「次の構成」変数を用いる。「現在の構成」変数の値として示されるシステム要件を、「現在の構成」と表記する。「次の構成」変数の値として示されるシステム要件を、「次の構成」と表記する。
Fig. 9 is a flowchart showing an example of a processing procedure for system design performed by the system
In the process of Fig. 9, a "current configuration" variable and a "next configuration" variable are used as variables whose values are system requirements. The system requirement indicated as the value of the "current configuration" variable is referred to as the "current configuration." The system requirement indicated as the value of the "next configuration" variable is referred to as the "next configuration."
図9の処理で、変換規則適用部191は、図8のステップS11で受け取ったシステム要件を「現在の構成」変数に格納する(ステップS101)。すなわち、変換規則適用部191は、「現在の構成」変数の初期値として、図8のステップS11で受け取ったシステム要件を設定する。
次に、変換規則適用部191は、「現在の構成」が統合データにおけるノードとして登録されているか否かを判定する(ステップS102)。例えば、変換規則適用部191は、統合データにおける各ノードに示されるシステム要件と、「現在の構成」とを比較する。
In the process of Fig. 9, the conversion
Next, the conversion
「現在の構成」が統合データにおけるノードとして登録されていないと判定した場合(ステップS102:NO)、変換規則適用部191は、「現在の構成」を統合データにおけるノードとして登録する(ステップS103)。システム要件を統合データにおけるノードとして登録するとは、そのシステム要件を示すノードを新たに設けることである。
次に、変換規則適用部191は、システム設計の終了条件が成立しているか否かを判定する(ステップS104)。例えば、変換規則適用部191が、「現在の構成」に適用できる具体化規則が一つもない場合、あるいは、「現在の構成」が配備可能なレベルまで具体化されている場合に、システム設計の終了条件が成立していると判定するようにしてもよい。
If it is determined that the "current configuration" is not registered as a node in the integrated data (step S102: NO), the conversion
Next, the conversion
終了条件が成立していないと判定した場合(ステップS104:NO)、変換規則適用部191は、「現在の構成」から具体化する部品を一つ選択して変換規則を適用する(ステップS111)。変換規則の適用により、変換規則適用部191は、部品を具体化する。
変換規則適用部191は、ステップS111での変換規則適用後のシステム要件を「次の構成」変数に格納する(ステップS112)。
If it is determined that the termination condition is not satisfied (step S104: NO), the conversion
The conversion
次に、変換規則適用部191は、「次の構成」が統合データにおけるノードとして登録されているか否かを判定する(ステップS113)。例えば、変換規則適用部191は、統合データにおける各ノードに示されるシステム要件と、「次の構成」とを比較する。
「次の構成」が統合データにおけるノードとして登録されていないと判定した場合(ステップS113:NO)、変換規則適用部191は、「次の構成」を統合データにおけるノードとして登録する(ステップS121)。具体的には、変換規則適用部191は、「次の構成」を示すノードを統合データに設ける。そして、変換規則適用部191は、統合データ上で「現在の構成」を示すノードを親ノードとし、「次の構成」を示すノードを子ノードとするエッジをノード間に張る。このエッジは、ステップS111での変換規則の適用を示す。
Next, the conversion
If it is determined that the "next configuration" is not registered as a node in the integrated data (step S113: NO), the conversion
そして、変換規則適用部191は、「次の構成」を、「現在の構成」変数に格納する(ステップS122)。
ステップS122の後、処理がステップS104へ遷移する。
一方、ステップS113で、「次の構成」が統合データにおけるノードとして登録されていると変換規則適用部191が判定した場合(ステップS113:YES)、処理がステップS122に遷移する。したがって、この場合、変換規則適用部191は、ステップS121における統合データのノードを設定する処理は行わない。
Then, the conversion
After step S122, the process proceeds to step S104.
On the other hand, if the conversion
一方、ステップS104で、終了条件が成立していると判定した場合(ステップS104:YES)、変換規則適用部191は、今回の図9の処理で出現したシステム要件を時系列順に並べたものを構成パスとする(ステップS131)。さらに、変換規則適用部191は、構成パス中のシステム要件に含まれる部品のうち、ステップS111で変換規則の適用対象として選択した部品を時系列順に並べたものを部品パスとする(ステップS132)。
ステップS132の後、システム設計学習装置100は、図9の処理を終了する。
On the other hand, if it is determined in step S104 that the termination condition is met (step S104: YES), the conversion
After step S132, the system
一方、ステップS102で、「現在の構成」が統合データのノードとして既に登録されていると変換規則適用部191が判定した場合、処理がステップS104に遷移する。したがって、この場合、変換規則適用部191は、ステップS103における統合データのノードを設定する処理は行わない。
On the other hand, if the conversion
図10は、システム設計学習装置100が統合データのノードに示される評価値を更新する処理手順の例を示すフローチャートである。システム設計学習装置100は、図8のステップS23で図10の処理を行う。
図10の処理では、システム要件の評価値を値にとる変数として「更新候補の評価値」変数を用いる。また、図10の処理では、構成パスに含まれるシステム要件の何れか1つを指すポインタを値にとる変数として「更新対象の構成」変数を用いる。「更新候補の評価値」変数の値として示される評価値を、「更新候補の評価値」と表記する。「更新対象の構成」変数の値が指すシステム要件を「更新対象の構成」と表記する。
10 is a flowchart showing an example of a processing procedure for updating an evaluation value indicated at a node of integrated data by the system
In the process of Fig. 10, an "evaluation value of update candidate" variable is used as a variable that takes as its value the evaluation value of a system requirement. Also, in the process of Fig. 10, a "configuration to be updated" variable is used as a variable that takes as its value a pointer to 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 referred to as the "evaluation value of update candidate." The system requirement pointed to by the value of the "configuration to be updated" variable is referred to as the "configuration to be updated."
図10の処理で、規則適用評価部193は、構成パスの最後のノードが示すシステム要件を、「更新対象の構成」とする(ステップS201)。すなわち、規則適用評価部193は、「更新対象の構成」変数の値が構成パスの最後のノードを指すように、「更新対象の構成」変数の値を設定する。構成パスのノードは、構成パスに含まれる個々のシステム要件である。
また、規則適用評価部193は、「更新候補の評価値」変数の初期値を、図8のステップS22で決定したシステム設計の評価値に設定する(ステップS202)。
10, the rule
Furthermore, the rule
次に、規則適用評価部193は、統合データで「更新対象の構成」を表すノードの評価値を決定する(ステップS203)。統合データのノードの評価値は、そのノードが示すシステム要件の評価値である。
具体的には、規則適用評価部193は、統合データで「更新対象の構成」を表すノードの評価値と、「更新候補の評価値」とを比較する。「更新候補の評価値」のほうが大きい場合、規則適用評価部193は、統合データで「更新対象の構成」を表すノードの評価値を、「更新候補の評価値」に更新する。一方、統合データで「更新対象の構成」を表すノードの評価値のほうが大きい場合、規則適用評価部193は、統合データで「更新対象の構成」を表すノードの評価値をそのままの値とする。
なお、ノードの評価値が未設定の場合、規則適用評価部193は、そのノードの評価値として0が設定されているものと見做して処理を行う。
Next, the rule
Specifically, the rule
If an evaluation value for a node has not been set, the rule
次に、規則適用評価部193は、「更新候補の評価値」の値を更新する(ステップS204)。具体的には、規則適用評価部193は、「更新候補の評価値」に、ステップS203で、統合データで「更新対象の構成」を表すノードの評価値に決定した値を設定する。
次に、規則適用評価部193は、「更新対象の構成」が構成パスの最初のシステム要件か否かを判定する(ステップS205)。
Next, the rule
Next, the rule
「更新対象の構成」が構成パスの最初のシステム要件であると規則適用評価部193が判定した場合(ステップS205:YES)、システム設計学習装置100は、図10の処理を終了する。
一方、「更新対象の構成」が構成パスの最初のシステム要件ではないと判定した場合(ステップS205:NO)、規則適用評価部193は、構成パス上で「更新対象の構成」の一つ前のシステム要件を「更新対象の構成」とする(ステップS211)。
ステップS211の後、処理がステップS203に戻る。
When the rule
On the other hand, 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
After step S211, the process returns to step S203.
図11は、システム設計学習装置100が学習データを生成する処理手順の例を示すフローチャートである。システム設計学習装置100は、図8のステップS24で図11の処理を行う。
図11では、構成パスにおける何れかのシステム要件を指すポインタを値にとる変数として「対象構成」変数を用いる。また、図11の処理では、部品パスにおける何れかの部品を指すポインタを値にとる変数として「対象部品」変数を用いる。「対象構成」変数の値として示されるシステム要件を、「対象構成」と表記する。「対象部品」変数の値として示される部品を、「対象部品」と表記する。
11 is a flowchart showing an example of a processing procedure for generating learning data by the system
In Figure 11, a "target configuration" variable is used as a variable whose value is a pointer to one of the system requirements in the configuration path. Also, in the process of Figure 11, a "target component" variable is used as a variable whose value is a pointer to one of the components in the component path. A system requirement indicated as the value of the "target configuration" variable is referred to as a "target configuration." A component indicated as the value of the "target component" variable is referred to as a "target component."
図11の処理で、学習データ生成部194は、構成パスの最初のシステム要件を「対象構成」とする(ステップS301)。すなわち、学習データ生成部194は、「対象構成」変数の値が構成パスの最初のシステム要件を指すように、「対象構成」変数の値を設定する。
次に、学習データ生成部194は、部品パスの最初の部品を「対象部品」とする(ステップS302)。すなわち、学習データ生成部194は、「対象部品」変数の値が部品パスの最初の部品を指すように、「対象部品」変数の値を設定する。
そして、学習データ生成部194は、統合データで「対象構成」を表すノードを始点とする有向エッジのうち、「対象部品」にグルーピングされている有向エッジを全て列挙する(ステップS303)。
11, the learning
Next, the learning
Then, the learning
学習データ生成部194は、ステップS303で列挙した各有向エッジの終点ノードに記録されている評価値のうち、最大の値のものを、「対象部品」の評価値とする(ステップS304)。
また、学習データ生成部194は、「対象構成」と、「対象部品」と、ステップS304で決定した「対象部品」の評価値との組を学習データとして生成し、生成した学習データを記憶部180に記憶させる(ステップS305)。
The learning
In addition, the learning
また、学習データ生成部194は、「対象部品」が部品パスの最後の部品か否かを判定する(ステップS306)。すなわち、学習データ生成部194は、「対象部品」変数の値が部品パスの最後の部品を指すか否かを判定する。
「対象部品」が部品パスの最後の部品ではないと判定した場合(ステップS306:NO)、学習データ生成部194は、部品パス上で「対象部品」の一つ後の部品を「対象部品」とする(ステップS311)。すなわち、学習データ生成部194は、「対象部品」変数の値を、部品パス上で一つ後の部品を指すように更新する。
また、学習データ生成部194は、構成パス上で「対象構成」の一つ後のシステム要件を「対象構成」とする(ステップS312)。すなわち、学習データ生成部194は、「対象構成」変数の値を、構成パス上で一つ後のシステム要件を指すように更新する。
ステップS312の後、処理がステップS303へ遷移する。
The learning
If it is determined that the "target part" is not the last part in the part path (step S306: NO), the learning
The learning
After step S312, the process proceeds to step S303.
一方、ステップS306で、「対象部品」が部品パスの最後の部品であると判定した場合(ステップS306:NO)、システム設計学習装置100は、図11の処理を終了する。この場合、処理が図8のステップS25に遷移する。
なお、図8のステップS24の開始時点で部品パスが空である場合、システム設計学習装置100は、ステップS24の処理を省略する。この場合、システム設計学習装置100は、図11の処理を行わない。
On the other hand, if it is determined in step S306 that the "target part" is the last part in the part path (step S306: NO), the system
8, if the component path is empty at the start of step S24, the system
図8のステップS25で、学習部195は、学習データ生成部194が生成した学習データのそれぞれを用いて、部品評価モデルの学習を行う。
この学習で、学習部195は、学習データに示されるシステム要件が部品評価モデルに入力された場合に、学習データに示される部品について部品評価モデルが出力する評価値が、学習データに示される部品の評価値に近づくように、部品評価モデルのパラメータ値を更新する。
In step S25 of FIG. 8, the
In this learning, the
図12は、システム設計学習装置100がシステム要件の評価値を算出する処理手順の例を示すフローチャートである。
図12の処理で、規則適用評価部193は、評価対象のシステム要件を取得する(ステップS401)。
FIG. 12 is a flowchart showing an example of a processing procedure in which the system
In the process of FIG. 12, the rule
そして、規則適用評価部193は、図8のステップS25で学習済みの部品評価モデルを用いて、評価対象のシステムに含まれる各部品の評価値を算出する(ステップS402)。
具体的には、規則適用評価部193は、評価対象のシステム要件を部品評価モデルに入力し、部品評価モデルが出力する各部品の評価値を取得する。
Then, the rule
Specifically, the rule
そして、規則適用評価部193は、各部品の評価値を統合して、システム要件全体の評価値を算出する(ステップS403)。規則適用評価部193が、各部品の評価値を統合する方法は、特定の方法に限定されない。例えば、規則適用評価部193が、各部品の評価値を統合した値として、各部品の評価値の最大値、最小値、または平均値の何れかを算出するようにしてもよいが、これらに限定されない。
ステップS403の後、システム設計学習装置100は、図12の処理を終了する。
Then, the rule
After step S403, the system
以上のように、変換規則適用部191は、システム要件を示される設計対象システムに対して、その設計対象システムの部品への変換規則の適用を繰り返すことによるシステム設計を、そのシステム設計の設計結果が得られるまで行う。設計評価部192は、設計結果に基づいて、システム設計に対する評価値を決定する。規則適用評価部193は、システム設計に対する評価値に基づいて、システム設計における個々の部品の変換に関する評価値を決定する。学習部195は、部品の変換に関する評価値を含む学習データに基づいて、変換規則の適用対象となる部品の選択について学習する。
As described above, the conversion
ここで、システム要件の入力に対して、適用する一連の変換規則を出力するシステム設計モデルを学習する方法では、一般的にシステムの規模および構成はさまざまであることに起因して、システム設計時に対象となるシステム構成が学習時に対象となるシステム構成と異なることが考えられる。これにより、システム設計時に与えられるシステム要件が、学習データとして与えられるシステム要件と異なり、適用すべき一連の変換規則を適切に決定できないことが考えられる。このように、システム要件の入力に対して、適用する一連の変換規則を出力するシステム設計モデルを学習する方法では、有効な学習を行えないことが考えられる。 Here, in a method of learning a system design model that outputs a set of conversion rules to be applied in response to input system requirements, it is considered that the system configuration targeted at the time of system design may differ from the system configuration targeted at the time of learning, due to the fact that systems generally vary in scale and configuration. As a result, it is considered that the system requirements given at the time of system design may differ from the system requirements given as learning data, and it may not be possible to appropriately determine the set of conversion rules to be applied. In this way, it is considered that effective learning cannot be performed with a method of learning a system design model that outputs a set of conversion rules to be applied in response to input system requirements.
一方、システム設計学習装置100が対象とする分野で用いられるシステムの構成がシステムごとに異なっていても、共通の部品、あるいは、類似する部品が用いられることが期待される。システム設計学習装置100が、部品単位で変換に関する学習を行うことで、システム設計時に対象となるシステムに用いられる部品と同一の部品または類似の部品が、学習時に対象となるシステムにも用いられていることが期待される。この点で、システム設計学習装置100が、部品単位で変換に関する学習を行うことで、システム設計時に対象となるシステム構成が学習時に対象となるシステム構成と異なる場合でも有効な学習を行うことができる。
On the other hand, even if the configurations of systems used in the field targeted by the system
また、規則適用評価部193は、前記システム設計の複数の履歴を同一のシステム要件について統合したデータに基づいて、部品の変換に関する評価値をシステム要件の部品ごとに決定する。
これにより、システム設計学習装置100は、複数のシステム設計の結果を集約した学習データを用いて、変換規則の適用対象の部品の選択について学習することができる。システム設計学習装置100によればこの点で、高精度に学習を行えると期待される。
Furthermore, the rule
This allows the system
また、上記のシステム設計結果は、システム設計に成功したこと、または、システム設計に失敗したことの何れかを表す。
これにより、学習データ生成部194が、システム設計に成功する変換系列が存在する場合に評価が高くなる学習データを生成し、学習部195が、システム設計に成功する可能性が高くなるように学習を行うことが期待される。
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
ただし、上述したように、システム設計結果は、システム設計に成功したこと、または、システム設計に失敗したことの何れかを表すものに限定されない。
例えば、システム設計結果が、システム設計に成功したこと、システム設計に失敗したこと、システム設計の成否未定の何れかを表すものであってもよい。この場合、設計評価部192が、システム設計に対する評価値を、システム設計に成功した場合、システム設計の成否未定の場合、システム設計に失敗した場合の順に高い評価を示す評価値に決定するようにしてもよい。
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 has been successful, that the system design has failed, or that the success or failure of the system design is undetermined. In this case, the
また、上記のシステム設計に成功したことは、システムを配備可能なレベルで具体化されたシステム要件を得られたことを含む。
これにより、学習データ生成部194が、システムを配備可能なレベルで具体化可能な変換系列が存在する場合に評価が高くなる学習データを生成し、学習部195が、システムを配備可能なレベルで具体化できる可能性が高くなるように学習を行うことが期待される。
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
また、上記のシステム設計に失敗したことは、システムを配備可能なレベルで具体化されたシステム要件を得られないことが確定することを含む。
これにより、学習データ生成部194が、システムを配備可能なレベルで具体化可能な変換系列が存在しない場合に評価が低くなる学習データを生成し、学習部195が、システムを配備可能なレベルで具体化できる可能性が高くなるように学習を行うことが期待される。
Additionally, failure to design the system as described above may include determining whether or not to obtain system requirements specified at a level that allows the system to be deployed.
As a result, it is expected that the learning
また、設計評価部192は、設計結果が、システム設計に成功したことを表す場合、得られたシステムの評価指標値に基づいて、システム設計に対する評価値を決定する。
これにより、システム設計学習装置100は、システム設計の成功または失敗の結果だけでなく、例えば、得られるシステムの性能評価を反映した学習データなど、より詳細な学習データを用いて学習を行うことができる。システム設計学習装置100によればこの点で、高精度に学習を行うことができる。
Furthermore, when the design result indicates that the system design is successful, the
This allows the system
この場合の、システム設計に成功したことは、システムを配備可能なレベルで具体化されたシステム要件を得られたことを含むものであってもよいが、これに限定されない。
システム設計に成功したことが、システムを配備可能なレベルで具体化されたシステム要件を得られことという事象の一部となるように定められていてもよい。例えば、システム設計に成功したことは、システムを配備可能なレベルで具体化されたシステム要件を得られ、かつ、設置スペースに関する所定の条件を満たすことであってもよい。
これにより、学習部195は、システムの具体化の条件に加えて他の条件にも対応できるように学習を行うことができる。
In this case, successful system design may include, but is not limited to, having system requirements specified at a level that allows the system to be deployed.
A successful system design may be defined as being part of an event of obtaining system requirements specified at a level at which the system can be deployed, for example, a successful system design may be obtaining system requirements specified at a level at which the system can be deployed and satisfying a predetermined condition regarding installation space.
This allows the
<第2実施形態>
図13は、第2実施形態に係るシステム設計学習装置の機能構成を示す概略ブロック図である。図13に示す構成で、システム設計学習装置200は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部290とを備える。制御部290は、変換規則適用部191と、設計評価部192と、規則適用評価部193と、学習データ生成部194と、学習部195と、具体化部品検出部296とを備える。
Second Embodiment
Fig. 13 is a schematic block diagram showing the functional configuration of a system design learning apparatus according to the second embodiment. In the configuration shown in Fig. 13, a system
図13の各部のうち図1の各部に対応して同様の機能を有する部分に同一の符号(110、120、130、180、191から195)を付し、ここでは詳細な説明を省略する。
システム設計学習装置200は、制御部290が、制御部190が備える各部に加えてさらに具体化部品検出部296を備える点で、システム設計学習装置100と異なる。また、システム設計学習装置200では、変換規則適用部191が行う処理が、具体化部品検出部296が生成する具体化部品情報を用いる処理に具体化される。
それ以外の点では、システム設計学習装置200はシステム設計学習装置100と同様であり、制御部290は制御部190と同様である。システム設計学習装置200は、システム設計学習装置100の例に該当する。
13, parts having similar functions to those of the parts in FIG. 1 are given the same reference numerals (110, 120, 130, 180, 191 to 195) and detailed description thereof will be omitted here.
The system
In other respects, the system
具体化部品検出部296は、変換規則適用部191がシステム設計に使用可能な変換規則ごとに、その変換規則が具体化する部品を示す具体化部品情報を生成する。具体化部品検出部296は、具体化部品検出手段の例に該当する。
変換規則適用部191がシステム設計に使用可能な変換規則は、予め用意された全ての変換規則であってもよい。例えば、変換規則適用部191がシステム設計に使用可能な変換規則は、記憶部180が記憶する全ての変換規則であってもよい。
The instantiation
The conversion rules that the conversion
あるいは、予め用意された変換規則のうち一部の変換規則が、変換規則適用部191がシステム設計に使用可能な変換規則となっていてもよい。例えば、記憶部180が、システムの種類ごとに、その種類のシステムの設計に使用可能な変換規則を記憶するようにしてもよい。
あるいは、変換規則が回路に組み込まれてハードウェア的に実装されるなど、変換規則適用部191がシステム設計に使用可能な変換規則が、記憶部180が変換規則を記憶する方法以外の方法で実装されていてもよい。
Alternatively, some of the conversion rules prepared in advance may be conversion rules that can be used for system design by the conversion
Alternatively, the conversion rules that the conversion
変換規則が具体化する部品は、変換規則適用前のシステム要件に含まれ、かつ、変換規則適用後のシステム要件には含まれない部品として検出することができる。例えば、図3に示されるシステム要件を、図4に示されるシステム要件に変換する変換規則では、図3のエッジE201で示される通信手段が、変換規則適用前のシステム要件に含まれ、かつ、変換規則適用前のシステム要件には含まれない部品の例に該当する。この変換規則では、エッジE201で示される通信手段を、図4のエッジE211で示される通信手段に具体化する。 The components that the conversion rules instantiate can be detected as components that are included in the system requirements before the conversion rules are applied, but are not included in the system requirements after the conversion rules are applied. For example, in the conversion rules that convert the system requirements shown in FIG. 3 into the system requirements shown in FIG. 4, the communication means shown by edge E201 in FIG. 3 is an example of a component that is included in the system requirements before the conversion rules are applied, but is not included in the system requirements before the conversion rules are applied. In this conversion rule, the communication means shown by edge E201 is instantiated into the communication means shown by edge E211 in FIG. 4.
記憶部180は、図3に例示される変換規則適用前のシステム要件と、図3に例示される変換規則適用後のシステム要件とを含む変換規則を記憶する。この変換規則は、変換規則適用前のシステム要件を左辺とし、変換規則適用後のシステム要件を右辺とした式で表すことができる。以下では、変換規則適用前のシステム要件を、変換規則の左辺、あるいは単に左辺とも称する。変換規則適用後のシステム要件を、変換規則の右辺、あるいは単に右辺とも称する。
The
上記のように、変換規則が、変換規則適用前のシステム要件と、変換規則適用後のシステム要件とを用いて表される場合、変換対象のシステム要件に適用可能な変換規則を検出する方法の1つとして、実際に変換規則の適用を試みる方法が考えられる。ここでいう、システム要件に対して変換規則の適用を試みることは、実際に変換が行われるか否かにかかわらず、システム要件に変換規則を適用する処理を行うことである。 As described above, when a conversion rule is expressed using system requirements before the conversion rule is applied and system requirements after the conversion rule is applied, one method for detecting a conversion rule that can be applied to the system requirements to be converted is to actually attempt to apply the conversion rule. In this case, attempting to apply a conversion rule to a system requirement means performing a process of applying the conversion rule to the system requirement, regardless of whether or not the conversion is actually performed.
変換対象のシステム要件に対して変換規則の適用を試みて、部品の具体化が行われた場合、その変換規則は、変換対象のシステムに適用可能であると判定することができる。一方、部品の具体化が行われなかった場合、その変換規則は、変換対象のシステムに適用できないと判定することができる。 When an attempt is made to apply a conversion rule to the system requirements to be converted, and a component is instantiated, it can be determined that the conversion rule is applicable to the system to be converted. On the other hand, if a component is not instantiated, it can be determined that the conversion rule is not applicable to the system to be converted.
例えば、第1実施形態にかかる変換規則適用部191が、図9のステップS111で、この方法を用いて変換規則の候補を検出し、検出した候補のうちの何れか1つを、変換対象のシステム要件に適用する変換規則として選択するようにしてもよい。
この場合、変換規則適用部191は、システム設計に使用可能な変換規則の各々について、「現在の構成」として示される変換対象のシステム要件への適用を試みる。そして、変換規則適用部191は、変換規則の適用を試みる前のシステム要件と、変換規則の適用を試みた後のシステム要件とを比較して、具体化された部品の有無を判定する。
For example, the conversion
In this case, the conversion
具体化された部品があると判定した場合、変換規則適用部191は、その変換規則は「現在の構成」に適用可能であると判定することができる。一方、具体化された部品がないと判定した場合、変換規則適用部191は、その変換規則は「現在の構成」に適用できないと判定することができる。
If it is determined that there is a concretized part, the conversion
変換規則適用部191は、「現在の構成」に適用可能であると判定した変換規則を候補として、候補のうちの何れか1つを、変換対象のシステム要件に適用する変換規則として選択する。
ただし、第1実施形態にかかる変換規則適用部191が、変換対象のシステム要件に適用する変換規則を選択する方法は、特定の方法に限定されない。
The conversion
However, the method in which the conversion
システム設計に使用可能な変換規則のうち、変換対象のシステム要件に適用可能な変換規則を検出する処理は、システム設計学習装置100に限らず、システム要件に変換規則を適用することによる部品の具体化を繰り返してシステム設計を行う装置に一般的に必要な処理である。
The process of detecting conversion rules that can be applied to the system requirements to be converted from among the conversion rules that can be used in system design is not limited to the system
変換対象のシステム要件に対して変換規則の適用を試みることで、変換対象のシステム要件に適用可能な変換規則を検出する方法では、システム設計に使用可能な全ての変換規則について、変換対象のシステム要件への適用を試みる必要がある。この点で、この方法は計算コストが高い。特に、この方法では、システム設計に使用可能な変換規則の個数が多いほど、また、システム要件に変換規則を適用する回数が多いほど、計算コストが高くなる。 In a method for detecting conversion rules that can be applied 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 conversion rules that can be used in the system design to the system requirements to be converted. In this respect, this method has a high computational cost. In particular, with this method, the greater the number of conversion rules that can be used in the system design and the greater the number of times that conversion rules are applied to the system requirements, the higher the computational cost.
上記のように、変換規則が、変換規則適用前のシステム要件と、変換規則適用後のシステム要件とを用いて表される場合、変換対象のシステム要件に適用可能な変換規則を検出するもう1つの方法として、変換対象のシステム要件が、変換規則の左辺として示されるシステム要件を含むか否かを判定する方法が考えられる。具体的には、変換対象のシステム要件の一部で、変換規則の左辺として示されるシステム要件と一致するものがあるか否かを、例えば変換対象のシステム要件のいろいろな部分についてパターンマッチングを行って判定することが考えられる。 As described above, when a conversion rule is expressed using system requirements before the conversion rule is applied and system requirements after the conversion rule is applied, another method for detecting a conversion rule applicable to the system requirements to be converted is to determine whether the system requirements to be converted include a system requirement shown as the left-hand side of the conversion rule. Specifically, it can be determined whether any part of the system requirements to be converted matches the system requirement shown as the left-hand side of the conversion rule, for example by performing pattern matching on various parts of the system requirements to be converted.
実際に変換規則の適用を試みる方法、および、変換対象のシステム要件が、変換規則の左辺として示されるシステム要件を含むか否かを判定する方法の何れも、部分グラフ同型性判定問題と呼ばれるNP(Non-Deterministic Polynomial)完全問題に帰着し、この点で、計算コストが高い。特に、これらの方法の何れも、システム設計に使用可能な変換規則の個数が多いほど、変換対象のシステム要件の規模が大きいほど、また、システム要件に変換規則を適用する回数が多いほど、計算コストが高くなる。
変換対象のシステム要件に適用可能な変換規則を検出するための計算コストが高いことで、システム設計に要する時間が増大する。
Both the method of actually trying to apply the conversion rule and the method of determining whether the system requirement to be converted includes the system requirement shown as the left-hand side of the conversion rule result in a non-deterministic polynomial (NP) complete problem called the subgraph isomorphism determination problem, and in this respect, the computational cost is high. In particular, with both of these methods, the computational cost increases the more conversion rules available for system design, the larger the scale of the system requirement to be converted, and the more times the conversion rules are applied to the system requirements.
The computational cost of finding conversion rules applicable to the system requirements to be converted increases the time required for system design.
そこで、具体化部品検出部296は、予め、変換規則適用部191がシステム設計に使用可能な変換規則の各々について具体化部品情報を生成し、変換規則とその変換規則が具体化する部品を示す具体化部品情報とを紐付けておく。ここでいう予めは、変換規則適用部191がシステム設計の処理を行う前であってもよい。例えば、ここでいう予めは、変換規則適用部191が図8のステップS21の処理を行うよりも過去であってもよい。
The concrete
具体化部品検出部296が、変換規則と具体化部品情報とを紐付ける方法は、特定の方法に限定されない。
例えば、記憶部180が、左辺、右辺、および、具体化部品情報の各項目を有するデータテーブルの形式で、1行に1つの変換規則を記憶しておくようにしてもよい。そして、具体化部品検出部296が、個々の変換規則について生成する具体化部品情報を、その変換規則が格納されている行の具体化部品情報の欄に書き込むようにしてもよい。
あるいは、記憶部180が、変換規則と具体化部品情報とを別々の情報として記憶しておくようにしてもよい。そして、具体化部品検出部296が、1つの変換規則と、その変換規則が具体化する部品を示す具体化部品情報との間にリンクを張ることで、変換規則と具体化部品情報とを紐付けるようにしてもよい。
The method by which the instantiation
For example, the
Alternatively, the
具体化部品検出部296は、各変換規則について左辺と右辺を比較し、左辺に存在しており、かつ、右辺には存在していない部品を検出する。具体化部品検出部296は、検出した部品が、その変換規則が具体化する部品であると判断し、その変換規則がその部品を具体化することを示す具体化部品情報を生成する。具体化部品検出部296が、上記のように、具体化部品情報を記憶部180に記憶させるようにしてもよい。
The instantiation
具体化部品検出部296が、具体化部品情報を予め生成しておくことで、変換規則適用部191は、具体化部品情報を参照して、システム設計に使用可能な変換規則のうち、変換対象のシステム要件に適用する変換規則の候補を絞り込むことができる。
具体的には、変換規則適用部191は、具体化部品情報に示される部品が、変換対象のシステム要件に含まれるか否かを判定する。具体化部品情報に示される部品が、変換対象のシステム要件に含まれると判定した場合、変換規則適用部191は、その具体化部品情報に紐付けられる変換規則を、変換対象のシステム要件に適用する変換規則の候補に含める。一方、具体化部品情報に示される部品が、変換対象のシステム要件に含まれないと判定した場合、変換規則適用部191は、その具体化部品情報に紐付けられる変換規則を、変換対象のシステム要件に適用する変換規則の候補に含めない。
By having the concrete
Specifically, the conversion
この場合の、変換対象のシステム要件に適用される変換規則の候補は、変換対象のシステム要件に適用可能であるための必要条件を満たす。変換規則の左辺が、具体化される部品に加えて他の部品も含んでいる場合、具体化される部品と他の部品との関係を示していることが考えられる。変換対象のシステム要件が、具体化される部品を含むことに加えて、具体化される部品と他の部品との関係も満たす場合、変換対象のシステム要件に適用される変換規則の候補は、変換対象のシステムに適用可能である。 In this case, the candidate conversion rules to be applied to the system requirements to be converted satisfy the necessary conditions for being applicable to the system requirements to be converted. If the left-hand side of the conversion rule includes other components in addition to the component to be instantiated, it is possible that it indicates the relationship between the component to be instantiated and the other components. If the system requirements to be converted, in addition to including the component to be instantiated, also satisfy the relationship between the component to be instantiated and the other components, the candidate conversion rules to be applied to the system requirements to be converted are applicable to the system to be converted.
一般的に、変換対象のシステム要件に適用される変換規則の候補には、具体化される部品と他の部品との関係を満たさず適用不可能な変換規則が含まれることが多いと考えられる。
一方、システム要件が適切に与えられ、部品評価モデルの学習が適切に行われていれば、変換対象のシステム要件に適用される変換規則の候補に、少なくとも1つは適用可能な変換規則が含まれると期待される。この場合、変換規則適用部191は、変換対象のシステム要件に適用する変換規則の候補の中から、変換対象のシステム要件に適用可能な変換規則を検出する。システム要件に適用可能か否かの判定対象となる変換規則の候補が絞り込まれている点で、計算コストが低いことが期待される。
In general, candidates for conversion rules to be applied to the system requirements to be converted are likely to include conversion rules that are inapplicable because they do not satisfy the relationships between the parts to be instantiated and other parts.
On the other hand, if the system requirements are appropriately given and the component evaluation model is appropriately trained, it is expected that the candidates for conversion rules to be applied to the system requirements to be converted include at least one applicable conversion rule. In this case, the conversion
あるいは、変換規則適用部191が、変換対象のシステム要件に適用する変換規則の候補から直接、変換対象のシステム要件に適用する変換規則を選択するようにしてもよい。具体的には、変換規則適用部191が、変換対象のシステム要件に適用する変換規則の候補の何れかの、変換対象のシステム要件への適用を試みることで、その候補が変換対象のシステム要件に適用可能か否かを判定するようにしてもよい。この場合、変換対象のシステム要件に適用する変換規則の候補が絞り込まれている点で、変換対象のシステム要件に適用する変換規則を選択する処理の計算コストが低いことが期待される。
Alternatively, the conversion
また、具体化部品検出部296が生成する具体化部品情報は、いろいろなシステム要件について、そのシステム要件に適用される変換規則の候補の検出に用いることができる。したがって、具体化部品検出部296は、変換規則適用部191がシステム設計の処理を行う前に具体化部品情報を生成しておけばよく、変換規則適用部191がシステム要件に変換規則を適用するごとに具体化部品情報を生成する必要はない。この点で、変換規則適用部191がシステム要件に変換規則を適用する回数が多くなっても、計算コストの増加が小さいことが期待される。
The concrete part information generated by the concrete
図14は、システム設計学習装置200が学習データを生成して学習を行う処理手順の例を示すフローチャートである。システム設計学習装置200が、図8の処理に代えて図14の処理を行うようにしてもよい。
図14の処理で、システム設計学習装置200は、学習対象のシステム要件を取得する(ステップS511)。システム設計学習装置200が、設計対象のシステム要件として与えられるシステム要件を、学習対象のシステム要件としても用いるようにしてもよい。あるいは、システム設計学習装置200が、設計対象のシステム要件とは別に、学習対象のシステム要件を取得するようにしてもよい。
14 is a flowchart showing an example of a processing procedure for generating learning data and performing learning by the system
In the process of Fig. 14, the system
次に、具体化部品検出部296は、変換規則適用部191がシステム設計に使用可能な変換規則の各々について、その変換規則によって具体化される部品を検出して具体化部品情報を生成する(ステップS512)。上記のように、具体化部品検出部296が、具体化部品情報を記憶部180に記憶させるようにしてもよい。
Next, the concrete
次に、制御部290は、学習の終了条件が成立しているか否かを判定する(ステップS513)。学習の終了条件は、学習時間、学習回数(ステップS513からS525のループを繰り返した回数)、学習誤差の大きさ等に基づくものであってもよいが、これらに限定されない。
Next, the
終了条件が成立していると制御部290が判定した場合(ステップS513:YES)、システム設計学習装置200は、図14の処理を終了する。
一方、終了条件が成立していないと制御部290が判定した場合(ステップS513:NO)、処理がステップS521へ進む。
ステップS521からS525における処理は、ステップS521で変換規則適用部191が具体化部品情報を用いてシステム設計を行う点を除いて、図8のステップS21からS25における処理と同様である。
If the
On the other hand, if the
The processing in steps S521 to S525 is the same as the processing in steps S21 to S25 in FIG. 8, except that in step S521, the conversion
図14のステップS521における処理は、図8のステップS21における処理の例に該当する。例えば、図14のステップS521でシステム設計学習装置200が図9の処理を行う場合、変換規則適用部191は、ステップS111の処理で具体化部品情報を参照する。具体的には、ステップS111の処理で変換規則適用部191が、選択した部品に適用する変換規則を、その部品を示す具体化部品情報に紐付けられる変換規則の中から1つ選択するようにしてもよい。
ステップS525の後、処理がステップS513へ戻る。
The process in step S521 in Fig. 14 corresponds to an example of the process in step S21 in Fig. 8. For example, when the system
After step S525, the process returns to step S513.
上記のステップS111の処理で、変換規則適用部191が、「現在の構成」から具体化する部品を1つ選択する際、部品評価モデルを用いるようにしてもよい。例えば、変換規則適用部191が、「現在の構成」として示されるシステム要件を部品評価モデルに入力し、「現在の構成」の部品ごとの評価を取得するようにしてもよい。そして、変換規則適用部191が、評価が最も高い部品を、具体化する部品として選択するなど、得られた部品ごとの評価に基づいて、具体化する部品を選択するようにしてもよい。
In the processing of step S111 described above, the conversion
学習部195による学習について上述したように、部品評価モデルは、システム設計に成功する変換系列が存在する場合に高い評価を出力する。変換規則適用部191が、部品評価モデルによる評価が高い部品を選択することで、システム設計に成功する可能性が高くなると期待される。
As described above regarding the learning by the
上記のステップS111の処理で、変換規則適用部191が、変換規則候補のうち、選択した部品に適用する変換規則を選択する際、部品評価モデルを用いるようにしてもよい。
例えば、変換規則適用部191が、「現在の構成」として示されるシステム要件に変換規則候補の各々を適用して、変換規則候補ごとに変換規則適用後のシステム要件を取得するようにしてもよい。そして、変換規則適用部191が、変換規則適用後のシステム要件それぞれを部品評価モデルに入力して、変換規則候補ごとに変換規則適用後のシステム要件に対する評価を取得するようにしてもよい。
In the process of step S111 described above, when the conversion
For example, the conversion
上記のように、部品評価モデルは、システム要件の入力に対して、そのシステム要件に示される部品ごとの評価を出力する。そこで、変換規則適用部191が、部品ごとの評価に基づいて、システム要件全体に対する評価を算出する。例えば、システム設計学習装置100について上述したように、変換規則適用部191が、部品ごとの評価値の最大値をシステム要件全体に対する評価値として算出するようにしてもよい。
As described above, the component evaluation model outputs an evaluation for each component indicated in the system requirements in response to the input of the system requirements. The conversion
変換規則適用部191が、変換規則適用後のシステム要件に対する評価が最も高い変換規則候補を選択するなど、変換規則適用後のシステム要件に対する評価に基づいて、変換規則候補のうちの何れか1つを、選択した部品に適用する変換規則として選択するようにしてもよい。
The conversion
変換規則適用部191が、部品評価モデルを用いて変換規則適用後のシステム要件に対する評価を計算し、変換規則適用後のシステム要件の評価が高い変換規則を選択することで、システム設計に成功する可能性が高くなると期待される。
The conversion
図15は、具体化部品検出部296が、具体化する部品の計算を行う処理手順の例を示すフローチャートである。具体化部品検出部296は、図14のステップS512で図15の処理を行う。
図15の処理で、具体化部品検出部296は、ステップS541で未選択の変換規則があるか確認する(ステップS531)。ステップS541の処理を1回も行っていない場合、具体化部品検出部296が、システム設計に使用可能な全ての変換規則を未選択であると判定するようにしてもよい。
未選択の変換規則がないと判定した場合(ステップS531:NO)、具体化部品検出部296は、図15の処理を終了する。
15 is a flowchart showing an example of a processing procedure for calculating parts to be instantiated by the instantiation
15, the embodiment
If it is determined that there is no unselected conversion rule (step S531: NO), the embodiment
一方、ステップS531で未選択の変換規則があると判定した場合(ステップS531:YES)、具体化部品検出部296は、未選択の変換規則のうち1つの変換規則を選択する(ステップS541)。
以下の説明では、具体化部品検出部296が、ステップS541を繰り返し実行するうち最新のステップS541の実行で選択した変換規則を対象変換規則とも称する。
On the other hand, if it is determined in step S531 that there are unselected conversion rules (step S531: YES), the instantiation
In the following description, the conversion rule selected by the embodiment
次に、具体化部品検出部296は、対象変換規則の左辺と右辺とを比較する(ステップS542)。
次に、具体化部品検出部296は、対象変換規則の左辺にあり右辺にはない部品を検出し、検出した部品を、対象変換規則が具体化する部品として示す具体化部品情報を生成する(ステップS543)。上記のように具体化部品検出部296は、変換規則と、その変換規則が具体化する部品を示す具体化部品情報とを紐付ける。具体化部品検出部296が、具体化部品情報を記憶部180に記憶させるようにしてもよい。
ステップS543の後、処理がステップS531へ遷移する。
Next, the instantiation
Next, the concrete
After step S543, the process transitions to step S531.
具体化部品情報は、変換規則毎に、その変換規則が具体化する部品を示す。システム設計学習装置200は、学習時および設計時の何れにおいても、具体化部品情報を参照することで、システム要件に変換規則を適用するごとに、各変換規則が具体化する部品を逐一検出する必要が無くなる。システム設計学習装置200によれば、この点で学習の過程でかかる計算コスト、および、設計の過程でかかる計算コストの何れも改善することができる。
The instantiation part information indicates, for each conversion rule, the parts that the conversion rule instantiates. By referencing the instantiation part information both during learning and during design, the system
システム要件に変換規則を適用した次状態を選択する方法の1つとして、システム設計に使用可能な全ての変換規則について、変換対象のシステム要件への適用を試みる方法が考えられる。この方法では、例えば、変換規則ごとに、変換規則の適用を試みた後のシステム要件に対する評価値を算出し、算出した評価値に基づいて、次状態としてのシステム要件を選択する。
しかしながら、この方法では、全ての変換規則の適用を試みる必要がある点で、計算コストが高い。
One method for selecting the next state after applying conversion rules to a system requirement is to try to apply all conversion rules available for system design to the system requirement to be converted. In this method, for example, an evaluation value for the system requirement after the application of the conversion rule is attempted is calculated for each conversion rule, and the system requirement as the next state is selected based on the calculated evaluation value.
However, this method is computationally expensive since it is necessary to try to apply all the conversion rules.
一方、システム設計学習装置200では、変換規則適用部191は、学習時および設計時の何れも、システム要件に変換規則を適用した次状態を選択する際、部品評価モデルを用いて得られる部品ごとの評価に基づいて、具体化する部品を選択することができる。そして、変換規則適用部191は、現在状態としてのシステム要件に対し、選択した部品を具体化する変換規則のみの適用を試み、その結果導出される各次状態候補のいずれかから、次状態としてのシステム要件を選択することができる。
On the other hand, in the system
システム設計学習装置200によれば、適用を試みる変換規則は、選択された部品を具体化するもののみであり、この点で、上記の方法と比較して計算コストが低い。システム設計学習装置200によれば、この点で、学習に要する時間、および、設計に要する時間の何れも短いことが期待される。
The system
第2実施形態において、変換規則適用部191が、次状態候補の中から次状態を選択する方法として、いろいろな方法が考えられる。例えば、変換規則適用部191が、図12に示される評価方法を用いて得られるシステム要件の評価値に基づいて、次状態を選択するようにしてもよい。その際、変換規則適用部191が、評価値が最大のシステム要件を次状態として選択するようにしてもよいし、それ以外のシステム要件を選択するようにしてもよい。あるいは、変換規則適用部191が、図12に示される評価方法を用いず、次状態を無作為に選択するようにしてもよい。
In the second embodiment, various methods are possible for the conversion
以上のように、具体化部品検出部296は、変換規則適用部191がシステム設計に使用可能な変換規則ごとに、その変換規則が具体化する部品を示す具体化部品情報を生成する。変換規則適用部191は、システム設計に用いる変換規則を、具体化部品情報に基づいて決定する。
変換規則適用部191は、システム設計に用いる変換規則を、具体化部品情報に基づいて決定することで、変換規則の決定ごとにシステム要件に適用可能な変換規則を求める必要がなく、システム設計学習装置200によれば、この点で、学習に要する時間、および、設計に要する時間の何れも短いことが期待される。
As described above, the instantiation
The conversion
また、学習部195は、システム要件の入力に対して、そのシステム要件に示される部品ごとの評価を出力する部品評価モデルの学習を行う。変換規則適用部191は、システム要件に示される各部品に対する部品評価モデルの評価に基づいて、変換規則の適用対象の部品を選択し、選択した部品に適用可能であると具体化部品情報で示される変換規則である変換規則候補のうち1つの変換規則を選択し、選択した部品に、選択した変換規則を適用する。
変換規則適用部191が、部品評価モデルによる評価に基づいて部品を選択することで、システム設計に成功する可能性が高くなると期待される。
Furthermore, the
It is expected that the conversion
また、変換規則適用部191は、変換規則候補ごとの、その変換規則候補をシステム要件に適用して得られる変換規則適用後のシステム要件に対する部品評価モデルの評価に基づいて、変換規則候補のうち1つの変換規則を、選択した部品に適用する変換規則として選択する。
変換規則適用部191が、部品評価モデルを用いて得られる変換規則適用後のシステム要件に対する評価に基づいて変換規則を選択することで、システム設計に成功する可能性が高くなると期待される。
In addition, the conversion
It is expected that the conversion
<第3実施形態>
図16は、第3実施形態に係るシステム設計学習装置の構成の例を示す図である。図16に示すシステム設計学習装置610は、変換規則適用部611と、設計評価部612と、規則適用評価部613と、学習部614と、を備える。
かかる構成で、変換規則適用部611は、システム要件を示される設計対象システムに対して、その設計対象システムの部品への変換規則の適用を繰り返すことによるシステム設計を、そのシステム設計の設計結果が得られるまで行う。設計評価部612は、設計結果に基づいて、システム設計に対する評価値を決定する。規則適用評価部613は、システム設計に対する評価値に基づいて、システム設計における個々の部品の変換に関する評価値を決定する。学習部614は、部品の変換に関する評価値を含む学習データに基づいて、変換規則の適用対象となる部品の選択について学習する。
変換規則適用部611は、変換規則適用手段の例に該当する。設計評価部612は、設計評価手段の例に該当する。規則適用評価部613は、規則適用評価手段の例に該当する。学習部614は、学習手段の例に該当する。
Third Embodiment
Fig. 16 is a diagram showing an example of the configuration of a system design learning apparatus according to the third embodiment. A system
In this configuration, the conversion
The conversion
上述したように、システム要件の入力に対して、適用する一連の変換規則を出力するシステム設計モデルを学習する方法では、一般的にシステムの規模および構成はさまざまであることに起因して、有効な学習を行えないことが考えられる。
一方、システム設計学習装置610が対象とする分野で用いられるシステムの構成がシステムごとに異なっていても、共通の部品、あるいは、類似する部品が用いられることが期待される。システム設計学習装置610が、部品単位で変換に関する学習を行うことで、システム設計時に対象となるシステムに用いられる部品と同一の部品または類似の部品が、学習時に対象となるシステムにも用いられていることが期待される。この点で、システム設計学習装置610が、部品単位で変換に関する学習を行うことで、システム設計時に対象となるシステム構成が学習時に対象となるシステム構成と異なる場合でも有効な学習を行うことができる。
As described above, the method of learning a system design model that outputs a set of conversion rules to be applied in response to input system requirements may not be able to provide effective learning, due to the fact that systems generally vary in size and configuration.
On the other hand, even if the configurations of systems used in the field targeted by the system
<第4実施形態>
図17は、第4実施形態に係るシステム設計学習方法における処理の手順の例を示すフローチャートである。
図17に示す処理は、変換規則を適用すること(ステップS611)と、設計を評価すること(ステップS612)と、規則適用を評価すること(ステップS613)と、学習を行うこと(ステップS614)と、を含む。
Fourth Embodiment
FIG. 17 is a flowchart showing an example of a processing procedure in the system design learning method according to the fourth embodiment.
The process shown in FIG. 17 includes applying transformation rules (step S611), evaluating the design (step S612), evaluating the rule application (step S613), and learning (step S614).
変換規則を適用すること(ステップS611)では、システム要件を示される設計対象システムに対して、その設計対象システムの部品への変換規則の適用を繰り返すことによるシステム設計を、そのシステム設計の設計結果が得られるまで行う。設計を評価すること(ステップS612)では、設計結果に基づいて、システム設計に対する評価値を決定する。規則適用を評価すること(ステップS613)では、システム設計に対する評価値に基づいて、システム設計における個々の部品の変換に関する評価値を決定する。学習を行うこと(ステップS614)では、部品の変換に関する評価値を含む学習データに基づいて、変換規則の適用対象となる部品の選択について学習する。 In applying the conversion rules (step S611), a system is designed by repeatedly applying the conversion rules to the components of the system to be designed, for which system requirements are given, until a 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 for the conversion of each component in the system design is determined based on the evaluation value for the system design. In learning (step S614), learning is performed on the selection of components to which the conversion rules are applied, based on learning data including evaluation values for the conversion of components.
上述したように、システム要件の入力に対して、適用する一連の変換規則を出力するシステム設計モデルを学習する方法では、一般的にシステムの規模および構成はさまざまであることに起因して、有効な学習を行えないことが考えられる。
一方、図17に示す処理の対象とする分野で用いられるシステムの構成がシステムごとに異なっていても、共通の部品、あるいは、類似する部品が用いられることが期待される。図17に示す処理で、部品単位で変換に関する学習を行うことで、システム設計時に対象となるシステムに用いられる部品と同一の部品または類似の部品が、学習時に対象となるシステムにも用いられていることが期待される。この点で、図17に示す処理で、部品単位で変換に関する学習を行うことで、システム設計時に対象となるシステム構成が学習時に対象となるシステム構成と異なる場合でも有効な学習を行うことができる。
As described above, the method of learning a system design model that outputs a set of conversion rules to be applied in response to input system requirements may not be able to provide effective learning, due to the fact that systems generally vary in size and configuration.
On the other hand, even if the configurations of systems used in the field targeted by the process shown in Fig. 17 are different for each system, it is expected that common parts or similar parts will be used. By performing learning about conversion on a part-by-part basis in the process shown in Fig. 17, it is expected that the same parts or similar parts as those used in the target system at the time of system design will also be used in the target system at the time of learning. In this respect, by performing learning about conversion on a part-by-part basis in the process shown in Fig. 17, effective learning can be performed even if the system configuration targeted at the time of system design is different from the system configuration targeted at the time of learning.
図18は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
図18に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740とを備える。
FIG. 18 is a schematic block diagram illustrating a configuration of a computer according to at least one embodiment.
In the configuration shown in FIG. 18, a
上記のシステム設計学習装置100、システム設計学習装置200および、システム設計学習装置610のうち何れか1つ以上が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。
Any one or more of the above-mentioned system
システム設計学習装置100がコンピュータ700に実装される場合、制御部190およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、記憶部180に対応する記憶領域を主記憶装置720に確保する。
通信部110による通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。
表示部120による表示は、インタフェース740が表示画面を備え、CPU710の制御に従って各種画像を表示することで実行される。操作入力部130によるユーザ操作の受け付けは、インタフェース740が入力デバイスを備えてユーザ操作を受け付け、受け付けたユーザ操作を示す信号をCPU710に出力することで実行される。
When the system
Furthermore, the
The communication by the
Display by the
システム設計学習装置200がコンピュータ700に実装される場合、制御部290およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、記憶部180に対応する記憶領域を主記憶装置720に確保する。
通信部110による通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。
表示部120による表示は、インタフェース740が表示画面を備え、CPU710の制御に従って各種画像を表示することで実行される。操作入力部130によるユーザ操作の受け付けは、インタフェース740が入力デバイスを備えてユーザ操作を受け付け、受け付けたユーザ操作を示す信号をCPU710に出力することで実行される。
When the system
Furthermore, the
The communication by the
Display by the
システム設計学習装置610がコンピュータ700に実装される場合、変換規則適用部611と、設計評価部612と、規則適用評価部613と、学習部614との動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
When the system
なお、システム設計学習装置100、システム設計学習装置200、および、システム設計学習装置610の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。ここでいう「コンピュータシステム」とは、OS(オペレーティングシステム)や周辺機器等のハードウェアを含む。
「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
In addition, a program for realizing all or part of the functions of system
"Computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs (Read Only Memory), and CD-ROMs (Compact Disc Read Only Memory), as well as storage devices such as hard disks built into computer systems. The above-mentioned program may be one that realizes part of the above-mentioned functions, or may realize the above-mentioned functions in combination with a program already recorded in the computer system.
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。 The above describes an embodiment of the present invention in detail with reference to the drawings, but the specific configuration is not limited to this embodiment, and design changes and the like that do not deviate from the gist of the present invention are also included.
100、200、610 システム設計学習装置
110 通信部
120 表示部
130 操作入力部
180 記憶部
190、290 制御部
191、611 変換規則適用部
192、612 設計評価部
193、613 規則適用評価部
194 学習データ生成部
195、614 学習部
296 具体化部品検出部
100, 200, 610 System
Claims (11)
前記設計結果に基づいて、前記システム設計に対する評価値を決定する設計評価手段と、
前記システム設計に対する評価値に基づいて、前記システム設計における個々の部品の変換に関する評価値を決定する規則適用評価手段と、
前記部品の変換に関する評価値を含む学習データに基づいて、前記変換規則の適用対象となる部品の選択について学習する学習手段と、
を備えるシステム設計学習装置。 a conversion rule application means for repeatedly applying conversion rules to components of a system to be designed, the components being designated as system requirements, to perform system design 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 for each transformation of an individual component in the system design based on the evaluation value for the system design;
a learning means for learning about selection of a part to which the conversion rule is applied based on learning data including an evaluation value related to the conversion of the part;
A system design learning device comprising:
請求項1に記載のシステム設計学習装置。 the rule application evaluation means determines an evaluation value regarding the conversion of the component for each component of the system requirement based on data obtained by integrating a plurality of system design histories for the same system requirement;
2. The system design learning device according to claim 1.
請求項1または請求項2に記載のシステム設計学習装置。 The design result indicates either a success or a failure of the system design.
3. The system design learning device according to claim 1 or 2.
請求項3に記載のシステム設計学習装置。 Successful system design includes obtaining system requirements specified at a level that allows the system to be deployed;
4. The system design learning device according to claim 3.
請求項3または請求項4に記載のシステム設計学習装置。 The system design failure includes determining that the system requirements cannot be specified at a level that allows the system to be deployed.
5. The system design learning device according to claim 3 or 4.
請求項1から5の何れか一項に記載のシステム設計学習装置。 the design evaluation means determines an evaluation value for the system design based on the obtained system evaluation index value when the design result indicates that the system design is successful;
The system design learning device according to any one of claims 1 to 5.
請求項1から6の何れか一項に記載のシステム設計学習装置。 The conversion rule application means further comprises an instantiation component detection means for generating instantiation component information indicating a component instantiated by each conversion rule usable for the system design, the conversion rule application means determining the conversion rule to be used for the system design based on the instantiation component information.
The system design learning device according to any one of claims 1 to 6.
前記変換規則適用手段は、前記システム要件に示される各部品に対する前記部品評価モデルの評価に基づいて、前記変換規則の適用対象の前記部品を選択し、選択した部品に適用可能であると前記具体化部品情報で示される前記変換規則である変換規則候補のうち1つの変換規則を選択し、選択した部品に、選択した変換規則を適用する、
請求項7に記載のシステム設計学習装置。 the learning means learns a component evaluation model that outputs an evaluation for each component indicated in a system requirement in response to the input of the system requirement;
the conversion rule application means selects the part to which the conversion rule is to be applied based on an evaluation of the part evaluation model for each part indicated in the system requirements, selects one conversion rule from among conversion rule candidates which are indicated in the instantiated 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.
請求項8に記載のシステム設計学習装置。 the conversion rule application means selects, for each of the conversion rule candidates, one of the conversion rule candidates as a conversion rule to be applied to the selected component, based on an evaluation of the component evaluation model with respect to the system requirements after application of the conversion rule obtained by applying the conversion rule candidate to the system requirements.
The system design learning apparatus according to claim 8.
システム要件を示される設計対象システムに対して、その設計対象システムの部品への変換規則の適用を繰り返すことによるシステム設計を、そのシステム設計の設計結果が得られるまで行うことと、
前記設計結果に基づいて、前記システム設計に対する評価値を決定することと、
前記システム設計に対する評価値に基づいて、前記システム設計における個々の部品の変換に関する評価値を決定することと、
前記部品の変換に関する評価値を含む学習データに基づいて、前記変換規則の適用対象となる部品の選択について学習することと、
を含むシステム設計学習方法。 The computer
performing a system design by repeatedly applying transformation rules to components of a system to be designed, for which system requirements are given, until a design result of the system design is obtained;
determining an evaluation value for the system design based on the design result;
determining estimates for transformations of individual components in the system design based on the estimates for the system design;
learning a selection of a part to which the conversion rule is applied based on learning data including an evaluation value related to the conversion of the part;
A method for learning systems design, including:
システム要件を示される設計対象システムに対して、その設計対象システムの部品への変換規則の適用を繰り返すことによるシステム設計を、そのシステム設計の設計結果が得られるまで行うことと、
前記設計結果に基づいて、前記システム設計に対する評価値を決定することと、
前記システム設計に対する評価値に基づいて、前記システム設計における個々の部品の変換に関する評価値を決定することと、
前記部品の変換に関する評価値を含む学習データに基づいて、前記変換規則の適用対象となる部品の選択について学習することと、
を実行させるためのプログラム。 On the computer,
performing a system design by repeatedly applying transformation rules to components of a system to be designed, for which system requirements are given, until a design result of the system design is obtained;
determining an evaluation value for the system design based on the design result;
determining estimates for transformations of individual components in the system design based on the estimates for the system design;
learning a selection of a part to which the conversion rule is applied based on learning data including an evaluation value related to the conversion of the part;
A program for executing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/495,012 US20220114311A1 (en) | 2020-10-09 | 2021-10-06 | System design learning device, system design learning method, and recording medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020171169 | 2020-10-09 | ||
| JP2020171169 | 2020-10-09 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022063209A JP2022063209A (en) | 2022-04-21 |
| JP7694151B2 true JP7694151B2 (en) | 2025-06-18 |
Family
ID=81255309
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021087757A Active JP7694151B2 (en) | 2020-10-09 | 2021-05-25 | System design learning device, system design learning method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7694151B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2025031156A (en) * | 2023-08-25 | 2025-03-07 | メタウォーター株式会社 | Driving plan generating method, driving plan generating program, and driving plan generating device |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04137073A (en) * | 1990-09-28 | 1992-05-12 | Toshiba Corp | Design drawing device |
-
2021
- 2021-05-25 JP JP2021087757A patent/JP7694151B2/en active Active
Non-Patent Citations (1)
| Title |
|---|
| 八鍬 豊 外3名,「強化学習を用いたICTシステム設計の自動化における学習収束性の改善」,電子情報通信学会技術研究報告 [オンライン],一般社団法人電子情報通信学会,2020年06月22日,第120巻, 第80号,pp.39-46,[検索日 2020.08.03], インターネット:<URL: https://www.ieice.org/ken/user/index.php?cmd=download&p=weGs&t=IEICE-IBISML&l=d605c29d8557ef2838c888d0f0ad9acb1daa572ea0b2a70713706a7d6d39f07e&lang=> |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022063209A (en) | 2022-04-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210390416A1 (en) | Variable parameter probability for machine-learning model generation and training | |
| US20200210847A1 (en) | Ensembling of neural network models | |
| US20190122096A1 (en) | Automated evaluation of neural networks using trained classifier | |
| KR102203252B1 (en) | Method and system for collaborative filtering based on generative adversarial networks | |
| US11972335B2 (en) | System and method for improving classification in adversarial machine learning | |
| CN109684190B (en) | Software testing apparatus and method | |
| EP0159463A2 (en) | Probabilistic learning system | |
| JP7480670B2 (en) | MOTION PLANNING APPARATUS, MOTION PLANNING METHOD, AND MOTION PLANNING PROGRAM | |
| JP2009282686A (en) | Apparatus and method for learning classification model | |
| JP5123759B2 (en) | Pattern detector learning apparatus, learning method, and program | |
| KR20170073059A (en) | Game of artificial intelligence system and method for making artificial intelligence of game character using the same | |
| JP4265296B2 (en) | Change point detection apparatus, change point detection method, and change point detection program | |
| JP7694151B2 (en) | System design learning device, system design learning method and program | |
| JP7822919B2 (en) | Information processing device, information processing method, program, and circuit information | |
| US20240157969A1 (en) | Methods and systems for determining control decisions for a vehicle | |
| US8522226B2 (en) | Control structure refinement of loops using static analysis | |
| JPWO2020152848A1 (en) | Recognizer training equipment, recognition equipment, data processing systems, data processing methods, and programs | |
| JP5528214B2 (en) | Learning control system and learning control method | |
| JP7127687B2 (en) | Hypothetical Inference Device, Hypothetical Inference Method, and Program | |
| JP7050028B2 (en) | Computer system and machine learning control method | |
| KR102255470B1 (en) | Method and apparatus for artificial neural network | |
| CN115270971B (en) | Decision-assisted switching-constrained multi-model maneuvering target tracking method and device | |
| US20240202408A1 (en) | System design learning apparatus, system designlearning method, and computer-readable recording medium | |
| US20220114311A1 (en) | System design learning device, system design learning method, and recording medium | |
| JP7508838B2 (en) | Partial extraction device, part extraction method, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240408 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20240408 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250115 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250121 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250324 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250507 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250520 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7694151 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |