JP2874032B2 - ソフトウェア作業ツール - Google Patents

ソフトウェア作業ツール

Info

Publication number
JP2874032B2
JP2874032B2 JP2323765A JP32376590A JP2874032B2 JP 2874032 B2 JP2874032 B2 JP 2874032B2 JP 2323765 A JP2323765 A JP 2323765A JP 32376590 A JP32376590 A JP 32376590A JP 2874032 B2 JP2874032 B2 JP 2874032B2
Authority
JP
Japan
Prior art keywords
work
software
unit
information
knowledge
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
JP2323765A
Other languages
English (en)
Other versions
JPH04191928A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2323765A priority Critical patent/JP2874032B2/ja
Priority to US07/799,445 priority patent/US5377309A/en
Priority to EP91120333A priority patent/EP0489351B1/en
Priority to DE69132026T priority patent/DE69132026T2/de
Publication of JPH04191928A publication Critical patent/JPH04191928A/ja
Application granted granted Critical
Publication of JP2874032B2 publication Critical patent/JP2874032B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔概要〕 情報処理装置上でのソフトウェア作業に用いられるソ
フトウェア作業ツールの構成法に関し、 ソフトウェアの開発、運用等のソフトウェア作業にお
いて、ソフトウェアへの操作を、作業に関する情報に基
づいて自動的に進め、しかも作業に関する情報を自律分
散的に作ることで作業を独立化、最小化するような汎用
的ソフトウェア作業ツールを提供することを目的とし、 情報処理装置におけるソフトウェア作業ツールであっ
て、プログラムまたは情報に対して操作を行うソフトウ
ェア操作部と、該操作のための情報を作業知識として記
憶する作業知識記憶部と、外部と独立分散して行う作業
の作業依頼または作業報告を含む通信情報を予め定めら
れた通信規約に従って外部から受信して解読し、外部と
独立分散して行う作業の作業依頼または作業報告を含む
通信情報を予め定められた通信規約に従って外部へ送信
する通信部と、前記作業知識記憶部に記憶されている作
業知識に基づいて行われる、前記ソフトウェア操作部に
対するソフトウェア操作の実行命令、前記通信部が受信
し解読した外部からの通信情報の実行または送信する外
部への通信情報の依頼、および前記作業知識記憶部への
作業知識の読み書きを含む制御を行う制御部とを備える
ように構成する。
〔産業上の利用分野〕
本発明は情報処理装置に係り、さらに詳しくは情報処
理装置上でのソフトウェア作業に用いられるソフトウェ
ア作業ツールの構成法に関する。
〔従来の技術〕
情報処理装置は、データを処理する計算機(すなわち
コンピュータ)から出発して、次第に文章、音声、画像
などの一般の情報処理に進み、最近では、人工知能(す
なわちAI)の研究成果を利用して人間と同様の知識や日
常の言葉(いなゆる自然言語)までも取り扱うようにな
ってきた。
しかし、通常は情報処理装置はほとんど全て蓄積プロ
グラム方式に基づいているためにソフトウェア(すなわ
ち、プログラム、およびドキュメント、仕様、環境定
義、あるいはデータなどの情報)の開発と運用が必須で
ある。
なお、ソフトウェアの開発あるいはソフトウェアの運
用における作業にはプログラムの実行環境作成、プログ
ラムの起動、プログラムへの情報入力、プログラムの監
視、プログラムの処理結果の解読、プログラムの出力の
解読、情報の入力、加工、出力、作成が含まれる。
ソフトウェアの開発、運用等の作業においては、ソフ
トウェアを操作し、処理状況の観測、そして次に何の操
作を行うべきかの判断を行うのは、はじめは人間の役割
であった。
以上の原因で、ソフトウェアの開発と運用には非常に
多くの労力を要していた。
そこで省力化のために、ソフトウェア自身でソフトウ
ェアを操作させようという考えから、情報処理装置の上
にソフトウェア上の道具(すなわちソフトウェアツー
ル)が様々に作られるようになってきた。前記のような
ソフトウェア作業向けにも、様々なツールが作成され、
公知になっている。
とはいえ、コンピュータあるいはオペレーティングシ
ステムを使うといっても、あらゆるソフトウェア作業が
自動化できるわけではない。実際、従来のオペレーティ
ングシステムでもジョブ制御という構成要素があって、
ソフトウェアの起動監視、そして処理結果による簡単な
後続処理の起動ができた。しかし、こうした従来のソフ
トウェア作業の自動化を行う仕組みは、極めて原始的で
あった。
なぜなら、従来の技術では、特定の情報を加工する専
用ツールを作り、専用ツール群をほぼ与えられた順序に
起動していくジョブ制御のようなソフトウェア作業ツー
ルしかなかったので、ソフトウェア作業がちょっと複雑
になると、専用ツールの開発と運用という仕事が新たに
発生してしまい、結果としてたいした省略化にならず、
かえってソフトウェアの数と複雑性が増してしまう傾向
があった。しかも、専用ツール間が作業に関して通信し
合うという思想がないために、ある専用ツールの出力す
るファイルを別の専用ツールの入力とするには、形式変
換をする専用ツールをその2者の組み合わせだけのため
に開発、運用しなければならない。専用ツールが4個に
なれば組み合わせは6組、5個なら10組、100個なら4,9
50組のように激増する。
従来のプログラム作成方式でソフトウェア作業ツール
を作る限り、専用知識を調べあげてプログラムに固定し
て作り込んでしまうため、運用しながら知識を簡単に調
査、追加できないという欠点がある。また作業計画の立
案のように、多くの可能性の中から正解や最適解を探す
処理を人間に頼ることになり、時間がかかったり質が悪
くなることが多い。
一方、AIの研究成果としての公知技術に、エキスパー
トシステムと、協調型エキスパートシステムがある。エ
キスパートシステムは、知識と推論機構とを具備し、表
現形態が柔軟であることから、運用しながら知識を簡単
に調査、追加できるという特徴がある。また、多くの可
能性の中から正解や最適解を探す処理を短時間で行うこ
とができる。さらに協調型エキスパートシステムの場
合、エキスパートシステムとエキスパートシステム間で
通信する命令が用意されていて、推論材料となる情報を
与えあうことができる、オブジェクト指向計算モデルと
いう論理に基づいて通信されることが多い。
しかし、たとえ個別のエキスパートシステムがオペレ
ーティングシステムに依頼するなどの手段で特定のソフ
トウェアの操作や観測を行う専用システムとして開発さ
れた例があるとしても、もともとソフトウェア操作部を
具備するという設計思想がないために、別のあるソフト
ウェアを操作したい利用者にも役立つというものではな
かった。また、同じソフトウェアであっても別の経験知
識を必要とする別の利用者にも十分役立つものではなか
った。やはり専用分野ごとに、オペレーティングシステ
ムにそのソフトウェアを操作する依頼を出すような専用
エキスパートシステムを作る必要があった。このため、
問題は解決していないのが現状である。
さて、従来、ソフトウェアのロボットと称するパソコ
ン向けのソフトウェアツールが米国で市販されている。
該ツールにおいては、画面、CPUレジスタ、メモリ、キ
ー押下、あるいはタイマを読んで条件検査する監視プロ
グラムがメモリ上に起動されて、利用者の記述した手順
やルールに従って、画面、メモリ、アプリケーションプ
ログラム、あるいはホストコンピュータへのデータ出力
を人間のキー押下に代わって自動的に行うことで、利用
者の定型型な作業を代替する。
しかし該ツールの構成をみると、第1に、同種の該ツ
ールとの通信機構がない、すなわち、本発明で述べた、
作業依頼・作業報告を含む通信情報を送受信する通信部
(3)を有していない。
第2に、ソフトウェアの操作という意味で、実行を依
頼した結果を該ソフトウェアから操作部または観測部経
由で返させる構造は有していない。単に画面、メモリと
いうハードウェアに出力された断片的な影響を判定する
手段しかない。すなわち、本発明に述べたソフトウェア
操作部(1)を有していない。
第3に、該ツールは操作手順を利用者が与えて、記憶
する機構をもつ。しかしこの操作手順の内容は上で述べ
たように、単なるハードウェアの監視とキー押下を代行
する入力である。すなわち、本発明に述べた、操作プロ
グラムや情報への操作という意味の作業知識記憶部
(2)を有しいない。
以上のように、該ツールは単にキーストロークの代行
入力プログラムを複数独立に並行して動作させうるよう
にした、スケールもレベルも低いところを狙ったツール
である。該ツールは本発明の要件を欠き、本発明が目指
しているソフトウェア開発・運用の専門知識をもって自
律分散的に作業を支援する汎用的なソフトウェア作業ツ
ール提供を行うものではないと結論される。
〔発明が解決しようとする課題〕
強力な汎用ソフトウェア作業ツールを設計するのは従
来大変困難であった。なぜなら、ソフトウェア作業にお
ける特定分野の経験知識(例えば外部記憶装置から不要
なファイルを消去する作業の仕方)が、別のソフトウェ
ア作業ツールにも含まれていなくては省力化が徹底でき
ないからである。
しかし、いろいろな専門分野の知識の経験知識を詰め
込んだソフトウェア作業ツールというのも、大きすぎて
性能が悪く、修正を頻繁にやるか陳腐化するに任せるし
かない、という欠点がでてくる。
別のソフトウェア作業ツールと通信機構なしに直接プ
ログラム呼び出しで接続するか、ファイルに一方が書く
と他方が読むという関係で接続するのが普通である。こ
のような接続形態であると、あるソフトウェア作業ツー
ルの設計変更が起こると、他のソフトウェア作業ツール
の設計変更は大きくなってしまうことが多い。すなわち
相互の依存が高すぎて、ソフトウェア開発・運用のコス
トが高くつく。従って、ソフトウェア作業を支援するシ
ステム全体の設計や保守は、非常に困難であるという問
題点があった。
本発明は、ソフトウェアの開発、運用等のソフトウェ
ア作業において、ソフトウェアへの操作を、作業に関す
る情報に基づいて自動的に進め、しかも作業に関する情
報を自律分散的に作ることで作業を独立化、最小化する
ような汎用的ソフトウェア作業ツールを提供することを
目的とする。
〔課題を解決するための手段〕
第1図は本発明の原理ブロック図である。同図は様々
な情報処理装置におけるソフトウェア作業ツールの原理
ブロック図である。
第1図(a)は第1の発明の原理ブロック図である。
同図において、ソフトウェア操作部1はソフトウェアと
してのプログラム、または情報に対して操作を行い、作
業知識記憶部2は例えば作業知識ベースであって、ソフ
トウェア操作部1の行う操作の方法、順序、または論理
的実行条件を決めるための情報を記憶する。
また通信部3は、利用者、操作者、または他の同様な
ソフトウェア作業ツールとの間で直接的、または間接的
に独立分散して行う作業の作業依頼、作業報告、または
会話の情報を予め定められた通信規約に従って受信およ
び解読し、利用者、操作者、または他の同様なソフトウ
ェア作業ツールとの間で直接的、または間接的に独立分
散して行う作業の作業依頼、作業報告、または会話の情
報を予め定められた通信規約に従って送信し、制御部4
は、作業知識記憶部2に記憶されている作業知識に基づ
いて行われる、ソフトウェア操作部1に対するソフトウ
ェア操作の実行命令、通信部3が受信し解読した外部か
らの通信情報の実行または送信する外部への通信情報の
依頼、および作業知識記憶部2への作業知識の読み書き
を含む制御を行うものである。
第1図(b)は第2の発明の原理ブロック図である。
第1図(a)と比較すると、観測部5が追加された点を
除いてその構成は同じである。観測部5は、自ツール内
のソフトウェア操作部1または自ツール以外で前述のプ
ログラムまたは情報に対して操作を行う他ツール内のソ
フトウェア操作部の操作結果としてのソフトウェア、す
なわちプログラムまたは情報を解読し、作業知識記憶部
に記憶されている作業知識に基づいて新たなソフトウェ
ア操作が必要になったことを観測する。
〔作用〕
本発明においては作業知識記憶部2の内部に、例えば
プロダクションルール、フレーム、オブジェクト、メタ
知識などの様々な知識が内蔵され、制御部4は作業知識
記憶部2の内蔵情報、通信部3からの受信情報、または
観測部5からの入力情報に基づいてソフトウェア操作部
1を制御してソフトウェアに対する操作を行わせ、作業
知識記憶部2に情報を追加あるいは変更し、また通信部
3を介して他のソフトウェア作業ツールに対する通信を
行う。
複数のソフトウェア作業ツール間の作業に関する協調
は通信で達成され、その通信の規約を統一することによ
ってソフトウェア作業ツールの接続が非常に簡単とな
り、接続されるソフトウェア作業ツールの数を増加させ
ることができる。そして自ツール内で行うべき作業を外
部のソフトウェアに影響を与えながら実行することが可
能となる。
すなわち、各ソフトウェア作業ツールはそれぞれ作業
知識記憶部を持っており、ソフトウェア作業ツール同士
が通信によって協調する構成となり、ソフトウェア作業
における特定分野の経験知識、例えば外部記憶装置から
の不要なファイルの消去の方法はそのソフトウェア作業
ツールだけで独立したものとすることができる。外部と
は通信情報の約束だけで結ばれているために、あるソフ
トウェア作業ツールの知識の設計変更が起こっても他の
ソフトウェア作業ツールの知識の変更は非常に小さくて
すむことになり、ソフトウェア作業を支援するシステム
全体の設計や保守も非常に容易となる。
さらに推論処理を併用することにより多くの可能性の
中から正解や最適解を探す処理が簡単となり、例えば要
素作業を組み合わせて作業のスケジュールを計画した
り、ソフトウェアの障害原因を調査する場合に、よりよ
い解が短時間に得られる利点も生ずる。
〔実施例〕
第2図は2つのソフトウェア作業ツールが接続された
システムの実施例の全体構成ブロック図である。同図に
おいて2つのソフトウェア作業ツールA,Bがメッセージ
交換機構6を介して接続され、また各ソフトウェア作業
ツールは作業ツール起動機構7によって起動され、ソフ
トウェア10に対する操作を行う。各ソフトウェア作業ツ
ールは第1図(b)に示したと同様に、ソフトウェア操
作部1a,1b、作業知識ベース2a,2b、通信部3a,3b、推論
処理部4a,4b、および観測部5a,5bによって構成されてい
る。
次に第2図のソフトウェア作業ツールA,Bの動作を図
に示した番号,,・・・に従って説明する。
利用者Uは、自分の行いたい作業を依頼するメッセ
ージを、メッセージ交換機構6に与える。
メッセージ交換機構6は、該作業を行うべきソフト
ウェア作業ツールがAであることを導くと、Aが存在し
ないので、Aの起動を作業ツール起動機構7に依頼す
る。
作業ツール起動機構7は、ソフトウェア作業ツール
Aを、図にない外部記憶装置から主記憶にローディング
して、推論処理部4aを起動する。
メッセージ交換機構6は、利用者Uからの依頼メッ
セージを起動されたAの通信部3aに送る。
通信部3aは、該メッセージを受信し、該メッセージ
をチェックし、付属情報の解読を行う。
推論処理部4aは、該メッセージに対応した処理ある
いは、該知識によって論理的条件が満足された規則型の
知識を次々と作業知識ベース2aから決定して実行する。
また、フレーム型知識を2aから読み書きする。
なお、ここで規則型の知識とは論理的実行条件と処理
方法の組としての推論規則、すなわちプロダクションル
ールであり、またフレーム型知識とはある概念に対応す
るデータとプログラムとの固まりとしてのフレームと、
複数のフレーム間の関係を記述する知識である。
知識に記述されたソフトウェア操作を、推論処理部
4aは、ソフトウェア操作部1aに命令して実行させる。ソ
フトウェア操作部1aは、ソフトウェアS1の入力ファイル
N1を揃え、S1の実行コマンドを作り、オペレーティング
システムに依頼してそのコマンドを実行してS1を動作せ
しめる。
さらにS1の動作を監視し、起動に失敗すれば推論処理
部4aが作業知識ベース2aから、その失敗利用の際の回復
方法を読み、ソフトウェア操作部1aに命令して粘り強く
遂行していく。
観測部5aは、S1の出力ができたことを、オペレーテ
ィングシステムから通知を受けて、出力P1を解読する。
解読のための知識は作業知識ベース2aにあるかもしれな
い。
その結果、新たにソフトウェア操作が必要になるとソ
フトウェア操作部1aに命令が行く。
他のソフトウェア作業ツールに仕事を依頼したり知
識を質問するとき、推論処理部4aは通信部3aにしてほし
い作業を与える。
通信部3aは、自分の行いたい作業を依頼するメッセー
ジを、メッセージ交換機構6に与える。
メッセージ交換機構6は、該作業を行うべきソフト
ウェア作業ツールがBであることを導くと、Bが存在し
ないので、Bの起動を作業ツール起動機構7に依頼す
る。
作業ツール起動機構7は、ソフトウェア作業ツール
Bを、図にない外部記憶装置から主記憶にローディング
して、推論処理部4bを起動する。
メッセージ交換機構6は、該依頼メッセージを起動
されたBの通信部3bに送る。
推論処理部4bも、該メッセージに対応した処理ある
いは該知識によって論理的条件が満足された規則型の知
識を次々と作業知識ベース2bから決定して実行する。ま
た、フレーム型知識を2bから読み書きする。
観測部5bでS1の出力P1ができていることを観測す
る。
利用者が欲しいP2を得るためには、ソフトウェアS2
を起動してその入力に今の出力P1をいれればよいこと
を、推論処理部4bと作業知識記憶部2bによって推論す
る。
推論処理部4bはソフトウェア操作部1bに命令して、
オペレーティングシステムに依頼して、ソフトウェアS2
を起動する。
出力P2ができたことを観測すると、ソフトウェア操
作部1bがP2を詳しく解析して推論し、利用者が欲しい情
報ができたかを吟味する。
推論処理部4bは作業報告を作成し、通信部3bに命じ
てメッセージ交換機構6に送る。
メッセージ交換機構6はソフトウェア作業ツールA
の通信部3aにメッセージを渡す。
推論処理部4aは、作業知識ベース2a上の知識をもと
に作業結果を吟味し、よいとなれば、通信部3aに命じて
利用者Uに作業完了のメッセージを示す。
Aはする仕事が無くなって知識ベース2aをこの図に
ない外部記憶装置に退避して主記憶から消える。一方B
は同種の事象が観測されたらいつでも自律的に作業でき
るように、主記憶に居続ける。
第3図はソフトウェア操作部の処理実施例のフローチ
ャートである。処理が開始されると、まずステップ
(S)20で推論処理部4aからのソフトウェア操作依頼か
否かが判定され、その依頼である時にはS21で必要に応
じて依頼情報からソフトウェア宛の入力ファイルが作成
され、S22でソフトウェアの実行コマンドが作成され、S
23で自装置のオペレーティングシステムに実行コマンド
が渡されて起動が依頼される。
そしてS24でオペレーティングシステムが正常に受け
付けたか否かが判定され、正常に受け付けた時にはS25
で推論処理部4aに正常に起動されたことが通知され、S2
6でオペレーティングシステムに監視時間のタイマの起
動が依頼され、S20の処理に戻る。S24でオペレーティン
グシステムが正常に受け付けていない時には、S27で推
論処理部4aに起動失敗のエラー情報が通知され、S20の
処理に戻る。
S20で推論処理部4aからの依頼でない時にはS28でオペ
レーティングシステムからの起動されていたソフトウェ
アの終了通知であるか否かが判定され、終了通知である
時にはS29でオペレーティングシステムへのタイマ起動
依頼が取り消され、S30でソフトウェアの出力ファイ
ル、S31でエラーメッセージ、S32で完了コードがそれぞ
れチェックされ、S33で推論処理部4aに正常終了の通知
が行われた後に、S20の処理に戻る。
S28でオペレーティングシステムからのソフトウェア
終了通知でない時にはS34でオペレーティングシステム
からのタイマ起動か否かが判定され、起動である時には
S35で起動されていたソフトウェアが終了しているか否
かが判定され、終了している時にはS36で終了情報が、S
37で実行失敗のエラー情報が、共に推論処理部4aに通知
された後にS20の処理に戻る。
S35でソフトウェアが終了していない時にはS38でオペ
レーティングシステムにソフトウェアの強制終了が依頼
され、S39で実行失敗のエラー情報が推論処理部4aに伝
えられた後にS20の処理に戻る。さらにS34でタイマ起動
でない時には直ちにS20の処理に戻る。
第4図はソフトウェア操作部へのソフトウェア操作依
頼情報の実施例である。同図において操作依頼情報は
(a)の実行コマンド知識と(b)のタイマによる監視
時間とから成っている。
第5図はソフトウェア操作部からオペレーティングシ
ステムに渡される実行コマンドの実施例である。
第6図はソフトウェア操作部から制御部に通知される
情報の実施例である。同図(a),(b)は実行受け付
け時の情報の例であり、正常受け付け時と異常受け付け
時の例が示されている。
第6図(c)、(d)は実行完了時の通知情報の例で
あり、正常完了時と異常完了時の例を示している。
第7図は作業知識ベースの内容の実施例である。同図
(a)は内容の全体を示し、作業知識ベースの内容はメ
ソッド41、手続き42、ルール43、木構造知識44、および
オブジェクト管理知識45から成っている。
第7図(b)はメソッドの例である。メソッドはソフ
トウェア作業ツールが通信部から受信するメッセージの
識別名としてのセレクタ名と、可変のパラメータとして
の引数のリストである。同図(c)は手続き42の例であ
り、手続きはメソッド、およびルールから呼ばれる関数
として定義された命令群である。同図(d)はルール43
の実施例であり、ルールは推論のための条件部と命令が
組となったものである。同図(e)は木構造知識44の例
であり、木構造知識はデータや事実を木構造に格納した
ものであり、メソッド、手続き、ルールも木構造知識の
一種と考えることもできる。オブジェクト管理知識45は
メソッド、手続き、ルール、木構造知識の検索、生成、
消去などの管理を行うために名前や上下関係を木構造デ
ータとして持つものである。
第8図は通信部の処理実施例のフローチャートであ
る。処理が開始されると、まずS46で第2図のメッセー
ジ交換機構6からの起動か否かが判定され、該当する場
合にはS47でメッセージの文字列が作業知識ベース2aに
受け取られ、S48でメッセージの形式がチェックされ、S
49で付属情報が解読され、S50で付属情報の形式が整え
られ、S51でメッセージが推論処理部4aに渡されてS46の
処理に戻る。
S46でメッセージ交換機構6からの起動ではない時に
はS52で推論処理部4aからの起動であるか否かが判定さ
れ、該当する時にはS53で依頼メッセージの形式がチェ
ックされ、S54で送信用のメッセージとしての形式が整
えられ、S55でメッセージ交換機構6が起動され、S56で
メッセージの文字列が作業知識ベース2aからメッセージ
交換機構6に渡され、S57で正常に送信したことが推論
処理部4aに通知された後、S46の処理に戻る。またS52で
推論処理部4aからの起動でない時には直ちにS46の処理
に戻る。
第9図は推論処理部の処理実施例フローチャートであ
る。同図において処理が開始されると、まずS60で通信
部3aからの受信か否かが判定される。通信部3aからの受
信の時にはS61で作業知識ベース2aから第7図で説明し
たメッセージセレクタの一致するメッセージが探され、
S62で引数の対応付けが行われ、S63で作業知識ベース2a
に格納されている手続きが解読され、命令が実行され
る。その後S64で作業知識ベース2a内で現在有効なルー
ル群から条件の成立するものが探され、S65で条件の成
立するものがあるか否かが判定され、ある時にはS66で
その条件に対応した命令が実行され、S64からの処理が
繰り返えされる。S65で条件の成立するものがない時に
はS60の処理に戻る。
ここでS63で命令が実行された後、S64以降で条件の成
立するものが探されるのは、S63での命令実行によって
例えば新人社員数を示す変数Xの値が0から3に変わっ
たりした場合に、推論処理部4aはルール群の中から条件
の成立するものを探す必要があるためである。
すなわち「もしXが1より大きければ、いつでもY=
2にして、ベルを鳴らす」というルールが作業知識ベー
ス2a内に存在したとすると、S63でXの値が0から3に
変わることによりこのルールが有効になり、ルールを検
査してベルを鳴らすという処理が必要となる。また「も
しY=2ならいつでも画面をプリントする」というルー
ルがあれば、S64のルール検査でそのルールが発見さ
れ、画面がプリントされる。このように起動できるルー
ルがなくなるまでS64およびS65で検査を行い、なくなっ
た時初めてS60に戻り、受信待ちの状態となる。
S60で通信部3aからの受信でない場合には、S67で観測
部5aからの受信か否かが判定される。観測部5aからは、
後述するようにある事象が発生した時にその事象の関連
情報として、事象識別子と場合によっては、その事象の
エラーコードや時刻等の詳細情報が送られてくるので、
観測部5aからの受信の時にはS68で受信した関連情報に
よって発生事象に対応した命令が実行され、その後前述
と同様にS64以降で有効なルール群の中で条件の成立す
るものに対応する命令が実行される。
S67で観測部5aからの受信でない時には、S69でソフト
ウェア操作部1aからの報告であるか否かが判定される。
ここでのソフトウェア操作部1aからの報告内容として
は、例えば推論処理部4aがソフトウェア操作部1aにプロ
グラムpを起動しなさいという命令を与えることによっ
て、ソフトウェア操作部1aはオペレーションシステムに
プログラムpの起動を依頼して、正常に終了した旨を認
識した時点で作業正常終了を報告するというような流れ
が典型的な例である。またこの時60分の監視を観測部5a
に実行させれば、普通2,3分で終わるプログラムpが60
分たっても終わらないということがタイマで検出され、
推論処理部4aに報告される。これがS67で受信する内容
の典型的な例である。
S69で例えばプログラムpが正常に終了した旨が報告
されると、S70で実行中であったソフトウェア操作命令
に復帰情報が与えられ、その命令実行が続行される。例
えばソフトウェア操作命令に2つの命令が 「(pを実行する)(その結果の入力してqを実行す
る)」 と書かれていて、2つの命令がそれぞれ200番地と230番
地に格納されているとすると、推論処理部4aはpの実行
をソフトウェア操作部1aに依頼した時点で番地200を覚
えておき、1aから処理が戻った時点でpは正常に終わっ
たという復帰情報を貰い、その結果を番地200の命令か
ら次の230番地の「qを実行する」という命令に渡し、
qをソフトウェア操作部1aに実行させるというような例
が考えられる。その場合プログラムpで従業員の一覧表
を返してもらえば、プログラムqに復帰情報としてその
データを与え、給与額だけ付けて返してもらうというよ
うに、復帰情報が様々なデータに拡張されることを考え
られる。
S70で続行という意味は、このように依頼で止まって
いた命令Pの次を実行するというだけでなく、手続型で
並んでいる命令を順々に出来るところまで続行しつくし
てしまうということを意味する。そしてS70でそれらが
実行しつくされると、S64に移行し、手続きのように順
々に出てこない命令、すなわちルールで実行すべきもの
がないかの判定が行われることになる。またS59でソフ
トウェア操作部1aからの報告でない場合には直ちにS60
に戻り、受信待ちの状態となる。
第10図は観測部の処理実施例フローチャートである。
同図において処理が開始されると、S80で推論処理部4a
からの観測依頼か否かが判定される。この観測依頼は、
多くの場合ソフトウェア操作部に推論処理部が命令を与
える時同時に行われるが、常時観測する場合にはソフト
ウェア作業ツールが起動されてまもなく依頼され、その
後多くのソフトウェア操作のタイミングと無関係、すな
わち非同期に起きる事象を監視する場合もある。
S80で推論処理部4aからの依頼の時には、S81で観測す
べき事象と事象判定処理の情報が作業知識ベース2aから
受け取られ、観測部5aの内部メモリに蓄えられ、S82で
観測すべき事象がタイマ起動事象かメッセージ起動事象
かが判定される。タイマ起動事象の場合にはS83である
時間後にタイマ起動をもらうようオペレーティングシス
テムへの依頼が行われた後に、メッセージ起動事象であ
る時にはなんらの処理を行うことなくS80に戻る。
S80で推論処理部4aからの観測依頼でない時には、S84
でオペレーティングシステムからのタイマ起動か否かが
判定され、タイマ起動の時には、S85で対応した事象判
定処理が内部メモリから呼び出されて実行され、S86で
事象発生として扱ってよいか否かが判定され、扱ってよ
い時にはS87で内部メモリからその事象と事象判定処理
の情報が削除され、S88で発生事象の関連情報として前
述のように事象識別子と必要に応じてその事象のエラー
コードや時刻等の詳細情報が作業知識ベース2aに送ら
れ、S89で推論処理部4aに事象発生が報告され、S80に戻
る。S86で事象発生として扱えない時には、S83の処理を
介してS80に戻る。
S84でオペレーティングシステムからのタイマ起動で
ない時にはS90でオペレーティングシステムからのメッ
セージか否かが判定される。メッセージである時にはS9
1で待っていたメッセージ事象かどうかが内部メモリで
チェックされ、S92でその結果が判定される。待ってい
た事象である時にはS93でその事象に対応する判定処理
が内部メモリから呼び出されて実行され、S94で事象発
生として扱ってよいか否かが判定される。事象発生とし
て扱ってよい時にはS87〜S89の処理を経て、また扱えな
い時には直ちにS80に戻る。さらにS90でオペレーティン
グシステムからのメッセージでない時、およびS92で待
っていた事象ではない時にも直ちにS80に戻る。
第11図は観測部の内部メモリの内容の実施例である。
同図において、未使用の時0、使用中の時1とされる使
用表示の後に、タイマ起動の時1、メッセージ起動の時
2とされる観測すべき事象の種別が格納され、タイマ起
動の事象に対してはタイマ間隔と事象判定処理を行う関
数の番地が格納され、またメッセージ起動の事象に対し
てはメッセージ識別情報と事象判定処理を行う関数の番
地が格納されている。
第12図はフレームに基づく処理を行う実施例の構成ブ
ロック図である。同図は第1図に対応して説明に必要な
部分のみを示してある。フレームとは問題解決のための
知識の枠組みを意味し、その形式としてある概念に対応
するデータ、プログラム、他の概念との関係などが一固
まりにして記述される。
例えば座席フレーム101は座席の概念に関するデータ
として月日、列車番号、座席番号、予約有無を持ってお
り、関連するプログラムとして空き状況照会、予約、キ
ャンセルを持っている。また関係は座席フレーム101が
指定席フレーム102と自由席フレーム103とでできている
という全体と部分の間の関係や、禁煙指定席フレーム10
4は指定席フレーム102の1種であるという一般対特殊の
関係を示す。フレームに基づく推論処理部107は特殊概
念から一般概念へと関係を逆昇り、データやプログラム
を参照し、全体と部分の関係を使って推論を行う。
第13図はオブジェクトに基づく処理を行う実施例の構
成ブロック図である。同図(a)に示すように作業知識
記憶部の内容には座席オブジェクト110、指定席オブジ
ェクト111、および発券オブジェクト112があり、また制
御部は基本部113とオブジェクトに基づく処理部114とか
ら成っている。また同図(b)は座席オブジェクト110
内部の料金照会処理、(c)は指定席オブジェクト111
内の予約処理、(d)は発券オブジェクト112内内の発
券処理の内容である。
オブジェクトに基づく処理部114は、オブジェクトで
示された知識に対してメッセージを渡す命令が制御部に
よって実行された時、指定されたオブジェクトの中でメ
ッセージで識別される処理、すなわちメソッドを読んで
実行する。指定席オブジェクト111に料金照会メッセー
ジが送られても、指定席オブジェクトにはその処理はな
いが、継承の関係によって指定席オブジェクト111は座
席オブジェクト110と親子関係で関係付けられているた
めに、オブジェクトに基づく処理部114は座席オブジェ
クト110の料金照会処理を起動することになる。
第14図はバックトラック機構を備えた実施例の構成ブ
ロック図である。同図に示すように、作業知識記憶部2
の内部に、のデータと、〜のルールが格納され
ているとする。
制御部4内の推論処理部116はX=真であることを証
明しようとして後向き推論を行う。すなわちの右辺に
XがあることからBを真と推論し、またの右辺にBが
あることからAが真であると推論するが、によりデー
タと一致しないために推論に失敗する。この時バックト
ラック機構117は以上の推論の過程で変更した推論用作
業メモリ118の内容を元に戻し、次のケースに対する推
論を行う。その結果Cが真であるためにDが真になり、
Xが真になったという推論結果が引き出される。
第15図はメタ知識および、推論過程に関する知識に基
づく処理を行う実施例の構成ブロック図である。同図に
おいて作業知識記憶部の内部には、処理対象に関する知
識としての一般知識120、知識自身に関する知識すなわ
ちメタ知識121と、推論過程に関する知識122が格納さ
れ、また制御部は基本部123、メタ知識に基づく推論処
理部124、および推論過程に関する知識に基づく推論処
理部125から構成されている。
メタ知識121内に知識、例えば記述が記号aで始まる
ルールは一度実行されたらその推論の中では二度と実行
されないというメタ知識があるとすると、メタ知識に基
づく推論処理部124がこのメタ知識を解読した時、基本
部123はその情報によって一般知識120を用いた推論に対
してこのような制御を行う。
また推論過程に関する知識122として、例えばルール
がその推論の中で1万個以上実行されたら異常終了させ
るという意味の (max−rule=10000) という知識が格納されている時、推論過程に関する知識
に基づく推論処理部125がその知識を解読すると、基本
部123はそのような制御を一般知識120を用いた推論に際
して実行する。
第16図は黒板とアジェンダを用いる実施例の構成ブロ
ック図である。同図において、例えば3つのソフトウェ
ア作業ツール127,128、および129は推論過程で発生し、
推論に使用される情報を書き込むためのメモリとしての
黒板130、未解決問題と解決済み問題に関する情報を書
き込むためのメモリとしてのアジェンダ(備忘録)131
を用いて協調して推論を行う。各ソフトウェア作業ツー
ル127,128、および129はそれぞれ黒板130、およびアジ
ェンダ131を参照するための参照手段132,133、および13
4を備えている。
第16図において、例えばソフトウェア作業ツール127
が座席を予約して、予約して月日、列車番号、座席番号
を黒板130の上の座席データに書き込むと、ソフトウェ
ア作業ツール129が座席データが存在すれば、それを基
に料金を計算するというルールを持っているものとして
早速計算を開始し、料金データを黒板に書く。それに応
じて作業ツール128が駅の端末に座席データと料金デー
タを送信するというように協調して作業が行われる。
またソフトウェア作業ツール128がアジェンダ131に
「座席データを求めたい」、「料金データを求めたい」
と書くと作業ツール127が座席を予約し、作業ツール129
が料金を計算し、アジェンダ131上の問題を解決済みに
書き直してゆくというように協調作業が行われる。
第17図は作業知識記憶部が作業を示す手続き記述を備
えた実施例の構成ブロック図である。同図(a)におい
て作業知識記憶部の内部には手続きが格納されている。
手続きとは作業をいくつかの順序付けられた命令で記述
したものであり、制御部4は指定された手続きの命令を
順次実行する。
特に第17図(b)に示すように手続きが木構造の時に
は、規則に従って命令は 命令1→命令2→命令3→命令4→命令5 の順に実行される。
第18図は作業知識記憶部が論理チャート図の形式で入
力される情報を備えた実施例である。同図(a)で論理
チャート図140は変換部141によってその形式が変換され
た情報、すなわち手続き知識142として作業知識記憶部
2に与えられる。論理チャート図は(b)のように処理
の流れを図式化したものであり、論理チャート図は
(c)に示す手続き知識と等価である。
このようにソフトウェア作業ツールが変換部141を備
えて、変換部141が入力される論理チャート図を手続き
知識142に変換して作業知識記憶部2に格納する代わり
に、論理チャート図140を変換することなく、そのまま
作業知識記憶部2に格納し、ソフトウェア作業ツールの
制御部4が論理チャート図に従って条件判定、繰り返
し、命令実行などを行う実施例も考えられる。
第19図は作業知識記憶部が決定表の形式で入力される
情報を備えた実施例である。この実施例では同図(a)
に示すように、決定表145の形式で入力された情報が変
換部146により手続き知識147に変換され、作業知識記憶
部2に格納される。決定表は同図(b)に示すように条
件判定と命令実行の組み合わせを表にしたものであり、
縦の行に1つのケースが示されており、Yはイエス、N
はノー、Xは実行を示す。第1行では条件1と条件2が
イエスである時の命令1だけを実行するということが示
されている。同図(c)は(b)の決定表を手続き知識
に変換したものである。
ソフトウェア作業ツールの変換部146が決定表145を手
続き知識147に変換する代わりに、作業知識記憶部2に
決定表145をそのまま格納し、作業ツールの制御部4が
決定表に従って条件判定と命令実行を行う実施例も考え
られる。
第20図は作業知識記憶部が状態遷移図の形式で入力さ
れた情報を備えた実施例である。同図(a)において、
状態遷移図150の形式で入力された情報は変換部151によ
りルール知識152に変換され、作業知識記憶部2に格納
される。状態遷移図は同図(b)に示すように、ある1
つの事物が取る状態を○印で、状態移動を矢印で、移動
の条件と移動時の処理を矢印の脇に記入する形式の図で
ある。同図(c)に示すルール文は(b)に示す状態遷
移図と等価である。
ソフトウェア作業ツールの変換部151が入力された状
態遷移図150を変換する代わりに、作業知識記憶部2に
そのまま状態遷移図のデータを格納し、作業ツールの制
御部4が状態遷移図に従って条件判定と命令実行を行う
実施例も考えられる。
第21図は作業知識記憶部がリスト構造、木構造または
グラフ構造の情報を知識として格納する実施例における
知識の例である。同図(a)はリスト構造のデータの例
であり、データA,B,およびCがこの順に並んでいること
が示されている。同図(b)はリスト構造を示す形式に
変換された例である。
第21図(c)は木構造の知識の例であり、データA,B
とCのリスト、Dがリストになっており、木のように枝
分かれすることから木構造といわれる。同図(d)は
(c)のデータが木構造を示す形式に変換された例であ
る。
第21図(e)はグラフ構造の知識の例であり、任意の
節から節に枝を張ったものである。同図(f)は(e)
の知識がグラフ構造を示す形式に変換されたものであ
る。
以上詳細に説明した実施例の他に、作業知識記憶部2
に、作業手順を導く目的で、真が偽という値以外に曖昧
性もしくは確信度もしくは確率もしくは不確実性の表現
を含むような推論規則もしくは事実を具備し、かつ前記
制御部4の内部に、該推論規則もしくは事実に基づいて
推論処理(ファジー推論および確信度付き推論を含む)
を実行する推論処理部を具備する実施例、 作業知識記憶部2に、作業手順を導く目的で、必然性
と偶然性の表現、あるいは、時間軸上で真あるいは偽と
いう表現を含むような推論規則もしくは事実を具備し、
かつ前記制御部4の内部に、該推論規則もしくは事実に
基づいた推論処理(様相論理あるいは時制論理による推
論)を実行する推論処理部を具備する実施例、 作業知識記憶部2に、作業手順を導く目的で、変数値
の属す範囲を何個かに分類して、どの範囲に落ちるかと
いう表現を含むような推論規則もしくは事実を具備し、
かつ前記制御部4の内部に、該推論規則もしくは事実に
基づいた推論処理(定性推論)を実行する推論処理部を
具備する実施例、 観測部5または作業知識記憶部2または通信部3また
は制御部4に、パターン認識処理機構もしくは脳・神経
系の神経細胞を模擬した情報処理機構(すなわちニュー
ロシミュレータ)を具備する実施例、 前記ソフトウェア操作部1がシステムから提供される
ソフトウェア(すなわちオペレーティングシステム)を
介して、ソフトウェア操作を行う手段を具備する実施
例、 前記観測部5がシステムから提供されるソフトウェア
(すなわちオペレーティングシステム)を介して、ハー
ドウェアの観測を行う手段を具備する実施例、 ロボットに類する機械装置に内蔵された情報処理装置
もしくは外からロボットを制御する情報処理装置におい
て、前記ソフトウェア操作部1もしくは通信部3がロボ
ットの制御プログラムを通じてロボットの動作あるいは
ロボットの状態変化あるいはロボットから外界への出力
のための情報の出力を行う手段を具備する実施例、 ロボットに類する機械装置に内蔵された情報処理装置
もしくは外からロボットを制御する情報処理装置におい
て、前記観測部5もしくは通信部3が、ロボットの制御
プログラムを通じてロボットが外界から観測した状態ま
たはロボットの状態を入力する手段を具備する実施例、 制御のためにある時間経過したときに前記制御部4に
割込み信号を伝えるタイマを具備する実施例、 日付または曜日または時刻を保持し、前記制御部4が
入力することができるクロックを具備する実施例、 ソフトウェア作業ツールの前記制御部4から通常は一
定時間間隔で信号を受け取り、万一制御部の処理に異常
が起こったために一定時間が経過しても制御部からの信
号が来なかった場合、その時間到来を契機として、該制
御部に割込み信号を伝えあるいは制御部を強制的に停止
させるためのウォッチドッグタイマを具備する実施例、 前記ソフトウェア操作部1が該ソフトウェア作業ツー
ル自身の部分に対して作成、追加、削除、変更、修正、
置き換え、分割、併合、複写、転送あるいはこれらに類
する操作を行う手段を具備する実施例、 前記観測部5が該ソフトウェア作業ツール自身の部分
に対して、参照、比較、一覧、調査、診断あるいはこれ
らに類する観測を行う手段を具備する実施例、 前記ソフトウェア操作部1が自ソフトウェア作業ツー
ル以外の同様のソフトウェア作業ツールの作成、追加、
増殖、起動、停止、凍結、解凍、削除、変更、修正、置
き換え、分割、併合、複写、転送あるいはこれらに類す
る操作を行う手段を具備する実施例、 直接的または間接的に自ソフトウェア作業ツールを依
頼(すなわち再帰的呼出し、すなわりリカーシブコー
ル)する場合に前後で正しく作業を継続するために、依
頼する前に依頼側の状態データを前記作業知識記憶部2
から伝送して記憶し、依頼された該作業が終了した後に
該状態データを再び該作業知識記憶部2に転送して復元
するための記憶装置(すなわちスタック)を具備する実
施例、 利用者あるいは操作員からの情報の入力を行う情報入
力装置を具備し、前記作業知識記憶部2に該情報入力装
置からの入力情報の処理を記述する手段を具備する実施
例、および前記通信部3が交信する情報が同様の自他の
ソフトウェア作業ツールとの交信であった場合に、利用
者あるいは操作員との交信の場合と同様に処理できるよ
う、前記通信部3の前段に情報形式を統一する機構を具
備する実施例、 利用者あるいは操作員への情報の出力を行う情報出力
装置を具備し、前記作業知識記憶部2に該情報出力装置
への情報の出力方法を記述する手段を具備する実施例、
および前記通信部3が交信する情報が同様の自他のソフ
トウェア作業ツールとの交信であった場合に、利用者あ
るいは操作員との交信の場合と同様に処理できるよう、
前記通信部3の後段に、統一された情報形式から利用者
あるいは操作員への出力の場合に限って人間宛の表現形
式に変換する機構を具備する実施例、 自作業ツールを他から識別するための名前あるいはニ
ックネークあるいは色あるいは番号あるいは記号あるい
は枠表示あるいは座標あるいは顔あるいは姿あるいは音
情報あるいは声情報を具備し、該情報の通信部3への送
信または利用者もしくは操作員への表示を可能とする実
施例、 前記作業知識記憶部2内に自ソフトウェア作業ツール
が他のソフトウェア作業ツールと異なる機能あるいは使
用法あるいは使用例あるいは使用記録をもっている点に
関する情報を具備し、該情報の通信部3への送信または
利用者もしくは操作員への表示を可能とする実施例、 前記作業知識記憶部2内に、ソフトウェア操作部1が
操作対象とするソフトウェアの機能あるいは使用法ある
いは使用例あるいは使用記録に関する情報を具備し、該
情報の通信部3への送信または利用者もしくは操作員へ
の表示を可能とする実施例、 前記作業知識記憶部2内に、ソフトウェア操作部1が
操作対象とするソフトウェアの使用法に関する情報を具
備し、該使用法の情報に従って、前記制御部4が次の命
令を決定する実施例、 前記作業知識記憶部2内に、ソフトウェア操作部1が
操作対象とする複数のソフトウェア群に関する情報を具
備し、前記制御部4が該情報に基づいてどのソフトウェ
アを操作するかを選択し、ソフトウェア操作部に使い分
けを命じる実施例、 作業遂行のための一時的記憶領域を具備する実施例、
および障害が発生した時あるいは調査のために利用者が
指示したとき、該一時的記憶領域の内容を別の記憶装置
に出力する手段(すなわちダンプ)を具備する実施例、
またはさらに該ダンプを参照して処理する手段を具備す
る実施例、 障害が発生した時あるは調査のために利用者が指示し
たとき、前記作業知識記憶部2の内容を別の記憶装置に
出力する手段(すなわちダンプ)を具備する実施例、ま
たはさらに該ダンプを参照して処理する手段を具備する
実施例、 処理の詳細を把握するために、前記制御部4が行った
命令あるいは該命令の取り扱った情報あるいは命令の場
所あるいは命令の完了状態を別の記憶装置に記録する手
段(すなわりログあるいはトレース)を具備する実施
例、またはさらに該ログあるいはトレースを参照して処
理する手段を具備する実施例、 処理の詳細を把握するために指示したときあるいは指
示した論理的条件が満足されたとき、前記制御部4を一
時停止して命令あるいは該命令の取り扱った情報あるい
は命令の場所あるいは命令の完了状態を別の記憶装置に
記録する手段(スナップを含む)を具備する実施例、ま
たはさらに該スナップ等記録情報を参照して処理する手
段を具備する実施例、 前記ソフトウェア操作部2がオペレーティングシステ
ムを呼び出して、自他の情報処理装置上のソフトウェア
への操作を依頼する実施例、 前記観測部5がオペレーティングシステムを呼び出し
て、自他の情報処理装置上の情報の入力あるいは監視あ
るいは通知を依頼する実施例、 前記通信部3が他の情報処理装置上の同様のソフトウ
ェア作業ツールの通信部と交信する手段を具備する実施
例、 前記ソフトウェア操作部1が、機器またはソフトウェ
アを組み合わせてシステム構成を記述または評価するソ
フトウェアツール、あるいはシステムの性能、規模、容
量、信頼性、作業工数、スケジュールまたはコストを記
述または評価するソフトウェアツール、あるいは業務実
現に必要な用語、概念、データ、データ間の関係、機
能、処理、画面、帳票、電文または知識を蓄積、加工、
分析、変換、表示または印刷するソフトウェアツールを
呼び出す機構を接続し、システム計画または分析作業の
一部を行う実施例、 前記ソフトウェア操作部1が、プログラムの仕様記述
からより詳細な仕様記述を作成するソフトウェアツー
ル、あるいは仕様記述からプログラムもしくは環境定義
体を作成するソフトウェアツール、あるいはプログラム
から仕様記述を抽出するソフトウェアツール、あるいは
仕様記述もしくはプログラムもしくは環境定義体を検査
もしくは表示もしくは印刷するソフトウェアツールを呼
び出す機構を接続し、ソフトウェア開発作業の一部を行
う実施例、 前記ソフトウェア操作部1が、プログラムの起動条件
監視、あるいはプログラムの入力情報もしくは制御情報
の準備、あるいはプログラムの起動、あるいはプログラ
ムの状態監視、あるいはプログラムへの情報通知、ある
いはプログラムの強制停止、あるいはプログラムの優先
権変更、あるいはプログラムの異常自の復旧処理、ある
いはプログラムの実行結果判定、あるいはプログラムの
出力情報の解析を行う機構を接続し、ソフトウェア運用
作業の一部を行う実施例、 前記ソフトウェア操作部1に、プログラムもしくは環
境定義体の変更により関連して変更しなければならない
プログラムもしくは環境定義体を調べるソフトウェアツ
ール、あるいはプログラムもしくは環境定義体の変更に
より関連して変更しなければならないプログラムもしく
は環境定義体を変更するソフトウェアツール、あるいは
仕様記述を変更すると関連するプログラムもしくは環境
定義体を変更するソフトウェアツール、あるいはプログ
ラムもしくは環境定義体を変更すると仕様記述を変更す
るソフトウェアツールを接続し、ソフトウェア保守・拡
張作業の一部を行う実施例、 前記ソフトウェア操作部1が、現システムのプログラ
ムから仕様記述を抽出するソフトウェアツール、あるい
は現システムの仕様記述あるいはプログラムあるいは情
報を入力して、開発中の新システムの仕様記述あるいは
プログラムあるいは情報に変換(すなわちコンバージョ
ン)して出力するソフトウェアツールを呼び出す機構を
接続し、ソフトウェア変換作業の一部を行う実施例、 前記ソフトウェア操作部1が、ソフトウェアシステム
の導入・管理ツール、あるいは顧客別にソフトウェアを
合わせるカスタマイズツールを呼び出す機構を接続し、
ソフトウェア導入作業の一部を行う実施例、 前記ソフトウェア操作部1が、特定の構造をもつデー
タベースもしくはファイルもしくはイメージファイルも
しくは音声ファイルの参照・更新、あるいは特定のファ
イルの参照・更新機構を接続し、データ入出力処理また
は加工処理を行う実施例、 前記ソフトウェア操作部1または通信部3が電話、フ
ァクシミリ、ワードプロセッサ、電子会議システム、ポ
ケットベル、端末、電子交換機あるいはこれらに類する
ネットワーク機器との情報交換を行う実施例、 前記通信部3が、同様の通信部をもつにもかかわらず
ソフトウェア操作部をもたず制御部と作業知識記憶部だ
けをもつソフトウェアツールと会話を行い、該ソフトウ
ェアツールから知識の一部を得る、あるいは計算値を得
る実施例、 作業が多くなると同様のソフトウェア作業ツール(す
なわち分身)をもうひとつ作成し、あるいはあとで消去
する分身作成機構を具備する実施例、 起動された情報処理装置と別の情報処理装置での動作
が必要になると、同様のソフトウェア作業ツール(すな
わち分身)をもうひとつ該情報処理装置に作成し、ある
いはあとで消去する遠隔分身作成機構を具備する実施
例、 起動された情報処理装置と別の情報処理装置で動作す
ることが必要になると、自分を該情報処理装置に転送
し、あるいはあとで復帰する、あるいはあとで消去する
遠隔伝送機構を具備する実施例、 前記作業知識記憶部2内に作業環境の準備方法に関す
る知識を具備し、作業に先立ち環境準備のための作業を
行う実施例、 前記作業知識記憶部2内に作業計画方法に関する規則
もしくは事実その他の知識を具備し、作業に先立ち該作
業を構成すべき作業の方法もしくは順序もしくは論理的
実行条件からなる詳細を計画し、あるいはその計画を評
価する実施例、 前記作業知識記憶部2内に作業監視方法に関する規則
もしくは事実その他の知識を具備し、ソフトウェア操作
部1によって、または通信部3経由で他の同様のソフト
ウェア作業ツールによって実行されている作業を通信部
3または前記観測部5によって観測し、観測結果によっ
て制御部4が制御を行う実施例、 前記通信部3経由で他の同様なソフトウェア作業ツー
ルもしくは利用者もしくは操作員に依頼した事項に関し
て、返答がくるまでの間、制御部がその返答を必要とし
ない処理を続行し、返答が来た時、その返答を必要とす
る処理を行う実施例、 前記通信部3経由で他の同様なソフトウェア作業ツー
ルもしくは利用者もしくは操作員に依頼した事項に関し
て、返答が一定時間来ないことを具備しているタイマで
検知して、制御部が再度誰かに問い合わせ、あるいは督
促し、あるいは該依頼事項を異常扱いする実施例、 前記通信部3が受信した情報として許される形式ある
いは該情報の意味に関する情報を、前記作業知識記憶部
2中に具備し、該形式情報または該意味情報に基づき、
受信時に検査あるいは意味の解析を実行し、解析結果に
より対応する処理を行う実施例、 前記ソフトウェア操作部1または前記作業知識記憶部
2が、多様な種類のデータを、データと処理の一体化し
たもの(すなわちオブジェクト)として一括管理するよ
うなデータベース(すなわちオブジェクト指向データベ
ース)を具備している実施例、 少なくとも前記作業知識記憶部2の内容を、該ソフト
ウェア作業ツールのより一般的なソフトウェア作業ツー
ルの作業知識記憶部の内容から継承(すなわちインヘリ
タンス)を行って生成する機構(すなわちオブジェクト
指向に基づくソフトウェア作業ツールの生成機構)を具
備している実施例、 少なくとも回線で接続された遠隔地あるいは宇宙その
他の場所からの指令によってソフトウェア操作を行うた
めに、前記通信部3で受信した情報(すなわち遠隔操作
指令)に従って、前記ソフトウェア操作部1でソフトウ
ェアに操作を行うための、遠隔指令と操作の対応方法を
前記作業知識記憶部2中に具備する実施例、あるいはさ
らに、前記観測部5を具備し、入力情報を遠隔地に送信
する実施例、 前記作業知識記憶部2の内部に、必要データ群と該デ
ータが揃った際にすべき動作の組を具備し、前記制御部
4が必要データが揃ったことを判定して、該動作を順次
もしくは並列に起動する機構(データフローコンピュー
タ)を具備する実施例、 前記通信部3に情報が受信されたことを契機として、
通信部以外が動作している情報処理装置の電源を投入し
て前記制御部4を起動する電源制御機構を具備する実施
例、 前記通信部3に情報が受信されたことを契機として、
所定の後処理があれば実行したのち、該ソフトウェア作
業ツールが動作している情報処理装置の電源を切断する
電源制御機構を具備する実施例、 タイマもしくはクロックで時間を計って所定の時刻に
情報処理装置の電源を投入する電源制御機構を具備する
実施例、 前記通信部3の受信部が外部プログラムからソフトウ
ェア作業ツールを指した呼び出し、(すなわちコール)
動作によって起動されて該外部プログラムに用意された
呼出しパラメータの情報を受信し、あるいは前記通信部
3の送信部が起動される呼出しパラメータの値の変更も
しくは返り値(すなわちリターンバリュー)によって送
信部が送信を行って前記外部プログラムへの復帰(すな
わちリターン)動作を行う実施例、 いずれかの構成要素の内部に同様のソフトウェア作業
ツールを含む実施例(すなわち入れ子構成)、あるいは
さらに、内部のソフトウェア作業ツールを動的に作成も
しくは消去し、あるいは自分の外側に自分を含むソフト
ウェア作業ツールを動的に作成もしくは消去する実施
例、 少なくとも複数のソフトウェア作業ツールの前記作業
知識記憶部2または前記制御部4の共通内容を唯一の記
憶部に格納して該ソフトウェア作業ツール群から共用
し、少なくとも作業知識記憶部の個別内容はそれぞれの
ソフトウェア作業ツールと1対1に記憶部を具備するこ
とにより、共通部を再入可能(すなわりエントラント)
に動作せしめる実施例、 外部記憶上のログファイルとログ取得機構とリカバリ
機構を具備し、少なくとも前記作業知識記憶部2の割り
付けた記憶装置の変更内容をログ取得機構が適時ログフ
ァイルに書き出しており、ソフトウェア作業ツールが何
らかの障害によって処理途中停止した後の再開の際に、
リカバリ機構がログファイルから前記変更内容を読み込
み、該作業知識記憶部を復元(すなわちリカバリ)する
実施例、あるいはさらに、前記ソフトウェア操作部1に
よって外部のソフトウェアに対する復元処理を行う実施
例、 外部記憶上のログファイルとログ取得機構とバックア
ウト機構を具備し、少なくとも前記作業知識記憶部2の
割り付けた記憶装置の変更前内容をログ取得機構が適時
ログファイルに書き出しておき、ソフトウェア作業ツー
ルが何らかの障害によってひと固まりの処理を取り消す
べき際に、バックアウト機構がログファイルから前記変
更前内容を読み込み、該作業知識記憶部を復元(すなわ
ちバックアウト)する実施例、あるいはさらに、前記ソ
フトウェア操作部1によって外部のソフトウェアに対す
る復元処理を行う実施例、 外部記憶上のログファイルとログ取得機構を具備し、
稼働統計情報もしくは課金統計情報もしくは性能統計情
報もしくは機密管理情報をソフトウェア作業ツールの処
理に従ってログ取得機構がログファイルに書き出す実施
例、あるいは該情報を前記ソフトウェア操作部1で入力
し、あるいは前記観測部5を具備し観測部で入力する実
施例、 複数のソフトウェア作業ツールがそれぞれの前記通信
部3が異なる形式あるいは意味の情報を通信する場合
に、該情報の変換を行う変換機構を具備する実施例、 情報処理装置の構成要素の負荷(すなわち稼働率)、
あるいは記憶装置もしくは緩衝記憶(バッファ)の使用
量、あるいはソフトウェア作業の処理の速度、あるいは
ソフトウェア作業ツールに対する作業依頼情報の待ち状
態、あるいは情報処理装置の構成要素もしくはソフトウ
ェア作業ツールの構成要素障害状態を、外部から入力す
る手段を前記観測部5に接続して具備する実施例、 利用者が操作方法を尋ねた際に答える情報(すなわち
HELPファイル)を具備し、何らかの経路で利用者が尋ね
てくると該HELPファイルの内容を解凍する実施例、 制御の進行に合わせて、外部の、名前管理情報もしく
は関係情報もしくはソフトウェア資源管理情報もしくは
ディレクトもしくはカタログファイルもしくはデータデ
ィクショナリもしくはデータディレクトリもしくは統合
資源管理辞書もしくは情報リポジトリ(すなわち情報倉
庫)もしくはオブジェクトマネジャもしくはオブジェク
トサーバもしくはネームサーバもしくは概念辞書もしく
は機能辞書もしくは用語辞書もしくは項目辞書もしくは
電子化辞書もしくはかな漢字変換辞書もしくは言語間翻
訳辞書もしくはこれらに類する辞書類を参照または更新
する実施例、 前記ソフトウェア操作部1に連結して文書(すなわち
ドキュメント)処理部を具備し、該文書処理部によって
文書を作成または編集または表示または印刷し、または
前記ソフトウェア操作部1によって、もしくは前記観測
部5を具備し該観測部によって文書を入力または解析ま
たは理解する実施例、あるいはさらに、文書処理部に印
刷装置あるいはワードプロセッサあるいは複写装置ある
いは文書送受信装置を接続して連携動作を可能とする実
施例、 前記ソフトウェア操作部1に連結して解析部を具備
し、外部ソフトウェアが人間の読ませるために二次元的
配列で出力した表示用ファイルの内容を、人間の介在な
しにもしくは介在を減らして解析し、解析結果を制御部
に送る実施例、 前記ソフトウェア操作部1に連結してキー情報組立部
を具備し、外部ソフトウェアが人間のキー入力もしくは
マウス入力もしくはタッチ入力を読むために一次元的配
列で要求する入力用ファイルの内容を、人間の介在なし
にもしくは介在を減らして組み立て、組立結果を外部ソ
フトウェアに送る実施例、 前記ソフトウェア操作部1に連結してフィールド入力
情報組立部を具備し、外部ソフトウェアが一般に人間が
画面の領域(すなわちフーイルド)に入力する情報を読
むために二次元的配列で要求する入力用ファイルの内容
を、人間の介在なしにもしくは介在を減らして組み立
て、組立結果を外部ソフトウェアに送る実施例、 前記作業知識記憶部2内に該作業知識の版数(すなわ
ちバージョン)情報を具備し、あるいはさらに、版数の
異なる複数の作業知識を具備する実施例、 外部に表示装置を具備し、表示装置の画面上の一部で
ある窓(すなわちウィンドウ)の複数に、少なくとも該
ソフトウェア作業ツール群の入出力を別々に割り当てる
実施例、 作業知識記憶部2の内部に、情報の制約あるいは情感
間の制約(すなわちコンストレイント)の記述を何個か
具備し、前記制御部4の内部に、該制約に基づいて処理
を実行する制約処理部を具備する実施例、 作業実施の際の通信情報あるいは作業依頼情報あるい
は作業結果を前記作業知識記憶部2に蓄積し、新たな作
業をする利用者からの質問に対して該情報(すなわち事
例)を回答する実施例、あるいはさらに、該事例から利
用者に選択、修正させる実施例、あるいはさらに、事例
と新しい作業の違いを判断して利用者との会話を削減す
る実施例、 作業実施の際の通信情報あるいは作業依頼情報あるい
は作業結果を前記作業知識記憶部2に蓄積し、新たな作
業をする場合の作業上の知識として使用する実施例(す
なわち学習機能)、 前記通信部3に接続して自然言語処理部を具備し、利
用者との間または同様のソフトウェア作業ツールとの間
で、自然言語で会話する実施例、さらにまた、自然言語
処理部に接続して音声思慮を具備し、利用者との間また
は同様のソフトウェア作業ツールとの間で、音声で会話
する実施例、 前記制御部に接続して感情記憶部を具備し、該感情記
憶部内に人間の喜び、悲しみに類する感情概念を模擬す
る変数を具備し、制御の進行にしたがい作業処理情報に
基づいて感情変数を変更し、かつ、制御の進行にしたが
い感情変数を参照し、または該感情記憶部から制御部に
起動をかけ、制御部が利用者に何らかの経路で表示する
情報のうち、少なくとも顔の形の表示の選択あるいは言
葉の表現の選択あるいは音声表現の選択に該感情変数の
値を利用せしめる実施例が考えられる。
〔発明の効果〕
以上詳細に説明したように、本発明によればソフトウ
ェアの開発、運用等の作業において、ソフトウェアへの
操作を作業に関する情報に基づいて自動的に進め、しか
も作業に関する情報を自律的、分散的に作ることで、作
業を独立化、最小化することができる汎用的ソフトウェ
ア作業ツールを提供することが可能になる。
本発明のソフトウェア作業ツールを人間に準えると、
作業知識記憶部と制御部が人間の頭脳に相当し、通信部
が口および耳に当たり、ソフトウェア操作部が手に当た
り、観測部が目に当たる。このようにソフトウェアの世
界のロボットともいうべき新しい構成法の本発明によっ
て、丁度機械を工場の中で作って動かしているロボット
のように、情報処理装置の中でソフトウェアを作って動
かすという機構が人間作業に近い意味で初めて可能とな
る。そしてこの基盤の上で、AIの研究成果、あるいは分
散処理技術のような応用が非常に有効なものとなる。本
発明の応用分野は今後急速に広がると期待され、情報処
理装置の発展に寄与するところが極めて大きい。
【図面の簡単な説明】
第1図(a)は第1の発明の原理ブロック図、 第1図(b)は第2の発明の原理ブロック図、 第2図は本発明の実施例の全体構成を示すブロック図、 第3図はソフトウェア操作部の処理実施例のフローチャ
ート、 第4図はソフトウェア操作依頼情報の実施例を示す図、 第5図はソフトウェア操作部からオペレーティングシス
テムに渡される実行コマンドの実施例を示す図、 第6図はソフトウェア操作部から制御部に通知される情
報の実施例を示す図、 第7図は作業知識ベースの内容の実施例を示す図、 第8図は通信部の処理実施例のフローチャート、 第9図は推論処理部の処理実施例のフローチャート、 第10図は観測部の処理実施例のフローチャート、 第11図は観測部の内部メモリの内容実施例を示す図、 第12図はフレームに基づく処理を行う実施例の構成を示
すブロック図、 第13図はオブジェクトに基づく処理を行う実施例の構成
を示すブロック図、 第14図はバックトラック機構を備えた実施例の構成を示
すブロック図、 第15図はメタ知識と推論過程に関する知識を備えた実施
例の構成を示すブロック図、 第16図は黒板とアジェンダを備えたソフトウェア作業ツ
ール群の間での協調処理の実施例を示す図、 第17図は作業知識記憶部が手続き記述を備えた実施例を
示す図、 第18図は作業知識記憶部が論理チャート図の形式で入力
される知識を備えた実施例を示す図、 第19図は作業知識記憶部が決定表の形式で入力される知
識を備えた実施例を示す図、 第20図は作業知識記憶部が状態遷移図の形式で入力され
る知識を備えた実施例を示す図、 第21図は作業知識記憶部が備えるリスト構造、木構造、
またはグラフ構造のデータの実施例を示す図である。 1,1a,1b……ソフトウェア操作部、 2……作業知識記憶部、 2a,2b……作業知識ベース、 3,3a,3b……通信部、 4……制御部、 4a,4b……推論処理部、 5,5a,5b……観測部、 6……メッセージ交換機構、 7……作業ツール起動機構、 10……ソフトウェア.
フロントページの続き (56)参考文献 「IEEE Software」Vo l.5,No.6(1988−11)p.17− 25 「Software Enginee ring Environments: International Work shop on Environmen ts Proceedings」(1989 −9)p.107−114 「情報処理学会研究報告」Vol. 90,No.49(90−SE−72−5) (1990−5) 「情報処理学会研究報告」Vol. 89,No.166(89−SE−70−4) (1989−12) 「IEEE Transaction s on Knowledge and Data Engineering」 Vol.2,No.3(1990−9)p. 283−294 (58)調査した分野(Int.Cl.6,DB名) G06F 9/06

Claims (26)

    (57)【特許請求の範囲】
  1. 【請求項1】情報処理装置におけるソフトウェア作業ツ
    ールであって、 プログラムまたは情報に対して操作を行うソフトウェア
    操作部(1)と、 該操作のための情報を作業知識として記憶する作業知識
    記憶部(2)と、 外部と独立分散して行う作業の作業依頼または作業報告
    を含む通信情報を予め定められた通信規約に従って外部
    から受信して解読し、外部と独立分散して行う作業の作
    業依頼または作業報告を含む通信情報を予め定められた
    通信規約に従って外部へ送信する通信部(3)と、 前記作業知識記憶部(2)に記憶されている作業知識に
    基づいて行われる、前記ソフトウェア操作部(1)に対
    するソフトウェア操作の実行命令、前記通信部(3)が
    受信し解読した外部からの通信情報の実行または送信す
    る外部への通信情報の依頼、タイマ起動である事象に対
    してはタイマ間隔と事象判定処理を行うための関数によ
    り必要となった新たなソフトウェア操作の前記ソフトウ
    ェア操作部への実行命令、メッセージ起動である事象に
    対してはメッセージ識別情報と事象判定処理を行うため
    の関数により必要となった新たなソフトウェア操作の前
    記ソフトウェア操作部への実行命令、および前記作業知
    識記憶部(2)への作業知識の読み書きを含む制御を行
    う制御部とを備えたことを特徴とするソフトウェア作業
    ツール。
  2. 【請求項2】情報処理装置におけるソフトウェア作業ツ
    ールであって、 プログラムまたは情報に対して操作を行うソフトウェア
    操作部(1)と、 該操作のための情報を作業知識として記憶する作業知識
    記憶部(2)と、 外部と独立分散して行う作業の作業依頼または作業報告
    を含む通信情報を予め定められた通信規約に従って外部
    から受信して解読し、外部と独立分散して行う作業の作
    業依頼または作業報告を含む通信情報を予め定められた
    通信規約に従って外部へ送信する通信部(3)と、 自ツール内のソフトウェア操作部(1)または自ツール
    以外で前記プログラムまたは情報に対して操作を行う他
    ツール内のソフトウェア操作部の操作結果としてのプロ
    グラムまたは情報を解読し、前記作業知識記憶部に記憶
    されている作業知識に基づいて新たなソフトウェア操作
    が必要になったことを観測する観測部(5)と、 前記作業知識記憶部(2)に記憶されている作業知識に
    基づいて行われる、前記ソフトウェア操作部(1)に対
    するソフトウェア操作の実行命令、前記通信部(3)が
    受信し解読した外部からの通信情報の実行または送信す
    る外部への通信情報の依頼、前記観測部(5)の観測に
    より必要となった新たなソフトウェア操作の前記ソフト
    ウェア操作部への実行命令、および前記作業知識記憶部
    (2)への作業知識の読み書きを含む制御を行う制御部
    とを備え、 前記観測部(5)が、観測事象種別がタイマ起動かメッ
    セージ起動かを示す事象種別と、該事象種別がタイマ起
    動である事象に対しては、タイマ間隔と事象判定処理を
    行うための関数のアドレスとを、該事象種別がメッセー
    ジ起動である事象に対しては、メッセージ識別情報と事
    象判定処理を行うための関数のアドレスとを記憶する内
    部メモリを備えたことを特徴とするソフトウェア作業ツ
    ール。
  3. 【請求項3】前記作業知識部(2)が記憶している作業
    知識に基づいて、前記観測部(5)の観測結果があらか
    じめ定められた条件を満足した時、前記制御部(4)が
    デモンとしてあらかじめ定められた一定の動作を起動す
    ることを特徴とする請求項2記載のソフトウェア作業ツ
    ール。
  4. 【請求項4】前記作業知識記憶部(2)が論理的実行条
    件と処理方法の組み合わせとしての推論規則を1個以上
    備え、 前記制御部(4)がさらに該推論規則を実行する推論処
    理部を備えたことを特徴とする請求項1または2記載の
    ソフトウェア作業ツール。
  5. 【請求項5】前記作業知識記憶部(2)がそれぞれ1つ
    の概念に対応する情報とプログラムの固まりとしてのフ
    レーム複数個と、該各フレーム間の関係とを記述する知
    識とを作業知識として備え、 前記制御部(4)がさらに該フレームとフレーム間の関
    係を記述する知識に基づいて処理を実行する推論処理部
    を備えたことを特徴とする請求項1または2記載のソフ
    トウェア作業ツール。
  6. 【請求項6】前記作業知識記憶部(2)が、それぞれ1
    つの概念に対応し、該概念の内蔵する属性を継承する関
    係によって接続され、相互に通信可能な情報とプログラ
    ムとの固まりとしてのオブジェクトを1個以上備え、 前記制御部(4)がさらに該オブジェクトに基づいて処
    理を実行するオブジェクトに基づく処理部を備えたこと
    を特徴とする請求項1または2記載のソフトウェア作業
    ツール。
  7. 【請求項7】前記作業知識記憶部(2)が情報またはプ
    ログラムの関数表現の記述を1個以上備え、 前記制御部(4)が該関数に基づいて処理を実行するこ
    とを特徴とする請求項1また2記載のソフトウェア作業
    ツール。
  8. 【請求項8】前記作業知識記憶部(2)が事実を示す記
    述としての事実節と規則を示す記述としての規則節とを
    それぞれ1個以上備え、 前記制御部(4)がさらに該事実節と規則節とに基づい
    て推論処理を実行する推論処理部を備えたことを特徴と
    する請求項1または2記載のソフトウェア作業ツール。
  9. 【請求項9】前記作業知識記憶部(2)が論理的実行条
    件と処理方法との組合わせとしての推論規則を1個以上
    備え、 前記制御部(4)が、さらに該推論規則を実行する推論
    処理部と、該推論の過程で失敗が発生した場合に次の推
    論の可能性を探すためのバックトラック機構を備えたこ
    とを特徴とする請求項1または2記載のソフトウェア作
    業ツール。
  10. 【請求項10】前記作業知識記憶部(2)が、さらに知
    識に関する知識としてのメタ知識、または推論過程に関
    する知識をそれぞれ1個以上備え、 前記制御部(4)がさらに該メタ知識に基づく推論処理
    部、または推論過程に関する知識に基づく推論処理部を
    備えたことを特徴とする請求項1または2記載のソフト
    ウェア作業ツール。
  11. 【請求項11】複数の前記ソフトウェア作業ツールが、
    相互に通信しながら協調して推論するために推論過程で
    発生した情報を記憶する手段としての黒板と、 該複数のソフトウェア作業ツールがそれぞれ該黒板を参
    照するための参照手段を備えたことを特徴とする請求項
    1または2記載のソフトウェア作業ツール。
  12. 【請求項12】複数の前記ソフトウェア作業ツールが、
    相互に通信しながら協調して推論するために未解決の問
    題と解決済みの問題に関する情報を記憶する手段として
    のアジェンダを備え、 該複数のソフトウェア作業ツールがそれぞれ該アジェン
    ダを参照する参照手段を備えたことを特徴とする請求項
    1または2記載のソフトウェア作業ツール。
  13. 【請求項13】複数の前記ソフトウェア作業ツールが相
    互に通信しながら協調して作業するために、前記通信部
    (3)の外側に他のソフトウェア作業ツールの通信部と
    結合して通信メッセージを送受信するメッセージ交換機
    構を備えたことを特徴とする請求項1または2記載のソ
    フトウェア作業ツール。
  14. 【請求項14】複数の前記ソフトウェア作業ツールが相
    互に通信しながら協調して作業するために、ソフトウェ
    ア作業ツールから通信メッセージを受け取り、該通信メ
    ッセージ内に指定されたソフトウェア作業ツールを起動
    させ、該ソフトウェア作業ツールに通信メッセージを渡
    す作業ツール起動機構を備えたことを特徴とする請求項
    1または2記載のソフトウェア作業ツール。
  15. 【請求項15】前記作業知識記憶部(2)がさらにデー
    タベースを備えたことを特徴とする請求項1または2記
    載のソフトウェア作業ツール。
  16. 【請求項16】前記作業知識記憶部(2)がさらに作業
    を示す手続き記述を備えたことを特徴とする請求項1ま
    たは2記載のソフトウェア作業ツール。
  17. 【請求項17】前記作業知識記憶部(2)が作業手順を
    示すための処理の流れ図式化した論理チャート図、また
    は論理チャート図で入力され、形式変換が行われた情報
    を備えたことを特徴とする請求項1または2記載のソフ
    トウェア作業ツール。
  18. 【請求項18】前記作業知識記憶部(2)が作業手順を
    示すためのそれぞれ1つ以上の条件と命令との組み合わ
    せを表示した決定表、または該決定表で入力され、形式
    変換された情報を備えたことを特徴とする請求項1また
    は2記載のソフトウェア作業ツール。
  19. 【請求項19】前記作業知識記憶部(2)が作業手順を
    示すための状態移動の条件と移動時の処理とを表わす状
    態遷移図、または状態遷移図で入力され、形式変換され
    た情報を備えたことを特徽とする請求項1または2記載
    のソフトウェア作業ツール。
  20. 【請求項20】前記作業知識記憶部(2)が作業手順を
    示すためのリスト構造、木構造、またはグラフ構造の情
    報、あるいはリスト構造、木構造、またはグラフ構造で
    入力され、形式変換された情報を備えたことを特徴とす
    る請求項1または2記載のソフトウェア作業ツール。
  21. 【請求項21】情報処理装置におけるソフトウェア作業
    ツールであって、 プログラムまたは情報に対して操作を行うソフトウェア
    操作部(1)と、 該操作のための情報を作業知識として記憶する作業知識
    記憶部(2)と、 外部との間で作業依頼、または作業報告を含む通信情報
    を送受信する通信部(3)と、 自ツール内のソフトウェア操作部(1)または自ツール
    以外で前記プログラムまたは情報に対して操作を行う他
    ツール内のソフトウェア操作部の操作結果としてのプロ
    グラムまたは情報を観測する観測部(5)と、 前記作業知識記憶部(2)に記憶されている作業知識に
    基づいて、ソフトウェア操作部(1)、通信部(3)、
    観測部(5)、および作業知識記憶部(2)の制御を行
    う制御部(4)とを備え、 前記観測部(5)が、観測事象種別がタイマ起動かメッ
    セージ起動かを示す事象種別と、 該事象種別がタイマ起動である事象に対しては、タイマ
    間隔と事象判定処理を行うための関数のアドレスとを、 該事象種別がメッセージ起動である事象に対しては、メ
    ッセージ識別情報と事象判定処理を行うための関数のア
    ドレスとを記憶する内部メモリを備えたことを特徴とす
    るソフトウェア作業ツール。
  22. 【請求項22】前記作業知識記憶部(2)が、前記通信
    部(3)から受信するメッセージの識別名としてのセレ
    クタ名と可変パラメータとしての引数のリストであるメ
    ソッドと、 推論のための条件部と命令との組である複数のルール
    と、 該メソッドとルールから呼ばれる関数として定義された
    命令群である手続きと、 データおよび事実が木構造に格納された木構造知識と、 該メソッド、ルール、手続き、および木構造知識の管理
    を行うための木構造データとしてのオブジェクト管理知
    識を備えたことを特徴とする請求項1または2記載のソ
    フトウェア作業ツール。
  23. 【請求項23】前記ソフトウェア操作部(1)が、前記
    制御部(4)からのソフトウェア操作依頼か否かを判別
    し、制御部からの依頼である時には必要に応じて依頼情
    報からソフトウェア宛の入力ファイルを作成し、依頼情
    報からソフトウェアの実行コマンドを作成し、オペレー
    ティングシステムに実行コマンドを渡して起動を依頼
    し、オペレーティングシステムが正常に該起動依頼を受
    け付けたか否かを判定し、受け付けた時には前記制御部
    (4)に正常に起動したことを通知し、オペレーティン
    グシステムに監視時間のタイマ起動を依頼して前記制御
    部からのソフトウェア操作依頼か否かの判定以降の処理
    を繰り返し、 オペレーティングシステムが正常に受け付けていない場
    合には制御部(4)に起動失敗のエラー情報を通知して
    前記制御部からのソフトウェア操作依頼か否かの判定以
    降の処理を繰り返し、 前記制御部(4)からのソフトウェア操作依頼でない時
    にはオペレーティングシステムからの起動されていたソ
    フトウェアの終了通知か否かを判定し、該終了通知であ
    る時にはオペレーティングシステムへのタイマ起動依頼
    を取り消し、ソフトウェアの出力ファイル、エラーメッ
    セージ、完了コードをチェックし、前記制御部(4)に
    正常終了の通知を行った後に前記制御部からのソフトウ
    ェア操作依頼か否かの判定以降の処理を繰り返し、 前記オベレーティングシステムからの起動されていたソ
    フトウェアの終了通知でない時にはオペレーティングシ
    ステムからのタイマ起動か否かを判定し、タイマ起動の
    時には起動されていたソフトウェアが終了しているか否
    かを判定し、終了している時には終了情報と実行失敗の
    エラー情報を前記制御部(4)に伝えた後に前記制御部
    からのソフトウェア操作依頼か否かの判定以降の処理を
    繰り返し、 起動されていたソフトウェアが終了していない時にはオ
    ペレーティングシステムに該ソフトウェアの強制終了を
    依頼し、前記制御部(4)に実行失敗エラー情報を伝え
    た後に前記制御部からのソフトウェア操作依頼か否かの
    判定以降の処理を繰り返し、 またオペレーティングシステムからのタイマ起動でない
    時には制御部からのソフトウェア操作依頼か否かの判定
    以降の処理を繰り返すことを特徴とする請求項1または
    2記載のソフトウェア作業ツール。
  24. 【請求項24】前記通信部(3)が前記メッセージ交換
    機構からの起動か否かを判定し、該起動である時にはメ
    ッセージの文字列を受信し、メッセージの形式をチェッ
    クし、付属情報を解読して前記制御部(4)に送り、前
    記メッセージ交換機構からの起動か否かの判定以降の処
    理を繰り返し、 前記メッセージ交換機構からの起動でない時には前記制
    御部(4)からの起動か否かを判定し、該起動である時
    には依頼メッセージの形式をチェックし、送信用メッセ
    ージとしての形式を整え、メッセージ交換機構を起動
    し、メッセージの文字列をメッセージ交換機構に渡し、
    正常に送信したことを前記制御部(4)に通知した後に
    前記メッセージ交換機構からの起動か否かの判定以降の
    処理を繰り返し、 また前記制御部からの起動でない時には前記メッセージ
    交換機構からの起動か否かの判定以降の処理を繰り返す
    ことを特徴とする請求項13記載のソフトウェア作業ツー
    ル。
  25. 【請求項25】前記制御部(4)が通信部(3)からの
    受信か否かを判定し、該受信である時には前記作業知識
    記憶部(2)の記憶内容からメッセージセレクタが一致
    するメッセージを探し、引数を対応づけ、作業知識記憶
    部(2)に記憶されている手続きを解読して命令を実行
    し、該命令実行後作業知識記憶部(2)に格納され現在
    有効なルール群から条件の成立するものを見つけ、条件
    の成立するものに対して命令を実行することを繰り返
    し、条件の成立するものがない時に前記通信部(3)か
    らの受信か否かの判定以降の処理を繰り返し、 前記通信部(3)からの受信でない時に前記観測部
    (5)からの受信か否かを判定し、該受信である時に受
    信した関連情報により事象に対応した命令を実行し、前
    記作業知識記憶部(2)に格納され現在有効なルール群
    から条件の成立するものを見つけ、その条件に対応した
    命令を実行する処理以降の処理を繰り返し、 前記観測部(5)からの受信でない時には前記ソフトウ
    ェア操作部(1)からの報告か否かを判定し、該報告で
    ある時には実行中であったソフトウェア操作命令に復帰
    情報を与えて続行させ、前記作業知識記憶部(2)に記
    憶され現在有効なルール群から条件の成立するものを見
    つけ、該条件に対応した命令実行以降の処理を繰り返
    し、前記ソフトウェア操作部(1)からの報告でない時
    には前記通信部(3)からの受信か否かの判定以降の処
    理を繰り返すことを特徴とする請求項2記載のソフトウ
    ェア作業ツール。
  26. 【請求項26】情報処理装置におけるソフトウェア作業
    ツールであって、 プログラムまたは情報に対して操作を行うソフトウェア
    操作部(1)と、 該操作のための情報を作業知識として記憶する作業知識
    記憶部(2)と、 外部との間で作業依頼、または作業報告を含む通信情報
    を送受信する通信部(3)と、 自ツール内のソフトウェア操作部(1)または自ツール
    以外で前記プログラムまたは情報に対して操作を行う他
    ツール内のソフトウェア操作部の操作結果としてのプロ
    グラムまたは情報を観測する観測部(5)と、 前記作業知識記憶部(2)に記憶されている作業知識に
    基づいて、ソフトウェア操作部(1)、通信部(3)、
    観測部(5)、および作業知識記憶部(2)の制御を行
    う制御部(4)とを備え、 前記観測部(5)が制御部(4)からの観測依頼か否か
    を判定し、該依頼である時には観測すべき事象および事
    象判定処理の情報を前記作業知識記憶部(2)から受け
    取って内部メモリに記憶し、該事象がタイマ起動事象か
    メッセージ起動事象かを判定し、タイマ起動事象の時に
    はある時間後にタイマ起動をもらうようオペレーティン
    グシステムに依頼した後に、メッセージ起動事象のとき
    には直ちに、前記制御部(4)からの観測依頼か否かの
    判定以降の処理を繰り返し、 前記制御部(4)からの観測依頼でない時にはオペレー
    ティングシステムからのタイマ起動か否かを判定し、該
    起動である時には対応する事象判定処理を内部メモリか
    ら読み出して実行し、事象発生として扱ってよいか否か
    を判定し、よい時には内部メモリから該事象と事象判定
    処理の情報を削除し、関連情報を前記作業知識記憶部
    (2)に送り、制御部(4)に事象発生を報告した後
    に、また事象発生として扱えない時にはある時間後にタ
    イマ起動をもらうようオペレーティングシステムに依頼
    した後に、前記制御部(4)からの観測依頼か否かの判
    定以降の処理を繰り返し、 前記オペレーティングシステムからのタイマ起動でない
    時にはオペレーティングシステムからのメッセージか否
    かを判定し、該メッセージである時には待っていたメッ
    セージ事象か否かを内部メモリの内容でチェックし、待
    っていた事象か否かを判定し、待っていた事象である時
    には該事象に対応する事象判定処理を内部メモリから読
    み出して実行し、事象発生として扱ってよいか否かを判
    定し、扱ってよい時には前記内部メモリから該事象と事
    象判定処理の情報を削除する処理以降の処理を繰り返
    し、事象判定として扱えない時、前記メモリでのチェッ
    クにより待っていた事象でない時、および前記オペレー
    ティングシステムからのメッセージか否かの判定時に該
    メッセージでない時には、前記制御部(4)からの観測
    依頼か否かの判定以降の処理を繰り返すことを特徴とす
    るソフトウェア作業ツール。
JP2323765A 1990-11-27 1990-11-27 ソフトウェア作業ツール Expired - Fee Related JP2874032B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2323765A JP2874032B2 (ja) 1990-11-27 1990-11-27 ソフトウェア作業ツール
US07/799,445 US5377309A (en) 1990-11-27 1991-11-27 Software work tool
EP91120333A EP0489351B1 (en) 1990-11-27 1991-11-27 Software work tool
DE69132026T DE69132026T2 (de) 1990-11-27 1991-11-27 Software-Werkzeug

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2323765A JP2874032B2 (ja) 1990-11-27 1990-11-27 ソフトウェア作業ツール

Publications (2)

Publication Number Publication Date
JPH04191928A JPH04191928A (ja) 1992-07-10
JP2874032B2 true JP2874032B2 (ja) 1999-03-24

Family

ID=18158377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2323765A Expired - Fee Related JP2874032B2 (ja) 1990-11-27 1990-11-27 ソフトウェア作業ツール

Country Status (4)

Country Link
US (1) US5377309A (ja)
EP (1) EP0489351B1 (ja)
JP (1) JP2874032B2 (ja)
DE (1) DE69132026T2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04343138A (ja) * 1991-05-20 1992-11-30 Omron Corp 推論部開発システムおよびその動作方法
US5677997A (en) * 1993-02-11 1997-10-14 Talatik; Kirit K. Method and apparatus for automated conformance and enforcement of behavior in application processing systems
KR970006413B1 (ko) * 1993-12-29 1997-04-28 한국전기통신공사 퍼지 컴퓨터
US5835757A (en) * 1994-03-30 1998-11-10 Siemens Telecom Networks Distributed database management system for servicing application requests in a telecommunications switching system
US5721909A (en) * 1994-03-30 1998-02-24 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
US5687363A (en) * 1994-03-30 1997-11-11 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
JP3127084B2 (ja) * 1994-08-11 2001-01-22 シャープ株式会社 電子秘書システム
US5745687A (en) * 1994-09-30 1998-04-28 Hewlett-Packard Co System for distributed workflow in which a routing node selects next node to be performed within a workflow procedure
US5778402A (en) * 1995-06-07 1998-07-07 Microsoft Corporation Method and system for auto-formatting a document using an event-based rule engine to format a document as the user types
US6223168B1 (en) * 1995-07-25 2001-04-24 Bottomline Technologies, Inc. Automatic remittance delivery system
US6081798A (en) * 1996-04-24 2000-06-27 International Business Machines Corp. Object oriented case-based reasoning framework mechanism
US6161051A (en) * 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
US6314567B1 (en) * 1998-11-13 2001-11-06 Hewlett-Packard Company Apparatus and method for transferring state data when performing on-line replacement of a running program code and data
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US7275246B1 (en) 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US8065504B2 (en) 1999-01-28 2011-11-22 Ati International Srl Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
JP4021583B2 (ja) * 1999-04-08 2007-12-12 富士通株式会社 情報検索装置、情報検索方法、及びその方法を実現するプログラムを記録した記録媒体
US7254806B1 (en) 1999-08-30 2007-08-07 Ati International Srl Detecting reordered side-effects
US6556950B1 (en) * 1999-09-30 2003-04-29 Rockwell Automation Technologies, Inc. Diagnostic method and apparatus for use with enterprise control
US6993456B2 (en) * 1999-09-30 2006-01-31 Rockwell Automation Technologies, Inc. Mechanical-electrical template based method and apparatus
US6934832B1 (en) 2000-01-18 2005-08-23 Ati International Srl Exception mechanism for a computer
WO2001065395A1 (en) * 2000-03-03 2001-09-07 Vill Ab Infinite level meta-learning through compression
US6957426B2 (en) * 2001-04-05 2005-10-18 Hewlett-Packard Development Company L.P. Independent tool integration
US20030004912A1 (en) * 2001-06-29 2003-01-02 Lalit Pant Architecture for intelligent agents and distributed platform therefor
DE10147490A1 (de) * 2001-09-26 2003-04-17 Siemens Ag Verfahren zum Überwachen einer Automatisierungsanlage
DE10212131A1 (de) * 2002-03-19 2003-10-02 Siemens Ag Verfahren zum Überwachen einer Automatisierungsanlage
JP2004164150A (ja) * 2002-11-12 2004-06-10 Yokogawa Electric Corp プラント運転支援装置
DE102007055117A1 (de) 2007-03-26 2008-10-02 Boris Kaplan Ein System von Künstlicher Intelligenz von einem Cyborg oder einem Android für das zeigerorientierte Objekterfassungsverfahren von Informationen basierend auf einer natürlichen Sprache und das Arbeitsverfahren von dem System
RU2562441C2 (ru) * 2011-02-17 2015-09-10 Нек Корпорейшн Устройство обработки информации
DE102014016968A1 (de) 2014-11-18 2015-01-22 Boris Kaplan Ein Computersystem von einer Künstlichen Intelligenz von einem Cyborg oder einem Android, wobei eine aufgenommene Signal-Reaktion des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, eine entsprechende Assoziation des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, und ein entsprechender Gedanke des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android in dem Computersystem physisch gebaut werden, und ein Arbeitsverfahren von dem Computersystem von der Künstlichen Intelligenz von dem Cyborg oder dem Android
US10334462B2 (en) 2016-06-23 2019-06-25 Bank Of America Corporation Predictive analytics for resource development based on information communicated from inter-related communication devices
US10439913B2 (en) 2016-07-01 2019-10-08 Bank Of America Corporation Dynamic replacement and upgrade of existing resources based on resource utilization
US10521222B2 (en) 2017-01-17 2019-12-31 Bank Of America Corporation Hybrid system for remote application development
DE102021005701A1 (de) 2021-11-17 2023-05-17 Boris Kaplan Ein Computersystem von einer Künstlichen Intelligenz von einem Cyborg oder einem Android, wobei eine aufgenommene Signal-Reaktion des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, eine entsprechende Assoziation des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, und ein entsprechender Gedanke des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android in dem Computersystem physisch gebaut werden, und ein Arbeitsverfahren von dem Computersystem von der Künstlichen Intelligenz von dem Cyborg oder dem Android
DE102023000489A1 (de) 2023-02-14 2023-04-13 Boris Kaplan Ein Computersystem von einer Künstlichen Intelligenz von einem Cyborg oder einem Android, wobei eine aufgenommene Signal-Reaktion des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, eine entsprechende Assoziation des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, und ein entsprechender Gedanke des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android in dem Computersystem physisch gebaut werden, und ein Arbeitsverfahren von dem Computersystem von der Künstlichen Intelligenz von dem Cyborg oder dem Android.

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5101362A (en) * 1988-12-14 1992-03-31 Digital Equipment Corporation Modular blackboard based expert system
US4972328A (en) * 1988-12-16 1990-11-20 Bull Hn Information Systems Inc. Interactive knowledge base end user interface driven maintenance and acquisition system
US5016204A (en) * 1989-02-28 1991-05-14 Digital Equipment Corporation Expert system for performing diagnostic and redesign operations incorporating multiple levels of simulation detail

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
「IEEE Software」Vol.5,No.6(1988−11)p.17−25
「IEEE Transactions on Knowledge and Data Engineering」Vol.2,No.3(1990−9)p.283−294
「Software Engineering Environments:International Workshop on Environments Proceedings」(1989−9)p.107−114
「情報処理学会研究報告」Vol.89,No.166(89−SE−70−4)(1989−12)
「情報処理学会研究報告」Vol.90,No.49(90−SE−72−5)(1990−5)

Also Published As

Publication number Publication date
DE69132026D1 (de) 2000-04-13
EP0489351B1 (en) 2000-03-08
DE69132026T2 (de) 2000-08-03
EP0489351A3 (en) 1993-03-10
JPH04191928A (ja) 1992-07-10
EP0489351A2 (en) 1992-06-10
US5377309A (en) 1994-12-27

Similar Documents

Publication Publication Date Title
JP2874032B2 (ja) ソフトウェア作業ツール
US4868763A (en) Knowledge-based system having plural processors
US7213233B1 (en) Modeling standards validation tool for use in enterprise architecture modeling
US7437703B2 (en) Enterprise multi-agent software system with services able to call multiple engines and scheduling capability
Cleland-Huang et al. Automating speculative queries through event-based requirements traceability
US5402526A (en) Interruptibility/priority control scheme for artificial intelligence software shell
JPH07114468A (ja) コンピュータシステム
Stader Results of the enterprise project
JPH06214615A (ja) 人工知能ソフトウェアシェルのためのケースベース知識源
Huo et al. A multi-agent software engineering environment for testing Web-based applications
US5870727A (en) Rule-based system for the provision of complex navigational logic
EP0856790B1 (en) Client-server network computing system and its method
US5398304A (en) Control process for artificial intelligence software shell
Ellis et al. Computer science and office information systems
CN113094125B (zh) 业务流程处理方法、装置、服务器及存储介质
Hämmäinen et al. Distributed form management
Sluizer et al. XCP: An experimental tool for managing cooperative activity
Schill et al. Workflow management systems on top of OSF DCE and OMG CORBA
US20040044675A1 (en) Network system and object cooperation therein
US20040117231A1 (en) Interactive implementation and representation of state of operative planning processes
Purvis et al. A distributed architecture for environmental information systems
Ehrich DMS—a system for defining and managing human-computer dialogues
Lin et al. Incorporating conversation managers into multi-agent systems
Elhasnaoui et al. Multi-Agent Architecture of Intelligent and Distributed Platform of Governance, Risk and Compliance of Information Systems
Martin et al. The Open Agent Architecture

Legal Events

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

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees