(57)【特許請求の範囲】
【請求項１】
複数の対象を表示する画面を備えるとともに前記画面に表示された対象に対する選択操作が可能な入力手段と、
前記複数の対象に関する概念の関係を表すオントロジーと、該オントロジーの語彙を用いて記述される複数の概念および該複数の概念に対応付けられる少なくとも一つの挙動を表し、前記対象の選択に応じてユーザの意図を推定するためのユーザ意図解析用文法とを知識として持つ知識保持手段と、
前記画面に表示された複数の対象に対して前記入力手段によりどのような選択操作がなされたかを表す操作情報と、前記ユーザ意図解析用文法とにより、ユーザが意図した挙動を推定するユーザ意図解析手段と、
前記ユーザ意図解析手段により推定された挙動の挙動名と、該挙動を実行するための知識とを関連付けて記憶する挙動辞書と、
前記ユーザ意図解析手段により推定された挙動の挙動名により前記挙動辞書を検索し、これにより検索された前記挙動を実行するための知識を参照して該挙動を実行する挙動実行手段とを具備してなることを特徴とする情報処理装置。
【請求項２】
複数の対象を表示する画面を備えるとともに前記画面に表示された対象に対する選択操作が可能な入力手段と、
前記複数の対象に関する概念の関係を表すオントロジーと、該オントロジーの語彙を用いて記述される複数の概念および該複数の概念に対応付けられる少なくとも一つの挙動を表し、前記対象の選択に応じてユーザの意図を推定するためのユーザ意図解析用文法とを知識として持つ第１の知識保持手段と、
前記画面に表示された複数の対象に対して前記入力手段によりどのような選択操作がなされたかを表す操作情報と、前記ユーザ意図解析用文法とにより、ユーザが意図した挙動を推定するユーザ意図解析手段と、
前記ユーザ意図解析手段により推定された挙動の挙動名と、該挙動を実行するための知識とを関連付けて記憶する挙動辞書と、
前記ユーザ意図解析手段により推定された挙動の挙動名により前記挙動辞書を検索し、これにより検索された前記挙動を実行するための知識を参照して該挙動を実行する挙動実行手段と
前記ユーザ意図解析手段により推定される挙動と、該挙動に対応付けられる文法規則に則ったオントロジーの語彙を表す確認文生成用文法を知識として持つ第２の知識保持手段と、
前記挙動実行手段で挙動を実行させる前に前記第２の知識保持手段の文法を用いて上記挙動実行手段の挙動に関する事柄の説明文を生成し、この説明文を前記入力手段を介して報知する挙動確認手段とを具備してなることを特徴とする情報処理装置。
【請求項３】
前記対象に関するオントロジーは、上記対象の状態のオントロジーも含むことを特徴とする請求項１または２に記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、視覚的な指示に従って各種の情報を処理する情報処理装置およびたとえば視覚的な指示に従って制御仕様を自動生成する制御プログラム設計支援装置に関する。
【０００２】
【従来の技術】
各種プラントなどを制御するプログラマブルコントローラにあっては、これを有効に作動させるための制御実行プログラムを必要とする。
【０００３】
近年では制御実行プログラムを自動生成することが可能となってきた。このことにより、制御実行プログラム自動生成装置の入力となる制御仕様の設計作業がプログラム作成過程の中での支援対象として注目されている。
【０００４】
制御仕様の設計方法としては、フローチャート形式で機器の動作の流れを実行順に示す方法が一般的である。また、この方法に対し、入力の際のフローチャート形式の表現と機器動作のイメージとを補間するために、対象機器や加工材料をディスプレイ上に図形を用いて模式的に表し、その図形を操作することにより、視覚的に制御仕様を記述する方法も提案されている。
【０００５】
視覚的な指示方法としては、フローチャート形式と類似なレベルの動作レベルの指示方法と、状態空間モデルを背景としたプランニングを用いて指示レベルを高度化した状態指示レベルの指示方法とが提案されている。状態空間モデルを背景とした方法では、特願平４−３２８９９７号に示されているように、制御対象となる設備全体の状態と設備を構成する機器の状態とを含み、各状態間を機器の動作と機器間の相互作用を表現した副次的状態遷移と各設備状態を構成機器の状態との接続関係とで関係付けして設備の状態空間を表現したモデルを用いるようにしている。
【０００６】
前者の方法では制御対象の動作と動作が終了する状態との指示のやり易さが、また後者の方法では特に初期状態と目標状態との設定作業のやり易さが制御プログラム設計支援装置全体の使い易さに大きく影響する。
【０００７】
視覚的な指示方法としては、ボタンやメニュー等を用いて行うのが最も一般的である。これに対し、特開平５−７３２５号公報に示されているように、メニューを用いずに、ドラッグ・アンド・ドロップのように、対象図形に対する直接的な操作を用いて視覚的な指示を行う方法も提案されている。後者の方法では、操作を受ける図形の組合せによるシステムの挙動を表形式にまとめて定義することが行なわれている。
【０００８】
しかしながら、これら従来の視覚的な指示方法、たとえばボタンやメニュー等を用いた方法では、操作数が多くなるとメニュー等の選択作業もユーザにとって大きな負担となることが問題となっている。これに対し、図形への直接的な操作による視覚的な指示方法では、メニューやボタンを用いる場合よりもユーザの操作負担が比較的少ない。しかし、類似の操作の意味が設計者によって異なることが多く、操作から連想されるシステムの挙動もユーザによって異なることから、ユーザによって使い易さの度合いが大幅に異なる問題があった。
【０００９】
さらに、操作と挙動とを結び付ける規則については、グラフィックユーザインターフェース（ＧＵＩ）の設計者がＧＵＩ中の図形等の組合せについて全て列挙し、それに対応する挙動を表形式にまとめて定義することが行なわれているが、この作業はＧＵＩが複雑になるにつれて次第にＧＵＩ設計者の大きな負担となっている。
【００１０】
また、図形を用いた操作を行うものでは、ユーザが行なった操作をシステム（制御プログラム設計支援装置）がどのように解釈したのかは、システムの挙動を見なければユーザには分からない。このように、ユーザの操作誤りがシステムの挙動後になって判明するので、挙動の取消しや，やり直しなどが起こり易く、誤った操作を行なったことによるユーザへの心理的な影響もあり、作業効率低下の原因となっていた。
【００１１】
一方、特願平４−３２８９９７号では、プランニングの効率をあげるためにスコープという概念を採り入れている。スコープは基本スコープと探索用スコープとがある。基本スコープは制御対象が持つ幾つかの作業目的に対し、どの機器が各作業に参加するかを記述することにより表現され、木構造をなしている。探索用スコープは、設計者が指示した目標状態に至る制御にどの機器が参加するのかを表すもので、機器のリストで表される。状態空間上での状態探索を行なう際には基本スコープから作成される。
【００１２】
特願平４−３２８９９７号では、複数の作業に重複して参加する機器が多くない場合や、制御において物理的な構成の変化があまりないような対象で、一つあるいは少数の作業単位で収まるような制御仕様の生成には効率良く解を得ることができる。しかし、幾つもの作業に参加するような機器が多く存在する場合や、初期状態から目標状態に至る制御が複数の機器の多くの動作を含む場合、すなわち幾つもの作業を跨ぐような制御を設計者が求めている場合には、効率良く探索範囲を絞り込むのが困難である。
【００１３】
また、幾つもの作業を跨ぐような制御を設計者が求めた場合、初期状態と目標状態との間にある作業が必ずしも全てマッチングしない可能性があり、制御に参加すべき機器を必ずしも全て選択できない可能性があった。
【００１４】
また、設計者が求めている制御を導くのに巨大な探索範囲を必要とするのかどうか設計者に知らせる術がなかった。また、探索処理が失敗した場合に、無駄な探索が際限なく行なわれるのを防ぐために、時間や探索したパスの長さで制限を加える方法が一般的であるが、この方法では時間や長さの設定によっては、探索が失敗していないのに打ち切られたり、失敗に気付くまでに非常に長い時間や計算機上のリソースをかける結果になるという問題があった
【００１５】
【発明が解決しようとする課題】
上述の如く、対象機器や加工材料をディスプレイ上に図形を用いて模式的に表し、その図形を操作することにより、視覚的に制御仕様を記述できるようにした従来の制御プログラム設計支援装置にあっては、操作数が多くなるにしたがって使い易さが極端に悪化し、ユーザに大きな負担を掛ける問題があった。
【００１６】
また、状態空間モデルを背景とし、上述した視覚的な指示手法を採用した制御プログラム設計支援装置にあっては、初期状態から目標状態に至る制御が複数の機器の多くの動作を含む場合等においては、制御仕様の解を効率良く得ることが困難であった。
【００１７】
そこで本発明は、画面上での操作の意図を自動的に読取り、意図している動作を実行する機能を備えた情報処理装置を提供することを第１の目的としている。
また、本発明は、上記情報処理装置を応用し、表示対象の初期状態と目標状態とを自動生成し、この初期状態と目標状態とに基づいて制御仕様を生成する制御プログラム設計支援装置を提供することを第２の目的としている。
【００１８】
また、本発明は、状態空間モデルを背景とし、たとえば画面上での操作に基づいて制御仕様を生成できるとともに、制御仕様の解を効率良よく得られる制御プログラム設計支援装置を提供することを第３の目的としている。
【００１９】
【課題を解決するための手段】
上記第１の目的を達成するために、請求項１に係る発明は、対象を表示する画面を備えるとともに上記画面に対する操作が可能な入力手段と、前記画面に表示される前記対象に関するオントロジーと上記オントロジーの語彙を用いて記述したユーザ意図解析用文法とを知識として持つ知識保持手段と、前記画面に対する操作の意図を前記ユーザ意図解析用文法を用いて解析する解析手段と、この解析手段の解析結果に応じた動作を実行する挙動実行手段とを備えた情報処理装置を要旨としている。
【００２０】
また、上記第１の目的を達成するために、請求項２に係る発明は、対象を表示する画面を備えるとともに上記画面に対する操作が可能な入力手段と、前記画面に表示される前記対象に関するオントロジーと上記オントロジーの語彙を用いて記述したユーザ意図解析用文法とを知識として持つ第１の知識保持手段と、前記画面に対する操作の意図を前記ユーザ意図解析用文法を用いて解析する解析手段と、この解析手段の解析結果に応じた動作を実行する挙動実行手段と、前記解析手段の解析結果説明文を生成するために前記オントロジーの語彙を用いて記述した確認文生成用文法を知識として持つ第２の知識保持手段と、前記挙動実行手段で動作を実行させる前に前記第２の知識保持手段の文法を用いて上記挙動実行手段の挙動に関する事柄の説明文を生成し、生成した説明文を前記入力手段を介して報知する挙動確認手段とを備えた情報処理装置を要旨としている。
【００２１】
なお、対象に関するオントロジーは、上記対象の状態のオントロジーも含むことが好ましい。
【００２２】
また、上記第２の目的を達成するために、請求項４に係る発明は、制御対象や加工材料を表示する画面を備えるとともに上記画面に対する操作が可能な入力手段と、前記画面に表示される前記制御対象や加工材料に関するオントロジーと上記オントロジーの語彙を用いて記述したユーザ意図解析用文法とを知識として持つ知識保持手段と、前記画面に対する操作の意図を前記ユーザ意図解析用文法を用いて解析し、解析結果に基づいて表示対象の初期状態と目標状態とを生成する手段と、この手段によって得られた初期状態と目標状態とを基に制御仕様を生成する手段とを備えた制御プログラム設計支援装置を要旨としている。
【００２３】
また、上記第２の目的を達成するために、請求項５に係る発明は、制御対象や加工材料を表示する画面を備えるとともに上記画面に対する操作が可能な入力手段と、前記画面に表示される前記制御対象や加工材料に関するオントロジーと上記オントロジーの語彙を用いて記述したユーザ意図解析用文法とを知識として持つ第１の知識保持手段と、前記画面に対する操作の意図を前記ユーザ意図解析用文法を用いて解析し、解析結果に基づいて表示対象の初期状態と目標状態とを生成する手段と、この手段によって得られた初期状態と目標状態とを基に制御仕様を生成する手段と、前記画面に対する操作の意図を解析した結果の説明文を生成するために前記オントロジーの語彙を用いて記述した確認文生成用文法を知識として持つ第２の知識保持手段と、前記制御仕様を生成させる前に前記第２の知識保持手段の文法を用いて前記解析した結果に関する事柄の説明文を生成し、生成した説明文を前記入力手段を介して報知する確認手段とを備えた制御プログラム設計支援装置を要旨としている。
【００２４】
なお、制御対象や加工材料に関するオントロジーは、上記制御対象や加工材料の状態のオントロジーも含むことが好ましい。
【００２５】
また、上記第３の目的を達成するために、請求項７に係る発明は、制御対象の状態空間のモデル上での探索を行なうことにより制御手順を求める制御プログラム設計支援装置において、制御対象の中の機器をグルーピングし、制御対象の状態によりどの機器のグループが有効かを決定するためのマッチング条件を知識として備えた知識保持手段と、制御対象の初期状態と目標状態とを用いて有効な機器のグループのうちから探索範囲を限定するスコープを決定するスコープ決定手段とを備えている。
【００２６】
また、上記第３の目的を達成するために、請求項８に係る発明は、制御対象の状態空間のモデル上での探索を行なうことにより制御手順を求める制御プログラム設計支援装置において、制御対象の中の機器をグルーピングし、制御対象の状態によりどの機器のグループが有効かを決定するためのマッチング条件を知識として備えた知識保持手段と、制御対象の初期状態と目標状態とを用いて前記機器のグループが有効になる順番を決定する手段と、探索された制御対象の状態から有効な機器のグループを切替え、有効な機器のグループに基づいて探索範囲を限定するスコープを決定しては切替えるスコープ決定・切替え手段とを備えている。
【００２７】
なお、探索を開始する前に探索の計算量を決定する要因から探索にかかる計算量を見積る見積手段をさらに備えていることが好ましい。
【００２８】
また、前記初期状態と前記目標状態とを用いて決定された機器のグループが有効になる順番から探索処理の失敗を予測する予測手段をさらに備えていることが好ましい。
【００２９】
【作用】
オントロジーは、哲学では存在論という意味であるが、人工知能では物事を表現する際の基本となる最小単位（プリミティブ）の集合という意味を持っている。さらに、人工知能の一分野の知識処理では、通常は、知識ベース内の知識を記述する語彙として用いる。オントロジーに含まれる各語彙は対象としているドメインやタスクに含まれる概念に対応している。概念に上位下位関係による階層があるようにオントロジーの語彙にも上位下位関係による階層を持つ。
【００３０】
オントロジーを定義する具体的な担い手は、通常、オブジェクト指向やフレームシステムの概念に組み込まれている、class 、relation  、function、object、constants といったものをあげることができる。なお、後述する実施例ではオントロジーを、オブジェクト指向プログラミングの概念に基づいたクラスとその階層、あるいはオブジェクト指向データベース（ＯＯＤＢ）のスキーマを用いて表現しているものとして説明するが、同様の目的を達成するものであれば、必ずしもオブジェクト指向プログラミングの概念に拘る必要はない。
【００３１】
請求項１および２に係る情報処理装置では、表示対象に関するオントロジーとオントロジーの語彙を利用した文法を備えているので、オントロジーの範畴にあるものを表示対象とする限り、ＧＵＩ設計者がＧＵＩを作成する都度、図形操作と挙動とを結ぶ規則を作らなくても、表示対象がオントロジーのどの概念に属するのかを指定するだけで、所望のＧＵＩを作成することができる。また、ユーザインタフェースの設計者やユーザが異なっても類似の操作の意味が同様に解釈されて実行されるため、操作と挙動との結び付きがどのユーザからも受け入れられ易く、操作数が多くても、その操作がユーザにとって負担となるようなことはない。
【００３２】
また、請求項４および５に係る制御プログラム設計支援装置では、制御対象を模式的に表示する画面を作成する都度、図形操作とユーザの意図する制御対象の状態変化とを結ぶ規則を作らなくても、図形の表す制御対象がオントロジーのどの概念に属するのかを指定するだけで、所望のＧＵＩを作成することができるので、ＧＵＩの作成効率を向上させることができる。また、操作数が多くても操作がユーザにとって負担となることがなく、設計者やユーザが異なっても類似の操作の意味が同じになり、図形操作と制御対象の状態変化との結び付きがどのユーザからも受け入れられ易くなる。
【００３３】
また、請求項７および８に係る制御プログラム設計支援装置では、幾つもの作業に参加するような機器が多く存在する場合や幾つもの作業を跨ぐような制御を設計者が求めている場合にも探索範囲を充分に絞り込めるため、効率の良い探索を行なうことができる。また、幾つもの作業を跨ぐような制御をユーザが求めた場合でも、制御に参加するべき機器を漏らさず選択するため、探索の失敗を防ぐことができる。また、ユーザが求めている制御を導くのに巨大な探索範囲を必要とするのかどうかを、探索を開始する前にユーザに知らせることができるので、不用意に大規模な探索を行なうのを防ぐことができる。
【００３４】
【実施例】
以下、図面を参照しながら実施例を説明する。
【００３５】
図１には本発明の第１の実施例に係るユーザの視覚的な操作を解釈して動作する情報処理装置のブロック構成図が示されている。
【００３６】
また、図２には図１に示される情報処理装置を応用した第２の実施例に係る制御プログラム設計支援装置のブロック構成図が示されている。この図２に示される装置は、特願平４−３２８９９７号で扱っているようなプランニングにより制御プログラムの仕様作成を支援する装置に関連した装置であって、プランニングを行なう際の目標状態を視覚的な操作から得るようにした装置である。
【００３７】
後述する説明から判るように、図１に示される装置が備えている知識ベースに対して、図２に示されている装置が備えている知識ベースは、基本構成がそのままで、構成要素がプランニングを行なう際の目標状態を視覚的な操作から得るための要素に特化されたものになっている。また、図１に示される装置の処理を行なう部分に対して、図２に示されている装置の処理を行う部分は、基本的には同様の構成をなし、プランニングを行なう際の目標状態を視覚的な操作から得るための装置に特化されたものになっている。
【００３８】
このことからも分かるように、図１および図２に示されている装置を応用することによって、広くユーザの視覚的な操作を解釈して動作するための装置を構築できる。特に、オブジェクト指向あるいはエージェント指向などの概念で扱えるような、個体（あるいはオブジェクト、エージェント）の属性と、その挙動と状態とがはっきりした形で表現できる対象を持つシステムのオペレーションに関する対象知識を扱う装置には容易に適用できる。
【００３９】
図１に示されるユーザの視覚的な操作を解釈して動作する情報処理装置は、大きく分けて、知識ベース１０と、処理系２０とで構成されている。
【００４０】
知識ベース１０は、少なくとも表示データ１１、オントロジー１２、ユーザ意図解析用文法１３、挙動辞書１４、確認文生成用文法１５、表示対象状態１６、表示対象１７の知識を持つ。この知識ベース１０の持つ知識は、処理系２０における後述する入出力制御部２２、ユーザ意図解析部２３、ユーザ意図確認部２４、挙動実行部２５等により参照される。
【００４１】
表示データ１１は、本実施例装置が扱う表示対象の図形データなどのデータである。この表示データ１１の少なくとも一部は、表示対象や表示対象の状態に関するオントロジーの語彙を用いて表現され、表示対象やその状態の変化に伴なって後述する入出力制御部２２が表示データを切替えることができるようになっている。
【００４２】
オントロジー１２は、表示対象とその状態に関するオントロジー化された知識である。このオントロジー１２は、表示データ１１、ユーザ意図解析用文法１３、確認文生成用文法１５、挙動辞書１４、表示対象状態１６、表示対象１７等を表現するために用いられるとともに後述するユーザ意図解析部２３およびユーザ意図確認部２４により参照される。
【００４３】
ユーザ意図解釈用文法１３は、後述する入出力デバイス２１を介してユーザが与える指示からユーザの意図を解析するための文法知識である。解釈に適用される文法規則が決まると、その規則を用いて確認文生成用文法１５や挙動辞書１４を検索することができる。
【００４４】
挙動辞書１４は、ユーザの指示を解釈した結果に基づいて後述する挙動実行部２５を実行させる挙動の知識である。
【００４５】
確認文生成用文法１５は、ユーザの指示を解釈した結果をユーザに確認するための文を生成するために用いられる文法知識である。
【００４６】
表示対象状態１６は、表示対象の状態に関する知識であり、後述する入出力制御部２２、ユーザ意図解析部２３、ユーザ意図確認部２４、挙動実行部２５等より参照される。
【００４７】
表示対象１７は、表示対象に関する知識であり、後述する入出力制御部２２、ユーザ意図解析部２３、ユーザ意図確認部２４、挙動実行部２５等より参照される。
【００４８】
一方、処理系２０は、入出力デバイス２１、入出力制御部２２、ユーザ意図解析部２３、ユーザ意図確認部２４、挙動実行部２５から構成されている。
【００４９】
入出力デバイス２１は、ユーザからの指示を受取って入出力制御部２２に伝え、入出力制御部２２の制御によりユーザに表示画面を出力したり、あるいは文字データや音声データなどを出力する。
【００５０】
入出力制御部２２は、表示対象１７、表示対象状態１６、表示データ１１等の知識を参照して、入出力デバイス２１を制御する。
【００５１】
ユーザ意図解析部２３は、オントロジー１２、ユーザ意図解析用文法１３、表示対象１７、表示対象状態１６の知識等を参照してユーザの意図を解析する。
【００５２】
ユーザ意図確認部２４は、オントロジー１２、確認文生成用文法１５、表示対象１７、表示対象状態１６の知識を参照して、ユーザの意図として装置が解釈したものをユーザに確認を取るための文を生成し、これを入出力制御部２２に渡す働きをする。
【００５３】
挙動実行部２５は、ユーザの指示を解釈した結果に基づいて実行すべき挙動を挙動辞書１４から参照し、さらに対象に関する知識や対象の状態に関する知識を参照して挙動を実行する。
【００５４】
先に説明したように、図２に示される装置は、図１に示される情報処理装置を応用し、特願平４−３２８９９７号で扱っているようなプランニングにより制御プログラムの仕様作成を支援する装置に関連した装置であって、プランニングを行なう際の目標状態を視覚的な操作から得るようにした制御プログラム設計支援装置である。
【００５５】
したがって、ここでは図２に示される制御プログラム設計支援装置３０の構成を説明した後に、代表して図２に示される装置３０の動作を説明する。
【００５６】
この図２に示されている制御プログラム設計支援装置３０は、鋼板を巻回してコイルを製作するラインおよび製作されたコイルを運搬するラインを持つプラント設備の各機器を制御する制御プログラムの作成に必要な制御仕様の設計支援を対象にしたもので、大きく分けて、知識ベース４０と、処理系５０とで構成されている。
【００５７】
知識ベース４０は、少なくとも機器・加工材料表示データ４１、オントロジー４２、ユーザ意図解析用文法４３、目標状態生成手順４４、確認文生成用文法４５、機器・加工材料・センサ状態４６、機器・加工材料・センサ４７の知識を持つ。また、この知識ベース４０の持つ知識は、処理系５０の後述する入出力制御部５２、ユーザ意図解析５３、ユーザ意図確認部５４、目標状態生成部５５等により参照される。
【００５８】
機器・加工材料表示データ４１は、本実施例装置が扱う機器・加工材料の図形データなどの表示データ知識である。このデータの少なくとも一部は、機器・加工材料や機器・加工材料の状態に関するオントロジーの語彙を用いて表現され、機器・加工材料やその状態の変化に伴なって後述する入出力制御部５２が表示データを切替えることができるようになっている。
【００５９】
オントロジー４２は、機器・加工材料・センサとその状態に関するオントロジー化された知識である。このオントロジー４２は、機器・加工材料・センサ表示データ４１、ユーザ意図解析用文法４３、確認文生成用文法４５、目標状態生成手順４４、機器・加工材料・センサ４７、機器・加工材料・センサ状態４６等を表現するために用いられるとともに後述するユーザ意図解析部５３により参照される。
【００６０】
ユーザ意図解釈用文法４３は、後述する入出力デバイス５１を介してユーザが与える指示からユーザの意図を解析するための文法知識である。解釈に適用される文法規則が決まると、その規則を用いて確認文生成用文法４５や目標状態生成手順４４を検索することができる。
【００６１】
目標状態生成手順４４は、ユーザの指示を解釈した結果に基づいて目標状態を生成するための手順となる知識である。この部分には、図３０や図３２に示すような手順知識が格納されている。
【００６２】
確認文生成用文法４５は、ユーザの指示を解釈した結果をユーザに確認するための文を生成するのに用いられる文法知識である。
【００６３】
機器・加工材料・センサ状態４６は、機器・加工材料・センサの状態に関する知識である。この知識は、後述する入出力制御部５２、ユーザ意図解析部５３、ユーザ意図確認部５４、目標状態生成部５５等より参照される。
【００６４】
機器・加工材料・センサ４７は、機器・加工材料・センサに関する知識である。この知識は、後述する入出力制御部５２、ユーザ意図解析部５３、ユーザ意図確認部５４、目標状態生成部５５等より参照される。
【００６５】
一方、処理部５０は、入出力デバイス５１、入出力制御部５２、ユーザ意図解析部５３、ユーザ意図確認部５４、目標状態生成部５５、初期状態設定部５６、制御仕様生成部５７から構成されている。
【００６６】
入出力デバイス５１は、ユーザからの指示を受取って入出力制御部５２に伝え、入出力制御部５２の制御によりユーザに図１１〜図１４等に示す画面を出力したり、あるいは文字データや音声データなどを出力するデバイスである。
【００６７】
入出力制御部５２は、機器・加工材料・センサ４７、機器・加工材料・センサ状態４６、表示データ４１等の知識を参照して、入出力デバイス５１を制御する。
【００６８】
ユーザ意図解析部５３は、オントロジー４２、ユーザ意図解析用文法４３、対象に関する知識、対象の状態に関する知識等を参照してユーザの意図を解析する。
【００６９】
ユーザ意図確認部５４は、オントロジー４２、確認文生成用文法４５、機器・加工材料・センサに関する知識、機器・加工材料の状態に関する知識を参照して、ユーザの意図として装置が解釈したものをユーザに確認を取るための文を生成して入出力制御部５２に渡す。
【００７０】
目標状態生成部５５は、ユーザの指示を解釈した結果に基づいて参照されるべき目標状態生成手順を参照し、さらに機器・加工材料・センサに関する知識や機器・加工材料・センサの状態に関する知識を参照して目標状態生成手順を実行する。
【００７１】
初期状態設定部５６は、ユーザの指示を解釈した結果に基づいて参照されるべき目標状態生成手順を参照し、さらに機器・加工材料・センサに関する知識や機器・加工材料・センサの状態に関する知識を参照して初期状態を設定する。
【００７２】
制御仕様生成部５７は、目標状態生成部５５から受け取った図２６〜図２８に示すような目標状態を基に制御仕様を生成する。
【００７３】
そして、生成された制御仕様は、制御プログラム生成装置６０に与えられる。この制御プログラム生成装置６０は、受け取った制御仕様を基に機器・加工材料などの制御対象６１の制御プログラムを生成する。
【００７４】
なお、この制御プログラム設計支援装置３０が出力した目標状態を制御対象６１の初期状態の設定にも用いることができる。
【００７５】
図３および図４には本実施例装置で用いているオントロジーの語彙の概念階層の一例が示されている。
【００７６】
図の中で、機器や加工材料やセンサの下位にあるコイルカーや薄板や停止位置１検出等は機器や加工材料やセンサに関するオントロジーの語彙の一部であり、機器状態の下位にある搭載中や支持中等は機器・加工材料・センサの状態に関するオントロジーの語彙の一部である。
【００７７】
このオントロジーの語彙やその構成を、たとえば制御分野でコンセンサスのとれた文献（鉄鋼便覧等）に基づいて構築し、このオントロジーに基づいて後述する図６や図７に示す文法を作成することにより、設計者やユーザによらず、広く標準的な、しかも制御分野一般に用いることのできる操作規則とすることができる。
【００７８】
図５にはオントロジーの語彙に含まれる言葉であるコイルカーの定義の一記述例が示されている。
【００７９】
図中７１はコイルカーが他の知識を記述する際に用いる名前、物理構成、状態図形、コイルカーが扱う加工材料等に関する属性項目であり、７２は属性値である。属性値には、薄板や昇降位置状態のようなオントロジーの語彙の言葉や定数や何らかのデータ等が登録される。
【００８０】
実装では、クラス属性やインスタンス（オブジェクト）の属性値の型等を用いて行なってもよい。
【００８１】
図６および図７には本実施例装置で用いるユーザ意図解析用文法４３の知識例が示されている。
【００８２】
この文法では、ユーザにより選択された機器や加工材料やセンサが左辺のオントロジーの言葉が表す概念に含まれている場合は、右辺の挙動をユーザが意図していると解釈する。この右辺の項を用いて、確認文生成用文法４５や目標状態生成手順（挙動辞書）４４の知識を検索することができる。
【００８３】
図８〜図１０には、確認文生成用文法４５の知識例が示されている。
【００８４】
本実施例装置では、格文法を用いて記述している。図中１０１と１１１と１２１は、これらの文法規則の各項の格を表している。１０２と１１２と１２２では、各項に当てはまる概念が括弧で括ったオントロジーの言葉により表現され、さらに、この文法を用いて文を生成する場合に各項に付加する付属語をオントロジーの言葉の後に記述している。１０３と１１３と１２３は、これらの文法を適用して生成した文の例である。
【００８５】
図１１〜図１３には、この装置が対象としているプラント設備の機器・加工材料・センサの状態がそれぞれ異なる場合（状態）を表示した画面の例が示されている。この設備を本実施例では出側設備と呼ぶ。
【００８６】
この設備の運転の概要を説明すると次のようになる。まず、テンションリールが鉄の薄板を巻き取ってコイル状にする。コイル状に巻かれた薄板が、図中のコイル１とコイル２とコイル３である。コイル１〜３は、Ｎｏ．１出側コイルカーによって順次搬送されてサドルに載せられる。これらの図では、たとえばサドル１が表示されている。コイル１〜３は、サドル１に載せられた後、サドル１ごと別の搬送機器によって他の設備に運ばれる。サドル１に載せられたコイル状の薄板が運び去られるまでは、新たに別のサドルにコイルを載せることができないので、スキッド１およびスキッド２に一旦載せてタイミングを計る。図中では、機器の位置を分かりやすく表示するために、必要に応じて場所を示す図形を表示している。ここでは、この図形をセンサと称している。
【００８７】
図１４にはプラント設備における別の場所のある場面を表示した画面例が示されている。この設備を本実施例では搬送設備と呼ぶ。
【００８８】
この設備の運転の概要を説明すると次のようになる。まず、コイル状の薄板（コイル４やコイル５）がサドルに載せられて運ばれてくる。この図ではサドル５が表示されている。サドル５に載せられたコイル５は、Ｎｏ．６スプールトングによって受け取られて搬送され、スキッド５やスキッド６に載せられる。スキッド上のコイルは、他の機器によって受け取られて他の設備に搬送される。図中では、機器の位置を分かりやすく表示するために、必要に応じて場所を示す図形を表示している。ここでは、この図形をセンサと称している。
【００８９】
図１１と図１４のように異なる種類の機器を用いた設備の画面を表示して操作する場合でも、図３および図４に示したオントロジーの語彙に基づいて記述された図６〜図１０の文法が有効に用いられ、新たに図形の組合せによる操作規則を作成しなくてもよい。
【００９０】
図１５〜図１８には、機器・加工材料に関する知識の例が示されている。
【００９１】
図中、１３１，１４１，１５１，１６１は、オブジェクト名、オブジェクトが対応するオントロジーの語彙にある言葉、物理構成、機器・加工材料の表示する時々の状態、機器の持つ状態項目、状態項目が取り得るプリミティブ状態、図形などに関する属性項目である。図中１３２、１４２、１５２、１６２は属性値である。属性値の図形データは表示データと接続されている。
【００９２】
図１９〜図２２には、機器・加工材料の状態に関する知識の例が示されている。これらの図は、プログラマブルコントローラ上のセンサの状態を表す信号やその信号の論理結合等と対応する、プリミティブな状態を表している。
【００９３】
図中、１７１，１８１，１９１，２０１は、各状態のオブジェクト名、オブジェクトが対応するオントロジーの語彙にある言葉、この状態を持つ機器、この状態の属する状態項目などに関する属性項目を表し、１７２，１８２，１９２，２０２は属性値を表す。
【００９４】
図２３および図２４にはプリミティブ状態を組合せることで、機器全体としての状態を表わす知識の例が示されている。
【００９５】
図中、２１１，２２１は、オブジェクト名、オブジェクトが対応するオントロジーの語彙にある言葉、プリミティブ状態の組合せに関する属性項目を表し、２１２，２２２はその属性値を表す。
【００９６】
図２５には加工材料に関する知識の例が示されている。
【００９７】
図中、２３１はオブジェクトが対応するオントロジーの語彙にある言葉やその加工材料を処理中の機器や加工材料の状態や図形等に関する属性項目であり、２３２はその属性値を表す。
【００９８】
ここで、本実施例では、オブジェクト名をオブジェクト識別子のように扱っているが、各知識間を接続することができれば、オブジェクト識別子を用いても他の方法を用いてもよい。
【００９９】
図２６〜図２８には本実施例の制御プログラム設計支援装置の目標状態の例が示されている。本実施例では目標状態を図２３のような機器の状態を列挙するのではなく、目標状態が満たすべき条件として扱っている。すなわち、（機器ａ、状態項目ｂ、プリミティブ状態ｃ）の組みを用いて、「機器ａの状態項目ｂに登録されているプリミティブ状態が、プリミティブ状態ｃである。」という条件である。このように、本来の目標状態の一部を指定するだけにして目標状態の生成を簡単化している。このため、目標状態を別名、状態探索条件と呼ぶ。
【０１００】
図２９〜図３３を用いて簡単な図形操作から制御対象の目標状態や初期状態の生成や設定する手段について説明する。また、ここで図１１と図１４のように異なる設備についても共通に同じ文法および手順を用いて処理できることを説明する。
【０１０１】
図２９にはプラントの設備内の機器や加工材料に関するオントロジーの語彙を用いて記述した解析文法を用い、ユーザによる視覚的な指示を受け取ってユーザが意図する挙動を行なうまでの処理手順が示されている。
【０１０２】
ステップ３０１において、機器や加工材料の図形を表示した画面（図１１、図１４）からユーザが機器の図形を選択する。たとえば、図１１からはＮｏ．１出側コイルカーとスキッド２上のコイル１、図１４からはＮｏ．６スプールトングとサドル５上にあるコイル５を選択する。選択の仕方は、マウスのようなポインティングデバイスを用いて、図形を一つづつ選択してもよいし、機器の図形あるいは加工材料の図形をドラッグ・アンド・ドロップして行なってもよい。
【０１０３】
ステップ３０２において、ステップ３０１で選択された機器および加工材料の対応するオントロジーの語彙にある言葉を検索する。本実施例では、オブジェクト指向プログラミングのクラスを用いて、オントロジーの語彙にある言葉を定義しているため、機器あるいは加工材料を表すオブジェクトの属性項目instance-of からオントロジーの語彙にある言葉を検索する。たとえば、Ｎｏ．１出側コイルカーからはコイルカー、コイル１とコイル５からは薄板、Ｎｏ．６スプールトングからはスプールトングが検索される。
【０１０４】
ステップ３０３において、ステップ３０２で検索されたオントロジーの語彙にある言葉の組合せを満たす文法規則を図６のユーザ意図解析用文法から検索する。たとえば、コイルカーは図３のオントロジーの語彙の階層により、台車型運搬機器と搬送機器と機器の下位概念になるため、コイルカーと台車型運搬機器と搬送機器と機器が左辺の要素にある文法規則（８２，８３）が検索される。薄板は鉄鋼材料と加工材料の下位概念になるため、薄板、鉄鋼材料、加工材料が左辺の要素にある文法規則（８１，８２）が検索される。同様にして、スプールトングから文法規則（８２，８３）が検索される。
【０１０５】
ステップ３０４において、ステップ３０３で検索した文法規則の中から適用する文法規則を決定する。たとえば図１１の指示から始まる処理では、コイルカーと薄板により検索された文法規則の積集合をとり、文法規則８２が選択される。図１４の指示から始まる処理では、スプールトングと薄板により検索された文法規則の積集合をとり、文法規則８２が選択される。ここで、文法規則の積集合の要素が複数ある場合は、より特定性の高い、すなわち図３および図４に示されるオントロジーの語彙の階層で、より下位の概念で記述された文法規則を選択する。
【０１０６】
ステップ３０５において、ステップ３０４で選択された文法規則の右辺にある挙動名により挙動辞書から実行する挙動を選択する。図１１および図１４での指示から始まる処理例では、共に文法規則８２の右辺：移載２（受け取る）に対応する処理（図３０）が検索される。
【０１０７】
ステップ３０６において、ステップ３０５で検索された処理を実行する。
【０１０８】
図３０には移載２（受け取る）に対応する処理手順が示されている。
【０１０９】
ステップ４０１において、加工材料のオブジェクトの属性“loaded-by ”に登録された機器を検索する。たとえば図１１の指示から始まる処理では、コイル１について図２５のオブジェクトからスキッド２が検索される。
【０１１０】
ステップ４０２において、検索された機器の状態項目（“搭載状態”あるいは“支持状態”）から、“加工材料無し状態”の下位概念に属する状態を検索する。たとえばスキッド２に関しては、図１６のスキッド２のオブジェクトの属性項目「支持状態」から加工材料無し状態の下位概念「支持無」のインスタンスである「コイル支持無」が検索される。
【０１１１】
ステップ４０３において、搬送機器の状態項目“搭載状態”から“加工材料有り状態”の下位概念に属する状態を検索する。たとえば図１１の指示から始まる処理では、Ｎｏ．１出側コイルカーについては図１５のＮｏ．１出側コイルカーのオブジェクトの属性項目「搭載状態」から加工材料有り状態の下位概念「搭載中」のインスタンスである「コイル搭載中」が検索される。
【０１１２】
図１４の指示から始まる処理では、Ｎｏ．６スプールトングについては図１７のＮｏ．６スプールトングのオブジェクトの属性項目「搭載状態」から加工材料有り状態の下位概念「搭載中」のインスタンスである「コイル搭載中」が検索される。
【０１１３】
ステップ４０４において、状態探索条件のリストを作成し出力する。出力形式は、たとえば、（（搬送機器“搭載状態”加工材料有り状態）（検索された機器“搭載状態”ｏｒ“支持状態”加工材料無し状態））のようなリスト形式でもよいし、表形式でもよい。図１１および図１４の指示から始まる処理での状態探索条件を表形式で表すと、それぞれ図２６および図２７のようになる。
【０１１４】
ステップ４０５において、図８の確認文生成用文法“（搬送機器）が（検索された機器）の（加工材料）を受け取る。”にインスタンスオブジェクトのオブジェクト名を当てはめて文を作成し出力する。たとえば図１１の指示から始まる処理では、搬送機器にＮｏ．１出側コイルカー、検索された機器にスキッド２、加工材料にコイル１を当てはめて、“Ｎｏ．ｌ出側コイルカーがスキッド２の上のコイル１を受け取る。”という文が作成される。
【０１１５】
図１４の指示から始まる処理では、搬送機器にＮｏ．６スプールトング、検索された機器にサドル５、加工材料にコイル５を当てはめて、“Ｎｏ．６スプールトングがサドル５の上のコイル５を受け取る。”という文が作成される。
【０１１６】
出力の仕方としては、このまま文字列として出力してもよいし、オントロジーの語彙にある言葉やオブジェクト毎に音声データを保持し、これに加え助詞や指示語の音声データも保持することにより、音声により出力してもよい。また出力した文の履歴を記憶し、参照できる手段を設けるのもよい。
【０１１７】
なお、ステップ４０１〜４０５の処理を繰り返すことで、操作を確認しながら、状態探索条件の（機器状態項目プリミティブ状態）の条件を増やせるようにしてもよい。
【０１１８】
図３１にはプラントの設備内の機器や加工材料に関するオントロジーに加え機器や加工材料の状態に関するオントロジーの語彙も用いて記述した解析文法を用いて、ユ−ザによる視覚的な指示を受けとってユーザが意図する挙動を行なうまでの処理手順が示されている。
【０１１９】
ステップ５０１において、機器や加工材料の図形を表示した画面から、ユーザが機器の図形を選択する。たとえば図１２からＮｏ．１出側コイルカーとサドル１を選択する。選択の仕方は、マウスのようなポインティングデバイスを用いて図形を一つづつ選択してもよいし、機器の図形あるいは加工材料の図形をドラッグ・アンド・ドロップして行なってもよい。
【０１２０】
ステップ５０２において、ステップ５０１で選択された機器および加工材料の対応するオントロジーの語彙にある言葉を検索する。本実施例では、オブジェクト指向プログラミングのクラスを用いて、オントロジーの語彙にある言葉を定義しているため、機器あるいは加工材料を表すオブジェクトの属性項目instance-of からオントロジーの語彙にある言葉を検索する。たとえばＮｏ．１出側コイルカーからはコイルカー、サドル１からはサドルが検索される。
【０１２１】
ステップ５０３において、ステップ５０２で検索されたオントロジーの語彙にある言葉の組合せを満たす文法規則を図６と図７に示されるユーザ意図解析用文法４３から検索する。
【０１２２】
たとえばコイルカーは、図３のオントロジーの語彙の階層により、台車型運搬機器と搬送機器と機器の下位概念になるため、コイルカーと台車型運搬機器と搬送機器と機器が左辺の要素にある文法規則（８２，８３，９１〜９７）が検索される。サドルは、加工材料支持機器と機器の下位概念になるため、サドルと加工材料支持機器と機器が左辺の要素にある文法規則（８３，９１〜９７）が検索される。
【０１２３】
ステップ５０４において、ステップ５０３で検索された文法の中で状態のオントロジーの語彙による制限が加えられた文法について、ステップ５０１で選択された機器および加工材料の選択された時点での状態と照らし合わせることで文法の絞り込みを行なう。
【０１２４】
本実施例では、文法規則９１〜９７が状態オントロジーの語彙によって制限が加えられている。この中で、たとえば文法規則９１では、搬送機器について搭載中というオントロジーの語彙にある言葉により制限されている。図１２の指示から始まる処理では、この搬送機器にＮｏ．１出側コイルカーが相当する。そこで、Ｎｏ．１出側コイルカーのオブジェクト（図１５）の属性項目current-state からコイルカーの状態を表すオブジェクト（図２３）を検索する。さらにコイルカーの状態のオブジェクト（図１５）の属性項目搭載状態からコイルカーの状態のコイル搭載中を検索する。コイル搭載中の属性項目instance-of から搭載中が検索されるため、Ｎｏ．１出側コイルカーについては、文法規則９１は適用される文法規則の候補として残す。もし、コイルカーの状態のオブジェクト（図２３）の属性項目搭載状態の値がコイル搭載無だった場合は、文法規則９１は適用される文法規則の候補から削除される。同様にして、他の文法について絞り込みを行なった結果、Ｎｏ．１出側コイルカーについては文法規則（８２，８３，９１，９４，９６）が候補に残る。サドル１については文法規則（８３，９１，９３，９６）が候補に残る。
【０１２５】
ステップ５０５において、ステップ５０４で絞り込んだ文法規則の中から適用する文法規則を決定する。たとえば図１２での指示から始まる処理では、コイルカーとサドルにより検索された文法規則の積集合をとり、文法規則（８３，９１，９６）が選択される。このうち、文法規則８３は、機器が加工材料支持機器の上位概念であるため、残りの２つの文法規則（９１，９６）に比べ特定性が低い。また、文法規則９６は、左辺が回転機器であるのに対し、ユーザからの指示により与えられた機器が搬送機器であるため、文法の充足度が低い。このため、文法規則９１が選択される。
【０１２６】
このように、文法規則の積集合の要素が複数ある場合は、特定性と充足性の高い文法規則を優先する。
【０１２７】
ステップ５０６において、ステップ５０５で選択された文法規則の右辺にある挙動名により挙動辞書から実行する挙動を選択する。図１２での指示から始まる処理例では、文法規則９１の右辺：移載３（載せる）に対応する処理（図３２）が検索される。
【０１２８】
ステップ５０７において、ステップ５０６で検索された処理を実行する。
【０１２９】
図３２には移載３（載せる）に対応する処理手順が示されている。
【０１３０】
ステップ６０１において、加工材料支持機器の状態項目“支持状態”から、“加工材料有り状態”の下位概念に属する状態を検索する。たとえば図１２の指示から始まる処理では、サドル１に関しては、図１８のサドル１のオブジェクトの属性項目「支持状態」から加工材料有り状態の下位概念「支持中」のインスタンスである「コイル支持中」が検索される。
【０１３１】
ステップ６０２において、搬送機器の状態項目“搭載状態”から“加工材料無し状態”の下位概念に属する状態を検索する。たとえば図１２の指示から始まる処理では、Ｎｏ．ｌ出側コイルカーについては図１５のＮｏ．１出側コイルカーのオブジェクトの属性項目「搭載状態」から加工材料無し状態の下位概念「搭載無」のインスタンスである「コイル搭載無」が検索される。
【０１３２】
ステップ６０３において、状態探索条件のリストを作成し出力する。出力形式は、たとえば（（搬送機器“搭載状態”加工材料無し状態）（加工材料支持機器“支持状態”加工材料有り状態））のようなリスト形式でもよいし、表形式でもよい。図１２の指示から始まる処理での状態探索条件を表形式で表すと、図２８のようになる。
【０１３３】
ステップ６０４において、搬送機器のオブジェクトの属性項目having-material から、搬送機器に搭載されている加工材料を検索する。たとえばＮｏ．１出側コイルカーのオブジェクトからコイル１が検索される。
【０１３４】
ステップ６０５において、図９の確認文生成用文法：“（搬送機器）が（加工材料支持機器）に（加工材料）を載せる。”にインスタンスオブジェクトのオブジェクト名を当てはめて文を作成し出力する。たとえば図１２の指示から始まる処理では、搬送機器にＮｏ．１出側コイルカー、加工材料支持機器にサドル１、加工材料にコイル１を当てはめて、“Ｎｏ．ｌ出側コイルカーがサドル１にコイル１を載せる。”という文が作成される。
【０１３５】
出力の仕方としては、このまま文字列として出力してもよいし、オントロジーの語彙にある言葉やオブジェクト毎に音声データ保持し、これに加え助詞や指示語の音声データも保持することにより、音声により出力してもよい。また、出力した文の履歴を記憶し、参照できる手段を設けるのもよい。
【０１３６】
なお、ステップ６０１〜６０５の処理を繰り返すことで、操作を確認しながら、状態探索条件の（機器状態項目プリミティブ状態）の条件を増やせるようにしてもよい。
【０１３７】
図３３には、図３２の“移載３（載せる）”に対応する処理を流用して、初期状態を設定する手順が示されている。
【０１３８】
ステップ７０１〜ステップ７０３は、図３２とほぼ同じ処理である。
【０１３９】
ステップ７０１において、加工材料支持機器の状態項目“支持状態”から、“加工材料有り状態”の下位概念に属する状態を検索する。たとえば図１２の指示から始まる処理では、サドル１に関しては、図１８のサドル１のオブジェクトの属性項目「支持状態」から加工材料有り状態の下位概念「支持中」のインスタンスである「コイル支持中」が検索される。
【０１４０】
ステップ７０２において、搬送機器の状態項目“搭載状態”から“加工材料無し状態”の下位概念に属する状態を検索する。たとえば図１２の指示から始まる処理では、Ｎｏ．ｌ出側コイルカーについては、図１５のＮｏ．１出側コイルカーのオブジェクトの属性項目「搭載状態」から加工材料無し状態の下位概念「搭載無」のインスタンスである「コイル搭載無」が検索される。
【０１４１】
ステップ７０３において、状態探索条件のリストを作成する。作成する形式は、たとえば（（搬送機器“搭載状態”加工材料無し状態）（加工材料支持機器“支持状態”加工材料有り状態））のようなリスト形式でもよいし、表形式でもよい。図１２の指示から始まる処理での状態探索条件を表形式で表すと、図２８のようになる。
【０１４２】
ステップ７０４において、加工材料支持機器の状態項目“支持状態”を加工材料有り状態に置き換えた機器状態を検索し、搬送機器の状態項目“搭載状態”を加工材料無し状態に換えた搬送機器の状態を検索する。たとえば図１２の指示から始まる処理、たとえばコイルカーの場合では、始めの状態の図２３のコイルカー状態αから、指示により図２４のコイルカー状態δが検索される。
【０１４３】
ステップ７０５において、検索された機器状態にしたがって表示画面を再表示するメッセージを入出力制御部５２に送る。これにより、たとえば図１２の指示から始まる処理では、始めの画面（図１２）から、指示により図１３の画面が表示される。
【０１４４】
なお、ステップ７０１〜７０５の処理を繰り返すことで、操作を確認しながら、状態探索条件の（機器状態項目プリミティブ状態）の条件を増やすのと同じように初期状態の設定に幾つかの操作を行なってもよい。
【０１４５】
さらに、この処理の後に、目標状態の解析のときと同じように確認文を生成してもよい。
【０１４６】
このように、表示対象に関するオントロジーとオントロジーの語彙を利用した文法を備えているので、オントロジーの範疇にあるものを表示対象とする限り、ＧＵＩ設計者がＧＵＩを作成する都度、図形操作と挙動とを結ぶ規則を作らなくても、表示対象がオントロジーの語彙のどの言葉に対応するのかを指定するだけで、所望のＧＵＩを作成することができるため、ＧＵＩの作成効率を向上させることができる。
【０１４７】
また、ユーザインターフェースの設計者やユーザが異なっても類似の操作の意味が同様に解釈して実行され、操作と挙動との結び付きがどのユーザからも受け入れられ易くなり、ユーザが本来の目的に集中することができ、しかもユーザの操作がシステム側にどのように解釈されているかを明確にユーザに伝えることにより、ユーザが安心して正確に作業を行なうことができるので、一層効率良く作業を行なうことができる。
【０１４８】
また、制御仕様の生成支援分野に適用した場合においも、表示する制御対象に関するオントロジーとオントロジーの語彙を利用した文法を備えていれば、オントロジーの範疇にある制御対象を表示対象とする限り、制御対象を模式的に表示する画面を作成する都度、図形操作とユーザの意図する制御対象の状態変化とを結ぶ規則を作らなくても、図形の表す制御対象がオントロジーの語彙のどの言葉に対応するのかを指定するだけで、所望のＧＵＩを作成できるため、ＧＵＩの作成効率を向上させることができる。
【０１４９】
また、ユーザインターフェースの設計者やユーザが異なっても類似の操作の意味が同様に解釈されて実行されるので、図形操作と制御対象の状態変化との結び付きがどのユーザからも受け入れられ易くなり、ユーザが本来の制御対象の制御の流れに集中することができる。しかもユーザの操作がシステム側にどのように解釈されているかを明確にユーザに伝えることにより、ユーザが安心して正確に作業を行なうことができ、制御プログラムの設計作業を一層効率良く行なうことができる。
【０１５０】
図３４には本発明の第３の実施例に係る制御プログラム設計支援装置のブロック構成図が示されている。
【０１５１】
また、図３５には本発明の第４の実施例に係る制御プログラム設計支援装置のブロック構成図が示されている。
【０１５２】
図３４に示される装置と図３５に示される装置との違いは、制御仕様作成手順にある。すなわち、後述するように、図３４に示される装置は、マッチング条件を持つ作業知識を用いて一度の状態空間の探索に対して探索範囲を制限するスコープを一つ作成して探索効率を高めている。また、図３５に示される装置は、同様のマッチング条件を持つ作業知識を用いて一度の状態空間の探索に対して幾つかのスコープを作成し、探索の局面に合せてスコープを切替えながら探索を行なうことで探索効率を高めている。
【０１５３】
まず、図３４に示される第３の実施例に係る制御プログラム設計支援装置の構成から説明する。
【０１５４】
この制御プログラム設計支援装置は、大きく分けて、知識ベース８００と処理部９００とで構成されている。
【０１５５】
知識ベース８００は、対象知識８０１、状態空間モデル８０２、制御仕様８０３等を記憶し、処理部９００で行なう処理で用いられる知識を提供する。
【０１５６】
対象知識８０１は、図形知識８０４、状態構成知識８０５、作業知識８０６、動作知識８０７、副次的状態遷移８０８等の制御対象に関する知識を備えている。これらの知識は処理部９００での各処理に用いられる。
【０１５７】
図形知識８０４は、設備あるいは設備内の機器を、その状態に応じて図形等を用いてどのように表示するかの知識である。
【０１５８】
状態構成知識８０５は、設備や機器の状態に関する知識である。本実施例において、この知識は設備レベル、機器レベル、プリミティブレベルに分割して扱っている。
【０１５９】
作業知識８０６は、設備内の作業に関する知識である。本実施例では、作業知識８０６が持つマッチング条件を一つのキーポイントとしている。マッチング条件は、プリミティブレベルの状態の論理結合を用いて表される。
【０１６０】
動作知識８０７は、設備内の機器の動作に関する知識である。各動作はそれぞれの重みを持っており、この重みが（重み付き有向グラフのように扱える）状態空間モデルの重みとして用いられる。
【０１６１】
副次的状態遷移８０８は、機器の動作によって動作した機器およびその他の機器に起こる副次的な状態遷移の知識である。
【０１６２】
状態空間モデル８０２は、状態遷移経路探索で用いるモデルである。
【０１６３】
制御仕様８０３は、この制御プログラム設計支援装置の出力である。
【０１６４】
一方、処理部９００は、入出力デバイス９０１、入出力制御部９０２、初期状態設定部９０３、初期状態情報格納部９０４、目標状態（状態探索条件）定義部９０５、目標状態（状態探索条件）情報格納部９０６、スコープ決定部９０７、スコープ情報格納部９０８、探索計算量見積り部９０９、状態遷移経路探索部９１０、状態遷移経路情報格納部９１１、状態遷移経路−制御仕様変換部９１２を備えている。
【０１６５】
入出力デバイス９０１は、表示画面やキーボード等を備え、ユーザとこの制御プログラム設計支援装置との間の入出力処理を行なう。
【０１６６】
入出力制御部９０２は、状態構成知識８０５と図形知識８０４等を用いて、設備内の機器を入出力デバイス９０１で表示する制御を行ったり、ユーザとのやりとりを制御する。
【０１６７】
初期状態設定部９０３は、図形知識８０４や状態構成知識８０５等を用いてユーザの指示に基づいて制御対象（設備）の初期状態を設定する。
【０１６８】
初期状態情報格納部９０４は、制御仕様を作成する時の始めの制御対象（設備）の状態を表す初期状態情報を記憶する。
【０１６９】
目標状態（状態探索条件）定義部９０５は、図形知識８０４や状態構成知識８０５等を用いてユーザの指示から制御対象（設備）の目標状態（状態探索条件）を定義する。
【０１７０】
目標状態（状態探索条件）情報格納部９０６は、機器動作により制御対象（設備）が到達する状態を表す目標状態（状態探索条件）情報を記憶する。
【０１７１】
スコープ決定部９０７は、状態構成知識８０５や作業知識８０６等からスコープを決定する。
【０１７２】
スコープ情報格納部９０８は、状態空間の探索において探索空間を制限する、すなわち状態遷移経路の探索時に着目する機器を表す情報を記憶する。
【０１７３】
探索計算量見積り部９０９は、作業知識８０６、動作知識８０７、スコープ情報、状態空間モデル８０２等を用いて探索時の計算量を見積る。
【０１７４】
状態遷移経路探索部９１０は、状態構成知識８０５、動作知識８０７、副次的状態遷移８０８、状態空間モデル８０２等を用いて初期状態から目標状態に至る状態遷移経路を生成する。
【０１７５】
状態遷移経路情報格納部９１１は、初期状態から目標状態までの機器の動作とその動作に伴う状態遷移を表す状態遷移経路情報を記憶する。
【０１７６】
状態遷移経路−制御仕様変換部９１２は、状態構成知識８０５や動作知識８０７等を用いて状態遷移経路を制御仕様に変換する。
【０１７７】
なお、図中、９１３は与えられた制御仕様から制御プログラムを生成する制御プログラム生成装置を示し、９１４は制御対象（設備）を制御するためにファクトリーコンピュータ上で実行される制御プログラムである。
【０１７８】
次に、図３５に示される第４の実施例に係る制御プログラム設計支援装置の構成を説明する。
【０１７９】
この制御プログラム設計支援装置も、大きく分けて、知識ベース１０００と処理部１１００とで構成されている。
【０１８０】
知識ベース１０００は、対象知識１００１、状態空間モデル１００２、制御仕様１００３等を記憶し、処理部１１００で行なう処理で用いられる知識を提供する。
【０１８１】
対象知識１００１は、図形知識１００４、状態構成知識１００５、作業知識１００６、動作知識１００７、副次的状態遷移１００８等の制御対象に関する知識を備えている。これらの知識は処理部１１００での各処理に用いられる。
【０１８２】
図形知識１００４は、設備あるいは設備内の機器をその状態に応じて図形等を用いてどのように表示するかの知識である。
【０１８３】
状態構成知識１００５は、設備や機器の状態に関する知識である。本実施例において、この知識は設備レベル、機器レベル、プリミティブレベルに分割して扱っている。
【０１８４】
作業知識１００６は、設備内の作業に関する知識である。本実施例では、作業知識１００６が持つマッチング条件を一つのキーポイントとしている。マッチング条件は、プリミティブレベルの状態の論理結合を用いて表される。
【０１８５】
動作知識１００７は、設備内の機器の動作に関する知識である。各動作はそれぞれの重みを持っており、この重みが（重み付き有向グラフのように扱える）状態空間モデルの重みとして用いられる。
【０１８６】
副次的状態遷移１００８は、機器の動作によって動作した機器およびその他の機器に起こる副次的な状態遷移の知識である。
【０１８７】
状態空間モデル１００２は、状態遷移経路探索で用いるモデルである。
【０１８８】
制御仕様１００３は、この制御プログラム設計支援装置の出力である。
【０１８９】
一方、処理部１１００は、次のような構成要素を備えている。
【０１９０】
入出力デバイス１１０１は、表示画面とキーボード等を備え、ユーザとこの制御プログラム設計支援装置との間の入出力処理を行う。
【０１９１】
入出力制御部１１０２は、状態構成知識１００５と図形知識１００４等を用いて、設備内の機器を入出力テバイス１１０１のディスプレイに表示する制御をしたり、ユーザとのやりとりを制御する。
【０１９２】
初期状態設定部１１０３は、図形知識１００４や状態構成知識１００５等を用いてユーザの指示から制御対象（設備）の初期状態を設定し、設定した初期状態から initial-operation  を設定する。
【０１９３】
初期状態情報格納部１１０４は、制御仕様を作成する時の始めの制御対象（設備）の状態を表す情報を記憶する。
【０１９４】
initial-operation情報格納部１１０５は、初期状態がマッチング条件を満たしている作業知識で、状態経路探索で始めのスコープを作成するのに用いる initial-operation  情報を記憶する。
【０１９５】
目標状態（状態探索条件）定義部１１０６は、図形知識１００４や状態構成知識１００５等を用いてユーザの指示から制御対象（設備）の目標状態（状態探索条件）を定義し、目標状態（状態探索条件）から goal-operation を定義する。
目標状態（状態探索条件）情報格納部１１０８は、機器の動作により制御対象（設備）が到達する状態を表す目標状態（状態探索条件）情報を記憶する。
【０１９６】
goal-operation 情報格納部１１０９は、目標状態（状態探索条件）がマッチング条件を満たしている作業知識で、探索の成功／失敗の判定材料にもなる情報を記憶する。
【０１９７】
作業列作成部１１１０は、作業知識１００６から initial-operation  と goal-operation の間にある作業知識の列（作業列）を作成する。
【０１９８】
作業列情報格納部１１１１は、initial-operation と goal-operation の間にある作業知識の列を表す作業列情報を記憶する。
【０１９９】
探索計算量見積り部１１１２は、作業列等を用いて探索時の計算量を見積る。図３５のブロック図および図６７，図６８の手順では、作業列だけを用いるようになっているが、図３４のブロック図や図６６の手順のように作業知識１００６、動作知識１００７、スコープ、状態空間モデル１００２等を用いてもよい。
【０２００】
状態遷移経路探索部１１１３は、状態構成知識１００５、動作知識１００７、副次的状態遷移１００８、状態空間モデル１００２、作業列等を用いて初期状態から目標状態に至る状態遷移経路を生成する。この状態遷移経路探索部１１１３は、主に、スコープ決定・切替え部１１１４、状態遷移先決定部１１１５、目標状態判定部１１１６、探索失敗判定部１１１７等からなる。
【０２０１】
スコープ決定・切替え部１１１４は、状態構成知識１００５と作業知識１００６のマッチング条件と作業列等から探索の局面を判断し、スコープの決定に用いる作業知識を切替え、切替えた作業知識からスコープを決定する。
【０２０２】
スコープ情報格納部１１１８は、状態空間の探索において探索空間を制限する、すなわち、状態遷移経路の探索時に着目する機器を表すスコープ情報を記憶する。
【０２０３】
状態遷移先決定部１１１５は、状態構成知識１００５、動作知識１００６、副次的状態遷移１００８、状態空間モデル１００２等を用いて次々に設備状態の遷移先を決定する。
【０２０４】
状態遷移経路情報格納部１１１９は、初期状態から目標状態までの機器の動作とその動作に伴う状態遷移を表す情報を記憶する。
【０２０５】
目標状態判定部１１１６は、状態構成知識１００５、状態探索条件等を用いて探索された設備状態が目標状態であるかどうか判定する。
【０２０６】
探索失敗判定部１１１７は、状態構成知識１００５、goal- operation 等を用いて状態探索経路が作業列から逸脱していないかどうか判定する。
【０２０７】
状態遷移経路−制御仕様変換部１１２０は、状態構成知識１００５や動作知識１００６等を用いて状態遷移経路を制御仕様に変換する。
【０２０８】
なお、図中１１２１は生成された制御仕様から制御プログラムを生成する制御プログラム生成装置を示し、１１２２は制御対象（設備）を制御するためにファクトリーコンピュータ上で実行される制御プログラムを示している。
【０２０９】
図３６には本実施例装置が対象にしているプラント設備における機器や加工材料の正面を表示した画面例が示されており、図３７にはその側面を表示した画面例が示されている。また、図３８には同プラント設備における異なる場面（状態）の正面を表示した画面例が示されており、図３９にはその側面を表示した画面例が示されている。本実施例ではこの設備を出側設備と呼ぶ。
【０２１０】
この設備の運転の概要を説明すると次のようになる。
【０２１１】
まず、図３６および図３８の正面からの画面では、シャーという鉄板を切断する機器、デフレクタピンチロールという鉄板を下方向に押し曲げる機器、テーブルという鉄板を誘導する機器、を通って鉄板がテンションリールのところに送られてくる。テンションリールは、上／下尾端押えロール、ベルトラッパー等に補助されながら鉄板をコイル状に巻き取る。図のアウトボード、マンドレル等は、テンションリールの一部分である。マンドレルは鉄板を巻き取るための太さが変化する軸であり、アウトボードはマンドレルを外側（テンションリールの本体の反対側）から支える部分である。
【０２１２】
また、図３７および図３９の側面からの画面では、テンションリールが鉄板を巻き取ってコイル状にしたのが図中のコイルである。コイルは、Ｎｏ．１出側コイルカーによってテンションリールから引き抜かれ、順次搬送してスキッド１〜３に載せられる。
【０２１３】
コイルは、スキッド３に載せられた後、別の搬送機器によって他の設備に運ばれる。スキッド３に載せられたコイルが運び去られるまでは、新たに別のコイルを載せることができないので、スキッド１およびスキッド２に一旦載せてタイミングを計る。
【０２１４】
図中では、機器の位置を分かりやすく表示するために必要に応じて場所を示す図形を表示している。ここでは、この図形をセンサと称している。
【０２１５】
図４０には設備内の機器であるコイルカーに関する知識の一例が示されている。図中、１２０１は、知識名、物理構成、機器の持つ状態項目、状態項目が取り得るプリミティブ状態、図形などに関する属性項目である。１２０２はその属性値である。
【０２１６】
図４１には設備内の状態を表す構成の一例が示されている。図３４および図３５に示す実施例では、プラント設備内にある幾つかのレベルの状態表現と状態の構成を表すための知識を状態構成知識８０５（１００５）と呼んでいる。
【０２１７】
状態構成知識８０５（１００５）は、機器の動作、機械自身や他の機械の動作による副次的な効果（副次的状態遷移）、さらに機器の動作や状態の制約を記述する運転知識を表現するための語彙の基盤として用いられる。
【０２１８】
図３４および図３５に示す実施例では、状態を３つのレベルに分割している。最も下位レベルの状態は、１つのセンサあるいは複数のセンサの組により測定される機器のプリミティブな状態、またはＰＣ（Programable Controler)上の信号とほぼ直接対応する機器のプリミティブな状態であり、主にこれをプリミティブ状態と呼ぶ。プリミティブ状態では、機器だけではなくセンサや加工材料等のプリミティブな状態も扱ってもよい。
【０２１９】
機器の状態は、機器のプリミティブ状態の集合で構成される状態項目の直積である。さらに設備の状態は機器状態の集合の直積である。
【０２２０】
プリミティブ状態は、他のプリミティブ状態との隣接関係（pre-state,next- stat）を持つ。たとえば、コイル運搬高さの next-state には上昇限があり、コイル運搬高さの pre-state  には下降限等がある。また、「下降限よりも next にある状態」という表現をした場合、コイル運搬高さや上昇限などのプリミティブ状態を指す。逆に、「上昇限よりも pre  にある状態」という表現をした場合、コイル運搬高さや下降限などのプリミティブ状態を指す。
【０２２１】
図４２には作業知識８０６（１００６）の構成の一例が示されている。
【０２２２】
図３４および図３５に示す実施例では、設備内の作業あるいは機能にどの機器が参加するかを表現した知識を作業知識と呼んでいる。作業知識８０６（１００６）の構造は、上位下位関係による木構造をとっている。木構造の上位の作業にはその下位の作業で共通に参加する機器が登録される。たとえば、コイル払い出し作業には、コイル抜き取り作業およびコイル運搬作業に共通に参加するコイルカーが登録されている。また、コイルカーの知識には、コイル払い出し作業、尾端開放作業、尾端押え作業等のコイルカーが参加する作業が登録されている。
【０２２３】
図３４および図３５に示す実施例では、テンションリールなどの幾つかの機器が組合されて構成されている複合機器も一つの機器のように作業知識に登録している。しかし、複合機器のある部分が参加する作業に他の部分が参加しないことも多い。たとえば両実施例の作業では、テンションリールの一部であるマンドレルとアウトボードでは、マンドレルはコイル抜き取り作業に参加するが、アウトボードは参加しないように作業知識を書くこともできる。このようにした場合、スコープ情報格納部９０８（１１１８）に登録する機器を複合機器の部分的な機器にすることもできる。こうした場合、状態探索を機器で制約しているのに加えて、複合機器の部分的な動作（あるいは機能）に限定して探索することもできる。
【０２２４】
また、両実施例では作業知識を用いてスコープを決定しているが、作業知識に限らず、物理構成等、機器をグルーピングできるものならば利用可能である。たとえば、物理構成で上位／下位関係には物理的な構成を用いることができ、順序関係には物理的あるいは機能的な隣接関係を用いることができる。
【０２２５】
また、上位／下位関係はかならずしも必須ではなく、機器と作業の関係がはっきりとしていれば、木構造に限られる必要はない。順序関係も処理によっては必須でない場合もある。
【０２２６】
図４３には作業知識８０６（１００６）の一記述例が示されている。
【０２２７】
図中、１３０１は上位下位関係、順序関係、マッチング条件、作業に参加する機器に関する属性項目であり、１３０２は属性値である。
【０２２８】
作業知識８０６（１００６）は、図４２の上位下位関係による構成を持つと共に順序関係を持つ。順序関係は属性項目「直前作業」および「直後作業」で表される。ある作業と他の作業との間にある作業を列挙する場合、基本的にはこの関係を辿って行なう。
【０２２９】
マッチング条件は、図４４に示すような記号を用いた論理結合で表す。
【０２３０】
図４３の属性項目「マッチング条件」には nil  が登録されているが、これは、コイルカーの知識から探索された時に無条件でマッチングすることを意味する。図４５〜図４９にはマッチング条件の例が示されている。
【０２３１】
図４４にはマッチング条件に用いることができるシンボルの一例とその意味が示されている。たとえば、（more-next コイルカー下降限）という記述に対しては、設備状態の中のコイルカーの状態がコイル運搬高さや上昇限を含んでいれば真となる。
【０２３２】
図５０には状態空間モデル８０２（１００２）の一構成例が示されている。
【０２３３】
プラント設備全体のモデルは、全体として重み付き有向グラフのように扱うことができる。このモデルの構成は、機器の状態空間モデル、スコープ枝、プラント状態群の３つからなる。
【０２３４】
すなわち、状態空間モデル８０２（１００２）は、機器レベルの状態空間とそれを含むプラント設備レベルの状態空間との２つのレベルを持つ。機器状態と対応するプラント設備の状態とのリンクをスコープ枝と呼ぶ。また、設備状態の遷移においては、一旦、機器の状態空間モデルを経由する。機器の状態空間モデル内の状態遷移は、運転モードや遷移元のプラント設備状態により動的に変化する。
【０２３５】
プラント設備の状態は、図５１や図５２に示すように表されるが、これは状態経路の探索時にインクリメンタルに生成される。
【０２３６】
機器の状態が遷移する要因は、動作、副次的状態遷移の２つである。動作は、機器自身が行なう動作による直接的な状態遷移を表す。副次的状態遷移は、機器自身の動作や他の機器の動作・状態によって起こる副次的な状態遷移（いわば副作用）を表す。
【０２３７】
プラント設備内の機器には、自らの動作を持つ能動的な機器と自らの動作は持たず能動的な機器の動作に伴う副次的な効果によって状態が遷移する受動的な機器とがある。これに伴い能動的な機器の状態遷移には、動作によるものと動作に副次的状態遷移の作用を加えたものとがあり、受動的な機器の状態遷移には、副次的状態遷移によるもののみがある。
【０２３８】
機器の状態空間モデル８０２（１００２）では、機器状態ノード、動作の有向枝、副次的状態遷移の有向枝からなる重み付き有向グラフである。「機器状態ノード」は、機器状態を表すノードで図５０の状態αのようなノードであり、図５５のように表現している。「動作の有向枝」は、図５０のａ1 のような有向枝であり、図６２の動作に関する部分で表現している。「副次的状態遷移の有向枝」は、図５０のε1 のような有向枝であり、図６２の副次的状態遷移に関する部分で表現している。
【０２３９】
図５３と図５４には目標状態（状態探索条件）情報格納部９０６（１１０８）に格納される目標状態（状態探索条件）の一記述例が示されている。
【０２４０】
たとえば、図５３ではスキッド２の状態項目「コイル支持」のプリミティブ状態がコイル支持中であり、かつＮｏ．１出側コイルカーの状態項目「コイル搭載」のプリミティブ状態がコイル搭載無であるとき満たされることを示している。
【０２４１】
状態経路探索を行なう前に決定する目標状態は、括弧で状態探索条件と付け加えているように、目標状態が満たすべき条件を表している。このため、探索の開始時には状態探索条件を満たす設備状態の集合に向かって探索を開始する。最終的に目標状態として確定されるのは初期状態から最も近い、すなわち状態遷移の経路の重みの合計の最も少ないものとなる。この処理は、Dijkstra  アルゴリズムのような、重みつき有向グラフの最短路問題を解く方法をベースにしたアルゴリズムを用いて行なうことができる。
【０２４２】
ただし、プラントの設備のような状態空間が大きな対象に対して単に適応しても、一般には使いものにならないと見るのが妥当である。
【０２４３】
両実施例では、この問題を解決するためにスコープを用いている。スコープに関しては特願平４−３２８９９７号でも触れているが、両実施例では特願平４−３２８９９７号の方法をより一層効率化している。
【０２４４】
図５１と図５２にはプラントの設備状態の一記述例が示されている。
【０２４５】
設備状態は設備内機器の機器状態の組合せにより表現される。図中、１４０１と１５０１は設備内の各機器の状態に関する属性項目であり、１４０２と１５０２はその属性値である。
【０２４６】
図５５〜図６０には機器の状態の一記述例が示されている。
【０２４７】
図５５と図５６はコイルカーの状態を表し、図５７〜図５９はテンションリールの状態を表し、図６０は上尾端押えロールの状態を表している。
【０２４８】
図中、１６０１，１７０１，１８０１，１９０１，２００１，２１０１は各機器の状態項目や有向枝に関する属性項目であり、１６０１，１７０２，１８０２，１９０２，２００２，２１０２はその属性値である。
【０２４９】
図６１と図６２には機器状態から出る有向枝の一記述例が示されている。
【０２５０】
図６１はテンションリールの機器状態から出る有向枝を表し、図６２はコイルカーの機器状態から出る有向枝を表している。
【０２５１】
図中、２２０１と２３０１は機器の持つ動作や副次的状態遷移による状態遷移先の機器状態等に関する属性項目であり、２２０２と２３０２はその属性値である。
【０２５２】
図６３と図６４には制御仕様の一表記例が示されいる。
【０２５３】
図中、２４０１，２４０２は機器動作部である。機器動作部は機器の動作を起動するアクチュエータに送る信号名を用いて記述される。図中、２５０１，２５０２は遷移条件部である。遷移条件部は１つのセンサあるいは複数のセンサの組のＰＣ（Programable Controler ）上の信号名を用いて記述される。
【０２５４】
図６５にはユーザが制御対象の初期状態と目標状態とを入力してから、初期状態から目標状態までの制御仕様を生成する手順が示されている。
【０２５５】
この手順と特願平４−３２８９９７号における制御仕様作成手順との違いは、作業知識にマッチング条件を当てはめ、この条件を用いてスコープに登録する機器を制限するようにした点にある。
【０２５６】
初期状態と目標状態の指定方法としては、特願平４−３２８９９７号で行なっているような機器などの図形を画面に表示させて視覚的な操作を用いて行なうのもよいし、初期状態や目標状態（状態探索条件）を表すための記述形式を用意して、初期状態と目標状態を予め記述しておき、初期状態と目標状態を設定する時点で解釈するのもよい。また、コマンドラインからその記述形式を用いて直接打ち込むようにしてもよい。
【０２５７】
ステップ２６０１において、設備状態の初期状態を設定する。図５１に示すような設備状態を、制御を開始する時の設備の状態として指定する。この設備状態を画面に表示した例を図３６，図３７に示す。
【０２５８】
連続した制御仕様を作成する場合、直前に行なった制御仕様作成処理で得られた目標状態をそのまま初期状態に用いることができる。この場合、初期状態を設定する処理を省くことができる。
【０２５９】
ステップ２６０２において、設備状態の目標状態（状態探索条件）を設定する。図３７に示すように機器図形を用いた視覚的な操作の例では、矢印１のようにポインティングデバイスでコイルカー上の加工材料を選択し、さらに矢印２のようにポインティングデバイスでスキッド２を選択する操作を行う。そして、機器や加工材料の知識から図５３に示すような状態探索条件（目標状態が満たすべき条件）を得る。
【０２６０】
なお、状態探索条件は、次のようなリスト形式で表してもよい。
【０２６１】
((スキッド２  支持状態  コイル支持中）
（Ｎｏ．１コイルカー  搭載状態  コイル搭載無))
ステップ２６０３において、状態探索条件に登録された機器（たとえば、コイルカーとスキッド２）の知識の属性「作業」から、各機器が参加し得る設備の作業に関する知識を検索する。たとえば、コイルカーの知識（図４０）からは、（尾端押え作業、尾端開放作業、コイル払い出し作業：図４３）が検索される。また、検索された作業が下位の作業を持つ場合は、検索された作業にその下位の作業（コイル抜き取り作業、コイル運搬作業）も加える。
【０２６２】
スキッド２からは、作業知識（コイル運搬作業）が検索される。これらの結果として、検索された作業は（尾端押え作業、尾端開放作業、コイル払い出し作業、コイル抜き取り作業、コイル運搬作業）となる。
【０２６３】
ステップ２６０４において、各作業知識のマッチング条件を評価する。検索された作業知識のなかで、設備の初期状態がマッチング条件の論理結合を満たしている作業知識をピックアップする。図５１の設備状態は、図５６のコイルカー状態ｆや図５９のテンションリール状態ｇや図６０の上尾端押えロール状態ｓのような機器状態により構成されている。これらの機器状態の状態項目に登録されたプリミティブ状態が、ステップ２６０３で検索された作業知識（尾端押え作業、尾端開放作業、コイル払い出し作業、コイル抜き取り作業、コイル運搬作業）のマッチング条件（図４５、図４７、図４３の属性「マッチング条件」、図４８、図４９）を満たすかどうか調べる。図４５では、テンションリール状態がカット直後状態を含み、かつ尾端押えロール状態が開状態を含む時のみ満足する。図５９のテンションリール状態は、カット直後状態を含まないために満足していない。同様に、図４７、図４３の属性「マッチング条件」、図４８、図４９のマッチング条件を調べると、図４３の属性「マッチング条件」のコイル払い出し作業と図４９のコイル運搬作業のマッチング条件を図５１の設備状態が満たしていることが分かる。
【０２６４】
ステップ２６０５において、作業知識の木構造の中で、ステップ２６０４でマッチング条件を満足したコイル払い出し作業とコイル運搬作業と作業知識の root を含む最小部分木を作成する。この例では、（出側設備作業、コイル払い出し作業、コイル運搬作業）が最小木を構成する。
【０２６５】
ステップ２６０６において、最小木を構成する作業知識の属性「作業機器」に登録された機器の中から、能動的機器の下位概念になっている機器を選択する。この例では、スコープに入る機器は、コイルカーだけとなる。
【０２６６】
この例では、特願平４−３２８９９７号で用いている例に比べ複雑な例を用いているが、特願平４−３２８９９７号のようにマッチング条件を使わなかった場合、作業知識の最小木は（出側設備作業、巻き取り終了作業、尾端押え作業、尾端開放作業、コイル払い出し作業、コイル抜き取り作業、、コイル運搬作業）となる。このため、スコープに登録される機器は、上尾端押えロール、下尾端押えロール、テンションリール、コイルカーとなる。スコープとして、たとえば機器が１１台ある中から４台の機器に絞り込むことができる。これに対し、本実施例で用いるマッチング条件を用いれば、さらにコイルカー１台に絞り込める。
【０２６７】
ステップ２６０７において、制御仕様作成にかかる手間の見積りを行なう。ここで行なう処理の手順は図６６を用いて後述する。
【０２６８】
ステップ２６０８において、制御仕様を生成する。たとえば、特願平４−３２８９９７号でスコープを決定した後と同様の処理を行なうことにより制御仕様（図６３）の生成を行なうことができる。本実施例で対象としている制御仕様は、少なくとも、機器の動作を記述する機器動作部と機器の動作の終了する条件を記述する遷移条件部からなる。
【０２６９】
図６３の制御仕様で記述されている内容を説明すると、まず、Ｎｏ．１出側コイルカーという機器が高速後退という動作をＮｏ．１出側コイルカーの位置を計測しているセンサーの信号「減速位置２」がＯＮするまで行なう。その後また、Ｎｏ．１出側コイルカーという機器が、今度は、低速後退という動作をＮｏ．１出側コイルカーの位置を計測しているセンサーの信号「停止位置２」がＯＮするまで行なう。さらにまた、Ｎｏ．１出側コイルカーという機器が、今度は、下降という動作をＮｏ．１出側コイルカーの位置を計測しているセンサーの信号「下降限」がＯＮするまで行なう。
【０２７０】
図６６には制御仕様作成にかかる手間を見積る手順が示されている。
【０２７１】
制御仕様の生成における手間の見積りの指標として、本実施例では、スコープの機器の数、探索範囲の機器状態の数、スコープの機器が持つ動作の数、初期状態から目標状態に至までの作業知識の数を用いている。この他にも、探索の計算量に影響するものであれば、指標として用いてもよい。
【０２７２】
見積る方法としては、上であげたような指標を全て用いてもよいし、一部でもよい。また、その評価の仕方も、対象によって重みを加えたり、論理結合や評価関数等を用いて行なってもよい。
【０２７３】
図６６に示す例では、スコープの機器数、探索範囲の設備状態の数、スコープの機器が持つ動作の数に対する境界値（それぞれ、機器数 Border ，機器状態数Border，機器動作数 Border)を予め設定しておき、探索を実行する前に各値のどれかが越えているかどうかを調べる。
【０２７４】
ユーザの指示が各値のうちのどれかを越えるような制御を要求している場合は警告を発する。
【０２７５】
これはすなわち、次の論理結合を評価し、真であれば警告を出す処理を表している。
【０２７６】
（スコープの機器数                  ＞  機器数 Border ）
（Π（探索範囲の設備状態の数）      ＞  機器状態数 Border ）
（Σ（スコープの機器の持つ動作の数）＞  機器動作数 Border ）
ステップ２７０１において、スコープに登録されている機器の数を調べ、「機器数Border」と比べる。もし、機器数が「機器数 Border 」以下であれば、ステップ２７０２へ、そうでなければステップ２７０４へ処理を進める。
【０２７７】
ステップ２７０２において、スコープに登録された全ての機器の状態数の積を取り、「機器状態数 Border 」と比べる。もし、機器数が「機器状態数 Border 」以下であれば、ステップ２７０３へ、そうでなければステップ２７０４へ処理を進める。
【０２７８】
ステップ２７０３において、スコープに登録された全ての機器の動作数の和を取り、「機器動作数 Border 」と比べる。もし、機器動作数が「機器動作数 Border 」以下であれば、図６５のステップ２６０８へ、そうでなければステップ２７０４へ処理を進める。
【０２７９】
ステップ２７０４において、制御仕様の生成にユーザが許容しない時間がかかる可能性があることを伝える。これに合わせて、機器数 Border ，機器状態数 Border ，機器動作数 Border のどの値が越えているのかをユーザに対して知らせてもよい。
【０２８０】
ステップ２７０５において、ステップ２７０４での警告を受けてユーザが制御仕様の生成作業を実行するかどうかを決める。生成作業を実行する場合は、図６５のステップ２６０８へ処理を進める。そうでない場合は、処理を一旦終了する。終了した場合、初期状態あるいは目標状態の設定からやり直す。
【０２８１】
ここで説明した処理では、一つの指標に対して境界値を一つ設定しているが、境界値に幾つかのモードを設け、ユーザの意志によって適用する境界値を切替えたり、扱う設備等によって適用する境界値を切替えるようにしてもよい。
【０２８２】
図６７および図６８には、ユーザによる制御対象の初期状態と目標状態の入力から、初期状態から目標状態までの制御仕様を生成する手順が示されている。
【０２８３】
図６５に示される手順との主な違いは、スコープに登録される機器を探索の途中で切替えることである。
【０２８４】
作業知識の中から、初期状態がマッチング条件を満たしている作業知識をinitial-operation 、状態探索条件がマッチング条件を満たしている作業知識をgoal- operation とする。
【０２８５】
さらに、initial-operation から goal-operation 間での間にある作業知識の列（作業列）を作成する。
【０２８６】
始めは、initial-operation となった作業知識と作業知識の root を含む最小木からスコープを作成して探索を行なう。探索の途中で生成される設備状態が、マッチング条件を満たさなくなったら initial-operation  の作業知識の「直後作業」あるいは作業列から次の作業知識を探索する。探索された作業知識（current-operation ）と作業知識の root から新たなスコープを作成する。同様に探索の途中で生成される設備状態が current-operation  のマッチング条件を満たさなくなったところで、current-operation を次の作業に切替える。
【０２８７】
以下、図６７に示される手順から説明する。
【０２８８】
ステップ２８０１において、設備状態の初期状態を設定する。図５２に示されるような設備状態を、制御を開始する時の設備の状態として指定する。この設備状態を画面に表示した例を図３８および図３９に示す。
【０２８９】
ステップ２８０２において、設備状態の目標状態（状態探索条件）を設定する。図３８および図３９に示す機器図形を用いた視覚的な操作の例では、矢印１のようにポインティングデバイスでテンションリールで巻き取り中の加工材料を選択し、さらに矢印２のようにポインティングデバイスでスキッド２を選択する操作を行う。そして、機器や加工材料の知識から、図５４に示すような状態探索条件（目標状態が満たすべき条件）を得る。
【０２９０】
なお、状態探索条件は、次のようなリスト形式で表してもよい。
【０２９１】
((スキッド２  支持状態  コイル支持中）
（Ｎｏ．１テンションリール  巻取状態  コイル無状態))
ステップ２８０３において、設備の初期状態（図５２）がマッチング条件を満たしている作業を検索し initial-operation  および最初の current-operationとする。図５２の設備状態の場合、図４６の尾端停止作業のマッチング条件を満たしており、この作業が initial-operation  及び最初の current-operation  となる。
【０２９２】
複数の作業知識のマッチング条件を満たす場合、最も上流の作業を initial- operation とするのもよいし、ユーザにどの作業にするのかを問い合わせるのもよい。
【０２９３】
また、初めからユーザにどの作業知識を initial-operation  にするかを問い合わせるのも一つの方法である。
【０２９４】
また、連続して制御仕様を作成する場合、直前の制御仕様作成処理で得られた目標状態を次の制御仕様作成処理で初期状態として用いることが多い。この場合、目標状態に至った時点の作業知識を initial-operation  にすることにより、initial-operation の決定処理を省略できる。
【０２９５】
また、直前の制御仕様作成処理で得られた目標状態をそのまま次の制御仕様作成処理の初期状態に用いない場合でも、直前の処理の目標状態とかけ離れた設備状態を初期状態として制御仕様を作成するのは少ない。このため、まずは直前の処理の目標状態がマッチング条件を満たしていた作業知識に加え、この作業の属性「直前作業」と「直後作業」に登録された作業知識（隣接した作業の知識）についてだけマッチング条件の評価を行なうことにより、initial-operation の決定処理を効率化できる。
【０２９６】
ステップ２８０４において、目標状態（状態探索条件）に登録された機器とその状態がマッチング条件を満たす作業知識を検索し goal-operation とする。
【０２９７】
図５４の場合、状態探索条件に登録された機器は（テンションリールとスキッド２）である。ステップ２８０３で行なったように、これらの機器の知識の属性「作業」から、各機器が参加し得る設備の作業に関する知識を検索する。
【０２９８】
この例では、テンションリールとスキッド２から（尾端開放作業、コイル抜き取り作業、コイル運搬作業、…）が検索される。図６５に示す手順と同様に検索された作業が下位の作業を持つ場合は、検索された作業にその下位の作業も加える。
【０２９９】
続いて、検索された作業知識のマッチング条件を評価する。この時、目標状態（状態探索条件）に登録された機器の状態が作業のマッチング条件で制約されていない場合はマッチしたものとする。図５４の場合は、テンションリールの状態項目「巻取状態」の状態が「コイル無状態」のため、（尾端開放作業、コイル抜き取り作業、…）はマッチしない。結局、コイル運搬作業のマッチング条件でテンションリールの状態もスキッド２の状態も制約を受けないため、コイル運搬作業が goal-operation となる。
【０３００】
このとき、もし複数の作業がマッチした場合、マッチした作業のうちで最も下流の作業を goal-operation とする。
【０３０１】
ステップ２８０５において、initial-operation と goal-operation の間にある作業知識を全て検索して作業知識の列（作業列）を作成する。図５２を初期状態、図５４を状態探索条件とした場合、initial-operation が尾端停止作業で、 goal-operation がコイル運搬作業であるため、この例では作業列：（尾端停止作業、尾端開放作業、コイル抜き取り作業、コイル運搬作業）が得られる。
【０３０２】
この場合、作業知識の木構造の末端、すなわち葉になっている作業知識を集める。葉でない作業知識が initial-operation  あるいは goal-operation になっている場合は、それぞれの下位にある作業を検索して葉になっている作業知識の中で最も上流の作業を initial-operation  とし、最も下流の作業を goal-operation とする。
【０３０３】
ステップ２８０６において、図６６で説明した制御仕様作成にかかる手間の見積りを行なう。ここでは、作業列の作業知識の数を指標にして行なっている。予め、境界値（作業知識数 Border ）を設定しておき、探索を実行する前に作業列の作業知識の数が作業知識数 Border を越えているかどうかをチェックする。図５２を初期状態、図５４を状態探索条件とした場合、作業の数は４となる。
【０３０４】
もし、作業知識の数が作業知識数 Border を越えていれば、ステップ２８１４に処理を進め、そうでなければステップ２８０７に処理を進める。
【０３０５】
ステップ２８０７において、current-operation と作業知識の root になっている作業知識との間にある作業知識全てに登録されている機器の中からスコープの機器を選択する。
【０３０６】
作業列：（尾端停止作業、尾端開放作業、コイル抜き取り作業、コイル運搬作業）の例では、各作業が current-operation  のとき、それぞれ次のような機器が選択される。
【０３０７】
尾端停止作業：（テンションリール、デフレクタピンチロール）
尾端開放作業：（テンションリール、コイルカー、上尾端押えロール、下尾端押えロール）
コイル抜き取り作業：（テンションリール、コイルカー）
コイル運搬作業：（コイルカー）
この例の場合、図６５に示す手順を用いた場合は４つの作業に跨ぐ初期状態と目標状態が設定される。このような場合、作業知識の記述の仕方によっては、必ずしも、スコープを的確に設定できるとは限らない。また、的確にスコープを設定できたとしても上記の例の場合、５台の機器について常に探索対象とすることになる。この例の場合、１１台中５台に絞ることができているため、これだけでも探索効率が向上する。
【０３０８】
これに対し、図６８に示す手順の場合はスコープを切替えるため、この例の場合、尾端開放作業が current-operation  のときには、一時的に４台の器機が探索範囲に入るものの、その他の作業が current-operation  のときには、１台または２台に絞り込むことができる。このことで、より一層の探索効率の向上が可能となる。
【０３０９】
ステップ２８０７において、スコープで束縛した中で Dijkstra アルゴリズムに基づいて遷移させる設備状態と遷移先の設備状態（新しい設備状態）を求める。ただし、重み付き有向グラフの最短路問題を解くアルゴリズムであれば、Dijkstra  アルゴリズムに拘る必要はない。
【０３１０】
図５２の設備状態を初期状態とした場合、ステップ２８０７までの処理で、まず始めに適用されるスコープは、（テンションリール、デフレクタピンチロール）である。
【０３１１】
スコープの中からテンションリールを選択した場合、図５２の設備状態からテンションリール状態ｅ（図５７）を検索する。続いて、テンションリール状態ｅから、テンションリール状態ｅの有向枝（図６１）を検索する。さらにテンションリール状態ｅの有向枝の中から、テンションリール状態ｅから行なえるテンションリールの有効な動作（尾端停止制御）を選択する。選択した動作による機器状態の遷移先（図５８）を検索する。
【０３１２】
テンションリールの状態遷移による他の機器の状態遷移も考慮した後、遷移した機器の状態を元の設備状態に反映した形で、新たな設備状態を作成する。このとき、テンションリールの動作：尾端停止制御の知識の属性項目「重み」からこの動作の重みを検索し、図５２の設備状態から新しい設備状態へ遷移させる。
【０３１３】
同様にして、スコープの制約する範囲内で図５２の設備状態から遷移できる設備状態を全て探索する。探索の結果、初期状態からより近い順に設備状態をさらに遷移させる。
【０３１４】
ステップ２８０９において、新しく生成した設備状態が状態探索条件を満たしているかどうか調べる。満たしていれば、ステップ２８１６に処理を進める。そうでなければ、ステップ２８１０に処理を進める。
【０３１５】
ステップ２８１０において、新しい設備状態が current-operation  のマッチング条件を満たしているかどうか調べる。もし、満たしていればステップ２８０８に処理を進める。そうでなければ、ステップ２８１１に処理を進める。
【０３１６】
図６４の制御仕様では、２５０３，２５０４，２５０５を生成する時に用いる設備状態に至ったところで新しい設備状態が current-operation  を満たさなくなる。
【０３１７】
たとえば、２５０３を生成するときに用いる設備状態では、デフレクタピンチロールは圧下状態ではなく、またテンションリールも巻取完了状態になっている。このため、そのときの current-operation：尾端停止作業のマッチング条件を満たさない。そこで、ステップ２８１１に処理を進めて current-operation：尾端開放作業に切替える。
【０３１８】
ステップ２８１１において、current-operation が goal-operation を通過しても目標状態を満たす設備状態が探索できなかった場合には探索処理を終了する。この図６８に示す手順では goal-operation といういわば目標状態のラフな予測を行なっている。この予測の範囲を逸脱した場合には探索に失敗したと判断する。もちろん、探索は、特に Dijkstra 法のような広さ優先探索では、複数の筋の経路を探索するので、探索の先頭になっている状態が全て作業列の範囲から逸脱した場合に警告するのもよいし、どれか一つが逸脱した場合に警告を出してもよい。この判断の仕方も、見積りで行なっているように幾通りものやり方がある。
【０３１９】
ステップ２８１２において、直後の作業を current-operation  とする。作業列：（尾端停止作業、尾端開放作業、コイル抜き取り作業、コイル運搬作業）の例では、尾端停止作業から尾端開放作業へ、さらに尾端開放作業からコイル抜き取り作業へというように、状態探索条件を満たす設備状態を発見するまで作業知識を切替える。
【０３２０】
ステップ２８１３において、current-operation が goal-operation を過ぎても目標状態を発見できなかった場合にはユーザに警告を知らせて処理を終了する。
【０３２１】
ステップ２８１４において、作業列の作業知識が境界値（作業知識数 Border ）を越えたことをユーザに警告する。
【０３２２】
ステップ２８１５において、ユーザが制御仕様作成処理の続行を望めばステップ２８０７に処理を進めて処理を続行する。そうでなければ処理を終了する。
【０３２３】
ステップ２８１６において、設備の初期状態から目標状態に至る機器の動作と各動作の代わり目の機器状態を決定する。
【０３２４】
初期状態から目標状態に至る機器動作と設備状態の経路には、設備状態は遷移しても同じ機器の同じ動作が継続する場合がある。たとえば、図６４の制御仕様の２５０６と２５０７は共に、コイルカーの前後方向の位置を表しているセンサーの信号名である。この両者の間には、減速位置１、停止位置１その他のコイルカーの位置が存在する。設備状態の経路にはそれらの状態も探索されている。
【０３２５】
この場合、制御仕様には反映されないのが普通である。このため設備状態の経路を辿り、機器の動作が終了するときの機器状態を決定する。
【０３２６】
ステップ２８１７において、動作と各動作の代わり目の機器状態から制御仕様を生成する。特願平４−３２８９９７号で行なっているような機器状態からの変換を行なうと、図６４のような制御仕様を得ることができる。
【０３２７】
このように、複雑な制御対象の比較的長い制御手順を作成する場合でも探索範囲を充分に、かつ洩れのないように絞り込んで探索を行なうことができ、しかも不用意に大規模な探索が行なれるのを防止でき、そのうえ探索処理の失敗を的確に指摘して無駄な探索が行なれるのを防止できるので、制御プログラムの設計作業の効率向上に寄与できる。
【０３２８】
【発明の効果】
本発明に係る情報処理装置によれば、表示対象に関するオントロジーとオントロジーの語彙を利用した文法を備えているので、オントロジーの範疇にあるものを表示対象とする限り、ＧＵＩ設計者がＧＵＩを作成する都度、図形操作と挙動とを結ぶ規則を作る必要がなく、表示対象がオントロジーの語彙のどの言葉に対応するのかを指定するだけで、所望のＧＵＩを作成することができる。したがって、ＧＵＩ作成効率を向上させることができる。
【０３２９】
また、本発明に係る制御プログラム設計支援装置によれば、表示する制御対象に関するオントロジーとオントロジーの語彙を利用した文法を備えているので、オントロジーの範疇にある制御対象を表示対象とする限り、制御対象を模式的に表示する画面を作成する都度、図形操作とユーザの意図する制御対象の状態変化とを結ぶ規則を作らなくても、図形の表す制御対象がオントロジーの語彙のどの言葉に対応するのかを指定するだけで目標状態を生成できるため、制御仕様の作成効率を向上させることができる。
【０３３０】
また、本発明に係る制御プログラム設計支援装置によれば、複雑で比較的長い制御手順を作成する場合でも探索範囲を充分に、かつ洩れのないように絞り込んで探索を行なうことができ、しかも不用意に大規模な探索が行なれるのを防止でき、そのうえ探索処理の失敗を的確に指摘して無駄な探索が行なれるのを防止できるので、制御プログラムの設計作業の効率向上に寄与できる。
【図面の簡単な説明】
【図１】本発明の第１の実施例に係る情報処理装置のブロック構成図
【図２】本発明の第２の実施例に係る制御プログラム設計支援装置のブロック構成図
【図３】オントロジーの語彙の概念階層を示す図
【図４】オントロジーの語彙の概念階層を示す図
【図５】オントロジーの語彙の言葉の定義の一記述例を示す図
【図６】ユーザ意図解析用文法を示す図
【図７】ユーザ意図解析用文法を示す図
【図８】確認文生成用文法を示す図
【図９】確認文生成用文法を示す図
【図１０】確認文生成用文法を示す図
【図１１】プラント設備の機器・加工材料・センサのある場面（状態）を表示した画面を示す図
【図１２】プラント設備の機器・加工材料・センサのある場面（状態）を表示した画面を示す図
【図１３】プラント設備の機器・加工材料・センサのある場面（状態）を表示した画面を示す図
【図１４】プラント設備の機器・加工材料・センサのある場面（状態）を表示した画面を示す図
【図１５】機器に関する知識を示す図
【図１６】機器に関する知識を示す図
【図１７】機器に関する知識を示す図
【図１８】機器に関する知識を示す図
【図１９】機器の状態に関する知識を示す図
【図２０】機器の状態に関する知識を示す図
【図２１】機器の状態に関する知識を示す図
【図２２】機器の状態に関する知識を示す図
【図２３】機器の状態に関する知識を示す図
【図２４】機器の状態に関する知識を示す図
【図２５】加工材料に関する知識を示す図
【図２６】目標状態を示す図
【図２７】目標状態を示す図
【図２８】目標状態を示す図
【図２９】プラントの設備内の機器や加工材料に関するオントロジーの語彙を用いて記述した解析文法を用いて、ユーザによる視覚的な指示を受けとってユーザが意図する挙動を行なうまでの処理手順を示す図
【図３０】移載２（受け取る）に対応する処理手順を示す図
【図３１】ユーザによる視覚的な指示を受けとってユーザが意図する挙動を行なうまでの処理手順を示す図
【図３２】移載２（受け取る）に対応する処理手順を示す図
【図３３】初期状態を設定する手順を示す図
【図３４】本発明の第３の実施例に係る制御プログラム設計支援装置のブロック構成図
【図３５】本発明の第４の実施例に係る制御プログラム設計支援装置のブロック構成図
【図３６】機器や加工材料を表示した画面の例を示す図
【図３７】機器や加工材料を表示した画面の例を示す図
【図３８】機器や加工材料を表示した画面の例を示す図
【図３９】機器や加工材料を表示した画面の例を示す図
【図４０】設備内の機器コイルカーに関する知識の一例を示す図
【図４１】設備内の状態の構成の一例を示す図
【図４２】作業知識の構成の一例を示す図
【図４３】作業知識の一記述例を示す図
【図４４】マッチング条件に用いることができるシンボルの一例とその意味を示す図
【図４５】マッチング条件の例を示す図
【図４６】マッチング条件の例を示す図
【図４７】マッチング条件の例を示す図
【図４８】マッチング条件の例を示す図
【図４９】マッチング条件の例を示す図
【図５０】状態空間モデルの一構成例を示す図
【図５１】プラントの設備状態の一記述例を示す図
【図５２】プラントの設備状態の一記述例を示す図
【図５３】目標状態（状態探索条件）の一記述例を示す図
【図５４】目標状態（状態探索条件）の一記述例を示す図
【図５５】機器の状態の一記述例を示す図
【図５６】機器の状態の一記述例を示す図
【図５７】機器の状態の一記述例を示す図
【図５８】機器の状態の一記述例を示す図
【図５９】機器の状態の一記述例を示す図
【図６０】機器の状態の一記述例を示す図
【図６１】機器状態から出る有向枝の一記述例を示す図
【図６２】機器状態から出る有向枝の一記述例を示す図
【図６３】制御仕様の一表記例を示す図
【図６４】制御仕様の一表記例を示す図
【図６５】制御対象の初期状態と目標状態の入力から、初期状態から目標状態までの制御仕様を生成する手順を示す図
【図６６】制御仕様生成にかかる手間を見積る手順を示す図
【図６７】制御対象の初期状態と目標状態の入力から、初期状態から目標状態までの制御仕様を生成する手順を示す図
【図６８】制御対象の初期状態と目標状態の入力から、初期状態から目標状態までの制御仕様を生成する手順を示す図
【符号の説明】
１０，４０，８００，１００…知識ベース
２０，５０，９００，１１００…処理部
１１…表示データ
１２，４２…オントロジー
１３，４３…ユーザ意図解析用文法
１４…挙動辞書
１５，４５…確認文生成用文法
１６…表示対象状態
１７…表示対象
２１，５１…入出力デバイス
２２，５２…入出力制御部
２３，５４…ユーザ意図解析部
２４…ユーザ意図確認部
２５…挙動実行部
４１…機器・加工材料・センサ表示データ
４４…目標状態生成手順
４６…機器・加工材料・センサ状態
４７…機器・加工材料・センサ
５５…目標状態生成部
５６…初期状態設定部
５７…制御仕様生成部
６０…制御プログラム生成部
８０１，１００１…対象知識
８０２，１００２…状態空間モデル
８０４，１００４…図形知識
８０５，１００５…状態構成知識
８０６，１００６…作業知識
８０７，１００７…動作知識
８０８，１００８…副次的状態遷移
９０１，１１０１…入出力デバイス
９０２，１１０２…入出力制御部
９０３，１１０３…初期状態設定部
９０５，１１０６…目標状態（状態探索条件）定義部
９０７…スコープ決定部
９０９，１１１２…探索計算量見積り部
９１０，１１１３…状態遷移経路探索部
９１２，１１２０…状態遷移経路−制御仕様変換部
９１３…制御プログラム生成装置
１１１０…作業列作成部
【図１】
0003670324.tif 000002
【図２】
0003670324.tif 000003
【図３】
0003670324.tif 000004
【図４】
0003670324.tif 000005
【図５】
0003670324.tif 000006
【図６】
0003670324.tif 000007
【図７】
0003670324.tif 000008
【図８】
0003670324.tif 000009
【図９】
0003670324.tif 000010
【図１０】
0003670324.tif 000011
【図１１】
0003670324.tif 000012
【図１２】
0003670324.tif 000013
【図１３】
0003670324.tif 000014
【図１４】
0003670324.tif 000015
【図１５】
0003670324.tif 000016
【図１６】
0003670324.tif 000017
【図１７】
0003670324.tif 000018
【図１８】
0003670324.tif 000019
【図１９】
0003670324.tif 000020
【図２０】
0003670324.tif 000021
【図２１】
0003670324.tif 000022
【図２２】
0003670324.tif 000023
【図２３】
0003670324.tif 000024
【図２４】
0003670324.tif 000025
【図２５】
0003670324.tif 000026
【図２６】
0003670324.tif 000027
【図２７】
0003670324.tif 000028
【図２８】
0003670324.tif 000029
【図２９】
0003670324.tif 000030
【図３０】
0003670324.tif 000031
【図３１】
0003670324.tif 000032
【図３２】
0003670324.tif 000033
【図３３】
0003670324.tif 000034
【図３４】
0003670324.tif 000035
【図３５】
0003670324.tif 000036
【図３６】
0003670324.tif 000037
【図３７】
0003670324.tif 000038
【図３８】
0003670324.tif 000039
【図３９】
0003670324.tif 000040
【図４０】
0003670324.tif 000041
【図４１】
0003670324.tif 000042
【図４２】
0003670324.tif 000043
【図４３】
0003670324.tif 000044
【図４４】
0003670324.tif 000045
【図４５】
0003670324.tif 000046
【図４６】
0003670324.tif 000047
【図４７】
0003670324.tif 000048
【図４８】
0003670324.tif 000049
【図４９】
0003670324.tif 000050
【図５０】
0003670324.tif 000051
【図５１】
0003670324.tif 000052
【図５２】
0003670324.tif 000053
【図５３】
0003670324.tif 000054
【図５４】
0003670324.tif 000055
【図５５】
0003670324.tif 000056
【図５６】
0003670324.tif 000057
【図５７】
0003670324.tif 000058
【図５８】
0003670324.tif 000059
【図５９】
0003670324.tif 000060
【図６０】
0003670324.tif 000061
【図６１】
0003670324.tif 000062
【図６２】
0003670324.tif 000063
【図６３】
0003670324.tif 000064
【図６４】
0003670324.tif 000065
【図６５】
0003670324.tif 000066
【図６６】
0003670324.tif 000067
【図６７】
0003670324.tif 000068
【図６８】
0003670324.tif 000069