(57)【要約】【課題】設計情報が変更された際のプログラムの生成を効率化する。【解決手段】記憶制御部１２が、設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数のプログラムのソースコードをコンパイルする際に、データ項目に対応づけて、前記複数のプログラムのうち、該データ項目のデータの変更により影響を受け得るプログラムを特定する情報を記憶部に記憶させ、特定部１４が、前記設計情報のうち、変更されたデータ項目を特定し、実行部１６が、前記複数のプログラムのうち、特定した前記データ項目に対応づけて記憶されたプログラム以外のプログラムについての実行を回避し、特定した前記データ項目に対応づけて記憶されたプログラムについての実行を行う。【選択図】図１
2018022433.tif 000002
【特許請求の範囲】
【請求項１】
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数のプログラムのソースコードをコンパイルする際に、データ項目に対応づけて、前記複数のプログラムのうち、該データ項目のデータの変更により影響を受け得るプログラムを特定する情報を記憶部に記憶させ、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数のプログラムのうち、特定した前記データ項目に対応づけて記憶されたプログラム以外のプログラムについての実行を回避し、特定した前記データ項目に対応づけて記憶されたプログラムについての実行を行う、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項２】
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数の生成プログラムをコンパイルする際に、前記複数の生成プログラム毎に参照するデータ項目の情報を対応付けて記憶し、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数の生成プログラムの実行を開始すると、前記複数の生成プログラム毎に、参照するデータ項目に前記変更されたデータ項目を含むか否かを判定し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含まないと判定された生成プログラムは、実行を終了し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含むと判定された生成プログラムは、実行を続行し、プログラムを自動生成する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項３】
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数のプログラムのソースコードをコンパイルする際に、データ項目に対応づけて、前記複数のプログラムのうち、該データ項目のデータの変更により影響を受け得るプログラムを特定する情報を記憶部に記憶させる記憶制御部と、
前記設計情報のうち、変更されたデータ項目を特定する特定部と、
前記複数のプログラムのうち、特定した前記データ項目に対応づけて記憶されたプログラム以外のプログラムについての実行を回避し、特定した前記データ項目に対応づけて記憶されたプログラムについての実行を行う実行部と、
を含むことを特徴とする制御装置。
【請求項４】
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数の生成プログラムをコンパイルする際に、前記複数の生成プログラム毎に参照するデータ項目の情報を対応付けて記憶する記憶制御部と、
前記設計情報のうち、変更されたデータ項目を特定する特定部と、
前記複数の生成プログラムの実行を開始すると、前記複数の生成プログラム毎に、参照するデータ項目に前記変更されたデータ項目を含むか否かを判定し、前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含まないと判定された生成プログラムは、実行を終了し、前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含むと判定された生成プログラムは、実行を続行し、プログラムを自動生成する実行部と、
を含むことを特徴とする制御装置。
【請求項５】
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数のプログラムのソースコードをコンパイルする際に、データ項目に対応づけて、前記複数のプログラムのうち、該データ項目のデータの変更により影響を受け得るプログラムを特定する情報を記憶部に記憶させ、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数のプログラムのうち、特定した前記データ項目に対応づけて記憶されたプログラム以外のプログラムについての実行を回避し、特定した前記データ項目に対応づけて記憶されたプログラムについての実行を行う、
処理をコンピュータが実行することを特徴とする制御方法。
【請求項６】
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数の生成プログラムをコンパイルする際に、前記複数の生成プログラム毎に参照するデータ項目の情報を対応付けて記憶し、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数の生成プログラムの実行を開始すると、前記複数の生成プログラム毎に、参照するデータ項目に前記変更されたデータ項目を含むか否かを判定し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含まないと判定された生成プログラムは、実行を終了し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含むと判定された生成プログラムは、実行を続行し、プログラムを自動生成する、
処理をコンピュータが実行することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラム、制御装置、及び制御方法に関する。
【背景技術】
【０００２】
従来、更新後の設計情報とテンプレートとに基づいて複数のソースコードを自動生成する技術が提案されている。この技術では、ソースコード記憶部に、更新前の設計情報である更新前設計情報と、テンプレートとに基づいて生成した複数の再生成前ソースコードが登録されている。テンプレートと設計情報とに基づいて各ソースコードを生成する過程において、ソースコード断片を生成する毎に、そのソースコード断片とソースコード記憶部に登録されている対応する再生成前ソースコードの該当部位とを比較する。そして、差分があった場合のみ、上記対応する再生成前ソースコードを今回生成したソースコードで置換する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１０７０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、設計情報が更新された場合に、記憶部に記憶されたソースコードとの置換が必要ないソースコードまで再生成しており、効率的ではない。
【０００５】
本発明は、一つの側面として、設計情報が変更された際のプログラムの生成を効率化することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、一つの態様として、設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数のプログラムのソースコードをコンパイルする。この際に、データ項目に対応づけて、前記複数のプログラムのうち、該データ項目のデータの変更により影響を受け得るプログラムを特定する情報を記憶部に記憶させる。そして、前記設計情報のうち、変更されたデータ項目を特定する。前記複数のプログラムのうち、特定した前記データ項目に対応づけて記憶されたプログラム以外のプログラムについての実行を回避し、特定した前記データ項目に対応づけて記憶されたプログラムについての実行を行う。
【発明の効果】
【０００７】
一つの側面として、設計情報が変更された際のプログラムの生成を効率化することができる、という効果を有する。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る制御装置の機能ブロック図である。
【図２】テンプレートの一例を示す図である。
【図３】第１実施形態における記憶制御部の処理を説明するための図である。
【図４】第１実施形態における特定部の処理を説明するための図である。
【図５】第１実施形態における実行部の処理を説明するための図である。
【図６】第１及び第２実施形態に係る制御装置として機能するコンピュータの概略構成を示すブロック図である。
【図７】第１実施形態における制御処理の一例を示すフローチャートである。
【図８】第２実施形態に係る制御装置の機能ブロック図である。
【図９】設計情報の列情報を説明するための図である。
【図１０】第２実施形態における記憶制御部の処理を説明するための図である。
【図１１】第２実施形態における特定部の処理を説明するための図である。
【図１２】第２実施形態における実行部の処理を説明するための図である。
【図１３】第２実施形態における制御処理の一例を示すフローチャートである。
【図１４】対応情報テーブルの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明に係る実施形態の一例を詳細に説明する。
【００１０】
＜第１実施形態＞
図１に示すように、第１実施形態に係る制御装置１０は、機能的には、記憶制御部１２と、特定部１４と、実行部１６とを含む。また、制御装置１０の所定の記憶領域は、テンプレート記憶部２１と、対応情報テーブル２４が記憶される領域と、設計情報記憶部２６とを有する。
【００１１】
テンプレート記憶部２１には、複数のテンプレートが記憶される。テンプレートとは、設計情報の各データ項目を参照して、プログラムを自動生成する生成プログラムのソースコードである。図２に、テンプレート２２の一例を示す。テンプレート２２には、図２中のＰの破線部で示すように、パラメータ置換部が含まれる。パラメータ置換部において、設計情報の各データ項目が参照される。
【００１２】
記憶制御部１２は、設計情報の各データ項目に対応付けて、テンプレート記憶部２１に記憶された複数のテンプレート２２のうち、そのデータ項目が変更されることにより影響を受け得るテンプレート２２を特定し、対応情報テーブル２４に記憶する。
【００１３】
具体的には、図３に示すように、記憶制御部１２は、テンプレート２２の各々をコンパイルする際に、テンプレート２２のパラメータ置換部において参照されている設計情報のデータ項目を抽出する。そして、抽出したデータ項目の識別情報に、そのデータ項目が抽出されたテンプレート２２の識別情報を対応付けて、対応情報テーブル２４に記憶する。図３の例では、対応情報テーブル２４には、データ項目の識別情報として、そのデータ項目が含まれる設計情報の識別情報である設計情報ＩＤ、及びその設計情報においてデータ項目を識別するための識別情報である項目ＩＤの組が用いられている。また、テンプレートの識別情報として、テンプレートＩＤが用いられている。
【００１４】
記憶制御部１２は、コンパイル済みのテンプレート２３をテンプレート記憶部２１に記憶する。
【００１５】
特定部１４は、設計情報記憶部２６に記憶された設計情報に含まれるデータ項目のうち、前回のプログラム生成時以降、仕様変更等により変更されたデータ項目を特定する。設計情報とは、設計対象のシステムで使用される画面のレイアウトや、データベースのデータ構造等を定義する情報である。例えば、画面の設計情報には、その画面に表示する項目に相当するデータ項目が含まれ、データベースの設計情報には、データベースのカラムに相当するデータ項目が含まれる。各データ項目は、項目名、データ型、桁数等の属性を持つ。
【００１６】
特定部１４は、例えば、図４に示すように、変更前後の設計情報から差分を抽出することにより、変更されたデータ項目を特定する。特定部１４は、特定したデータ項目の識別情報を含む特定情報２７を実行部１６に受け渡す。図４の例では、特定情報２７に、データ項目が変更された設計情報の設計情報ＩＤ、及びそのデータ項目の項目ＩＤが含まれる場合を示している。
【００１７】
実行部１６は、テンプレート記憶部２１に記憶された複数のテンプレート２２のうち、特定部１４により特定されたデータ項目に対応付けて対応情報テーブル２４に記憶されたテンプレート２２以外のテンプレート２２の実行を回避する。一方、実行部１６は、特定されたデータ項目に対応付けて対応情報テーブル２４に記憶されたテンプレート２２を実行することで、プログラムを生成する。
【００１８】
具体的には、図５に示すように、実行部１６は、特定部１４から受け渡された特定情報２７に含まれる設計情報ＩＤ及び項目ＩＤに対応付けられたテンプレートＩＤを、対応情報テーブル２４から取得する。実行部１６は、取得したテンプレートＩＤが示すコンパイル済みのテンプレート２３をテンプレート記憶部２１から取得する。実行部１６は、取得したテンプレート２３の各々を実行する。
【００１９】
図５の例では、テンプレートＩＤが各々テンプレートＡ、Ｂ、Ｃのテンプレート２３Ａ、２３Ｂ、２３Ｃのうち、特定情報２７に基づいて、テンプレート２３Ｂのみが取得され、実行される例を示している。すなわち、テンプレート２３Ｂから生成されるＢプログラム３０Ｂのみが再生成され、テンプレート２３Ａ及び２３Ｃの各々から生成されるＡプログラム３０Ａ及びＣプログラム３０Ｃは再生成されない。
【００２０】
これにより、変更されたデータ項目として、特定部１４で特定されたデータ項目に対応するテンプレート２３、すなわち、データ項目の変更による影響を受けるテンプレート２３のみが実行されることになる。
【００２１】
制御装置１０は、例えば図６に示すコンピュータ４０で実現することができる。コンピュータ４０は、Central Processing Unit（ＣＰＵ）４１と、一時記憶領域としてのメモリ４２と、不揮発性の記憶部４３とを備える。また、コンピュータ４０は、入出力装置４４と、記憶媒体４９に対するデータの読み込み及び書き込みを制御するRead/Write（Ｒ／Ｗ）部４５と、インターネット等のネットワークに接続される通信インターフェース（Ｉ／Ｆ）４６とを備える。ＣＰＵ４１、メモリ４２、記憶部４３、入出力装置４４、Ｒ／Ｗ部４５、及び通信Ｉ／Ｆ４６は、バス４７を介して互いに接続される。
【００２２】
記憶部４３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部４３には、コンピュータ４０を制御装置１０として機能させるための制御プログラム５０が記憶される。制御プログラム５０は、記憶制御プロセス５２と、特定プロセス５４と、実行プロセス５６とを有する。また、記憶部４３は、テンプレート記憶部２１、対応情報テーブル２４を構成する情報を記憶する記憶領域、及び設計情報記憶部２６の各々として機能する情報記憶領域６０を有する。
【００２３】
ＣＰＵ４１は、制御プログラム５０を記憶部４３から読み出してメモリ４２に展開し、制御プログラム５０が有するプロセスを順次実行する。ＣＰＵ４１は、記憶制御プロセス５２を実行することで、図１に示す記憶制御部１２として動作する。また、ＣＰＵ４１は、特定プロセス５４を実行することで、図１に示す特定部１４として動作する。また、ＣＰＵ４１は、実行プロセス５６を実行することで、図１に示す実行部１６として動作する。また、ＣＰＵ４１は、情報記憶領域６０から情報を読み出して、テンプレート２２、対応情報テーブル２４、及び設計情報の各々をメモリ４２に展開する。これにより、制御プログラム５０を実行したコンピュータ４０が、制御装置１０として機能することになる。
【００２４】
なお、制御プログラム５０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００２５】
次に、第１実施形態に係る制御装置１０の作用について説明する。例えば、仕様変更等が生じた場合に、設計者により、設計対象のシステムの設計情報に含まれるデータ項目が変更される。そして、設計者により、プログラムの再生成が指示されると、制御装置１０において、図７に示す制御処理が実行される。
【００２６】
ステップＳ１１で、記憶制御部１２が、テンプレート記憶部２１に記憶されたテンプレート２２の各々をコンパイルし、その際に、テンプレート２２のパラメータ置換部において参照されている設計情報のデータ項目を抽出する。そして、記憶制御部１２は、抽出したデータ項目についての設計情報ＩＤ及び項目ＩＤに、そのデータ項目が抽出されたテンプレート２２のテンプレートＩＤを対応付けて、対応情報テーブル２４に記憶する。また、記憶制御部１２は、コンパイル済みのテンプレート２３をテンプレート記憶部２１に記憶する。
【００２７】
次に、ステップＳ１２で、特定部１４が、変更前後の設計情報から差分を抽出するなどして、設計情報記憶部２６に記憶された設計情報に含まれるデータ項目のうち、前回のプログラム生成時以降に、仕様変更等により変更されたデータ項目を特定する。特定部１４は、特定したデータ項目についての設計情報ＩＤ及び項目ＩＤを含む特定情報２７を実行部１６に受け渡す。
【００２８】
次に、ステップＳ１３で、実行部１６が、特定部１４から受け渡された特定情報２７に含まれる設計情報ＩＤ及び項目ＩＤに対応付けられたテンプレートＩＤを、対応情報テーブル２４から取得する。そして、実行部１６は、取得したテンプレートＩＤが示すコンパイル済みのテンプレート２３をテンプレート記憶部２１から取得する。
【００２９】
次に、ステップＳ１４で、実行部１６が、取得したテンプレート２３の各々、すなわち、データ項目の変更による影響を受けるテンプレート２３を実行して、プログラムを生成し、制御処理は終了する。
【００３０】
以上説明したように、第１実施形態に係る制御装置１０によれば、テンプレートをコンパイルする際に、データ項目の変更が影響するテンプレートを特定し、データ項目の識別情報と対応付けて対応情報テーブルに記憶しておく。そして、設計情報のデータ項目が変更された場合には、対応情報テーブルを参照して、データ項目の変更が影響するテンプレートのみを実行する。これにより、データ項目の変更が影響しないテンプレートに基づくプログラムの生成が抑制され、設計情報の変更時のプログラムの生成を効率化することができる。
【００３１】
＜第２実施形態＞
次に、第２実施形態について説明する。なお、第２実施形態に係る制御装置について、第１実施形態に係る制御装置１０と同一の部分については、同一符号を付して詳細な説明を省略する。
【００３２】
図８に示すように、第２実施形態に係る制御装置２１０は、機能的には、記憶制御部２１２と、特定部２１４と、実行部２１６とを含む。
【００３３】
記憶制御部２１２は、テンプレート記憶部２１に記憶された複数のテンプレート２２をコンパイルする際に、テンプレート２２毎に参照する設計情報の列情報を対応付けて記憶する。設計情報の列情報とは、例えば、図９に示すように、設計情報記憶部２６に記憶された複数の設計情報の各々に含まれる各データ項目の情報に相当する各レコード（各行）を含むリスト２９における各列に対応する情報（列名）である。図９の例では、各データ項目の情報には、そのデータ項目を含む設計情報の設計情報ＩＤ及び設計情報名と、データ項目の項目ＩＤ及び属性（項目名、データ型、桁数等）とが含まれる。したがって、図９の例では、「設計情報ＩＤ」、「設計情報名」、「項目ＩＤ」、「項目名」、「データ型」、「桁数」等が列情報である。
【００３４】
具体的には、図１０に示すように、記憶制御部２１２は、テンプレート２２の各々をコンパイルする際に、テンプレート２２のパラメータ置換部において参照されている設計情報の列情報を抽出する。記憶制御部２１２は、抽出した列情報をメタ情報２２４として、コンパイル済みのテンプレート２２３に付加する。図１０の例は、テンプレート２２において、設計情報のリスト２９の列情報のうち、設計情報ＩＤ、設計情報名、項目名等が参照されている場合のメタ情報２２４の一例である。
【００３５】
記憶制御部２１２は、メタ情報２２４が付加されたコンパイル済みのテンプレート２２３をテンプレート記憶部２１に記憶する。
【００３６】
特定部２１４は、設計情報記憶部２６に記憶された設計情報のうち、前回のプログラム生成時以降に、仕様変更等により変更された設計情報の列情報を特定する。例えば、図１１に示すように、特定部２１４は、設計情報を管理する他のシステムにより出力された設計情報の変更差分情報２８を取得する。なお、図１１に示す変更差分情報２８は、リスト２９の３行目を削除すると共に、３行目を追加したこと、すなわち、リスト２９の３行目のレコードに相当するデータ項目の情報が変更されたことを表している。さらに、リスト２９の３行目において変更されたのは、列情報「桁数」の値であることを表している。したがって、変更差分情報２８に基づいて、設計情報において変更された列情報が特定される。特定部２１４は、特定した列情報を示す情報として、変更差分情報２８を実行部２１６へ受け渡す。
【００３７】
実行部２１６は、テンプレート２２３の実行を開始すると、テンプレート２２３毎に、そのテンプレート２２３に付加されたメタ情報２２４が、特定部２１４から受け渡された変更差分情報２８が示す、変更された列情報を含むか否かを判定する。実行部２１６は、テンプレート記憶部２１に記憶された複数のテンプレート２２３のうち、参照する列情報に変更された列情報を含まないと判定したテンプレート２２３は、実行を終了する。また、実行部２１６は、参照する列情報に変更された列情報を含むと判定したテンプレート２２３は、実行を続行し、プログラムを自動生成する。
【００３８】
例えば、図１２に示すテンプレート２２３Ａ、２２３Ｂ、２２３Ｃのうち、テンプレート２２３Ｂについては、列情報「桁数」を含むメタ情報２２４Ｂが付与されているとする。また、テンプレート２２３Ａ及び２２３Ｃについては、例えば、図９に示すような、列情報「桁数」を含まないメタ情報２２４Ａ、２２４Ｃが付与されているとする。また、特定部２１４から受け渡された変更差分情報２８が、列情報「桁数」が変更されたことを示しているとする。この場合、テンプレート２２３Ａ及び２２３Ｃの各々については、設計情報の変更による影響なしと判断され、テンプレート２２３Ａ及び２２３Ｃの各々から生成されるＡプログラム３０Ａ及びＣプログラム３０Ｃは再生成されない。一方、テンプレート２２３Ｂについては、設計情報の変更による影響ありと判断され、Ｂプログラム３０Ｂが生成されるまで、テンプレート２２３Ｂの実行が続行されることにより、Ｂプログラム３０Ｂが再生成される。
【００３９】
制御装置２１０は、例えば図６に示すコンピュータ４０で実現することができる。コンピュータ４０の記憶部４３には、コンピュータ４０を制御装置２１０として機能させるための制御プログラム２５０が記憶される。制御プログラム２５０は、記憶制御プロセス２５２と、特定プロセス２５４と、実行プロセス２５６とを有する。
【００４０】
ＣＰＵ４１は、制御プログラム２５０を記憶部４３から読み出してメモリ４２に展開し、制御プログラム２５０が有するプロセスを順次実行する。ＣＰＵ４１は、記憶制御プロセス２５２を実行することで、図８に示す記憶制御部２１２として動作する。また、ＣＰＵ４１は、特定プロセス２５４を実行することで、図８に示す特定部２１４として動作する。また、ＣＰＵ４１は、実行プロセス２５６を実行することで、図８に示す実行部２１６として動作する。これにより、制御プログラム２５０を実行したコンピュータ４０が、制御装置２１０として機能することになる。
【００４１】
なお、制御プログラム２５０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【００４２】
次に、第２実施形態に係る制御装置２１０の作用について説明する。例えば、仕様変更等が生じた場合に、設計者により、設計対象のシステムの設計情報が変更される。そして、設計者により、プログラムの再生成が指示されると、制御装置２１０において、図１３に示す制御処理が実行される。
【００４３】
ステップＳ３１で、記憶制御部２１２が、テンプレート記憶部２１に記憶された複数のテンプレート２２の各々をコンパイルし、その際に、テンプレート２２のパラメータ置換部において参照されている設計情報の列情報を抽出する。記憶制御部２１２は、抽出した列情報をメタ情報２２４として、コンパイル済みのテンプレート２２３に付加する。記憶制御部２１２は、メタ情報２２４が付加されたコンパイル済みのテンプレート２２３をテンプレート記憶部２１に記憶する。
【００４４】
次に、ステップＳ３２で、特定部２１４が、設計情報の変更差分情報２８を取得するなどして、設計情報記憶部２６に記憶された設計情報の列情報のうち、前回のプログラム生成時以降に、仕様変更等により変更された列情報を特定する。特定部２１４は、変更された列情報を示す情報として、変更差分情報２８を実行部２１６に受け渡す。
【００４５】
次に、ステップＳ３３で、実行部２１６が、テンプレート記憶部２１に記憶された、メタ情報が付加されたコンパイル済みのテンプレート２２３から、１つのテンプレート２２３を選択し、テンプレート２２３の実行を開始する。
【００４６】
次に、ステップＳ３４で、実行部２１６が、テンプレート２２３の実行開始直後に、そのテンプレート２２３に付加されたメタ情報２２４に、特定部２１４から受け渡された変更差分情報２８が示す、変更された列情報が含まれるか否かを判定する。肯定判定の場合には、処理はステップＳ３５へ移行し、否定判定の場合には、処理はステップＳ３６へ移行する。
【００４７】
ステップＳ３５では、実行部２１６が、実行を開始したテンプレート２２３は、設計情報の変更により影響を受けるテンプレート２２３であると判定する。そして、実行部２１６は、テンプレート２２３の実行を、テンプレート２２３によるプログラムの生成が完了するまで継続させてから、処理はステップＳ３７へ移行する。
【００４８】
一方、ステップＳ３６では、実行部２１６が、実行を開始したテンプレート２２３は、設計情報の変更により影響を受けないテンプレート２２３であると判定する。そして、実行部２１６は、テンプレート２２３の実行を終了し、テンプレート２２３によるプログラムの生成を中断し、処理はステップＳ３７へ移行する。
【００４９】
ステップＳ３７では、実行部２１６が、テンプレート記憶部２１に、未実行のテンプレート２２３が存在するか否かを判定し、存在する場合には、処理はステップＳ３３に戻り、存在しない場合には、制御処理は終了する。
【００５０】
以上説明したように、第２実施形態に係る制御装置２１０によれば、テンプレートで参照する設計情報の列情報を、コンパイルしたテンプレートに付加しておく。そして、変更された設計情報の列情報を特定し、その設計情報の列情報がメタ情報に含まれない場合には、そのメタ情報が付加されたテンプレートの実行を開始早々に終了する。これにより、設計情報の変更が影響しないテンプレートに基づくプログラムの生成が抑制され、設計情報変更時のプログラムの生成を効率化することができる。
【００５１】
なお、第１実施形態においても、第２実施形態のように、設計情報の列情報を用いて、設計情報の変更により影響を受けるテンプレートを特定するようにしてもよい。この場合、例えば、図１４に示すように、設計情報の列情報毎に、その列情報を参照するテンプレートのテンプレートＩＤを対応付けて、対応情報テーブル３２４に記憶すればよい。
【００５２】
また、上記では、プログラムの一例である制御プログラム５０、２５０が記憶部４３に予め記憶（インストール）されている態様を説明したが、これに限定されない。プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【００５３】
以上の各実施形態に関し、更に以下の付記を記載する。
【００５４】
（付記１）
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数のプログラムのソースコードをコンパイルする際に、データ項目に対応づけて、前記複数のプログラムのうち、該データ項目のデータの変更により影響を受け得るプログラムを特定する情報を記憶部に記憶させ、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数のプログラムのうち、特定した前記データ項目に対応づけて記憶されたプログラム以外のプログラムについての実行を回避し、特定した前記データ項目に対応づけて記憶されたプログラムについての実行を行う、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【００５５】
（付記２）
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数の生成プログラムをコンパイルする際に、前記複数の生成プログラム毎に参照するデータ項目の情報を対応付けて記憶し、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数の生成プログラムの実行を開始すると、前記複数の生成プログラム毎に、参照するデータ項目に前記変更されたデータ項目を含むか否かを判定し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含まないと判定された生成プログラムは、実行を終了し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含むと判定された生成プログラムは、実行を続行し、プログラムを自動生成する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【００５６】
（付記３）
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数のプログラムのソースコードをコンパイルする際に、データ項目に対応づけて、前記複数のプログラムのうち、該データ項目のデータの変更により影響を受け得るプログラムを特定する情報を記憶部に記憶させる記憶制御部と、
前記設計情報のうち、変更されたデータ項目を特定する特定部と、
前記複数のプログラムのうち、特定した前記データ項目に対応づけて記憶されたプログラム以外のプログラムについての実行を回避し、特定した前記データ項目に対応づけて記憶されたプログラムについての実行を行う実行部と、
を含むことを特徴とする制御装置。
【００５７】
（付記４）
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数の生成プログラムをコンパイルする際に、前記複数の生成プログラム毎に参照するデータ項目の情報を対応付けて記憶する記憶制御部と、
前記設計情報のうち、変更されたデータ項目を特定する特定部と、
前記複数の生成プログラムの実行を開始すると、前記複数の生成プログラム毎に、参照するデータ項目に前記変更されたデータ項目を含むか否かを判定し、前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含まないと判定された生成プログラムは、実行を終了し、前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含むと判定された生成プログラムは、実行を続行し、プログラムを自動生成する実行部と、
を含むことを特徴とする制御装置。
【００５８】
（付記５）
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数のプログラムのソースコードをコンパイルする際に、データ項目に対応づけて、前記複数のプログラムのうち、該データ項目のデータの変更により影響を受け得るプログラムを特定する情報を記憶部に記憶させ、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数のプログラムのうち、特定した前記データ項目に対応づけて記憶されたプログラム以外のプログラムについての実行を回避し、特定した前記データ項目に対応づけて記憶されたプログラムについての実行を行う、
処理をコンピュータが実行することを特徴とする制御方法。
【００５９】
（付記６）
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数の生成プログラムをコンパイルする際に、前記複数の生成プログラム毎に参照するデータ項目の情報を対応付けて記憶し、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数の生成プログラムの実行を開始すると、前記複数の生成プログラム毎に、参照するデータ項目に前記変更されたデータ項目を含むか否かを判定し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含まないと判定された生成プログラムは、実行を終了し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含むと判定された生成プログラムは、実行を続行し、プログラムを自動生成する、
処理をコンピュータが実行することを特徴とする制御方法。
【００６０】
（付記７）
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数のプログラムのソースコードをコンパイルする際に、データ項目に対応づけて、前記複数のプログラムのうち、該データ項目のデータの変更により影響を受け得るプログラムを特定する情報を記憶部に記憶させ、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数のプログラムのうち、特定した前記データ項目に対応づけて記憶されたプログラム以外のプログラムについての実行を回避し、特定した前記データ項目に対応づけて記憶されたプログラムについての実行を行う、
処理をコンピュータに実行させることを特徴とする制御プログラムを記憶した記憶媒体。
【００６１】
（付記８）
設計情報の各データ項目を参照してそれぞれプログラムを自動生成する複数の生成プログラムをコンパイルする際に、前記複数の生成プログラム毎に参照するデータ項目の情報を対応付けて記憶し、
前記設計情報のうち、変更されたデータ項目を特定し、
前記複数の生成プログラムの実行を開始すると、前記複数の生成プログラム毎に、参照するデータ項目に前記変更されたデータ項目を含むか否かを判定し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含まないと判定された生成プログラムは、実行を終了し、
前記複数の生成プログラムのうち、参照するデータ項目に前記変更されたデータ項目を含むと判定された生成プログラムは、実行を続行し、プログラムを自動生成する、
処理をコンピュータに実行させることを特徴とする制御プログラムを記憶した記憶媒体。
【符号の説明】
【００６２】
１０、２１０  制御装置
１２、２１２  記憶制御部
１４、２１４  特定部
１６、２１６  実行部
２１   テンプレート記憶部
２２   テンプレート
２３、２２３  コンパイル済みテンプレート
２４、３２４  対応情報テーブル
２６   設計情報記憶部
２７   特定情報
２８   変更差分情報
２２４ メタ情報
４０   コンピュータ
４１   ＣＰＵ
４２   メモリ
４３   記憶部
４９   記憶媒体
５０、２５０  制御プログラム
【図１】
2018022433.tif 000003
【図２】
2018022433.tif 000004
【図３】
2018022433.tif 000005
【図４】
2018022433.tif 000006
【図５】
2018022433.tif 000007
【図６】
2018022433.tif 000008
【図７】
2018022433.tif 000009
【図８】
2018022433.tif 000010
【図９】
2018022433.tif 000011
【図１０】
2018022433.tif 000012
【図１１】
2018022433.tif 000013
【図１２】
2018022433.tif 000014
【図１３】
2018022433.tif 000015
【図１４】
2018022433.tif 000016