JP2021005205A - Computer system and method for generating program for controlling system - Google Patents
Computer system and method for generating program for controlling system Download PDFInfo
- Publication number
- JP2021005205A JP2021005205A JP2019118365A JP2019118365A JP2021005205A JP 2021005205 A JP2021005205 A JP 2021005205A JP 2019118365 A JP2019118365 A JP 2019118365A JP 2019118365 A JP2019118365 A JP 2019118365A JP 2021005205 A JP2021005205 A JP 2021005205A
- Authority
- JP
- Japan
- Prior art keywords
- program
- management information
- flow
- processor
- component
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- General Factory Administration (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
Description
本発明は、製造業プラント、又はインフラサービス系プラント等のシステムを制御するためのプログラムの生成方法に関する。 The present invention relates to a method of generating a program for controlling a system such as a manufacturing plant or an infrastructure service plant.
様々な装置が協同して稼働するプラントでは、すべての装置の動作等を制御するためのプログラムにより管理される。前述のようなプログラムを生成する方法として特許文献1及び特許文献2に記載の技術が知られている。
In a plant where various devices operate in cooperation, it is managed by a program for controlling the operation of all the devices. The techniques described in
特許文献1には、「プログラム作成装置は、作業ブロック定義部41と、工程フロー編集部42と、制御プログラム生成部43とを備える。工程フロー編集部42は、複数の作業ブロック情報を所望の順序で並べて得られる工程フローにおいて、処理対象作業ブロック情報よりも後続の設定対象ブロック情報の内部状態情報を、当該処理対象ブロック情報の事後条件を用いて設定する。制御プログラム生成部43は、工程フロー編集部43により内部状態情報が設定された複数の作業ブロック情報に基づいて制御プログラムを生成する。」ことが記載されている。
In
特許文献2には、「自動シーケンス制御の制御内容を一連の自動運転ごとにブロック化した複数の自動ブロックと各自動ブロックの動作順序とが記述されたマクロフローを作成するとともに、各自動ブロックにおける機械の自動制御のうち最低限実施される自動制御の内容が予め記述されたミクロフローのひな形を作成し、それらの電子ファイル21,22を記憶媒体4,6に保管しておく。自動制御仕様書の作成時には、ミクロフローのひな形の電子ファイル22を記憶媒体6から読み出し、必要な制御内容を書き加えてミクロフローを完成させる。そして、予め用意されたマクロフロー31にミクロフロー32を関連付けることによって自動制御仕様書30を完成させる。」ことが記載されている。
In
特許文献1には、後続のブロックの設定情報が、前段のブロックの内部状態情報と事後条件とを用いて設定されることが記載されている。前段ブロックの情報から後続のブロックの設定情報を設定するためのアルゴリズムを予め用意する必要がある。しかし、前述のアルゴリズムを生成するためには、開発者が、ベンダが提供する装置ドライバ及び制御プログラムに基づいて、各装置の仕様、並びに、装置間の依存関係及びメカニズムを把握する必要がある。したがって、このようなアルゴリズムを生成するためのコストが非常に大きい。
特に、装置の入れ替えが頻繁に発生する場合、装置の入れ替えのたびにアルゴリズムを生成する必要がある。したがってコスト及び工数の点で現実的でない。 In particular, when the devices are frequently replaced, it is necessary to generate an algorithm for each device replacement. Therefore, it is not realistic in terms of cost and man-hours.
特許文献2では、プログラム開発の部品を予め用意する必要がある。しかし、システムの様々な仕様変更及び要求に対応するためには、設計の自由度を確保する必要がある。そのため、予め用意された部品を組み合わせてプログラムを作成する場合、設計の自由度が制限される。
In
本発明は、設計の自由度を確保しつつ、頻繁にシステム仕様が変更されるシステムを制御するためのプログラムを低コストかつ容易に設計するためのシステム及び方法を提供することを目的とする。 An object of the present invention is to provide a system and a method for designing a program for controlling a system whose system specifications are frequently changed at low cost and easily while ensuring a degree of freedom in design.
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、システムを制御するためのプログラムを生成する計算機システムであって、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有する少なくとも一つの計算機を備え、新規プログラムを生成するために使用するベースプログラムを管理するためのソースコード管理情報、前記ベースプログラムの構造を管理するためのフロー管理情報、及び前記ベースプログラムを実行するシステムの仕様書を管理するための仕様書管理情報を格納するデータベースにアクセス可能であって、前記フロー情報には、最小の処理単位であるコンポーネントを少なくとも一つ含む複数のフローを連結した連結フローのデータが一つの前記ベースプログラムの構造を表すデータとして格納され、前記プロセッサは、前記新規プログラムを生成するための新規仕様書を受け付けた場合、前記新規仕様書と前記仕様書管理情報に格納される前記仕様書との比較結果に基づいて、前記仕様書管理情報に格納される仕様書の中から参考仕様書を選択し、前記ソースコード管理情報及び前記フロー管理情報に基づいて、前記参考仕様書に対応する前記ベースプログラムに含まれる複数の前記コンポーネントを調整することによって前記新規プログラムの候補となる設計パターンを生成する。 A typical example of the invention disclosed in the present application is as follows. That is, a computer system that generates a program for controlling a system, comprising at least one computer having a processor, a memory connected to the processor, and a network interface connected to the processor, and generating a new program. Source code management information for managing the base program used for the operation, flow management information for managing the structure of the base program, and specification management for managing the specifications of the system that executes the base program. A database for storing information is accessible, and in the flow information, data of a concatenated flow in which a plurality of flows including at least one component, which is the smallest processing unit, are concatenated represents the structure of one base program. When the processor accepts a new specification for generating the new program, it is stored as data, and based on the comparison result between the new specification and the specification stored in the specification management information. A plurality of reference specifications are selected from the specifications stored in the specification management information, and a plurality of reference specifications are included in the base program corresponding to the reference specifications based on the source code management information and the flow management information. By adjusting the components, a design pattern that is a candidate for the new program is generated.
本発明によれば、設計の自由度を確保しつつ、頻繁にシステム仕様が変更されるシステムを制御するためのプログラムを低コストかつ容易に設計できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to the present invention, it is possible to easily design a program for controlling a system whose system specifications are frequently changed at low cost while ensuring a degree of freedom in design. Issues, configurations and effects other than those mentioned above will be clarified by the description of the following examples.
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。 Hereinafter, examples of the present invention will be described with reference to the drawings. However, the present invention is not construed as being limited to the contents of the examples shown below. It is easily understood by those skilled in the art that a specific configuration thereof can be changed without departing from the idea or purpose of the present invention.
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。 In the configurations of the invention described below, the same or similar configurations or functions are designated by the same reference numerals, and duplicate description will be omitted.
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。 The notations such as "first", "second", and "third" in the present specification and the like are attached to identify the components, and do not necessarily limit the number or order.
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。 The position, size, shape, range, etc. of each configuration shown in the drawings and the like may not represent the actual position, size, shape, range, etc., in order to facilitate understanding of the invention. Therefore, the present invention is not limited to the position, size, shape, range, etc. disclosed in the drawings and the like.
図1は、実施例1に係る計算機システムの装置構成及びプログラム構成の一例を示す図である。 FIG. 1 is a diagram showing an example of a device configuration and a program configuration of the computer system according to the first embodiment.
計算機システムは、制御システムプログラム設計装置100及びプラント10から構成される。
The computer system is composed of a control system
制御システムプログラム設計装置100は、制御システム10と直接又はネットワークを介して接続される。ネットワークは、例えば、WAN(Wide Area Network)及びLAN(Local Area Network)等である。ネットワークの接続方式は無線及び有線のいずれでもよい。
The control system
図1では、制御システムプログラム設計装置100は、一つのプラント10と接続しているが、二つ以上のプラント10と接続してもよい。
In FIG. 1, the control system
プラント10は、データ管理サーバ103、制御システムサーバ104、ゲートウェイ105、記憶装置106、複数の制御装置107、及び複数の記憶装置108を含む。
The
データ管理サーバ103及び制御システムサーバ104はネットワーク110を介して互いに接続され、ゲートウェイ105及び複数の制御装置107はネットワーク111を介して互いに接続される。制御システムサーバ104及びゲートウェイ105は直接又はネットワークを介して互いに接続され、制御システムサーバ104及び記憶装置106は直接又はネットワークを介して互いに接続される。制御装置107及び記憶装置108は直接又はネットワークを介して互いに接続される。
The
サーバ間、サーバ及び装置間、及び装置間では、ソケット通信にてデータ及びメッセージの送受信が行われる。 Data and messages are transmitted and received by socket communication between servers, between servers and devices, and between devices.
データ管理サーバ103は、図示しないプロセッサ、メモリ、ネットワークインタフェース、及び記憶装置を備え、各種データを管理する。データ管理サーバ103が管理するデータの詳細は図3を用いて説明する。なお、データ管理サーバ103の代わりに、ネットワークアタッチドストレージ(NAS)を設けてもよい。データの保存及び共有に機能限定してシステムの価格を廉価にしたい場合には、NASを採用すればよい。
The
制御装置107は、記憶装置108に格納される装置制御プログラム150に基づいて、プラント10内で稼働するロボット等の装置を制御する。記憶装置108には、少なくとも一つの装置を制御するための装置制御プログラム150が格納される。一つ装置制御プログラム150には、少なくとも一つ以上の制御APIを実現するコードが含まれる。
The
ゲートウェイ105は、図示しないプロセッサ、メモリ、及びネットワークインタフェースを備え、制御システムサーバ104及び制御装置107の間の通信を制御する。
The
制御システムサーバ104は、図示しないプロセッサ、メモリ、及びネットワークインタフェースを備え、記憶装置106に格納される制御システムプログラム140に基づいて、プラント10内の業務、すなわち、制御装置107を制御する。記憶装置106には、少なくとも一つの制御システムプログラム140が格納される。一つの制御システムプログラム140には、少なくとも一つのサブルーチンを実行するためのコードが含まれる。なお、プラント10には複数の制御システムサーバ104が含まれてもよい。
The
制御システムサーバ104は、メッセージを受信した場合、メッセージの種別及び内容に基づいて、起動する制御システムプログラム140を選択し、選択された制御システムプログラム140を実行する。制御システムサーバ104は、プログラムの実行結果をデータ管理サーバ103に送信する。制御システムサーバ104は、メッセージの順番及び分岐の制御、データ形式の変換、データのアクセス等も行う。
When the
制御システムプログラム設計装置100は、図示しないプロセッサ、メモリ、及びネットワークインタフェースを備え、制御システムプログラム140の設計を行う。なお、複数の計算機を用いて、制御システムプログラム設計装置100と同様の機能を実現するシステムを構築してもよい。
The control system
制御システムプログラム設計装置100は、ビューワ120及び設計支援モジュール121を実現するプログラムを実行する。
The control system
ビューワ120は、制御システムプログラム設計装置100の処理結果及びその他の情報を表示する。
The
設計支援モジュール121は、制御システムプログラム140を設計する。マッチングモジュール130及び選択モジュール131を含む。
The
マッチングモジュール130は、プラントにおける業務の内容(システム仕様)等に合致するように制御システムプログラム140の候補となる設計パターンを生成する。選択モジュール131はマッチングモジュール130によって生成された設計パターンの中から条件に合致する設計パターンを選択する。
The
図2は、実施例1に係る制御システムプログラム140及び装置制御プログラム150間のコール及びレスポンスの一例を示す図である。
FIG. 2 is a diagram showing an example of a call and a response between the
制御システムプログラム140は、少なくとも一つのサブルーチン200から構成される。サブルーチン200は、少なくとも一つのサブタスク210から構成される。装置制御プログラム150は、少なくとも一つのAPI220から構成される。
The
サブタスク210は、制御対象の装置に対応する装置制御プログラム150のAPI220を呼び出し、装置の制御を行う。 The subtask 210 calls the API 220 of the device control program 150 corresponding to the device to be controlled and controls the device.
図2に示す制御システムプログラム140は、二つのサブルーチン200−1、200−2から構成される。サブルーチン200−1は、サブタスク210−1、210−2から構成され、サブルーチン200−2はサブタスク210−3から構成される。装置制御プログラム150−1は、API A−1(220−1)、API A−2(220−2)から構成され、装置制御プログラム150−2は、API B−1(220−3)、API B−2(220−4)から構成され、装置制御プログラム150−3は、API C−1(220−5)、API C−2(220−6)から構成される。
The
サブタスク210−1は、API A−1(220−2)を呼び出し、サブタスク210−2は、API B−2(220−2)を呼び出し、サブタスク210−1は、API C−1(220−5)を呼び出す。 Subtask 210-1 calls API A-1 (220-2), subtask 210-2 calls API B-2 (220-2), and subtask 210-1 calls API C-1 (220-5). ) Is called.
制御システムプログラム140は、最小単位の処理をコンポーネントとする構造のデータとして扱うことができる。ここで、制御システムプログラム140の構造について説明する。
The
図3は、実施例1に係る制御システムプログラム140の構造を説明する図である。図4は、実施例1に係るコンポーネント300の構造の一例を示す図である。
FIG. 3 is a diagram illustrating the structure of the
制御システムプログラム140は、複数のコンポーネント300から構成される。図3に示す制御システムプログラム140は、七つのコンポーネント300−1、300−2、300−3、300−4、300−5、300−6、300−7から構成される。
The
コンポーネント300は、図4に示すように、関数及びAPI等を表すコード及びパラメータの集合であり、最小単位の処理(作業及びタスク等)を表す。
As shown in FIG. 4, the
一つの機能を実現するコンポーネント300の集合をフロー310として扱う。フロー310には少なくとも一つのコンポーネント300が含まれる。一つのフロー310が一つのトランザクションに対応する。ここで、トランザクションは、システム内で実行される、不可分な一連の処理の単位を表し、相互依存のある複数の処理が全て完了するか、全てキャンセルされる単位である。
A set of
図3に示す制御システムプログラム140は、三つのフロー310−1、310−2、310−3を含む。
The
複数のフロー310を連結することによって構成される連結フロー320は、制御システムプログラム140そのものを表す。連結フロー320は、複数の機能を組み合わせることによって実現されるサービス等に相当する。
The
図5は、実施例1に係るデータ管理サーバ103が管理する情報の一例を示す図である。
FIG. 5 is a diagram showing an example of information managed by the
データ管理サーバ103は、パラメータ管理情報500、コード管理情報501、仕様書管理情報502、制約条件管理503、ソースコード管理情報504、及びフロー管理情報505を管理する。
The
パラメータ管理情報500は、パラメータの調整方法を管理するための情報である。パラメータ管理情報500のデータ構造の詳細は図6を用いて説明する。
The
コード管理情報501は、コードの調整方法を管理するための情報である。コード管理情報501のデータ構造の詳細は図7を用いて説明する。
The
仕様書管理情報502は、プラント10の制御の要件等、システム仕様を定義した仕様書を管理するための情報である。仕様書管理情報502のデータ構造の詳細は図8を用いて説明する。
The
制約条件管理503は、制御システムプログラム140が満たす条件等を管理するための情報である。制約条件管理503のデータ構造の詳細は図9を用いて説明する。
The
ソースコード管理情報504は、制御システムプログラム140の実体であるコード群(ソースコード)を管理するための情報である。なお、ソースコードは連結フロー320の識別情報と紐付けて管理される。
The source
フロー管理情報505は、制御システムプログラム140の構造、すなわち、連結フロー320を管理するための情報である。フロー管理情報505のデータ構造の詳細は図10、図11A、及び図11Bを用いて説明する。
The
図6は、実施例1に係るパラメータ管理情報500のデータ構造の一例を示す図である。
FIG. 6 is a diagram showing an example of a data structure of the
パラメータ管理情報500は、No601、分類ID602、分類603、名称604、及び設定値605から構成されるレコードを格納する。一つのパラメータに対して一つのレコードが存在する。なお、一つのパラメータの調整方法に対して一つのレコードを設定してもよい。
The
No601は、パラメータの識別番号を格納するフィールドである。分類ID602は、パラメータの分類に関する識別情報を格納するフィールドである。分類603は、パラメータの分類を格納するフィールドである。名称604は、パラメータの名称を格納するフィールドである。設定値605は、レコードに対応するパラメータに設定する値を格納するフィールドである。
No. 601 is a field for storing the identification number of the parameter. The
本実施例では、過去の制御システムプログラム140の設計で行われたパラメータの調整結果がパラメータ管理情報500に格納されるものとする。なお、ユーザが予め設定してもよい。なお、パラメータ管理情報500に格納されるレコードが少ない場合、又は、ユーザが予め設定することができない場合、ユーザは、テスト環境にてプログラムの挙動テストを実行し、その結果をパラメータ管理情報500に登録すればよい。
In this embodiment, it is assumed that the parameter adjustment result performed in the design of the
図7は、実施例1に係るコード管理情報501のデータ構造の一例を示す図である。
FIG. 7 is a diagram showing an example of the data structure of the
コード管理情報501は、No701、コンポーネントID702、処理種別703、及び設定コード704から構成されるレコードを格納する。一つのコードに対して一つのレコードが存在する。なお、一つのコードの調整方法に対して一つのレコードを設定してもよい。
The
No701は、コードの識別番号を格納するフィールドである。コンポーネントID702は、コードを含むコンポーネントの識別情報を格納するフィールドである。処理種別703は、コードにより実現される処理の種別を格納するフィールドである。設定コード704は、設定されたコードに関する情報を格納するフィールドである。設定コード704には、コードそのものが格納されてもよいし、条件及びコードから構成される情報が格納されてもよい。
No. 701 is a field for storing the identification number of the code. The
本実施例では、過去の制御システムプログラム140の設計で行われたコードの調整結果がコード管理情報501に格納されるものとする。なお、ユーザが予め設定してもよい。なお、コード管理情報501に格納されるレコードが少ない場合、又は、ユーザが予め設定することができない場合、ユーザは、テスト環境にてプログラムの挙動テストを実行し、その結果をコード管理情報501に登録すればよい。
In this embodiment, it is assumed that the code adjustment result performed in the design of the
図8は、実施例1に係る仕様書管理情報502のデータ構造の一例を示す図である。
FIG. 8 is a diagram showing an example of the data structure of the
仕様書管理情報502は、No801、連結フローID802、項目ID803、項目分類804、名称805、設定値806、及び単位807から構成されるレコードを格納する。一つの仕様書に対してレコードが存在する。また、一つのレコードには項目の数だけ行が含まれる。
The
No801は、仕様書の識別番号を格納するフィールドである。連結フローID802は、仕様書に対応するベストスコアの連結フロー320の識別情報を格納するフィールドである。項目ID803は、項目の識別情報を格納するフィールドである。項目分類804は、項目の分類を格納するフィールドである。名称805は、項目の名称を格納するフィールドである。設定値806は、項目に対して設定する値の定義情報を格納するフィールドである。単位807は、設定値806に対応する値の単位を格納するフィールドである。
No. 801 is a field for storing the identification number of the specification. The
図9は、実施例1に係る制約条件管理503のデータ構造の一例を示す図である。
FIG. 9 is a diagram showing an example of the data structure of the
制約条件管理503は、No901、条件分類902、項目名称903、優先度904、及び内容905から構成されるレコードを格納する。一つの制約条件に対して一つのレコードが存在する。
The
No901は、制約条件の識別番号を格納するフィールドである。条件分類902は、制約条件の分類を格納するフィールドである。項目名称903は、制約の対象(項目)の名称を格納するフィールドである。優先度904は、制約条件の優先度を格納するフィールドである。内容905は、制約条件の具体的な内容を格納するフィールドである。
No. 901 is a field for storing the identification number of the constraint condition. The
本実施例では、「単体制約」の制約条件、「横断制約」の制約条件、及び「システム制約」の制約条件の三種類の制約条件が制約条件管理503に設定される。
In this embodiment, three types of constraints, a "single constraint" constraint, a "crossing constraint" constraint, and a "system constraint" constraint, are set in the
「単体制約」の制約条件は、プラント10で稼働する装置に関する制約条件である。「単体制約」の制約条件は、装置の仕様及び動作条件等に基づいて生成される。
The constraint condition of "single constraint" is a constraint condition relating to the apparatus operating in the
「横断制約」の制約条件は、プラント10で稼働する複数の装置間のやりとりに関する制約条件である。「横断制約」の制約条件は、装置間の依存関係及びインタフェースの仕様の差異等に基づいて生成される。
The constraint condition of the "crossing constraint" is a constraint condition relating to the exchange between a plurality of devices operating in the
「システム制約」の制約条件は、プラント10に関する制約条件である。「システム制約」の制約条件は、プラント10を運営する会社の休日に伴う停止、プラント10の更新及びテスト運用等、装置の動作とは異なる観点のユーザ要求に基づいて生成される。
The constraint condition of "system constraint" is a constraint condition related to the
同一種類の制約条件には優先度が設定される。優先度に基づいて制約条件を適用することによって、プログラムの設計パターン数の絞り込みの強度を調節し、また、より好ましいプログラムを出力するように誘導できる。 Priority is set for the same type of constraint. By applying the constraint condition based on the priority, the strength of narrowing down the number of design patterns of the program can be adjusted, and a more preferable program can be output.
なお、製造業、並びに、電力、ガス、及び水道等のインフラサービス等のプラント10における業務の内容に応じて、制約条件の内容及び数を調整することができる。
It should be noted that the content and number of constraints can be adjusted according to the content of operations in the manufacturing industry and the
図10、図11A及び図11Bは、実施例1に係るフロー管理情報505のデータ構造の一例を示す図である。図12は、実施例1に係るフロー管理情報505により定義される連結フロー320の構造の一例を示す図である。
10, 11A and 11B are diagrams showing an example of the data structure of the
フロー管理情報505は、連結フロー構造情報1000及びフロー/コンポーネント構造情報1100を含む。
The
連結フロー構造情報1000は、連結フローID1001、開始コンポーネントID1002、終了コンポーネントID1003、及び連結フロー機能1004から構成されるレコードを格納する。一つの連結フロー320に対して一つのレコードが存在する。
The concatenated
連結フローID1001は、連結フロー320の識別情報を格納するフィールドである。開始コンポーネントID1002は、連結フロー320の始点となるコンポーネント300の識別情報を格納するフィールドである。終了コンポーネントID1003は、連結フロー320の終点となるコンポーネント300の識別情報を格納するフィールドである。連結フロー機能1004は、連結フロー320により実現される機能に関する情報を格納するフィールドである。
The
フロー/コンポーネント構造情報1100は、フローID1101、コンポーネントID1102、前コンポーネントID1103、後コンポーネントID1104、遷移条件1105、及びフロー機能1106から構成されるレコードを格納する。一つのフロー310に対して一つのレコードが存在する。また、一つのレコードには、フロー310を構成するコンポーネント300の数だけ行が含まれる。
The flow /
フローID1101は、フロー310の識別情報を格納するフィールドである。コンポーネントID1102は、フロー310を構成するコンポーネント300の識別情報を格納するフィールドである。
The
前コンポーネントID1103は、コンポーネントID1102に対応するコンポーネント300の前に接続されるコンポーネント300の識別情報を格納するフィールドである。後コンポーネントID1104は、コンポーネントID1102に対応するコンポーネント300の後に接続されるコンポーネント300の識別情報を格納するフィールドである。
The
遷移条件1105は、コンポーネント300間の遷移に関する情報を格納するフィールド群であり、ID1111、関連ID1112、及び条件1113を含む。
The
ID1111は、遷移元のコンポーネント300、すなわち、コンポーネントID1102に対応するコンポーネント300の識別情報を格納するフィールドである。関連ID1112は、遷移先のコンポーネント300、すなわち、後コンポーネントID1104に対応するコンポーネント300の識別情報を格納するフィールドである。条件1113は、コンポーネント300間の遷移の条件及び処理に関する情報を格納するフィールドである。
ID 1111 is a field for storing the identification information of the
フロー機能1106は、フロー310により実現される機能に関する情報を格納するフィールドである。
The
連結フローID1001が「001C」である連結フロー320は、図12に示すような構造となる。実線のボックス内の数字はコンポーネント300の識別情報を表し、点線のボックス内の数字はフロー310の識別情報を表す。
The
次に、制御システムプログラム設計装置100が実行する処理について説明する。
Next, the process executed by the control system
制御システムプログラム設計装置100は、過去の設計された制御システムプログラム140を設計資産として利用して、新たな制御システムプログラム140を設計する。本発明では、システム仕様の一部又は全部の変更に伴って行われるプログラム開発を想定し、また、以下の条件のいずれかを満たすことを前提とする。
The control system
(1)既存プログラムの対象コンポーネント300のパラメータの調整、又は、対象コンポーネント300及び対象コンポーネント300と依存関係を持つコンポーネント300のパラメータの調整によりシステム仕様を満足できる。
(1) The system specifications can be satisfied by adjusting the parameters of the
(2)対象コンポーネント300のパラメータ及びコードの調整によりシステム仕様を満足できる。
(2) The system specifications can be satisfied by adjusting the parameters and codes of the
(3)対象コンポーネント300のパラメータの及びコードの調整、並びに、対象コンポーネント300と依存関係を持つコンポーネント300のパラメータ及びコードの調整によりシステム仕様を満足できる。
(3) The system specifications can be satisfied by adjusting the parameters and codes of the
ここで、パラメータの調整は、任意の変数(パラメータ)に代入する数値又は文字列の変更等を含む。また、コードの調整とは、足し算処理から引き算処理への変更又は掛け算処理から割り算処理への変更等の簡易な変更だけではなく、複雑な計算処理、データ変換処理、装置を制御するコマンドの送信処理等の複雑な処理の変更も含む。 Here, the adjustment of the parameter includes a change of a numerical value or a character string assigned to an arbitrary variable (parameter). In addition, code adjustment is not only a simple change such as a change from addition processing to subtraction processing or a change from multiplication processing to division processing, but also complicated calculation processing, data conversion processing, and transmission of commands for controlling the device. Includes complicated processing changes such as processing.
コードの調整については、エンジニアが、システム仕様の変更内容を読んで、予めどのコードを調整すればよいか理解している場合をベストケースと考え、その場合は予めユーザがコードを調整し、制御システムプログラム設計装置100は、パラメータだけを調整する。一方、エンジニアが、どのコードを調整すればよいのか理解していないワーストケースもある。この場合は、高度なパラメータ及びコードの調整を実現する機械学習及び人工知能等のアルゴリズムを制御システムプログラム設計装置100に導入すればよい。制御システムプログラム設計装置100は、最適値、最適解、又は最適コードを探索して、システム仕様を満足するプログラムを設計する。
For a reconciliation of the code, engineers, read the changes in the system specification, considered if the best case that understand what may be adjusted to any code in advance, to adjust the pre-user code is case, control The system
以下の説明では、パラメータの調整及びコードの調整をコンポーネント300の調整と記載する。
In the following description, parameter adjustment and code adjustment will be referred to as
コンポーネント300の調整には、自動的な処理のほかに、最小自乗法、尤度推定、パターンマッチング、機械学習、及び人工知能等を利用し、ユーザと協力して行う処理も含む。
In addition to the automatic processing, the adjustment of the
図13は、実施例1に係る制御システムプログラム設計装置100が実行する処理を説明するフローチャートである。図14は、実施例1に係る制御システムプログラム設計装置100が提示する画面の一例を示す図である。図15A、図15B、及び図15Cは、実施例1に係る制御システムプログラム設計装置100が提示する連結フローの一例を示す図である。
FIG. 13 is a flowchart illustrating a process executed by the control system
制御システムプログラム設計装置100の設計支援モジュール121は、新規仕様書を含む制御システムプログラム140の生成要求を受け付けた場合、以下で説明する処理を開始する。
When the
設計支援モジュール121は、新規仕様書と仕様書管理情報502に格納される仕様書とを比較し、比較結果に基づいて使用する仕様書を選択する(ステップS101)。例えば、以下のような処理が考えられる。
The
設計支援モジュール121は、仕様書の各項目の設定を比較して、各項目の設定の類似度を算出し、すべての項目の類似度の平均値又は合計値を評価値として算出する。設計支援モジュール121は、評価値が最も大きい仕様書を選択する。設計支援モジュール121は、選択された仕様書に対応するレコードの連結フローID802に基づいてフロー管理情報505を参照し、選択された仕様書に対応する連結フロー320の情報を取得する。設計支援モジュール121は、取得した連結フロー320をベースプログラム(ベース連結フロー320)として設定する。
The
なお、前述した仕様書の選択方法は一例であってこれに限定されない。例えば、仕様書の種別、ユーザの種別等に基づいて仕様書を選択してもよい。 The above-mentioned specification selection method is an example and is not limited to this. For example, the specifications may be selected based on the type of specifications, the type of user, and the like.
設計支援モジュール121は、コンポーネントマッチング処理を実行する(ステップS102)。具体的には、以下のような処理が実行される。
The
(S102−1)マッチングモジュール130は、対象コンポーネント300を選択する。対象コンポーネント300は、連結フロー320の流れに沿うように選択されるものとする。なお、対象コンポーネント300を第1層コンポーネント300とも記載する。
(S102-1) The
(S102−2)マッチングモジュール130は、パラメータ管理情報500及びコード管理情報501を参照して、新規仕様書に定義された装置の仕様又は動作条件等を満たすように、第1層コンポーネント300を調整する。なお、コンポーネント300の調整では、パラメータ及びコードの変更の少なくともいずれかが調整される。このとき、マッチングモジュール130は、第1層コンポーネント300から出力される値が出力目標値とどの程度近似しているかを評価する。
(S102-2) The
ここでは、マッチングモジュール130は、式(1)で定義される出力類似度を評価値として算出する。なお、出力目標値は新規仕様書に含まれるものとする。
Here, the
(S102−3)マッチングモジュール130は、第1層コンポーネント300に接続されるコンポーネント300を特定し、当該コンポーネント300について(S102−3)と同一の処理を実行する。特定されたコンポーネント300を第2層コンポーネント300と記載する。なお、第2層コンポーネント300だけではなく、第1層コンポーネントについて調整を行ってもよい。
(S102-3) The
(S102−4)マッチングモジュール130は、第2層コンポーネント300に接続されるコンポーネント300を特定し、当該コンポーネント300について(S102−3)と同一の処理を実行する。特定されたコンポーネント300を第3層コンポーネント300と記載する。なお、第3層コンポーネントだけではなく、第1層コンポーネント300及び第2層コンポーネント300について調整を行ってもよい。
(S102-4) The
(S102−5)マッチングモジュール130は、第1層コンポーネント300、第2層コンポーネント300、及び第3層コンポーネント300の出力類似度の統計値(例えば、平均値又は合計値)が閾値より大きいか否かを判定する。出力類似度の統計値が閾値より大きい場合、マッチングモジュール130は、(S102−2)から(S102−4)により生成された連結フロー320を候補設計パターンとしてリストに登録する。
(S102-5) In the
(S102−6)マッチングモジュール130は、リストに登録された候補設計パターンの数が閾値以上になった場合、又は、(S102−2)から(S102−5)までのループ処理の実行回数が閾値以上となった場合、(S102−7)に進む。
(S102-6) In the
(S102−7)マッチングモジュール130は、すべてのコンポーネント300に対して処理が完了したか否かを判定する。すべてのコンポーネント300に対して処理が完了していないと判定された場合、マッチングモジュール130は(S102−1)に戻る。すべてのコンポーネント300に対して処理が完了したと判定された場合、マッチングモジュール130はステップS102の処理を終了する。
(S102-7) The
一つのコンポーネント300の調整を行った結果、他のコンポーネント300へのインタフェースが整合しない、依存関係のあるコンポーネント300の挙動がシステム仕様を満たさない等の事象が発生する場合ある。そこで、マッチングモジュール130は、階層的にコンポーネント300の調整を行う。
As a result of adjusting one
また、階層的なコンポーネント300の調整を行うことによって、設計資産をなるべく多く流用して、調整に要する工数を削減する効果がある。また、システム仕様の適合が保証された設計資産をなるべく多く流用することによって、同様にシステム仕様に適合する可能性が高い、すなわち、信頼性が高いプログラムを設計できる。
Further, by adjusting the
なお、評価するコンポーネント300の階層の数は任意に設定できる。以上がステップS102の処理の説明である。
The number of layers of the
次に、設計支援モジュール121の選択モジュール131は、「単体制約」の制約条件に基づいて、設計パターンを絞り込む(ステップS103)。具体的には、選択モジュール131は、設計パターンに含まれる各コンポーネント300に対して「単体制約」の制約条件を満たすか否かを判定する。
Next, the
次に、設計支援モジュール121は、フローマッチング処理を実行する(ステップS104)。具体的には、以下のような処理が実行される。
Next, the
(S104−1)マッチングモジュール130は設計パターンを選択する。
(S104-1) The
(S104−2)マッチングモジュール130は、設計パターンの中から対象フロー310を選択する。対象フロー310は、連結フロー320の流れに沿うように選択されるものとする。
(S104-2) The
(S104−3)マッチングモジュール130は、対象フロー310に含まれるコンポーネントの出力類似度を算出し、さらに、各出力類似度の総和、平均値、分散、標準偏差などの統計値を算出する。これは、フロー310の出力を評価する値となる。また、マッチングモジュール130は、式(2)で定義されるフロー310の構造類似度を算出する。なお、フロー類似指標は式(3)で与えられ、コンポーネント類似指標は式(4)で与えられる。構造類似度は、ベースプログラムと類似するプログラムを設計するための指標として用いられる。
(S104-3) The
(S104−4)マッチングモジュール130は、出力類似度の統計値及び構造類似指標の各々が閾値より大きい場合、連結フロー320を候補設計パターンとしてリストに登録する。出力類似度の統計値及び構造類似指標の少なくともいずれかが閾値以下である場合、マッチングモジュール130は、フロー310に含まれるコンポーネント300を調整する。例えば、マッチングモジュール130は、出力類似度が最も低い順にコンポーネント300を調整する。マッチングモジュール130は、調整後のコンポーネント300を含むフロー310について(S104−3)の処理を実行する。
(S104-4) When each of the output similarity statistical value and the structural similarity index is larger than the threshold value, the
なお、(S104−3)の処理の実行回数が閾値より大きい場合、マッチングモジュール130は(S104−5)に進む。
When the number of executions of the process of (S104-3) is larger than the threshold value, the
(S104−5)マッチングモジュール130は、選択された設計パターンに含まれるすべてのフロー310について処理が完了したか否かを判定する。選択された設計パターンに含まれるすべてのフロー310について処理が完了していないと判定された場合、マッチングモジュール130は(S104−2)に戻る。
(S104-5) The
(S104−6)選択された設計パターンに含まれるすべてのフロー310について処理が完了したと判定された場合、マッチングモジュール130は、すべての設計パターンについて処理が完了したか否かを判定する。すべての設計パターンについて処理が完了していないと判定された場合、マッチングモジュール130は(S104−1)に戻る。すべての設計パターンについて処理が完了したと判定された場合、マッチングモジュール130はステップS104の処理を終了する。
(S104-6) When it is determined that the processing is completed for all the flows 310 included in the selected design pattern, the
なお、マッチングモジュール130は、構造類似度を用いなくてもよい。以上がステップS104の処理の説明である。
The
次に、設計支援モジュール121の選択モジュール131は、「横断制約」の制約条件に基づいて、設計パターンを絞り込む(ステップS105)。具体的には、選択モジュール131は、設計パターンに含まれる各フロー310に対して「横断制約」の制約条件を満たすか否かを判定する。
Next, the
次に、設計支援モジュール121は、連結フローマッチング処理を実行する(ステップS106)。具体的には、以下のような処理が実行される。
Next, the
(S106−1)マッチングモジュール130は設計パターンを選択する。
(S106-1) The
(S106−2)マッチングモジュール130は、各フロー310に含まれるコンポーネント300の出力類似度を算出し、また、各フロー310の構造類似度を算出する。マッチングモジュール130は、コンポーネントの出力類似度の統計値及び構造類似度の統計値を算出する。
(S106-2) The
(S106−3)マッチングモジュール130は、出力類似度の統計値及び構造類似度の統計値の各々が閾値より大きい場合、連結フロー320を候補設計パターンとしてリストに登録する。出力類似度の統計値及び構造類似指標の統計値の少なくともいずれかが閾値以下である場合、マッチングモジュール130は、少なくともいずれかのコンポーネント300を調整する。例えば、マッチングモジュール130は、出力類似度が最も低い順にコンポーネント300を調整する。マッチングモジュール130は、調整後のコンポーネント300を含む連結フロー320について(S106−2)の処理を実行する。
(S106-3) When each of the output similarity statistical value and the structural similarity statistical value is larger than the threshold value, the
なお、(S106−3)の処理の実行回数が閾値より大きい場合、マッチングモジュール130は(S106−4)に進む。
When the number of executions of the process of (S106-3) is larger than the threshold value, the
(S106−4)マッチングモジュール130は、すべての設計パターンについて処理が完了したか否かを判定する。すべての設計パターンについて処理が完了していないと判定された場合、マッチングモジュール130は(S106−1)に戻る。すべての設計パターンについて処理が完了したと判定された場合、マッチングモジュール130はステップS106の処理を終了する。
(S106-4) The
なお、マッチングモジュール130は、構造類似度を用いなくてもよい。以上がステップS106の処理の説明である。
The
次に、設計支援モジュール121の選択モジュール131は、「システム制約」の制約条件に基づいて、設計パターンを絞り込む(ステップS107)。具体的には、選択モジュール131は、設計パターンに対応する連結フロー320に対して「システム制約」の制約条件を満たすか否かを判定する。
Next, the
次に、設計支援モジュール121は、設計パターンに関する情報をデータ管理サーバ103に登録する(ステップS108)。
Next, the
調整されたパラメータに関する情報はパラメータ管理情報500に登録され、調整されたコードに関する情報はコード管理情報501に登録され、新規仕様書は仕様書管理情報502に登録され、設計パターンに対応するソースコードはソースコード管理情報504に登録され、設計パターンに対応する連結フロー320はフロー管理情報505に格納される。
Information about the adjusted parameters is registered in the
次に、ビューワ120は、設計パターンに関する情報を提示し(ステップS109)、その後、処理を終了する。ビューワ120は、例えば、図14のような画面1400を表示する。
Next, the
画面1400は、設計パターン選択欄1401、ベースプログラム表示ボタン1402、設計パターン表示ボタン1403、及び詳細情報欄1404を含む。
The
設計パターン選択欄1401は、評価又は閲覧する設計パターンを選択するための欄である。図14ではプルダウン形式で選択可能な設計パターンが提示される。
The design
ベースプログラム表示ボタン1402は、設計パターンの生成時に使用したベースプログラムを表示するためのボタンである。ユーザがベースプログラム表示ボタン1402を操作した場合、ビューワ120は、例えば、図15Aに示すようなベースプログラムに対応する連結フロー320を提示する。連結フロー320は、フロー310−1、310−2を含む。なお、コの字型のコンポーネント300は分岐を示し、DBの文字列を含むコンポーネント300はデータベースを示す。
The base program display button 1402 is a button for displaying the base program used when generating the design pattern. When the user operates the base program display button 1402, the
設計パターン表示ボタン1403は、設計パターン選択欄1401で選択した設計パターンを表示するためのボタンである。ユーザが設計パターン表示ボタン1403を操作した場合、ビューワ120は、例えば、図15B又は図15Cに示すような設計パターンに対応する連結フロー320を提示する。
The design
システム仕様の変更に伴って新規パラメータを追加する場合、新規パラメータを含む新規コンポーネント300を作成する必要がある。さらに、新規コンポーネント300を追加するためには、ベースプログラムのコンポーネント300の仲介役となるインタフェースとして機能する依存関係コンポーネント300を追加する必要がある。
When a new parameter is added due to a change in the system specifications, it is necessary to create a
図15Bに示す連結フロー320において、黒のボックスは新規パラメータを含む新規コンポーネント300を表し、斜線のボックスは依存関係コンポーネント300を表す。また、ドットのボックスは依存関係コンポーネント300の追加に伴ってパラメータが調整されたコンポーネント300を表す。
In the
図15Cに示す連結フロー320では、フロー310−1のコンポーネント300が調整されている。具体的には、システム仕様の変更に伴ってパラメータが調整されたコンポーネント300と、当該コンポーネント300の調整に伴ってパラメータが調整された二つの依存関係コンポーネント300を含む。
In the
詳細情報欄1404は、選択された設計パターンの構造、出力類似度及び構造類似度等の指標、並びにベースプログラムからの変更箇所等を表示する欄である。
The
ビューワ120は、出力類似度の統計値及び構造類似度の統計値等に基づいてソートされた設計パターンのリストを提示してもよい。このとき、ビューワ120は、上位の設計パターンのみを提示してもよい。
The
なお、ビューワ120は、ソースコード、パラメータ、及びコード等を、数値、テキスト、グラフ、及び図等の情報として提示してもよい。
The
マッチング処理の実行後、制約条件に基づく設計パターンの絞り込みを行っているのは、サンプルデータ数が多い方が、マッチング精度及び計算収束性が向上するためである。 After the matching process is executed, the design pattern is narrowed down based on the constraint conditions because the larger the number of sample data, the better the matching accuracy and the calculation convergence.
また、装置の変更及び入れ替えを想定して、新たなシステムにおいて装置を確実に動作できるように、コンポーネント300、フロー310、及び連結フロー320の順番でボトムアップ的にマッチング処理を実行している。
Further, assuming a change or replacement of the device, the matching process is executed bottom-up in the order of the
なお、各マッチング処理が実行された後に、制約条件に基づく設計パターンの絞り込みが行われてもよい。ただし、「単体制約」、「横断制約」、及び「システム制約」の順に制約条件は適用される。 After each matching process is executed, the design pattern may be narrowed down based on the constraint conditions. However, the constraints are applied in the order of "single constraint", "crossing constraint", and "system constraint".
なお、過去の制御システムプログラム140を利用せずに、新たに、制御システムプログラム140を生成する場合、制御システムプログラム設計装置100は以下のような処理を実行する。
When the
設計支援モジュール121は、仕様書、パラメータ管理情報500、及びコード管理情報501に基づいて、コンポーネント300を生成し、コンポーネント300を連結してフロー310を生成し、さらに、フロー310を連結して連結フロー320を生成する。設計支援モジュール121は、制約条件を満たす連結フロー320を選択する。
The
以上で説明したように、制御システムプログラム設計装置100は、以前設計された制御システムプログラム140を流用することによって、頻繁にシステム仕様が変更されるシステムを制御するためのプログラムを容易に設計できる。また、制御システムプログラム設計装置100は、パラメータ管理情報500及びコード管理情報501に基づいてコンポーネント300を調整することによって制御システムプログラム140を設計できるため、プログラムの設計に要するコストを削減できる。
As described above, the control system
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。 The present invention is not limited to the above-mentioned examples, and includes various modifications. Further, for example, the above-described embodiment describes the configuration in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the described configurations. Further, it is possible to add, delete, or replace a part of the configuration of each embodiment with other configurations.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。 Further, each of the above configurations, functions, processing units, processing means and the like may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. The present invention can also be realized by a program code of software that realizes the functions of the examples. In this case, a storage medium in which the program code is recorded is provided to the computer, and the processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the program code itself and the storage medium storing the program code itself constitute the present invention. Examples of the storage medium for supplying such a program code include a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, and a magnetic tape. Non-volatile memory cards, ROMs, etc. are used.
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。 Further, the program code that realizes the functions described in the present embodiment can be implemented in a wide range of programs or script languages such as assembler, C / C ++, perl, Shell, PHP, Python, and Java (registered trademark).
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Further, by distributing the program code of the software that realizes the functions of the examples via the network, it is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or a CD-R. , The processor provided in the computer may read and execute the program code stored in the storage means or the storage medium.
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。 In the above-described embodiment, the control lines and information lines show what is considered necessary for explanation, and do not necessarily indicate all the control lines and information lines in the product. All configurations may be interconnected.
10 制御システム(プラント)
100 制御システムプログラム設計装置
103 データ管理サーバ
104 制御システムサーバ
105 ゲートウェイ
106 記憶装置
107 制御装置
108 記憶装置
110、111 ネットワーク
120 ビューワ
121 設計支援モジュール
130 マッチングモジュール
131 選択モジュール
140 制御システムプログラム
150 装置制御プログラム
200 サブルーチン
210 サブタスク
220 API
300 コンポーネント
310 フロー
320 連結フロー
500 パラメータ管理情報
501 コード管理情報
502 仕様書管理情報
503 制約条件管理
504 ソースコード管理情報
505 フロー管理情報
10 Control system (plant)
100 Control system
300 Component 310
Claims (8)
プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有する少なくとも一つの計算機を備え、
新規プログラムを生成するために使用するベースプログラムを管理するためのソースコード管理情報、前記ベースプログラムの構造を管理するためのフロー管理情報、及び前記ベースプログラムを実行するシステムの仕様書を管理するための仕様書管理情報を格納するデータベースにアクセス可能であって、
前記フロー管理情報には、最小の処理単位であるコンポーネントを少なくとも一つ含む複数のフローを連結した連結フローのデータが一つの前記ベースプログラムの構造を表すデータとして格納され、
前記プロセッサは、
前記新規プログラムを生成するための新規仕様書を受け付けた場合、前記新規仕様書と前記仕様書管理情報に格納される前記仕様書との比較結果に基づいて、前記仕様書管理情報に格納される仕様書の中から参考仕様書を選択し、
前記ソースコード管理情報及び前記フロー管理情報に基づいて、前記参考仕様書に対応する前記ベースプログラムに含まれる複数の前記コンポーネントを調整することによって前記新規プログラムの候補となる設計パターンを生成し、
前記設計パターンを出力することを特徴とする計算機システム。 A computer system that generates programs to control the system.
It comprises at least one computer having a processor, a memory connected to the processor, and a network interface connected to the processor.
To manage source code control information for managing the base program used to generate a new program, flow management information for managing the structure of the base program, and specifications of the system that executes the base program. You can access the database that stores the specification management information of
In the flow management information, data of a concatenated flow in which a plurality of flows including at least one component which is the smallest processing unit are concatenated is stored as data representing the structure of one base program.
The processor
When a new specification for generating the new program is accepted, it is stored in the specification management information based on the comparison result between the new specification and the specification stored in the specification management information. Select the reference specification from the specifications and select
Based on the source code management information and the flow management information, a design pattern that is a candidate for the new program is generated by adjusting a plurality of the components included in the base program corresponding to the reference specifications.
A computer system characterized by outputting the design pattern.
前記コンポーネントは、少なくとも一つのコード及び少なくとも一つのパラメータから構成され、
前記データベースは、前記コードの変更方法を管理するためのコード管理情報及び前記パラメータの変更方法を管理するためのパラメータ管理情報を格納し、
前記プロセッサは、前記コード管理情報及び前記パラメータ管理情報に基づいて、前記参考仕様書に対応するベースプログラムに含まれるコンポーネントの前記少なくとも一つのコード及び前記少なくとも一つのパラメータを変更することによって、前記コンポーネントを調整することを特徴とする計算機システム。 The computer system according to claim 1.
The component consists of at least one code and at least one parameter.
The database stores code management information for managing the code change method and parameter management information for managing the parameter change method.
The processor modifies the at least one code and the at least one parameter of the component included in the base program corresponding to the reference specification based on the code management information and the parameter management information. A computer system characterized by adjusting.
前記システムでは複数の装置が稼働し、
前記データベースは、前記装置に関する制約を定義する第1制約条件、前記複数の装置間のやりとりに関する制約を定義する第2制約条件、及び前記システムに関する制約を定義する第3制約条件を管理するための制約条件管理情報を格納し、
前記プロセッサは、
前記ベースプログラムに含まれる前記複数のコンポーネントの各々を、前記コンポーネントの出力と目標出力との差が小さくなるように調整することによって、複数の第1設計パターンを生成し、
前記複数の第1設計パターンの中から前記第1制約条件を満たす前記第1設計パターンを選択し、
前記選択された第1設計パターンに含まれる前記複数のフローに含まれる前記少なくとも一つのコンポーネントを、前記フローの出力と目標出力との差が小さくなるように調整することによって、複数の第2設計パターンを生成し、
前記複数の第2設計パターンの中から前記第2制約条件を満たす前記第2設計パターンを選択し、
前記選択された第2設計パターンに含まれる前記複数のコンポーネントの各々を、前記連結フローの出力と目標出力との差が小さくなるように調整することによって、複数の第3設計パターンを生成し、
前記複数の第3設計パターンの中から前記第3制約条件を満たす前記第3設計パターンを選択し、
前記選択された第3設計パターンを出力することを特徴とする計算機システム。 The computer system according to claim 2.
Multiple devices are operating in the system
The database manages a first constraint that defines a constraint on the device, a second constraint that defines a constraint on interaction between the plurality of devices, and a third constraint that defines a constraint on the system. Stores constraint condition management information
The processor
A plurality of first design patterns are generated by adjusting each of the plurality of components included in the base program so that the difference between the output of the component and the target output becomes small.
The first design pattern satisfying the first constraint condition is selected from the plurality of first design patterns.
A plurality of second designs by adjusting the at least one component included in the plurality of flows included in the selected first design pattern so that the difference between the output of the flow and the target output becomes small. Generate a pattern and
The second design pattern satisfying the second constraint condition is selected from the plurality of second design patterns.
A plurality of third design patterns are generated by adjusting each of the plurality of components included in the selected second design pattern so that the difference between the output of the connection flow and the target output becomes small.
The third design pattern satisfying the third constraint condition is selected from the plurality of third design patterns.
A computer system characterized by outputting the selected third design pattern.
前記プロセッサは、
前記第1設計パターンに含まれる前記複数のフローに含まれる前記少なくとも一つのコンポーネントを、前記フローの出力と目標出力との差が小さく、かつ、変更前の前記フローの構造と変更後の前記フローの構造とが類似するように調整し、
前記第3設計パターンに含まれる前記複数のコンポーネントの各々を、前記連結フローの出力と目標出力との差が小さく、かつ、変更前の前記連結フローの構造と変更後の前記連結フローの構造とが類似するように調整することを特徴とする計算機システム。 The computer system according to claim 3.
The processor
The at least one component included in the plurality of flows included in the first design pattern has a small difference between the output of the flow and the target output, and the structure of the flow before the change and the flow after the change. Adjusted to be similar to the structure of
Each of the plurality of components included in the third design pattern has a small difference between the output of the connection flow and the target output, and has a structure of the connection flow before the change and a structure of the connection flow after the change. A computer system characterized by adjusting so that they are similar.
前記計算機システムは、
プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有する少なくとも一つの計算機を含み、
新規プログラムを生成するために使用するベースプログラムを管理するためのソースコード管理情報、前記ベースプログラムの構造を管理するためのフロー管理情報、及び前記ベースプログラムを実行するシステムの仕様書を管理するための仕様書管理情報を格納するデータベースにアクセス可能であって、
前記フロー管理情報には、最小の処理単位であるコンポーネントを少なくとも一つ含む複数のフローを連結した連結フローのデータが一つの前記ベースプログラムの構造を表すデータとして格納され、
前記プログラムの生成方法は、
前記プロセッサが、前記新規プログラムを生成するための新規仕様書を受け付けた場合、前記新規仕様書と前記仕様書管理情報に格納される前記仕様書との比較結果に基づいて、前記仕様書管理情報に格納される仕様書の中から参考仕様書を選択する第1のステップと、
前記プロセッサが、前記ソースコード管理情報及び前記フロー管理情報に基づいて、前記参考仕様書に対応する前記ベースプログラムに含まれる複数の前記コンポーネントを調整することによって前記新規プログラムの候補となる設計パターンを生成する第2のステップと、
前記プロセッサが、前記設計パターンを出力する第3のステップと、を含むことを特徴とするプログラムの生成方法。 A method of generating a program to control a computer system, which is executed by a computer system.
The computer system
Includes a processor, memory connected to the processor, and at least one computer having a network interface connected to the processor.
To manage source code control information for managing the base program used to generate a new program, flow management information for managing the structure of the base program, and specifications of the system that executes the base program. You can access the database that stores the specification management information of
In the flow management information, data of a concatenated flow in which a plurality of flows including at least one component which is the smallest processing unit are concatenated is stored as data representing the structure of one base program.
The method of generating the program is
When the processor accepts a new specification for generating the new program, the specification management information is based on a comparison result between the new specification and the specification stored in the specification management information. The first step to select a reference specification from the specifications stored in
Based on the source code control information and the flow management information, the processor adjusts a plurality of the components included in the base program corresponding to the reference specifications to obtain a design pattern that is a candidate for the new program. The second step to generate and
A method of generating a program, wherein the processor includes a third step of outputting the design pattern.
前記コンポーネントは、少なくとも一つのコード及び少なくとも一つのパラメータから構成され、
前記データベースは、前記コードの変更方法を管理するためのコード管理情報及び前記パラメータの変更方法を管理するためのパラメータ管理情報を格納し、
前記第2のステップは、前記プロセッサが、前記コード管理情報及び前記パラメータ管理情報に基づいて、前記参考仕様書に対応するベースプログラムに含まれるコンポーネントの前記少なくとも一つのコード及び前記少なくとも一つのパラメータを変更することによって、前記コンポーネントを調整するステップを含むことを特徴とするプログラムの生成方法。 The method for generating a program according to claim 5.
The component consists of at least one code and at least one parameter.
The database stores code management information for managing the code change method and parameter management information for managing the parameter change method.
In the second step, the processor uses the code management information and the parameter management information to obtain the at least one code and the at least one parameter of the components included in the base program corresponding to the reference specifications. A method of generating a program, comprising the step of adjusting the component by modifying it.
前記システムでは複数の装置が稼働し、
前記データベースは、前記装置に関する制約を定義する第1制約条件、前記複数の装置間のやりとりに関する制約を定義する第2制約条件、及び前記システムに関する制約を定義する第3制約条件を管理するための制約条件管理情報を格納し、
前記第2のステップは、
前記プロセッサが、前記ベースプログラムに含まれる前記複数のコンポーネントの各々を、前記コンポーネントの出力と目標出力との差が小さくなるように調整することによって、複数の第1設計パターンを生成する第4のステップと、
前記プロセッサが、前記複数の第1設計パターンの中から前記第1制約条件を満たす前記第1設計パターンを選択する第5のステップと、
前記プロセッサが、前記選択された第1設計パターンに含まれる前記複数のフローに含まれる前記少なくとも一つのコンポーネントを、前記フローの出力と目標出力との差が小さくなるように調整することによって、複数の第2設計パターンを生成する第6のステップと、
前記プロセッサが、前記複数の第2設計パターンの中から前記第2制約条件を満たす前記第2設計パターンを選択する第7のステップと、
前記プロセッサが、前記選択された第2設計パターンに含まれる前記複数のコンポーネントの各々を、前記連結フローの出力と目標出力との差が小さくなるように調整することによって、複数の第3設計パターンを生成する第8のステップと、
前記プロセッサが、前記複数の第3設計パターンの中から前記第3制約条件を満たす前記第3設計パターンを選択する第9のステップと、
前記プロセッサが、前記選択された第3設計パターンを出力する第10のステップと、を含むことを特徴とするプログラムの生成方法。 The method for generating a program according to claim 6.
Multiple devices are operating in the system
The database manages a first constraint that defines a constraint on the device, a second constraint that defines a constraint on interaction between the plurality of devices, and a third constraint that defines a constraint on the system. Stores constraint condition management information
The second step is
A fourth, in which the processor adjusts each of the plurality of components included in the base program so that the difference between the output of the component and the target output becomes small, thereby generating a plurality of first design patterns. Steps and
A fifth step in which the processor selects the first design pattern satisfying the first constraint condition from the plurality of first design patterns.
The processor adjusts the at least one component included in the plurality of flows included in the selected first design pattern so that the difference between the output of the flow and the target output becomes small. The sixth step of generating the second design pattern of
A seventh step in which the processor selects the second design pattern satisfying the second constraint condition from the plurality of second design patterns.
The processor adjusts each of the plurality of components included in the selected second design pattern so that the difference between the output of the connection flow and the target output becomes small, so that the plurality of third design patterns Eighth step to generate
A ninth step in which the processor selects the third design pattern satisfying the third constraint condition from the plurality of third design patterns.
A method of generating a program, wherein the processor comprises a tenth step of outputting the selected third design pattern.
前記第6のステップは、前記プロセッサが、前記第1設計パターンに含まれる前記複数のフローに含まれる前記少なくとも一つのコンポーネントを、前記フローの出力と目標出力との差が小さく、かつ、変更前の前記フローの構造と変更後の前記フローの構造とが類似するように調整するステップを含み、
前記第8のステップは、前記プロセッサが、前記第3設計パターンに含まれる前記複数のコンポーネントの各々を、前記連結フローの出力と目標出力との差が小さく、かつ、変更前の前記連結フローの構造と変更後の前記連結フローの構造とが類似するように調整するステップを含むことを特徴とするプログラムの生成方法。 The method for generating a program according to claim 7.
In the sixth step, the processor changes the at least one component included in the plurality of flows included in the first design pattern so that the difference between the output of the flow and the target output is small and before the change. Including the step of adjusting the structure of the flow and the structure of the modified flow so as to be similar to each other.
In the eighth step, the processor makes each of the plurality of components included in the third design pattern have a small difference between the output of the connection flow and the target output, and the connection flow before the change. A method of generating a program, which comprises a step of adjusting the structure and the structure of the connected flow after the change so as to be similar.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019118365A JP2021005205A (en) | 2019-06-26 | 2019-06-26 | Computer system and method for generating program for controlling system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019118365A JP2021005205A (en) | 2019-06-26 | 2019-06-26 | Computer system and method for generating program for controlling system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021005205A true JP2021005205A (en) | 2021-01-14 |
Family
ID=74097340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019118365A Pending JP2021005205A (en) | 2019-06-26 | 2019-06-26 | Computer system and method for generating program for controlling system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021005205A (en) |
-
2019
- 2019-06-26 JP JP2019118365A patent/JP2021005205A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180349134A1 (en) | User interface that integrates plural client portals in plural user interface portions through sharing of one or more log records | |
Măruşter et al. | Redesigning business processes: a methodology based on simulation and process mining techniques | |
US9390375B2 (en) | Reuse of on-demand enterprise system customization knowledge utilizing collective experience | |
US7580871B2 (en) | Method to generate a customizable product configurator | |
US10845962B2 (en) | Specifying user interface elements | |
US8127269B2 (en) | Transforming a flow graph model to a structured flow language model | |
CN109766075B (en) | Enterprise-level software construction method and system based on microservice | |
KR20090120481A (en) | A consistent method system and computer program for developing software asset based solutions | |
JP2007184914A (en) | Method, system and program for comparing topologies (topology comparison) | |
US10379826B1 (en) | Determining inputs to an integration flow component | |
US11556733B2 (en) | System and method for auto-completion of ICS flow using artificial intelligence/machine learning | |
US20150120479A1 (en) | Catalog driven order management for rule definition | |
Jamous et al. | Towards an IT service lifecycle management (ITSLM) concept | |
Cui et al. | Analysis of service-oriented architecture and scrum software development approach for IIoT | |
US20120330699A1 (en) | Case-based retrieval framework | |
US9058188B2 (en) | Transformative user interfaces | |
CN112000343B (en) | Method and system for deploying multi-version services in Kubernetes by using Devops | |
US8539496B1 (en) | Method and apparatus for configuring network systems implementing diverse platforms to perform business tasks | |
CN111191180A (en) | Method and device for constructing micro-service system in invoice field and storage medium | |
KR100967442B1 (en) | Total Product Development and Management System | |
JP2021005205A (en) | Computer system and method for generating program for controlling system | |
Xiao et al. | ChoroWare: a software toolkit for choropleth map classification | |
Matejaš et al. | Building a BPM application in an SOA-based legacy environment | |
US20080183537A1 (en) | Approach to comprehensive requirements specifications for complex workflows | |
Veitaite et al. | Knowledge-based transformation algorithms of UML dynamic models generation from enterprise model |