JP3312141B2 - 命令ブレーク・ダウン装置および方法ならびに命令解析装置および方法 - Google Patents

命令ブレーク・ダウン装置および方法ならびに命令解析装置および方法

Info

Publication number
JP3312141B2
JP3312141B2 JP33998093A JP33998093A JP3312141B2 JP 3312141 B2 JP3312141 B2 JP 3312141B2 JP 33998093 A JP33998093 A JP 33998093A JP 33998093 A JP33998093 A JP 33998093A JP 3312141 B2 JP3312141 B2 JP 3312141B2
Authority
JP
Japan
Prior art keywords
instruction
execution device
membership function
rule
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP33998093A
Other languages
English (en)
Other versions
JPH07160514A (ja
Inventor
敦司 久野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP33998093A priority Critical patent/JP3312141B2/ja
Publication of JPH07160514A publication Critical patent/JPH07160514A/ja
Application granted granted Critical
Publication of JP3312141B2 publication Critical patent/JP3312141B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Feedback Control In General (AREA)

Description

【発明の詳細な説明】
【0001】
【技術分野】この発明は、与えられた命令を実行する場
合に、その命令を実行するために必要な条件に分解し、
その条件を満たすことができる命令を生成し、その命令
の実行結果を与えられた命令の実行結果とする命令ブレ
ーク・ダウン装置および方法ならびに命令ブレーク・ダ
ウン処理システムに関する。
【0002】
【背景技術】コンピュータ・システム、データ・ベース
・マシン等に代表される情報処理装置では、受け付ける
ことができる命令セット(コマンド・セット)があらか
じめ定められて、その装置の内部に記憶されている。し
たがって、この命令セットに含まれる命令(コマンド)
が情報処理装置に入力された場合には、その情報処理装
置は、入力された命令を実行することができる。しか
し、命令セットに含まれない命令が入力された場合に
は、その命令は実行できず、命令の入力側に実行不能等
の情報を返すしかなかった。したがって、従来の情報処
理装置では、外部から入力される様々な命令に柔軟に対
処できないという問題があった。
【0003】
【発明の開示】この発明は、与えられた命令を自らが実
行できない場合には、その命令を実行可能な他の命令に
分解ないしは置換(ブレーク・ダウン)し、これらの命
令を実行できる他の装置に命令を与えることにより、与
えられる様々な命令に柔軟に対処できることを目的とす
る。
【0004】この発明による命令ブレーク・ダウン装置
は、与えられた上位命令を一または複数の下位命令に変
換し、下位命令を実行できる実行装置に、変換した下位
命令を与える装置であり、上位命令を実行するために必
要な条件を示す知識を記憶した第1の知識記憶手段、実
行装置の識別符号ごとに、その実行装置によって実現で
きる処理の範囲を記憶した第2の知識記憶手段、上位命
令に基づいて、その上位命令の実行のために必要な条件
を上記第1の知識記憶手段から抽出する抽出手段、上記
抽出手段によって抽出された条件を実現できる処理の範
囲をもつ実行装置の識別符号を、上記第2の知識記憶手
段において検索する検索手段、および上記検索手段によ
って検索された識別符号の実行装置に、上記抽出手段に
よって抽出された条件のうちで該当する実行装置が実現
可能なものの実現を命じる下位命令を与える命令発行手
段を備えている。ここで、上記第1の知識記憶手段に記
憶された知識には、前件部と後件部とからなるルールが
含まれており、上記前件部には、実行装置によって実現
できる処理の範囲が記述され、上記後件部には、上位命
令の実行可能範囲が記述され、上記抽出手段は、上位命
令の上記後件部における適合度を算出し、算出した適合
度があらかじめ定められた所定値以上となる後件部をも
つルールを抽出するものであり、上記検索手段は、上記
抽出手段によって抽出されたルールの前件部に記述され
た処理の範囲を実現できる実行装置の識別符号を検索す
るものである。
【0005】この発明による命令ブレーク・ダウン方法
は、与えられた上位命令を一または複数の下位命令に変
換し、下位命令を実行できる実行装置に、変換した下位
命令を与える方法であり、上位命令を実行するために必
要な条件を示す知識を記憶し、実行装置の識別符号ごと
に、その実行装置によって実現できる処理の範囲を記憶
し、上位命令に基づいて、その上位命令の実行のために
必要な条件を上記記憶した条件から抽出し、上記抽出し
た条件を実現できる処理の範囲をもつ実行装置の識別符
号を、上記記憶した識別符号から検索し、上記検索した
識別符号の実行装置に、上記抽出した条件のうちで該当
する実行装置が実現可能なものの実現を命じる下位命令
を与えるものである。ここで、上記記憶した知識には、
前件部と後件部とからなるルールを含ませ、上記前件部
には、実行装置によって実現できる処理の範囲を記述
し、上記後件部には、上位命令の実行可能範囲を記述
し、上記条件の抽出を、上位命令の上記後件部における
適合度を算出し、算出した適合度があらかじめ定められ
た所定値以上となる後件部をもつルールを抽出すること
により行い、上記識別符号の検索を、上記抽出したルー
ルの前件部に記述された処理の範囲を実現できる実行装
置の識別符号を検索することにより行う。
【0006】与えられた上位命令を実行するために必要
となる条件を示す知識が、第1の知識記憶手段に記憶さ
れる。また、上位命令から変換された下位命令を実行す
る実行装置の識別符号とその識別符号に対応する実行装
置によって実現できる処理の範囲とが、第2の知識記憶
手段に記憶される。上位命令が与えられると、その上位
命令を実行するために必要な条件が第1の知識記憶手段
から抽出される。また、抽出された条件を実現できる処
理の範囲をもつ実行装置の識別符号が、第2の知識記憶
手段から検索される。検索された識別符号に対応する実
行装置に、抽出された条件のうちで該当する実行装置が
実現可能なものの実現を命じる下位命令が与えられる。
ここで、上記記憶した知識には、前件部と後件部とから
なるルールを含み、上記前件部には実行装置によって実
現できる処理の範囲が記述され、上記後件部には上位命
令の実行可能範囲が記述される。そして、上記条件の抽
出を、上位命令の上記後件部における適合度を算出し、
算出した適合度があらかじめ定められた所定値以上とな
る後件部をもつルールを抽出することにより行う。ま
た、上記識別符号の検索を、上記抽出したルールの前件
部に記述された処理の範囲を実現できる実行装置の識別
符号を検索することにより行う。
【0007】この発明によれば、上位命令が与えられた
装置が自らその命令を実行することができない場合に
は、上位命令を、その命令を実行するために必要な条件
(命令)にブレーク・ダウン(分解または置換)するこ
とができる。そして、ブレーク・ダウンされた条件(命
令)を実行することができる他の実行装置に、この条件
の実現を命じる下位命令を与えることができる。したが
って、命令が与えられた装置自らが実行できない上位命
令が与えられても、この上位命令を実行できる他の実行
装置に下位命令を実行させることにより上位命令の実行
を行うことができる。これにより、与えられた上位命令
に柔軟に対処できる。また、抽象的な上位命令を具体的
な下位命令に展開することができる。そして、展開され
た下位命令を、その命令を実行できる適切な実行装置に
発することができる。さらに、上記条件の抽出を上記後
件部における適合部が所定値以上となる後件部をもつル
ールを抽出することにより行っているので、上位命令を
実行できる可能性の高いルールを抽出することができ
る。また、抽出されたルールの前件部に記述された処理
の範囲を実行できる実行装置の識別符号を検索している
ので、上位命令を実行できる可能性の高い実行装置の識
別符号を得ることができる。
【0008】
【0009】好ましくは、上記前件部に実行装置によっ
て実現できる処理の範囲がメンバーシップ関数によって
記述され、実行装置ごとに、その実行装置が実行できる
処理の範囲がメンバーシップ関数で規定される。そし
て、上記検索を、上記抽出したルールの前件部に記述さ
れたメンバーシップ関数の変数と同じ変数をもつメンバ
ーシップ関数で規定された処理の範囲を実行できる実行
装置を検索することにより行う。また、上記抽出したル
ールの前件部に基づいて実行装置に対する指示値を算出
し、上記検索した実行装置の実現可能な処理範囲を規定
するメンバーシップ関数に対する上記指示値の適合度を
算出し、算出した適合度に基づいて下位命令を与えるべ
き実行装置を決定する。これにより、処理範囲がメンバ
ーシップ関数によって記述されるので、実行装置の処理
範囲をあいまいな知識として表現することができる。
【0010】この発明の一実施態様においては、上記後
件部の上位命令の実行可能範囲がメンバーシップ関数に
よって記述されており、上記上位命令が上記後件部メン
バーシップ関数の変数値を含み、上記条件の抽出を、上
記後件部メンバーシップ関数の上記上位命令に含まれる
変数値における適合度が上記あらかじめ定められた所定
値以上のルールを抽出することにより行う。
【0011】また、上記下位命令を与えた実行装置か
ら、上記前件部メンバーシップ関数の変数値を含む実行
結果を受け取り、上記受け取った実行結果に含まれる変
数値に基づいて、上記抽出したルールをファジィ推論す
ることにより、上記上位命令の実行結果を算出する。
【0012】この発明の他の実施態様においては、上記
上位命令を他の命令ブレーク・ダウン装置から受けるこ
ともできるし、上記上位命令を入力手段から受けること
もできる。入力手段には、命令ブレーク・ダウン装置に
接続されたキーボード、オペレータ等が操作するコンソ
ール等が含まれる。
【0013】また、好ましくは、上記上位命令を他の命
令ブレーク・ダウン装置から受け、上記上位命令の実行
結果を、上位命令を与えた他の命令ブレーク・ダウン装
置に報告する。これにより、上位命令を与えた装置に、
上位命令の実行結果を返すことができる。また、他の実
施態様においては、上記上位命令の実行結果を表示装置
に表示する。これによりオペレータ等は、実行結果を視
覚により確認することができる。
【0014】また上記実行装置が他の命令ブレーク・ダ
ウン装置であってもよいし、上記実行装置がセンサおよ
びアクチュエータを備えたコントローラであってもよ
い。
【0015】この発明による命令解析装置は、与えられ
た上位命令を実行装置によって実行させるために、上位
命令を実行装置が実行できる処理範囲に分解するための
装置であり、それぞれが、実行装置によって実行できる
処理範囲を規定した前件部と実行可能な上位命令の範囲
を規定した後件部とからなる複数のルールを記憶したル
ール記憶手段、外部からの上位命令を受付ける命令受領
手段、上記命令受領手段が受付けた上位命令を、実行可
能範囲に含む後件部をもつ上記ルールを上記ルール記憶
手段から選択する選択手段、および上記選択手段によっ
て選択されたルールの後件部における与えられた上位命
令の適合度を算出し、算出された適合度があらかじめ定
められた所定値以上である後件部をもつルールの前件部
に基づいて、上記上位命令を実行できる実行装置の処理
範囲を得る取得手段を備えている。
【0016】この発明による命令解析方法は、与えられ
た上位命令を実行装置によって実行させるために、上位
命令を実行装置が実行できる処理範囲に分解するための
方法であり、それぞれが、実行装置によって実行できる
処理範囲を規定した前件部と実行可能な上位命令の範囲
を規定した後件部とからなる複数のルールを記憶し、外
部からの上位命令を受付け、上記受付けた上位命令を実
行可能範囲に含む後件部をもつ上記ルールを、記憶した
複数のルールの中から選択し、上記選択したルールの後
件部における、与えられた上位命令の適合度を算出し、
算出した適合度があらかじめ定められた所定値以上であ
る後件部をもつルールの前件部に基づいて、上記上位命
令を実行できる実行装置の処理範囲を取得するものであ
る。
【0017】それぞれが、実行装置によって実行できる
処理範囲を規定した前件部と実行可能な上位命令の範囲
を規定した後件部とからなる複数のルールが、ルール記
憶手段に記憶される。外部からの上位命令が与えられる
と、この上位命令を実行可能範囲に含む後件部をもつル
ールが上記ルール記憶手段から選択される。そして、選
択されたルールの後件部における与えられた上位命令の
適合度が算出される。算出された適合度があらかじめ定
められた所定値以上である後件部をもつルールの前件部
に基づいて、上記上位命令を実行できる実行装置の処理
範囲が得られる。
【0018】この発明によれば、実行可能な上位命令の
範囲を規定したルールの後件部における適合度が所定値
以上のルールのみが選択されるので、上位命令を実行で
きる可能性の高いルールを選択することができる。ま
た、選択されたルールの前件部に基づいて上位命令を実
行できる実行装置の処理範囲が得られるので、上位命令
を実行できる可能性の高い実行装置を得ることができ
る。
【0019】好ましくは、上記前件部に実行装置によっ
て実行できる処理範囲がメンバーシップ関数によって記
述されており、実行装置ごとに、その実行装置が実行で
きる処理範囲がメンバーシップ関数で規定されている。
そして、上記実行装置の処理範囲の取得を、上記選択し
たルールの前件部に記述されたメンバーシップ関数の変
数と同じ変数をもつメンバーシップ関数で規定された実
行装置の処理範囲を得ることにより行う。
【0020】さらに好ましくは、上記後件部の上位命令
の範囲がメンバーシップ関数によって記述されており、
上記上位命令が上記後件部メンバーシップ関数の変数値
を含むものであり、上記選択を、上記後件部メンバーシ
ップ関数の上記上位命令に含まれる変数値における適合
度が上記あらかじめ定められた所定値以上のルールを選
択することにより行う。
【0021】
【実施例の説明】
(1) 命令ブレーク・ダウン処理システムの概要
【0022】図1は、オペレータ等からコンソールを通
じて与えられた命令をブレーク・ダウンしながら処理す
る命令ブレーク・ダウン処理システムの構成を示すブロ
ック図である。命令のブレーク・ダウンとは、与えられ
た命令を実行するためには、さらに他の複数の命令が実
行されなければならない場合に、与えられた命令をこれ
らの複数の命令に分解ないしは置換することをいう。
【0023】この命令ブレーク・ダウン処理システム
は、マルチ・プロセッサ・システムである。この命令ブ
レーク・ダウン処理システムには、外部バス6、ならび
に外部バス6に接続されたコンソール1、n個のプロセ
ッサ21〜2nおよび通信装置5が含まれている。プロセッ
サ21〜2nが命令ブレーク・ダウン装置に該当し、命令解
析装置を含んでいる。また、コントローラ41〜43が命令
ブレーク・ダウン装置となり、命令解析装置を含むこと
もある。
【0024】プロセッサ21には、2つのコントローラ31
および32が接続されている。プロセッサ24には、1つの
コントローラ33が接続されている。プロセッサによって
は、任意の個数のコントローラを接続することもでき
る。コントローラ31にはセンサ41およびアクチュエータ
44が接続されている。コントローラ32にはセンサ42およ
びアクチュエータ45が、コントローラ33にはセンサ43お
よびアクチュエータ46がそれぞれ接続されている。コン
トローラならびにコントローラに接続されたセンサおよ
びアクチュエータは、n個のプロセッサの全てに接続す
ることもできる。また、プロセッサ21〜2nには、表示装
置(CRT表示装置、液晶表示装置等)および入力装置
(キーボード、ポインティング・デバイス等)の双方ま
たは一方が接続される場合がある。
【0025】プロセッサ21〜2nは、プロセッサを識別す
るためのプロセッサId(プロセッサ識別子)「#1」
〜「#n」を持つ。コンソール1および通信装置5に
は、識別子として「#0」等のプロセッサ21〜2nが持た
ない例外的な識別子が与えられている。
【0026】この命令ブレーク・ダウン処理システムに
与えられる処理命令は、オペレータ等によってコンソー
ル1を通じて与えられることもあるし、通信装置5を通
じて他のシステムから与えられることもある。また、プ
ロセッサ21〜2nに入力装置が接続されている場合には、
入力装置からプロセッサに直接処理命令が与えられるこ
ともある。
【0027】コンソール1、プロセッサ21〜2nおよび通
信装置5のそれぞれの間では、外部バス6を通じて、後
述する命令および報告の送受信が行われる。このとき、
上記の識別子によって相手の装置の指定が行われる。
【0028】コンソール1、通信装置5またはプロセッ
サ21〜2nに接続された入力装置から与えられた命令は、
後に詳述するが、プロセッサ21〜2nによってブレーク・
ダウンされた命令に変換され、他のプロセッサもしくは
コントローラに与えられるか、または命令を受信したプ
ロセッサ自らによって実行される。実行された命令の結
果は、最終的には、命令を与えたコンソール1、通信装
置5または入力装置から命令を受け付けたプロセッサに
報告される。入力装置から命令を受け付けたプロセッサ
に命令結果が報告された場合には、その報告はそのプロ
セッサに接続された表示装置に表示されることもある。
【0029】コントローラ31〜33は、プロセッサ21また
は24から与えられた命令およびセンサからの信号に基づ
いてアクチュエータを制御する。制御結果は、命令を与
えたプロセッサに報告される。
【0030】図2は、この命令ブレーク・ダウン処理シ
ステムの処理の概要を示している。処理の一例として、
プロセッサ#1(プロセッサ21)に、コンソール1、他
のプロセッサ#i(i=2〜n)(コンソール1、プロ
セッサ2i)または通信装置5等から「z=c0 にせ
よ。」という命令81が与えられた場合が示されている。
この命令は、「変数zの値を定数c0 (クリスプ数)に
せよ。」という意味である。定数c0 にファジィ数を用
いることもできる。
【0031】プロセッサ#1には、以下の知識1および
知識2があらかじめ記憶されている。
【0032】〔知識1〕 1) 「if x=A1 & y=B1 then z=C1 」 2) 「if x=A2 & y=B2 then z=C2 」 ・・・ m) 「if x=Em & y=Bm then r=Cm
【0033】〔知識2〕 1) 「x=A1 ,x=A2 ,…の範囲は、プロセッサ#
3が実行可能。」 2) 「y=B1 ,y=B2 ,…の範囲は、プロセッサ#
4が実行可能。」 ・・・ 3) 「v=E1 ,v=Em ,…の範囲は、プロセッサ#
2が実行可能。」
【0034】知識1は、ファジィ推論で用いられるルー
ルの一つである。知識1の「x=A1 & y=B1 」等
を前件部といい、「z=C1 」等を後件部という。知識
1には、上記のように一般に複数のルールが存在する。
【0035】知識1(1) は、「変数xの値がファジィ数
1 (定数)の示す範囲(ファジィ数A1 を表すメンバ
ーシップ関数において適合度が0以上の変数域)にあ
り、かつ変数yの値がファジィ数B1 (定数)の示す範
囲(ファジィ数B1 を表すメンバーシップ関数において
適合度が0以上の変数域)にあるならば、変数zの値は
ファジィ数C1 (定数)の示す範囲(ファジィ数C1
表すメンバーシップ関数において適合度が0以上の変数
域)にある。」ことを意味する。知識1(2) 、(m) につ
いても同様である。
【0036】これは逆に考えると「変数zの値をファジ
ィ数C1 に範囲内とするためには、変数xの値をファジ
ィ数A1 の範囲内とし、かつ変数yの値をファジィ数B
1 の範囲内としなければならない。」ことを意味する。
【0037】したがって、与えられた命令81「z=c0
にせよ。」の値c0 が後件部のファジィ数C1 の範囲内
にあるならば、前件部の変数xの値をファジィ数A1
範囲内とし、かつ変数yの値をファジィ数B1 の範囲内
とすれば、z=c0 またはc0 に近い値にできる可能性
があることになる。これは、知識1において、z=c0
をその範囲に含む(またはz=c0 における適合度がよ
り大きいメンバーシップ関数をもつ)ファジィ数を後件
部にもつルールを選択すればよいことを意味する。
【0038】すなわち、「変数xの値をファジィ数A1
の範囲内のものとせよ。」という命令(命令1とする)
と「変数yの値をファジィ数B1 の範囲内のものとせ
よ。」という命令(命令2とする)とが実行(達成)さ
れれば、「z=c0 」にせよという命令が達成される可
能性がある。またはz=c0 とはできないにしても、z
≒c0 (ファジィ変数C1 の示す範囲内の値)は実行
(達成)される。
【0039】知識2(1) は、「変数xの値をファジィ数
1 ,A2 ,…の範囲内とするのは、プロセッサ#3が
実行可能である。」ことを意味する。知識2(2) は、
「変数yの値をファジィ数B1 ,B2 ,…の範囲内にす
るのは、プロセッサ#4が実行可能である。」ことを意
味する。知識2(n) についても同様である。
【0040】知識2(1) によれば、命令1はプロセッサ
#3で実行できることを意味する。また、命令2はプロ
セッサ#4で実行できることを意味する。したがって、
プロセッサ#1は、命令1をプロセッサ#3に、命令2
をプロセッサ#4にそれぞれ与えることにより、命令
「z=c0 にせよ。」という命令が実行されることとな
る。図2では、この命令1を、ファジィ数A1 の示す範
囲内にある数値a0 (クリスプ数)を用いて「y=a0
にせよ。」(命令82)という形でプロセッサ#3(プロ
セッサ23)に与えている。また、命令2を、ファジィ数
1 の示す範囲内にある数値b0 (クリスプ数)を用い
て「y=b0 にせよ。」(命令83)という形でプロセッ
サ#4(プロセッサ24)に与えている。
【0041】プロセッサ#3は、与えられた命令1(命
令82)を自ら実行し、「xの現在値はa1 です。」とい
う報告85をプロセッサ#1に返す。プロセッサ#4は、
与えられた命令2(命令83)をさらにブレーク・ダウン
し、ブレーク・ダウンされた命令をコントローラ33に与
え、実行させる。そして、プロセッサ#4は、コントロ
ーラ33からの実行結果の報告を受ける。この報告に基づ
いて「yの現在値はb1 です。」という報告86が作成さ
れ、この報告86がプロセッサ#1に送られる。プロセッ
サ#1では、プロセッサ#3および#4の報告85および
86に基づいて、知識1のルール(群)に基づいてファジ
ィ推論を行う。そして、推論結果である「zの現在値は
1 です。」という報告84を、命令の発行元(コンソー
ル1またはプロセッサ2i)に返す。
【0042】このように、この命令ブレーク・ダウン処
理システムでは、与えられた命令がさらに他の複数の命
令に分解または置換され、分解または置換された命令
は、この命令を実行できる他のプロセッサまたはコント
ローラ等に与られる。与えられた命令をプロセッサ自ら
またはコントローラ自らが実行できるならば、そのプロ
セッサまたはコントローラは、他のプロセッサまたはコ
ントローラ等に命令を与えることなく自ら実行する。こ
のようにして、処理が行われていく。
【0043】以下にこの命令ブレーク・ダウン処理シス
テムの詳細について述べる。
【0044】(2) 命令ブレーク・ダウン処理システムの
詳細
【0045】図3は、図1に示されるプロセッサ21(命
令ブレーク・ダウン装置)の構成を示すブロック図であ
る。他のプロセッサ2i(i=2〜n)も、コントローラ
I/Fの有無(コントローラの接続の有無)の相違を除
き、プロセッサ21を同じ構成を有する。
【0046】このプロセッサ21は、CPU70、ROM7
1、RAM72、ディスクI/F73(ディスク・インタフ
ェース装置)、ディスク装置74〜76(磁気記憶装置、光
記憶装置等)、外部バスI/F77(外部バス・インタフ
ェース装置)、ならびにコントローラI/F78および79
(コントローラ・インタフェース装置)から構成されて
いる。
【0047】CPU70、ROM71、RAM72、ディスク
I/F73、外部バスI/F77、ならびにコントローラI
/F78および79は内部バスに接続され、内部バスを通じ
てデータの送受信を行う。
【0048】外部バスI/F77は外部バス6に接続さ
れ、この外部バス6を通じて他のプロセッサ、コンソー
ル1または通信装置5との命令および報告の送受信を行
う。コントローラI/F78および79は、プロセッサの外
部にあるコントローラ31および32にそれぞれ接続され、
これらのコントローラとの間で命令および報告の送受信
を行う。
【0049】ROM71には、後に詳述するが、このプロ
セッサ21の処理プログラムが記憶されている。CPU70
は、ROM71に記憶されたプログラムを読みだして、後
述する処理を実行する。
【0050】ディスク装置74には、ルール・データおよ
びメンバーシップ関数データが記憶されている。ルール
・データおよびメンバーシップ関数データが、上述した
知識1(図2)に該当する。
【0051】図4は、ルール・データの構造を示してい
る。ルール・データは、前件部データと後件部データと
からなるルール、各ルールに付けられたルール番号およ
び1または2以上のルールに付けられたルール群番号か
らなる。前件部データおよび後件部データは、上述した
知識1(図2)の前件部および後件部にそれぞれ該当す
る。
【0052】前件部データは、第1命題、第2命題およ
び第3命題の3つの命題から構成されている。ルールに
よっては、第1命題から第3命題のすべてを持つものも
ある。また、第1命題と第2命題しか持たないもの(ル
ール番号1のルール等)、第1命題しかもたないもの
(ルール番号iのルール等)もある。また、この命題の
個数を任意として、第4命題、第5命題等を加えること
もできる。これらの命題は、ファジィAND演算(MI
N演算、激烈積等)によって処理される。以下ではMI
N演算による処理について述べる。さらに、各命題は、
変数名およびファジィ・ラベルから構成されている。こ
の変数名とファジィ・ラベルとのセットは、後述するメ
ンバーシップ関数データ(図5)に含まれる変数名とフ
ァジィ・ラベルとのセットに対応している。例えば、命
題の変数名xとファジィ・ラベルA1 とのセットはメン
バーシップ関数データの変数名xとファジィ・ラベルA
1 とのセットに対応している。
【0053】後件部データは、1つの命題から構成され
ている。この命題は変数名およびファジィ・ラベルから
構成されている。この変数名とファジィ・ラベルとのセ
ットも前件部の命題と同様に、メンバーシップ関数デー
タの変数名とファジィ・ラベルとのセットに対応してい
る。
【0054】ルール番号は、各ルールごとにユニークに
付けられている。ここでは、先頭のルールから順番に1
〜mの連続番号が付けられている。また、後件部データ
の変数名を同じくする複数のルールは一つのルール群を
構成している。このルール群にルール群番号が付けられ
ている。ここでは、後件部データに変数zをもつルール
群にはルール群番号1が、後件部データに変数pをもつ
ルール群にはルール群番号2が、後件部データに変数r
をもつルール群にはルール群番号Mがそれぞれ付けられ
ている。
【0055】メンバーシップ関数データとは、上記のル
ール・データにおける変数名とファジィ・ラベルとのセ
ットに対応するメンバーシップ関数を表すデータであ
る。図5は、メンバーシップ関数データの構造を示して
いる。メンバーシップ関数データは、変数名、ファジィ
・ラベルおよびメンバーシップ関数のパラメータから構
成されている。メンバーシップ関数のパラメータは、さ
らに4つの値α1 〜α4からなる。これらの4つの値α1
〜α4 は、メンバーシップ関数上の4つの点の変数値
を示している。これらの4つの値によって示される4点
の座標は、P1 (α1 ,0)、P2 (α2 ,1)、P3
(α3 ,1)およびP4 (α4 ,0)と約束されてい
る。この4点を直線で結ぶことによりメンバーシップ関
数が作成される。
【0056】α1 <α2 <α3 <α4 の場合には、図6
(a) に示すようにメンバーシップ関数は台形型になる。
α1 >α2 かつα3 <α4 の場合には、図6(b) に示す
ようにメンバーシップ関数は区間[α3 ,α4 ]で傾き
をもった直線、区間(∞,α3 ]でグレードの値が1の
直線と約束されている。α1 <α2 かつα3 >α4 の場
合には、図6(c) に示すようにメンバーシップ関数は区
間[α1 ,α2 ]で傾きをもった直線、区間[α2
∞)でグレードの値が1の直線と約束されている。α1
<α2 =α3 <α4 の場合には、図6(d) に示すように
メンバーシップ関数は三角形型となる。例えば、変数が
x、ファジィ・ラベルがA1 のメンバーシップ関数は、
座標(2.0 ,0)、(4.0 ,1)および(6.0 ,0)の
3点を結ぶ三角形型のメンバーシップ関数である。
【0057】ディスク装置75には、プロセッサ機能リス
トが記憶されている。プロセッサ機能リストは、上述し
た知識2(図2)に該当する。図7は、プロセッサ機能
リストの構造を示している。このプロセッサ機能リスト
は、命令ブレーク・ダウン処理システムに含まれる全プ
ロセッサの個数を示すプロセッサ数(この値はn)、こ
れらのn個のプロセッサId、それぞれのプロセッサが
処理できる変数名およびメンバーシップ関数のパラメー
タから構成されている。メンバーシップ関数のパラメー
タは、上述したメンバーシップ関数データに含まれるパ
ラメータと同じ構成を持つ。
【0058】このプロセッサ機能リストは、どのプロセ
ッサがどの変数をどの程度の適合度で処理できるかを示
している。例えば、変数zの値をc0 とする処理につい
て考える。プロセッサ#1が変数zを処理できることが
示されている。また、プロセッサ#1のメンバーシップ
関数のパラメータで表されるメンバーシップ関数におい
て、z=c0 における適合度が求められる。プロセッサ
#1は、この求められた適合度で変数zの値をc0 とす
る処理ができることとなる。1つのプロセッサが異なる
複数の変数を処理できる場合もある。例えば、プロセッ
サ#1が変数zのほかに変数vも処理できる場合等であ
る。この場合には、1つのプロセッサIdに対して、複
数の変数名(例えばzとv)およびメンバーシップ関数
のパラメータのリストが設けられる。
【0059】ディスク装置76には、命令送信リストが記
憶されている。命令送信リストは、プロセッサが与えら
れた命令を実行するために、他のどのプロセッサにどの
ような命令を前回送信したかを示すデータである。図8
は、命令送信リストの構造を示している。命令送信リス
トは、受信命令(与えられた命令)の変数名、および受
信命令に対して他のプロセッサに与えた第1発行命令、
第2発行命令等からなる。各発行命令は、命令の発行先
である宛先プロセッサId、変数名および指示値からな
る。1つの受信命令に対して、他の複数のプロセッサに
命令を発行した場合には、第1発行命令、第2発行命令
等の複数の命令の欄が設けられる。例えば、受信命令の
変数名がzの欄では、プロセッサ#10に対して「x=a
にせよ。」およびプロセッサ#4に対して「y=dにせ
よ。」という2つの命令が発行されたことが示されてい
る。プロセッサ#1が自身に命令を与えることはないの
で、プロセッサ#1のディスク装置76には、プロセッサ
Idが#1のリストは含まれていない。
【0060】この命令送信リストは命令を送信するごと
に更新される。例えば、次回、受信命令に含まれる変数
名がpであり、この命令に対して「v=wにせよ。」を
プロセッサ#2に送信すると、受信命令の変数名pの欄
の変数名vの指示値がwに更新される。したがって、こ
のリストには、最も近い過去に送信された命令の内容が
記憶されていることとなる。また、初期状態において
は、この命令送信リストの各欄には、オペレータ等によ
って初期値が設定される。
【0061】ディスク装置74〜76を1つのディスク装置
によって実現できることはいうまでもない。
【0062】RAM72には、関係ルール群エリア、ルー
ル番号/適合度エリア、命令リスト・エリアおよび一時
記憶エリアが設けられている。これらの各領域に記憶さ
れるデータについては後に詳述する。
【0063】図9〜15は、このプロセッサ21(#1)の
処理の流れを示すフローチャートである。このフローチ
ャートによって示される処理は、上述したようにROM
71に記憶されたプログラムにしたがって、CPU70が実
行する。もちろん他のプロセッサもこれと同様の処理を
実行する。
【0064】まず、プロセッサ21は、コンソール1、他
のプロセッサ、通信装置5または接続された入力装置か
らの命令の受信待ちの状態となる(ステップ101 )。命
令が外部バスI/F77に受信されると、その命令の一部
はCPU70によって、その内部レジスタ(またはRAM
72の一時記憶エリア)に記憶される(ステップ102 )。
【0065】命令の構造は、図16(a) に示されている。
命令は、データの種類、命令が与えられるべき命令の宛
先のプロセッサId、命令の発行元のプロセッサId、
処理対象となる変数名およびこの変数名で示される変数
の達成されるべき値(指示値という)(クリスプ数)か
らなる。図16(a) では、プロセッサ#5からプロセッサ
#1に与えられる「変数zの値をc0 にせよ。」という
命令が示されている。命令の指示値には、ファジィ数を
用いることもできる。命令の指示値にファジィ数を用い
た場合には、そのファジィ数を表すメンバーシップ関数
のパラメータ(図5)等が指示値の欄に置かれるであろ
う。
【0066】以下では、上記の概要で述べたように、
「z=c0 にせよ(変数zの値をc0にせよ)。」とい
う命令が、プロセッサ#5からプロセッサ#1へ与えら
れ、プロセッサ#1がこの命令を「x=a0 にせよ。」
と「y=b0 にせよ。」という2つの命令にブレーク・
ダウンする例を取り上げて説明を行う。
【0067】与えられた命令のうち、図16(b) に示され
るように命令の発行元のプロセッサId、変数名および
指示値がCPU70の内部レジスタ(またはRAM72の一
時記憶エリア)に記憶される。
【0068】この命令に含まれる変数名と同一の変数名
を後件部にもつルール(群)が、ディスク装置74のルー
ル・データから読み出される(ステップ103 )。読み出
されたルールは、RAM72の関係ルール群エリアに記憶
される(ステップ104 )。図17は、関係ルール群エリア
に記憶されたルール群の構造を示している。命令に含ま
れる変数名はzなので、ルール・データ(図4)のルー
ル群番号1に含まれる、ルール番号1〜iのi個のルー
ルが、RAM72の関係ルール群エリアに記憶される。ま
た、ルールの個数iが、この記憶データに付加される。
【0069】次に、関係ルール群エリアに記憶されたル
ールに含まれる変数名とファジィ・ラベルとのセット
(以下では、変数名とファジィ・ラベルとのセットを単
にファジィ・ラベルという)に対応するメンバーシップ
関数のデータが、ディスク装置74のメンバーシップ関数
データから読み出される(ステップ105 )。読み出され
たメンバーシップ関数データは、ルール・データと同じ
くRAM72の関係ルール群エリアに記憶される(ステッ
プ106 )。
【0070】そして、関係ルール群エリアにある各ルー
ルの後件部データについて、次の処理が行われる。ま
ず、ルール番号1の後件部データのファジィ・ラベルC
1 に対応するメンバーシップ関数が、関係ルール群エリ
アにあるメンバーシップ関数データに基づいて作成され
る(ステップ107 )。そして、作成されたメンバーシッ
プ関数において、変数値(指示値)c0 における適合度
(関数値)が求められる(ステップ108 )。求められた
適合度は、ROM71等にあらかじめ記憶された第1の基
準値と比較される(ステップ109 )。求められた適合度
が第1の基準値以上であれば(ステップ109 でYES )、
そのルール番号と適合度とが組にされてRAM72のルー
ル番号/適合度エリアに記憶される(ステップ110 )。
求められた適合度が第1の基準値に満たない場合には
(ステップ109 でNO)、このルール番号と適合度とはル
ール番号/適合度エリアに記憶されない。
【0071】図18は、ファジィ・ラベルC1 、C2 およ
びCi のそれぞれに対応するメンバーシップ関数C1
2 およびCi (ファジィ・ラベルと同じ符号をメンバ
ーシップ関数にも用いることとする)を示している。メ
ンバーシップ関数C1 については、変数値c0 における
適合度はd1 であり第1の基準値以上である。したがっ
て、ルール番号1と適合度d1 とはルール番号/適合度
エリアに記憶される。メンバーシップ関数C2 およびC
i では、適合度はそれぞれd2 および0であり、いずれ
も第1の基準値以下である。したがって、これらのルー
ル番号および適合度は記憶されない。
【0072】このように、第1の基準値以上の適合度を
有するもののみを選択し記憶するのは、適合度があまり
にも小さいルールを選んでも、「z=c0 にせよ。」と
いう命令を実現できる可能性は小さいので、そのような
ルールを採用しないようにするためである。
【0073】これらのステップ107 〜110 の処理が、ル
ール番号2〜iまでの各ルールについても行われる(ス
テップ111 、112 )。図19は、これらの処理によってル
ール番号/適合度エリアに記憶されたデータの構造を示
している。ここでは、ルール番号1、3および10が、ス
テップ110 においてルール番号/適合度エリアに記憶さ
れたものとする。ルール番号1について、ステップ108
で求められた適合度はd1 である。ルール番号3および
10についての適合度は、それぞれd3 およびd10であ
る。これは、ファジィ・ラベルC1 、C3 およびC10
対応するメンバーシップ関数についての、変数値c0
おける適合度が第1の基準値以上であったことを示して
いる。
【0074】また、このルール番号/適合度エリアに記
憶されたルール番号の個数(ルール数)が計算される。
このルール数(この場合は3)が、記憶データに付加さ
れている。ステップ110 においてルール番号/適合度エ
リアに記憶されるべきデータ(ルール番号と適合度)が
全くない場合には、このルール数の値は0となる。
【0075】次に、ルール数の値が0かどうか、すなわ
ちルール番号/適合度エリアに記憶されたデータが存在
するかどうかが判定される(ステップ113 )。ルール数
は3であり、データは存在するのでステップ114 へ処理
は進む。データが存在しない場合には(ステップ113 で
NO)、後述する例外処理(ステップ144 〜146 )とな
る。
【0076】次に、ルール番号/適合度エリアに記憶さ
れた各ルール番号に対応するルールの前件部データの処
理が行われる。まず、ルール番号1に対応するルールの
前件部データが、RAM72の関係ルール群エリアから参
照される(ステップ114 )。そして、参照された前件部
データのファジィ・ラベルA1 およびB1 に対応するメ
ンバーシップ関数データが、関係ルール群エリアから参
照される(ステップ115 )。参照されたメンバーシップ
関数データによって作成されるメンバーシップ関数A1
およびB1 は、その最大グレード値(=1)が適合度d
1 (ルール番号1に対応する適合度)になるように変換
される(ステップ116 )(変換されたメンバーシップ関
数をAC1およびBC1とする)。
【0077】図20(a) は、ファジィ・ラベルA1 ,A3
およびA10に対応するメンバーシップ関数A1 ,A3
よびA10を示している。ファジィ・ラベルA1 ,A3
よびA10は、ルール番号/適合度エリアにあるルール番
号1、3および10のルールの前件部に含まれるものであ
る。図20(b) は、これらのメンバーシップ関数の最大グ
レード値(=1)がそれぞれの適合度d1 ,d3 および
10に変換されたメンバーシップ関数AC1,AC2および
C10 を示している。
【0078】メンバーシップ関数を、その最大グレード
値(=1)が適合度の値になるように変換せずに、メン
バーシップ関数を適合度の値で頭切り(トランケーショ
ン)してもよい。頭切りによる方法は、処理が簡単であ
る。メンバーシップ関数の最大グレード値を適合度の値
にする方法は、メンバーシップ関数の形状が保存される
ので、このメンバーシップ関数を用いた演算結果の精度
が頭切りによる方法よりも一般に向上するという特徴が
ある。
【0079】この変換されたメンバーシップ関数のデー
タは、RAM72の一時記憶エリアに記憶される(ステッ
プ117 )。例えば、メンバーシップ関数AC1は、4つの
座標データ(2.0 ,0)、(4.0 ,d1 )、(4.0 ,d
1 )および(6.0 ,0)として記憶される。
【0080】これらのステップ114 〜117 の処理が、ル
ール番号3の前件部データ(ファジィ・ラベルA3 およ
びB3 )ならびに10(ファジィ・ラベルA10および
10)についても行われる(ステップ118 、119 )。メ
ンバーシップ関数B3 およびB10がステップ116 で変換
されたものを、それぞれメンバーシップ関数BC3および
C10 とする。
【0081】一時記憶エリアに記憶された変換後のメン
バーシップ関数は、各変数ごとにMAX演算される(重
ね合わされる)(ステップ120 )。ルール番号1、3お
よび10の各ルールは、その前件部データに変数xとyの
みをもつ。したがって、変数xについては、メンバーシ
ップ関数AC1、AC2およびAC10 がMAX演算される。
変数yについては、メンバーシップ関数BC1、BC2およ
びBC10 がMAX演算される。図20(c) は、変数xにつ
いての3つのメンバーシップ関数AC1、AC2およびA
C10 がMAX演算された様子を示している。
【0082】次に、MAX演算により得られたメンバー
シップ関数について、非ファジィ化(デファジィファ
イ)処理が行われる(ステップ121 )。非ファジィ化の
方法には、MAX演算により得られたメンバーシップ関
数の面積重心を求めるもの(重心法)や、メンバーシッ
プ関数のグレードが最大となる変数値を求めるもの(最
大高さ法)等がある。
【0083】非ファジィ化により得られた値(クリスプ
数)は、その変数の代表値とされる(ステップ121 )。
変数xについての代表値をa0 (図20(c) )、変数yに
ついての代表値b0 とそれぞれする。MAX演算される
べき複数のメンバーシップ関数を持たない変数について
は、1つのメンバーシップ関数に基づいて非ファジィ化
処理が行われる。
【0084】次に、ディスク装置75に記憶されたプロセ
ッサ機能リストが参照され、変数xおよびyに対応する
リストが読み出される(ステップ122 )。変数xについ
ては、プロセッサIdが#3と#n等のリストが読み出
される。変数yについては、プロセッサIdが#4等の
リストが読み出される。読み出されたリストは、RAM
72の一時記憶エリアに記憶される(ステップ123 )。
【0085】読み出された各リストのメンバーシップ関
数のパラメータによってメンバーシップ関数が作成され
る。そして、作成されたメンバーシップ関数において、
ステップ121 の非ファジィ化処理により得られた代表値
における適合度が求められる(ステップ124 )。変数x
については、プロセッサ#3、#n等のリストのメンバ
ーシップ関数における代表値a0 (変数値)の適合度が
求められる。変数yについては、プロセッサ#4等のリ
ストのメンバーシップ関数における代表値b0(変数
値)の適合度が求められる。
【0086】求められた適合度は、ROM71等にあらか
じめ記憶されている第2の基準値と比較される(ステッ
プ125 )。第2の基準値は、第1の基準値と同じ値であ
ってもよいし、異なる値であってもよい。適合度が第2
の基準値以上であれば(ステップ125 でYES )、そのリ
ストの変数名、プロセッサIdおよびステップ124 で求
められた適合度が組にされて、RAM72の一時記憶エリ
アに記憶される(ステップ126 )。適合度が第2の基準
値に満たない場合には(ステップ125 でNO)、この変数
名、プロセッサIdおよび適合度は記憶されない。
【0087】ステップ124 〜126 の処理が、一時記憶エ
リアにある全リストについて行われる(ステップ127 、
128 )。この結果、変数xについて、プロセッサ#3と
その適合度h3 およびプロセッサ#nとその適合度hn
が、ステップ126 で一時記憶エリアに記憶されたものと
する。また、変数yについては、プロセッサ#4とその
適合度h4 が一時記憶エリアに記憶されたものとする。
【0088】全リストについての処理が終了すると(ス
テップ127 でYES )、変数xおよびyのそれぞれについ
て、プロセッサIdおよび適合度が記憶されているかど
うかが判定される。まず変数xについてのプロセッサI
dと適合度が一時記憶エリアに記憶されているかどうか
が判定される(ステップ129 )。変数xについては、プ
ロセッサ#3と適合度h3 およびプロセッサ#nと適合
度hn が記憶されているので(ステップ129 でYES )、
ステップ130 の処理が行われる。もしプロセッサIdお
よび適合度が全く記憶されていない場合には(ステップ
129 でNO)、後述する例外処理が行われる(ステップ14
7 〜149 )。
【0089】ステップ130 では、変数xについて複数の
プロセッサIdおよび適合度が記憶されている場合に
は、その中で適合度が最大のプロセッサIdが選択され
る。適合度の高いプロセッサの方が、命令を実行できる
(変数xの値を代表値a0 にできる)可能性が高いから
である。変数xについては、プロセッサ#3および#n
が記憶されているので、各プロセッサの適合度h3 とh
n とが比較される。ここで、h3 >hn とすると、プロ
セッサ#3が選択される。
【0090】選択されたプロセッサ#3、変数名xおよ
び代表値a0 は、組(命令リストという)にされて、R
AM72の命令リスト・エリアに記憶される(ステップ13
1 )。
【0091】変数yについても、ステップ129 〜131 の
処理が行われる(ステップ132 、133 )。変数yについ
ては、プロセッサ#4、変数名yおよび代表値b0 が組
(命令リスト)にされて命令リスト・エリアに記憶され
る。図21は、命令リスト・エリアに記憶された命令リス
トの構造を示している。命令リストは、宛先プロセッサ
Id(上記のプロセッサId)、変数名および指示値
(上記の代表値)から構成されている。また、命令リス
トには、命令を送るべきプロセッサの個数(対象プロセ
ッサ数、この場合には2)が付けられている。
【0092】命令リスト・エリアに記憶されたデータに
基づいて、送信命令が作成される(ステップ134 )。作
成される命令は、「変数xをa0 にせよ。」(命令1)
および「変数yをb0 にせよ。」(命令2)である。こ
れらの命令は図16(a) に示される構造をもつ。すなわ
ち、命令1では、データの種類が「命令」、宛先プロセ
ッサIdが「#3」、発行元プロセッサIdが「#
1」、変数名が「x」、指示値が「a0 」にそれぞれな
る。命令2では、データの種類が「命令」、宛先プロセ
ッサIdが「#4」、発行元プロセッサIdが「#
1」、変数名が「y」、指示値が「b0 」にそれぞれな
る。これらの命令は、プロセッサ#3および#4にそれ
ぞれ送信される(ステップ135 )。命令の送信後、送信
した命令に基づいて、ディスク装置76の命令送信リスト
(図8)が更新される(ステップ136 )。
【0093】命令を送信したプロセッサは、送信後、あ
らかじめ定められた一定時間、命令を送信したプロセッ
サからの報告の受信待ち状態となる(ステップ137 )。
この一定時間は、一般に、命令を与えたプロセッサ(こ
こではプロセッサ#3および#4)が与えた命令を処理
し、処理結果の報告を返すのに十分な時間が選ばれる。
【0094】この一定時間内に、命令を送信したプロセ
ッサ#3および#4から報告が受信されたかどうかが判
定される(ステップ138 )。図16(c) は、報告のデータ
構造を示している。報告は、データの種類(報告)、そ
の報告の宛先のプロセッサId、その報告の発行元のプ
ロセッサId、報告の対象となる変数名およびこの変数
名で示される変数の値(現在値)からなる。図16(c) で
は、プロセッサ#3からプロセッサ#1に与えられる
「変数xの現在値はa1 (クリスプ数)です。」という
報告が示されている。報告の現在値に、ファジィ数を用
いることもできる。
【0095】ここでは、プロセッサ#1は、プロセッサ
#3から「変数xの現在値はa1 です。」という報告お
よびプロセッサ#4から「変数yの現在値はb1
す。」という報告を受信した場合について考える(報告
を受信しない場合については後述する)。
【0096】送信した全てのプロセッサから報告を受信
したので(ステップ138 でYES )、RAM72の命令リス
ト・エリアにある命令リスト(図21)の変数xには、現
在値a1 が代入される(ステップ139 )。また、命令リ
ストの変数yには、現在値b1 が代入される(ステップ
139 )。次に、これらの変数xおよびyの現在値に基づ
いて、RAM72の関係ルール群エリアにあるルールがフ
ァジィ推論される。ステップ109 では、ルール番号1、
3および10の3つのルールが選ばれているので、この3
つのルールに基づいてファジィ推論が行われる。
【0097】すなわち、ルール番号1、3および10の各
ルールの変数xおよびyにa1 およびb1 がそれぞれ代
入され、前件部の適合度が求められる。各ルールの後件
部メンバーシップ関数の最大グレード値(=1)は、前
件部の適合度の値になるように変換される(または頭切
りされる)。各ルールの後件部の変換されたメンバーシ
ップ関数(または頭切りされたメンバーシップ関数)が
MAX演算される。そして、その面積重心の(または最
大の適合度を有する)変数値(変数zの値であり、c1
とする)が求められる(ステップ140 )。この求められ
たzの値c1 は、zの現在値とされる。
【0098】現在値c1 に基づき、図16(c) に示される
報告が作成される(ステップ141 )。作成された報告
は、命令の発行元プロセッサ(プロセッサ#5)に送信
される(ステップ142 )。発行元のプロセッサIdは、
上述したようにCPU70の内部レジスタ(またはRAM
72の一時記憶エリア)に記憶されているので、それが参
照される。報告が送信された後、処理を終了するかどう
かが判定される(ステップ143 )。例えば、プロセッサ
#1に接続された入力装置によって、終了命令がプロセ
ッサ#1に与えられているならば(ステップ143 でYES
)、処理は終了する。そうでない場合には(ステップ1
43 でNO)、再び命令の受信待ち状態となる(ステップ1
01 )。
【0099】ステップ113 において、RAM72のルール
番号/適合度エリアにルール番号と適合度とが記憶され
ていない場合には、ステップ144 〜146 の処理(例外処
理)が行われる。これは、ルールの後件部の適合度が第
1の基準値以上であるルールが存在しかった場合であ
る。この場合には、ディスク装置76に記憶されている命
令送信リストが参照される(ステップ144 )。コンソー
ルまたは他のプロセッサ等から今回与えられた命令(受
信命令)に含まれる変数名と同じ変数名をもつリスト
が、命令送信リストから参照される(ステップ145 )。
例えば、与えられた命令に変数名zを含む場合には、図
8の命令送信リストにおいて受信命令の変数名zのリス
トが参照される。
【0100】次に、参照されたリストの第1、第2の発
行命令等にしたがって命令が発行される(ステップ146
)。図8に示されるリストによれば、プロセッサ#10
に「x=aにせよ。」およびプロセッサ#4に「y=d
にせよ。」という命令が送信されることとなる。そし
て、ステップ137 以降の処理が行われる。
【0101】また、ステップ126 でプロセッサIdおよ
び適合度が、RAM72の一時記憶エリアに記憶されなか
った変数が存在する場合には(ステップ129 でNO)、そ
の変数についてはステップ147 〜149 の例外処理が実行
される。これは、プロセッサ機能リストにおいて、第2
の基準値以上の適合度をもつプロセッサが見つからなか
った場合である。この場合にも、ディスク装置76に記憶
されている命令送信リストが参照される(ステップ147
)。コンソールまたは他のプロセッサ等から今回与え
られた命令(受信命令)に含まれる変数名と同じ変数名
をもつリストが、命令送信リストから参照される(ステ
ップ148 )。例えば、与えられた命令に変数名zを含む
場合には、図8に示される命令送信リストにおいて受信
命令の変数名zのリストが参照される。
【0102】続いて、命令を送信すべきプロセッサが未
定の変数名と同じ変数名をもつ発行命令が参照される。
例えば、変数xについてのプロセッサが未定の場合に
は、変数名zの欄の第1発行命令が参照される。参照さ
れた発行命令のデータ(宛先プロセッサId、変数名、
指示値)が、RAM72の命令リスト・エリアに記憶され
る(ステップ149 )。そして、ステップ132 から処理が
続行される。
【0103】ステップ138 において、命令を与えたプロ
セッサの全てまたは一部から報告が返ってこない場合に
は(ステップ138 でNO)、ステップ150 の処理が行われ
る。すなわち、関係ルール群エリアに記憶されたルール
において、報告が返ってこないプロセッサに与えた命令
に含まれる変数名と同じ変数名をもつルールの前件部の
適合度が0にされる(ステップ150 )。例えば、プロセ
ッサ#3に「x=aにせよ。」という命令を与え、プロ
セッサ#3から報告が返ってこない場合には、変数名x
を含むルールの適合度が0とされる。報告が返ってきた
変数については、上述したように報告に含まれる現在値
が命令リストの変数に代入される(ステップ139 )。そ
して、ステップ140 のファジィ推論が行われる。
【0104】ステップ113 でNOの場合には、ステップ14
4 〜146 の例外処理をする代わりに、第1の基準値をあ
らかじめ定められた値よりも小さい値に変更して、再度
ステップ109 の判定を行うこともできる。第1の基準値
を小さくしてもなおステップ113 でNOの場合には、ステ
ップ144 〜146 の例外処理を行うこともできる。また、
ステップ129 でNOの場合にもステップ147 〜149 の例外
処理をする代わりに、第2の基準値をあらかじめ定めら
れた値よりも小さくして、再度ステップ125 の判定を行
うこともできる。そして、第2の基準値を小さくしても
なおステップ129 でNOの場合には、ステップ147 〜149
の例外処理を行うこともできる。
【0105】ディスク装置75に記憶されたプロセッサ機
能リストにコントローラについてのデータ(コントロー
ラId、変数名、メンバーシップ関数のパラメータ)を
記憶させることもできる。これにより、プロセッサがコ
ントローラに命令を与えて、コントローラから報告を受
けることもできる。
【0106】また、コントローラがプロセッサと同様の
構成または簡単なマイクロコンピュータを備え、上記の
プロセッサと同様の処理を行うこともできる。これによ
り、コントローラがアクチュエータに命令(制御命令)
を与えて、センサから報告(信号)を受けることもでき
る。
【0107】コンピュータ・システム内に生成されるタ
スクが、上述した各プロセッサまたはコントローラの処
理を行うこともできる。そして、コンピュータ・システ
ムによって実行されるマルチ・タスクによって、上記の
命令ブレーク・ダウン処理システムと同じ処理を実現す
ることもできる。
【図面の簡単な説明】
【図1】命令ブレーク・ダウン処理システムの構成を示
すブロック図である。
【図2】命令ブレーク・ダウン処理システムの処理の概
要を示す
【図3】命令ブレーク・ダウン処理システムのプロセッ
サの構成を示すブロックである。
【図4】ルール・データの構造を示す
【図5】メンバーシップ関数データの構造を示す。
【図6】メンバーシップ関数データにより表されるメン
バーシップ関数の例を示す。
【図7】プロセッサ機能リストの構造を示す。
【図8】命令送信リストの構造を示す。
【図9】プロセッサの処理の流れを示すフローチャート
である。
【図10】プロセッサの処理の流れを示すフローチャー
トである。
【図11】プロセッサの処理の流れを示すフローチャー
トである。
【図12】プロセッサの処理の流れを示すフローチャー
トである。
【図13】プロセッサの処理の流れを示すフローチャー
トである。
【図14】プロセッサの処理の流れを示すフローチャー
トである。
【図15】プロセッサの処理の流れを示すフローチャー
トである。
【図16】(a) はプロセッサ間で通信される命令の構造
を、(b) はプロセッサの内部に記憶される命令の構造
を、(c) はプロセッサ間で通信される報告の構造をそれ
ぞれ示す。
【図17】関係ルール群エリアに記憶されているルール
群の構造を示す。
【図18】メンバーシップ関数の例と、変数値c0 にお
ける適合度を示す。
【図19】ルール番号/適合度エリアに記憶されている
データの構造を示す。
【図20】(a) は3つのメンバーシップ関数の例を、
(b) は3つのメンバーシップ関数の最大グレード値が適
合度の値になるように変換されたメンバーシップ関数
を、(c) は3つのメンバーシップ関数をMAX演算した
結果のメンバーシップ関数をそれぞれ示す。
【図21】命令リスト・エリアに記憶されている命令リ
ストの構造を示す。
【符号の説明】
1 コンソール 21,23,24,2n プロセッサ 31,32,33 コントローラ 41,42,43 センサ 44,45,46 アクチュエータ 5 通信装置 6 外部バス 70 CPU 71 ROM 72 RAM 73 ディスクI/F 74,75,76 ディスク装置 77 外部バスI/F 78,79 コントローラI/F 81,82,83 命令 84,85、86 報告
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/44 G05B 13/02 G05B 15/02 G05B 19/05 G06F 15/16 G06F 9/46 JSTファイル(JOIS) CSDB(日本国特許庁)

Claims (18)

    (57)【特許請求の範囲】
  1. 【請求項1】 与えられた上位命令を一または複数の下
    位命令に変換し、下位命令を実行できる実行装置に、変
    換した下位命令を与える装置であり、 上位命令を実行するために必要な条件を示す知識を記憶
    した第1の知識記憶手段、 実行装置の識別符号ごとに、その実行装置によって実現
    できる処理の範囲を記憶した第2の知識記憶手段、 上位命令に基づいて、その上位命令の実行のために必要
    な条件を上記第1の知識記憶手段から抽出する抽出手
    段、 上記抽出手段によって抽出された条件を実現できる処理
    の範囲をもつ実行装置の識別符号を、上記第2の知識記
    憶手段において検索する検索手段、および上記検索手段
    によって検索された識別符号の実行装置に、上記抽出手
    段によって抽出された条件のうちで該当する実行装置が
    実現可能なものの実現を命じる下位命令を与える命令発
    行手段を備え、 上記第1の知識記憶手段に記憶された知識には、前件部
    と後件部とからなるルールが含まれており、 上記前件部には、実行装置によって実現できる処理の範
    囲が記述され、 上記後件部には、上位命令の実行可能範囲が記述され、 上記抽出手段は、上位命令の上記後件部における適合度
    を算出し、算出した適合度があらかじめ定められた所定
    値以上となる後件部をもつルールを抽出するものであ
    り、 上記検索手段は、上記抽出手段によって抽出されたルー
    ルの前件部に記述された処理の範囲を実現できる実行装
    置の識別符号を検索するものである、 命令ブレーク・ダウン装置。
  2. 【請求項2】 上記前件部に実行装置によって実現でき
    る処理の範囲がメンバーシップ関数によって記述されて
    おり、 実行装置ごとに、その実行装置が実行できる処理の範囲
    がメンバーシップ関数で規定されており、 上記検索手段は、上記抽出手段によって抽出されたルー
    ルの前件部に記述されたメンバーシップ関数の変数と同
    じ変数をもつメンバーシップ関数で規定された処理の範
    囲を実行できる実行装置を検索するものであり、 上記抽出手段によって抽出されたルールの前件部に基づ
    いて実行装置に対する指示値を算出する手段、および上
    記検索手段によって検索された実行装置の実現可能な処
    理範囲を規定するメンバーシップ関数に対する上記指示
    値の適合度を算出し、算出された適合度に基づいて下位
    命令を与えるべき実行装置を決定する決定手段を備えて
    いる、 請求項1に記載の命令ブレーク・ダウン装置。
  3. 【請求項3】 上記後件部の上位命令の実行可能範囲が
    メンバーシップ関数によって記述されており、 上記上位命令が上記後件部メンバーシップ関数の変数値
    を含むものであり、 上記抽出手段は、上記後件部メンバーシップ関数の上記
    上位命令に含まれる変数値における適合度が上記あらか
    じめ定められた所定値以上のルールを抽出するものであ
    る、 請求項2に記載の命令ブレーク・ダウン装置。
  4. 【請求項4】 上記命令発行手段によって下位命令が与
    えられた実行装置から、上記前件部メンバーシップ関数
    の変数値を含む実行結果を受け取る受領手段、および上
    記受領手段によって受け取られた実行結果に含まれる変
    数値に基づいて、上記抽出手段によって抽出されたルー
    ルをファジィ推論することにより、上記上位命令の実行
    結果を算出する実行結果算出手段を備えている、 請求項3に記載の命令ブレーク・ダウン装置。
  5. 【請求項5】 上記上位命令が他の命令ブレーク・ダウ
    ン装置から与えられるものであり、上記実行結果算出手
    段によって算出された実行結果を、上位命令を与えた他
    の命令ブレーク・ダウン装置に報告する報告手段を備え
    ている、 請求項4に記載の命令ブレーク・ダウン装置。
  6. 【請求項6】 上記実行結果算出手段によって算出され
    た結果を表示する表示手段を備えている、 請求項4または5に記載の命令ブレーク・ダウン装置。
  7. 【請求項7】 与えられた上位命令を実行装置によって
    実行させるために、上位命令を実行装置が実行できる処
    理範囲に分解するための装置であり、 それぞれが、実行装置によって実行できる処理範囲を規
    定した前件部と実行可能な上位命令の範囲を規定した後
    件部とからなる複数のルールを記憶したルール記憶手
    段、 外部からの上位命令を受付ける命令受領手段、 上記命令受領手段が受付けた上位命令を実行可能範囲に
    含む後件部をもつ上記ルールを上記ルール記憶手段から
    選択する選択手段、および上記選択手段によって選択さ
    れたルールの後件部における与えられた上位命令の適合
    度を算出し、算出された適合度があらかじめ定められた
    所定値以上である後件部をもつルールの前件部に基づい
    て、上記上位命令を実行できる実行装置の処理範囲を得
    る取得手段を備えている、 命令解析装置。
  8. 【請求項8】 上記前件部に実行装置によって実行でき
    る処理範囲がメンバーシップ関数によって記述されてお
    り、 実行装置ごとに、その実行装置が実行できる処理範囲が
    メンバーシップ関数で規定されており、 上記取得手段は、上記選択手段によって選択されたルー
    ルの前件部に記述されたメンバーシップ関数の変数と同
    じ変数をもつメンバーシップ関数で規定された実行装置
    の処理範囲を得るものである、 請求項7に記載の命令解析装置。
  9. 【請求項9】 上記後件部の上位命令の範囲がメンバー
    シップ関数によって記述されており、 上記上位命令が上記後件部メンバーシップ関数の変数値
    を含むものであり、 上記選択手段は、上記後件部メンバーシップ関数の上記
    上位命令に含まれる変数値における適合度が上記あらか
    じめ定められた所定値以上のルールを選択するものであ
    る、 請求項8に記載の命令解析装置。
  10. 【請求項10】 与えられた上位命令を一または複数の
    下位命令に変換し、下位命令を実行できる実行装置に、
    変換した下位命令を与える方法であり、 上位命令を実行するために必要な条件を示す知識を記憶
    し、 実行装置の識別符号ごとに、その実行装置によって実現
    できる処理の範囲を記憶し、 上位命令に基づいて、その上位命令の実行のために必要
    な条件を上記記憶した条件から抽出し、 上記抽出した条件を実現できる処理の範囲をもつ実行装
    置の識別符号を、上記記憶した識別符号から検索し、 上記検索した識別符号の実行装置に、上記抽出した条件
    のうちで該当する実行装置が実現可能なものの実現を命
    じる下位命令を与え、 上記記憶した知識には、前件部と後件部とからなるルー
    ルを含ませ、 上記前件部には、実行装置によって実現できる処理の範
    囲を記述し、 上記後件部には、上位命令の実行可能範囲を記述し、 上記条件の抽出を、上位命令の上記後件部における適合
    度を算出し、算出した適合度があらかじめ定められた所
    定値以上となる後件部をもつルールを抽出することによ
    り行い、 上記識別符号の検索を、上記抽出したルールの前件部に
    記述された処理の範囲を実現できる実行装置の識別符号
    を検索することにより行う、 命令ブレーク・ダウン方法。
  11. 【請求項11】 上記前件部に実行装置によって実現で
    きる処理の範囲がメンバーシップ関数によって記述さ
    れ、 実行装置ごとに、その実行装置が実行できる処理の範囲
    がメンバーシップ関数で規定され、 上記検索を、上記抽出したルールの前件部に記述された
    メンバーシップ関数の変数と同じ変数をもつメンバーシ
    ップ関数で規定された処理の範囲を実行できる実行装置
    を検索することにより行い、 上記抽出したルールの前件部に基づいて実行装置に対す
    る指示値を算出し、 上記検索した実行装置の実現可能な処理範囲を規定する
    メンバーシップ関数に対する上記指示値の適合度を算出
    し、算出した適合度に基づいて下位命令を与えるべき実
    行装置を決定する、 請求項10に記載の命令ブレーク・ダウン方法。
  12. 【請求項12】 上記後件部の上位命令の実行可能範囲
    がメンバーシップ関数によって記述されており、 上記上位命令が上記後件部メンバーシップ関数の変数値
    を含み、 上記条件の抽出を、上記後件部メンバーシップ関数の上
    記上位命令に含まれる変数値における適合度が上記あら
    かじめ定められた所定値以上のルールを抽出することに
    より行う、 請求項11に記載の命令ブレーク・ダウン方法。
  13. 【請求項13】 上記下位命令を与えた実行装置から、
    上記前件部メンバーシップ関数の変数値を含む実行結果
    を受け取り、 上記受け取った実行結果に含まれる変数値に基づいて、
    上記抽出したルールをファジィ推論することにより、上
    記上位命令の実行結果を算出する、 請求項12に記載の命令ブレーク・ダウン方法。
  14. 【請求項14】 上記上位命令を命令ブレーク・ダウン
    方法を実行する他の装置から受け、上記上位命令の実行
    結果を、上位命令を与えた命令ブレーク・ダウン方法を
    実行する装置に報告する、 請求項13に記載の命令ブレーク・ダウン方法。
  15. 【請求項15】 上記上位命令の実行結果を表示装置に
    表示する、 請求項13または14に記載の命令ブレーク・ダウン方法。
  16. 【請求項16】 与えられた上位命令を実行装置によっ
    て実行させるために、上位命令を実行装置が実行できる
    処理範囲に分解するための方法であり、 それぞれが、実行装置によって実行できる処理範囲を規
    定した前件部と実行可能な上位命令の範囲を規定した後
    件部とからなる複数のルールを記憶し、 外部からの上位命令を受付け、 上記受付けた上位命令を実行可能範囲に含む後件部をも
    つ上記ルールを、記憶した複数のルールの中から選択
    し、 上記選択したルールの後件部における、与えられた上位
    命令の適合度を算出し、 算出した適合度があらかじめ定められた所定値以上であ
    る後件部をもつルールの前件部に基づいて、上記上位命
    令を実行できる実行装置の処理範囲を取得する、 命令解析方法。
  17. 【請求項17】 上記前件部に実行装置によって実行で
    きる処理範囲がメンバーシップ関数によって記述されて
    おり、 実行装置ごとに、その実行装置が実行できる処理範囲が
    メンバーシップ関数で規定されており、 上記実行装置の処理範囲の取得を、上記選択したルール
    の前件部に記述されたメンバーシップ関数の変数と同じ
    変数をもつメンバーシップ関数で規定された実行装置の
    処理範囲を得ることにより行う、 請求項16に記載の命令解析方法。
  18. 【請求項18】 上記後件部の上位命令の範囲がメンバ
    ーシップ関数によって記述されており、 上記上位命令が上記後件部メンバーシップ関数の変数値
    を含むものであり、 上記選択を、上記後件部メンバーシップ関数の上記上位
    命令に含まれる変数値における適合度が上記あらかじめ
    定められた所定値以上のルールを選択することにより行
    う、 請求項17に記載の命令解析方法。
JP33998093A 1993-12-07 1993-12-07 命令ブレーク・ダウン装置および方法ならびに命令解析装置および方法 Expired - Fee Related JP3312141B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33998093A JP3312141B2 (ja) 1993-12-07 1993-12-07 命令ブレーク・ダウン装置および方法ならびに命令解析装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33998093A JP3312141B2 (ja) 1993-12-07 1993-12-07 命令ブレーク・ダウン装置および方法ならびに命令解析装置および方法

Publications (2)

Publication Number Publication Date
JPH07160514A JPH07160514A (ja) 1995-06-23
JP3312141B2 true JP3312141B2 (ja) 2002-08-05

Family

ID=18332595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33998093A Expired - Fee Related JP3312141B2 (ja) 1993-12-07 1993-12-07 命令ブレーク・ダウン装置および方法ならびに命令解析装置および方法

Country Status (1)

Country Link
JP (1) JP3312141B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4194108B2 (ja) 2001-10-12 2008-12-10 オムロン株式会社 情報処理装置、センサネットワークシステム、情報処理プログラム、および情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JPH07160514A (ja) 1995-06-23

Similar Documents

Publication Publication Date Title
US6535122B1 (en) Method and apparatus for extending processing mask/filtering, and displaying alarm information for a hierarchically categorizing alarm monitoring system
US5689416A (en) Computer system monitoring apparatus
JPH09503086A (ja) 製造プロセス制御装置のためのオペレータ・ステーションおよび製造プロセスをモニタおよび制御する方法
US6972761B1 (en) Method and apparatus for monitoring work center operations
CZ118295A3 (en) Process and apparatus for converting information display from one output form to another form
CN102591321A (zh) 监视控制系统
EP0606476A1 (en) Fuzzy retrieval unit and method therefor
JP5641482B2 (ja) 監視制御システム
CA2050888C (en) Method of and apparatus for evaluating membership functions or rules in fuzzy reasoning system
JP3312141B2 (ja) 命令ブレーク・ダウン装置および方法ならびに命令解析装置および方法
JPH07234861A (ja) データ監視システム
US20200201308A1 (en) Industrial plant monitoring device and distributed control system
JPH10326212A (ja) データ管理装置
JPH0612578A (ja) Posシステム
JP3655501B2 (ja) 情報検索方法、情報検索装置及び記録媒体
JP3978315B2 (ja) 電線採集判定装置及び電線採集判定プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2770228B2 (ja) 知識型プラント情報処理方式
WO2023145089A1 (ja) 人工知能システム及び人工知能の動作方法を実施するコンピュータシステム、並びにコンピュータプログラム記録媒体
EP0606474A1 (en) Fuzzy retrieving device and its method, and membership function generator
JP2768770B2 (ja) プラント操作装置
EP0724222A1 (en) Device and method for processing fuzzy data
JPH1020924A (ja) プラント監視装置
JPS5826567B2 (ja) 電子計算機システム
Arnold et al. Alarm management in batch process control
JP3338136B2 (ja) 生産管理装置及び生産管理方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090531

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100531

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100531

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110531

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120531

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130531

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees