(57)【要約】【課題】自動生成されたプログラムが実際に要求された機能仕様を満足しているか否かを試験するための試験方案を自動的に作成することができる制御プログラム及び試験方案自動作成装置を得る。【解決手段】制御プログラム及び試験方案自動作成装置において、制御プログラムの機能仕様情報の入力を受け、機能仕様情報から制御プログラムの基本構造を解釈する機能仕様情報入力手段と、機能仕様情報に基づいて、制御対象を制御する上での標準的な処理を部品化した標準部品と制御プログラムが適用されるプロジェクトに固有な処理を部品化したプロジェクト固有部品とを結合し制御プログラムの完成形ソースコードを生成するソースコード自動作成手段と、この完成形ソースコードが機能仕様を満足しているか否かを試験するための試験方案を、機能仕様情報に基づいて生成する試験方案自動作成手段と、を備える。【選択図】図３
2009289162.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムに要求される機能仕様に関する情報である機能仕様情報の入力を受け、前記機能仕様情報から前記制御プログラムの基本構造を解釈する機能仕様情報入力手段と、
前記機能仕様情報に基づいて、前記制御プログラムの制御対象を制御する上での標準的な処理を部品化した標準部品と前記制御プログラムが適用されるプロジェクトに固有な処理を部品化したプロジェクト固有部品とを結合し前記制御プログラムの完成形ソースコードを生成するソースコード自動作成手段と、
前記ソースコード自動作成手段が生成した前記制御プログラムの前記完成形ソースコードが前記機能仕様を満足しているか否かを試験するための試験方案を、前記機能仕様情報に基づいて生成する試験方案自動作成手段と、を備えたことを特徴とする制御プログラム及び試験方案自動作成装置。
【請求項２】
前記機能仕様情報は、ＵＭＬで記述された構造図及び振る舞い図からなることを特徴とする請求項１に記載の制御プログラム及び試験方案自動作成装置。
【請求項３】
ユーザから指示命令の入力を受けて、前記ソースコード自動作成手段により前記制御プログラムの前記完成形ソースコードを生成するのか、又は、前記試験方案自動作成手段により前記試験方案を生成するのかを選択する自動作成対象選択手段を備えたことを特徴とする請求項１又は請求項２のいずれかに記載の制御プログラム及び試験方案自動作成装置。
【請求項４】
前記ソースコード自動作成手段は、前記制御プログラムの前記完成形ソースコードを、前記機能仕様情報において定義された各イベントに応ずるそれぞれのタスクに対するソースコードに分割された状態で出力し、
前記試験方案自動作成手段は、前記試験方案を、前記分割されたソースコードのそれぞれに対応した状態で分割して出力することを特徴とする請求項１から請求項３のいずれかに記載の制御プログラム及び試験方案自動作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御プログラム及び試験方案自動作成装置に関するものである。
【背景技術】
【０００２】
従来における制御プログラム自動作成装置においては、標準部分とシステム特化部分とを明確に分離してプログラムの保守性を向上させたトラッキング機能プログラムを自動生成するものとして、トラッキング基本情報及びトラッキング動作情報を入力情報として取り込むトラッキング情報入力部と、前記入力情報に対応したトラッキング機能標準部品を格納するとともに、前記入力情報を解析して前記トラッキング機能標準部品からの結合を行うことにより、トラッキング機能プログラムソースを自動生成するプログラム自動生成部と、を備え、前記トラッキング情報入力部は、システム特化処理関数コールバック定義部を含み、前記システム特化処理関数コールバック定義部からの入力情報に基づいて、システム特化処理関数をコールバックすることにより、前記トラッキング機能標準部品以外の処理を実行可能なプログラムソースを前記トラッキング機能プログラムソースとして自動生成するものが知られている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００４−１９９２６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に示された従来における制御プログラム自動作成装置においては、トラッキング基本情報及びトラッキング動作情報、すなわち当該プログラムの機能仕様情報に基づいてプログラムのソースコードを自動生成することはできるものの、この自動生成されたプログラムが実際に要求された機能仕様を満足しているか否かを試験するための試験方案は自動的には作成されないため、別途、機能仕様情報が記載された仕様書を参照しながら手作業により作成することが必要である。
このように、人の手により試験方案を作成することが必要であるために、作業効率が良くなく作業工数が多くなってしまうという課題、要求された機能仕様を満足しているか否かを試験するために必要な試験内容の全てを網羅することができず、試験内容に抜け漏れ等の不備が生じてしまうおそれがあるという課題や、試験方案の記述方式といった形式的な面がプロジェクト毎に異なってしまい、保守管理等に不都合であるという課題がある。
【０００５】
この発明は、前述のような課題を解決するためになされたもので、自動生成されたプログラムが実際に要求された機能仕様を満足しているか否かを試験するための試験方案を自動的に作成することができ、作業効率を向上することができる制御プログラム及び試験方案自動作成装置を得るものである。
【課題を解決するための手段】
【０００６】
この発明に係る制御プログラム及び試験方案自動作成装置においては、制御プログラムに要求される機能仕様に関する情報である機能仕様情報の入力を受け、前記機能仕様情報から前記制御プログラムの基本構造を解釈する機能仕様情報入力手段と、前記機能仕様情報に基づいて、前記制御プログラムの制御対象を制御する上での標準的な処理を部品化した標準部品と前記制御プログラムが適用されるプロジェクトに固有な処理を部品化したプロジェクト固有部品とを結合し前記制御プログラムの完成形ソースコードを生成するソースコード自動作成手段と、前記ソースコード自動作成手段が生成した前記制御プログラムの前記完成形ソースコードが前記機能仕様を満足しているか否かを試験するための試験方案を、前記機能仕様情報に基づいて生成する試験方案自動作成手段と、を備えた構成とする。
【発明の効果】
【０００７】
この発明は制御プログラム及び試験方案自動作成装置において、制御プログラムに要求される機能仕様に関する情報である機能仕様情報の入力を受け、前記機能仕様情報から前記制御プログラムの基本構造を解釈する機能仕様情報入力手段と、前記機能仕様情報に基づいて、前記制御プログラムの制御対象を制御する上での標準的な処理を部品化した標準部品と前記制御プログラムが適用されるプロジェクトに固有な処理を部品化したプロジェクト固有部品とを結合し前記制御プログラムの完成形ソースコードを生成するソースコード自動作成手段と、前記ソースコード自動作成手段が生成した前記制御プログラムの前記完成形ソースコードが前記機能仕様を満足しているか否かを試験するための試験方案を、前記機能仕様情報に基づいて生成する試験方案自動作成手段と、を備えた構成としたことで、自動生成されたプログラムが実際に要求された機能仕様を満足しているか否かを試験するための試験方案を自動的に作成することができ、作業効率を向上することができるという効果を奏する。
【発明を実施するための最良の形態】
【０００８】
この発明を添付の図面に従い説明する。各図を通じて同符号は同一部分又は相当部分を示しており、その重複説明は適宜に簡略化又は省略する。
【０００９】
実施の形態１．
図１から図５は、この発明の実施の形態１に関するもので、図１は制御プログラム及び試験方案自動作成装置の全体構成概略を示すブロック図、図２は二次記憶装置に格納された機能仕様情報の構成を示す説明図、図３は主記憶装置に格納された情報解析処理部の構成を示すブロック図、図４は制御プログラム及び試験方案自動作成装置の動作を示すフロー図、図５は制御プログラム及び試験方案自動作成装置を用いて鉄鋼プラントにおけるトラッキング制御プログラムの完成形ソースコード及び試験方案を作成する処理の流れの具体例を示す説明図である。
図において１は制御プログラム及び試験方案自動作成装置を構成する計算機の主記憶装置であり、例えば半導体メモリを用いたＲＡＭ（ランダムアクセスメモリ）等からなる。そして、２は例えば磁気記憶装置等からなる二次記憶装置である。
３は、前記主記憶装置１及び前記二次記憶装置２に格納された情報、並びに、キーボードやマウス等の入力機器４を通じて入力された情報等に基づいて演算処理を行う中央演算処理装置であるＣＰＵであり、このＣＰＵ３による演算処理結果等は、例えばＣＲＴモニタからなるディスプレイ５に表示される。
【００１０】
前記主記憶装置１には、情報解析処理部６が格納されている。
そして、前記二次記憶装置２には、当該制御プログラムに要求される機能仕様に関する情報である機能仕様情報７、鉄鋼プラント等の制御対象を制御する上での標準的な処理を部品化した標準部品８（制御対象が鉄鋼プラントである場合には、例えば熱間圧延プロセスライン用部品が該当する）、及び、当該制御プログラムが適用されるプロジェクトに固有な処理を部品化したプロジェクト固有部品９が格納されており、また、制御プログラム及び試験方案自動作成装置により自動作成された、当該制御プログラムの自動作成ソースコード１０、及び、この自動作成ソースコード１０（プログラム）が機能仕様を満足しているか否かを試験するための自動作成試験方案１１も格納される。
【００１１】
前記二次記憶装置２に格納されている前記機能仕様情報７は、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ：統一モデリング言語）により記述されており、大きくは、当該制御プログラムにより構成されるシステムの静的な構造を表す構造図１２と、当該システムの動的な振る舞いを表す振る舞い図１３と、に二分される。
そして、より具体的には、この構造図１２は、当該システムを構成するクラス（概念）とこれらのクラス間に存在する関係を表現するクラス図１２ａ、これらのクラスを実体化して生成されたオブジェクト間の関係を表現するオブジェクト図１２ｂ及び当該システムの物理的な構成要素を含むコンポーネント同士の依存関係等を表現するコンポーネント図１２ｃを含み、また、この振る舞い図１３は、オブジェクト間の相互作用を時系列に沿って表現したシーケンス図１３ａ、当該システムの処理フローを表現するアクティビティ図１３ｂ及びオブジェクトの状態の相互作用による遷移過程を表現するステートマシン図１３ｃを含む（図２）。
換言すれば、前記構造図１２はプログラムがどのようなクラスやオブジェクトで構成されているのかを定義するものであり、前記振る舞い図１３は前記構造図１２で定義したオブジェクト間でどのようなタイミングでどのようなメッセージが相互作用しているか、すなわち、これらのオブジェクト間で、トラッキング等のトリガーによりイベントが発生したときに、どのような処理を実行させていくかを定義するものである。
なお、前記振る舞い図１３においては、各オブジェクトの状態や各条件分岐処理に対して名前が定義されるとともに、各条件分岐処理に対してはその処理内容の文書が定義される。
【００１２】
前記主記憶装置１に格納された前記情報解析処理部６は、前記機能仕様情報７の前記構造図１２及び前記振る舞い図１３の入力処理を行う入力処理機能６ａ、入力された前記構造図１２及び前記振る舞い図１３の内容の整合性をチェックする入力データ整合性チェック機能６ｂ、入力された前記構造図１２及び前記振る舞い図１３の内容に基づいて必要な前記標準部品８の結合処理を行う標準部品結合機能６ｃ、入力された前記構造図１２及び前記振る舞い図１３の内容に基づいて前記標準部品８が適用されないプロジェクト固有の処理に必要な前記プロジェクト固有部品９の結合処理を行うプロジェクト固有部品結合機能６ｄ、前記標準部品結合機能６ｃ及び前記プロジェクト固有部品結合機能６ｄの結合処理結果に基づいて当該制御プログラムの完成形ソースコードを生成し、前記自動作成ソースコード１０として出力するソースコード自動作成機能６ｅ、及び、前記自動作成ソースコード１０が機能仕様を満足しているか否かを試験するための試験方案を、入力された前記構造図１２及び前記振る舞い図１３の内容に基づいて生成し、前記自動作成試験方案１１として出力する試験方案自動作成機能６ｆから構成されている。
【００１３】
そして、前記入力機器４、前記入力処理機能６ａ及び前記入力データ整合性チェック機能６ｂは機能仕様情報入力手段を構成し、前記標準部品結合機能６ｃ、前記プロジェクト固有部品結合機能６ｄ及び前記ソースコード自動作成機能６ｅはソースコード自動作成手段を構成し、前記試験方案自動作成機能６ｆは試験方案自動作成手段を構成している。
また、前記入力機器４及び前記入力処理機能６ａは自動作成対象選択手段の構成要素でもある。
【００１４】
図４は、この実施の形態における制御プログラム及び試験方案自動作成装置の動作を示すフロー図である。
まず、前もって前記二次記憶装置２には前記標準部品８が格納された状態となっており、また、処理に先立ち、当該制御プログラムの前記機能仕様情報７すなわち前記構造図１２及び前記振る舞い図１３、並びに、当該プロジェクトに対応する前記プロジェクト固有部品９を予め前記入力機器４を通じて入力しておく。
ステップＳ０においてユーザにより前記入力機器４を通じて自動作成指示がなされると、ステップＳ１において前記入力処理機能６ａは、この自動作成指示がソースコード自動作成指示であるのか、試験方案作成指示であるのかを判定する。この判定において、ユーザにより前記入力機器４を通じてなされた自動作成指示がソースコード自動作成指示であると判定された場合には、ステップＳ２へと移行する。
ステップＳ２では、前記入力処理機能６ａにおいてソースコード作成用入力処理が実行され、予めユーザが前記入力機器４を通じて入力した前記機能仕様情報７（前記構造図１２及び前記振る舞い図１３）が前記二次記憶装置２から前記主記憶装置１へと取り込まれる。
【００１５】
そして、次のステップＳ３において、前記入力データ整合性チェック機能６ｂはステップＳ２において前記主記憶装置１に取り込まれた前記構造図１２及び前記振る舞い図１３の内容から制御プログラムの基本構造を解釈した上で、前記構造図１２及び前記振る舞い図１３の内容に関して整合性がとれているか否かについてのチェックが行われた後、ステップＳ４へと移行する。
このステップＳ４では、前記入力データ整合性チェック機能６ｂにより、ステップＳ３におけるチェックの結果に対し、前記構造図１２及び前記振る舞い図１３の内容に関して整合性がとれているか否かについて、すなわち入力データに異常があるか否かについて判定がなされる。この判定において、前記構造図１２及び前記振る舞い図１３の内容に関して整合性がとれていない、すなわち入力データに異常があると判定された場合には、ステップＳ５へと移行して前記ディスプレイ５にその旨のエラー出力を表示した後、ステップＳ６に至り一連の動作フローを終了する。
一方、ステップＳ４の判定において、ステップＳ３でのチェックの結果、前記構造図１２及び前記振る舞い図１３の内容に関して整合性がとれている、すなわち入力データに異常がなく正常であると判定された場合には、ステップＳ７へと移行する。
【００１６】
このステップＳ７では、前記標準部品結合機能６ｃにより標準部品結合処理が実行され、前記構造図１２及び前記振る舞い図１３に基づいて前記二次記憶装置２に格納された前記標準部品８のうち当該制御プログラムに必要なものが前記主記憶装置１へと取り込まれる。
続くステップＳ８では、前記プロジェクト固有部品結合機能６ｄによりプロジェクト固有部品結合処理が実行され、前記構造図１２及び前記振る舞い図１３に基づいて前記二次記憶装置２に格納された前記プロジェクト固有部品９のうち当該制御プログラムに必要なものが前記主記憶装置１へと取り込まれる。
そして、ステップＳ９へと進んで、前記ソースコード自動作成機能６ｅにより、ステップＳ７での標準部品結合処理及びステップＳ８でのプロジェクト固有結合処理の結果に基づいて、前記主記憶装置１に取り込まれた標準部品及びプロジェクト固有部品から当該制御プログラムの完成形ソースコードを生成して、前記二次記憶装置２に前記自動作成ソースコード１０として出力、格納した後、ステップＳ１０に至り一連の動作フローを終了する。
ここで、ステップＳ９において出力される前記自動作成ソースコード１０は、図５に示すごとく、例えば制御対象が鉄鋼プラントである場合の制御において、トラッキング等のトリガーにより発生する各イベントに応ずるそれぞれのタスクに対するソースコードに分割された状態で出力され、前記二次記憶装置２へと格納される。
【００１７】
一方、ステップＳ１の判定において、ユーザにより前記入力機器４を通じてなされた自動作成指示が試験方案自動作成指示であると判定された場合には、ステップＳ１１へと移行して、前記入力処理機能６ａにおいて試験方案作成用入力処理が実行されて、予めユーザが前記入力機器４を通じて入力した前記機能仕様情報７（前記構造図１２及び前記振る舞い図１３）が前記二次記憶装置２から前記主記憶装置１へと取り込まれる。
そして、ステップＳ１２へと進んで、前記入力データ整合性チェック機能６ｂによりステップＳ１１において前記主記憶装置１に取り込まれた前記構造図１２及び前記振る舞い図１３の内容から制御プログラムの基本構造を解釈した上で、前記構造図１２及び前記振る舞い図１３の内容に関して整合性がとれているか否かについてのチェックが行われた後、ステップＳ１３へと移行する。
【００１８】
このステップＳ１３では、前記入力データ整合性チェック機能６ｂにより、ステップＳ１２におけるチェックの結果に対し、前記構造図１２及び前記振る舞い図１３の内容に関して整合性がとれているか否かについて、すなわち入力データに異常があるか否かについて判定がなされる。この判定において、前記構造図１２及び前記振る舞い図１３の内容に関して整合性がとれていない、すなわち入力データに異常があると判定された場合には、ステップＳ５へと移行して前記ディスプレイ５にその旨のエラー出力を表示した後、ステップＳ６に至り一連の動作フローを終了する。
一方、ステップＳ１３の判定において、ステップＳ１２でのチェックの結果、前記構造図１２及び前記振る舞い図１３の内容に関して整合性がとれている、すなわち入力データに異常がなく正常であると判定された場合には、ステップＳ１４へと移行する。
【００１９】
このステップＳ１４では、前記試験方案自動作成機能６ｆにより、前記構造図１２及び前記振る舞い図１３に基づいて、機能仕様として定義された各イベント毎の状態及び処理分岐条件に対する試験ケースが作り出される。
そして、状態や条件分岐処理の名前を取り込んで試験項目名作成するとともに、処理分岐条件内容の文書を取り込んで試験内容を作成して、前記自動作成ソースコード１０が機能仕様を満足しているか否かを試験するための試験方案を生成し、前記二次記憶装置２に前記自動作成試験方案１１として出力、格納した後、ステップＳ１５に至り一連の動作フローを終了する。
ここで、ステップＳ１４において出力される前記自動作成試験方案１１は、例えば制御対象が鉄鋼プラントである場合の制御において、トラッキング等のトリガーにより発生する各イベントに応ずるそれぞれのタスクに対するソースコードに分割された状態で出力、格納された前記自動作成ソースコード１０のそれぞれに対応した状態で分割されて出力され、前記二次記憶装置２へと格納される。
【００２０】
以上のように構成された制御プログラム及び試験方案自動作成装置においては、ＵＭＬにより記述した構造図及び振る舞い図からなる機能仕様情報の入力を受けて、この機能仕様情報に基づいて制御プログラムを自動作成するとともに、機能仕様情報に基づいて、機能仕様として定義された各イベント毎の状態及び処理分岐条件に対する試験ケースを抽出して試験方案を自動作成することにより、自動生成された制御プログラムが実際に要求された機能仕様を満足しているか否かを試験するための試験方案を自動的に作成することができ、システム開発の効率化を図ることが可能であるとともに、内容面においては機能仕様の全てが網羅され、かつ、複数の異なるプロジェクト間においても記述方式といった形式的な面において統一がなされた制御プログラム及び試験方案を得ることが可能である。
そして、ユーザはキーボード等の入力機器を通じて、制御プログラムのソースコードの自動作成を行うのか、又は、試験方案の自動作成を行うのかの指示を制御プログラム及び試験方案自動作成装置に与えることにより、制御プログラムのソースコードのみ又は試験方案のみを自動作成することも可能である。
また、自動作成される制御プログラムのソースコード及び試験方案は、例えば制御対象が鉄鋼プラントである場合の制御において、機能仕様情報に記載された機能の集まりをトラッキング等のトリガーにより発生する各イベントに応ずるそれぞれのタスクに分割し、分散並列化されて独立動作する一連のタスクのそれぞれに対応する状態で作成されるため、大規模なシステムに対しても容易かつ適切に対応することが可能である。
【図面の簡単な説明】
【００２１】
【図１】この発明の実施の形態１における制御プログラム及び試験方案自動作成装置の全体構成概略を示すブロック図である。
【図２】この発明の実施の形態１における二次記憶装置に格納された機能仕様情報の構成を示す説明図である。
【図３】この発明の実施の形態１における主記憶装置に格納された情報解析処理部の構成を示すブロック図である。
【図４】この発明の実施の形態１における制御プログラム及び試験方案自動作成装置の動作を示すフロー図である。
【図５】この発明の実施の形態１における制御プログラム及び試験方案自動作成装置を用いて鉄鋼プラントにおけるトラッキング制御プログラムの完成形ソースコード及び試験方案を作成する処理の流れの具体例を示す説明図である。
【符号の説明】
【００２２】
１    主記憶装置
２    二次記憶装置
３    ＣＰＵ
４    入力機器
５    ディスプレイ
６    情報解析処理部
６ａ  入力処理機能
６ｂ  入力データ整合性チェック機能
６ｃ  標準部品結合機能
６ｄ  プロジェクト固有部品結合機能
６ｅ  ソースコード自動作成機能
６ｆ  試験方案自動作成機能
７    機能仕様情報
８    標準部品
９    プロジェクト固有部品
１０    自動作成ソースコード
１１    自動作成試験方案
１２    構造図
１２ａ  クラス図
１２ｂ  オブジェクト図
１２ｃ  コンポーネント図
１３    振る舞い図
１３ａ  シーケンス図
１３ｂ  アクティビティ図
１３ｃ  ステートマシン図
【図１】
2009289162.tif 000003
【図２】
2009289162.tif 000004
【図３】
2009289162.tif 000005
【図４】
2009289162.tif 000006
【図５】
2009289162.tif 000007