JP6981124B2 - System construction support device, system construction support method, and program - Google Patents

System construction support device, system construction support method, and program Download PDF

Info

Publication number
JP6981124B2
JP6981124B2 JP2017176934A JP2017176934A JP6981124B2 JP 6981124 B2 JP6981124 B2 JP 6981124B2 JP 2017176934 A JP2017176934 A JP 2017176934A JP 2017176934 A JP2017176934 A JP 2017176934A JP 6981124 B2 JP6981124 B2 JP 6981124B2
Authority
JP
Japan
Prior art keywords
information
model
declarative model
dependency
declarative
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
Application number
JP2017176934A
Other languages
Japanese (ja)
Other versions
JP2019053502A (en
Inventor
隆雄 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2017176934A priority Critical patent/JP6981124B2/en
Publication of JP2019053502A publication Critical patent/JP2019053502A/en
Application granted granted Critical
Publication of JP6981124B2 publication Critical patent/JP6981124B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、宣言的モデルによって定義されるシステムの構築を支援するための、システム構築支援装置、及びシステム構築支援方法に関し、更には、これらを実現するためのプログラムに関する。 The present invention relates to a system construction support device for supporting the construction of a system defined by a declarative model, and a system construction support method, and further relates to a program for realizing these.

近年、クラウド基盤、仮想化基盤の発展により、安価で大量のコンピュータ資源を利用できるようになっている。このようなコンピュータ資源を管理するための技術として、Infrastructure as Code(「IaC」と表記する。)が知られている。 In recent years, with the development of cloud infrastructure and virtualization infrastructure, it has become possible to use a large amount of computer resources at low cost. Infrastructure as Code (denoted as "IaC") is known as a technique for managing such computer resources.

IaCによれば、ソースコードによってシステムを定義でき、オーケストレータと呼ばれるツールにてシステムを自動的に構築することができる。また、IaCの具体例としては、OpenStack Heat、AWS (Amazon Web Service) Cloud formation、Ansible等が知られている。 According to IaC, the system can be defined by the source code, and the system can be built automatically by a tool called an orchestrator. Further, as specific examples of IaC, OpenStack Heat, AWS (Amazon Web Service) Cloud formation, Ansible, etc. are known.

また、IaCによるシステムの定義方法の一つとして、宣言的モデルがある。具体的には、OpenStack HeatコンポーネントのHeat Orchestration Template(HOT)、AWS Cloud formationサービスのCloud Formation Template等である。また、宣言的モデルは、AnsibleではPlaybookという書式で存在している。 In addition, there is a declarative model as one of the methods of defining a system by IaC. Specifically, the Heat Orchestration Template (HOT) of the OpenStack Heat component, the Cloud Formation Template of the AWS Cloud formation service, etc. In addition, the declarative model exists in the format of playbook in Ansible.

また、宣言的モデルは、一般的に、テキストエディタを用いてソースコードを記述することによって作成される。また、テキストエディタを使わないで、代わりに、宣言的モデルのオーケストレータ用にグラフィカルエディタを用いて宣言的モデルを作成する手法も提案されている(例えば、非特許文献1参照)。 Also, declarative models are generally created by writing source code using a text editor. Further, a method of creating a declarative model using a graphical editor for an orchestrator of a declarative model instead of using a text editor has also been proposed (see, for example, Non-Patent Document 1).

具体的には、非特許文献1は、AWS Cloud Formation の定義を変更するために、AWS Cloud Formation DesignerといったAWS Cloud Formation用の宣言的モデル作成ツールを開示している。非特許文献1に開示されたツールは、グラフィカルエディタであり、これを用いれば、視覚的に宣言的モデルの作成を行うことが可能となっている。 Specifically, Non-Patent Document 1 discloses a declarative model creation tool for AWS Cloud Formation, such as AWS Cloud Formation Designer, in order to change the definition of AWS Cloud Formation. The tool disclosed in Non-Patent Document 1 is a graphical editor, which makes it possible to visually create a declarative model.

しかし、どのようなエディタを用いた場合でも、宣言的モデルの構成要素間の依存関係の定義が容易ではないため、宣言的モデルを「正しく」定義することは困難である。構成要素間の依存関係の定義が容易ではない理由としては、宣言的モデルの作成者には、構成要素間の依存関係の有無が分からない(知らない)点と、宣言的モデルを作成する際に使用する構成要素の依存性情報が正しく定義されていない場合がある点とが挙げられる。 However, it is difficult to "correctly" define a declarative model because it is not easy to define the dependencies between the components of the declarative model using any editor. The reason why it is not easy to define the dependency between the components is that the creator of the declarative model does not know (does not know) whether or not there is a dependency between the components, and when creating the declarative model. The point is that the dependency information of the components used for may not be defined correctly.

なお、「構成要素」とは、宣言的モデルを作成する際に利用する単位である。構成要素としては、例えば、Webサーバ、DB(Data Base)サーバといった汎用的なものから、Tomcatサーバ、MySQLサーバといった具体的なものまでが挙げられる。また、構成要素は、AWS Cloud Formationでは、Resource Typeと表現され、OASIS TOSCAではNode Typeと表現される。 The "component" is a unit used when creating a declarative model. Examples of the components include general-purpose ones such as a Web server and a DB (Data Base) server, and specific ones such as a Tomcat server and a MySQL server. In addition, the component is expressed as Resource Type in AWS Cloud Formation and Node Type in OASIS TOSCA.

また、「依存性情報」とは、ある構成要素が必要としている要求と、ある構成要素が提供可能な能力との定義を示す。OASIS TOSCAでは、あるNode Type の Requirement と Capability という定義で表現される。 Further, "dependency information" indicates a definition of a requirement required by a certain component and a capability that a certain component can provide. In OASIS TOSCA, it is expressed by the definition of Requirement and Capability of a certain Node Type.

このため、従来において、宣言的モデルを新規に作成する場合は、サンプル定義を参照して宣言的モデルに修正を加えて行くか、作成した定義を使って実際のプロビジョニングを行ってTry & Errorを繰り返して「正しい」定義へ収束させていくかする必要がある。また、特許文献1には、構築結果の情報に基づいて、作成した宣言的モデルを解析し、更に解析結果に基づいて、宣言的モデルを改良する技術が開示されている。 Therefore, in the past, when creating a new declarative model, refer to the sample definition and modify the declarative model, or perform actual provisioning using the created definition and issue Try & Error. It is necessary to repeatedly converge to the "correct" definition. Further, Patent Document 1 discloses a technique of analyzing a created declarative model based on the information of the construction result and further improving the declarative model based on the analysis result.

なお、宣言的モデルの定義を、変換ツールなどを使用して再利用することも考えられるが、一部の例外(AWS CFN記述は、OpenStackで使用可能)を除き、そのまま利用することは不可能である。また、OASIS TOSCAでは、標準的な定義を策定することで、定義にポータビリティを付与しようとしているが、この場合でもTry & Errorは必要である。 It is possible to reuse the definition of the declarative model using a conversion tool, but it is impossible to use it as it is, with some exceptions (AWS CFN description can be used in OpenStack). Is. In addition, OASIS TOSCA is trying to add portability to the definition by formulating a standard definition, but even in this case, Try & Error is necessary.

特表2010−532532号公報Special Table 2010-532532

新崎準,外3名,“新技術の動向”,[online],平成10年4月1日,特許学会,[平成11年7月30日検索],インターネット<URL:https://aws.amazon.com/jp/cloudformation/details/#designer>Jun Niizaki, 3 outsiders, "Trends in new technology", [online], April 1, 1998, Patent Society, [Search on July 30, 1999], Internet <URL: https: // aws. amazon.com/jp/cloudformation/details/#designer >

ところで、上述した特許文献1に開示された技術によれば、サンプル定義を参照する場合、及びTry & Errorを繰り返す場合に比べて、宣言的モデルを効率良く改良することができるが、利用者の意図しない改良が行われてしまうという問題点がある。理由は以下の(a)〜(f)の通りである。 By the way, according to the technique disclosed in Patent Document 1 described above, the declarative model can be efficiently improved as compared with the case of referring to the sample definition and the case of repeating Try & Error. There is a problem that unintended improvements are made. The reasons are as follows (a) to (f).

(a)構成要素間の依存の改良に注目して宣言的モデルの改良が行われるが、個々の構成要素の改良は行われない。
(b)宣言的モデルから生成される命令について、実際の実行時にエラーとなる場合が考慮されていない。
(c)改良を加えるための知識が明確でない。
(d)特許文献1には、主に性能情報による負荷分散構成の改良について例示があるが、実際のシステムでは組み込まれている宣言的モデルの作成者(エディタ利用者)による意図的な知識が組み込まれていない。
(e)宣言的モデルをリポジトリへ登録したあとで改良が加えられている。
(f)宣言的モデルの作成者(エディタ利用者)に対して、宣言的モデルの作成段階で依存性情報に基づいた改良を提示すべきだが、そのような提示がなされていない。
(A) The declarative model is improved by focusing on the improvement of the dependency between the components, but the individual components are not improved.
(B) Regarding the instruction generated from the declarative model, the case where an error occurs at the time of actual execution is not considered.
(C) Knowledge for making improvements is not clear.
(D) Patent Document 1 exemplifies the improvement of the load balancing configuration mainly by the performance information, but the intentional knowledge by the creator (editor user) of the declarative model incorporated in the actual system is available. Not built in.
(E) Improvements have been made after registering the declarative model in the repository.
(F) The creator of the declarative model (editor user) should be presented with improvements based on the dependency information at the stage of creating the declarative model, but such presentation has not been made.

本発明の目的の一例は、上記問題を解消し、宣言的モデルの作成において、宣言的モデルを利用者の意図する方向へと導くための情報を提示し得る、システム構築支援装置、システム構築支援方法、及びプログラムを提供することにある。 An example of the object of the present invention is a system construction support device and system construction support that can solve the above problems and present information for guiding the declarative model in the direction intended by the user in the creation of the declarative model. To provide methods and programs.

上記目的を達成するため、本発明の一側面におけるシステム構築支援装置は、宣言的モデルによって定義されるシステムの構築を支援するための装置であって、
前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、情報収集部と、
前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、支援情報作成部と、
を備えている、ことを特徴とする。
In order to achieve the above object, the system construction support device in one aspect of the present invention is a device for supporting the construction of the system defined by the declarative model.
An information gathering unit that collects dependency information that identifies the dependencies of the components that make up the declarative model.
Support information that creates support information to support the modification of the declarative model by applying the dependency information to the prediction model that predicts the influence of the dependency of the component on the declarative model. With the creation department
It is characterized by having.

また、上記目的を達成するため、本発明の一側面におけるシステム構築支援方法は、宣言的モデルによって定義されるシステムの構築を支援するための方法であって、
(a)前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、ステップと、
(b)前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、ステップと、
を有する、ことを特徴とする。
Further, in order to achieve the above object, the system construction support method in one aspect of the present invention is a method for supporting the construction of the system defined by the declarative model.
(A) A step that collects dependency information that identifies the dependencies of the components that make up the declarative model.
(B) By applying the dependency information to a prediction model that predicts the influence of the dependency of the component on the declarative model, support information for supporting the modification of the declarative model is created. , Steps and
It is characterized by having.

更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、宣言的モデルによって定義されるシステムの構築を支援するためのプログラムであって、
前記コンピュータに、
(a)前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、ステップと、
(b)前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、ステップと、
を実行させることを特徴とする。
Further, in order to achieve the above object, the program in one aspect of the present invention is a program for supporting the construction of a system defined by a declarative model by a computer.
To the computer
(A) A step that collects dependency information that identifies the dependencies of the components that make up the declarative model.
(B) By applying the dependency information to a prediction model that predicts the influence of the dependency of the component on the declarative model, support information for supporting the modification of the declarative model is created. , Steps and
Is characterized by executing.

以上のように本発明によれば、宣言的モデルの作成において、宣言的モデルを利用者の意図する方向へと導くための情報を提示することができる。 As described above, according to the present invention, in creating a declarative model, it is possible to present information for guiding the declarative model in the direction intended by the user.

図1は、本発明の実施の形態におけるシステム構築支援装置の概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of a system construction support device according to an embodiment of the present invention. 図2は、本発明の実施の形態におけるシステム構築支援装置の具体的構成を示すブロック図である。FIG. 2 is a block diagram showing a specific configuration of the system construction support device according to the embodiment of the present invention. 図3は、本発明の実施の形態で利用されるローカル情報とパブリック情報との一例を示す図である。FIG. 3 is a diagram showing an example of local information and public information used in the embodiment of the present invention. 図4は、本実施の形態で用いられる宣言的モデルの定義とシステムの構成要素との関係の一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of the relationship between the definition of the declarative model used in the present embodiment and the components of the system. 図5は、本発明の実施の形態におけるシステム構築支援装置の動作を示すフロー図である。FIG. 5 is a flow chart showing the operation of the system construction support device according to the embodiment of the present invention. 図6は、本発明の実施の形態におけるシステム構築支援装置によって得られる効果を示す図である。FIG. 6 is a diagram showing the effects obtained by the system construction support device according to the embodiment of the present invention. 図7は、本発明の実施の形態におけるシステム構築支援装置を実現するコンピュータの一例を示すブロック図である。FIG. 7 is a block diagram showing an example of a computer that realizes the system construction support device according to the embodiment of the present invention.

(実施の形態)
以下、本発明の実施の形態における、システム構築支援装置、システム構築支援方法、及びプログラムについて、図1〜図7を参照しながら説明する。
(Embodiment)
Hereinafter, the system construction support device, the system construction support method, and the program according to the embodiment of the present invention will be described with reference to FIGS. 1 to 7.

[装置構成]
最初に、図1を用いて、本発明の実施の形態におけるシステム構築支援装置の構成について説明する。図1は、本発明の実施の形態におけるシステム構築支援装置の概略構成を示すブロック図である。
[Device configuration]
First, the configuration of the system construction support device according to the embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram showing a schematic configuration of a system construction support device according to an embodiment of the present invention.

図1に示す、本実施の形態におけるシステム構築支援装置1は、宣言的モデルによって定義されるシステム1000の構築を支援するための装置である。図1に示すように、システム構築支援装置1は、情報収集部2と、支援情報作成部3とを備えている。 The system construction support device 1 in the present embodiment shown in FIG. 1 is a device for supporting the construction of the system 1000 defined by the declarative model. As shown in FIG. 1, the system construction support device 1 includes an information collecting unit 2 and a support information creating unit 3.

情報収集部2は、宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する。支援情報作成部3は、構成要素の依存性が宣言的モデルに与える影響を予測する予測モデルを用いて、宣言的モデルの修正を支援するための支援情報を作成する。 The information collecting unit 2 collects dependency information that identifies the dependencies of the components constituting the declarative model. The support information creation unit 3 creates support information for supporting the modification of the declarative model by using the prediction model that predicts the influence of the dependency of the component on the declarative model.

このように、本実施の形態では、宣言的モデルの修正を支援するための支援情報が作成されるので、宣言的モデルの作成において、宣言的モデルを利用者の意図する方向へと導くための情報を提示することできる。 As described above, in the present embodiment, the support information for supporting the modification of the declarative model is created. Therefore, in the creation of the declarative model, the declarative model is guided in the direction intended by the user. Information can be presented.

続いて、図2を用いて、本実施の形態におけるシステム構築支援装置1の構成についてより具体的に説明する。図2は、本発明の実施の形態におけるシステム構築支援装置の具体的構成を示すブロック図である。 Subsequently, with reference to FIG. 2, the configuration of the system construction support device 1 in the present embodiment will be described more specifically. FIG. 2 is a block diagram showing a specific configuration of the system construction support device according to the embodiment of the present invention.

図2に示すように、本実施の形態では、システム構築支援装置1は、支援対象となるシステム1000に組み込まれている。具体的には、後述するように、システム1000を構成するコンピュータに導入されたプログラムによって構築されている。 As shown in FIG. 2, in the present embodiment, the system construction support device 1 is incorporated in the system 1000 to be supported. Specifically, as will be described later, it is constructed by a program installed in a computer constituting the system 1000.

また、図2に示すように、システム1000は、宣言的モデル編集コンポーネント100と、モデルリポジトリ101と、宣言的モデルオーケストレータ200と、ワークフロー実行コンポーネント300と、実行環境400とを備えている。 Further, as shown in FIG. 2, the system 1000 includes a declarative model editing component 100, a model repository 101, a declarative model orchestrator 200, a workflow execution component 300, and an execution environment 400.

宣言的モデル編集コンポーネント100は、利用者による宣言的モデルの編集を受け付け、更に、利用者による指示に応じて、JSON又はYAMLなどのソースコードを出力するツールである。また、宣言的モデル編集コンポーネント100は、一般的には、GUI(Graphical User Interface)を持つエディタとしても機能する。 The declarative model editing component 100 is a tool that accepts the editing of the declarative model by the user and further outputs the source code such as JSON or YAML in response to the instruction by the user. The declarative model editing component 100 also generally functions as an editor having a GUI (Graphical User Interface).

更に、宣言的モデル編集コンポーネント100によって編集された宣言的モデル11(テキスト情報)は、モデルリポジトリ101に保持される。モデルリポジトリ101は、宣言的モデル11をローカル環境で格納するリポジトリである。 Further, the declarative model 11 (text information) edited by the declarative model editing component 100 is held in the model repository 101. The model repository 101 is a repository that stores the declarative model 11 in the local environment.

宣言的モデルオーケストレータ200は、宣言的モデル11を解釈し、解釈に応じて、宣言的モデルを、実行処理を行うための内部インタプリタへと変換する。また、この内部インタプリタは、図2においては、ワークフロー21と表記されており、テキスト情報で構成されている。ワークフロー21は、ワークフロー実行コンポーネット300に送られる。また、宣言的モデルオーケストレータ200は、TOSCA リファレンス実装、OpenStack Heat 実装等によって実装される。 The declarative model orchestrator 200 interprets the declarative model 11 and, depending on the interpretation, transforms the declarative model into an internal interpreter for performing execution processing. Further, this internal interpreter is described as workflow 21 in FIG. 2, and is composed of text information. The workflow 21 is sent to the workflow execution component 300. Further, the declarative model orchestrator 200 is implemented by the TOSCA reference implementation, the OpenStack Heat implementation, and the like.

ワークフロー実行コンポーネント300は、システム1000を構築する実行基盤に応じて、具体的には、宣言的モデルオーケストレータ200によって解釈された宣言的モデルの指示、即ち、ワークフロー21に沿って、実際のプロビジョニング処理を実行する。また、ワークフロー実行コンポーネント300には、様々な実行環境に対応するため、各実行環境に対応したデータ変換、API呼び出し等を実行するプラグインパターンによって実装される。 The workflow execution component 300 specifically indicates the declarative model interpreted by the declarative model orchestrator 200 according to the execution platform for constructing the system 1000, that is, the actual provisioning process is performed according to the workflow 21. To execute. Further, in order to correspond to various execution environments, the workflow execution component 300 is implemented by a plug-in pattern that executes data conversion, API call, etc. corresponding to each execution environment.

実行環境400は、実際のシステムを稼働させるための実行環境である。実行環境400の具体例としては、VMware、OpenStack、及びAWS等が挙げられる。また、図2に示すように、実行環境400では、システム定義情報401と、ログ情報402とが保持されている。 The execution environment 400 is an execution environment for operating an actual system. Specific examples of the execution environment 400 include VMware, OpenStack, AWS, and the like. Further, as shown in FIG. 2, in the execution environment 400, the system definition information 401 and the log information 402 are held.

システム定義情報401は、実際の動作環境上のシステムに関する定義情報一式である。システム定義情報401としては、例えば、Webサーバアプリケーションの設定ファイル、オペレーティングシステムのカーネルパラメータ等が挙げられる。ログ情報402は、実際の動作環境上のシステムに関するログ情報一式である。 The system definition information 401 is a set of definition information related to the system in the actual operating environment. Examples of the system definition information 401 include a setting file of a Web server application, a kernel parameter of an operating system, and the like. The log information 402 is a set of log information related to the system in the actual operating environment.

また、モデル構成要素リポジトリ700は、宣言的モデルを作成する際の構成要素を格納するリポジトリである。具体的には、モデル構成要素リポジトリ700は、例えば、OASIS TOSCAでは、Node Type と呼ばれている。 Further, the model component repository 700 is a repository for storing components when creating a declarative model. Specifically, the model component repository 700 is called Node Type in OASIS TOSCA, for example.

更に、図2に示すように、システム1000は、インターネット600に接続されている。システム1000は、インターネット600上に公開されている公開リポジトリ群601にアクセスする。公開リポジトリ群601の例としては、宣言的モデルツール(例えば、OpenStack Heat、AWS Cloud Formation等)、 IaCツール(例えば、Ansible、Docker等)の利用の際に用いられる定義情報(GitHub、Docker Hub、 Ansible-Galaxy等)が挙げられる。これらの定義情報は、インターネット600上で公開されている。 Further, as shown in FIG. 2, the system 1000 is connected to the Internet 600. The system 1000 accesses the public repository group 601 published on the Internet 600. Examples of public repositories 601 include definition information (GitHub, Docker Hub, etc.) used when using declarative model tools (eg, OpenStack Heat, AWS Cloud Formation, etc.) and IaC tools (eg, Ansible, Docker, etc.). Ansible-Galaxy etc.). These definition information are published on the Internet 600.

また、図2に示すように、システム1000は、上述した構成に加えて、宣言的モデル解析コンポーネント510と、ワークフロー実行状況解析コンポーネント520と、既存システム解析コンポーネント530と、ログ解析コンポーネント540と、公開システム構成情報解析コンポーネント550も備えている。 Further, as shown in FIG. 2, in addition to the above-described configuration, the system 1000 is open to the public with a declarative model analysis component 510, a workflow execution status analysis component 520, an existing system analysis component 530, and a log analysis component 540. It also has a system configuration information analysis component 550.

これらの解析コンポーネント510〜550は、情報収集部2による依存性情報の収集に用いられるコンポーネントである。解析コンポーネント510〜550は、利用者のローカル環境の情報(ローカル情報)、及びインターネット上に公開されている情報(パブリック情報)から、依存性情報(テキスト情報)を取得し、取得した依存性情報を情報収集部2に入力する。 These analysis components 510 to 550 are components used for collecting dependency information by the information collecting unit 2. The analysis component 510 to 550 acquires the dependency information (text information) from the information of the user's local environment (local information) and the information published on the Internet (public information), and the acquired dependency information. Is input to the information collecting unit 2.

また、これらの解析コンポーネント510〜550によって取得される情報には、直接的な依存性に関する情報以外に、エラー、性能監視結果、構成要素に関する意味情報(例えばWebサーバであるとか、DBサーバであるとか)、ベストプラクティスであることを示す情報、アンチパターンであることを示す情報、等が含まれる。 In addition to the information related to direct dependencies, the information acquired by these analysis components 510 to 550 includes semantic information related to errors, performance monitoring results, and components (for example, a Web server or a DB server). ), Information indicating that it is a best practice, information indicating that it is an anti-pattern, etc. are included.

また、ローカル情報とは、モデルリポジトリ101、実行環境400で保持されている情報を意味する。また、パブリック情報とは、公開リポジトリ群601で保持されている情報を意味する。図3は、本発明の実施の形態で利用されるローカル情報とパブリック情報との一例を示す図である。 Further, the local information means the information held in the model repository 101 and the execution environment 400. Further, the public information means the information held in the public repository group 601. FIG. 3 is a diagram showing an example of local information and public information used in the embodiment of the present invention.

具体的には、宣言的モデル解析コンポーネント510は、ローカル情報として格納されている宣言的モデル11の依存性定義を解析し、それによって得られた情報(解析結果51)を、システム構築支援装置1に送る。 Specifically, the declarative model analysis component 510 analyzes the dependency definition of the declarative model 11 stored as local information, and the information (analysis result 51) obtained by the analysis is used as the system construction support device 1. Send to.

ワークフロー実行状況解析コンポーネント520は、ワークフロー実行コンポーネント300による、宣言的モデルを用いたワークフローの実行結果(例えば、APIの返却値、ログ情報)から、エラーを解析する。エラーとしては、依存性に関する定義で発生したエラーが挙げられる。そして、ワークフロー実行状況解析コンポーネント520は、エラーの解析によって得られた情報(解析結果52)を、システム構築支援装置1に送る。 The workflow execution status analysis component 520 analyzes an error from the workflow execution result (for example, API return value, log information) using the declarative model by the workflow execution component 300. Errors include errors that occur in the dependency definition. Then, the workflow execution status analysis component 520 sends the information (analysis result 52) obtained by the error analysis to the system construction support device 1.

既存システム解析コンポーネント530は、システム1000の一般情報に基づいて、システム1000の定義を解析する。具体的には、既存システム解析コンポーネント530は、実行環境400上で動作しているシステムに関する情報、及びその基盤に存在している依存性に関する情報を解析する。そして、既存システム解析コンポーネント530は、定義の解析によって得られた情報(解析結果53)を、システム構築支援装置1に送る。 The existing system analysis component 530 analyzes the definition of the system 1000 based on the general information of the system 1000. Specifically, the existing system analysis component 530 analyzes the information about the system operating on the execution environment 400 and the information about the dependency existing in the base thereof. Then, the existing system analysis component 530 sends the information (analysis result 53) obtained by the analysis of the definition to the system construction support device 1.

ログ解析コンポーネント540は、システム1000に保持されているログ(ログ情報402)を解析し、それによって得られた情報(解析結果54)を、システム構築支援装置1に送る。この場合のログの例としては、実行環境400上で発生するシステムのログ、アプリケーションプログラムにおけるログ等が挙げられる。 The log analysis component 540 analyzes the log (log information 402) held in the system 1000, and sends the information (analysis result 54) obtained by the analysis to the system construction support device 1. Examples of the log in this case include a system log generated on the execution environment 400, a log in an application program, and the like.

また、公開システム構成情報解析コンポーネント550は、インターネット600上に公開されている公開リポジトリ群601を解析し、それによって得られた情報(解析結果55)を、システム構築支援装置1に送る。具体的には、公開システム構成情報解析コンポーネント550は、公開リポジトリ群601から、システム定義情報61と、使用状況情報62とを取得する。 Further, the public system configuration information analysis component 550 analyzes the public repository group 601 published on the Internet 600, and sends the information (analysis result 55) obtained by the analysis to the system construction support device 1. Specifically, the public system configuration information analysis component 550 acquires the system definition information 61 and the usage status information 62 from the public repository group 601.

システム定義情報61は、宣言的モデル及びシステム構成に関するパブリック情報であり、具体的には、OpenStack Heat Orchestration Template (HOT), AWS Cloud Formation Template, Dockerfile, Playbook等のテキスト情報である。また、使用状況情報62は、インターネット600上で公開されている情報についての利用状況を示すデータ、例えば、ダウンロード数、Like数、GitHub上でのFolk数等である。 The system definition information 61 is public information regarding a declarative model and a system configuration, and specifically, is text information such as OpenStack Heat Orchestration Template (HOT), AWS Cloud Formation Template, Dockerfile, and playbook. Further, the usage status information 62 is data indicating the usage status of the information published on the Internet 600, for example, the number of downloads, the number of Likes, the number of Folks on GitHub, and the like.

また、本実施の形態において、利用される解析コンポーネントは、上述の解析コンポーネントに限定されることはない。収集される依存性情報の種類及び数に併せて、解析コンポーネントも増え、依存関係の補完精度が向上することとなる。 Further, in the present embodiment, the analysis component used is not limited to the above-mentioned analysis component. Depending on the type and number of dependency information collected, the number of analysis components will increase, and the accuracy of dependency complementation will improve.

また、図2に示すように、本実施の形態では、システム構築支援装置1は、上述した情報収集部2及び支援情報作成部3に加えて、更に、予測モデル生成部4と、予測モデル格納部5と、依存関係バルクデータ・データベース(DB:Data Base)6とを備えている。 Further, as shown in FIG. 2, in the present embodiment, the system construction support device 1 further includes a prediction model generation unit 4 and a prediction model storage in addition to the above-mentioned information collection unit 2 and support information creation unit 3. A unit 5 and a dependency bulk data database (DB: Data Base) 6 are provided.

予測モデル生成部4は、学習用の依存性情報と学習用の宣言的モデルとを教師データとする、機械学習を行って、予測モデルを生成する。具体的には、予測モデル生成部4は、まず、学習用の依存性情報と学習用の宣言的モデルとのそれぞれから特徴量を抽出する。次いで、予測モデル生成部4は、抽出した依存性情報の特徴量と宣言的モデルの特徴量とを、構成要素についての「汎化」、「正しさ」、「ローカル依存性」、「アンチパターン」といった項目で分類する。そして、予測モデル生成部4は、各特徴量と分類結果とを関連付け、これらの関係を学習し、学習結果を用いて、予測モデルを生成する。生成された予測モデルは、予測モデル格納部5に格納される。 The prediction model generation unit 4 generates a prediction model by performing machine learning using the dependency information for learning and the declarative model for learning as teacher data. Specifically, the prediction model generation unit 4 first extracts features from each of the dependency information for learning and the declarative model for learning. Next, the prediction model generation unit 4 uses the extracted dependency information feature amount and the declarative model feature amount as "generalization", "correctness", "local dependency", and "anti-pattern" for the components. ”Is classified by items such as. Then, the prediction model generation unit 4 associates each feature amount with the classification result, learns these relationships, and generates a prediction model using the learning result. The generated prediction model is stored in the prediction model storage unit 5.

また、予測モデル生成部4は、学習用の依存性情報をローカル情報とパブリック情報とに区別して機械学習を行うこともできる。これにより、より精度の高い予測モデルを作成することができる。これは、学習用の依存性情報として、パブリック情報を用いた場合は、広く一般的に利用されている全体最適観点で学習効果が得られるからである。また、学習用の依存性情報として、ローカル情報を用いた場合は、システムを構築及び運用している独自のノウハウに関する学習効果が得られるからである。 Further, the prediction model generation unit 4 can also perform machine learning by distinguishing the dependency information for learning into local information and public information. This makes it possible to create a more accurate prediction model. This is because when public information is used as the dependency information for learning, the learning effect can be obtained from the widely and generally used overall optimum viewpoint. Further, when local information is used as the dependency information for learning, the learning effect regarding the unique know-how for constructing and operating the system can be obtained.

更に、学習用の依存性情報として、ローカル情報を用いた場合は、予測モデルによって、宣言的モデル作成時に一般的な定義とは異なるそのシステム固有の調整の提案も可能となる。加えて、この場合は、既存のオンプレミスシステムを例えばクラウド環境へ移行するための宣言的モデルの作成において、重要な関係性及び運用項目を落とすことなく定義できることとなる。 Furthermore, when local information is used as the dependency information for learning, the prediction model makes it possible to propose system-specific adjustments that are different from the general definition when creating a declarative model. In addition, in this case, it will be possible to define an existing on-premises system without dropping important relationships and operational items in creating a declarative model for migrating to a cloud environment, for example.

情報収集部2は、本実施の形態では、上述した各解析コンポーネント510〜550それぞれから送られてきた依存性情報を取得し、これらを収集する。情報収集部2は、収集した依存性情報を、依存関係バルクデータDB6に格納する。 In the present embodiment, the information collecting unit 2 acquires the dependency information sent from each of the above-mentioned analysis components 510 to 550 and collects them. The information collecting unit 2 stores the collected dependency information in the dependency bulk data DB 6.

また、情報収集部2は、上述した解析コンポーネントのうち、宣言的モデル解析コンポーネント510、ワークフロー実行状況解析コンポーネント520、既存システム解析コンポーネント530、及びログ解析コンポーネント540からは、ローカル情報を収集する。更に、情報収集部2は、公開システム構成情報解析コンポーネント550からは、パブリック情報を収集する。このため、情報収集部2は、ローカル情報とパブリック情報とを区別して収集し、収集した各情報に、ローカル情報及びパブリック情報のいずれであるかを示すラベルを付与することができる。 Further, the information collecting unit 2 collects local information from the declarative model analysis component 510, the workflow execution status analysis component 520, the existing system analysis component 530, and the log analysis component 540 among the above-mentioned analysis components. Further, the information collecting unit 2 collects public information from the public system configuration information analysis component 550. Therefore, the information collecting unit 2 can collect the local information and the public information separately, and can attach a label indicating whether the collected information is the local information or the public information to each of the collected information.

支援情報作成部3は、本実施の形態では、予測モデル格納部5に格納されている予測モデルに、依存関係バルクデータDB6に格納されている依存性情報を適用することで、支援情報を作成する。また、支援情報作成部3は、情報収集部2によって収集された依存性情報に、上述のラベルが付与された場合は、付与されているラベルと共に依存性情報を予測モデルに適用する。この場合は、ラベルの内容が反映された、より適切な支援情報が作成されることになる。 In the present embodiment, the support information creation unit 3 creates support information by applying the dependency information stored in the dependency bulk data DB 6 to the prediction model stored in the prediction model storage unit 5. do. Further, when the above-mentioned label is attached to the dependency information collected by the information collecting unit 2, the support information creating unit 3 applies the dependency information to the prediction model together with the attached label. In this case, more appropriate support information that reflects the contents of the label will be created.

具体的には、支援情報作成部3は、予測モデルを用いることで、作成された宣言的モデルによってワークフローが動作するかどうかを推測する。また、このときの推測は、予測モデルを用いた仮説推論によって行われていても良い。そして、支援情報作成部3は、支援情報として、宣言的モデルの作成において、構成要素それぞれの間の依存関係の生成、補完、又は補正を支援するための情報を作成する。また、支援情報作成部3は、典型的な実装では、APIを提供する。 Specifically, the support information creation unit 3 infers whether or not the workflow operates according to the created declarative model by using the prediction model. Further, the guessing at this time may be performed by hypothetical reasoning using a prediction model. Then, the support information creation unit 3 creates, as support information, information for supporting the generation, complementation, or correction of the dependency between the constituent elements in the creation of the declarative model. Further, the support information creation unit 3 provides an API in a typical implementation.

ここで、図4を用いて、本実施の形態で用いられる宣言的モデルの定義とシステムの構成要素との関係について説明する。図4は、本実施の形態で用いられる宣言的モデルの定義とシステムの構成要素との関係の一例を示す説明図である。 Here, with reference to FIG. 4, the relationship between the definition of the declarative model used in the present embodiment and the components of the system will be described. FIG. 4 is an explanatory diagram showing an example of the relationship between the definition of the declarative model used in the present embodiment and the components of the system.

図4は、構成要素に基づいて宣言的モデルが構築されているとう概念が示されている。また、図4に示すように、構成要素と宣言的モデル内の実体とは、クラス定義とその実体オブジェクトとして比喩される。更に、図4の例では、OASIS TOSCAによって定義される宣言的モデルと構成要素とが示されている。なお、OASIS TOSCAは、クラウド上で稼働する業務システムのシステム構成(トポロジ)を定義するための仕様の一つである。また、図4において、各構成要素の依存関係は、構成要素に付加されている”Requirements” と“Capabilities”とを、”Hosted On”(図3参照)で紐付けることによって表されている。 FIG. 4 shows the concept that a declarative model is constructed based on the components. Further, as shown in FIG. 4, the component and the entity in the declarative model are metaphorized as a class definition and its entity object. Further, in the example of FIG. 4, the declarative model and components defined by OASIS TOSCA are shown. OASIS TOSCA is one of the specifications for defining the system configuration (topology) of a business system running on the cloud. Further, in FIG. 4, the dependency relationship of each component is represented by associating "Requirements" and "Capabilities" added to the component with "Hosted On" (see FIG. 3).

[装置動作]
次に、本実施の形態におけるシステム構築支援装置1の動作について図5を用いて説明する。図5は、本発明の実施の形態におけるシステム構築支援装置の動作を示すフロー図である。また、本実施の形態では、システム構築支援装置1を動作させることによって、システム構築支援方法が実施される。よって、本実施の形態におけるシステム構築支援方法の説明は、以下のシステム構築支援装置1の動作説明に代える。
[Device operation]
Next, the operation of the system construction support device 1 in the present embodiment will be described with reference to FIG. FIG. 5 is a flow chart showing the operation of the system construction support device according to the embodiment of the present invention. Further, in the present embodiment, the system construction support method is implemented by operating the system construction support device 1. Therefore, the description of the system construction support method in the present embodiment is replaced with the following operation description of the system construction support device 1.

図5に示すように、最初に、システム構築支援装置1において、情報収集部2が、宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する(ステップA1)。また、情報収集部2は、収集した依存性情報を、依存関係バルクデータDB6に格納する。 As shown in FIG. 5, first, in the system construction support device 1, the information collecting unit 2 collects the dependency information for specifying the dependency of the components constituting the declarative model (step A1). Further, the information collecting unit 2 stores the collected dependency information in the dependency bulk data DB 6.

具体的には、本実施の形態では、宣言的モデル解析コンポーネント510、ワークロー実行状況解析コンポーネント520、既存システム解析コンポーネント530、ログ解析コンポーネント540、及び公開システム構成情報解析コンポーネント550それぞれが、定期的に又は特定のイベントを契機に、解析を実行し、それによって得られた解析結果を送信する。情報収集部2は、送信されてきた解析結果を、依存性情報として収集する。 Specifically, in the present embodiment, the declarative model analysis component 510, the work row execution status analysis component 520, the existing system analysis component 530, the log analysis component 540, and the public system configuration information analysis component 550 each periodically. Alternatively, the analysis is executed with a specific event as an opportunity, and the analysis result obtained by the analysis is transmitted. The information collecting unit 2 collects the transmitted analysis result as dependency information.

次に、支援情報作成部3は、予測モデル格納部5に格納されている予測モデルに、ステップA1で収集された依存性情報を適用することによって、支援情報を作成する(ステップA2)。 Next, the support information creation unit 3 creates support information by applying the dependency information collected in step A1 to the prediction model stored in the prediction model storage unit 5 (step A2).

具体的には、支援情報作成部3は、支援情報として、利用者が宣言的モデルをより正しい方向に導けるようにする情報、更には、使用性に耐えられるシステム構成が構築されるように宣言的モデルを補完する情報を作成する。 Specifically, the support information creation unit 3 declares that the support information is information that allows the user to guide the declarative model in a more correct direction, and that a system configuration that can withstand usability is constructed. Create information that complements the target model.

その後、支援情報作成部3は、ステップA2で作成した支援情報を、利用者に提示する(ステップA3)。具体的には、支援情報作成部3は、システム1000を構成している表示装置の画面上に、又はシステム1000に接続された端末装置の画面上に、支援情報を表示させる。 After that, the support information creation unit 3 presents the support information created in step A2 to the user (step A3). Specifically, the support information creation unit 3 displays the support information on the screen of the display device constituting the system 1000 or on the screen of the terminal device connected to the system 1000.

ステップA3が実行されると、利用者は、宣言的モデル編集コンポーネント100を介して、表示された支援情報に基づいて、宣言的モデルの作成、補完、又は補正を実行する。その後、宣言的モデルは、一般的には、その構成に従った動作環境を自動構築(プロビジョニング)するために利用される。具体的には、作成、補完又は補正の済んだ宣言的モデルの定義に沿って、プロビジョニング用のワークフローが生成され、実環境上にシステムが構築される。 When step A3 is executed, the user creates, complements, or modifies the declarative model based on the displayed support information via the declarative model editing component 100. After that, the declarative model is generally used to automatically build (provision) the operating environment according to the configuration. Specifically, a workflow for provisioning is generated according to the definition of a declarative model that has been created, complemented, or corrected, and the system is constructed in the actual environment.

[実施の形態による効果]
このように、本実施の形態では、宣言的モデルの修正を支援するための支援情報が作成されるので、宣言的モデルの作成において、宣言的モデルを利用者の意図する方向へと導くための情報を提示することできる。
[Effects of embodiments]
As described above, in the present embodiment, the support information for supporting the modification of the declarative model is created. Therefore, in the creation of the declarative model, the declarative model is guided in the direction intended by the user. Information can be presented.

続いて、図6を用いて、本実施の形態における効果について具体的に説明する。図6は、本発明の実施の形態におけるシステム構築支援装置によって得られる効果を示す図である。図6の例では、利用者である宣言的モデル作成者と構成要素設計者とのそれぞれにおける立場での効果が示されている。以下に、利用者毎に効果を説明する。 Subsequently, the effect in the present embodiment will be specifically described with reference to FIG. FIG. 6 is a diagram showing the effects obtained by the system construction support device according to the embodiment of the present invention. In the example of FIG. 6, the effect in each of the declarative model creator and the component designer who are users is shown. The effects will be described below for each user.

まず、構成要素作成者は、宣言的モデルで使用する構成要素(部品)を定義する。具体的には、構成要素作成者は、企業の情報処理システム部門において、業務システムが稼働する基盤を提供している。つまり、構成要素作成者は、この基盤として提供可能な構成要素を業務システム設計者へ提供することになる。 First, the component creator defines the components (parts) used in the declarative model. Specifically, the component creator provides the infrastructure for operating the business system in the information processing system department of the company. In other words, the component creator will provide the business system designer with the components that can be provided as this basis.

そして、構成要素作成者は、構成要素の定義を行う際、その構成要素がどのような要求事項を持ち、更に、提供可能な能力を持つのか、漏れなく定義をしていく必要がある。この場合において、本実施の形態におけるシステム構築支援装置1によれば、構成要素の依存性に関する情報(依存性情報)を返却できるので(提供機能1)、「正しい」、「当該ローカル環境の利用に即した」構成要素を作成することが可能となる。 Then, when defining a component, the component creator needs to define without omission what kind of requirements the component has and what ability it can provide. In this case, according to the system construction support device 1 in the present embodiment, the information (dependency information) regarding the dependency of the component can be returned (provided function 1), so that it is "correct" and "use of the local environment". It is possible to create "according to" components.

また、宣言的モデル作成者は、業務システム等のひと塊で意味のあるシステムの構成を宣言的モデルとして設計する。具体的には、宣言的モデル作成者は、業務システムの開発者である。従来であれば、宣言的モデル作成者は、構成要素間の依存定義を経験と勘によって、宣言的モデルを定義する。 In addition, the declarative model creator designs a system configuration that is meaningful as a group such as a business system as a declarative model. Specifically, the declarative model creator is the developer of the business system. Traditionally, declarative model creators define declarative models by experience and intuition of dependency definitions between components.

これに対して、本実施の形態におけるシステム構築支援装置1によれば、支援情報が提供されるので(提供機能2)、宣言的モデル作成者は、宣言的モデルを作成する際に、構成要素間の依存定義を経験と勘によって定義することなく、宣言的モデルを作成することができる。なお、このとき提供される支援情報には、構成要素間の依存性情報が含まれる。 On the other hand, according to the system construction support device 1 in the present embodiment, the support information is provided (provided function 2), so that the declarative model creator is a component when creating the declarative model. A declarative model can be created without defining the dependency definition between them by experience and intuition. The support information provided at this time includes dependency information between the components.

また、本実施の形態では、予測モデルが利用されるので、作成された宣言的モデルによってワークフローが動作するかどうかを、実際のプロビジョニングを行うことなく、推測することが可能となる(提供機能2)。 Further, in the present embodiment, since the prediction model is used, it is possible to infer whether or not the workflow operates by the created declarative model without actually provisioning (provided function 2). ).

以上のように、本実施の形態によれば、宣言的モデル作成からプロビジョニングのライフサイクルにおいて、以下の効果を得ることができる。
宣言的モデルの作成の容易化(効率化)。
エディタ編集中における依存性の補完又は補正の自動化。
宣言的モデルの正確性の向上(定義の品質面)。
As described above, according to the present embodiment, the following effects can be obtained in the life cycle of provisioning from the declarative model creation.
Facilitating (efficiency) creation of declarative models.
Automation of dependency completion or correction during editor editing.
Improved accuracy of declarative models (quality of definition).

また、上述したように、本実施の形態では、宣言的モデルのエディタでの編集中において、パブリックで使われているベストプラクティス、ローカル環境でのエラー情報等から、宣言的モデルの正確さを推測でき、推測結果を利用者に提示できる。更に、本実施の形態では、ローカルから様々な情報を収集してその結果を学習できるため、ローカル環境のノウハウをコード化することもできる。 Further, as described above, in the present embodiment, the accuracy of the declarative model is estimated from the best practices used in the public, the error information in the local environment, etc. while editing the declarative model with the editor. Yes, the guess result can be presented to the user. Further, in the present embodiment, since various information can be collected from the local and the result can be learned, the know-how of the local environment can be encoded.

[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図5に示すステップA1〜A3を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるシステム構築支援装置とシステム構築支援方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、情報収集部2、支援情報作成部3、及び予測モデル生成部4として機能し、処理を行なう。
[program]
The program in the present embodiment may be any program as long as it causes a computer to execute steps A1 to A3 shown in FIG. By installing and executing this program on a computer, the system construction support device and the system construction support method according to the present embodiment can be realized. In this case, the CPU (Central Processing Unit) of the computer functions as an information collection unit 2, a support information creation unit 3, and a prediction model generation unit 4 to perform processing.

また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報収集部2、支援情報作成部3、及び予測モデル生成部4のいずれかとして機能しても良い。 Further, the program in the present embodiment may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as any of the information collection unit 2, the support information creation unit 3, and the prediction model generation unit 4, respectively.

ここで、本実施の形態におけるプログラムを実行することによって、システム構築支援装置1を実現するコンピュータについて図7を用いて説明する。図7は、本発明の実施の形態におけるシステム構築支援装置を実現するコンピュータの一例を示すブロック図である。 Here, a computer that realizes the system construction support device 1 by executing the program in the present embodiment will be described with reference to FIG. 7. FIG. 7 is a block diagram showing an example of a computer that realizes the system construction support device according to the embodiment of the present invention.

図7に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。 As shown in FIG. 7, the computer 110 includes a CPU 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. Each of these parts is connected to each other via a bus 121 so as to be capable of data communication.

CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。 The CPU 111 expands the programs (codes) of the present embodiment stored in the storage device 113 into the main memory 112, and executes them in a predetermined order to perform various operations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory). Further, the program in the present embodiment is provided in a state of being stored in a computer-readable recording medium 120. The program in the present embodiment may be distributed on the Internet connected via the communication interface 117.

また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。 Further, specific examples of the storage device 113 include a semiconductor storage device such as a flash memory in addition to a hard disk drive. The input interface 114 mediates data transmission between the CPU 111 and an input device 118 such as a keyboard and mouse. The display controller 115 is connected to the display device 119 and controls the display on the display device 119.

データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。 The data reader / writer 116 mediates the data transmission between the CPU 111 and the recording medium 120, reads the program from the recording medium 120, and writes the processing result in the computer 110 to the recording medium 120. The communication interface 117 mediates data transmission between the CPU 111 and another computer.

また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。 Specific examples of the recording medium 120 include a general-purpose semiconductor storage device such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), a magnetic recording medium such as a flexible disk, or a CD-. Examples include optical recording media such as ROM (Compact Disk Read Only Memory).

なお、本実施の形態におけるシステム構築支援装置1は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、システム構築支援装置1は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。 The system construction support device 1 in the present embodiment can also be realized by using the hardware corresponding to each part instead of the computer in which the program is installed. Further, the system construction support device 1 may be partially realized by a program and the rest may be realized by hardware.

上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。 A part or all of the above-described embodiments can be expressed by the following descriptions (Appendix 1) to (Appendix 12), but the present invention is not limited to the following description.

(付記1)
宣言的モデルによって定義されるシステムの構築を支援するための装置であって、
前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、情報収集部と、
前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、支援情報作成部と、
を備えている、ことを特徴とするシステム構築支援装置。
(Appendix 1)
A device to assist in the construction of a system defined by a declarative model.
An information gathering unit that collects dependency information that identifies the dependencies of the components that make up the declarative model.
Support information that creates support information to support the modification of the declarative model by applying the dependency information to the prediction model that predicts the influence of the dependency of the component on the declarative model. With the creation department
A system construction support device characterized by being equipped with.

(付記2)
学習用の前記依存性情報と学習用の前記宣言的モデルとを教師データとする、機械学習を行って、前記予測モデルを生成する、予測モデル生成部を更に備えている、
付記1に記載のシステム構築支援装置。
(Appendix 2)
It further includes a predictive model generator that uses the dependency information for learning and the declarative model for learning as teacher data, performs machine learning, and generates the predictive model.
The system construction support device according to Appendix 1.

(付記3)
前記情報収集部が、前記依存性情報として、
既に生成されている前記宣言的モデルの依存性定義を解析し、それによって得られた情報、
前記システムにおける前記宣言的モデルを用いたワークフローの実行結果からエラーを解析し、それによって得られた情報、
前記システムの定義を解析し、それによって得られた情報、
前記システムに保持されているログを解析し、それによって得られた情報、及び
予め公開されている前記宣言的モデルの作成ツールの利用に関する情報を解析し、それによって得られた情報を、収集する、
付記1又は2に記載のシステム構築支援装置。
(Appendix 3)
The information gathering unit, as the dependency information,
The information obtained by analyzing the dependency definition of the declarative model that has already been generated,
Information obtained by analyzing errors from the execution results of workflows using the declarative model in the system.
Information obtained by analyzing the definition of the system,
The log held in the system is analyzed, the information obtained by the analysis, and the information regarding the use of the declarative model creation tool published in advance are analyzed, and the information obtained by the analysis is collected. ,
The system construction support device according to Appendix 1 or 2.

(付記4)
前記支援情報作成部が、前記支援情報として、前記宣言的モデルの作成において、前記構成要素それぞれの間の依存関係の生成、補完、又は補正を支援するための情報を作成する、
付記1〜3のいずれかに記載のシステム構築支援装置。
(Appendix 4)
The support information creation unit creates, as the support information, information for supporting the generation, complementation, or correction of the dependency between the components in the creation of the declarative model.
The system construction support device according to any one of the appendices 1 to 3.

(付記5)
宣言的モデルによって定義されるシステムの構築を支援するための方法であって、
(a)前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、ステップと、
(b)前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、ステップと、
を有する、ことを特徴とするシステム構築支援方法。
(Appendix 5)
A way to help build a system defined by a declarative model,
(A) A step that collects dependency information that identifies the dependencies of the components that make up the declarative model.
(B) By applying the dependency information to a prediction model that predicts the influence of the dependency of the component on the declarative model, support information for supporting the modification of the declarative model is created. , Steps and
A system construction support method characterized by having.

(付記6)
(c)学習用の前記依存性情報と学習用の前記宣言的モデルとを教師データとする、機械学習を行って、前記予測モデルを生成する、ステップを更に有する、
付記5に記載のシステム構築支援方法。
(Appendix 6)
(C) Further having a step of performing machine learning to generate the prediction model, using the dependency information for learning and the declarative model for learning as teacher data.
The system construction support method described in Appendix 5.

(付記7)
前記(a)のステップにおいて、前記依存性情報として、
既に生成されている前記宣言的モデルの依存性定義を解析し、それによって得られた情報、
前記システムにおける前記宣言的モデルを用いたワークフローの実行結果からエラーを解析し、それによって得られた情報、
前記システムの定義を解析し、それによって得られた情報、
前記システムに保持されているログを解析し、それによって得られた情報、及び
予め公開されている前記宣言的モデルの作成ツールの利用に関する情報を解析し、それによって得られた情報を、収集する、
付記5又は6に記載のシステム構築支援方法。
(Appendix 7)
In the step (a), as the dependency information,
The information obtained by analyzing the dependency definition of the declarative model that has already been generated,
Information obtained by analyzing errors from the execution results of workflows using the declarative model in the system.
Information obtained by analyzing the definition of the system,
The log held in the system is analyzed, the information obtained by the analysis, and the information regarding the use of the declarative model creation tool published in advance are analyzed, and the information obtained by the analysis is collected. ,
The system construction support method according to Appendix 5 or 6.

(付記8)
前記(c)のステップにおいて、前記支援情報として、前記宣言的モデルの作成において、前記構成要素それぞれの間の依存関係の生成、補完、又は補正を支援するための情報を作成する、
付記5〜7のいずれかに記載のシステム構築支援方法。
(Appendix 8)
In the step (c), as the support information, information for supporting the generation, complementation, or correction of the dependency between the components in the creation of the declarative model is created.
The system construction support method according to any one of Supplementary note 5 to 7.

(付記9)
コンピュータによって、宣言的モデルによって定義されるシステムの構築を支援するためのプログラムであって、
前記コンピュータに、
(a)前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、ステップと、
(b)前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、ステップと、
を実行させる、プログラム。
(Appendix 9)
A program to help build a system defined by a declarative model by a computer.
To the computer
(A) A step that collects dependency information that identifies the dependencies of the components that make up the declarative model.
(B) By applying the dependency information to a prediction model that predicts the influence of the dependency of the component on the declarative model, support information for supporting the modification of the declarative model is created. , Steps and
A program that runs.

(付記10)
前記コンピュータに、
(c)学習用の前記依存性情報と学習用の前記宣言的モデルとを教師データとする、機械学習を行って、前記予測モデルを生成する、ステップを更に実行させる、
付記9に記載のプログラム。
(Appendix 10)
To the computer
(C) Using the dependency information for learning and the declarative model for learning as teacher data, machine learning is performed to generate the prediction model, and further steps are executed.
The program described in Appendix 9.

(付記11)
前記(a)のステップにおいて、前記依存性情報として、
既に生成されている前記宣言的モデルの依存性定義を解析し、それによって得られた情報、
前記システムにおける前記宣言的モデルを用いたワークフローの実行結果からエラーを解析し、それによって得られた情報、
前記システムの定義を解析し、それによって得られた情報、
前記システムに保持されているログを解析し、それによって得られた情報、及び
予め公開されている前記宣言的モデルの作成ツールの利用に関する情報を解析し、それによって得られた情報を、収集する、
付記9又は10に記載のプログラム。
(Appendix 11)
In the step (a), as the dependency information,
The information obtained by analyzing the dependency definition of the declarative model that has already been generated,
Information obtained by analyzing errors from the execution results of workflows using the declarative model in the system.
Information obtained by analyzing the definition of the system,
The log held in the system is analyzed, the information obtained by the analysis, and the information regarding the use of the declarative model creation tool published in advance are analyzed, and the information obtained by the analysis is collected. ,
The program according to Appendix 9 or 10.

(付記12)
前記(c)のステップにおいて、前記支援情報として、前記宣言的モデルの作成において、前記構成要素それぞれの間の依存関係の生成、補完、又は補正を支援するための情報を作成する、
付記9〜11のいずれかに記載のプログラム。
(Appendix 12)
In the step (c), as the support information, information for supporting the generation, complementation, or correction of the dependency between the components in the creation of the declarative model is created.
The program described in any of Appendix 9-11.

以上のように本発明によれば、宣言的モデルの作成において、宣言的モデルを利用者の意図する方向へと導くための情報を提示することができる。本発明は、宣言的モデルが利用される種々のコンピュータシステムに有用である。 As described above, according to the present invention, in creating a declarative model, it is possible to present information for guiding the declarative model in the direction intended by the user. The present invention is useful for various computer systems in which declarative models are utilized.

1 システム構築支援装置
2 情報収集部
3 支援情報作成部
4 予測モデル生成部
5 予測モデル格納部
6 依存関係バルクデータDB
11、12、13 宣言的モデル
21 ワークフロー
51〜55 解析結果
61 システム定義情報
62 使用状況情報
100 宣言的モデル編集コンポーネント
101 モデルリポジトリ
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
200 宣言的モデルオーケストレータ
300 ワークフロー実行コンポーネント
510 宣言的モデル解析コンポーネント
520 ワークロー実行状況解析コンポーネント
530 既存システム解析コンポーネント
540 ログ解析コンポーネント
550 公開システム構成情報解析コンポーネント
400 実行環境
401 システム定義情報
402 ログ情報
600 インターネット
601 公開リポジトリ群
700 モデル構成要素リポジトリ
1000 システム
1 System construction support device 2 Information collection unit 3 Support information creation unit 4 Prediction model generation unit 5 Prediction model storage unit 6 Dependency bulk data DB
11, 12, 13 Declarative model 21 Workflow 51-55 Analysis result 61 System definition information 62 Usage information 100 Declarative model editing component 101 Model repository 110 Computer 111 CPU
112 Main memory 113 Storage device 114 Input interface 115 Display controller 116 Data reader / writer 117 Communication interface 118 Input device 119 Display device 120 Recording medium 121 Bus 200 Declarative model orchestrator 300 Workflow execution component 510 Declarative model analysis component 520 Workrow execution Situation analysis component 530 Existing system analysis component 540 Log analysis component 550 Public system configuration information Analysis component 400 Execution environment 401 System definition information 402 Log information 600 Internet 601 Public repository group 700 Model component repository 1000 System

Claims (5)

宣言的モデルによって定義されるシステムの構築を支援するための装置であって、
前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、情報収集部と、
前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、支援情報作成部と、
学習用の前記依存性情報と学習用の前記宣言的モデルとを教師データとする、機械学習を行って、前記予測モデルを生成する、予測モデル生成部と、
を備えている、ことを特徴とするシステム構築支援装置。
A device to assist in the construction of a system defined by a declarative model.
An information gathering unit that collects dependency information that identifies the dependencies of the components that make up the declarative model.
Support information that creates support information to support the modification of the declarative model by applying the dependency information to the prediction model that predicts the influence of the dependency of the component on the declarative model. With the creation department
A predictive model generation unit that generates the predictive model by performing machine learning using the dependency information for learning and the declarative model for learning as teacher data.
A system construction support device characterized by being equipped with.
前記情報収集部が、前記依存性情報として、
既に生成されている前記宣言的モデルの依存性定義を解析し、それによって得られた情報、
前記システムにおける前記宣言的モデルを用いたワークフローの実行結果からエラーを解析し、それによって得られた情報、
前記システムの定義を解析し、それによって得られた情報、
前記システムに保持されているログを解析し、それによって得られた情報、及び
予め公開されている前記宣言的モデルの作成ツールの利用に関する情報を解析し、それによって得られた情報を、収集する、
請求項1に記載のシステム構築支援装置。
The information gathering unit, as the dependency information,
The information obtained by analyzing the dependency definition of the declarative model that has already been generated,
Information obtained by analyzing errors from the execution results of workflows using the declarative model in the system.
Information obtained by analyzing the definition of the system,
The log held in the system is analyzed, the information obtained by the analysis, and the information regarding the use of the declarative model creation tool published in advance are analyzed, and the information obtained by the analysis is collected. ,
The system construction support device according to claim 1.
前記支援情報作成部が、前記支援情報として、前記宣言的モデルの作成において、前記構成要素それぞれの間の依存関係の生成、補完、又は補正を支援するための情報を作成する、
請求項1又は2に記載のシステム構築支援装置。
The support information creation unit creates, as the support information, information for supporting the generation, complementation, or correction of the dependency between the components in the creation of the declarative model.
The system construction support device according to claim 1 or 2.
宣言的モデルによって定義されるシステムの構築を支援するための方法であって、
(a)前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、ステップと、
(b)前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、ステップと、
(c)学習用の前記依存性情報と学習用の前記宣言的モデルとを教師データとする、機械学習を行って、前記予測モデルを生成する、ステップと、
を有する、ことを特徴とするシステム構築支援方法。
A way to help build a system defined by a declarative model,
(A) A step that collects dependency information that identifies the dependencies of the components that make up the declarative model.
(B) By applying the dependency information to a prediction model that predicts the influence of the dependency of the component on the declarative model, support information for supporting the modification of the declarative model is created. , Steps and
(C) A step of performing machine learning to generate the prediction model using the dependency information for learning and the declarative model for learning as teacher data.
A system construction support method characterized by having.
コンピュータによって、宣言的モデルによって定義されるシステムの構築を支援するためのプログラムであって、
前記コンピュータに、
(a)前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、ステップと、
(b)前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、ステップと、
(c)学習用の前記依存性情報と学習用の前記宣言的モデルとを教師データとする、機械学習を行って、前記予測モデルを生成する、ステップと、
を実行させる、プログラム。
A program to help build a system defined by a declarative model by a computer.
To the computer
(A) A step that collects dependency information that identifies the dependencies of the components that make up the declarative model.
(B) By applying the dependency information to a prediction model that predicts the influence of the dependency of the component on the declarative model, support information for supporting the modification of the declarative model is created. , Steps and
(C) A step of performing machine learning to generate the prediction model using the dependency information for learning and the declarative model for learning as teacher data.
A program that runs.
JP2017176934A 2017-09-14 2017-09-14 System construction support device, system construction support method, and program Active JP6981124B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017176934A JP6981124B2 (en) 2017-09-14 2017-09-14 System construction support device, system construction support method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017176934A JP6981124B2 (en) 2017-09-14 2017-09-14 System construction support device, system construction support method, and program

Publications (2)

Publication Number Publication Date
JP2019053502A JP2019053502A (en) 2019-04-04
JP6981124B2 true JP6981124B2 (en) 2021-12-15

Family

ID=66015084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017176934A Active JP6981124B2 (en) 2017-09-14 2017-09-14 System construction support device, system construction support method, and program

Country Status (1)

Country Link
JP (1) JP6981124B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020230673A1 (en) * 2019-05-10 2020-11-19 日本電気株式会社 Environment construction assistance system, device, method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092234B2 (en) * 2011-02-18 2015-07-28 Nec Corporation Refactoring device, refactoring method and program
US9058219B2 (en) * 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
JP6309442B2 (en) * 2014-12-18 2018-04-11 株式会社日立製作所 System template maintenance system and system template maintenance method

Also Published As

Publication number Publication date
JP2019053502A (en) 2019-04-04

Similar Documents

Publication Publication Date Title
CN108304201B (en) Object updating method, device and equipment
CN110928772B (en) Test method and device
US9298588B2 (en) Tracing system for application and module tracing
US20210081308A1 (en) Generating automated tests based on user interaction with an application
US9292415B2 (en) Module specific tracing in a shared module environment
US9311213B2 (en) Module database with tracing options
US20190188049A1 (en) Apparatus and method to select services for executing a user program based on a code pattern included therein
JP2017062767A5 (en)
US11294793B1 (en) Robotic process automation (RPA) debugging systems and methods
JP2005173788A (en) Autonomic computing system, execution environment control method, and program
US11853746B2 (en) Source code merge conflict resolution
Cito et al. Runtime metric meets developer: building better cloud applications using feedback
CN106484389B (en) Action stream segment management
US11604662B2 (en) System and method for accelerating modernization of user interfaces in a computing environment
JP6981124B2 (en) System construction support device, system construction support method, and program
WO2024006036A1 (en) Syntax subtree code strengthening
Tsai et al. Pewss: A platform of extensible workflow simulation service for workflow scheduling research
Weerasiri et al. CloudMap: A visual notation for representing and managing cloud resources
CN111427760A (en) Page testing method, device, equipment and storage medium
Wienke et al. Performance regression testing and run-time verification of components in robotics systems
Hauck et al. Deriving performance-relevant infrastructure properties through model-based experiments with Ginpex
Procaccianti Energy-efficient software
JP2016146022A (en) Model base development support device, model base development support method, and model base development support program
Tahmasebi et al. Dataclouddsl: Textual and visual presentation of big data pipelines
US20240210903A1 (en) Software Development (DevOps) Pipelines for Robotic Process Automation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210915

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211101

R150 Certificate of patent or registration of utility model

Ref document number: 6981124

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150