(57)【要約】【課題】上位装置が下位装置に対して発行した上位命令が、条件分岐制御を伴うようなシーケンス制御を行う場合であっても、上位命令から下位命令への変換を自動で行う。【解決手段】命令生成装置は、下位装置が実行できない形式で記述された上位命令に含まれるところの、上位命令を表す命令情報と、上位命令が実行される際の条件を示した命令実行制御情報との組み合わせを、上位命令を下位装置が実行できる形式に変換された下位命令に含まれるところの、その下位命令を表す命令情報に関連付けたシナリオ情報を、特定の上位命令に応じて、特定の上位命令を表す命令情報を検索キーとして検索することにより、特定の上位命令を表す命令情報に関連付けされている特定の下位命令を表す命令情報および命令実行制御情報を抽出し、抽出した特定の下位命令を表す命令情報および命令実行制御情報を使用して、特定の下位命令を生成する生成手段を備える。【選択図】      図１
2014241072.tif 000002
【特許請求の範囲】
【請求項１】
上位装置が下位装置に対して発行する上位命令であって、その下位装置が実行できない形式で記述された該上位命令に含まれるところの、その上位命令を表す命令情報と、該上位命令が実行される際の条件を示した命令実行制御情報との組み合わせを、前記上位命令を前記下位装置が実行できる形式に変換された下位命令に含まれるところの、その下位命令を表す命令情報に関連付けたシナリオ情報を、特定の上位命令に応じて、その特定の上位命令を表す命令情報を検索キーとして検索することにより、該特定の上位命令を表す命令情報に関連付けされている特定の下位命令を表す命令情報および命令実行制御情報を抽出し、抽出した特定の下位命令を表す命令情報および命令実行制御情報を使用して、該特定の下位命令を生成する生成手段
を備える命令生成装置。
【請求項２】
前記生成手段は、生成した前記下位命令を、前記下位装置へ入力し、前記下位装置が前記下位命令を実行して出力した応答結果を入手して、前記応答結果を、前記上位装置へ入力する、
請求項１に記載の命令生成装置。
【請求項３】
前記シナリオ情報を記憶するシナリオ記憶手段を更に備える
請求項１または２に記載の命令生成装置。
【請求項４】
前記シナリオ記憶手段は、１つの前記上位命令に関連付けられた、複数の前記下位命令に関して、複数の前記下位命令の実行順序を示す情報を、前記シナリオ情報として記憶し、
前記生成手段は、複数の前記下位命令を、前記実行順序が示す順序で、前記下位装置へ入力する、
請求項３に記載の命令生成装置。
【請求項５】
前記生成手段は、前記下位装置が前記下位命令を実行したのち出力した前記応答結果を記憶し、前記応答結果に基づいて、当該下位命令に後続する前記下位命令を生成する、
請求項２乃至４のいずれかに記載の命令生成装置。
【請求項６】
前記シナリオ記憶手段は、複数の前記下位装置の各々に対して発行される、前記下位命令に関して、前記下位命令を実行する前記下位装置を識別する識別子を、前記シナリオ情報として記憶し、
前記生成手段は、複数の前記下位命令の命令情報の各々を、前記識別子が特定する前記下位装置へ入力する、
請求項３乃至５のいずれかに記載の命令生成装置。
【請求項７】
前記下位命令の命令情報の雛形となる情報であって、前記生成手段が前記下位命令を生成する際に、記述を変更しない固定記述文と、記述を変更する可変記述文により構成される命令雛形情報を記憶する雛形情報記憶手段
をさらに備え、
前記生成手段は、前記可変記述文の記述を、前記上位命令の命令情報と、前記シナリオ情報に基づき変更することにより、前記下位命令を生成する、
請求項１乃至６のいずれかに記載の命令生成装置。
【請求項８】
上位装置が下位装置に対して発行する上位命令であって、その下位装置が実行できない形式で記述された該上位命令に含まれるところの、その上位命令を表す命令情報と、該上位命令が実行される際の条件を示した命令実行制御情報との組み合わせを、前記上位命令を前記下位装置が実行できる形式に変換された下位命令に含まれるところの、その下位命令を表す命令情報に関連付けたシナリオ情報を、特定の上位命令に応じて、その特定の上位命令を表す命令情報を検索キーとして検索することにより、該特定の上位命令を表す命令情報に関連付けされている特定の下位命令を表す命令情報および命令実行制御情報を抽出し、
抽出した特定の下位命令を表す命令情報および命令実行制御情報を使用して、該特定の下位命令を生成する、
命令生成方法。
【請求項９】
上位装置が下位装置に対して発行する上位命令であって、その下位装置が実行できない形式で記述された該上位命令に含まれるところの、その上位命令を表す命令情報と、該上位命令が実行される際の条件を示した命令実行制御情報との組み合わせを、前記上位命令を前記下位装置が実行できる形式に変換された下位命令に含まれるところの、その下位命令を表す命令情報に関連付けたシナリオ情報を、特定の上位命令に応じて、その特定の上位命令を表す命令情報を検索キーとして検索することにより、該特定の上位命令を表す命令情報に関連付けされている特定の下位命令を表す命令情報および命令実行制御情報を抽出し、抽出した特定の下位命令を表す命令情報および命令実行制御情報を使用して、該特定の下位命令を生成する生成処理
をコンピュータに実行させる命令生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、上位装置が下位装置に対して発行した上位命令を受信して、下位装置が実行可能な下位命令に自動変換する命令生成装置等に関する。
【背景技術】
【０００２】
情報を伝送する伝送装置に関するネットワークと、それらを監視制御する監視制御ネットワークは、通常は、伝送方式や用途などにより、それぞれが独立している。しかしながら、近年、インターネットを中心としたネットワークサービスに対する需要が急増、多様化する中で、伝送方式が異なる既存の伝送装置を、同一の監視制御ネットワークに収容することによる、サービス提供の迅速化と開発コストの低減が求められている。
【０００３】
この一例として、ＯＡＤＭ（Ｏｐｔｉｃａｌ  Ａｄｄ−Ｄｒｏｐ  Ｍｕｌｔｉｐｌｅｘｅｒ：光分岐挿入装置）に代表される光伝送装置により構成される光伝送ネットワーク網を、インターネット中継網としてパケット伝送ネットワークへ収容、接続し、統一的な監視制御網により、一元的に監視制御することができるネットワークを構築する需要が増加している。
【０００４】
このような需要に対する関連技術として、特許文献１には、監視制御の対象となるそれぞれの被管理装置が、自身の状態を通知するためのイベントを発行したのち、監視制御を行う管理装置が、所定の運用管理の手順が記述された運用管理シナリオに基づいて、イベントの解析と対応する処置を決定することで、自動動作制御を実行するようにしたシステムが公開されている。
【０００５】
また、特許文献２には、静的設計情報と動的設計情報を１つにまとめた設計情報を得て、この設計情報に基づいて、ソースコードの雛形、外部ファイル、及び、テスト項目を自動生成することができるようにしたシステムが公開されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2012-043121号公報
【特許文献２】特開2007-094453号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
伝送方式が異なる既存の伝送装置を、一元的に監視制御することを行うために、監視制御網における装置間インタフェースを、既存装置の監視制御インフェースに変換する、Ｗｒａｐｐｉｎｇ手法が一般的に用いられている。このＷｒａｐｐｉｎｇ手法において、上述した変換処理を人手で行うことは、特に大規模システムに関しては困難であり、多大なコストが発生することになる。したがって、この変換処理を、可能な限り自動化することが重要である。上述の課題は、前述の特許文献１乃至２によっては、解決できない。
【０００８】
本願発明の主たる目的は、上述の課題を解決した、命令生成装置、命令生成方法、及び、命令生成プログラムを提供することである。
【課題を解決するための手段】
【０００９】
本願発明に係る命令生成装置は、上位装置が下位装置に対して発行する上位命令であって、その下位装置が実行できない形式で記述された該上位命令に含まれるところの、その上位命令を表す命令情報と、該上位命令が実行される際の条件を示した命令実行制御情報との組み合わせを、前記上位命令を前記下位装置が実行できる形式に変換された下位命令に含まれるところの、その下位命令を表す命令情報に関連付けたシナリオ情報を、特定の上位命令に応じて、その特定の上位命令を表す命令情報を検索キーとして検索することにより、該特定の上位命令を表す命令情報に関連付けされている特定の下位命令を表す命令情報および命令実行制御情報を抽出し、抽出した特定の下位命令を表す命令情報および命令実行制御情報を使用して、該特定の下位命令を生成する生成手段を備える。
【００１０】
上記目的を達成する他の見地において、本願発明の命令生成方法は、上位装置が下位装置に対して発行する上位命令であって、その下位装置が実行できない形式で記述された該上位命令に含まれるところの、その上位命令を表す命令情報と、該上位命令が実行される際の条件を示した命令実行制御情報との組み合わせを、前記上位命令を前記下位装置が実行できる形式に変換された下位命令に含まれるところの、その下位命令を表す命令情報に関連付けたシナリオ情報を、特定の上位命令に応じて、その特定の上位命令を表す命令情報を検索キーとして検索することにより、該特定の上位命令を表す命令情報に関連付けされている特定の下位命令を表す命令情報および命令実行制御情報を抽出し、抽出した特定の下位命令を表す命令情報および命令実行制御情報を使用して、該特定の下位命令を生成する。
【００１１】
また、上記目的を達成する更なる見地において、本願発明に係る命令生成プログラムは、上位装置が下位装置に対して発行する上位命令であって、その下位装置が実行できない形式で記述された該上位命令に含まれるところの、その上位命令を表す命令情報と、該上位命令が実行される際の条件を示した命令実行制御情報との組み合わせを、前記上位命令を前記下位装置が実行できる形式に変換された下位命令に含まれるところの、その下位命令を表す命令情報に関連付けたシナリオ情報を、特定の上位命令に応じて、その特定の上位命令を表す命令情報を検索キーとして検索することにより、該特定の上位命令を表す命令情報に関連付けされている特定の下位命令を表す命令情報および命令実行制御情報を抽出し、抽出した特定の下位命令を表す命令情報および命令実行制御情報を使用して、該特定の下位命令を生成する生成処理をコンピュータに実行させる。
【発明の効果】
【００１２】
本願発明は、上位装置が下位装置に対して発行した上位命令が、条件分岐制御を伴うようなシーケンス制御を行う場合であっても、上位命令から下位命令への変換を自動で行うことにより、コンピュータシステムに関する管理コストを低減するとともに、サービス提供品質を高めることを可能とする。
【図面の簡単な説明】
【００１３】
【図１】本願発明の第１の実施形態の命令生成システムの構成を示すブロック図である。
【図２Ａ】本願発明の第１の実施形態における、命令生成システムの動作を示すフローチャート（１／２）である。
【図２Ｂ】本願発明の第１の実施形態における、命令生成システムの動作を示すフローチャート（２／２）である。
【図３】本願発明の第１の実施形態における、シナリオ情報を構成するシナリオテーブルを例示する図である。
【図４】本願発明の第１の実施形態における、シナリオ情報を構成する状態変換テーブルを例示する図である。
【図５】本願発明の第１の実施形態における、シナリオ情報を構成する時刻変換テーブルを例示する図である。
【図６】本願発明の第１の実施形態における、シナリオ情報を構成する下位命令制御テーブルを例示する図である。
【図７】本願発明の第１の実施形態における、命令テンプレートと、命令テンプレートを基に生成した下位命令実行ソースファイルを例示する図である。
【図８】本願発明の第１の実施形態における、上位命令詳細情報を例示する図である。
【図９】本願発明の第１の実施形態における、下位命令詳細情報を例示する図である。
【図１０】本願発明の第１の実施形態における、上位命令ＵＣ−１の命令実行の流れを表すシーケンス図である。
【図１１】本願発明の第１の実施形態における、上位命令ＵＣ−２の命令実行の流れを表すシーケンス図である。
【図１２】本願発明の第１の実施形態における、上位命令ＵＣ−３の命令実行の流れを表すシーケンス図である。
【図１３】本願発明の第２の実施形態の命令生成装置の構成を示すブロック図である。
【図１４】本願発明の第１、及び、第２の実施形態の命令生成装置を実行可能な情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
本願発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１５】
図１は本実施形態の命令生成システム１の構成を概念的に示すブロック図である。本実施形態の命令生成システム１は、命令生成装置１０、上位装置２０乃至２１、及び、下位装置３０乃至３１を有している。
【００１６】
上位装置２０乃至２１は、下位装置３０乃至３１を監視制御するにあたり、下位装置３０乃至３１に対して、それぞれ、上位命令２００乃至２１０を発行する。上位装置２０乃至２１と、下位装置３０乃至３１は、装置間インタフェース仕様が異なるため、上位命令２００乃至２１０は、下位装置３０乃至３１が直接実行できる書式では記述されていない。
【００１７】
このため、命令生成装置１０が上位命令２００乃至２０１を受け取り、上位命令２００乃至２０１を、下位装置３０乃至３１が実行できる下位命令３００乃至３１０に変換した後、下位命令３００乃至３１０を、それぞれ、下位装置３０乃至３１へ入力する。下位装置３０乃至３１は、入力された下位命令３００乃至３１０を実行した後、応答結果を、命令生成装置１０を経由して、上位装置２０乃至２１へ入力する。
【００１８】
命令生成装置１０は、生成部１１、シナリオ記憶部１２、雛形情報記憶部１３、上位命令データベース（以下、本願ではＤＢと表す）１４、及び、下位命令ＤＢ１５を備えている。生成部１１は、電子回路の場合もあれば、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサである場合もある。シナリオ記憶部１２、雛形情報記憶部１３、上位命令ＤＢ１４、及び、下位命令ＤＢ１５は、電子回路、あるいは、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによりアクセス制御される、磁気ディスクや電子メモリ等の電子デバイスである。
【００１９】
シナリオ記憶部１２は、シナリオ情報１２０を記憶している。シナリオ情報１２０は、シナリオテーブル１２１、状態変換テーブル１２２、時刻変化テーブル１２３、及び、下位命令制御テーブル１２４を包含（いずれも図１には不図示）している。シナリオテーブル１２１、状態変化テーブル１２２、時刻変化テーブル１２３、及び、下位命令制御テーブル１２４は、上位装置２０と上位装置２１が異なる種別の装置である場合は、上位装置ごとに設けられている。
【００２０】
シナリオテーブル１２１の一例を図３に示す。シナリオテーブル１２１は、「上位命令」、「制御対象オブジェクト」、「ステップ」、「制御対象識別子」、「入力パラメータ」、「出力パラメータ」、「内部変数」、「実行条件」、「終了判定」、及び、「下位命令」という項目を包含している。即ち、シナリオテーブル１２１には、係る各項目が関連付けられて記憶される。
【００２１】
「上位命令」は、上位命令２００乃至２１０の名称を示す項目であり、図３の例では、ＵＣ−１乃至ＵＣ−３という名称の３つの命令が記述されている。「制御対象オブジェクト」は、上位命令が制御する制御対象箇所の種別を示す項目であり、図３の例では、ＮＯＤＥ、及び、ＰＡＴＨの２つが登録されている。制御対象箇所が存在しない上位命令に関しては、「制御対象オブジェクト」の項目には「−」が記述されている。上位命令から下位命令への変換は、「上位命令」と「制御対象オブジェクト」の項目の組み合わせにより一意に決定する。
【００２２】
「ステップ」は、上位命令が複数ステップの下位命令に変換される場合に、各ステップの下位命令に関する実行順位を示す項目である。「制御対象識別子」は、上位命令が、例えば特定の装置を制御する命令である場合に、制御対象となる装置を識別する識別子を示す項目である。図３の例では、上位命令ＵＣ−３が、４つのステップの下位命令に変換され、ステップ１乃至４の下位命令は、それぞれ、下位装置３０、下位装置３１、命令制御装置１０、及び、下位装置３０を制御対象とする。
【００２３】
「入力パラメータ」は、上位命令が包含するパラメータ名を示す項目である。「出力パラメータ」は、上位命令に対する応答結果が包含するパラメータ名を示す項目である。「内部変数」は、下位命令を実行したときの応答結果が包含し、当該下位命令以降のステップにおける下位命令において、「実行条件」における条件式の中で、あるいは、下位命令が包含する入力情報として使用されるパラメータである内部変数に関するパラメータ名である。
【００２４】
「入力パラメータ」、「出力パラメータ」、及び、「内部変数」に関する書式は、それら変数の使用方法により、変数名をそのまま記述する書式と、変数名を括弧でくくって記述する書式がある。変数名をそのまま記述する書式は、当該変数が、下位命令が包含する入力情報であることを示す。変数名を括弧でくくって記述する書式は、当該変数が、下位命令を実行したときの応答結果に包含され、後のステップにおいて、その値を参照できることを示す。下位命令が、「入力パラメータ」、「出力パラメータ」、及び、「内部変数」に該当する変数を使用しない場合は、これらの項目には「−」が記述されている。
【００２５】
「実行条件」は、レコード内に示された下位命令を実行するか否かの条件を示す項目である。無条件で、下位命令を実行する場合は、「実行条件」の項目には「−」が記載されている。「実行条件」としては、例えば、「制御対象オブジェクト」、「入力パラメータ」、「出力パラメータ」、及び、「内部変数」が示す値を、整数や文字列と比較する記述が可能である。
【００２６】
「終了判定」は、下位命令を実行した下位装置３０乃至３１からの応答結果がエラーメッセージを包含している場合に、上位命令が指示する処理を継続するか否かを示す項目である。「終了判定」には、“Ａｂｏｒｔ”、“Ｉｇｎｏｒｅ”、“Ｃｏｎｔｉｎｕｅ”のいずれかが記述される。
【００２７】
「終了判定」が“Ａｂｏｒｔ”である場合、生成部１１は、上位命令が指示する処理を終了し、当該上位命令を発行した上位装置へ、当該エラーメッセージを送信する。「終了判定」が“Ｉｇｎｏｒｅ”である場合、生成部１１は、エラーメッセージを廃棄したのち、上位命令が指示する処理を継続する。「終了判定」が“Ｃｏｎｔｉｎｕｅ”である場合、生成部１１は、エラーメッセージに関する情報を内部に保持したのち、上位命令が指示する処理を継続する。この場合、生成部１１が内部に保持したエラーメッセージは、後続ステップにおける「終了判定」において使用される。
【００２８】
「下位命令」は、下位命令３００乃至３１０の名称と、当該下位命令が包含するパラメータを示す項目であり、図３の例では、“ｇｅｔ＿ｓｔａｔｅ”、“ｓｅｔ＿ｄａｔａ”等の名称が付与された命令が記述されている。そのパラメータは、「入力パラメータ」、「出力パラメータ」、及び、「内部変数」が示すパラメータを直接指定する場合、パラメータ名称の先頭に「＃」記号を付加する書式で記述される。シナリオテーブル１２１における上から３番目のレコードにおける「下位命令」が示す記述は、この記述例である。また、パラメータは、他のテーブルを参照して得られる値を指定する場合もある。シナリオテーブル１２１における上から２番目のレコードにおける「下位命令」が示す記述は、この記述例である。
【００２９】
状態変換テーブル１２２の一例を図４に示す。状態変換テーブル１２２は、「上位命令パラメータ」である“ｍｏｄｅ”、「内部変数」である“ｓｔａｔｅ”、「実行条件」、及び、「下位命令パラメータ」である“ｖａｌ”を関連付けている。
【００３０】
時刻変換テーブル１２３の一例を図５に示す。時刻変換テーブル１２３は、「下位命令パラメータ」である“ｔｉｍｅ”、「実行条件」、及び、上位命令パラメータである“ｎｅｗ＿ｔｉｍｅ”を関連付けている。
【００３１】
下位命令制御テーブル１２４の一例を図６に示す。下位命令制御テーブル１２４は、バイナリベースのインタフェースを持つ下位装置への対応のため、「上位命令パラメータ」である“ｍｏｄｅ”、「実行条件」、及び、「下位命令パラメータ」である“バイナリデータ”を関連付けている。
【００３２】
雛形情報記憶部１３は、命令テンプレート１３０を記憶している。命令テンプレート１３０は、生成部１１が、上位命令２００乃至２１０が包含する命令情報と、シナリオ情報１２０を基にして、下位命令実行ソースファイル１１０を生成する際に、生成部１１に入力される、下位命令実行ソースファイル１１０の雛形である。命令テンプレート１３０は、生成部１１が、上位命令２００乃至２１０が包含する命令情報とシナリオ情報１２０に基づき、記述を変更する可変記述文と、記述を変更しない固定記述文を包含している。
【００３３】
命令テンプレート１３０の一例を図７に示す。命令テンプレート１３０において、「＜％＿条件文＿％＞」と「％＿ｅｎｄ＿％」との間に記述された文は、当該条件文が真であるか偽であるかによって、下位命令実行ソースファイル１１０に出力されるか否かが決定する可変記述文である。図７に示す例では、生成部１１は、上位命令における制御対象オブジェクトがＮＯＤＥの場合は、ＮＯＤＥ固有の処理として、ｐｒｉｎｔｆ関数を実行する命令文を生成する。生成部１１は、上位命令における制御対象オブジェクトがＮＯＤＥでない場合は、命令テンプレート１３０において固定記述文として記述されている、共通の処理に関する命令文のみを生成する。
【００３４】
上位命令ＤＢ１４、及び、下位命令ＤＢ１５は、それぞれ、上位命令詳細情報１４０、及び、下位命令詳細情報１５０を記憶する。上位命令詳細情報１４０、及び、下位命令詳細情報１５０は、それぞれ、上位命令、及び、下位命令に関するインタフェース仕様を定義した情報である。
【００３５】
上位命令詳細情報１４０、及び、下位命令詳細情報１５０の一例を、それぞれ、図８、及び、図９に示す。上位命令詳細情報１４０、及び、下位命令詳細情報１５０は、それぞれ、上位命令、及び、下位命令について、「命令種別」、「パラメータ」、「データ型」、及び、「パラメータ定義域」を関連付けている。
【００３６】
次に図２Ａ、及び、図２Ｂのフローチャートを参照して、本実施形態の命令生成システム１動作について詳細に説明する。
【００３７】
生成部１１は、上位装置２０から上位命令２００を受信し、その命令情報を内部データとして記憶する（ステップＳ１０１）。生成部１１は、上位命令２００の命令情報を、シナリオ情報１２０と照合して、下位命令３００乃至３０１に関する命令情報を抽出する。生成部１１は、抽出した命令情報、命令テンプレート１３０、上位命令詳細情報１４０、及び、下位命令詳細情報１５０を使用して、下位命令実行ソースファイル１１０を生成する（ステップＳ１０２）。
【００３８】
生成部１１は、下位命令実行ソースファイル１１０に記載された処理を開始する（ステップＳ１０３）。生成部１１は、１乃至ｎ（ｎは受信した上位命令２００に関する最終ステップの実行順位）の値をとる整数ｉについて、ステップＳ１０４からステップＳ１１６までのループ処理に入る（ステップＳ１０４）。
【００３９】
生成部１１は、ステップｉにおける、入力パラメータと内部変数について、内部データに存在しているか否か、エラーチェックを実施する（ステップＳ１０５）。エラーがある場合（ステップＳ１０６でＮｏ）、全体の処理は終了する。エラーが無い場合（ステップＳ１０６でＹｅｓ）、生成部１１は、ステップｉにおける実行条件をチェックする（ステップＳ１０７）。
【００４０】
ステップｉが、実行条件を満たさない場合（ステップＳ１０８でＮｏ）、処理はステップＳ１１６へ進む。ステップｉが実行条件を満たす場合（ステップＳ１０８でＹｅｓ）、生成部１１は、下位命令実行ソースファイル１１０において、状態変換テーブル１２２、時刻変換テーブル１２３、及び、下位命令制御テーブル１２４を参照する記述がある場合は、これらのテーブルを参照して、必要な値を取得する（ステップＳ１０９）。
【００４１】
生成部１１は、下位装置３０に下位命令３００を、あるいは、下位装置３１に下位命令３０１を入力する（ステップＳ１１０）。生成部１１は、下位装置３０乃至３１が下位命令を実行することによって出力した応答結果を受信し、応答結果が包含する情報を内部データとして記憶する（ステップＳ１１１）。生成部１１は、受信した応答結果において、状態変換テーブル１２２、時刻変換テーブル１２３、及び、下位命令制御テーブル１２４を参照する必要がある場合は、これらのテーブルを参照することによって、必要な値を取得する（ステップＳ１１２）。
【００４２】
生成部１１は、下位装置３０乃至３１から受信した応答結果を、上位装置２０へ入力する。応答結果が、エラーメッセージを包含していない場合（ステップＳ１１４でＮｏ）、処理はステップＳ１１６へ進む。応答結果が、エラーメッセージを包含している場合、生成部１１は、終了判定を示す項目が“Ａｂｏｒｔ”であるか否かを確認する。
【００４３】
終了判定を示す項目が“Ａｂｏｒｔ”である場合（ステップＳ１１５でＹｅｓ）、全体の処理は終了する。終了判定を示す項目が“Ａｂｏｒｔ”でない場合（ステップＳ１１５でＮｏ）、処理はステップＳ１１６へ進む。ｉがｎ未満である場合は、処理はｉに１を加算してステップＳ１０４に戻り、ｉがｎである場合は、全体の処理は終了する（ステップＳ１１６）。
【００４４】
次に、上位装置２０が、上位命令ＵＣ−１を発行したときの、命令生成システム１の動作について、図１０を参照して説明する。
【００４５】
上位装置２０は、「制御対象オブジェクト」が“ＮＯＤＥ”である上位命令ＵＣ−１を、「入力パラメータ」である“ｍｏｄｅ”の値をＢに設定して、下位装置３０に対して発行する。命令生成装置１０は、上位命令ＵＣ−１を受信して、その命令情報を内部データとして記憶する。
【００４６】
制御対象オブジェクトが“ＮＯＤＥ”である上位命令ＵＣ−１のステップ数は、シナリオテーブル１２１が示す通り２であることから、命令生成装置１０は、上位命令ＵＣ−１を、２つのステップであるステップ１、及び、ステップ２に分割して、処理を行う。
【００４７】
命令生成装置１０は、ステップ１において、「入力パラメータ」、及び、「内部変数」の項目について、下位命令が使用するパラメータに関する記載が無く、「実行条件」の項目についても記載がないことから、下位命令ｇｅｔ＿ｓｔａｔｅを、下位装置３０に入力する。下位装置３０は、下位命令ｇｅｔ＿ｓｔａｔｅを実行し、“ｒｅｓｕｌｔ＝ＯＫ，ｓｔａｔｅ＝４”を包含する応答結果を、命令生成装置１０へ入力する。
【００４８】
命令生成装置１０は、内部変数ｓｔａｔｅの値を４に設定する。命令生成装置１０は、応答結果がエラーメッセージを包含していないことから、ステップ２の処理を開始する。
【００４９】
命令生成装置１０は、ステップ２において、「入力パラメータ」、及び、「内部変数」の項目について、下位命令が使用するパラメータとして、それぞれ、“ｍｏｄｅ”、及び、“ｓｔａｔｅ”が指定されているため、“ｍｏｄｅ”、及び、“ｓｔａｔｅ”が内部データに存在しているか否かについてチェックする。本例の場合、命令生成装置１０は、ステップ１の処理において、“ｍｏｄｅ＝Ｂ，ｓｔａｔｅ＝４”であることを、内部データとして記憶している。
【００５０】
命令生成装置１０は、ステップ２における「実行条件」の項目に記載されている、“ｓｔａｔｅ＞０”の条件が満たされているため、下位命令ｓｅｔ＿ｄａｔａを、下位装置３０に入力する。この際に、下位命令ｓｅｔ＿ｄａｔａが、状態変換テーブル１２２を参照していることから、命令生成装置１０は、状態変換テーブル１２２を参照する。状態変換テーブル１２２において、“ｍｏｄｅ＝Ｂ，ｓｔａｔｅ＝４”であるレコードについて、下位命令パラメータｖａｌの値は５である。したがって、命令生成装置１０は、“ｖａｌ＝５”を設定した下位命令ｓｅｔ＿ｄａｔａを、下位装置３０に入力する。
【００５１】
下位装置３０は、下位命令ｓｅｔ＿ｄａｔａを実行し、“ｒｅｓｕｌｔ＝ＮＧ”を包含する応答結果を、命令生成装置１０へ入力する。
【００５２】
命令生成装置１０は、応答結果がエラーメッセージを包含しており、「終了判定」の項目が“Ａｂｏｒｔ”であることから、上位命令ＵＣ−１が異常終了したことを示す応答結果を上位装置２０へ入力した後、上位命令ＵＣ−１の処理を終了する。
【００５３】
次に、上位装置２０が、上位命令ＵＣ−２を発行したときの、命令生成システム１の動作について、図１１を参照して説明する。
【００５４】
上位装置２０は、上位命令ＵＣ−２を、「入力パラメータ」である“ｔｉｍｅ”が示す値を７に設定して、下位装置３０に対して発行する。命令生成装置１０は、上位命令ＵＣ−２を受信して、その命令情報を内部データとして記憶する。上位命令ＵＣ−２のステップ数は、シナリオテーブル１２１が示す通り２であることから、命令生成装置１０は、上位命令ＵＣ−２を、２つのステップであるステップ１、及び、ステップ２に分割して、処理を行う。
【００５５】
命令生成装置１０は、ステップ１において、「入力パラメータ」の項目について、下位命令が使用するパラメータとして、“ｔｉｍｅ”が指定されているため、“ｔｉｍｅ”が内部データに存在しているか否かについてチェックする。本例の場合、命令生成装置１０は、上位命令ＵＣ−２を受信したときに、“ｔｉｍｅ＝７”であることを内部データとして記憶している。
【００５６】
命令生成装置１０は、ステップ１において、「実行条件」の項目について、記載がないことから、“ｔｉｍｅ＝７”を設定した下位命令ｓｅｔ＿ｔｉｍｅを、下位装置３０に入力する。下位装置３０は、下位命令ｓｅｔ＿ｔｉｍｅを実行し、“ｒｅｓｕｌｔ＝ＯＫ”を包含する応答結果を、命令生成装置１０へ入力する。命令生成装置１０は、応答結果がエラーメッセージを包含していないことから、ステップ２の処理を開始する。
【００５７】
命令生成装置１０は、ステップ２において、「入力パラメータ」、及び、「内部変数」の項目について、下位命令が使用するパラメータに関する記載が無く、「実行条件」の項目についても記載がないことから、下位命令ｇｅｔ＿ｔｉｍｅを、下位装置３０に入力する。
【００５８】
下位装置３０は、下位命令gｅｔ＿ｔｉｍｅを実行し、“ｒｅｓｕｌｔ＝ＯＫ，ｔｉｍｅ=２０９６”を包含する応答結果を、命令生成装置１０へ入力する。命令生成装置１０は、ステップ２における「出力パラメータ」の項目について、ｎｅｗ＿ｔｉｍｅが指定されているため、時刻変換テーブル１２３を参照する。時刻変換テーブル１２３において、“ｔｉｍｅ＝２０９６”であるレコードについて、上位命令パラメータｎｅｗ＿ｔｉｍｅが示す値は８：３０である。したがって、命令生成装置１０は、“ｎｅｗ＿ｔｉｍｅ＝８：３０”を取得する。
【００５９】
命令生成装置１０は、応答結果がエラーメッセージを包含していないことから、上位命令ＵＣ−２が正常終了したことを示す応答結果を上位装置２０へ入力した後、上位命令ＵＣ−２の処理を終了する。
【００６０】
次に、上位装置２０が、上位命令ＵＣ−３を発行したときの、命令生成システム１の動作について、図１２を参照して説明する。
【００６１】
上位装置２０は、「制御対象オブジェクト」が“ＮＯＤＥ”である上位命令ＵＣ−３を、「入力パラメータ」である“ｍｏｄｅ”の値を１に設定して発行する。上位命令ＵＣ−３が制御対象とする装置は、「制御対象識別子」が特定する装置である。上位命令ＵＣ−３のステップ数は、シナリオテーブル１２１が示す通り４であることから、命令生成装置１０は、上位命令ＵＣ−３を、４つのステップであるステップ１乃至４に分割して、処理を行う。
【００６２】
命令生成装置１０は、ステップ１において、“ｍｏｄｅ＝１”を設定した下位命令ｓｅｔ＿ｓｔａｔｅを、下位装置３０へ入力する。下位装置３０は、下位命令ｓｅｔ＿ｓｔａｔｅを実行し、“ｒｅｓｕｌｔ＝ＯＫ”を包含する応答結果を、命令生成装置１０へ入力する。
【００６３】
ステップ２における「下位命令」の項目が、下位命令制御テーブル１２４を参照しているため、命令生成装置１０は、下位命令制御テーブル１２４を参照する。尚、下位装置３１は、バイナリベースの入出力インタフェースを持つ装置である。
【００６４】
下位命令制御テーブル１２４において、“ｍｏｄｅ＝１”であるレコードについて、下位命令パラメータであるバイナリデータの値は０ｘ３１４０６００４３１（１６進数）である。したがって、命令生成装置１０は、バイナリデータ０ｘ３１４０６００４３１を、下位装置３１へ入力する。下位装置３１は、バイナリデータ０ｘ３１４０６００４３１が示す命令を実行して、バイナリデータで示された応用結果を、命令生成装置１０へ入力する。
【００６５】
命令生成装置１０は、ステップ３において、“ｍｏｄｅ＝１”を設定したハードウェア制御関数命令ｓｅｔＨＷを実行する。
【００６６】
命令生成装置１０は、ステップ４において、“ｍｏｄｅ＝１”を設定した下位命令ｓｅｔ＿ｄａｔａを、下位装置３０へ入力する。下位装置３０は、下位命令ｓｅｔ＿ｄａｔａを実行し、“ｒｅｓｕｌｔ＝ＯＫ”を包含する応答結果を、命令生成装置１０へ入力する。
【００６７】
命令生成装置１０は、応答結果がエラーメッセージを包含していないことから、上位命令ＵＣ−３が正常終了したことを示す応答結果を上位装置２０へ入力した後、上位命令ＵＣ−３の処理を終了する。
【００６８】
本実施形態には、上位装置が下位装置に対して発行した上位命令が、条件分岐制御を伴うようなシーケンス制御を行う場合であっても、上位命令から下位命令への変換を自動で行うことにより、コンピュータシステムに関する管理コストを低減するとともに、サービス提供品質を高めることを可能とする効果がある。その理由は、生成部１１が、上位装置２０乃至２１が下位装置３０乃至３１をシーケンス制御によって制御するような上位命令２００乃至２１０を、シナリオ情報１２０を使用して下位命令３００乃至３１０に変換し、下位命令３００乃至３１０を下位装置３０乃至３１に実行させるからである。
【００６９】
伝送方式が異なる既存の伝送装置を、一元的に監視制御することを行うために、監視制御網における装置間インタフェースを、既存装置の監視制御インフェースに変換することは、単純な変換処理では済まないため、人手で変換処理を実施することが一般的であった。しかしながら、近年の大規模コンピュータシステムにおいて、上述の変換処理を人手で行うことは、コスト的に非現実的である。
【００７０】
本実施形態では、複雑なシーケンス制御に関わる命令実行制御情報を、シナリオ情報１２０が包含し、生成部１１が、シナリオ情報１２０、上位命令２００乃至２１０の命令情報、および、下位装置３０乃至３１から受信した応答結果を使用して、下位命令３００乃至３１０を生成する。したがって、本実施形態は、上述の変換処理を自動で行うことで、システム管理コストを低減し、サービス提供品質を向上させることを可能とする。
【００７１】
また、本実施形態では、生成部１１が、命令テンプレート３０を雛形となる情報として使用し、上位命令詳細情報１４０と下位命令詳細情報１５０を参照して、下位命令実行ソースファイル１１０を生成するため、より正確、かつ、効率的に、下位命令３０乃至３１を生成することを可能とする。
【００７２】
一般的な開発プロセスでは、開発者は作業工程として、設計（シナリオ情報の作成）、製造（ソースファイルのコーディング）、単体検査（ソースコードの検査）、統合検査（上位装置、下位装置を含めた命令実行検査）を実施する必要がある。しかしながら、本実施形態のように、命令テンプレート１３０から下位命令実行ソースファイル１１０を自動生成した場合、全ての工程におけるソースコードに対して単体検査をする必要はなく、命令テンプレート１３０についてのみ単体検査を行えばよいため、開発コストを削減することが可能となる。
【００７３】
さらに、例えば、異なる機能を有する複数の命令生成装置を統合して、１台の命令生成装置を開発する場合、統合した命令生成装置は、統合前の各命令装置が使用していた、シナリオ情報や命令テンプレートを使用して、下位命令実行ソースファイルを生成することが可能である。したがって、本実施形態は、既存の命令生成装置を流用した新しい命令生成装置の開発を行うことを可能とする点でも、開発コストを削減する効果がある。
＜第二の実施形態＞
次に、本願発明の第２の実施形態について図面を参照して詳細に説明する。
【００７４】
図１３は本実施形態の命令生成装置１０の構成を概念的に示すブロック図である。
【００７５】
本実施形態の命令生成装置１０は、生成部１１を備えている。
【００７６】
上位命令２００は、上位装置２０が下位装置３０に対して発行する命令であって、下位装置３０が実行できない形式で記述されている。
【００７７】
シナリオ情報１２０は、上位命令２００に含まれる、上位命令２００を表す命令情報と、上位命令２００が実行される際の条件を示した命令実行制御情報との組み合わせを、上位命令２００を下位装置３０が実行できる形式に変換された、下位命令３００に含まれる、下位命令３００を表す命令情報に関連付けている。
【００７８】
生成部１１は、特定の上位命令２００に応じて、その特定の上位命令２００を表す命令情報を検索キーとして検索することにより、特定の上位命令２００を表す命令情報に関連付けされている特定の下位命令３００を表す命令情報および命令実行制御情報を抽出する。
【００７９】
生成部１１は、抽出した特定の下位命令３００を表す命令情報および命令実行制御情報を使用して、特定の下位命令３００を生成する。
【００８０】
本実施形態には、第１の実施形態と同様に、上位装置が下位装置に対して発行した上位命令が、条件分岐制御を伴うようなシーケンス制御を行う場合であっても、上位命令から下位命令への変換を自動で行うことにより、コンピュータシステムに関する管理コストを低減するとともに、サービス提供品質を高めることを可能とする効果がある。その理由は、生成部１１が、上位装置２０が下位装置３０をシーケンス制御するような上位命令２００を、シナリオ情報１２０を使用して下位命令３００に変換するからである。
＜ハードウェア構成例＞
上述した実施形態において図１、及び、図１３に示した各部は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図１４を参照して説明する。
【００８１】
図１４は、本発明の模範的な各実施形態に係る命令生成装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図１４は、図１、及び、図１３に示した命令生成装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００８２】
図１４に示した情報処理装置９００は、ＣＰＵ９０１（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）、ＲＯＭ９０２（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）、ＲＡＭ９０３（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）、ハードディスク９０４（記憶装置）、外部装置との通信インタフェース９０５（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、及び、入出力インタフェース９０９を備え、これらの構成がバス９０６（通信線）を介して接続された一般的なコンピュータである。
【００８３】
そして、上述した実施形態を例に説明した本発明は、図１４に示した情報処理装置９００に対して、その実施形態の説明において参照したブロック構成図（図１、及び、図１３）或いはフローチャート（図２）の機能を実現可能なコンピュータプログラムを供給した後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００８４】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、ＣＤ−ＲＯＭ等の各種記憶媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体９０７によって構成されると捉えることができる。
【００８５】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００８６】
１    命令生成システム
１０    命令生成装置
１１    生成部
１１０    下位命令実行ソースファイル
１２    シナリオ記憶部
１２０    シナリオ情報
１２１    シナリオテーブル
１２２    状態変換テーブル
１２３    時刻変換テーブル
１２４    下位命令制御テーブル
１３    雛形情報記憶部
１３０    命令テンプレート
１４    上位命令ＤＢ
１４０    上位命令詳細情報
１５    下位命令ＤＢ
１５０    下位命令詳細情報
２０乃至２１    上位装置
２００乃至２１０    上位命令
３０乃至３１    下位装置
３００乃至３１０    下位命令
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク
９０５    通信インタフェース
９０６    バス
９０７    記憶媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2014241072.tif 000003
【図２Ａ】
2014241072.tif 000004
【図２Ｂ】
2014241072.tif 000005
【図３】
2014241072.tif 000006
【図４】
2014241072.tif 000007
【図５】
2014241072.tif 000008
【図６】
2014241072.tif 000009
【図７】
2014241072.tif 000010
【図８】
2014241072.tif 000011
【図９】
2014241072.tif 000012
【図１０】
2014241072.tif 000013
【図１１】
2014241072.tif 000014
【図１２】
2014241072.tif 000015
【図１３】
2014241072.tif 000016
【図１４】
2014241072.tif 000017