(57)【特許請求の範囲】
【請求項１】
機器またはデバイスを監視制御する監視制御アプリケーションまたは監視制御システムの振舞いを規定する入力項目について、当該入力項目のデータ入力仕様を設計する設計編集装置であって、
前記監視制御アプリケーションまたは前記監視制御システムが読み込むためのデータを作成するツールを構成する前記入力項目が定義された第１仕様と、前記入力項目の入力可否、入力誘導及びデータ入力候補に関する所定データが定義された第２仕様とを管理する仕様管理部と、
前記仕様管理部で管理されている前記第１及び第２仕様を読み書きする定義読み書き部と、
前記定義読み書き部で読み込んだ前記第１及び第２仕様に基づいて、前記ツールが作成された場合に実現可能な挙動を示す挙動情報と、当該挙動を実現するのに不足する前記第２仕様の候補を示す仕様不足情報とを生成する定義解析部と、
前記定義解析部が生成した前記挙動情報により特定される前記ツールの前記入力項目の入力可否、入力誘導、データ入力候補と、前記定義解析部が生成した前記仕様不足情報により特定される前記候補とを表示する表示部と
を備え、
前記定義解析部は、
前記第２仕様に対して修正が行われた場合に、当該修正に応じて前記挙動情報及び前記仕様不足情報を更新する、設計編集装置。
【請求項２】
請求項１に記載の設計編集装置であって、
前記定義解析部は、
前記第１仕様で定義されている複数の前記入力項目から一の前記入力項目が除かれた場合に、当該一の入力項目を除いて、前記挙動情報及び前記仕様不足情報を更新する、設計編集装置。
【請求項３】
請求項１に記載の設計編集装置であって、
前記第１仕様にて前記入力項目が定義されていない場合には、前記第２仕様にて定義されている前記所定データに基づいて当該入力項目を定義する、設計編集装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載の前記仕様管理部、前記定義読み書き部、前記定義解析部及び前記表示部の機能をコンピュータが実行するための、設計編集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器またはデバイスを監視制御する監視制御アプリケーションまたは監視制御システムの振舞いを規定する入力項目について、当該入力項目のデータ入力仕様を設計する設計編集装置、及び、そのプログラムに関するものである。
【背景技術】
【０００２】
プラントの機器、河川の流量計、ビルの空調機や照明などのような複数のデバイスまたは機器を監視制御するために、監視制御アプリケーションまたは監視制御システムが用いられている。これらのアプリケーションまたはシステムを効率的に開発するために、汎用的な監視制御プログラムとツールとが整備されている。監視制御アプリケーションまたは監視制御システムが、複数のツールによって作成されたデータを起動時に読み込むことで、所望の監視制御がこれらアプリケーションまたはシステムによって実現されている。
【０００３】
さて、上述のツールは、特に、仕様書と、監視制御アプリケーションまたは監視制御システムが読み込むためのデータとを作成するために用いられる。具体的には、監視制御アプリケーションまたは監視制御システムの振舞い（プログラムの振舞い）を規定する入力項目について、当該入力項目へのデータ入力を支援すべくツールが用いられる。ただし、入力項目の構成や、入力項目に入力可能なデータの仕様は固定化されており、該当ツールの上流または下流に位置づけられる他のツールとの間のデータ連携や、ツール内部のデータチェック及びデータ変換は、固定化された入力項目の仕様に基づき作成されたプログラムにより実現されている。
【０００４】
ところが、監視制御アプリケーションや監視制御システムの要求仕様の多様化に伴い、アプリケーションごとに入力項目の追加や仕様の変更などが発生したり、出力に関する仕様書の構成や設計する手順の変更などが発生したりしている。これらの仕様変更が適切に反映されたかについては、実際にツールを生成し、サンプルデータの入力やプログラムの実行により確認を行っているが、これらの作業は手間がかかるものとなっている。そこで、このような問題を解決するための技術が様々に提案されている。
【０００５】
例えば、特許文献１では、設計者がプラントを構成する機器の仕様を意識せずに設計可能な技術が開示されている。具体的には、予めデータベースに登録されているプラントを構成する故障情報や機器の操作情報を含む機器情報（例えば、機器自身の名称、機器の状態変化、故障時、操作時の表示名称など）から、監視制御装置で使用される信号項目表に情報を自動転記することが開示されている。また、操作情報や機器情報に定義されている属性を減らした場合であっても、変換・展開ルールを変更することなく信号項目表を自動生成することが開示されている。
【０００６】
特許文献２では、設計者がプラントを構成する機器の仕様を意識せずに設計可能な技術が開示されている。具体的には、表形式から成る設計書の入力項目構成を固定せず、ユーザが入力した入力項目、または、推論などから関連するであろうと考えられる入力項目群を標準設定として予め登録したデータベースから抽出し、設計書を自動生成することが開示されている。
【０００７】
特許文献３では、多数の要素の組合せにより柔軟性にとんだ設計支援プログラムを生成する技術が記載されている。具体的には、入力データの入力に応じてプラント設計に必要な技術情報を出力データとして出力する表形式データ並びに関数型サブルーチンから構成される設計支援プログラムを、入力データの固有番号と出力データの固有番号との関係から検索・生成することが開示されている。
【０００８】
特許文献４では、設計する内容や設計方法を統一化する技術が開示されている。具体的には、ユーザの製品操作に関する知識の保有情報などを定義したユーザ定義支援部（製品、電気、システム、気象、法規等の習熟度など）、製品の構成要素を定義した製品定義支援部（設計範囲、規模、仕様など）、製品が備えるべき機能を定義したシステム定義部（監視機能、制御機能、運転支援機能など）を事前に設けておき、システム設計、画面設計、プロトタイプ製作を順次実行するように誘導するタスクを活用しながら設計を進めていくことが開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１８０６６９号公報
【特許文献２】特開平５−２５７９３３号公報
【特許文献３】特開２００４−２８０７１４号公報
【特許文献４】特開２００２−１８９７７０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１で開示された技術では、故障情報や機器情報の入力項目を新たに追加または変更する度に、信号項目表や展開・変換ルールの拡張が必要となる。また、入力項目の仕様が適切にルールや信号項目表に反映されたかについては、実際にサンプルデータを入力し、実行してみないと確認できない。また、展開・変換ルールで対応できない場合は、対話形式により設計者に対してデータ入力の支援を行うが、どのような方法で提供するのかが明記されていない。そのため、データ入力支援を行わない場合は、設計者が適切にデータ入力したのかをチェックするためのプログラム開発が別途必要となるという問題がある。
【００１１】
また、特許文献２に開示された技術では、入力項目の新たな追加または変更が発生するたびに、標準設定に格納されている入力関連の見直しが必要となる。また、推論などの手段を用いても必ずしも要求にマッチした入力項目が検出されるとは限らない。また、追加または変更された入力項目の仕様が適切に反映されたかどうかについては、実際に動作させないと確認することができないという問題がある。
【００１２】
また、特許文献３に開示された技術では、標準仕様のような仕様が頻繁に追加されたり、変更されたりしない場合には有効な手段である。しかし、頻繁に仕様が変わる場合には、関数型サブルーチンの追加、変更が発生するとともに、その仕様が適切に反映されたかどうかについては、実際に動作させないと確認することができないという問題がある。
【００１３】
また、特許文献４に開示された技術では、支援部の仕様の変更については考慮されていない。そのため、支援部の入力項目を新たに追加または変更しようとする度に、設計作業やタスクなどの再設計が必要となる。また、適切に再度設計できたかどうかについては、実際に動作させないと確認できないという問題がある。
【００１４】
以上のように、従来の技術では、入力項目を新たに追加または変更する度に、実際に動作させて確認しなければならないという問題があった。
【００１５】
そこで、本発明は、上記のような問題点を鑑みてなされたものであり、ツールの作成及び動作確認を実際に行わなくても、それと同様の確認を行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係る設計編集装置は、機器またはデバイスを監視制御する監視制御アプリケーションまたは監視制御システムの振舞いを規定する入力項目について、当該入力項目のデータ入力仕様を設計する設計編集装置である。前記設計編集装置は、前記監視制御アプリケーションまたは前記監視制御システムが読み込むためのデータを作成するツールを構成する前記入力項目が定義された第１仕様と、前記入力項目の入力可否、入力誘導及びデータ入力候補に関する所定データが定義された第２仕様とを管理する仕様管理部と、前記仕様管理部で管理されている前記第１及び第２仕様を読み書きする定義読み書き部とを備える。また、前記設計編集装置は、前記定義読み書き部で読み込んだ前記第１及び第２仕様に基づいて、前記ツールが作成された場合に実現可能な挙動を示す挙動情報と、当該挙動を実現するのに不足する前記第２仕様の候補を示す仕様不足情報とを生成する定義解析部と、前記定義解析部が生成した前記挙動情報により特定される前記ツールの前記入力項目の入力可否、入力誘導、データ入力候補と、前記定義解析部が生成した前記仕様不足情報により特定される前記候補とを表示する表示部とを備える。前記定義解析部は、前記第２仕様に対して修正が行われた場合に、当該修正に応じて前記挙動情報及び前記仕様不足情報を更新する。
【発明の効果】
【００１７】
本発明によれば、第１仕様と、第２仕様とに基づいて、ツールが作成された場合に実現可能な挙動を示す挙動情報と、当該挙動を実現するのに不足する仕様候補を示す仕様不足情報とを生成する。したがって、ユーザが、第２仕様を変更した場合に、ツールの作成及び動作確認を実際に行わなくても、実際に作成したツールと同等の挙動と、ツールの特性上想定される設計ミスや仕様不足とをプレビューにより知ることができる。また、仕様に対する修正に応じて挙動情報及び仕様不足情報を更新することから、ユーザは、修正内容が反映された挙動及び仕様不足をプレビューにより知ることができる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態１に係る設計編集装置のハードウェア構成を示すブロック図である。
【図２】実施の形態１に係る設計編集装置及び設計編集プログラムで実現される機能を示すブロック図である。
【図３】データ入力仕様の一例を示す図である。
【図４】データ入力仕様の一例を示す図である。
【図５】データ入力仕様の一例を示す図である。
【図６】データ入力仕様の一例を示す図である。
【図７】入力項目仕様の一例を示す図である。
【図８】入力項目仕様の一例を示す図である。
【図９】入力項目仕様の一例を示す図である。
【図１０】入力項目仕様の一例を示す図である。
【図１１】入力項目仕様の一例を示す図である。
【図１２】構成仕様の一例を示す図である。
【図１３】入力可否、入力誘導、データ入力候補、不足候補の表示を示す図である。
【図１４】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図１５】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図１６】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図１７】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図１８】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図１９】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図２０】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図２１】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図２２】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図２３】実施の形態１に係る設計編集装置の処理を示す動作シーケンスの図である。
【図２４】実施の形態２に係る設計編集装置の処理を示す動作シーケンスの図である。
【図２５】実施の形態３に係る設計編集装置の処理を示す動作シーケンスの図である。
【図２６】実施の形態４に係る設計編集装置の処理を示す動作シーケンスの図である。
【図２７】実施の形態５に係る設計編集装置の処理を示す動作シーケンスの図である。
【発明を実施するための形態】
【００１９】
＜実施の形態１＞
図１は、本発明の実施の形態１に係る設計編集装置のハードウェア構成を示すブロック図である。本実施の形態に係る設計編集装置１の各種機能は、コンピュータと、コンピュータ上で動作するプログラム（例えば、表計算ソフト、Ｗｅｂブラウザ、スタンドアローンアプリケーションなど）が協働することによって実現されている。
【００２０】
図１に示されるように、設計編集装置１は、ＣＰＵ（Central Processing Unit）１０と、ＲＯＭ（Read Only Memory）１１と、ＲＡＭ（Random Access Memory）１２と、記憶装置１３と、入力インタフェース１４と、入力装置１５と、出力インタフェース１６と、出力装置１７と、ネットワーク接続インタフェース１８と、ネットワーク接続装置１９と、バス２０とを備えている。
【００２１】
データバスであるバス２０は、ＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２及び記憶装置１３と電気的に接続されている。また、このバス２０は、入力インタフェース１４を介して入力装置１５と、出力インタフェース１６を介して出力装置１７と、ネットワーク接続インタフェース１８を介してネットワーク接続装置１９と電気的に接続されている。したがって、複数のハードウェア（ＣＰＵ１０〜ネットワーク接続装置１９）は、バス２０を介して情報の送受信を行うことが可能となっている。
【００２２】
次に、設計編集装置１の各構成要素について詳細に説明する。
【００２３】
ＲＯＭ１１には、ブートプログラム等の制御プログラムが記憶されている。記憶装置１３は、例えばＨＤＤ（Hard Disk Drive）から構成されており、そこには、ＯＳ、設計編集プログラム及び各種情報が記憶されている。ＲＡＭ１２には、ＣＰＵ１０が記憶装置１３から読み出したデータがキャッシュデータ等として一時的に記憶される。
【００２４】
設計編集装置１は、その利用者、管理者または運用者からの起動操作を受け付けると、監視制御装置を起動するためのブートプログラム、ＯＳ（Operating System）を読み出して実行する。具体的には、ＣＰＵ１０は、ＲＯＭ１１に記憶されている制御プログラムを読み込んで実行することにより、ＲＯＭ１１、ＲＡＭ１２、記憶装置１３、入力インタフェース１４及び出力インタフェース１６などのハードウェアを統括的に制御する。そして、ＣＰＵ１０は、記憶装置１３に記憶されているＯＳ，設計編集プログラムを読み出して実行する。以上の動作が行われた後、設計編集装置１において、機器またはデバイスを監視制御する監視制御アプリケーションまたは監視制御システムの振舞いを規定する入力項目について、当該入力項目のデータ入力仕様を設計することが可能となる。
【００２５】
入力装置１５は、キーボード及びマウス等の外部からの操作が入力される装置である。本実施の形態では、入力装置１５は、利用者等からの操作を受け付けると、当該操作に対応する指令を、入力インタフェース１４及びバス２０を介してＣＰＵ１０に出力する。
【００２６】
出力装置１７は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶表示ディスプレイ等の外部に情報を出力（表示）する装置である。本実施の形態では、出力装置１７は、ＣＰＵ１０からの情報をバス２０及び出力インタフェース１６を介して受け付けると、当該情報を表示する。
【００２７】
ネットワーク接続装置１９は、イーサネット（登録商標）カード、シリアルポート等の、外部コンピュータや外部デバイスと接続する接続装置であり、外部コンピュータ等と情報を送受信する。本実施の形態では、ネットワーク接続装置１９は、ＣＰＵ１０からの情報及び指令をバス２０及びネットワーク接続インタフェース１８を介して受け付けると、当該情報及び指令を外部コンピュータ等に送信する。一方、ネットワーク接続装置１９は、外部コンピュータ等からの情報を受信すると、当該情報を、ネットワーク接続インタフェース１８及びバス２０を介してＣＰＵ１０に出力する。
【００２８】
図２は、図１に示されるＣＰＵ１０が主に記憶装置１３に記憶されている設計編集プログラムを読み込んで実行することにより実現される、設計編集装置１上の機能を示すブロック図である。同図に示すように、設計編集装置１は、様々な仕様を管理する仕様管理部２と、仕様管理部２の仕様を読み書きする定義読み書き部３と、定義解析部４と、表示部（入力可否判定表示部５、入力誘導表示部６、データ入力候補表示部７、及び、仕様不足表示部８）とを備える。
【００２９】
つまり、本実施の形態に係る設計編集プログラムは、設計編集装置１（コンピュータ）が、仕様管理部２、定義読み書き部３、定義解析部４、及び、上述の表示部の機能を実行するためのプログラムである。なお、仕様管理部２は記憶装置１３によって実現され、設計編集プログラムとして動作するのは定義読み書き部３、定義解析部４、表示部（入力可否判定表示部５、入力誘導表示部６、データ入力候補表示部７及び仕様不足表示部８）である。
【００３０】
さて、本実施の形態では、監視制御アプリケーションまたは監視制御システムの振舞い（プログラムの振舞い）は、入力項目によって規定されているものとする。また、これら監視制御アプリケーションまたは監視制御システムが読み込むためのデータなどはツールによって作成されるが、このツールも入力項目によって構成されているものとする。
【００３１】
仕様管理部２は、ツールを構成する入力項目が定義された構成仕様Ｄ２２（第１仕様）を管理している。構成仕様Ｄ２２については、後で図１２を用いて詳細に説明する。また、仕様管理部２は、入力項目の入力可否、入力誘導及びデータ入力候補に関する定義データ（所定データ）が定義された全データ入力仕様Ｄ２０及び入力項目仕様Ｄ２１（第２仕様）を管理している。定義データ（識別子、条件式及び支援値など）と、全データ入力仕様Ｄ２０及び入力項目仕様Ｄ２１とについては、後で図３〜図１１を用いて詳細に説明する。
【００３２】
ハードウェアとの関係について簡単に説明すると、仕様管理部２に対応する記憶装置１３は、全データ入力仕様Ｄ２０、入力項目仕様Ｄ２１及び構成仕様Ｄ２２を管理している。そして、ユーザからの入力を入力装置１５にて受け付けた場合には、ＣＰＵ１０が記憶装置１３で記憶されている仕様に基づいて演算を行い、当該演算結果が、ユーザが所望の情報として出力装置１７にて表示される。
【００３３】
次に、全データ入力仕様Ｄ２０、入力項目仕様Ｄ２１及び構成仕様Ｄ２２の詳細について順に説明する。
【００３４】
図３〜図６は、全データ入力仕様Ｄ２０の一例を示す図である。この全データ入力仕様Ｄ２０には、入力項目の入力可否、入力優先、データ入力候補に対して、所定の種機能を有するデータ入力仕様（無効入力支援〜編集不可入力支援、…）が関連付けられている。図３に示すように、ここでの全データ入力仕様Ｄ２０は、識別子Ｃ２０１、名称Ｃ２０２、入力可否優先順位Ｃ２０３、入力誘導優先順位Ｃ２０４、及び、データ入力候補優先順位Ｃ２０５から構成されている。
【００３５】
識別子Ｃ２０１は、データ入力仕様を一意に識別するためのものである。名称Ｃ２０２は、データ入力仕様の名称を定義するものである。
【００３６】
入力可否優先順位Ｃ２０３は、データ入力仕様が入力可否に関連するか否かを示すものであり、図３に示す例では、「無効入力支援」が入力可否に関連するデータ入力仕様であると定義されている。なお、入力可否優先順位Ｃ２０３の数字は、入力可否に関連するデータ入力仕様のうち優先的に処理される順番を示している。
【００３７】
入力誘導優先順位Ｃ２０４は、データ入力仕様が入力誘導に関連するか否かを示すものであり、図３に示す例では、「必須入力支援」、「自動入力支援」、「一意検定支援」、「編集不可入力支援」が入力誘導に関連するデータ入力仕様であると定義されている。なお、入力誘導優先順位Ｃ２０４の数字は、入力誘導に関連するデータ入力仕様のうち優先的に処理される順番を示している。
【００３８】
データ入力候補優先順位Ｃ２０５は、データ入力仕様がデータ入力候補に関連するか否かを示すものであり、図３に示す例では、「リストボックス入力支援」、「入力範囲検定支援」、「文字列長検定支援」がデータ入力候補に関連するデータ入力仕様であると定義されている。なお、データ入力候補優先順位Ｃ２０５の数字は、データ入力候補に関連するデータ入力仕様のうち優先的に処理される順番を示している。
【００３９】
以上の入力可否優先順位Ｃ２０３〜データ入力候補優先順位Ｃ２０５に関連付けられたデータ入力仕様（無効入力支援〜編集不可入力支援、…）は、それぞれ固有の機能を有している。本実施の形態では、無効入力支援は、データ入力状態に応じて入力項目に入力できない状態に変更する機能を有している。必須入力支援は、データ入力状態に応じて入力項目に必ずデータが入力される状態でなければならないことを促す機能を有している。自動入力支援は、データ入力状態に応じて入力項目にあるデータを自動入力する機能を有している。一意検定支援は、入力されたデータが一意であることをチェックする機能を有している。
【００４０】
リストボックス入力支援は、データ入力状態に応じてある選択候補の中から入力すべきデータを選択する機能を有している。入力範囲検定支援は、データ入力状態に応じて入力された数字データが予め定められた範囲内であることをチェックする機能を有している。文字列長検定支援は、データ入力状態に応じて入力された文字列が予め定められた長さ以下であることをチェックする機能を有している。編集不可入力支援は、データ入力状態に応じて入力されたデータを編集することができない状態に変更する機能を有している。
【００４１】
なお、全データ入力仕様Ｄ２０においては、上述以外のデータ入力仕様を定義してもよい。また、入力可否優先順位Ｃ２０３、入力誘導優先順位Ｃ２０４、データ入力候補優先順位Ｃ２０５における優先順位は、全データ入力仕様Ｄ２０とは別に管理してもよい。
【００４２】
図４は、入力可否優先順位Ｃ２０３に設定されたデータ入力仕様に対して、別のデータ入力仕様の入力が必須か否か（つまり別のデータ入力仕様の定義が必要か）を、二次元の表形式で規定したものである。図５及び図６は、同様に、入力誘導優先順位Ｃ２０４及びデータ入力候補優先順位Ｃ２０５に対して、別のデータ入力仕様の定義が必要かをそれぞれ規定したものである。
【００４３】
図４〜図６において、「○」（ここでは図示されていない）は両方定義が必要、「△」はいずれかの定義が必要、「×」は定義不要であることを表している。例えば、図５に示される自動入力支援については、自動入力支援及び必須入力支援が定義されるか、または自動入力支援及び編集不可入力支援が定義される必要があるということが規定されている。なお、ここでは、二次元の表形式で規定する例について説明したが、規定する形式はこれに限ったものではない。
【００４４】
次に、入力項目仕様Ｄ２１について説明する。図７〜図１０は、入力項目仕様Ｄ２１の一例を示す図である。この入力項目仕様Ｄ２１には、全データ入力仕様Ｄ２０に規定されたデータ入力仕様（無効入力支援等）の定義データ（識別子、条件式及び支援値など）が定義されている。本実施の形態に係る入力項目仕様Ｄ２１は、図７〜図１０に示すように、識別子Ｃ２１０、名称Ｃ２１１、条件式Ｃ２１２、支援値Ｃ２１３、ガイダンスＣ２１４、確認Ｃ２１５、及び、参考Ｃ２１６から構成されている。
【００４５】
識別子Ｃ２１０は、入力項目を一意に識別するための識別子であり、例えば、任意の数字、文字列、ＵＲＩ（Uniform Resource Identifier）などの形式で表示される。ただし、その表示形式はこれらに限ったものではない。ここでは、識別子Ｃ２１０は、「ツールを一意に識別する識別子Ｃ２２０（図１２に示される構成仕様Ｄ２２で定義される識別子）」「．」「名称Ｃ２１１」という形式で表示するＵＲＩ形式を採用している。
【００４６】
条件式Ｃ２１２には、それ以降の各データ入力仕様において入力が可能になる条件が設定（定義）される。支援値Ｃ２１３には、条件式Ｃ２１２の条件が満たされたときにデータ入力を支援する候補値や範囲などが設定（定義）される。ガイダンスＣ２１４には、データ入力をするユーザに対するガイド内容が設定（定義）される。
【００４７】
確認Ｃ２１５は、仕様通りであるということをユーザが確認した場合に、”○”がユーザによって入力される欄である。参考Ｃ２１６は、当該確認をしたことの根拠となる参考文章などへのポインタ（例えばＵＲＬ、文書パスなど）が入力される欄である。
【００４８】
なお、図７〜図１０に示されているように、定義データのうち、識別子Ｃ２１０及び名称Ｃ２１１は、複数種類のデータ入力仕様（無効入力支援、必須入力支援、…）に共通に定義され、条件式Ｃ２１２〜参考Ｃ２１６は、各データ入力仕様（無効入力支援、必須入力支援、…）に個別に定義されている。そこで、以下においては適宜、無効入力支援、必須入力支援、自動入力支援、一意検定支援、リストボックス支援、入力範囲検定支援、文字列長検定支援、編集不可入力支援に関する条件式Ｃ２１２〜参考Ｃ２１６を、それぞれ条件式Ｃ２１２（ａ）〜参考Ｃ２１６（ａ）、条件式Ｃ２１２（ｂ）〜参考Ｃ２１６（ｂ）、…、条件式Ｃ２１２（ｈ）〜参考Ｃ２１６（ｈ）と記載する。なお、ここでは、確認Ｃ２１５及び参考Ｃ２１６は個別で定義されるとしているが、複数種類のデータ入力仕様（無効入力支援、必須入力支援、…）に共通に定義されるものであってもよい。
【００４９】
次に、図１１を用いて、データ入力仕様ごとに、ガイダンスＣ２１４以外の定義データを詳細に説明する。
【００５０】
図１１（ａ）は、無効入力支援（データ入力状態に応じて入力項目に入力できない状態に変更するデータ入力仕様）の定義の一例を示す図である。この図１１（ａ）に示す条件式Ｃ２１２（ａ）は、「アナログ．入力フラグ」の入力項目に“１”が入力された場合に、入力項目に入力できない状態（無効）となることを表している。支援値Ｃ２１３（ａ）は、そこに“○”がある場合には条件式Ｃ２１２（ａ）が満たされると無効にすることを表し、空の場合には有効にすることを表している。なお、条件式Ｃ２１２（ａ）が空で、かつ、支援値Ｃ２１３（ａ）が“○”の場合は、無条件で無効となることを表す。
【００５１】
図１１（ｂ）は、必須入力支援（データ入力状態に応じて入力項目に必ずデータが入力される状態でなければならないことを促すデータ入力仕様）の定義の一例を示す図である。この図１１（ｂ）に示す条件式Ｃ２１２（ｂ）は、「アナログ．入力フラグ」の入力項目に“１”が入力された場合に、入力項目に必ずデータが入力されなければならない状態となることを表している。支援値Ｃ２１３（ｂ）は、そこに“○”がある場合には条件式Ｃ２１２（ｂ）が満たされると必須であることを表し、空の場合には必須でないことを表している。なお、条件式Ｃ２１２（ｂ）が空で、かつ、支援値Ｃ２１３（ｂ）が“○”の場合は、無条件で必須となることを表す。
【００５２】
図１１（ｃ）は、自動入力支援（データ入力状態に応じて入力項目にあるデータを自動入力するデータ入力仕様）の定義の一例を示す図である。この図１１（ｃ）に示す条件式Ｃ２１２（ｃ）は、「アナログ．入力フラグ」の入力項目に“１”が入力された場合に、データの自動入力を有効にする状態となることを表している。支援値Ｃ２１３（ｃ）は、条件式Ｃ２１２（ｃ）が有効になった場合にどのようなデータを自動入力するかを表しており、図１１（ｃ）に示す例では“１”を自動挿入することを表している。なお、条件式Ｃ２１２（ｃ）が空で、かつ、支援値Ｃ２１３（ｃ）が“１”の場合は、無条件で“１”を自動入力することを表す。
【００５３】
図１１（ｄ）は、一意検定支援（入力されたデータが一意であることをチェックするデータ入力仕様）の定義の一例を示す図である。一意検定支援の条件式Ｃ２１２（ｄ）は定義が不要であり、支援値Ｃ２１３（ｄ）に“○”がある場合には一意のデータが設定されることを表す。
【００５４】
図１１（ｅ）は、リストボックス入力支援（データ入力状態に応じてある選択候補の中から入力すべきデータを選択するデータ入力仕様）の定義の一例を示す図である。この図１１（ｅ）に示す条件式Ｃ２１２（ｅ）は、「アナログ．入力フラグ」の入力項目に“１”が入力された場合に、データ入力形式としてリストボックスを有効にする状態となることを表している。支援値Ｃ２１３（ｅ）は、リストボックスの選択候補を表しており、図１１（ｅ）に示す例では“０，１，２，３”のそれぞれのリストボックスを有効にすることを表している。なお、条件式Ｃ２１２（ｅ）が空で、支援値Ｃ２１３（ｅ）が“０，１，２，３”の場合は、無条件で“０，１，２，３”のそれぞれのリストボックスを有効にすることを表す。
【００５５】
図１１（ｆ）は、入力範囲検定支援（データ入力状態に応じて入力された数字データが予め定められた範囲内であることをチェックするデータ入力仕様）の定義の一例を示す図である。この図１１（ｆ）に示す条件式Ｃ２１２（ｆ）は、「アナログ．入力フラグ」の入力項目に“１”が入力された場合に、範囲チェックを有効にする状態となることを表している。支援値Ｃ２１３（ｆ）は、チェック範囲をコンマ形式で表しており、図１１（ｆ）に示す例では“０，６３”つまりチェック対象が０以上６３以下であるかについてチェックすることを表している。なお、条件式Ｃ２１２（ｆ）が空で、かつ、支援値Ｃ２１３（ｆ）が“０，６３”の場合は、無条件でチェック対象が０以上６３以下であるかをチェックすることを表す。
【００５６】
図１１（ｇ）は、文字列長検定支援（データ入力状態に応じて入力された文字列が予め定められた長さ以下であることをチェックするデータ入力仕様）の定義の一例を示す図である。この図１１（ｇ）に示す条件式Ｃ２１２（ｇ）は、「アナログ．入力フラグ」の入力項目に“１”が入力された場合に、文字列長チェックを有効にする状態となることを表している。支援値Ｃ２１３（ｇ）は、チェックに関する文字列長を表しており、図１１（ｇ）に示す例では“２０”つまりチェック対象の文字列長が２０以下であるかについてチェックすることを表している。なお、条件式Ｃ２１２（ｇ）が空で、かつ、支援値Ｃ２１３（ｇ）が“２０”の場合は、無条件でチェック対象の文字列長が２０以下であるかをチェックすることを表す。
【００５７】
図１１（ｈ）は、編集不可入力支援（データ入力状態に応じて入力されたデータを編集することができない状態に変更するデータ入力仕様）の定義の一例を示す図である。この図１１（ｈ）に示す条件式Ｃ２１２（ｈ）は、「アナログ．入力フラグ」の入力項目に“１”が入力された場合に、入力されたデータを編集できない状態となることを表している。支援値Ｃ２１３（ｈ）は、そこに“○”がある場合には条件式Ｃ２１２（ｈ）が満たされると編集不可にすることを表し、空の場合には編集可能にすることを表している。なお、条件式Ｃ２１２（ｈ）が空で、かつ、支援値Ｃ２１３（ｈ）が“○”の場合は、無条件で編集不可にすることを表す。
【００５８】
次に構成仕様Ｄ２２について説明する。図１２は、構成仕様Ｄ２２の一例を示す図である。この構成仕様Ｄ２２には、ツールを構成する複数の入力項目の組み合わせが定義されている。本実施の形態に係る構成仕様Ｄ２２は、ツールを一意に識別する識別子Ｃ２２０と、入力項目を一意に識別する識別子Ｃ２２１とから構成されている。図１２に示す例では、アナログに関する監視制御点を設計するツールの識別子Ｃ２２０には「アナログ」、そのツールを構成する入力項目の識別子Ｃ２２１には「アナログ．フラグ」や「アナログ．種別」などが対応付けられている。
【００５９】
図２に戻って、定義読み書き部３は、仕様管理部２に管理（格納）されている全データ入力仕様Ｄ２０、入力項目仕様Ｄ２１、構成仕様Ｄ２２の読み込み、書き込みを行う。
【００６０】
定義解析部４は、定義読み書き部３で読込んだ構成仕様Ｄ２２からツールを構成する入力項目（識別子Ｃ２２０）を取得する。また、定義解析部４は、定義読み書き部３で読込んだ全データ入力仕様Ｄ２０及び入力項目仕様Ｄ２１から、当該入力項目の入力可否、入力誘導、データ入力候補の定義データ（ここでは、入力可否、入力誘導、データ入力候補に関連付けられた無効入力支援などのデータ入力仕様の識別子Ｃ２１０、条件式Ｃ２１２及び支援値Ｃ２１３など）を取得する。
【００６１】
そして、定義解析部４は、取得した入力可否、入力誘導、データ入力候補に関する定義データ（識別子Ｃ２１０、条件式Ｃ２１２及び支援値Ｃ２１３など）を解析して、上述のツールが作成された場合に実現可能な挙動を示す挙動情報Ｍ４１を生成する。
【００６２】
例えば、図７〜図１０に示される「アナログ．チャネル」という入力項目（識別子Ｃ２１０）に着目した場合、自動入力支援、必須入力支援、編集不可入力支援、リストボックス入力支援の条件式Ｃ２１２（ｃ），Ｃ２１２（ｂ），Ｃ２１２（ｈ），Ｃ２１２（ｅ）において、「アナログ．入力タイプ」が設定されている。なお、「アナログ．入力タイプ」は、図１２に示される構成仕様Ｄ２２の「アナログ」というツールの識別子Ｃ２２０を構成する入力項目の一つとなっている。
【００６３】
この「アナログ．入力タイプ」が“３”である場合には、自動入力支援の機能により“ｃｈ４”が自動入力され、編集不可入力支援の機能により編集できなくなる。一方、「アナログ．入力タイプ」が“１”，“２”，“３”のいずれかである場合には、リストボックス入力支援の機能により“ｃｈ１，ｃｈ２，ｃｈ３”を選択可能なリストボックスを有効にする。このように、定義解析部４は、定義を解析し、その結果を挙動情報Ｍ４１としてＲＡＭ１２上に一時的に格納する。
【００６４】
また、定義解析部４は、入力可否、入力誘導、データ入力候補に関する定義データ（識別子Ｃ２１０、条件式Ｃ２１２及び支援値Ｃ２１３など）を解析して、上述の挙動を実現するのに不足する全データ入力仕様Ｄ２０及び入力項目仕様Ｄ２１の候補を示す仕様不足情報Ｍ４２も生成する。
【００６５】
例えば、図７〜図１０に示される「アナログ．下限値」という入力項目（識別子Ｃ２１０）に着目した場合、自動入力支援の条件式Ｃ２１２（ｃ）において、「アナログ．フラグ」が設定されている。
【００６６】
この「アナログ．フラグ」が“１”である場合には、自動入力支援の機能により初期値として“１”が自動入力される。しかしながら、全データ入力仕様Ｄ２０の入力誘導優先順位Ｃ２０４（図３）において自動入力支援の後に続く必須入力支援及び編集不可入力支援については定義がなされていないことから、ユーザにより“１”を消去可能にするのか否か、また、仮に消去された場合に必須にするのか否かという点について、仕様の曖昧さが残っている。この場合に、定義解析部４は、必須入力支援及び編集不可入力支援について定義をしなくてよいのかという問合せをユーザ（設計者）にするための情報を仕様不足情報Ｍ４２として生成する。このように、定義解析部４は、仕様の定義不足（定義エラー、仕様未定義を含む）を抽出し、その結果を仕様不足情報Ｍ４２としてＲＡＭ１２上に一時的に格納する。
【００６７】
図２に戻って、表示部（入力可否判定表示部５、入力誘導表示部６、データ入力候補表示部７、及び、仕様不足表示部８）は、定義解析部４が生成した挙動情報Ｍ４１により特定される、上述のツールの入力項目の入力可否、入力誘導、データ入力候補を表示する。また、この表示部は、定義解析部４が生成した仕様不足情報Ｍ４２により特定される、不足する仕様の候補（以下「不足候補」）を表示する。
【００６８】
図１３は、表示部（入力可否判定表示部５、入力誘導表示部６、データ入力候補表示部７、及び、仕様不足表示部８）が、ツリー状に入力可否等を表示する例を示す図である。なお、表示部における入力可否等の表示形式は、ツリー状に限ったものではなく、他の表示形式を採用してもよい。
【００６９】
ここで、入力可否判定表示部５は、ＲＡＭ１２上に一時的に格納されている挙動情報Ｍ４１から、入力可否（入力可否優先順位Ｃ２０３）に関する条件式Ｃ２１２などを取得し、どのような状態のときにデータが入力可能または入力不可であるかを識別可能に出力装置１７のＧＵＩ上に出力（表示）する。
【００７０】
入力誘導表示部６は、ＲＡＭ１２上に一時的に格納されている挙動情報Ｍ４１から、入力誘導（入力誘導優先順位Ｃ２０４）に関する条件式Ｃ２１２などを取得し、入力可能な状態下において、自動で入力されるのか、必須入力なのか、編集不可状態なのかなどを識別可能に出力装置１７のＧＵＩ上に出力（表示）する。図１３に示す例では、一意の入力項目に対応するノードには緑色（図１３において細かい点のハッチング）、必須の入力項目に対応するノードには黄色（図１３において斜めハッチング）、自動入力の入力項目に対応するノードにはオレンジ色（図１３において縦ハッチング）、編集不可の入力項目に対応するノードにはグレー色（図１３において無地のハッチング）が、入力誘導表示部６によって付与されており、この色の違いによって識別可能となっている。
【００７１】
データ入力候補表示部７は、ＲＡＭ１２上に一時的に格納されている挙動情報Ｍ４１から、データ入力候補（データ入力候補優先順位Ｃ２０５）に関する条件式Ｃ２１２などを取得し、ある入力項目の一状態を見たときに入力可能な範囲、文字列長、選択候補値などを出力装置１７のＧＵＩ上に出力（表示）する。図１３に示す例では、入力可能な範囲を示す吹き出しがデータ入力候補表示部７によって付与されている。
【００７２】
仕様不足表示部８は、ＲＡＭ１２上に一時的に格納されている仕様不足情報Ｍ４２から、不足候補を取得し、追加の定義が必要かについてユーザ（設計者）への問合せ（エラー）を、強調色を利用しつつ出力装置１７のＧＵＩ上に出力（表示）する。図１３に示す例では、エラーの入力項目に対応するノードには強調色の一つである赤色（図１３において横ハッチング）が仕様不足表示部８によって付与されており、この色の付与によりエラーをユーザに通知可能となっている。
【００７３】
以上のように構成された本実施の形態に係る設計編集装置１では、ユーザが定義読み書き部３を利用して、全データ入力仕様Ｄ２０及び入力項目仕様Ｄ２１に対して修正を行った場合に、定義解析部４が、当該修正に応じて挙動情報Ｍ４１及び仕様不足情報Ｍ４２を更新する。その結果、当該修正の内容が、上述の表示部の表示に反映されるものとなっている。
【００７４】
次に、本実施の形態に係る設計編集装置１（設計編集プログラム）の処理手順を図１４〜図２３を用いて説明する。
【００７５】
図１４は、定義読み書き部３が、全データ入力仕様Ｄ２０、入力項目仕様Ｄ２１及び構成仕様Ｄ２２を追加・変更・削除する動作シーケンスを示す図である。
【００７６】
まず、ステップＳ１にて、起動済みの設計編集装置１の仕様管理部２が起動される。ステップＳ２にて、定義読み書き部３は、全データ入力仕様Ｄ２０、入力項目仕様Ｄ２１、構成仕様Ｄ２２のうち追加・変更・削除しようとする仕様の選択、または、終了の選択を受け付ける。上述した３つの仕様いずれかの選択を受け付けた場合にはステップＳ３に進み、終了の選択（終了ボタンの押下げ）を受け付けた場合には、設計編集装置１（設計編集プログラム）が終了する。
【００７７】
なお、全データ入力仕様Ｄ２０、入力項目仕様Ｄ２１、構成仕様Ｄ２２に入力可能なデータ（属性、定義データ）は厳密には異なるが、追加、変更、削除、検索等の処理内容は同じである。そこで、ステップＳ３以降においては、適宜、ステップＳ２において入力項目仕様Ｄ２１の選択を受け付けた場合の処理を例にして説明する。
【００７８】
ステップＳ３にて、定義読み書き部３は、選択された仕様について、新規の仕様を作成するのか、既存の仕様定義を変更するのか、戻るのかについての選択を受け付ける。新規の仕様作成の選択を受け付けた場合にはステップＳ４に進み、既存の仕様変更の選択を受け付けた場合にはステップＳ７に進み、戻る選択を受け付けた場合にはステップＳ２に戻る。
【００７９】
ステップＳ４にて、仕様を構成する属性の欄を空欄で出力装置１７に表示し、当該空欄に対するユーザからのデータの入力を受け付ける。ここでは、ステップＳ２で入力項目仕様Ｄ２１が選択されていると仮定していることから、図７〜図１０に示される定義データ（識別子Ｃ２１０、名称Ｃ２１１、条件式Ｃ２１２、支援値Ｃ２１３等）に対する入力を受け付けることになる。
【００８０】
ステップＳ５にて、定義読み書き部３は、ステップＳ４で入力されたデータ（定義データ）を保存するための操作（例えばボタン等の押下げ）をユーザから受け付ける。そして、ステップＳ６にて、定義読み書き部３は、ステップＳ４で入力されたデータ（定義データ）を仕様管理部２（記憶装置１３）に記憶し、ステップＳ３に戻る。ただし、例えば、記憶しようとする識別子Ｃ２１０と等価な識別子Ｃ２１０が既に仕様管理部２（記憶装置１３）に記憶されている場合には、ユーザにエラーを通知する。
【００８１】
ステップＳ７にて、定義読み書き部３は、選択された仕様に関する、仕様管理部２（記憶装置１３）に格納されている全てのデータ（ここでは全ての定義データ）を、そこから取得する。当該取得したデータ（定義データ）の定義数が所定数を超える場合に、ステップＳ８にて、無効入力支援などのデータ入力仕様の中から表示または編集したい仕様を絞り込むための条件を受け付け、当該条件に該当するデータ入力仕様の一覧を出力装置１７に表示する。そして、表示されているデータ入力仕様の中から一つの仕様がクリックされた場合に、ステップＳ９にて当該仕様のデータ（定義テータ）を表示する。
【００８２】
ステップＳ１０にて、定義読み書き部３は、仕様を削除するのか、仕様を変更するのか、戻るのかについての選択を受け付ける。仕様削除の選択を受け付けた場合にはステップＳ１１に進み、仕様変更の選択を受け付けた場合にはステップＳ１２に進み、戻る選択を受け付けた場合にはステップＳ３に戻る。
【００８３】
ステップＳ１１にて、定義読み書き部３は、ユーザからの削除を決定する操作（削除ボタンの押下げ）を受け付けた場合には、表示しているデータ（ここでは定義データ）を仕様管理部２（記憶装置１３）から削除し、ステップＳ３に戻る。
【００８４】
ステップＳ１２にて、定義読み書き部３は、表示しているデータ（定義データ）を編集する画面を出力装置１７にて表示し、当該データに対するユーザからの定義の書き換えを受け付ける。
【００８５】
ステップＳ１３にて、定義読み書き部３は、ユーザからの書き換えを決定する操作（例えば変更ボタンの押下げ）を受け付けた場合には、当該受け付けた書き換えの内容に基づいて、仕様管理部２（記憶装置１３）に記憶されているデータ（定義データ）を変更する。それから、ステップＳ１４にて、定義読み書き部３は、戻る操作（戻るボタンの押下げ）を受け付けた場合に、ステップＳ１０に戻る。
【００８６】
図１５は、定義解析部４にて解析を行うために、定義読み書き部３が読み込む動作シーケンスを示す図である。
【００８７】
まず、ステップＳ２１にて、定義読み書き部３は、仕様管理部２（記憶装置１３）に格納されている構成仕様Ｄ２２を読み込む。
【００８８】
ステップＳ２２にて、定義読み書き部３は、図１２に示される構成仕様Ｄ２２のツール（識別子Ｃ２２０）を構成している入力項目（識別子Ｃ２２１）をひとつずつ読み込む。そして、定義読み書き部３は、読み込んだ識別子Ｃ２２１の値を検索キーとして、仕様管理部２（記憶装置１３）の入力項目仕様Ｄ２１に定義されている定義データ（図７〜図１０に示す識別子Ｃ２１０〜参考Ｃ２１６）を検索し、当該定義データを読み込む。
【００８９】
ステップＳ２３にて、定義読み書き部３は、読み込んだ定義データを入力項目（識別子Ｃ２２１）ごとに取得情報Ｍ４０に一時的に格納する。
【００９０】
ステップＳ２４にて、定義読み書き部３は、仕様管理部２（記憶装置１３）に格納されている全データ入力仕様Ｄ２０を読み込み、図１５に示す処理を終了する。
【００９１】
図１６〜図１８は、入力可否、入力誘導、データ入力候補に関し、定義解析部４が、取得情報Ｍ４０と全データ入力仕様Ｄ２０に基づいて、挙動情報Ｍ４１及び仕様不足情報Ｍ４２を生成する動作シーケンスを示す図である。まず、図１６を用いて、入力可否に関する動作シーケンスについて説明する。
【００９２】
ステップＳ３１にて、定義解析部４は、取得情報Ｍ４０からそこに登録された入力項目を取得する。
【００９３】
ステップＳ３２にて、定義解析部４は、取得した入力項目に関して、データ入力仕様（無効入力支援〜編集不可入力支援など）のうち入力可否優先順位Ｃ２０３（図３）に登録されたデータ入力仕様を、その優先順位が高い順に取得する。
【００９４】
ステップＳ３３にて、定義解析部４は、ステップＳ３２で取得したデータ入力仕様に条件式Ｃ２１２及び支援値Ｃ２１３が定義されているか否かを確認する。条件式Ｃ２１２が定義されており、かつ支援値Ｃ２１３が未定義である場合にはステップＳ３４に進んでエラーとする。条件式Ｃ２１２及び支援値Ｃ２１３がいずれも定義されている場合にはステップＳ３５に進む。条件式Ｃ２１２が未定義であり、かつ支援値Ｃ２１３が定義されている場合にはステップＳ４６に進む。条件式Ｃ２１２及び支援値Ｃ２１３のいずれも未定義である場合には、入力可否優先順位Ｃ２０３において、現在のデータ入力仕様の次のデータ入力仕様について、本ステップＳ３３を行う。
【００９５】
ステップＳ３５にて、定義解析部４は、条件式Ｃ２１２を解析する。ここで、条件式Ｃ２１２は、「識別子Ｃ２１０」と、「オペランド（”＝”等価、”！＝”不等価、”＜”小なり、”＜＝”小なりイコール、”＞”大なり、”＞＝”大なりイコール、など）」と、「値または識別子Ｃ２１０」とから構成されている。なお、複数の条件式Ｃ２１２を「ＡＮＤ」や「ＯＲ」で結合したものを一つの条件式Ｃ２１２とすることもある。また、複数の条件式Ｃ２１２を「ＡＮＤ」や「ＯＲ」で結合することなく続けて記述することも可能であり、その場合には条件式Ｃ２１２同士の境界を”；”にて記述する（同形式である必要はない）。
【００９６】
ステップＳ３５の解析にて、定義解析部４は、条件式Ｃ２１２が単独であるか、ＡＮＤで結合されているか、ＯＲで結合されているかを判定する。単独である場合にはステップＳ３６に進み、ＡＮＤで結合されている場合にはステップＳ３７に進み、ＯＲで結合されている場合にはステップＳ４１に進む。
【００９７】
ステップＳ３６にて、定義解析部４は、解析した条件式Ｃ２１２（ここでは単独の条件式Ｃ２１２）を、挙動情報Ｍ４１に追加する。なお、挙動情報Ｍ４１においてすでに条件式Ｃ２１２が追加されていた場合には、ステップＳ３５で解析した条件式Ｃ２１２で更新する。その後ステップＳ４９に進む。こうして追加及び更新された条件式Ｃ２１２の「識別子Ｃ２１０」、「値または識別子Ｃ２１０」は、例えば、図１３に示したツリー状の情報の親ノード、子ノードとして用いられる。
【００９８】
ステップＳ３７にて、定義解析部４は、ＡＮＤで結合されている条件式Ｃ２１２を、「識別子Ｃ２１０」、「オペランド」、「値または識別子Ｃ２１０」からなる１つの単位の式（「単位式」）に分割する。
【００９９】
ステップＳ３８にて、定義解析部４は、分割によって得られた一の単位式を、それに含まれる「識別子Ｃ２１０」と一致する、取得情報Ｍ４０に登録されている入力項目（識別子Ｃ２２１）にソートする。ここでは、単位式は当該入力項目の並び順にソートされる。なお、単位式に含まれる「識別子Ｃ２１０」が、取得情報Ｍ４０に登録されている入力項目（識別子Ｃ２２１）と一致しない場合にはエラーを通知する。
【０１００】
ステップＳ３９にて、定義解析部４は、ステップＳ３８で得られた一の単位式に対して、ステップＳ３６と同様の処理を行う。つまり、定義解析部４は、ソートした一の単位式を挙動情報Ｍ４１に追加（更新）する。こうして追加された単位式の「識別子Ｃ２１０」、「値または識別子Ｃ２１０」は、例えば、図１３に示したツリー状の情報の親ノード、子ノードとして用いられる。
【０１０１】
ステップＳ４０にて、定義解析部４は、ステップＳ３７の分割によって得られた全ての単位式についてステップＳ３８及びＳ３９の処理を行ったかを判定する。全ての単位式について処理を行った場合にはステップＳ４９に進み、そうでない場合にはステップＳ３８に戻って残りの単位式についてステップＳ３８及びＳ３９の処理を行う。
【０１０２】
ステップＳ４１にて、定義解析部４は、ＯＲで結合されている条件式Ｃ２１２を、「識別子Ｃ２１０」、「オペランド」、「値または識別子Ｃ２１０」からなる１つの単位の式（「単位式」）に分割する。
【０１０３】
ステップＳ４２にて、定義解析部４は、分割によって得られた一の単位式を、それに含まれる「識別子Ｃ２１０」と一致する、取得情報Ｍ４０に登録されている入力項目（識別子Ｃ２２１）にソートする。ここでは、単位式は当該入力項目の並び順にソートされる。なお、単位式に含まれる「識別子Ｃ２１０」が、取得情報Ｍ４０に登録されている入力項目（識別子Ｃ２２１）と一致しない場合にはエラーを通知する。
【０１０４】
ステップＳ４３にて、定義解析部４は、ステップＳ４１で得られた一の単位式に対して、ステップＳ３６と同様の処理を行う。つまり、定義解析部４は、ソートした一の単位式を挙動情報Ｍ４１に追加（更新）する。こうして追加された単位式の「識別子Ｃ２１０」、「値または識別子Ｃ２１０」は、例えば、図１３に示したツリー状の情報の親ノード、子ノードとして用いられる。
【０１０５】
ステップＳ４４にて、定義解析部４は、入力項目仕様Ｄ２１（図７〜図１０）で定義されている識別子Ｃ２１０の欄から、ステップＳ４１で得られた一の単位式に含まれる「識別子Ｃ２１０」と一致するものを検索する。そして、定義解析部４は、当該検索によって得られた識別子Ｃ２１０に関し、データ入力候補優先順位Ｃ２０５に設定されているデータ入力仕様（ここではリストボックス入力支援など）の定義データを取得する。定義解析部４は、当該定義データに基づいて、上述の一の単位式に含まれる「値または識別子Ｃ２１０」以外の「値または識別子Ｃ２１０」を含む条件式Ｃ２１２を生成する。
【０１０６】
例えば、定義解析部４は、ステップＳ４１において「アナログ．フラグ＝０」という単位式（つまり、「識別子Ｃ２１０」が「アナログ．フラグ」であり、「オペランド」が「＝」であり、「値または識別子Ｃ２１０」が「０」である単位式）を得ていたとする。この場合に、ステップＳ４４にて入力項目仕様Ｄ２１（図７〜図１０）で定義されている識別子Ｃ２１０の欄から、当該単位式の「識別子Ｃ２１０」である「アナログ．フラグ」と一致する識別子Ｃ２１０を検索する。
【０１０７】
定義解析部４は、当該検索によって得られた「アナログ．フラグ」という入力項目仕様Ｄ２１の識別子Ｃ２１０に関し、リストボックス入力支援の支援値（図１０の例では０，１）を上述の定義データとして取得する。そして、定義解析部４は、取得した支援値（ここでは０，１）のうち、「アナログ．フラグ＝０」という単位式の「値または識別子Ｃ２１０」である「０」以外の「１」を含む「アナログ．フラグ＝１」という条件式Ｃ２１２を生成する。
【０１０８】
そして、定義解析部４は、ここで生成した条件式Ｃ２１２を挙動情報Ｍ４１に追加（更新）する。こうして追加された単位式の「識別子Ｃ２１０」、「値または識別子Ｃ２１０」は、例えば、図１３に示したツリー状の情報の親ノード、子ノードとして用いられる。
【０１０９】
ステップＳ４５にて、定義解析部４は、ステップＳ４１の分割によって得られた全ての単位式についてステップＳ４２〜Ｓ４４の処理を行ったかを判定する。全ての単位式について処理を行った場合にはステップＳ４９に進み、そうでない場合にはステップＳ４２に戻って残りの単位式についてステップＳ４２〜Ｓ４４の処理を行う。
【０１１０】
ステップＳ３３からステップＳ４６に進んだ場合には、定義解析部４は、入力誘導優先順位Ｃ２０４及びデータ入力候補優先順位Ｃ２０５のデータ入力仕様（「他のデータ入力仕様」）のそれぞれの定義データをチェックし、これらの条件式Ｃ２１２が未定義であるか否かを判定する。他のデータ入力仕様の条件式Ｃ２１２が定義されている場合にはステップＳ４７に進み、当該条件式Ｃ２１２が未定義である場合にはステップＳ４８に進む。
【０１１１】
ステップＳ４７に進んだ場合には、無条件で入力できないことと等価であることから、定義解析部４は、仕様として問題ないのかについてユーザに問い合わせるため、挙動情報Ｍ４１及び仕様不足情報Ｍ４２にエラーに関する情報を登録する。ただし、取得情報Ｍ４０にて、同条件式Ｃ２１２及び同支援値Ｃ２１３はエラーではないというフラグの機能を有する確認Ｃ２１５に○が入っている場合には、ユーザに問い合わせる処理は行わない。
【０１１２】
ステップＳ４８にて、定義解析部４は、ステップＳ３３で定義されていると判定した支援値Ｃ２１３を挙動情報Ｍ４１に追加する。その後、ステップＳ４９に進む。
【０１１３】
ステップＳ４９にて、定義解析部４は、入力可否優先順位Ｃ２０３に登録された全てのデータ入力仕様について、以上の処理が完了したかを判定する。処理が完了していない場合には、入力可否優先順位Ｃ２０３において、現在のデータ入力仕様の次のデータ入力仕様を取得し、ステップＳ３３に戻る。処理が完了している場合には、ステップＳ５０に進む。
【０１１４】
ステップＳ５０にて、定義解析部４は、入力可否優先順位Ｃ２０３の二次元表（ここでは図４に示される表）に従い、定義済みの状態が仕様に即しているかをチェックする。仕様に即していない場合にはステップＳ５１に進み、仕様に即している場合にはステップＳ３１で取得した入力項目についての処理が終了する。
【０１１５】
ステップＳ５１にて、定義解析部４は、仕様として問題ないのかについてユーザに問い合わせるため、挙動情報Ｍ４１及び仕様不足情報Ｍ４２にエラーに関する情報を登録する。ただし、取得情報Ｍ４０にて、同条件式Ｃ２１２及び同支援値Ｃ２１３はエラーではないというフラグの機能を有する確認Ｃ２１５に○が入っている場合には、ユーザに問い合わせる処理は行わない。
【０１１６】
なお、ここでは、取得情報４０に登録された全ての入力項目についてステップＳ３１〜Ｓ５１の処理が行われる。
【０１１７】
次に、図１７を用いて、入力誘導に関する動作シーケンスについて説明する。
【０１１８】
ステップＳ６１にて、定義解析部４は、取得情報Ｍ４０からそこに登録された入力項目を取得する。
【０１１９】
ステップＳ６２にて、定義解析部４は、取得した入力項目に関して、データ入力仕様（無効入力支援〜編集不可入力支援など）のうち入力誘導優先順位Ｃ２０４（図３）に登録されたデータ入力仕様を、その優先順位が高い順に取得する。
【０１２０】
ステップＳ６３にて、定義解析部４は、ステップＳ６２で取得したデータ入力仕様に条件式Ｃ２１２及び支援値Ｃ２１３が定義されているか否かを確認する。条件式Ｃ２１２が定義されており、かつ支援値Ｃ２１３が未定義である場合にはステップＳ６４に進んでエラーとする。条件式Ｃ２１２及び支援値Ｃ２１３がいずれも定義されている場合にはステップＳ６５に進む。条件式Ｃ２１２が未定義であり、かつ支援値Ｃ２１３が定義されている場合にはステップＳ７６に進む。条件式Ｃ２１２及び支援値Ｃ２１３のいずれも未定義である場合には、入力可否優先順位Ｃ２０３において、現在のデータ入力仕様の次のデータ入力仕様について、本ステップＳ６３を行う。
【０１２１】
なお、ステップＳ６５〜Ｓ７５にて、定義解析部４は、上述のステップＳ３５〜Ｓ４５と同様の処理を行うことから、これらについての詳細な説明については省略する。
【０１２２】
ステップＳ７６にて、定義解析部４は、入力可否優先順位Ｃ２０３のデータ入力仕様のそれぞれの定義データをチェックし、これらの条件式Ｃ２１２が未定義であるか否か（ここでは全て未定義であるか否か）を判定する。条件式Ｃ２１２が未定義である場合にはステップＳ７７に進み、条件式Ｃ２１２が定義されている場合にはステップＳ７８に進む。
【０１２３】
ステップＳ７７にて、定義解析部４は、ステップＳ６３で定義されていると判定した支援値Ｃ２１３を挙動情報Ｍ４１に追加する。その後、ステップＳ８１に進む。
【０１２４】
ステップＳ７８に進んだ場合には、無条件で入力できないことと等価であることから、定義解析部４は、入力誘導優先順位Ｃ２０４及びデータ入力候補優先順位Ｃ２０５のデータ入力仕様（「他のデータ入力仕様」）のそれぞれの定義データをチェックし、これらの条件式Ｃ２１２が未定義であるか否かを判定する。他のデータ入力仕様の条件式Ｃ２１２が定義されている場合にはステップＳ７９に進み、当該条件式Ｃ２１２が未定義である場合にはステップＳ８０に進む。
【０１２５】
ステップＳ７９にて、定義解析部４は、仕様として問題ないのかについてユーザに問い合わせるため、挙動情報Ｍ４１及び仕様不足情報Ｍ４２にエラーに関する情報を登録する。ただし、取得情報Ｍ４０にて、同条件式Ｃ２１２及び同支援値Ｃ２１３はエラーではないというフラグの機能を有する確認Ｃ２１５に○が入っている場合には、ユーザに問い合わせる処理は行わない。
【０１２６】
ステップＳ８０にて、定義解析部４は、ステップＳ６３で定義されていると判定した支援値Ｃ２１３を挙動情報Ｍ４１に追加する。その後、ステップＳ８１に進む。
【０１２７】
ステップＳ８１にて、定義解析部４は、入力誘導優先順位Ｃ２０４に登録された全てのデータ入力仕様について、以上の処理が完了したかを判定する。処理が完了していない場合には、入力誘導優先順位Ｃ２０４において、現在のデータ入力仕様の次のデータ入力仕様を取得し、ステップＳ６３に戻る。処理が完了している場合には、ステップＳ８２に進む。
【０１２８】
ステップＳ８２にて、定義解析部４は、入力誘導優先順位Ｃ２０４の二次元表（ここでは図５に示される表）に従い、定義済みの状態が仕様に即しているかをチェックする。仕様に即していない場合にはステップＳ８３に進み、仕様に即している場合にはステップＳ６１で取得した入力項目についての処理が終了する。
【０１２９】
ステップＳ８３にて、定義解析部４は、仕様として問題ないのかについてユーザに問い合わせるため、挙動情報Ｍ４１及び仕様不足情報Ｍ４２にエラーに関する情報を登録する。ただし、取得情報Ｍ４０にて、同条件式Ｃ２１２及び同支援値Ｃ２１３はエラーではないというフラグの機能を有する確認Ｃ２１５に○が入っている場合には、ユーザに問い合わせる処理は行わない。
【０１３０】
なお、ここでは、取得情報４０に登録された全ての入力項目についてステップＳ６１〜Ｓ８３の処理が行われる。
【０１３１】
次に、図１８を用いて、データ入力候補に関する動作シーケンスについて説明する。
【０１３２】
ステップＳ９１にて、定義解析部４は、取得情報Ｍ４０からそこに登録された入力項目を取得する。
【０１３３】
ステップＳ９２にて、定義解析部４は、取得した入力項目に関して、データ入力仕様（無効入力支援〜編集不可入力支援など）のうちデータ入力候補優先順位Ｃ２０５（図３）に登録されたデータ入力仕様を、その優先順位が高い順に取得する。
【０１３４】
ステップＳ９３にて、定義解析部４は、ステップＳ９２で取得したデータ入力仕様に条件式Ｃ２１２及び支援値Ｃ２１３が定義されているか否かを確認する。条件式Ｃ２１２が定義されており、かつ支援値Ｃ２１３が未定義である場合にはステップＳ９４に進んでエラーとする。条件式Ｃ２１２及び支援値Ｃ２１３がいずれも定義されている場合にはステップＳ９５に進む。条件式Ｃ２１２が未定義であり、かつ支援値Ｃ２１３が定義されている場合にはステップＳ１０６に進む。条件式Ｃ２１２及び支援値Ｃ２１３のいずれも未定義である場合には、入力可否優先順位Ｃ２０３において、現在のデータ入力仕様の次のデータ入力仕様について、本ステップＳ９３を行う。
【０１３５】
なお、ステップＳ９５〜Ｓ１０５にて、定義解析部４は、上述のステップＳ３５〜Ｓ４５と同様の処理を行うことから、これらについての詳細な説明については省略する。
【０１３６】
ステップＳ１０６にて、定義解析部４は、入力可否優先順位Ｃ２０３のデータ入力仕様のそれぞれの定義データをチェックし、これらの条件式Ｃ２１２が未定義であるか否か（ここでは全て未定義であるか否か）を判定する。条件式Ｃ２１２が未定義である場合にはステップＳ１０７に進み、条件式Ｃ２１２が定義されている場合にはステップＳ１０８に進む。
【０１３７】
ステップＳ１０７にて、定義解析部４は、ステップＳ９３で定義されていると判定した支援値Ｃ２１３を挙動情報Ｍ４１に追加する。その後、ステップＳ１１１に進む。
【０１３８】
ステップＳ１０８に進んだ場合には、無条件で入力できないことと等価であることから、定義解析部４は、入力誘導優先順位Ｃ２０４及びデータ入力候補優先順位Ｃ２０５のデータ入力仕様（「他のデータ入力仕様」）のそれぞれの定義データをチェックし、これらの条件式Ｃ２１２が未定義であるか否かを判定する。他のデータ入力仕様の条件式Ｃ２１２が定義されている場合にはステップＳ１０９に進み、当該条件式Ｃ２１２が未定義である場合にはステップＳ１１０に進む。
【０１３９】
ステップＳ１０９にて、定義解析部４は、仕様として問題ないのかについてユーザに問い合わせるため、挙動情報Ｍ４１及び仕様不足情報Ｍ４２にエラーに関する情報を登録する。ただし、取得情報Ｍ４０にて、同条件式Ｃ２１２及び同支援値Ｃ２１３はエラーではないというフラグの機能を有する確認Ｃ２１５に○が入っている場合には、ユーザに問い合わせる処理は行わない。
【０１４０】
ステップＳ１１０にて、定義解析部４は、ステップＳ９３で定義されていると判定した支援値Ｃ２１３を挙動情報Ｍ４１に追加する。その後、ステップＳ１１１に進む。
【０１４１】
ステップＳ１１１にて、定義解析部４は、データ入力候補優先順位Ｃ２０５に登録された全てのデータ入力仕様について、以上の処理が完了したかを判定する。処理が完了していない場合には、データ入力候補優先順位Ｃ２０５において、現在のデータ入力仕様の次のデータ入力仕様を取得し、ステップＳ９３に戻る。処理が完了している場合には、ステップＳ１１２に進む。
【０１４２】
ステップＳ１１２にて、定義解析部４は、データ入力候補優先順位Ｃ２０５の二次元表（ここでは図６に示される表）に従い、定義済みの状態が仕様に即しているかをチェックする。仕様に即していない場合にはステップＳ１１３に進み、仕様に即している場合にはステップＳ９１で取得した入力項目についての処理が終了する。
【０１４３】
ステップＳ１１３にて、定義解析部４は、仕様として問題ないのかについてユーザに問い合わせるため、挙動情報Ｍ４１及び仕様不足情報Ｍ４２にエラーに関する情報を登録する。ただし、取得情報Ｍ４０にて、同条件式Ｃ２１２及び同支援値Ｃ２１３はエラーではないというフラグの機能を有する確認Ｃ２１５に○が入っている場合には、ユーザに問い合わせる処理は行わない。
【０１４４】
なお、ここでは、取得情報４０に登録された全ての入力項目についてステップＳ９１〜Ｓ１１３の処理が行われる。
【０１４５】
次に、上述した表示部の動作について説明する。図１９〜図２３は、主に、入力可否判定表示部５、入力誘導表示部６、データ入力候補表示部７、及び、仕様不足表示部８が行う動作シーケンスを示す図である。なお、以下の動作は一例に過ぎず、これら表示部のいくつかを組合せる形態や全ての表示部を組合せる形態で実現してもよいし、図１９〜図２３のそれぞれを、入力可否判定表示部５、入力誘導表示部６、データ入力候補表示部７、及び、仕様不足表示部８が個別に行うものであってもよい。
【０１４６】
まず、図１９を用いて入力可否判定表示部５及び仕様不足表示部８が行う動作シーケンスについて説明する。
【０１４７】
ステップＳ１２１にて、入力可否判定表示部５は、定義解析部４が生成した挙動情報Ｍ４１を取得する。ステップＳ１２２にて、入力可否判定表示部５は、当該挙動情報Ｍ４１から入力可否に関する全ての情報（条件式Ｃ２１２の候補なども）を収集する。ステップＳ１２３にて、入力可否判定表示部５は、当該収集した情報に基づいて、図１３に示したようなツリー情報を生成する。ステップＳ１２４にて、入力可否判定表示部５は、生成したツリー情報を表示する。
【０１４８】
ステップＳ１２５にて、仕様不足表示部８は、定義解析部４が生成した仕様不足情報Ｍ４２を取得する。ステップＳ１２６にて、仕様不足表示部８は、当該仕様不足情報Ｍ４２に入力可否に関する不足候補があるか否かを判定し、当該不足候補がある場合にはツリー情報の該当ノードに色（例えば赤色の強調色など）を付与して、ユーザに通知する。
【０１４９】
次に、図２０を用いて入力誘導表示部６及び仕様不足表示部８が行う動作シーケンスについて説明する。
【０１５０】
ステップＳ１３１にて、入力誘導表示部６は、定義解析部４が生成した挙動情報Ｍ４１を取得する。ステップＳ１３２にて、入力誘導表示部６は、当該挙動情報Ｍ４１から入力誘導に関する全ての情報（条件式Ｃ２１２の候補なども）を収集する。ステップＳ１３３にて、入力誘導表示部６は、当該収集した情報に基づいて、図１３に示したようなツリー情報を生成する。ここでは、入力誘導表示部６は、ツリー情報の該当ノードに色（例えば、一意の場合は緑色、必須の場合は黄色、自動入力の場合はオレンジ色、編集不可の場合はグレー色）を付与する。ステップＳ１３４にて、入力誘導表示部６は、生成したツリー情報を表示する。
【０１５１】
ステップＳ１３５にて、仕様不足表示部８は、定義解析部４が生成した仕様不足情報Ｍ４２を取得する。ステップＳ１３６にて、仕様不足表示部８は、当該仕様不足情報Ｍ４２に入力誘導に関する不足候補があるか否かを判定し、当該不足候補がある場合にはツリー情報の該当ノードに色（例えば赤色の強調色など）を付与して、ユーザに通知する。
【０１５２】
次に、図２１を用いてデータ入力候補表示部７及び仕様不足表示部８が行う動作シーケンスについて説明する。
【０１５３】
ステップＳ１４１にて、データ入力候補表示部７は、定義解析部４が生成した挙動情報Ｍ４１を取得する。ステップＳ１４２にて、データ入力候補表示部７は、当該挙動情報Ｍ４１からデータ入力候補に関する全ての情報（条件式Ｃ２１２の候補なども）を収集する。ステップＳ１４３にて、データ入力候補表示部７は、当該収集した情報に基づいて、図１３に示したようなツリー情報を生成する。ここでは、データ入力候補表示部７は、ツリー情報の該当ノードに、入力可能な範囲を示す吹き出しを付与する。ステップＳ１４４にて、データ入力候補表示部７は、生成したツリー情報を表示する。
【０１５４】
ステップＳ１４５にて、仕様不足表示部８は、定義解析部４が生成した仕様不足情報Ｍ４２を取得する。ステップＳ１４６にて、仕様不足表示部８は、当該仕様不足情報Ｍ４２にデータ入力候補に関する不足候補があるか否かを判定し、当該不足候補がある場合にはツリー情報の該当ノードに色（例えば赤色の強調色など）を付与して、ユーザに通知する。
【０１５５】
次に、図２２を用いて、ユーザが入力項目仕様Ｄ２１を修正した場合に、本実施の形態に係る設計編集装置１が行う動作シーケンスについて説明する。
【０１５６】
ステップＳ１５１にて、設計編集装置１（入力装置１５）は、エラーとして表示された入力項目に対するユーザからの選択操作を受け付ける。ステップＳ１５２にて、設計編集装置１（上述の表示部）は、選択された入力項目についての入力項目仕様Ｄ２１を表示する。
【０１５７】
ステップＳ１５３にて、設計編集装置１（入力装置１５）は、表示された入力項目仕様Ｄ２１の定義データを修正するためのユーザからの編集を受け付け、それを反映させるための編集ボタンの押下げを受け付ける。ステップＳ１５４にて、定義読み書き部３は、受け付けた編集内容に基づいて仕様管理部２（記憶装置１３）に記憶されている入力項目仕様Ｄ２１を更新する。
【０１５８】
ステップＳ１５５にて、定義解析部４は、当該更新された入力項目仕様Ｄ２１に基づいて挙動情報Ｍ４１及び仕様不足情報Ｍ４２を更新する。そして、表示部（入力可否判定表示部５〜仕様不足表示部８）は、定義解析部４により更新された挙動情報Ｍ４１及び仕様不足情報Ｍ４２に基づいて上述の表示を行う。
【０１５９】
次に、図２３を用いて、ユーザがエラーとして通知された定義データに対して問題がないことを反映させる操作を行った場合に、本実施の形態に係る設計編集装置１が行う動作シーケンスについて説明する。
【０１６０】
ステップＳ１６１にて、設計編集装置１（入力装置１５）は、エラーとして表示された入力項目に対するユーザからの選択操作を受け付ける。ステップＳ１６２にて、設計編集装置１（上述の表示部）は、選択された入力項目についての入力項目仕様Ｄ２１を表示する。
【０１６１】
ステップＳ１６３にて、設計編集装置１（入力装置１５）は、表示された入力項目仕様Ｄ２１の確認Ｃ２１５に対するユーザからの”○”の入力を受け付けるとともに、参考Ｃ２１６に対するユーザからの定義データの入力を受け付ける。そして、これら入力を反映させるための確認ボタンの押下げを受け付ける。ステップＳ１６４にて、定義読み書き部３は、受け付けた編集内容に基づいて仕様管理部２（記憶装置１３）に記憶されている入力項目仕様Ｄ２１を更新する。
【０１６２】
ステップＳ１６５にて、定義解析部４は、当該更新された入力項目仕様Ｄ２１に基づいて挙動情報Ｍ４１及び仕様不足情報Ｍ４２を更新する。そして、表示部（入力可否判定表示部５〜仕様不足表示部８）は、定義解析部４により更新された挙動情報Ｍ４１及び仕様不足情報Ｍ４２に基づいて上述の表示を行う。
【０１６３】
以上のような本実施の形態に係る設計編集装置１及び設計編集プログラムによれば、構成仕様Ｄ２２（第１仕様）と、全データ入力仕様Ｄ２０及び入力項目仕様Ｄ２１（第２仕様）とに基づいて、ツールが作成された場合に実現可能な挙動を示す挙動情報Ｍ４１と、当該挙動を実現するのに不足する仕様候補を示す仕様不足情報Ｍ４２とを生成する。したがって、ユーザが、全データ入力仕様Ｄ２０及び入力項目仕様Ｄ２１（第２仕様）を変更した場合に、ツールの作成及び動作確認を実際に行わなくても、実際に作成したツールと同等の挙動と、ツールの特性上想定される設計ミスや仕様不足（設計不足）とをプレビューにより知ることができる。また、仕様に対する修正に応じて挙動情報Ｍ４１及び仕様不足情報Ｍ４２を更新することから、ユーザは、修正内容が反映された挙動及び仕様不足をプレビューにより知ることができる。
【０１６４】
したがって、入力項目の仕様の変更・追加を行うユーザ（設計者）は、入力項目の仕様が過不足なく設計されているか否か、及び、仕様不足と想定される候補をプレビューで確認しながら設計作業を行うことができる。よって、設計ミスの軽減による設計精度向上を実現することができるとともに、ユーザの設計作業の負担を軽減することができる。なお、以上において「表示」とは、その文言通り意味するものであったが、これに限ったものはなく、上述の挙動等を表示可能にする動作（例えば、後で挙動等を表示するために電子ファイルに保存したり、挙動等を用紙にて表示するために印刷したりする動作）を含んでもよい。
【０１６５】
＜実施の形態２＞
本発明の実施の形態２に係る設計編集装置１のハードウェア構成は、実施の形態１で説明したハードウェア構成と同じであり、本発明の実施の形態２に係る設計編集プログラムで実現される機能のブロック構成は、実施の形態１で説明したブロック構成と同じである。そこで、本実施の形態に係る設計編集装置１及び設計編集プログラムにおいて、実施の形態１で説明した構成要素と同一または類似するものについては同じ符号を付し、実施の形態１と異なる点を中心に説明する。
【０１６６】
実施の形態１に係る設計編集装置１では、挙動情報Ｍ４１にて得られた全ての情報を表示していた。それに対し、本実施の形態に係る設計編集装置１では、表示する内容（ここでは編集対象となる入力項目）を、ユーザから受け付けた条件式に基づいて絞り込むことが可能に構成されている。
【０１６７】
図２４は、本実施の形態に係る設計編集装置１が、表示内容を絞り込む際に行う動作シーケンスを示す図である。なお、この動作シーケンスは、図１９を用いて説明した動作シーケンスにステップＳ１２７及びＳ１２８を追加したものであることから、以下、ステップＳ１２７及びＳ１２８についてのみ説明する。
【０１６８】
ステップＳ１２６の後、ステップＳ１２７にて、設計編集装置１（入力装置１５）は、ユーザからの条件式の入力を受け付けたか否かを判定する。入力を受け付けた場合にはステップＳ１２８に進む。
【０１６９】
ステップＳ１２８にて、入力可否判定表示部５は、挙動情報Ｍ４１から、ステップＳ１２６で受け付けた条件式に該当するノードをツリー情報から抽出する。そして、入力可否判定表示部５は、抽出したノードをルートノードとしたツリー情報を作成する。その後、ステップＳ１２４に戻る。
【０１７０】
以上のような本実施の形態に係る設計編集装置１及び設計編集プログラムによれば、上述のプレビューに表示される内容を、ユーザ（設計者）が変更、追加作業を行いたい入力項目に限定することができる。したがって、ユーザの設計作業の負担を軽減することができる。この効果は、入力項目の数が大きく、ツリー構成が深い場合に特に有効である。
【０１７１】
＜実施の形態３＞
本発明の実施の形態３に係る設計編集装置１のハードウェア構成は、実施の形態１で説明したハードウェア構成と同じであり、本発明の実施の形態３に係る設計編集プログラムで実現される機能のブロック構成は、実施の形態１で説明したブロック構成と同じである。そこで、本実施の形態に係る設計編集装置１及び設計編集プログラムにおいて、実施の形態１で説明した構成要素と同一または類似するものについては同じ符号を付し、実施の形態１と異なる点を中心に説明する。
【０１７２】
実施の形態２に係る設計編集装置１では、表示する内容（ここでは編集対象となる入力項目）を、ユーザから受け付けた条件式に基づいて絞り込むことが可能となっていた。それに対し、本実施の形態に係る設計編集装置１は、条件式の代わりにツールに基づいて絞り込むことが可能に構成されている。
【０１７３】
図２５は、本実施の形態に係る設計編集装置１が、表示内容を絞り込む際に行う動作シーケンスを示す図である。なお、この動作シーケンスは、図１９を用いて説明した動作シーケンスにステップＳ１２７Ａ及びＳ１２８Ａを追加したものであることから、以下、ステップＳ１２７Ａ及びＳ１２８Ａについてのみ説明する。
【０１７４】
ステップＳ１２６の後、ステップＳ１２７Ａにて、設計編集装置１（入力装置１５）は、ユーザからのツールの入力を受け付けたか否かを判定する。入力を受け付けた場合にはステップＳ１２８Ａに進む。
【０１７５】
ステップＳ１２８Ａにて、入力可否判定表示部５は、ステップＳ１２６で受け付けたツールと一致する、または当該ツールと対応する、構成仕様Ｄ２２の識別子Ｃ２２０を特定する。そして、入力可否判定表示部５は、当該識別子Ｃ２２０と対応付けられた識別子Ｃ２２１（入力項目）を構成仕様Ｄ２２から抽出する。そして、入力可否判定表示部５は、挙動情報Ｍ４１から、抽出した識別子Ｃ２２１（入力項目）に関連する情報を抽出し、当該抽出した情報に基づいてツリー情報を生成する。その後、ステップＳ１２４に戻る。
【０１７６】
以上のような本実施の形態に係る設計編集装置１及び設計編集プログラムによれば、上述のプレビューに表示される内容を、ユーザ（設計者）が変更、追加作業を行いたい入力項目に限定することができる。したがって、ユーザの設計作業の負担を軽減することができる。この効果は、入力項目の数が大きく、ツリー構成が深い場合に特に有効である。
【０１７７】
なお、ここでは、実施の形態２の条件式に代えてツールを、表示内容の絞り込みに用いたが、これに限ったものではなく、条件式及びツールの両方を、表示内容の絞り込みに用いてもよい。
【０１７８】
＜実施の形態４＞
本発明の実施の形態４に係る設計編集装置１のハードウェア構成は、実施の形態１で説明したハードウェア構成と同じであり、本発明の実施の形態４に係る設計編集プログラムで実現される機能のブロック構成は、実施の形態１で説明したブロック構成と同じである。そこで、本実施の形態に係る設計編集装置１及び設計編集プログラムにおいて、実施の形態１で説明した構成要素と同一または類似するものについては同じ符号を付し、実施の形態１と異なる点を中心に説明する。
【０１７９】
本実施の形態では、定義解析部４が、図１２に示した構成仕様Ｄ２２で定義されている複数の識別子Ｃ２２１（複数の入力項目）から一の識別子Ｃ２２１（一の入力項目）が除かれた場合に、当該一の識別子Ｃ２２１（一の入力項目）を除いて、挙動情報Ｍ４１及び仕様不足情報Ｍ４２を更新するように構成されている。つまり、本実施の形態に係る設計編集装置１及び設計編集プログラムでは、構成仕様Ｄ２２が見直されて変更された場合に、その変更が挙動情報Ｍ４１及び仕様不足情報Ｍ４２に反映されるものとなっている。
【０１８０】
図２６は、本実施の形態に係る定義解析部４が、入力可否に関し、取得情報Ｍ４０と全データ入力仕様Ｄ２０に基づいて挙動情報Ｍ４１及び仕様不足情報Ｍ４２を生成する動作シーケンスを示す図である。なお、この動作シーケンスは、図１６を用いて説明した動作シーケンスにおいて、ステップＳ３８，Ｓ４２を、ステップＳ３８Ａ，Ｓ４２Ａにそれぞれ変更したものであることから、以下、ステップＳ３８Ａ，Ｓ４２Ａについてのみ説明する。
【０１８１】
ステップＳ３８Ａにおいて、定義解析部４は、分割によって得られた一の単位式を、それに含まれる「識別子Ｃ２１０」と一致する、取得情報Ｍ４０に登録されている入力項目（識別子Ｃ２２１）にソートする。ここでは、単位式は当該入力項目の並び順にソートされる。この際、一の単位式に含まれる「識別子Ｃ２１０」が、取得情報Ｍ４０に登録されている入力項目（つまり構成仕様Ｄ２２の識別子Ｃ２２１）と一致しない場合には、当該一の単位式をソートのリストから除外する。したがって、この場合には、次のステップＳ３９において一の単位式が挙動情報Ｍ４１に追加されずにステップＳ４０に進むことになる。
【０１８２】
同様に、ステップＳ４２Ａにおいて、定義解析部４は、分割によって得られた一の単位式を、それに含まれる「識別子Ｃ２１０」と一致する、取得情報Ｍ４０に登録されている入力項目（識別子Ｃ２２１）にソートする。この際、一の単位式に含まれる「識別子Ｃ２１０」が、取得情報Ｍ４０に登録されている入力項目（つまり構成仕様Ｄ２２の識別子Ｃ２２１）と一致しない場合には、当該一の単位式をソートのリストから除外する。したがって、この場合には、次のステップＳ４３において一の単位式が挙動情報Ｍ４１に追加されずにステップＳ４４に進むことになる。
【０１８３】
なお、図示しないが、定義解析部４は、図１７に示した入力誘導に関する動作シーケンスのステップＳ６８，Ｓ７２、及び、図１８に示したデータ入力候補に関する動作シーケンスのステップＳ９８，Ｓ１０２においても、上述のステップＳ３８Ａ，Ｓ４２Ａと同様の処理を行う。
【０１８４】
以上のような本実施の形態に係る設計編集装置１及び設計編集プログラムによれば、ユーザが、全データ入力仕様Ｄ２０及び入力項目仕様Ｄ２１（第２仕様）を変更した場合だけでなく、構成仕様Ｄ２２（第１仕様）を変更した場合にも、ツールの作成及び動作確認を実際に行わずに、上述の挙動及び仕様不足をプレビューにより知ることができる。
【０１８５】
したがって、入力項目の仕様の変更・追加を行うユーザ（設計者）は、入力項目の仕様が過不足なく設計されているかどうかということと、仕様不足と想定される候補とをプレビューで確認しながら設計作業を行うことができる。よって、設計ミスの軽減による設計精度向上を実現することができるとともに、ユーザの設計作業の負担を軽減することができる。
【０１８６】
＜実施の形態５＞
本発明の実施の形態５に係る設計編集装置１のハードウェア構成は、実施の形態１で説明したハードウェア構成と同じであり、本発明の実施の形態５に係る設計編集プログラムで実現される機能のブロック構成は、実施の形態１で説明したブロック構成と同じである。そこで、本実施の形態に係る設計編集装置１及び設計編集プログラムにおいて、実施の形態１で説明した構成要素と同一または類似するものについては同じ符号を付し、実施の形態１と異なる点を中心に説明する。
【０１８７】
本実施の形態では、構成仕様Ｄ２２（第１仕様）において識別子Ｃ２２１（入力項目）が定義されていない場合に、入力項目仕様Ｄ２１（第２仕様）にて定義されている定義データ（ここでは識別子Ｃ２１０）に基づいて当該識別子Ｃ２２１（入力項目）を定義するように構成されている。
【０１８８】
図２７は、本実施の形態に係る設計編集装置１が、構成仕様Ｄ２２において識別子Ｃ２２１（入力項目）が定義されていない場合に行う動作シーケンスを示す図である。この図２７に示される動作シーケンスは、構成仕様Ｄ２２が定義読み書き部３により読み込まれる前に行われる。ここでは、定義読み書き部３が、図１５に示したステップＳ２１の前に図２７に示される動作シーケンスを行うものとして説明するが、図１５に示した動作シーケンスと図２７に示した動作シーケンスは並行して行われるものであってもよい。
【０１８９】
さて、図２７に示されるステップＳ１７１にて、定義読み書き部３は、構成仕様Ｄ２２にて所望のツールの識別子Ｃ２２０に対して、識別子Ｃ２２１（入力項目）が未定義か否かを判定する。未定義である場合にはステップＳ１７２に進む。定義済みである場合には図１５に示したステップＳ２１に進み、後続の処理が行われることにより、挙動情報Ｍ４１及び仕様不足情報Ｍ４２が生成される。
【０１９０】
ステップＳ１７２にて、定義読み書き部３は、入力項目仕様Ｄ２１を取得する。ステップＳ１７３にて、定義読み書き部３は、入力項目仕様Ｄ２１の識別子Ｃ２１０を分析し、上記ツールの識別子Ｃ２２０と関連する識別子Ｃ２１０を抽出する。
【０１９１】
ステップＳ１７４にて、定義読み書き部３は、上記ツールの識別子Ｃ２２０と、抽出した識別子Ｃ２１０とをセットにした構成仕様Ｄ２２を生成し、当該構成仕様Ｄ２２を記憶装置１３に書き込む。その後、ステップＳ２１に進み、後続の処理が行われることにより、挙動情報Ｍ４１及び仕様不足情報Ｍ４２が生成される。
【０１９２】
以上のような本実施の形態に係る設計編集装置１及び設計編集プログラムによれば、構成仕様Ｄ２２において識別子Ｃ２２１（入力項目）が定義されていない場合に、入力項目仕様Ｄ２１にて定義されている識別子Ｃ２１０に基づいて当該識別子Ｃ２２１（入力項目）を定義する。したがって、構成仕様Ｄ２２が完成されていなくても、入力項目仕様Ｄ２１が完成されていれば、構成仕様Ｄ２２を生成することができ、ひいては挙動情報Ｍ４１及び仕様不足情報Ｍ４２のプレビューを実現することができる。よって、ユーザの設計作業の負担を軽減することができる。
【０１９３】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【０１９４】
１  設計編集装置、２  仕様管理部、３  定義読み書き部、４  定義解析部、５  入力可否判定表示部、６  入力誘導表示部、７  データ入力候補表示部、８  仕様不足表示部、Ｄ２０  データ入力仕様、Ｄ２１  入力項目仕様、Ｄ２２  構成仕様、Ｍ４１  挙動情報、Ｍ４２  仕様不足情報。
【図１】
0005653376.tif 000002
【図２】
0005653376.tif 000003
【図３】
0005653376.tif 000004
【図４】
0005653376.tif 000005
【図５】
0005653376.tif 000006
【図６】
0005653376.tif 000007
【図７】
0005653376.tif 000008
【図８】
0005653376.tif 000009
【図９】
0005653376.tif 000010
【図１０】
0005653376.tif 000011
【図１１】
0005653376.tif 000012
【図１２】
0005653376.tif 000013
【図１３】
0005653376.tif 000014
【図１４】
0005653376.tif 000015
【図１５】
0005653376.tif 000016
【図１６】
0005653376.tif 000017
【図１７】
0005653376.tif 000018
【図１８】
0005653376.tif 000019
【図１９】
0005653376.tif 000020
【図２０】
0005653376.tif 000021
【図２１】
0005653376.tif 000022
【図２２】
0005653376.tif 000023
【図２３】
0005653376.tif 000024
【図２４】
0005653376.tif 000025
【図２５】
0005653376.tif 000026
【図２６】
0005653376.tif 000027
【図２７】
0005653376.tif 000028