JP2019053502A - 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
JP2019053502A
JP2019053502A JP2017176934A JP2017176934A JP2019053502A JP 2019053502 A JP2019053502 A JP 2019053502A JP 2017176934 A JP2017176934 A JP 2017176934A JP 2017176934 A JP2017176934 A JP 2017176934A JP 2019053502 A JP2019053502 A JP 2019053502A
Authority
JP
Japan
Prior art keywords
information
declarative model
dependency
model
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.)
Granted
Application number
JP2017176934A
Other languages
Japanese (ja)
Other versions
JP6981124B2 (en
Inventor
隆雄 山下
Takao Yamashita
隆雄 山下
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)

Abstract

To provide a system construction support device, a system construction support method, and a program that may present information for guiding a declarative model to a direction intended by a user in creation of the declarative model.SOLUTION: A system construction support device 1 is a device for supporting construction of a system defined by a declarative model. The system construction support device 1 comprises an information collection unit 2 collecting dependency information specifying dependencies between components of the declarative model, and a support information generation unit 3 generating support information for supporting correction of the declarative model by applying the dependency information to a prediction model predicting influence of component dependencies on the declarative model.SELECTED DRAWING: Figure 1

Description

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

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

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

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

また、宣言的モデルは、一般的に、テキストエディタを用いてソースコードを記述することによって作成される。また、テキストエディタを使わないで、代わりに、宣言的モデルのオーケストレータ用にグラフィカルエディタを用いて宣言的モデルを作成する手法も提案されている(例えば、非特許文献1参照)。   A declarative model is generally created by describing source code using a text editor. In addition, a method of creating a declarative model using a graphical editor for a declarative model orchrator instead of using a text editor has been proposed (for example, see 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 can be used to create a declarative model visually.

しかし、どのようなエディタを用いた場合でも、宣言的モデルの構成要素間の依存関係の定義が容易ではないため、宣言的モデルを「正しく」定義することは困難である。構成要素間の依存関係の定義が容易ではない理由としては、宣言的モデルの作成者には、構成要素間の依存関係の有無が分からない(知らない)点と、宣言的モデルを作成する際に使用する構成要素の依存性情報が正しく定義されていない場合がある点とが挙げられる。   However, it is difficult to define a declarative model “correctly” because it is not easy to define dependencies between components of the declarative model, regardless of which editor is used. The reason why it is not easy to define dependencies between components is that the creator of the declarative model does not know (does not know) whether there are dependencies between components, and when creating a declarative model. In some cases, the dependency information of the components used in the above is not 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 constituent elements include general-purpose items such as a Web server and a DB (Data Base) server, and specific items such as a Tomcat server and a MySQL server. The component is expressed as Resource Type in AWS Cloud Formation and as Node Type in OASIS TOSCA.

また、「依存性情報」とは、ある構成要素が必要としている要求と、ある構成要素が提供可能な能力との定義を示す。OASIS TOSCAでは、あるNode Type の Requirement と Capability という定義で表現される。   The “dependency information” indicates a definition of a request required by a certain component and a capability that can be provided by the certain component. 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 use the created definition to perform actual provisioning and try & error. It is necessary to repeatedly converge to the “correct” definition. Patent Document 1 discloses a technique for analyzing a created declarative model based on information on a construction result and further improving the declarative model based on the analysis result.

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

特表2010−532532号公報Special table 2010-532532 gazette

新崎準,外3名,“新技術の動向”,[online],平成10年4月1日,特許学会,[平成11年7月30日検索],インターネット<URL:https://aws.amazon.com/jp/cloudformation/details/#designer>Jun Niizaki, 3 others, “Trends in New Technology”, [online], April 1, 1998, Patent Association, [Search 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 improved more efficiently than when the sample definition is referred to and when Try & Error is repeated. There is a problem that unintended improvements are made. The reason is 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) For the instructions generated from the declarative model, the case where an error occurs during actual execution is not considered.
(C) Knowledge for making improvements is not clear.
(D) Patent Document 1 exemplifies improvement of a load distribution configuration mainly based on performance information, but intentional knowledge by a creator (editor user) of a declarative model incorporated in an actual system is disclosed. Not incorporated.
(E) Improvements have been made after declarative models are registered in the repository.
(F) Improvements based on dependency information should be presented to the creator of the declarative model (editor user) 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 to solve the above-mentioned problems and to present information for guiding the declarative model in the direction intended by the user in the creation of the declarative model. It is to provide a method and a program.

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

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

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

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

図1は、本発明の実施の形態におけるシステム構築支援装置の概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of a system construction support apparatus according to an embodiment of the present invention. 図2は、本発明の実施の形態におけるシステム構築支援装置の具体的構成を示すブロック図である。FIG. 2 is a block diagram showing a specific configuration of the system construction support apparatus 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 this embodiment and the components of the system. 図5は、本発明の実施の形態におけるシステム構築支援装置の動作を示すフロー図である。FIG. 5 is a flowchart showing the operation of the system construction support apparatus in the embodiment of the present invention. 図6は、本発明の実施の形態におけるシステム構築支援装置によって得られる効果を示す図である。FIG. 6 is a diagram showing an effect obtained by the system construction support apparatus in the embodiment of the present invention. 図7は、本発明の実施の形態におけるシステム構築支援装置を実現するコンピュータの一例を示すブロック図である。FIG. 7 is a block diagram illustrating an example of a computer that implements the system construction support apparatus according to the embodiment of the present invention.

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

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

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

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

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

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

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

また、図2に示すように、システム1000は、宣言的モデル編集コンポーネント100と、モデルリポジトリ101と、宣言的モデルオーケストレータ200と、ワークフロー実行コンポーネント300と、実行環境400とを備えている。   As illustrated 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 editing of a declarative model by a user and further outputs source code such as JSON or YAML in accordance with an instruction from the user. Further, the declarative model editing component 100 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 a local environment.

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

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

実行環境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. As shown in FIG. 2, the execution environment 400 holds system definition information 401 and log information 402.

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

また、モデル構成要素リポジトリ700は、宣言的モデルを作成する際の構成要素を格納するリポジトリである。具体的には、モデル構成要素リポジトリ700は、例えば、OASIS TOSCAでは、Node Type と呼ばれている。   The model component repository 700 is a repository that stores components used 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 a public repository group 601 published on the Internet 600. Examples of public repository groups 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.). Such definition information is disclosed on the Internet 600.

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

これらの解析コンポーネント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 components 510 to 550 acquire dependency information (text information) from information on the local environment of the user (local information) and information published on the Internet (public information), and the acquired dependency information Is input to the information collecting unit 2.

また、これらの解析コンポーネント510〜550によって取得される情報には、直接的な依存性に関する情報以外に、エラー、性能監視結果、構成要素に関する意味情報(例えばWebサーバであるとか、DBサーバであるとか)、ベストプラクティスであることを示す情報、アンチパターンであることを示す情報、等が含まれる。   The information acquired by these analysis components 510 to 550 includes, in addition to information on direct dependencies, semantic information on errors, performance monitoring results, and constituent elements (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, and the like.

また、ローカル情報とは、モデルリポジトリ101、実行環境400で保持されている情報を意味する。また、パブリック情報とは、公開リポジトリ群601で保持されている情報を意味する。図3は、本発明の実施の形態で利用されるローカル情報とパブリック情報との一例を示す図である。   Local information means information held in the model repository 101 and the execution environment 400. Public information means 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 uses the information (analysis result 51) obtained thereby 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 occurred in the definition related to dependencies. Then, the workflow execution status analysis component 520 sends information (analysis result 52) obtained by error analysis to the system construction support apparatus 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 information related to a system operating on the execution environment 400 and information related to dependencies existing in the base. Then, the existing system analysis component 530 sends information (analysis result 53) obtained by the definition analysis to the system construction support apparatus 1.

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

また、公開システム構成情報解析コンポーネント550は、インターネット600上に公開されている公開リポジトリ群601を解析し、それによって得られた情報(解析結果55)を、システム構築支援装置1に送る。具体的には、公開システム構成情報解析コンポーネント550は、公開リポジトリ群601から、システム定義情報61と、使用状況情報62とを取得する。   The public system configuration information analysis component 550 analyzes the public repository group 601 published on the Internet 600 and sends information (analysis result 55) obtained thereby to the system construction support apparatus 1. Specifically, the public system configuration information analysis component 550 acquires system definition information 61 and 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 the declarative model and the system configuration, and specifically is text information such as OpenStack Heat Orchestration Template (HOT), AWS Cloud Formation Template, Dockerfile, Playbook, and the like. The usage status information 62 is data indicating the usage status of 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.

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

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

予測モデル生成部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 feature amounts from the dependency information for learning and the declarative model for learning. Next, the prediction model generation unit 4 uses the extracted feature amount of the dependency information and the feature amount of the declarative model to “generalize”, “correctness”, “local dependency”, “anti-pattern” for the constituent elements. ”. And the prediction model production | generation part 4 associates each feature-value and a classification result, learns these relationships, and produces | generates a prediction model using a learning result. The generated prediction model is stored in the prediction model storage unit 5.

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

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

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

また、情報収集部2は、上述した解析コンポーネントのうち、宣言的モデル解析コンポーネント510、ワークフロー実行状況解析コンポーネント520、既存システム解析コンポーネント530、及びログ解析コンポーネント540からは、ローカル情報を収集する。更に、情報収集部2は、公開システム構成情報解析コンポーネント550からは、パブリック情報を収集する。このため、情報収集部2は、ローカル情報とパブリック情報とを区別して収集し、収集した各情報に、ローカル情報及びパブリック情報のいずれであるかを示すラベルを付与することができる。   The information collection unit 2 collects local information from the declarative model analysis component 510, the workflow execution state analysis component 520, the existing system analysis component 530, and the log analysis component 540 among the analysis components described above. Further, the information collection unit 2 collects public information from the public system configuration information analysis component 550. For this reason, the information collection unit 2 can separately collect local information and public information, and can assign a label indicating whether the information is local information or public information to each 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 relationship bulk data DB 6 to the prediction model stored in the prediction model storage unit 5. To do. Further, when the above-described label is given 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 given label. In this case, more appropriate support information reflecting the contents of the label is created.

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

ここで、図4を用いて、本実施の形態で用いられる宣言的モデルの定義とシステムの構成要素との関係について説明する。図4は、本実施の形態で用いられる宣言的モデルの定義とシステムの構成要素との関係の一例を示す説明図である。   Here, the relationship between the definition of the declarative model used in this embodiment and the components of the system will be described with reference to FIG. FIG. 4 is an explanatory diagram showing an example of the relationship between the definition of the declarative model used in this 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 built based on the components. Further, as shown in FIG. 4, the constituent elements and the entities in the declarative model are compared with each other as a class definition and its entity objects. Further, in the example of FIG. 4, a declarative model and components defined by OASIS TOSCA are shown. OASIS TOSCA is one of the specifications for defining the system configuration (topology) of business systems operating on the cloud. In FIG. 4, the dependency relationship between 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 apparatus 1 in the present embodiment will be described with reference to FIG. FIG. 5 is a flowchart showing the operation of the system construction support apparatus in the embodiment of the present invention. In the present embodiment, the system construction support method is implemented by operating the system construction support apparatus 1. Therefore, the description of the system construction support method in the present embodiment is replaced with the following description of the operation of the system construction support apparatus 1.

図5に示すように、最初に、システム構築支援装置1において、情報収集部2が、宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する(ステップA1)。また、情報収集部2は、収集した依存性情報を、依存関係バルクデータDB6に格納する。   As shown in FIG. 5, first, in the system construction support apparatus 1, the information collection unit 2 collects dependency information that identifies the dependencies 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 this embodiment, the declarative model analysis component 510, the workflow 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 are periodically updated. Alternatively, an analysis is executed in response to a specific event, and an analysis result obtained thereby is transmitted. The information collecting unit 2 collects the transmitted analysis results 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 as support information information that allows the user to guide the declarative model in a more correct direction, and further that a system configuration that can withstand usability is constructed. Information that complements the physical model.

その後、支援情報作成部3は、ステップA2で作成した支援情報を、利用者に提示する(ステップA3)。具体的には、支援情報作成部3は、システム1000を構成している表示装置の画面上に、又はシステム1000に接続された端末装置の画面上に、支援情報を表示させる。   Thereafter, 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 support information on a screen of a display device that constitutes the system 1000 or on a screen of a terminal device connected to the system 1000.

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

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

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

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

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

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

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

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

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

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

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

また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報収集部2、支援情報作成部3、及び予測モデル生成部4のいずれかとして機能しても良い。   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 one of the information collection unit 2, the support information creation unit 3, and the prediction model generation unit 4.

ここで、本実施の形態におけるプログラムを実行することによって、システム構築支援装置1を実現するコンピュータについて図7を用いて説明する。図7は、本発明の実施の形態におけるシステム構築支援装置を実現するコンピュータの一例を示すブロック図である。   Here, a computer that realizes the system construction support apparatus 1 by executing the program according to the present embodiment will be described with reference to FIG. FIG. 7 is a block diagram illustrating an example of a computer that implements the system construction support apparatus 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. These units are connected to each other via a bus 121 so that data communication is possible.

CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。   The CPU 111 performs various calculations by developing the program (code) in the present embodiment stored in the storage device 113 in the main memory 112 and executing them in a predetermined order. 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. Note that 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での表示を制御する。   Specific examples of the storage device 113 include a hard disk drive and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and an input device 118 such as a keyboard and a mouse. The display controller 115 is connected to the display device 119 and controls display on the display device 119.

データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。   The data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, and reads a program from the recording medium 120 and writes a 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 general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as a flexible disk, or CD- An optical recording medium such as ROM (Compact Disk Read Only Memory) can be used.

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

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

(付記1)
宣言的モデルによって定義されるシステムの構築を支援するための装置であって、
前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、情報収集部と、
前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、支援情報作成部と、
を備えている、ことを特徴とするシステム構築支援装置。
(Appendix 1)
A device for supporting the construction of a system defined by a declarative model,
An information collection unit that collects dependency information that identifies the dependency of the constituent elements constituting the declarative model;
Support information for creating support information for supporting correction of the declarative model by applying the dependency information to a prediction model that predicts the influence of the dependency of the component on the declarative model The creation department;
A system construction support apparatus characterized by comprising:

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

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

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

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

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

(付記7)
前記(a)のステップにおいて、前記依存性情報として、
既に生成されている前記宣言的モデルの依存性定義を解析し、それによって得られた情報、
前記システムにおける前記宣言的モデルを用いたワークフローの実行結果からエラーを解析し、それによって得られた情報、
前記システムの定義を解析し、それによって得られた情報、
前記システムに保持されているログを解析し、それによって得られた情報、及び
予め公開されている前記宣言的モデルの作成ツールの利用に関する情報を解析し、それによって得られた情報を、収集する、
付記5又は6に記載のシステム構築支援方法。
(Appendix 7)
In the step (a), as the dependency information,
Information obtained by analyzing the dependency definition of the declarative model that has already been generated,
Information obtained by analyzing an error from the execution result of the workflow using the declarative model in the system,
Information obtained by analyzing the definition of the system,
Analyze the logs held in the system, analyze the information obtained thereby, and information on the use of the declarative model creation tool published in advance, and collect the information obtained thereby ,
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, in the creation of the declarative model, information for supporting generation, complementation, or correction of dependency relationships between the components is created.
The system construction support method according to any one of appendices 5 to 7.

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

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

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

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

以上のように本発明によれば、宣言的モデルの作成において、宣言的モデルを利用者の意図する方向へと導くための情報を提示することができる。本発明は、宣言的モデルが利用される種々のコンピュータシステムに有用である。     As described above, according to the present invention, in creating a declarative model, information for guiding the declarative model in the direction intended by the user can be presented. The present invention is useful for various computer systems in which a declarative model is 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 システム
DESCRIPTION OF SYMBOLS 1 System construction support apparatus 2 Information collection part 3 Support information creation part 4 Prediction model generation part 5 Prediction model storage part 6 Dependency bulk data DB
11, 12, 13 Declarative model 21 Workflow 51-55 Analysis result 61 System definition information 62 Usage status 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 Work flow 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 (6)

宣言的モデルによって定義されるシステムの構築を支援するための装置であって、
前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、情報収集部と、
前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、支援情報作成部と、
を備えている、ことを特徴とするシステム構築支援装置。
A device for supporting the construction of a system defined by a declarative model,
An information collection unit that collects dependency information that identifies the dependency of the constituent elements constituting the declarative model;
Support information for creating support information for supporting correction of the declarative model by applying the dependency information to a prediction model that predicts the influence of the dependency of the component on the declarative model The creation department;
A system construction support apparatus characterized by comprising:
学習用の前記依存性情報と学習用の前記宣言的モデルとを教師データとする、機械学習を行って、前記予測モデルを生成する、予測モデル生成部を更に備えている、
請求項1に記載のシステム構築支援装置。
Using the dependency information for learning and the declarative model for learning as teacher data, further comprising a prediction model generation unit that performs the machine learning and generates the prediction model;
The system construction support apparatus according to claim 1.
前記情報収集部が、前記依存性情報として、
既に生成されている前記宣言的モデルの依存性定義を解析し、それによって得られた情報、
前記システムにおける前記宣言的モデルを用いたワークフローの実行結果からエラーを解析し、それによって得られた情報、
前記システムの定義を解析し、それによって得られた情報、
前記システムに保持されているログを解析し、それによって得られた情報、及び
予め公開されている前記宣言的モデルの作成ツールの利用に関する情報を解析し、それによって得られた情報を、収集する、
請求項1又は2に記載のシステム構築支援装置。
The information collection unit as the dependency information,
Information obtained by analyzing the dependency definition of the declarative model that has already been generated,
Information obtained by analyzing an error from the execution result of the workflow using the declarative model in the system,
Information obtained by analyzing the definition of the system,
Analyze the logs held in the system, analyze the information obtained thereby, and information on the use of the declarative model creation tool published in advance, and collect the information obtained thereby ,
The system construction support apparatus according to claim 1 or 2.
前記支援情報作成部が、前記支援情報として、前記宣言的モデルの作成において、前記構成要素それぞれの間の依存関係の生成、補完、又は補正を支援するための情報を作成する、
請求項1〜3のいずれかに記載のシステム構築支援装置。
The support information creating unit creates information for supporting generation, complementation, or correction of dependency relationships between the components in creating the declarative model as the support information;
The system construction support device according to any one of claims 1 to 3.
宣言的モデルによって定義されるシステムの構築を支援するための方法であって、
(a)前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、ステップと、
(b)前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、ステップと、
を有する、ことを特徴とするシステム構築支援方法。
A method for supporting the construction of a system defined by a declarative model,
(A) collecting dependency information for identifying dependencies of components constituting the declarative model; and
(B) creating support information for supporting correction of the declarative model by applying the dependency information to a prediction model that predicts the influence of the dependency of the constituent elements on the declarative model; , Steps and
A system construction support method characterized by comprising:
コンピュータによって、宣言的モデルによって定義されるシステムの構築を支援するためのプログラムであって、
前記コンピュータに、
(a)前記宣言的モデルを構成する構成要素の依存性を特定する依存性情報を収集する、ステップと、
(b)前記構成要素の依存性が前記宣言的モデルに与える影響を予測する予測モデルに、前記依存性情報を適用することによって、前記宣言的モデルの修正を支援するための支援情報を作成する、ステップと、
を実行させる、プログラム。
A program for supporting the construction of a system defined by a declarative model by a computer,
In the computer,
(A) collecting dependency information for identifying dependencies of components constituting the declarative model; and
(B) creating support information for supporting correction of the declarative model by applying the dependency information to a prediction model that predicts the influence of the dependency of the constituent elements on the declarative model; , Steps and
A program that executes
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 true JP2019053502A (en) 2019-04-04
JP6981124B2 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)

Cited By (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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012111725A1 (en) * 2011-02-18 2012-08-23 日本電気株式会社 Refactoring device, refactoring method, and program
JP2016115301A (en) * 2014-12-18 2016-06-23 株式会社日立製作所 System template maintenance system, and system template maintenance method
JP2017076427A (en) * 2012-11-02 2017-04-20 アマゾン・テクノロジーズ・インコーポレーテッド Custom resource in resource stack

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012111725A1 (en) * 2011-02-18 2012-08-23 日本電気株式会社 Refactoring device, refactoring method, and program
JP2017076427A (en) * 2012-11-02 2017-04-20 アマゾン・テクノロジーズ・インコーポレーテッド Custom resource in resource stack
JP2016115301A (en) * 2014-12-18 2016-06-23 株式会社日立製作所 System template maintenance system, and system template maintenance method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JENS BOTTCHER等: "Current State of Testing Infrastructure as Code", FULL-SCALE SOFTWARE ENGINEERING /THE ART OF SOFTWARE TESTING, vol. FsSE / AoST 2017, JPN6021027258, 9 February 2017 (2017-02-09), pages 13 - 18, ISSN: 0004550354 *
五十嵐 祐貴等, .NET開発テクノロジ入門 2016年版 VISUAL STUDIO 2015対応版 初版, vol. 第1版, JPN6021027257, 9 February 2016 (2016-02-09), ISSN: 0004550355 *

Cited By (3)

* 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
JPWO2020230673A1 (en) * 2019-05-10 2020-11-19
JP7310883B2 (en) 2019-05-10 2023-07-19 日本電気株式会社 Environment construction support system, device, method, program

Also Published As

Publication number Publication date
JP6981124B2 (en) 2021-12-15

Similar Documents

Publication Publication Date Title
CN108304201B (en) Object updating method, device and equipment
US9864672B2 (en) Module specific tracing in a shared module environment
US9298588B2 (en) Tracing system for application and module tracing
US11327749B2 (en) System and method for generating documentation for microservice based applications
US20210081308A1 (en) Generating automated tests based on user interaction with an application
US8429645B2 (en) Method for optimizing migration of software applications to address needs
US9311213B2 (en) Module database with tracing options
US10671352B2 (en) Data processing platform for project health checks and recommendation determination
US20190188049A1 (en) Apparatus and method to select services for executing a user program based on a code pattern included therein
US20170090892A1 (en) Systems and methods for dynamically replacing code objects for code pushdown
US11947443B2 (en) Robotic process automation (RPA) debugging systems and methods
US11704610B2 (en) Benchmarking for automated task management
JP6094593B2 (en) Information system construction device, information system construction method, and information system construction program
US11853746B2 (en) Source code merge conflict resolution
EP4024203A1 (en) System performance optimization
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
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
Hauck et al. Deriving performance-relevant infrastructure properties through model-based experiments with Ginpex
US20240210903A1 (en) Software Development (DevOps) Pipelines for Robotic Process Automation
Tahmasebi et al. Dataclouddsl: Textual and visual presentation of big data pipelines
EP3042314B1 (en) Module specific tracing in a shared module environment

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 Request for written amendment filed

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