JP2000222196A - プログラム自動生成方法及びこの方法を使用したデータ処理方法並びにプログラム自動生成装置及びデータ処理装置並びにプログラム自動生成プログラムを記録した記録媒体 - Google Patents

プログラム自動生成方法及びこの方法を使用したデータ処理方法並びにプログラム自動生成装置及びデータ処理装置並びにプログラム自動生成プログラムを記録した記録媒体

Info

Publication number
JP2000222196A
JP2000222196A JP11022136A JP2213699A JP2000222196A JP 2000222196 A JP2000222196 A JP 2000222196A JP 11022136 A JP11022136 A JP 11022136A JP 2213699 A JP2213699 A JP 2213699A JP 2000222196 A JP2000222196 A JP 2000222196A
Authority
JP
Japan
Prior art keywords
agent
program
component
demand
market
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.)
Pending
Application number
JP11022136A
Other languages
English (en)
Inventor
Masanori Kosukegawa
真範 小助川
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.)
Toshiba TEC Corp
Original Assignee
Toshiba TEC 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 Toshiba TEC Corp filed Critical Toshiba TEC Corp
Priority to JP11022136A priority Critical patent/JP2000222196A/ja
Publication of JP2000222196A publication Critical patent/JP2000222196A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】多種多様な入出力条件からなる複雑なプログラ
ムを自動的に生成し、プログラム開発を容易にし、プロ
グラム仕様変更に対しても柔軟に対処する。 【解決手段】需要コンポーネント41は、情報の処理動
作内容、動作対象を基にデータベース47より検索して
需要エージェント44を生成し、これを市場コンポーネ
ント43に移動させる。市場コンポーネントは、需要エ
ージェントとリンクして市場エージェント46を生成
し、この各エージェントの相互作用によりプログラム部
品を要求するプログラム部品要求情報を供給コンポーネ
ント42に送信する。供給コンポーネントは、データベ
ースからプログラム部品の候補を検索して供給エージェ
ント45を生成し、この供給エージェントを市場コンポ
ーネントに移動させ、市場エージェントにより、需要、
供給の各エージェントの最適な組合わせを求め、その相
互作用によりプログラムを生成して出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば、POS
(ポイント・オブ・セールス)システム、プリンタ等の
画像処理装置、ソフトウェア開発装置などに適用される
プログラム自動生成方法及びプログラム自動生成装置並
びにプログラム自動生成プログラムを記録した記録媒体
に関する。
【0002】
【従来の技術】従来、計算機にて情報を処理する場合
は、処理手順が静的に固定化された計算機を使用し、こ
の計算機にて解釈可能なプログラムをメモリにロードす
ることで情報の処理を行っていた。そして、静的な構造
物であるプログラムは、人間が設計情報に基づいて入力
情報から出力情報を出力すべき一連の手続きとしてアル
ゴリズムを設計し、計算機が解釈可能な一連のプログラ
ム命令にて作成していた。
【0003】また、オブジェクト指向技術は、現実の世
界での現象や問題を人間の思考形態に近い設計方法で計
算機の世界に写実させるものである。そして、このオブ
ジェクト指向技術を用いてオブジェクト単位のプログラ
ム部品を開発することが一般化している。プログラム生
成方法においては、入力情報や出力情報が多種多様に進
化して行くと、一連の手順で設計・記述しなければなら
ないプログラムは複雑化し、規模の増大に比して開発行
為のコスト・困難さは指数関数的に増加することが知ら
れている。また、プログラムは、顧客の要望により頻繁
に仕様変更の要求が発生し、一連の手順で設計・記述さ
れたプログラムを再度人間が変更し維持して行くことは
コストと困難さの面で問題になる。さらに、仕様が複雑
化すると、一連のプログラムの流れを制御するための設
計情報が増加しシステム利用者の管理コストは増大す
る。
【0004】
【発明が解決しようとする課題】このように、従来にお
いては、多様な入力と出力からなる複雑なプログラム要
件を人間が一連のプログラム手順に従って作成し、開発
の困難性と開発コストの増大を招く問題やプログラムの
仕様変更に対しても柔軟、かつ迅速に対処できないとい
う問題があった。
【0005】そこで請求項1乃至7記載の発明は、多種
多様な入出力条件からなる複雑なプログラムを自動的に
生成でき、これにより、プログラム開発を容易にして生
産性を向上でき、また、プログラム仕様変更に対しても
柔軟、かつ迅速に対処できるプログラム自動生成方法を
提供する。また、請求項8記載の発明は、多種多様な入
出力条件からなる複雑なプログラムを自動的に生成し、
この生成したプログラムを使用してデータ処理ができる
データ処理方法を提供する。
【0006】また、請求項9乃至19記載の発明は、多
種多様な入出力条件からなる複雑なプログラムを自動的
に生成でき、これにより、プログラム開発を容易にして
生産性を向上でき、また、プログラム仕様変更に対して
も柔軟、かつ迅速に対処できるプログラム自動生成装置
を提供する。また、請求項20記載の発明は、多種多様
な入出力条件からなる複雑なプログラムを自動的に生成
し、この生成したプログラムを使用してデータ処理がで
きるデータ処理装置を提供する。
【0007】さらに、請求項21及び22記載の発明
は、コンピュータに対して多種多様な入出力条件からな
る複雑なプログラムを自動的に生成させることができ、
これにより、コンピュータによるプログラム開発を容易
にして生産性を向上でき、また、プログラム仕様変更に
対しても柔軟、かつ迅速に対処できるプログラム自動生
成プログラムを記録したコンピュータ読取り可能な記録
媒体を提供する。
【0008】
【課題を解決するための手段】請求項1記載の発明は、
プログラムとしての基本的な処理実行機能を為すプログ
ラム部品、処理動作内容及び処理動作の対象となる動作
対象を予めデータベースに記憶するとともに、需要コン
ポーネント、供給コンポーネント及び市場コンポーネン
トの3つの管理機構を設け、需要コンポーネントは、所
望する処理動作内容、動作対象及び処理に必要なデータ
が記された情報を受信後、その情報の処理動作内容、動
作対象を基にデータベースより検索して情報を記憶した
需要エージェントを生成し、この生成した需要エージェ
ントを市場コンポーネントに移動させ、市場コンポーネ
ントは、需要エージェントとリンクして相互作用の仲介
を行う市場エージェントを生成し、この市場エージェン
トと需要エージェントとの相互作用により需要エージェ
ントに記憶された情報に適するプログラム部品を要求す
るプログラム部品要求情報を供給コンポーネントに送信
し、供給コンポーネントは、プログラム部品要求情報を
受信し、この受信したプログラム部品要求情報に基づい
てデータベースから適するプログラム部品の候補を検索
し、候補となるプログラム部品を記憶した供給エージェ
ントを生成し、この生成した供給エージェントを市場コ
ンポーネントに移動させ、市場エージェントにより、需
要エージェントと供給エージェントとの最適な組合わせ
を求め、この組合わせの相互作用により所望の処理機能
を有するプログラムを生成し、この生成したプログラム
を出力するプログラム自動生成方法にある。
【0009】請求項2記載の発明は、請求項1記載のプ
ログラム自動生成方法において、需要エージェントと供
給エージェントとの相互作用は、少なくともエージェン
トが適用できるか判断する手順と、エージェントの価値
を算出する手順と、各エージェントが合体できるか判断
する手順と、各エージェントを合体させる手順と、需要
エージェントと供給エージェントとの同定を判断する手
順からなることにある。
【0010】請求項3記載の発明は、請求項1記載のプ
ログラム自動生成方法において、市場エージェントにお
ける相互作用は、少なくとも複数の同定候補からリンク
する候補を選択する価値判断手順を有することにある。
請求項4記載の発明は、請求項1記載のプログラム自動
生成方法において、生成された所望の処理機能を有する
プログラムを新たなプログラム部品としてデータベース
に登録することにある。
【0011】請求項5記載の発明は、請求項1記載のプ
ログラム自動生成方法において、供給コンポーネントが
データベースから需要エージェントに適するプログラム
部品候補を検索できなかった場合、市場エージェントは
リンクしている需要エージェントを2つに分割し、それ
ぞれ処理動作内容及び動作対象を割り付けた新たな需要
エージェントを生成し、各需要エージェントの処理動作
内容及び動作対象に対して導出関係が成立したとき、所
望の処理機能を有するプログラムを生成することにあ
る。
【0012】請求項6記載の発明は、請求項1記載のプ
ログラム自動生成方法において、供給コンポーネントが
データベースから需要エージェントに適するプログラム
部品候補を検索できなかった場合、市場エージェント
は、リンクしている需要エージェントを2つに分割し、
それぞれ処理動作内容及び動作対象を割り付けた新たな
需要エージェントを生成し、この新たに生成された需要
エージェントとリンクした市場エージェントは、先ず、
導出関係が成立する需要エージェントを探索し、導出で
きればプログラムが生成されたと判断し、導出できなけ
れば処理動作内容と動作対象が部分的に一致するプログ
ラム部品を保持する供給エージェントを探索し、探索し
た解候補の供給エージェントと需要エージェントをリン
クした市場エージェントは、リンクしている需要エージ
ェントをコピーすることで新たな仮想エージェントを生
成し、解候補の供給エージェントの未参照の処理動作内
容と動作対象を探索する条件としてセットしてから再度
導出関係が成立する需要エージェントを探索し、これを
繰返して各需要エージェントの処理動作内容、動作対象
に対して導出関係が成立したとき、所望の処理機能を有
するプログラムが生成されたと判断することにある。
【0013】請求項7記載の発明は、請求項1記載のプ
ログラム自動生成方法において、所望の処理機能を有す
るプログラムの生成に失敗したとき、この失敗した内容
を出力することにある。
【0014】請求項8記載の発明は、プログラムとして
の基本的な処理実行機能を為すプログラム部品、処理動
作内容及び処理動作の対象となる動作対象を予めデータ
ベースに記憶するとともに、需要コンポーネント、供給
コンポーネント及び市場コンポーネントの3つの管理機
構を設け、需要コンポーネントは、所望する処理動作内
容、動作対象及び処理に必要なデータが記された情報を
受信後、その情報の処理動作内容、動作対象を基にデー
タベースより検索して情報を記憶した需要エージェント
を生成し、この生成した需要エージェントを市場コンポ
ーネントに移動させ、市場コンポーネントは、需要エー
ジェントとリンクして相互作用の仲介を行う市場エージ
ェントを生成し、この市場エージェントと需要エージェ
ントとの相互作用により需要エージェントに記憶された
情報に適するプログラム部品を要求するプログラム部品
要求情報を供給コンポーネントに送信し、供給コンポー
ネントは、プログラム部品要求情報を受信し、この受信
したプログラム部品要求情報に基づいてデータベースか
ら適するプログラム部品の候補を検索し、候補となるプ
ログラム部品を記憶した供給エージェントを生成し、こ
の生成した供給エージェントを市場コンポーネントに移
動させ、市場エージェントにより、需要エージェントと
供給エージェントとの最適な組合わせを求め、この組合
わせの相互作用により所望の処理機能を有するプログラ
ムを生成し、この生成したプログラムを用いて需要エー
ジェントにあるデータを処理し、その結果を出力するデ
ータ処理方法にある。
【0015】請求項9記載の発明は、プログラムとして
の基本的な処理実行機能を為すプログラム部品、処理動
作内容及び処理動作の対象となる動作対象を記憶するデ
ータベースと、所望する処理動作内容、動作対象及び処
理に必要なデータが記された情報を受信後、その情報の
処理動作内容、動作対象を基にデータベースより検索し
て情報を記憶した需要エージェントを生成し、この生成
した需要エージェントの移動を行う需要コンポーネント
と、データベースから需要エージェントに記憶された情
報に適するプログラム部品の候補を検索し、候補となる
プログラム部品が記憶された供給エージェントを生成
し、この生成した供給エージェントの移動を行う供給コ
ンポーネントと、需要エージェントと供給エージェント
の相互作用の仲介を行う市場エージェントの生成及びこ
の市場エージェントの管理を行う市場コンポーネントと
を備え、需要コンポーネントは、生成した需要エージェ
ントを市場コンポーネントに移動させ、市場コンポーネ
ントは、生成した市場エージェントを需要エージェント
とリンクし、この需要エージェントとの相互作用により
この需要エージェントに記憶された情報に適するプログ
ラム部品を要求するプログラム部品要求情報を供給コン
ポーネントに送信し、供給コンポーネントは、プログラ
ム部品要求情報を受信するとこのプログラム部品要求情
報に基づいて供給エージェントの生成を行い、この生成
した供給エージェントを市場コンポーネントに移動さ
せ、市場コンポーネントが生成した市場エージェント
は、需要エージェントと供給エージェントとの最適な組
合わせを求め、この組合わせの相互作用により所望の処
理機能を有するプログラムを生成し、この生成したプロ
グラムを出力するプログラム自動生成装置にある。
【0016】請求項10記載の発明は、請求項9記載の
プログラム自動生成装置において、需要コンポーネン
ト、供給コンポーネント及び市場コンポーネントは、受
信した所望する処理動作内容、動作対象及び処理に必要
なデータに基づいて、データベースを検索して各コンポ
ーネントに対応するエージェントを生成するエージェン
ト生成手段と、このエージェント生成手段が生成した複
数のエージェントを管理するエージェント管理手段と、
各コンポーネントで管理する各エージェントの実行を行
うエージェント実行手段と、各エージェントを他のコン
ポーネントへ移動させるエージェント移動手段を備えた
ことにある。
【0017】請求項11記載の発明は、請求項9記載の
プログラム自動生成装置において、需要エージェント、
供給エージェント、市場エージェントは、プログラムカ
ウンタ値、スタック、ヒープ等の動的な情報を記憶する
内部状態保持領域を備え、需要コンポーネント、供給コ
ンポーネント、市場コンポーネントは、需要エージェン
ト、供給エージェント、市場エージェントをタスクや計
算機の動作環境に依存せずに移動させることにある。
【0018】請求項12記載の発明は、請求項9記載の
プログラム自動生成装置において、需要エージェント、
供給エージェント及び市場エージェントは、自身の動作
を記述したエージェントメインプログラム、他のプログ
ラムと情報を交換するインターフェースプログラム並び
に他のプログラムに供給するプログラム部品を記憶する
エージェントプログラム記憶領域と、動作中も内容が変
化しない静的なデータを記憶するエージェントデータ記
憶領域と、動作中に内容が変化する動的なデータを記憶
するエージェント内部状態記憶領域を備えたことにあ
る。
【0019】請求項13記載の発明は、請求項12記載
のプログラム自動生成装置において、エージェント内部
状態記憶領域は、エージェントのリンク状態を管理する
エージェントリンクテーブルを有することにある。
【0020】請求項14記載の発明は、請求項9記載の
プログラム自動生成装置において、需要エージェント、
供給エージェント及び市場エージェントは、エージェン
トが適用できるか否かを判断するエージェント適用判断
手段と、2つのエージェントが合成できるか否かを判断
するエージェント合成判断手段と、2つのエージェント
を合成するエージェント合成手段と、需要エージェント
と供給エージェントの同定を判断するエージェント同定
判断手段と、エージェントの価値を算出するエージェン
ト価値算出手段と、複数の同定候補からリンクするエー
ジェント候補を選択するエージェント価値判断手段とを
備え、各手段を実行するプログラムをインターフェース
プログラムの所定領域に記憶することにある。
【0021】請求項15記載の発明は、請求項9記載の
プログラム自動生成装置において、市場エージェント
は、需要エージェントと供給エージェントとのリンク状
態に応じた状態遷移能力を備えたことにある。請求項1
6記載の発明は、請求項9記載のプログラム自動生成装
置において、さらに、生成したプログラムをデータベー
スに新たなプログラム部品として登録するプログラム部
品登録手段を備えたことにある。
【0022】請求項17記載の発明は、請求項9記載の
プログラム自動生成装置において、市場エージェント
は、リンクしている需要エージェントを2つに分割し、
それぞれ処理動作内容、動作対象を割り付けた新たな需
要エージェントを生成する需要エージェント分割手段
と、この分割手段にて分割した需要エージェントに記憶
した処理動作内容、動作対象の導出関係が成立すること
で所望のプログラムが完成したことを検知するエージェ
ント導出検知手段とを備えたことにある。
【0023】請求項18記載の発明は、請求項9記載の
プログラム自動生成装置において、市場エージェント
は、リンクしている需要エージェントを2つに分割し、
それぞれ処理動作内容、動作対象を割り付けた新たな需
要エージェントを生成する需要エージェント分割手段
と、この分割手段にて分割した需要エージェントが仮説
的に解を推論するための仮想エージェントを作成する仮
想エージェント作成手段と、この仮想エージェント作成
手段にて作成した仮想エージェントに記憶した処理動作
内容、動作対象の導出関係が成立することで所望のプロ
グラムが完成したことを検知するエージェント導出検知
手段とを備えたことにある。
【0024】請求項19記載の発明は、請求項9記載の
プログラム自動生成装置において、データベースは、需
要エージェント用か供給エージェント用か市場エージェ
ント用かの目的種別を記憶する目的種別記憶手段と、プ
ログラム部品の処理動作内容を示すアクション記憶手段
と、プログラム部品の処理動作を行う対象を示すオブジ
ェクト記憶手段と、エージェントを構成するためのイン
ターフェースプログラム記憶手段と、プログラム部品が
用いる静的なデータを記憶するプログラム部品用データ
記憶手段と、プログラム部品を記憶するプログラム部品
記憶手段とを備えたことにある。
【0025】請求項20記載の発明は、プログラムとし
ての基本的な処理実行機能を為すプログラム部品、処理
動作内容及び処理動作の対象となる動作対象を記憶する
データベースと、所望する処理動作内容、動作対象及び
処理に必要なデータが記された情報を受信後、その情報
の処理動作内容、動作対象を基にデータベースより検索
して情報を記憶した需要エージェントを生成し、この生
成した需要エージェントの移動を行う需要コンポーネン
トと、データベースから需要エージェントに記憶された
情報に適するプログラム部品の候補を検索し、候補とな
るプログラム部品が記憶された供給エージェントを生成
し、この生成した供給エージェントの移動を行う供給コ
ンポーネントと、需要エージェントと供給エージェント
の相互作用の仲介を行う市場エージェントの生成及びこ
の市場エージェントの管理を行う市場コンポーネントと
を備え、需要コンポーネントは、生成した需要エージェ
ントを市場コンポーネントに移動させ、市場コンポーネ
ントは、生成した市場エージェントを需要エージェント
とリンクし、この需要エージェントとの相互作用により
この需要エージェントに記憶された情報に適するプログ
ラム部品を要求するプログラム部品要求情報を供給コン
ポーネントに送信し、供給コンポーネントは、プログラ
ム部品要求情報を受信するとこのプログラム部品要求情
報に基づいて供給エージェントの生成を行い、この生成
した供給エージェントを市場コンポーネントに移動さ
せ、市場エージェントにより、需要エージェントと供給
エージェントとの最適な組合わせを求め、この組合わせ
の相互作用により所望の処理機能を有するプログラムを
生成し、この生成したプログラムを用いて需要エージェ
ントに記憶したデータを処理し、この処理した結果を出
力するデータ処理装置にある。
【0026】請求項21記載の発明は、プログラムとし
ての基本的な処理実行機能をなすプログラム部品、処理
動作内容、処理動作を行う動作対象を予めデータベース
へ記憶するステップ、所望する処理機能の処理動作内容
及び動作対象、処理に必要な情報をインプットするステ
ップ、このインプットされた情報に基づいてデータベー
スを検索し、検索結果により情報を記憶した需要エージ
ェントを生成するステップ、生成した需要エージェント
とリンクして相互作用の仲介を行う市場エージェントを
生成するステップ、生成した需要エージェントを市場コ
ンポーネントに移動させるステップ、市場エージェント
と需要エージェントとの相互作用により需要エージェン
トに記憶された情報に適するプログラム部品を要求する
プログラム部品要求情報を送信するステップ、受信した
プログラム部品要求情報に基づいてデータベースから適
するプログラム部品の候補を検索するステップ、候補と
なるプログラム部品が記憶された供給エージェントを生
成するステップ、市場エージェントが需要エージェント
に最適なプログラム部品を記憶した供給エージェントを
検索し、最適な組合わせを求めるステップ、最適な需要
エージェントと供給エージェントとの相互作用により所
望の処理機能を有するプログラムを生成するステップ、
この生成したプログラムを出力するステップを実行させ
るためのプログラム自動生成プログラムを記録したコン
ピュータ読取り可能な記録媒体にある。
【0027】請求項22記載の発明は、プログラムとし
ての基本的な処理実行機能をなすプログラム部品、処理
動作内容、処理動作を行う動作対象を予めデータベース
へ記憶するステップ、所望する処理機能の処理動作内容
及び動作対象、処理に必要な情報をインプットするステ
ップ、このインプットされた情報に基づいてデータベー
スを検索し、検索結果により情報を記憶した需要エージ
ェントを生成するステップ、生成した需要エージェント
とリンクして相互作用の仲介を行う市場エージェントを
生成するステップ、生成した需要エージェントを市場コ
ンポーネントに移動させるステップ、市場エージェント
と需要エージェントとの相互作用により需要エージェン
トに記憶された情報に適するプログラム部品を要求する
プログラム部品要求情報を送信するステップ、受信した
プログラム部品要求情報に基づいてデータベースから適
するプログラム部品の候補を検索するステップ、候補と
なるプログラム部品が記憶された供給エージェントを生
成するステップ、市場エージェントが需要エージェント
に最適なプログラム部品を記憶した供給エージェントを
検索し、最適な組合わせを求めるステップ、最適な需要
エージェントと供給エージェントとの相互作用により所
望の処理機能を有するプログラムを生成するステップ、
この生成したプログラムを用いて需要エージェントにあ
るデータを処理するとともにこの処理した結果を出力す
るステップを実行させるためのプログラム自動生成プロ
グラムを記録したコンピュータ読取り可能な記録媒体に
ある。
【0028】次に、本発明の基本概念、基本構成及び各
部の機能について述べる。先ず、本発明の基本概念を図
1及び図2に基づいて述べる。従来のプログラムモデル
は、図1の(a)に示すように、プログラム1としてプロ
グラム本体2の他に固定的な入力データ型定義3及び出
力データ型定義4を備え、プログラム本体2に入力デー
タ5をインプットすると、出力データ6がアウトプット
されるという概念を用いてきた。従って、プログラムは
予め人間により作成されているのが前提であり、またプ
ログラムの機能は入力データ型定義3と出力データ型定
義4に縛られていた。
【0029】これに対して、本発明は、図1の(b)に示
すように、プログラム11としてはプログラム本体12
のみからなり、入力データ型定義13と出力データ型定
義14と入力データ15をインプットすることでプログ
ラム本体12はこれらのインプットに適応して動的にプ
ログラムを自動生成して入力データ15を処理し、出力
データ16をアウトプットするというモデル並びに生成
されたプログラム17を出力するモデルを実現するもの
である。そして、このモデルを経済的市場モデルに当て
はめ、需要と供給のマッチングにより取引が成立するが
如く、インプット情報を処理するプロセスとプログラム
部品情報を処理するプロセスを生成し、両プロセスの相
互作用によりマッチングを探索し、マッチングの成立を
以ってプログラムの自動的かつ動的な生成を行うもので
ある。
【0030】具体的には、図2に示すように、出力デー
タ型定義に相当するアクション21と入力データ型定義
に相当するオブジェクト22と入力データ23をインプ
ットとし、固定的に構成されたプログラム本体ではなく
基本的機能を為すプログラム部品24をデータベースに
記憶し、インプットの情報をプロセス25に記憶し、デ
ータベースから読み出したプログラム部品24の情報を
プロセス26に記憶し、プロセス25とプロセス26間
の相互作用にてプログラム27を生成し、この生成され
たプログラム27にて入力データ23を処理し、出力デ
ータ28をアウトプットする。また、生成したプログラ
ム27を出力プログラム29として出力する。また、生
成されたプログラム27をプログラム部品30としてデ
ータベースに登録することで進化的にプログラム部品が
拡充される。さらに、プログラムの生成に失敗した場合
には、その内容を需要情報31として出力する。
【0031】図3は本発明のプログラム自動生成装置5
0の基本構成要素を示すブロック図で、需要コンポーネ
ント41と、供給コンポーネント42と、市場コンポー
ネント43と、需要エージェント44と、供給エージェ
ント45と、市場エージェント46と、機能データベー
ス47と、メッセージ処理手段48と、情報の入出力媒
体であるメッセージ49から構成されている。これらの
機能要素は1つのプログラム自動生成装置50に実装さ
れる形態でも、また、図4に示すように複数のプログラ
ム自動生成装置50a,50b,50c,50dに分散
し、それらがネットワーク51の通信手段で接続されて
いる形態でも良い。
【0032】なお、エージェントとは、プログラムとデ
ータと内部状態で構成された、計算機におけるプロセス
の一種であり、プログラムカウンタ値やスタックやヒー
プ等の動的な情報を内部状態に記憶し、動作環境に依存
せずタスクや計算機間を移動し動作させることが可能な
プロセスを意味している。また、コンポーネントとは、
プログラムとデータと内部状態で構成された、計算機に
おけるプロセスを管理するプロセスであり、複数のエー
ジェントを生成し動作させ、また、複数のコンポーネン
ト間で該エージェントを移動させるプロセスを意味して
いる。また、コンポーネントが操作してエージェントが
タスクや計算機間を移動することをMOVEと称する。
また、コンポーネントが操作して動作中のエージェント
が処理を中断し計算機のメモリ上から消去されることを
KILLと称する。
【0033】また、プログラム部品24を供給と呼称
し、この供給を記憶するエージェントを供給エージェン
ト45とし、供給エージェント45が生成されるコンポ
ーネントを供給コンポーネント42とし、アクション2
1とオブジェクト22と入力データ23を需要と呼称
し、この需要を記憶するエージェントを需要エージェン
ト44とし、需要エージェント44が生成されるコンポ
ーネントを需要コンポーネント41とし、供給エージェ
ント45と需要エージェント44が相互作用するコンポ
ーネントを市場コンポーネント43とし、供給エージェ
ント45と需要エージェント44の相互作用を仲介する
エージェントを市場エージェント46としている。ま
た、エージェント間の関係に関する表現方法として、
「同一」、「導出」とは、需要エージェント同士若しく
は供給エージェント同士の間の関係であり、マッチング
とは需要エージェントと供給エージェントの間の関係を
表現している。
【0034】図5は、プログラム自動生成装置50のハ
ードウェア構成要素を示すブロック図であり、プログラ
ム自動生成装置50を制御するプログラムとこのプログ
ラムが利用するデータを格納したROM(リード・オン
リー・メモリ)52、該プログラムを記憶した記録媒体
としての記憶メディア53、この記憶メディア53から
該プログラムを読み出す外部記憶読取装置54、該プロ
グラムを解釈し実行するCPU(中央処理装置)55、
該プログラムの記憶並びに該プログラムが作業用の記憶
領域として用いるRAM(ランダム・アクセス・メモ
リ)56、該プログラムに情報の入力を行う入力手段5
7、該プログラムから情報の出力をする出力手段58を
基本的なハードウェア構成要素として備えている。
【0035】このような構成要素を用いてプログラム自
動生成装置50は、需要を記憶したメッセージ49のプ
ログラム出力要求を需要コンポーネント41に送信し、
需要コンポーネント41は該メッセージ49から需要エ
ージェント44を生成し、需要エージェント44は市場
コンポーネント43にMOVEして市場エージェント4
6と相互作用し、市場エージェント46は市場コンポー
ネント43に需要を記憶したメッセージ49を送信し、
市場コンポーネント43は供給コンポーネント42に該
メッセージ49を送信し、需要を記憶したメッセージ4
9が供給コンポーネント42に送信されると、供給コン
ポーネント42は該メッセージ49を基に機能データベ
ース47からプログラム部品24を取得し、該プログラ
ム部品24を記憶した供給エージェント45を生成し、
供給エージェント45は市場コンポーネント43にMO
VEして市場エージェント46と相互作用し、市場エー
ジェント46は他の市場エージェント並びに需要エージ
ェント44並びに供給エージェント45と相互作用し、
これらの相互作用の結果、需要に適応した効率の良い目
的プログラムを動的に且つ自動的に構成する。
【0036】エージェント間、エージェントとコンポー
ネント間、コンポーネントと外部との間の情報交換にメ
ッセージ49を使用しているが、このメッセージ49
は、図6に示すように、送信先識別ID491、送信元
識別ID492、コード493、メッセージ長494、
コンテンツ495から構成され、コンテンツ495は、
オブジェクトを格納したケースA495a、データのみ
を格納したケースB495b、コンテンツを持たないケ
ースC495cに形式が分類されている。そして、ケー
スA495aは、プログラム部品の機能種別を示すタイ
プ591、プログラム部品の動作内容を示すアクション
592、プログラム部品が処理する対象を示す第1、第
2オブジェクト593,594、プログラム部品にて処
理されるべきデータ595を備え、ケースB495bは
データ595のみを備えている。
【0037】なお、情報の交換にはメッセージ方式の
他、メモリ共有方式、プロセス間通信方式等を使用して
も良い。前記メッセージ49のコード例を表1に示す。
ここではコードをコンテンツの形式別並びにメッセージ
49の用途別に分類して示す。コンテンツの形式別は前
述したケースA、ケースB、ケースCであり、メッセー
ジの用途別はシステム制御系、エージェント制御系、ス
テータス伝達系、情報送受信系になっている。
【0038】例えば、システム制御系におけるケースA
では、コード「01h」がデータ出力要求を示し、コー
ド「02h」がプログラム出力要求を示し、コード「0
3h」がプログラム部品登録を示し、コード「04h」
はプログラム開発要求を示し、また、ケースBでは、コ
ード「40h」がデータ処理結果を示し、コード「41
h」がプログラム構成結果を示している。
【0039】また、エージェント制御系におけるケース
Aでは、コード「10h」がエージェント要求を示し、
また、ケースBでは、コード「50h」が移動エージェ
ントを示し、また、ケースCでは、コード「90h」が
MOVE要求を示し、コード「91h」がMerge要
求を示し、コード「92h」がKill要求を示し、コ
ード「93h」が交換要求を示している。
【0040】また、ステータス伝達系におけるケースC
では、コード「A0h」がOKを示し、コード「A1
h」がエラーを示し、コード「A2h」がMULTを示
し、コード「A3h」がデータ入力完了を示し、コード
「A4h」がプログラム構成完了を示している。
【0041】さらに、情報送受信系におけるケースBで
は、コード「70h」がデータ受信を示し、コード「7
1h」が内部状態受信を示し、コード「72h」がプロ
グラム受信を示し、また、ケースCでは、コード「B0
h」がデータ要求を示し、コード「B1h」が内部状態
要求を示している。
【0042】
【表1】
【0043】前記需要エージェント44、供給エージェ
ント45及び市場エージェント46は、メッセージ49
のコード493を参照することにより生成したプログラ
ムを出力するか、生成したプログラムにより処理したデ
ータを出力するかのエージェントの動作目的の判断がで
きるようになっている。
【0044】前記需要エージェント44、供給エージェ
ント45及び市場エージェント46は、図7に示すよう
に、エージェントプログラム記憶領域61、エージェン
トデータ記憶領域62、エージェント内部状態記憶領域
63からなる構成要素を備えている。
【0045】前記エージェントプログラム記憶領域61
は、エージェント自身の動作を記述したエージェントメ
インプログラム611、エージェントがプログラム部品
と情報を交換するインターフェースプログラム612、
プログラム部品を記憶するプログラム部品613を備
え、前記インターフェースプログラム612には、エー
ジェント間の価値を判断する価値判断プログラム、エー
ジェントの価値を算出する価値算出プログラム、エージ
ェント間の合成の可否を判断する合成判断プログラム、
エージェントを合成する合成処理プログラム、エージェ
ント間の同定を判断する同定判断プログラム、エージェ
ントが適用できるか判断する適用判断プログラムを備え
ている。
【0046】前記エージェントデータ記憶領域62は、
エージェント用領域621、プログラム部品用領域62
2を備え、エージェント用領域621には、アクショ
ン、第1オブジェクト及び第2オブジェクトを記憶する
領域64を備えている。
【0047】前記内部状態記憶領域63は、エージェン
ト用領域631とプログラム部品用領域632を備え、
エージェント用領域631には、相対的プログラムカウ
ンタ、ヒープ及びスタックを記憶するエージェントの動
作情報領域65、需要エージェント44、供給エージェ
ント45並びに市場エージェント46とのリンクの状態
を管理する需要・供給エージェントリンクテーブル6
6、市場エージェント間のリンクの状態を管理する市場
エージェントリンクテーブル67及び発生元コンポーネ
ントを管理する領域68を備えている。
【0048】前記需要コンポーネント41、供給コンポ
ーネント42及び市場コンポーネント43は、図8に示
すように、コンポーネント管理プログラム71、コンポ
ーネント用データ72、内部状態73のコンポーネント
構成要素からなり、前記内部状態73には、管理してい
るエージェント数を記憶する領域74、管理している個
々のエージェントを識別する為のプロセスID等を記憶
したエージェントテーブル75、コンポーネントタイプ
の記憶領域76等が設けられている。
【0049】前記コンポーネント管理プログラム71に
は、図10に示すようなコンポーネント生成プロセスを
前記CPU55が実行する為のプログラムを格納してい
る。このコンポーネント構成プロセスは、先ず、ステッ
プS1にて、データ出力要求(コード01h)あるいは
プログラム出力要求(コード02h)のメッセージ49
の受信の有無をチェックし、該当するメッセージ49が
あれば、ステップS2にて、このメッセージ49内のタ
イプ591とコンポーネントタイプ76から検索キーを
決定し、ステップS3にて、オブジェクト593,59
4が任意のエントリーの場合には検索キーから外す処理
を行う。
【0050】そして、ステップS4にて、機能データベ
ース47からエージェントを検索し、エージェントが検
索されると、ステップS5にて、全てのエージェントを
アクティブ化し、ステップS6にて、このアクティブ化
したエージェントにメッセージ49内のデータ595を
渡し、ステップS7にて、全てのアクティブ化したエー
ジェントから応答を受信し、ステップS8にて、OKの
エージェントが1以上あるか判断し、有ればステップS
1に戻り、また、無ければ、ステップS9にてエラー応
答してからステップS1に戻る。
【0051】また、エージェントの検索時に、メッセー
ジ49に対応するエージェントが検索されなければ、ス
テップS10にて、プログラム開発要求を呼び出し、ス
テップS9にてエラー応答してからステップS1に戻
る。
【0052】また、ステップS1で該当するメッセージ
49の受信が無ければ、ステップS11にて、エージェ
ント要求(コード10h)のメッセージ49があるか否
かを判断し、要求があればステップS12にて、さら
に、メッセージ49の送信先ID491が自コンポーネ
ントか判断し、自コンポーネントであればステップS2
に移行し、自コンポーネントでなければステップS13
にて、送信先ID491の示すコンポーネントにメッセ
ージ49を送信する。
【0053】また、ステップS11にてエージェント要
求のメッセージが無いと判断されると、ステップS14
にて、管理するエージェントからMOVE要求(コード
90h)のメッセージが有るか否かを判断し、メッセー
ジが有ればステップS15にて、プログラム開始アドレ
ス、ヒープ及びスタックをエージェントのエージェント
内部状態63の動作情報65に記憶し、エージェントプ
ログラム61とエージェントデータ62とエージェント
内部状態63とから移動パケットを作成し、ステップS
16にて、要求された行き先のコンポーネントにこの作
成したパケットを送信する。そして、ステップS1に戻
る。
【0054】また、ステップS14の判断においてMO
VE要求(コード90h)のメッセージが無ければ、ス
テップS17、S18、S19、S20の処理を順次行
って管理しているエージェントを規定時間に基づいてそ
れぞれ動作させる。なお、CTはエージェント数をカウ
ントするカウンタである。
【0055】前記機能データベース47は、図9に示す
ように、プログラム部品の目的種別を記憶する目的種別
471、プログラム部品の動作を示すアクション47
2、プログラム部品の処理する対象を示すオブジェクト
473、エージェントを構成する為のインターフェース
プログラム474、プログラム部品が用いる静的なデー
タを記憶するプログラム部品用データ475及びプログ
ラム部品の実態であるプログラム部品476を格納して
いる。
【0056】
【発明の実施の形態】本発明の実施の形態を図面を参照
して説明する。 (第1の実施の形態)なお、この実施の形態は本発明を
商品販売データを登録するPOS(ポイント・オブ・セ
ールス)システムに適用した場合について述べる。
【0057】図11はPOSシステムの構成を示すブロ
ック図で、商品をエントリーする複数台のPOSターミ
ナル80と、商品の価格や売り上げ情報を保持し前記各
POSターミナル80に応答するファイルプロセッサ8
1と、これらを接続するネットワーク82から構成され
ている。
【0058】前記各POSターミナル80は、図12に
示すように、内部に備えたプログラム自動生成装置を制
御するプログラムとこのプログラムが利用するデータを
格納したROM83、該プログラムを記憶した記録媒体
としての記憶メディア84、この記憶メディア84から
該プログラムを読出す外部記憶読取装置85、該プログ
ラムを解釈実行するCPU86、該プログラムの記憶並
びに該プログラムが作業用の記憶領域として用いるRA
M87、商品名や金額等を表示出力する表示装置88、
金額等を入力するキーボード89、ネットワーク82を
介して前記ファイルプロセッサ81と情報の伝送制御を
行う伝送コントローラ90、商品に付されたバーコード
を読み取るバーコードスキャナー91、商品名や価格等
を記憶するハードディスク92、商品名や価格等をレシ
ート用紙やジャーナル用紙に印字しレシートの発行を行
うプリンタ93などを備えている。
【0059】前記ファイルプロセッサ81は、図13に
示すように、プログラム自動生成装置を制御するプログ
ラムとこのプログラムが利用するデータを格納したRO
M100、該プログラムを記憶した記録媒体としての記
憶メディア101、この記憶メディア101から該プロ
グラムを読出す外部記憶読取装置102、該プログラム
を解釈実行するCPU103、該プログラムの記憶並び
に該プログラムが作業用の記憶領域として用いるRAM
104、表示装置105、キーボード106、ネットワ
ーク82を介して前記各POSターミナル80と情報の
伝送制御を行う伝送コントローラ107、登録された商
品価格を商品別、部門別等に分類して累計したデータ等
を記憶するハードディスク108などを備えている。
【0060】図14は前記POSターミナル80が商品
販売データの登録時に行う値引き方式を示す図で、値引
き方式A、値引き方式B、値引き方式Cの3通りが設定
されている。値引き方式Aは単品値引きであり、各商品
1品毎に設定されてる設定額を値引く。値引き方式Bは
数量値引きであり、商品のまとめ買い数量に応じて設定
されている設定額を値引く。値引き方式CはM&M(ミ
ックス・アンド・マッチ)と呼ばれる値引きであり、商
品の組合わせに応じて設定額を値引く。
【0061】前記POSターミナル80は、商品の登録
時に上述した各値引き方式を実現するために、複雑な手
順を記述したプログラムを人間が作成することはなく、
個々の値引プログラムを基にプログラムを自動的に生成
するようになっている。
【0062】図15は前記ハードディスク92に形成さ
れた機能データベース109の構成を示す図で、3つの
値引方式を機能させる為に3つの供給エージェント45
用の情報がエントリーされている。エントリーの内容で
あるアクションには「値引額算出」を意味する定義コー
ド、オブジェクトの第1オブジェクトには「商品コー
ド」を意味する定義コード、エージェント情報のインタ
ーフェースプログラムには価値算出、同定判断、適用判
断の各プログラム、エージェント情報のプログラム部品
には各々の値引処理プログラムが格納されている。
【0063】また、需要エージェント44用と市場エー
ジェント46用は1つの情報で良く、需要エージェント
44用のエントリーの内容であるアクションには「値引
額算出」を意味する定義コード、オブジェクトの第1オ
ブジェクトには「商品コード」を意味する定義コード、
エージェント情報のインターフェースプログラムには合
成判断、合成処理、適用判断の各プログラムを格納し、
プログラム部品用データ、プログラム部品は特に必要は
ない。市場エージェント46用のエントリーの内容であ
るエージェント情報のインターフェースプログラムには
価値判断のプログラムを格納し、アクション、オブジェ
クト、プログラム部品用データ、プログラム部品は特に
必要はない。
【0064】図16及び図17は設定情報の例を示す図
で、登録処理を実行するためには商品マスタ110と値
引テーブル111の設定情報が必要になる。これはPO
Sターミナル80の利用者が必要に応じて用意するもの
であるが、商品マスタ110には、図16に示すよう
に、例えば、商品名と商品コードと商品単価が記憶され
ている。商品コードにはJAN等の規格化されたコード
が利用される。この例では商品Aと商品Bと商品Cの3
この商品について設定した例を示している。
【0065】値引テーブル111には、図17に示すよ
うに、どの商品にどの値引を適用するかを記憶してい
る。すなわち、エージェント標識111a、対象の商品
コード111b、値引き方式種別111c、値引額11
1d、値引き対象数量111eが格納されている。エー
ジェント標識111aは便宜的に用意した情報であり、
供給エージェント45の略称として用いる。対象の商品
コード111bには値引の該当する商品コードが記憶さ
れ、値引方式種別111cには図14に示したどの値引
方式が適用されるかの識別情報が記憶され、値引き額1
11dには値引の金額が記憶され、値引対象数量111
eには値引が適用される数量の条件が記憶されている。
【0066】図18はPOSターミナル80におけるエ
ージェント構成要素を示した図で、3つの値引方式A、
B、Cのうちの一方式の処理プログラムが1つのエージ
ェントのエージェントプログラム121内のプログラム
部品用122に格納される。供給エージェント45には
該値引方式に必要となる設定データ123が必要であ
り、エージェントデータ124のプログラム部品用12
5に記憶され、商品コード、商品単価、まとめ買い用数
量、値引き額を記憶することができる。
【0067】需要エージェント44には登録された商品
の情報126が必要であり、内部状態127のプログラ
ム部品用128に記憶され、商品コード、買上げ数量、
処理結果の値引き額を記憶することができる。
【0068】図19は需要エージェント44と供給エー
ジェント45の構成プロセスを示し、このプロセスはC
PU86が実行するプログラムの手順を示している。先
ず、ステップS21にて、受信したメッセージ49を基
にエージェントプログラム121内のインターフェース
プログラム129の適用判断プログラム129aをコー
ルし、もし、OKでなければ、ステップS22にて、エ
ージェント要求元に「エラー」を応答して終了する。
【0069】また、OKであれば、ステップS23に
て、エージェント要求元に「OK」を応答し、ステップ
S24にて、属しているコンポーネントにコンポーネン
トタイプ76を問い合せ、ステップS25にて、市場コ
ンポーネント43か否かをチェックする。市場コンポー
ネント43でなければ、ステップS26にて、属してい
るコンポーネントに市場コンポーネントへMOVEする
MOVE要求(コード90h)のメッセージを送信す
る。そして、MOVE要求のメッセージを送信すること
により、このエージェントは市場コンポーネント43の
管理下に移動することになる。また、市場コンポーネン
ト43であればそのまま市場コンポーネントでの処理と
なる。
【0070】市場コンポーネント43では、先ず、ステ
ップS27にて、市場エージェント46にリンク要求を
発行し、ステップS28にて、市場エージェント46か
らの応答を待ち、応答があれば、ステップS29にてリ
ンク処理を行う。
【0071】以後は、ステップS30にて受信したメッ
セージ49に対応した処理を行う。すなわち、Merg
e要求(コード91h)のメッセージ49を受信した時
は、ステップS31にてインターフェースプログラム1
29の合成処理プログラム129bをコールする。ま
た、内部状態要求(コードB1h)のメッセージ49を
受信した時は、ステップS32にて内部状態127のプ
ログラム部品用128を送信する。また、内部状態受信
(コード71h)のメッセージ49を受信した時は、ス
テップS33にて受信したデータを内部状態127のプ
ログラム部品用128にセットする。
【0072】また、プログラム受信(コード72h)の
メッセージ49を受信した時は、ステップS34にてプ
ログラム部品を受信しエージェントプログラム121の
プログラム部品122にセットする。また、エラー(コ
ードA1h)のメッセージ49を受信した時は、ステッ
プS35にて当該エージェントが生成されたコンポーネ
ントにMOVEし、ステップS36にてエラー処理を行
い終了する。また、Kill要求(コード92h)のメ
ッセージ49を受信した時は、そのまま終了する。
【0073】また、データ入力完了(コードA3h)の
メッセージ49を受信した時は、このエージェントは、
ステップS37にて需要コンポーネント41にMOVE
し、メッセージ49のコード493がデータ出力要求
(コード01h)のときには、ステップS38にてエー
ジェントプログラム121内のプログラム部品122を
起動して内部状態127のプログラム部品用128に記
憶された入力データを処理し、ステップS39にてデー
タ処理結果(コード40h)のメッセージ49を作成し
てエージェント要求元に送信する。また、メッセージ4
9のコード493がプログラム出力要求(コード02
h)のときには、ステップS40にてエージェントプロ
グラム121のプログラム部品122に記憶した生成さ
れたプログラムを機能データベース109に新たなプロ
グラム部品として登録する。そして、ステップS41に
てエージェントプログラム121のプログラム部品12
2をプログラム構成結果(コード41h)のメッセージ
49に格納し、要求元に送信して終了する。
【0074】図20は、市場エージェント46における
動作の状態遷移をライフサイクルとして表現した図で、
市場エージェント46は、他のエージェントとのリンク
の状態に応じて複数の状態遷移能力を備えている。市場
エージェント46が生成されると市場エージェント生成
131の状態からライフモード(0)132に移行す
る。ライフモード(0)132はリンクした需要エージ
ェント44並びに供給エージェント45が無い状態にお
ける市場エージェント46の動作を規程する。この状態
で需要エージェント44又は供給エージェント45がリ
ンクするとライフモード(1)133に移行する。ま
た、この状態で市場エージェント46は消滅する。ライ
フモード(1)133は需要エージェント44又は供給
エージェント45のどちらか一方がリンクしている状態
における市場エージェント46の動作を規程する。この
状態でもう片方のリンクが成立すると、ライフモード
(2)134に移行する。
【0075】図21は、ライフモード(0)132にお
けるCPU86が実行するプログラムの手順を示してい
る。なお、ここでは、図22の(a)に示すように、自分
が市場エージェントA0で、別の市場エージェントA2
があり、一方、供給エージェントA1、A3があり、こ
の供給エージェントA1、A3が同一関係にあって供給
エージェントA1から市場エージェントA0にリンク要
求を行い、また、供給エージェントA1から供給エージ
ェントA3にMerge要求を行う場合と、図22の
(b)に示すように、供給エージェントA1、A3が導出
関係にあって供給エージェントA1から市場エージェン
トA0にリンク要求を行い、さらに、別の市場エージェ
ントA4、A5があって市場エージェントA0とA4、
市場エージェントA2とA5がそれぞれ相互リンクして
いて、最終的に市場エージェントA4とA5を相互リン
クさせる場合を例として述べる。
【0076】市場エージェント46は、先ず、ステップ
S51にて需要エージェント44又は供給エージェント
45からのリンク要求を待ち、リンク要求が来ると、ス
テップS52にて供給エージェントA1のアクションと
オブジェクトを入手し、ステップS53にて他の市場エ
ージェント46に同一種別のエージェントがあるか問い
合わせる。
【0077】同一タイプがある応答が来れば、ステップ
S54にて、インターフェースプログラム129の合成
判断プログラム129cを呼び出し、合成が可能であれ
ば、ステップS55にて同一タイプの需要エージェント
44又は供給エージェント45にMerge要求(コー
ド91h)のメッセージ49を送信し、OK応答があれ
ば、ステップS56にて内部状態127のプログラム部
品用128の内容を送信し、ステップS57にてリンク
要求をしたエージェントにKill要求(コード92
h)のメッセージ49を送信して終了する。
【0078】また、同一タイプが無い応答の場合には、
ステップS58にて導出関係のエージェントが有るか問
い合せをし、導出関係のエージェントが無ければ、ステ
ップS59にてリンクを要求したエージェントとリンク
し、ステップS60にてライフモード(1)に移行す
る。
【0079】また、ステップS58にて導出関係のエー
ジェントがあると判断されたときには、ステップS61
にて該エージェントの第2オブジェクト(OBJ)が
「任意」か否かを判断し「任意」のときは、ステップS
62にて市場エージェントリンクにおいて市場エージェ
ントA4の前方に市場エージェントA5を相互リンク
し、また、第1オブジェクト(OBJ)が「任意」のと
きは、ステップS63にて市場エージェントリンクにお
いて市場エージェントA5の後方に市場エージェントA
4を相互リンクする。そして、ステップS64にてプロ
グラム構成完了(コードA4h)のメッセージ49をパ
イプP1経由で送信して終了する。
【0080】図23は、ライフモード(1)133にお
けるCPU86が実行するプログラムの手順を示してい
る。なお、ここでは、図24の(a)に示すように、自分
が市場エージェントA0で、別の市場エージェントA
3、A5があり、一方、供給エージェントA2、A4が
あってリンク候補となっており、さらに、需要エージェ
ントA1、A6がある場合と、図24の(b)に示すよう
に、需要エージェントA1、A8、市場エージェントA
0、A7、A9、A10があり、A0とA9、A7とA10
が相互リンクし、A9とA10がオープン側のエージェン
トになっている場合を例として述べる。
【0081】市場エージェント46は、データ入力完了
(A3h)のメッセージ49の受信が無い状態では、先
ず、ステップS71にてオープン側(リンクするエージ
ェントが無い状態を意味する)のエージェントをサーチ
し、ステップS72にてアクションとオブジェクトがマ
ッチングするエージェントを検出したか判断する。な
お、オブジェクトが「任意」の場合は無条件に一致を判
断する。
【0082】マッチングするエージェントを検出したと
きには、次に、ステップS73にて、リンク候補エージ
ェントのインターフェースプログラム129の同定判断
プログラム129dを呼び出し結果をメモリMにセット
する。そして、メモリMの内容がOKか、NGかを確認
し、NGであればデータ入力完了のメッセージ受信を判
定する最初のステップS70に戻る。
【0083】また、メモリMの内容がOKであれば、ス
テップS74にて、リンク候補とリンクした市場エージ
ェントA3、A5のライフモードが(1)又は(2)か
を判断し、ライフモード(2)であれば、ステップS7
5にて、供給エージェントA4のインターフェースプロ
グラム129の価値算出プログラム129eにより自分
(エージェントA0)にリンクしている需要エージェン
トA1の価値を算出し、ステップS76にて、価値算出
プログラム129eにより自分(エージェントA0)に
リンクしている需要エージェントA6の価値を算出し、
ステップS77にて、自分(エージェントA0)のイン
ターフェースプログラム129の価値判断プログラム1
29fで比較し、自分(エージェントA0)の価値が高
くなければ、ステップS70に戻り、また、価値が高け
れば、ステップS78にて、相手エージェントA5に交
換要求(コード93h)のメッセージ49を送信する。
これにより供給エージェントA4は自分(エージェント
A0)にリンクするようになる。
【0084】続いて、ステップS79にて同定判断を行
い、この判断結果、MがMULTの場合は、ステップS
70に戻り、そうでなければ、ステップS80にてライ
フモード(2)に移行する。なお、同定判断の結果のM
ULTとは、同定の必要条件は満たしているが十分条件
は満たしていない状態であり、ライフモード(1)を維
持し、更にリンクするエージェントを探索することにな
る。
【0085】ステップS74の判断にて市場エージェン
トA3、A5のライフモードが(1)の時は、直ちに、
ステップS81にて供給エージェントA2を自分(市場
エージェントA0)とリンクさせ、ステップS82にて
需要エージェント44に「任意」のオブジェクトがある
か検査し、あればステップS83にてサブルーチンの仮
想エージェント作成を呼び出す。
【0086】また、前述したステップS72でマッチン
グするエージェントが無い場合、ステップS84にて、
オープン側の市場コンポーネントにエージェント要求
(コード10h)のメッセージ49を送信し、エージェ
ントが来ればステップS72に戻り、エラー応答であれ
ば、ステップS85にてメッセージ49のタイプ591
が「3」、すなわち、分解可能かを判断し、「3」でな
ければ、ステップS86にてプログラム開発要求サブル
ーチンをコールし、ステップS87にてエラー(コード
A1h)のメッセージ49をリンクしているクローズ側
のエージェントに送信し、ステップS88にて需要エー
ジェントA1とのリンクを解除し終了する。
【0087】また、タイプ591が「3」の時は、ステ
ップS89にて需要エージェント44のオブジェクトに
「任意」があるか判断し、無ければ、ステップS90に
てサブルーチンのエージェント分割を呼び出す。また、
あれば、ステップS91にて導出関係のエージェントが
あるか判断し、無ければ、ステップS92にてプログラ
ム開発要求サブルーチンをコールし、ステップS93に
てエラー(コードA1h)のメッセージ49をリンクし
ているクローズ側のエージェントに送信し、ステップS
94にて需要エージェントA1とのリンクを解除し終了
する。
【0088】ステップS91で導出関係のエージェント
があれば、ステップS95にて該エージェントの第2オ
ブジェント(OBJ)が「任意」か否かを判定し、「任
意」の時は、ステップS96にて市場エージェントリン
クにおいて市場エージェントA9の前方に市場エージェ
ントA10を相互リンクし、また、第1オブジェント(O
BJ)が「任意」の時は、ステップS97にて市場エー
ジェントリンクにおいて、市場エージェントA10の後方
に市場エージェントA9を相互リンクする。そして、最
後に、ステップS98にて、プログラム構成完了(コー
ドA4h)のメッセージ49をパイプP1経由で送信し
終了する。
【0089】図25は、エージェントを分割し、「任
意」のオブジェクトを含む仮想エージェントを作成し、
プログラムの導出を進める為のサブルーチンを示してい
る。なお、ここでは、図26に示すように、市場エージ
ェントをA0、A2、A4、A6、A9とし、需要エー
ジェントをA1、A3、A5、A7、A10とし、供給エ
ージェントをA8、A11、A12、A13とし、市場エージ
ェントA0を自分としたときの処理について述べる。
【0090】先ず、ステップS100にて、第1分割とし
て新たに市場エージェントA2を生成し、ステップS10
1にて、自分(市場エージェントA0)の前方に市場エ
ージェントA2を相互リンクし、ステップS102にて、
需要エージェント44をコピーして新たな需要エージェ
ントA3を生成し、ステップS103にて、該需要エージ
ェントA3の第2オブジェクトを「任意」にセットし、
ステップS104にて、生成した需要エージェントA3を
アクティブにする。
【0091】次に、ステップS105にて、第2分割とし
て新たに市場エージェントA4を生成し、ステップS10
6にて自分(市場エージェントA0)の後方に市場エー
ジェントA4を相互リンクさせ、ステップS107にて、
需要エージェント44をコピーして新たな需要エージェ
ントA5を生成し、ステップS108にて、この需要エー
ジェントA5の第1オブジェクトを「任意」にセット
し、生成した需要エージェントA5をアクティブにす
る。
【0092】この状態で、ステップS110にて、市場エ
ージェントA0は導出結果が出てプログラム構成完了
(コードA4h)のメッセージ49が来るのを待つ。そ
して、パイプP1からプログラム構成完了(コードA4
h)のメッセージ49が来ると、ステップS111にて、
変数Pに内部状態127のエージェント用の市場エージ
ェント間用のリンクテーブル140の前方リンクをセッ
トし、ステップS112にて、変数Pが示す市場エージェ
ント46にリンクする供給エージェントA12をコピー
して目的プログラムを格納する供給エージェントA13
を生成し、ステップS113にて、変数Pが示す市場エー
ジェント46にリンクする供給エージェント45からエ
ージェントプログラム121内のプログラム部品122
を取得し供給エージェントA13に渡し、上記処理を前
方リンクが後方リンクと等しくなるまで繰り返す。
【0093】この処理により目的とするプログラム部品
が供給エージェントA13内に生成される。そして、供
給エージェントA13内にプログラム部品が生成される
と、ステップS114にて供給エージェントA13にデー
タ入力完了(コードA3h)のメッセージ49を送信
し、ステップS115にて全てのエージェントにKill
要求(コード92h)のメッセージを送信して終了す
る。
【0094】図27は、オブジェクトに「任意」が含ま
れる仮想エージェントがマッチングしたときに呼び出さ
れる、仮想エージェント作成のサブルーチンを示してい
る。なお、ここでは、図28に示すように、市場エージ
ェントをA0、A3とし、需要エージェントをA1、A
4とし、供給エージェントをA2とし、市場エージェン
トA0を自分としたときの処理、並びに市場エージェン
トをA5、A8とし、需要エージェントをA6、A9と
し、供給エージェントをA7とし、市場エージェントA
5を自分としたときの処理について述べる。
【0095】先ず、ステップS120にて、新たな市場エ
ージェントA3又はA8を生成し、ステップS121に
て、需要エージェントA1又はA6をコピーし新たな需
要エージェントA4又はA9を生成する。そして、ステ
ップS122にて、第2オブジェクトが「任意」か否かを
判断する。例えば、需要エージェントA1の第2オブジ
ェクトが「任意」の場合、ステップS123にて、需要エ
ージェントA4の第1オブジェクトに供給エージェント
A2の第2オブジェクトをセットしてから市場エージェ
ントA3とリンクし、ステップS124にて、生成した市
場エージェントA3を自分(市場エージェントA0)の
前方に相互リンクさせる。
【0096】また、需要エージェントA6の第1オブジ
ェクトが「任意」の場合は、ステップS125にて、需要
エージェントA9の第2オブジェクトに供給エージェン
トA7の第1オブジェクトをセットしてから市場エージ
ェントA8とリンクし、ステップS126にて、生成した
市場エージェントA8を自分(市場エージェントA5)
の後方に相互リンクさせる。
【0097】図29は、ライフモード(1)134にお
けるCPU86が実行するプログラムの手順を示してい
る。先ず、ステップS131にて、市場エージェント46
はメッセージ49の待ちの状態にあり、ステップS132
にて、交換要求(コード93h)のメッセージ49を受
信した時は、ステップS133にて、要求されたリンクし
ているエージェントを渡し、ステップS134にて、要求
元がオープンリンクか判断する。
【0098】そして、オープンリンクでなければ、ステ
ップS135にて、エージェントを受けてリンクすること
で交換してステップS131に戻り、要求元がオープンリ
ンクの時は、ステップS136にて、自分がオープンにな
ったか判断し、オープンになった時は、ステップS137
にてライフモード1に移行する。また、オープンでない
時は、ステップS138にて、供給エージェント45の同
定判断をコールし、ステップS139にて、マッチングの
条件がまだ成立しているか判断し、OKであればステッ
プS131に戻り、OKでなければ、ステップS140にて、
MULTか判断し、MULTの時は、このままステップ
S137のライフモード1に移行して再度十分条件を成立
させる為の探索を継続し、また、MULTでない時は、
ステップS141にて、需要エージェント44のリンクを
解除し、ステップS137のライフモード1に移行する。
【0099】また、ステップS142にて、データ入力完
了(コードA3h)のメッセージ49を受信した時は、
ステップS143にて、需要エージェント44の内部状態
127内のプログラム部品用126に格納された入力デ
ータをリンクしている供給エージェント45に送信し、
これを全ての需要エージェント44を処理し終えるまで
繰り返し、処理が終了すると、ステップS144にて、需
要エージェント44の全てにKill要求(コード92
h)のメッセージを送信し、ステップS145にて、全て
の供給エージェント45にデータ入力完了(コードA3
h)のメッセージ49を送信して処理を終了する。
【0100】図30は市場エージェント46におけるイ
ンターフェースプログラム121の価値判断プログラム
129fの一例を示し、CPU86が実行するプログラ
ムの手順を示している。
【0101】このプログラムは、先ず、ステップS151
にて、価値を比較する対象値AとBを受け取り、この対
象値A、Bを比較し、AがBより大きい時は、ステップ
S152にて、対象値Aを返し、AがBを超えない時は、
ステップS153にて、対象値Bを返す。このプログラム
により市場エージェント46は複数のマッチングするエ
ージェント間において価値判断により選択を行え、ま
た、このプログラムをエージェント本体より分離しプロ
グラム部品の領域個別に用意することを可能としてい
る。
【0102】図31及び図32は、エージェントの価値
を算出する処理の一例であり、インターフェースプログ
ラム129の価値算出プログラム129eに記憶され、
CPU86が実行するプログラムの手順を示している。
図31は需要エージェント44の価値を算出する処理を
示しているが、この処理は本来必要では無く、スタート
して直ちにリターンとなるダミー処理になっている。
【0103】また、図32は供給エージェント45の価
値を算出する処理を示しているが、この処理は各種値引
方式毎に用意される。(a)は値引方式A用の処理で、ス
タートすると、ステップS154にて、エージェントデー
タ124における設定データ123の単品用値引き額を
返す。(b)は値引方式B用の処理で、スタートすると、
ステップS155にて、エージェントデータ124におけ
る設定データ123の値引き額を同じ設定データ123
のまとめ買い数量で除し、ステップS156にて、その結
果を返す。(c)は値引方式C用の処理で、スタートする
と、ステップS157にて、指定商品の単価をエージェン
トデータ124における設定データ123の商品単価の
合計で除し単価比重を求めてセットする。そして、ステ
ップS158にて、設定データ123の値引き額にセット
した単価比重を乗じた結果を返す。
【0104】図33は需要エージェント44用において
2つのエージェントが合体できるかを判断する処理の一
例であり、インターフェースプログラム121の合成判
断プログラム129cに記憶され、CPU86が実行す
るプログラムの手順を示している。なお、供給エージェ
ント45用の処理は必要無くダミーである。
【0105】需要エージェント44用では、先ず、ステ
ップS160にて、合成相手の需要エージェント44に内
部状態127のプログラム部品用126の記憶内容を要
求し、ステップS161にて、プログラム部品用126の
記憶内容を受信すると、ステップS162にて、自分の内
部状態127におけるプログラム部品用126の商品コ
ードと合成相手のものを比較し、一致した時は、ステッ
プS163にて、合成可能を応答し、また、一致しない時
は、ステップS164にて、合成不可を応答する。
【0106】図34は需要エージェント44用において
2つのエージェントを合体する処理の一例であり、イン
ターフェースプログラム121の合成処理プログラム1
29bに記憶され、CPU86が実行するプログラムの
手順を示している。なお、供給エージェント45用の処
理は必要無くダミーである。
【0107】需要エージェント44用では、先ず、ステ
ップS166にて、合成相手の需要エージェント44に内
部状態127のプログラム部品用126の記憶内容を要
求し、ステップS167にて、プログラム部品用126の
記憶内容を受信すると、ステップS168にて、自分の内
部状態127におけるプログラム部品用126の数量に
合成相手のものを加算する。
【0108】図35は供給エージェント45用におい
て、エージェントの需要と供給のマッチングを判断する
処理の一例であり、インターフェースプログラム121
の同定判断プログラム129dに記憶され、CPU86
が実行するプログラムの手順を示している。なお、需要
エージェント44用の処理は必要無くダミーである。
【0109】供給エージェント45用では各種値引方式
毎に用意される。(a)は、値引方式A用の処理で、先
ず、ステップS171にて、商品コードが一致するか判断
し、一致すれば、ステップS172にて、OKをリターン
し、また、一致しなければ、ステップS173にて、NG
をリターンする。(b)は値引方式B用の処理で、先ず、
ステップS174にて、商品コードが一致するか判断し、
一致すれば、ステップS175にて、数量が一致するか判
断し、これも一致すれば、ステップS176にて、OKを
リターンし、また、何れかが一致しなければ、ステップ
S177にて、NGをリターンする。
【0110】(c)は値引方式C用の処理で、先ず、ステ
ップS178にて、内部状態127におけるプログラム部
品用126の商品コードがエージェントデータ124に
おける設定データ12の商品コードに含まれるか判断
し、もし、含まれていなければ、ステップS179にて、
NGをリターンする。また、含まれていれば、ステップ
S180にて、それ以外の商品コードの需要エージェント
44が市場コンポーネント43に存在するか判断し、存
在していなければ、ステップS179にて、NGをリター
ンする。また、存在すれば、ステップS181にて、それ
らが市場エージェント46にリンクしているか判断し、
リンクしていれば、ステップS182にて、OKをリター
ンし、また、リンクしていなければ、ステップS183に
て、MULTをリターンする。
【0111】図36及び図37は、入力されたメッセー
ジ49に対しエージェントを適用して良いかどうか判断
する処理の一例であり、インターフェースプログラム1
29の適用判断プログラム129aに記憶され、CPU
86が実行するプログラムの手順を示している。図36
は需要エージェント44の判断処理を示しているが、先
ず、ステップS191にて、メッセージ49のデータ59
5内の商品コードを分析し適正なコードがセットされて
いるか判断し、セットされていれば、ステップS192に
て、適正な数量がセットされているか判断し、これもセ
ットされていれば、ステップS193にて、OKをリター
ンし、また、何れかでもセットされていなければ、ステ
ップS194にて、NGをリターンする。
【0112】また、図37は供給エージェント45の判
断処理を示しているが、この処理は各種値引方式毎に用
意される。(a)は値引方式A用の処理で、先ず、ステッ
プS201にて、値引テーブル111の値引方式Aのエン
トリーに対し、メッセージ49内のデータ595の商品
コードと一致するものがあるか検索し、ステップS202
にて、検索結果を判断し、一致を検索すると、ステップ
S203にて、エージェントのデータ部のプログラム部品
用に商品マスター例110の商品単価と値引テーブル例
111の値引額111dと値引対象数量111eをセッ
トし、ステップS204にて、OKをリターンし、また、
一致が検索されなければ、ステップS205にて、NGを
リターンする。
【0113】(b)は値引方式B用の処理で、先ず、ステ
ップS206にて、値引テーブル111の値引方式Bのエ
ントリーに対し、メッセージ49内のデータ595の商
品コードと一致するものがあるか検索し、ステップS20
7にて、検索結果を判断し、一致を検索すると、ステッ
プS208にて、エージェントのデータ部のプログラム部
品用に商品マスター例110の商品単価と値引テーブル
例111の値引額111dと値引対象数量111eをセ
ットし、ステップS209にて、OKをリターンし、ま
た、一致が検索されなければ、ステップS210にて、N
Gをリターンする。
【0114】(c)は値引方式C用の処理で、先ず、ステ
ップS211にて、値引テーブル111の値引方式Cのエ
ントリーに対し、メッセージ49内のデータ595の商
品コードを含んでいるものがあるか検索し、ステップS
212にて、検索結果を判断し、検索されれば、ステップ
S213にて、エージェントのデータ部のプログラム部品
用に商品マスター例110の商品単価と値引テーブル例
111の値引額111dと値引対象数量111eをセッ
トし、ステップS214にて、OKをリターンし、また、
検索されなければ、ステップS215にて、NGをリター
ンする。
【0115】図38は、POSターミナル80における
供給エージェント45のプログラム部品の一例であり、
エージェントプログラム121のプログラム部品122
に記憶され、CPU86が実行するプログラムの手順を
示している。なお、需要エージェント44用のプログラ
ム部品は必要無くダミーである。
【0116】供給エージェント45用では各種値引方式
毎に用意される。(a)は、値引方式A用の処理で、ステ
ップS221にて、値引き額を算出して内部状態127に
おけるプログラム部品用126の値引き額にセットし、
ステップS222にて、表示装置88への表示処理やプリ
ンタ93による印字処理等を行う。(b)は、値引方式B
用の処理で、ステップS223にて、値引き額を算出して
内部状態127におけるプログラム部品用126の値引
き額にセットし、ステップS224にて、表示装置88へ
の表示処理やプリンタ93による印字処理等を行う。
(c)は、値引方式C用の処理で、ステップS225にて、値
引き額を算出して内部状態127におけるプログラム部
品用126の値引き額にセットし、ステップS226に
て、表示装置88への表示処理やプリンタ93による印
字処理等を行う。このように、各値引方式における処理
手順は同じであり、異なる点は値引き額の算出方法、印
字や表示方法である。
【0117】図39は、POSターミナル80において
商品登録時の動作例をエージェントの相互作用を中心に
示したもので、顧客が購入した商品として、商品Aを3
個、商品Bを1個、商品Cを1個の場合を想定してい
る。この場合の、正しい登録処理は、商品Aと商品Bと
商品CのM&Mによる値引方式Cを1回、商品Aに対す
る単品値引である値引方式Aを2回適用して登録処理す
ることである。店側のキャッシャーは顧客の購入した商
品をバーコードスキャナ91を使用して商品に付された
バーコードを読み込ませることでPOSターミナル80
に商品コードをエントリーして登録処理する。そして、
商品登録処理の順序としては、例えば、商品A→商品B
→商品A→商品A→商品Cの順に行い、最後に現計キー
の操作を行って登録を完了することを仮定している。
【0118】先ず、商品Aの商品コードをエントリーす
ると、需要コンポーネント41に需要メッセージ49が
着信する。需要コンポーネント41は機能データベース
109からエージェントに関する情報を検索し、需要エ
ージェント(PLU1(1))44を生成する。この生成
された需要エージェント(PLU1(1))44は市場エ
ージェント46にMOVEし、市場コンポーネント43
にリンク要求を発行する。
【0119】リンク要求を受信した市場エージェント4
6はまず同一タイプがあるか検索し、この場合最初の登
録であり同一タイプは無いので需要エージェント44と
リンクし、ライフモード1に移行する。そして、マッチ
ングするエージェントを検索し、この場合もマッチング
するエージェントが無いので、エージェント要求(コー
ド10h)のメッセージ49を発行する。
【0120】このエージェント要求(コード10h)の
メッセージ49は市場コンポーネント43を経由し供給
コンポーネント42に送信される。供給コンポーネント
42はエージェント要求のメッセージ49を受信する
と、図15に示す機能データベース109からエージェ
ントに関する情報を検索し、この機能データベース10
9から3つの供給エージェント45に関する情報を得、
この各供給エージェント45(値引テーブル例111に
示したエージェント標識D1〜D5で識別する)を生成
する。すなわち、ここでは供給エージェントD1、D
4、D5を生成する。
【0121】各供給エージェント(D1、D4、D5)
45は適用判断プログラム129aをコールするが、値
引テーブル例111に示した如く、全ての値引方式が商
品Aに適用可能であり、よってこれらは市場コンポーネ
ント43にMOVEし、各々市場エージェント46とリ
ンクする。各市場エージェント46はそれぞれマッチン
グするエージェントを検索するが、供給エージェントD
1とリンクした市場エージェント46のみが同定判断で
マッチングしライフモード2に移行する。
【0122】次に、商品Bの商品コードをエントリーす
ると、需要エージェント(PLU2(1))44が生成さ
れ、上述した商品Aの場合と同様にマッチングするエー
ジェントが生成されてライフモード2に移行する。次
に、2個目の商品Aの商品コードをエントリーすると、
需要エージェント(PLU1(1))44が生成される
が、今度は前回とは異なり、リンク要求を受信した市場
エージェント46は同一タイプがあるか検索した時、同
一タイプを検出し、合成処理を行い、当該市場エージェ
ント46と需要エージェント44は消滅する。
【0123】次に、3個目の商品Aの商品コードをエン
トリーすると、需要エージェント(PLU1(1))44
が生成され、リンク要求を受信した市場エージェント4
6は同一タイプがあるか検索した時、同一タイプを検出
し、合成処理を行い、当該市場エージェント46と需要
エージェント44は消滅する。そして、結果として、商
品Aのエージェントの数量が「3」となる(PLU1
(3))。
【0124】この時点で供給エージェントD4における
マッチングも成立することになり、価値算出プログラム
による価値判断が行われ、供給エージェントD4による
値引き額¥16(¥50/3、なお、小数点以下切り捨
て処理)は供給エージェントD1による値引額¥10よ
り価値が高いという判断が下され、商品Aが3個の需要
情報は供給エージェントD4とリンクしライフモード2
に移行する。
【0125】次に、商品Cの商品コードをエントリーす
ると、需要エージェント(PLU3(1))44が生成さ
れ、一旦は供給エージェントD3とリンクしライフモー
ド2に移行するが、商品Aと商品Bと商品Cが市場コン
ポーネント43に揃うことになり、供給エージェントD
5の同定判断がOKとなり、価値判断で供給エージェン
トD5の値引き額¥33(¥100/3、なお、小数点
以下切り捨て処理)が高い為、供給エージェントD2、
D3、D4における需要エージェント44とのリンクは
開放され、需要エージェント44は供給エージェントD
5とリンクすることになる。なお、タイミングによって
は供給エージェントD5からの交換要求が先に来ること
もあり、この場合にはこの処理は発生しない。
【0126】供給エージェントD4から供給エージェン
トD5に移行する需要エージェント44は商品Aの1個
分であり、2個残ることになるが、図35の(b)のステ
ップS175の同定判断でNGとなる為、リンクは解除
され、解除された需要エージェント44は供給エージェ
ントD1と再度マッチングし、ライフモード2に移行す
る。
【0127】こうして、最終的に残ったライフモード2
のマッチングするエージェントから、適用される値引プ
ログラムは2個の商品Aに対する供給エージェントD1
と、商品Aと商品Bと商品CのM&Mに対する供給エー
ジェントD5の2つに決定され、需要エージェント44
の内部状態127におけるプログラム部品用126に記
憶された商品コードや数量は供給エージェント45の内
部状態127のプログラム部品用128にセットされ、
供給エージェント45は需要コンポーネント41にMO
VEし、プログラム部品を呼び出し実行して内部状態1
27のプログラム部品用128の入力データを処理する
ことで値引き処理が行われ、結果として商品Aの2個が
値引き額20円(10円×2個)と商品Aと商品Bと商
品CのM&Mの値引き額100円の合計値引額120円
がデータ処理結果(コード40h)のメッセージ49に
て応答される。
【0128】このように、POSターミナル80におい
て、商品の登録操作を行った時に、メッセージ49にて
登録された商品コードと数量を受信し、値引き方式を決
定し、値引き額を算出し、値引き処理を実行するととも
に、算出した値引き額をメッセージ49で送信する方法
を用いて、商品販売時点における商品の値引き額を確実
に決定することができる。
【0129】このように、POSターミナル80におい
てプログラムとしての基本的な処理実行機能を為すプロ
グラム部品、処理動作内容及び処理動作の対象となる動
作対象を予め機能データベース109に記憶するととも
に、需要コンポーネント41、供給コンポーネント42
及び市場コンポーネント43の3つの管理機構を設け、
需要コンポーネント41は所望する処理動作内容、動作
対象及び処理に必要なデータが記された情報を受信後、
その情報の処理動作内容、動作対象を基に機能データベ
ース109より検索して情報を記憶した需要エージェン
ト44を生成し、この生成した需要エージェント44を
市場コンポーネント43に移動させ、市場コンポーネン
ト43は需要エージェント44とリンクして相互作用の
仲介を行う市場エージェント46を生成し、この市場エ
ージェント46と需要エージェント44との相互作用に
より需要エージェント44に記憶された情報に適するプ
ログラム部品を要求するプログラム部品要求情報を供給
コンポーネント42に送信し、供給コンポーネント42
はプログラム部品要求情報を受信し、この受信したプロ
グラム部品要求情報に基づいて機能データベース109
から適するプログラム部品の候補を検索し、候補となる
プログラム部品を記憶した供給エージェント45を生成
し、この生成した供給エージェント45を市場コンポー
ネント43に移動させ、市場エージェント46により需
要エージェント44と供給エージェント45との最適な
組合わせを求め、この組合わせの相互作用により各種の
値引き処理を行うプログラムを自動的に生成し、この生
成したプログラムに基づいて登録した商品の値引き処理
ができる。
【0130】従って、多種多様な入出力条件からなる複
雑なプログラムを自動的に生成でき、これにより、プロ
グラム開発を容易にして生産性を向上でき、また、プロ
グラム仕様変更に対しても柔軟、かつ迅速に対処でき
る。また、この生成したプログラムを使用して各種の値
引き処理ができる。そして、登録した商品のデータと共
に値引き処理したデータをプリンタ93によりレシート
に印字出力したり、ファイルプロセッサ81に送信する
ことができる。また、生成したプログラム自体をファイ
ルプロセッサ81に送信することもできる。 (第2の実施の形態)なお、この実施の形態は本発明を
プリンタやファクシミリ等の画像処理装置に適用した場
合について述べる。図40は、画像処理装置140のハ
ードウェア構成例を示すブロック図である。CPU14
1はROM142に格納されたプログラム、あるいは、
記憶メディア143に記憶され外部記憶読取装置144
を用いて読込み、RAM145に記憶されたプログラム
を、前記RAM145の作業用記憶領域を用いて実行す
る。また、エラー等の表示を行う表示装置146、印刷
モードの設定等を入力するキーボード147、パーソナ
ルコンピュータ150とのデータの送受信を行う伝送コ
ントローラ148、印刷を行う印刷エンジン149を備
えており、前記CPU141は、パーソナルコンピュー
タ150から印刷データを受信し、この受信した印刷デ
ータを前記CPU141が印刷エンジン149で印刷で
きる画像データに変換し、この変換した印刷データを印
刷エンジン149に送信して印刷を行うようになってい
る。
【0131】図41は、機能データベース151の一例
であり、JPEGやBMPやラスター(RAS)等の画
像フォーマットに対する変換処理や、PDL(ページ記
述言語)と呼ばれる印刷情報を表現するプログラムを解
釈し画像を生成するインタープリタや、暗号処理を行う
プログラム部品群等がエントリーされている。
【0132】エントリーの内容は、目的種別151aに
は、供給、需要、市場のエージェントの種別が格納さ
れ、供給エージェントとしては複数格納され、需要及び
市場エージェントとしてはそれぞれ1つが格納されてい
る。アクション151bには各供給エージェント及び需
要エージェントに対応して「変換」を意味する定義コー
ドが格納され、市場エージェントに対しては定義コード
は格納されていない。
【0133】オブジェクト151cは第1オブジェクト
と第2オブジェクトからなるが、各供給エージェントの
第1オブジェクトと第2オブジェクトに対して「画像フ
ォーマット」を意味する各種定義コードが格納され、需
要エージェントについては特定できないため、「任意」
を意味する定義コードが格納され、また、市場エージェ
ントに対しては定義コードは格納されていない。なお、
任意とは検索時に無条件で条件が一致と判断される機能
である。
【0134】エージェント情報151dはインターフェ
ースプログラム、プログラム部品用データ及びプログラ
ム部品からなるが、インターフェースプログラムについ
ては市場エージェントにのみ「価値判断」を意味する定
義コードが格納され、各供給エージェント及び需要エー
ジェントには定義コードは格納されていない。また、プ
ログラム部品用データについては各供給エージェント、
需要エージェント及び市場エージェントのいずれについ
ても定義コードは格納されていない。また、プログラム
部品については各供給エージェント、需要エージェント
及び市場エージェントのそれぞれに対して画像処理プロ
グラムが格納されている。
【0135】このような構成の画像処理装置140は、
受信した印刷データを解析し画像生成を行うが、ここで
受信した印刷データ内の各種画像フォーマットを処理す
る過程において、各種画像の種別から、図42に示すコ
ンテンツ152を内容とするメッセージ49を生成し、
変換の基本的機能を為すプログラム部品から変換を行う
目的プログラムを動的に構成し、この構成した目的プロ
グラムをメッセージ4で送信する。画像形成装置140
は、構成した目的プログラムを実行することにより、印
刷データを生成する。
【0136】目的プログラムを動的に構成する手順は、
図43に示すように、生成したメッセージ49から需要
エージェントA1を生成し、この需要エージェントA1
とリンクした市場エージェントA0は、まず、マッチン
グする供給エージェントを検索し、なければ仮想エージ
ェントA3、A5を生成し導出を試みる。ここでは、仮
想エージェントA10、A17にて導出が成立し、すなわ
ち、プログラムが生成され、市場エージェントA0の市
場エージェント間リンクテーブル67をたどることで、
供給エージェントA6、A9、A15、A12からプログラ
ム部品を収集し、目的の変換プログラムが完成する。
【0137】このように、画像処理装置140において
も、プログラムとしての基本的な処理実行機能を為すプ
ログラム部品、処理動作内容及び処理動作の対象となる
動作対象を予めデータベースに記憶するとともに、需要
コンポーネント41、供給コンポーネント42及び市場
コンポーネント43の3つの管理機構を設け、需要コン
ポーネント41は所望する処理動作内容、動作対象及び
処理に必要なデータが記された情報を受信後、その情報
の処理動作内容、動作対象を基にデータベースより検索
して情報を記憶した需要エージェント44を生成し、こ
の生成した需要エージェント44を市場コンポーネント
43に移動させ、市場コンポーネント43は需要エージ
ェント44とリンクして相互作用の仲介を行う市場エー
ジェント46を生成し、この市場エージェント46と需
要エージェント44との相互作用により需要エージェン
ト44に記憶された情報に適するプログラム部品を要求
するプログラム部品要求情報を供給コンポーネント42
に送信し、供給コンポーネント42はプログラム部品要
求情報を受信し、この受信したプログラム部品要求情報
に基づいてデータベースから適するプログラム部品の候
補を検索し、候補となるプログラム部品を記憶した供給
エージェント45を生成し、この生成した供給エージェ
ント45を市場コンポーネント43に移動させ、市場エ
ージェント46により需要エージェント44と供給エー
ジェント45との最適な組合わせを求め、この組合わせ
の相互作用により各種の値引き処理を行うプログラムを
自動的に生成し、この生成したプログラムに基づいて印
刷データを画像データに変換し印刷エンジン149にて
印刷出力するという処理ができる。従って、この実施の
形態においても前述した第1の実施の形態と同様の作用
効果が得られるものである。 (第3の実施の形態)なお、この実施の形態は本発明を
汎用のプログラム開発支援装置に適用した場合について
述べる。図44は、プログラム開発支援装置の基本構成
を示すブロック図である。この装置は、最低限CPU、
ROM、RAM、入力手段、出力手段、記憶メディア及
び外部記憶読取装置、伝送コントローラのハードウェア
により構成されている。
【0138】このプログラム開発支援装置は、需要コン
ポーネント41、供給コンポーネント42、市場コンポ
ーネント43、需要エージェント44、供給エージェン
ト45、市場エージェント46、機能データベース4
7、メッセージ処理手段48、情報の入出力媒体である
メッセージ49で構成されるプログラム自動生成装置5
0と、すでに開発済みのプログラム部品161を前記機
能データベース47に登録するプログラム部品追加手段
162と、利用者が作成したいプログラム仕様の内容を
この装置に入力しプログラム出力要求(コード02h)
のメッセージ49を生成し需要コンポーネント41に送
信するプログラム作成指示手段163と、需要コンポー
ネント41にて生成されたプログラム部品を含んだプロ
グラム構成結果(コード41h)のメッセージ49を受
信し、所定の方法で成果物を納めるプログラム納品手段
164と、プログラム開発要求(コード04h)のメッ
セージ49を受信すると、人間が可読な形式でレポート
を出力するプログラム作成要求出力手段165とで構成
されている。
【0139】前記プログラム部品追加手段162は、具
体的には、記憶メディアや伝送コントローラを使用して
プログラム部品を読込み、アクションやオブジェクトを
定義し前記機能データベース47に登録する処理を行
う。前記プログラム作成指示手段163は、具体的に
は、入力手段であるキーボードや音声入力装置を用いて
所定のアクションやオブジェクトの情報を入力したり、
自然言語を入力し分析することでアクションやオブジェ
クトの情報を生成する処理を行う。
【0140】前記プログラム作成要求出力手段165
は、図45に示すように、ステップS231にて、プログ
ラム開発要求(コード04h)のメッセージ49を受信
すると、ステップS232にて、受信したメッセージを人
間が可読な形式に変換し、ステップS233にて、印刷や
表示や電子メールなど所定の方法で、例えば、図42に
示すようなプログラム作成要求レポートを出力する。こ
れにより、プログラムの生成に失敗した情報は迅速に出
力されて新たなプログラムの需要をいち早く察知するこ
とができる。
【0141】このように、プログラム開発支援装置にお
いてプログラムとしての基本的な処理実行機能を為すプ
ログラム部品、処理動作内容及び処理動作の対象となる
動作対象を予め機能データベース47に記憶し、また、
プログラム部品追加手段162によっても開発済みのプ
ログラム部品を機能データベース47に記憶し、プログ
ラム作成指示手段163により利用者が作成したいプロ
グラム仕様の内容を需要コンポーネント41に送信する
ことにより、需要コンポーネント41は、受信した情報
の処理動作内容、動作対象を基に機能データベース47
より検索して情報を記憶した需要エージェント44を生
成し、この生成した需要エージェント44を市場コンポ
ーネント43に移動させ、市場コンポーネント43は、
需要エージェント44とリンクして相互作用の仲介を行
う市場エージェント46を生成し、この市場エージェン
ト46と需要エージェント44との相互作用により需要
エージェント44に記憶された情報に適するプログラム
部品を要求するプログラム部品要求情報を供給コンポー
ネント42に送信し、供給コンポーネント42は、プロ
グラム部品要求情報を受信し、この受信したプログラム
部品要求情報に基づいて機能データベース109から適
するプログラム部品の候補を検索し、候補となるプログ
ラム部品を記憶した供給エージェント45を生成し、こ
の生成した供給エージェント45を市場コンポーネント
43に移動させ、市場エージェント46により需要エー
ジェント44と供給エージェント45との最適な組合わ
せを求め、この組合わせの相互作用により各種の値引き
処理を行うプログラムを自動的に生成し、この生成した
プログラムをプログラム納品手段164によりプログラ
ム部品として納め、また、プログラムの生成に失敗した
場合にはプログラム作成要求出力手段165によりプロ
グラム作成要求レポートを出力できる。
【0142】従って、多種多様な入出力条件からなる複
雑なプログラムを自動的に生成でき、これにより、プロ
グラム開発を容易にして生産性を向上でき、また、プロ
グラム仕様変更に対しても柔軟、かつ迅速に対処でき、
さらに、汎用的なプログラム開発を支援できる。また、
プログラム生成に失敗した場合にはそれをプログラム作
成要求レポートとして直ちに知らせることで新たなプロ
グラムの需要を迅速に察知できる。
【0143】
【発明の効果】請求項1乃至7記載の発明によれば、多
種多様な入出力条件からなる複雑なプログラムを自動的
に生成でき、これにより、プログラム開発を容易にして
生産性を向上でき、また、プログラム仕様変更に対して
も柔軟、かつ迅速に対処できるプログラム自動生成方法
を提供できる。また、請求項8記載の発明によれば、多
種多様な入出力条件からなる複雑なプログラムを自動的
に生成し、この生成したプログラムを使用してデータ処
理ができるデータ処理方法を提供できる。
【0144】また、請求項9乃至19記載の発明によれ
ば、多種多様な入出力条件からなる複雑なプログラムを
自動的に生成でき、これにより、プログラム開発を容易
にして生産性を向上でき、また、プログラム仕様変更に
対しても柔軟、かつ迅速に対処できるプログラム自動生
成装置を提供できる。また、請求項20記載の発明によ
れば、多種多様な入出力条件からなる複雑なプログラム
を自動的に生成し、この生成したプログラムを使用して
データ処理ができるデータ処理装置を提供できる。
【0145】さらに、請求項21及び22記載の発明に
よれば、コンピュータに対して多種多様な入出力条件か
らなる複雑なプログラムを自動的に生成させることがで
き、これにより、コンピュータによるプログラム開発を
容易にして生産性を向上でき、また、プログラム仕様変
更に対しても柔軟、かつ迅速に対処できるプログラム自
動生成プログラムを記録したコンピュータ読取り可能な
記録媒体を提供できる。
【図面の簡単な説明】
【図1】 本発明の基本概念を説明するための図。
【図2】 本発明の基本概念を説明するための図。
【図3】 本発明の基本構成要素を示すブロック図。
【図4】 本発明の基本構成要素を示す他の形態を示す
ブロック図。
【図5】 本発明のプログラム自動生成装置のハードウ
ェア構成要素を示すブロック図。
【図6】 本発明に使用するメッセージ構成要素を示す
図。
【図7】 本発明に使用するエージェント構成要素を示
す図。
【図8】 本発明に使用するコンポーネント構成要素を
示す図。
【図9】 本発明に使用する機能データベースの構成を
示す図。
【図10】本発明に使用するコンポーネント構成要素に
おけるコンポーネント管理プログラムのコンポーネント
生成プロセスを示す流れ図。
【図11】本発明の第1の実施の形態を示すPOSシス
テムのブロック図。
【図12】同実施の形態におけるPOSターミナルの構
成を示すブロック図。
【図13】同実施の形態におけるファイルプロセッサの
構成を示すブロック図。
【図14】同実施の形態におけるPOSターミナルが使
用する値引き方式を説明するための図。
【図15】同実施の形態における機能データベースの構
成を示す図。
【図16】同実施の形態における商品マスタの設定情報
例を示す図。
【図17】同実施の形態における値引きテーブルの設定
情報例を示す図。
【図18】同実施の形態のPOSターミナルにおけるエ
ージェント構成要素を示す図。
【図19】同実施の形態における需要、供給エージェン
トの構成プロセスを示す流れ図。
【図20】同実施の形態の市場エージェントにおける動
作の状態遷移をライフサイクルとして表現した図。
【図21】同実施の形態の市場エージェントにおけるラ
イフモード(0)の構成プロセスを示す流れ図。
【図22】同実施の形態の市場エージェントにおける状
態を説明するための図。
【図23】同実施の形態の市場エージェントにおけるラ
イフモード(1)の構成プロセスを示す流れ図。
【図24】同実施の形態の市場エージェントにおけるラ
イフモード(1)の状態を説明するための図。
【図25】同実施の形態におけるエージェント分割のサ
ブルーチンを示す流れ図。
【図26】同実施の形態におけるエージェント分割を説
明するための図。
【図27】同実施の形態における仮想エージェント作成
のサブルーチンを示す流れ図。
【図28】同実施の形態における仮想エージェント作成
を説明するための図。
【図29】同実施の形態の市場エージェントにおけるラ
イフモード(2)の構成プロセスを示す流れ図。
【図30】同実施の形態における市場エージェント用価
値判断プログラムによる処理を示す流れ図。
【図31】同実施の形態における需要エージェント用価
値算出のダミー処理を示す流れ図。
【図32】同実施の形態における供給エージェント用価
値算出プログラムによる各種値引き処理を示す流れ図。
【図33】同実施の形態における需要エージェント用合
成判断プログラムによる処理を示す流れ図。
【図34】同実施の形態における需要エージェント用合
成処理プログラムによる処理を示す流れ図。
【図35】同実施の形態における供給エージェント用同
定判断プログラムによる処理を示す流れ図。
【図36】同実施の形態における需要エージェント用適
用判断プログラムによる処理を示す流れ図。
【図37】同実施の形態における供給エージェント用適
用判断プログラムによる処理を示す流れ図。
【図38】同実施の形態における供給エージェントのプ
ログラム部品例を示す流れ図。
【図39】同実施の形態のPOSターミナルにおいて商
品登録時の動作例をエージェントの相互作用を中心にし
て説明するための図。
【図40】本発明の第2の実施の形態を示す画像処理装
置のブロック図。
【図41】同実施の形態における機能データベースの構
成を示す図。
【図42】同実施の形態におけるメッセージのコンテン
ツを示す図。
【図43】同実施の形態において目的プログラムを動的
に構成する手順を説明するための図。
【図44】本発明の第3の実施の形態におけるプログラ
ム開発支援装置の基本構成を示すブロック図。
【図45】同実施の形態のプログラム作成要求出力手段
によるプログラム作成要求出力処理を示す流れ図。
【図46】同実施の形態のプログラム作成要求出力手段
による出力するプログラム作成要求レポート例を示す
図。
【符号の説明】
41…需要コンポーネント 42…供給コンポーネント 43…市場コンポーネント 44…需要エージェント 45…供給エージェント 46…市場エージェント 47…機能データベース 48…メッセージ処理手段 49…メッセージ 50…プログラム自動生成装置

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 プログラムとしての基本的な処理実行機
    能を為すプログラム部品、処理動作内容及び処理動作の
    対象となる動作対象を予めデータベースに記憶するとと
    もに、需要コンポーネント、供給コンポーネント及び市
    場コンポーネントの3つの管理機構を設け、 前記需要コンポーネントは、所望する処理動作内容、動
    作対象及び処理に必要なデータが記された情報を受信
    後、その情報の処理動作内容、動作対象を基に前記デー
    タベースより検索して情報を記憶した需要エージェント
    を生成し、この生成した需要エージェントを前記市場コ
    ンポーネントに移動させ、 前記市場コンポーネントは、前記需要エージェントとリ
    ンクして相互作用の仲介を行う市場エージェントを生成
    し、この市場エージェントと前記需要エージェントとの
    相互作用により前記需要エージェントに記憶された情報
    に適するプログラム部品を要求するプログラム部品要求
    情報を前記供給コンポーネントに送信し、 前記供給コンポーネントは、プログラム部品要求情報を
    受信し、この受信したプログラム部品要求情報に基づい
    て前記データベースから適するプログラム部品の候補を
    検索し、候補となるプログラム部品を記憶した供給エー
    ジェントを生成し、この生成した供給エージェントを前
    記市場コンポーネントに移動させ、 前記市場エージェントにより、前記需要エージェントと
    供給エージェントとの最適な組合わせを求め、この組合
    わせの相互作用により所望の処理機能を有するプログラ
    ムを生成し、この生成したプログラムを出力することを
    特徴とするプログラム自動生成方法。
  2. 【請求項2】 需要エージェントと供給エージェントと
    の相互作用は、少なくともエージェントが適用できるか
    判断する手順と、エージェントの価値を算出する手順
    と、各エージェントが合体できるか判断する手順と、各
    エージェントを合体させる手順と、需要エージェントと
    供給エージェントとの同定を判断する手順からなること
    を特徴とする請求項1記載のプログラム自動生成方法。
  3. 【請求項3】 市場エージェントにおける相互作用は、
    少なくとも複数の同定候補からリンクする候補を選択す
    る価値判断手順を有することを特徴とする請求項1記載
    のプログラム自動生成方法。
  4. 【請求項4】 生成された所望の処理機能を有するプロ
    グラムを新たなプログラム部品としてデータベースに登
    録することを特徴とする請求項1記載のプログラム自動
    生成方法。
  5. 【請求項5】 供給コンポーネントがデータベースから
    需要エージェントに適するプログラム部品候補を検索で
    きなかった場合、市場エージェントはリンクしている需
    要エージェントを2つに分割し、それぞれ処理動作内容
    及び動作対象を割り付けた新たな需要エージェントを生
    成し、各需要エージェントの処理動作内容及び動作対象
    に対して導出関係が成立したとき、所望の処理機能を有
    するプログラムを生成することを特徴とする請求項1記
    載のプログラム自動生成方法。
  6. 【請求項6】 供給コンポーネントがデータベースから
    需要エージェントに適するプログラム部品候補を検索で
    きなかった場合、市場エージェントは、リンクしている
    需要エージェントを2つに分割し、それぞれ処理動作内
    容及び動作対象を割り付けた新たな需要エージェントを
    生成し、この新たに生成された需要エージェントとリン
    クした市場エージェントは、先ず、導出関係が成立する
    需要エージェントを探索し、導出できればプログラムが
    生成されたと判断し、導出できなければ処理動作内容と
    動作対象が部分的に一致するプログラム部品を保持する
    供給エージェントを探索し、探索した解候補の供給エー
    ジェントと需要エージェントをリンクした市場エージェ
    ントは、リンクしている需要エージェントをコピーする
    ことで新たな仮想エージェントを生成し、解候補の供給
    エージェントの未参照の処理動作内容と動作対象を探索
    する条件としてセットしてから再度導出関係が成立する
    需要エージェントを探索し、これを繰返して各需要エー
    ジェントの処理動作内容、動作対象に対して導出関係が
    成立したとき、所望の処理機能を有するプログラムが生
    成されたと判断することを特徴とする請求項1記載のプ
    ログラム自動生成方法。
  7. 【請求項7】 所望の処理機能を有するプログラムの生
    成に失敗したとき、この失敗した内容を出力することを
    特徴とする請求項1記載のプログラム自動生成方法。
  8. 【請求項8】 プログラムとしての基本的な処理実行機
    能を為すプログラム部品、処理動作内容及び処理動作の
    対象となる動作対象を予めデータベースに記憶するとと
    もに、需要コンポーネント、供給コンポーネント及び市
    場コンポーネントの3つの管理機構を設け、 前記需要コンポーネントは、所望する処理動作内容、動
    作対象及び処理に必要なデータが記された情報を受信
    後、その情報の処理動作内容、動作対象を基に前記デー
    タベースより検索して情報を記憶した需要エージェント
    を生成し、この生成した需要エージェントを前記市場コ
    ンポーネントに移動させ、 前記市場コンポーネントは、前記需要エージェントとリ
    ンクして相互作用の仲介を行う市場エージェントを生成
    し、この市場エージェントと前記需要エージェントとの
    相互作用により前記需要エージェントに記憶された情報
    に適するプログラム部品を要求するプログラム部品要求
    情報を前記供給コンポーネントに送信し、 前記供給コンポーネントは、プログラム部品要求情報を
    受信し、この受信したプログラム部品要求情報に基づい
    て前記データベースから適するプログラム部品の候補を
    検索し、候補となるプログラム部品を記憶した供給エー
    ジェントを生成し、この生成した供給エージェントを前
    記市場コンポーネントに移動させ、 前記市場エージェントにより、前記需要エージェントと
    供給エージェントとの最適な組合わせを求め、この組合
    わせの相互作用により所望の処理機能を有するプログラ
    ムを生成し、この生成したプログラムを用いて前記需要
    エージェントにあるデータを処理し、その結果を出力す
    ることを特徴とするデータ処理方法。
  9. 【請求項9】 プログラムとしての基本的な処理実行機
    能を為すプログラム部品、処理動作内容及び処理動作の
    対象となる動作対象を記憶するデータベースと、所望す
    る処理動作内容、動作対象及び処理に必要なデータが記
    された情報を受信後、その情報の処理動作内容、動作対
    象を基に前記データベースより検索して情報を記憶した
    需要エージェントを生成し、この生成した需要エージェ
    ントの移動を行う需要コンポーネントと、前記データベ
    ースから需要エージェントに記憶された情報に適するプ
    ログラム部品の候補を検索し、候補となるプログラム部
    品が記憶された供給エージェントを生成し、この生成し
    た供給エージェントの移動を行う供給コンポーネント
    と、前記需要エージェントと供給エージェントの相互作
    用の仲介を行う市場エージェントの生成及びこの市場エ
    ージェントの管理を行う市場コンポーネントとを備え、 前記需要コンポーネントは、生成した需要エージェント
    を前記市場コンポーネントに移動させ、前記市場コンポ
    ーネントは、生成した市場エージェントを需要エージェ
    ントとリンクし、この需要エージェントとの相互作用に
    よりこの需要エージェントに記憶された情報に適するプ
    ログラム部品を要求するプログラム部品要求情報を前記
    供給コンポーネントに送信し、前記供給コンポーネント
    は、プログラム部品要求情報を受信するとこのプログラ
    ム部品要求情報に基づいて前記供給エージェントの生成
    を行い、この生成した供給エージェントを前記市場コン
    ポーネントに移動させ、 前記市場コンポーネントが生成した市場エージェント
    は、前記需要エージェントと供給エージェントとの最適
    な組合わせを求め、この組合わせの相互作用により所望
    の処理機能を有するプログラムを生成し、この生成した
    プログラムを出力することを特徴とするプログラム自動
    生成装置。
  10. 【請求項10】 需要コンポーネント、供給コンポーネ
    ント及び市場コンポーネントは、受信した所望する処理
    動作内容、動作対象及び処理に必要なデータに基づい
    て、データベースを検索して前記各コンポーネントに対
    応するエージェントを生成するエージェント生成手段
    と、このエージェント生成手段が生成した複数のエージ
    ェントを管理するエージェント管理手段と、前記各コン
    ポーネントで管理する前記各エージェントの実行を行う
    エージェント実行手段と、前記各エージェントを他のコ
    ンポーネントへ移動させるエージェント移動手段を備え
    たことを特徴とする請求項9記載のプログラム自動生成
    装置。
  11. 【請求項11】 需要エージェント、供給エージェン
    ト、市場エージェントは、プログラムカウンタ値、スタ
    ック、ヒープ等の動的な情報を記憶する内部状態保持領
    域を備え、需要コンポーネント、供給コンポーネント、
    市場コンポーネントは、前記需要エージェント、供給エ
    ージェント、市場エージェントをタスクや計算機の動作
    環境に依存せずに移動させることを特徴とする請求項9
    記載のプログラム自動生成装置。
  12. 【請求項12】 需要エージェント、供給エージェント
    及び市場エージェントは、自身の動作を記述したエージ
    ェントメインプログラム、他のプログラムと情報を交換
    するインターフェースプログラム並びに他のプログラム
    に供給するプログラム部品を記憶するエージェントプロ
    グラム記憶領域と、動作中も内容が変化しない静的なデ
    ータを記憶するエージェントデータ記憶領域と、動作中
    に内容が変化する動的なデータを記憶するエージェント
    内部状態記憶領域を備えたことを特徴とする請求項9記
    載のプログラム自動生成装置。
  13. 【請求項13】 エージェント内部状態記憶領域は、エ
    ージェントのリンク状態を管理するエージェントリンク
    テーブルを有することを特徴とする請求項12記載のプ
    ログラム自動生成装置。
  14. 【請求項14】 需要エージェント、供給エージェント
    及び市場エージェントは、エージェントが適用できるか
    否かを判断するエージェント適用判断手段と、2つのエ
    ージェントが合成できるか否かを判断するエージェント
    合成判断手段と、2つのエージェントを合成するエージ
    ェント合成手段と、前記需要エージェントと供給エージ
    ェントの同定を判断するエージェント同定判断手段と、
    エージェントの価値を算出するエージェント価値算出手
    段と、複数の同定候補からリンクするエージェント候補
    を選択するエージェント価値判断手段とを備え、前記各
    手段を実行するプログラムをインターフェースプログラ
    ムの所定領域に記憶することを特徴とする請求項9記載
    のプログラム自動生成装置。
  15. 【請求項15】 市場エージェントは、需要エージェン
    トと供給エージェントとのリンク状態に応じた状態遷移
    能力を備えたことを特徴とする請求項9記載のプログラ
    ム自動生成装置。
  16. 【請求項16】 さらに、生成したプログラムをデータ
    ベースに新たなプログラム部品として登録するプログラ
    ム部品登録手段を備えたことを特徴とする請求項9記載
    のプログラム自動生成装置。
  17. 【請求項17】 市場エージェントは、リンクしている
    需要エージェントを2つに分割し、それぞれ処理動作内
    容、動作対象を割り付けた新たな需要エージェントを生
    成する需要エージェント分割手段と、この分割手段にて
    分割した需要エージェントに記憶した処理動作内容、動
    作対象の導出関係が成立することで所望のプログラムが
    完成したことを検知するエージェント導出検知手段とを
    備えたことを特徴とする請求項9記載のプログラム自動
    生成装置。
  18. 【請求項18】 市場エージェントは、リンクしている
    需要エージェントを2つに分割し、それぞれ処理動作内
    容、動作対象を割り付けた新たな需要エージェントを生
    成する需要エージェント分割手段と、この分割手段にて
    分割した需要エージェントが仮説的に解を推論するため
    の仮想エージェントを作成する仮想エージェント作成手
    段と、この仮想エージェント作成手段にて作成した仮想
    エージェントに記憶した処理動作内容、動作対象の導出
    関係が成立することで所望のプログラムが完成したこと
    を検知するエージェント導出検知手段とを備えたことを
    特徴とする請求項9記載のプログラム自動生成装置。
  19. 【請求項19】 データベースは、需要エージェント用
    か供給エージェント用か市場エージェント用かの目的種
    別を記憶する目的種別記憶手段と、プログラム部品の処
    理動作内容を示すアクション記憶手段と、プログラム部
    品の処理動作を行う対象を示すオブジェクト記憶手段
    と、エージェントを構成するためのインターフェースプ
    ログラム記憶手段と、プログラム部品が用いる静的なデ
    ータを記憶するプログラム部品用データ記憶手段と、プ
    ログラム部品を記憶するプログラム部品記憶手段とを備
    えたことを特徴とする請求項9記載のプログラム自動生
    成装置。
  20. 【請求項20】 プログラムとしての基本的な処理実行
    機能を為すプログラム部品、処理動作内容及び処理動作
    の対象となる動作対象を記憶するデータベースと、所望
    する処理動作内容、動作対象及び処理に必要なデータが
    記された情報を受信後、その情報の処理動作内容、動作
    対象を基に前記データベースより検索して情報を記憶し
    た需要エージェントを生成し、この生成した需要エージ
    ェントの移動を行う需要コンポーネントと、前記データ
    ベースから需要エージェントに記憶された情報に適する
    プログラム部品の候補を検索し、候補となるプログラム
    部品が記憶された供給エージェントを生成し、この生成
    した供給エージェントの移動を行う供給コンポーネント
    と、前記需要エージェントと前記供給エージェントの相
    互作用の仲介を行う市場エージェントの生成及びこの市
    場エージェントの管理を行う市場コンポーネントとを備
    え、 前記需要コンポーネントは、生成した需要エージェント
    を前記市場コンポーネントに移動させ、前記市場コンポ
    ーネントは、生成した市場エージェントを需要エージェ
    ントとリンクし、この需要エージェントとの相互作用に
    よりこの需要エージェントに記憶された情報に適するプ
    ログラム部品を要求するプログラム部品要求情報を前記
    供給コンポーネントに送信し、前記供給コンポーネント
    は、プログラム部品要求情報を受信するとこのプログラ
    ム部品要求情報に基づいて前記供給エージェントの生成
    を行い、この生成した供給エージェントを前記市場コン
    ポーネントに移動させ、 前記市場エージェントにより、前記需要エージェントと
    供給エージェントとの最適な組合わせを求め、この組合
    わせの相互作用により所望の処理機能を有するプログラ
    ムを生成し、この生成したプログラムを用いて前記需要
    エージェントに記憶したデータを処理し、この処理した
    結果を出力することを特徴とするデータ処理装置。
  21. 【請求項21】 プログラムとしての基本的な処理実行
    機能をなすプログラム部品、処理動作内容、処理動作を
    行う動作対象を予めデータベースへ記憶するステップ、
    所望する処理機能の処理動作内容及び動作対象、処理に
    必要な情報をインプットするステップ、このインプット
    された情報に基づいて前記データベースを検索し、検索
    結果により情報を記憶した需要エージェントを生成する
    ステップ、生成した需要エージェントとリンクして相互
    作用の仲介を行う市場エージェントを生成するステッ
    プ、生成した需要エージェントを市場コンポーネントに
    移動させるステップ、市場エージェントと需要エージェ
    ントとの相互作用により前記需要エージェントに記憶さ
    れた情報に適するプログラム部品を要求するプログラム
    部品要求情報を送信するステップ、受信したプログラム
    部品要求情報に基づいて前記データベースから適するプ
    ログラム部品の候補を検索するステップ、候補となるプ
    ログラム部品が記憶された供給エージェントを生成する
    ステップ、市場エージェントが需要エージェントに最適
    なプログラム部品を記憶した供給エージェントを検索
    し、最適な組合わせを求めるステップ、最適な需要エー
    ジェントと供給エージェントとの相互作用により所望の
    処理機能を有するプログラムを生成するステップ、この
    生成したプログラムを出力するステップを実行させるた
    めのプログラム自動生成プログラムを記録したコンピュ
    ータ読取り可能な記録媒体。
  22. 【請求項22】 プログラムとしての基本的な処理実行
    機能をなすプログラム部品、処理動作内容、処理動作を
    行う動作対象を予めデータベースへ記憶するステップ、
    所望する処理機能の処理動作内容及び動作対象、処理に
    必要な情報をインプットするステップ、このインプット
    された情報に基づいて前記データベースを検索し、検索
    結果により情報を記憶した需要エージェントを生成する
    ステップ、生成した需要エージェントとリンクして相互
    作用の仲介を行う市場エージェントを生成するステッ
    プ、生成した需要エージェントを市場コンポーネントに
    移動させるステップ、市場エージェントと需要エージェ
    ントとの相互作用により前記需要エージェントに記憶さ
    れた情報に適するプログラム部品を要求するプログラム
    部品要求情報を送信するステップ、受信したプログラム
    部品要求情報に基づいて前記データベースから適するプ
    ログラム部品の候補を検索するステップ、候補となるプ
    ログラム部品が記憶された供給エージェントを生成する
    ステップ、市場エージェントが需要エージェントに最適
    なプログラム部品を記憶した供給エージェントを検索
    し、最適な組合わせを求めるステップ、最適な需要エー
    ジェントと供給エージェントとの相互作用により所望の
    処理機能を有するプログラムを生成するステップ、この
    生成したプログラムを用いて前記需要エージェントにあ
    るデータを処理するとともにこの処理した結果を出力す
    るステップを実行させるためのプログラム自動生成プロ
    グラムを記録したコンピュータ読取り可能な記録媒体。
JP11022136A 1999-01-29 1999-01-29 プログラム自動生成方法及びこの方法を使用したデータ処理方法並びにプログラム自動生成装置及びデータ処理装置並びにプログラム自動生成プログラムを記録した記録媒体 Pending JP2000222196A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11022136A JP2000222196A (ja) 1999-01-29 1999-01-29 プログラム自動生成方法及びこの方法を使用したデータ処理方法並びにプログラム自動生成装置及びデータ処理装置並びにプログラム自動生成プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11022136A JP2000222196A (ja) 1999-01-29 1999-01-29 プログラム自動生成方法及びこの方法を使用したデータ処理方法並びにプログラム自動生成装置及びデータ処理装置並びにプログラム自動生成プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2000222196A true JP2000222196A (ja) 2000-08-11

Family

ID=12074483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11022136A Pending JP2000222196A (ja) 1999-01-29 1999-01-29 プログラム自動生成方法及びこの方法を使用したデータ処理方法並びにプログラム自動生成装置及びデータ処理装置並びにプログラム自動生成プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2000222196A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017534108A (ja) * 2014-09-26 2017-11-16 オラクル・インターナショナル・コーポレイション 推薦されるデータ変換および修復のための宣言型言語およびビジュアライゼーションシステム
US10915233B2 (en) 2014-09-26 2021-02-09 Oracle International Corporation Automated entity correlation and classification across heterogeneous datasets
US11379506B2 (en) 2014-09-26 2022-07-05 Oracle International Corporation Techniques for similarity analysis and data enrichment using knowledge sources

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017534108A (ja) * 2014-09-26 2017-11-16 オラクル・インターナショナル・コーポレイション 推薦されるデータ変換および修復のための宣言型言語およびビジュアライゼーションシステム
US10891272B2 (en) 2014-09-26 2021-01-12 Oracle International Corporation Declarative language and visualization system for recommended data transformations and repairs
US10915233B2 (en) 2014-09-26 2021-02-09 Oracle International Corporation Automated entity correlation and classification across heterogeneous datasets
US10976907B2 (en) 2014-09-26 2021-04-13 Oracle International Corporation Declarative external data source importation, exportation, and metadata reflection utilizing http and HDFS protocols
US11379506B2 (en) 2014-09-26 2022-07-05 Oracle International Corporation Techniques for similarity analysis and data enrichment using knowledge sources
US11693549B2 (en) 2014-09-26 2023-07-04 Oracle International Corporation Declarative external data source importation, exportation, and metadata reflection utilizing HTTP and HDFS protocols

Similar Documents

Publication Publication Date Title
Kretschmer et al. Knowledge-based design for assembly in agile manufacturing by using Data Mining methods
US20130132296A1 (en) Networked business object sharing
CN102446074B (zh) 使用印刷数据的功能扩展方法、功能扩展装置以及记录介质
CN112598434B (zh) 一种数据采集方法、装置及商品发布方法
WO2024022303A1 (zh) 基于rpa和ai实现ia的单据审批方法、装置、设备及介质
KR20190128293A (ko) 어플리케이션을 이용한 재고 상품 처리 장치 및 그 방법
CN109360092A (zh) 交易节点配置方法、装置及计算机设备
JP7235119B2 (ja) 処理装置、会計装置、処理方法及びプログラム
US20080028057A1 (en) System and method to facilitate design and operation of event-driven, embedded solutions
JP2021056972A (ja) 製造発注支援装置、方法およびプログラム
CN110276660A (zh) 一种配货方法、装置及其系统
US8024734B2 (en) Enabling a designer to specify workflows to process various results of execution of transactions
JP2000222196A (ja) プログラム自動生成方法及びこの方法を使用したデータ処理方法並びにプログラム自動生成装置及びデータ処理装置並びにプログラム自動生成プログラムを記録した記録媒体
JP2006277046A (ja) 電子商取引システム、電子商取引処理方法およびプログラム
CN108022067A (zh) 一种业务处理方法和装置
JPH1139364A (ja) 店舗デザイン支援システム並びに店舗デザイン支援プログラムを記憶したコンピュータ読み出し可能なプログラム記憶媒体
CN110531967B (zh) 代码生成方法和代码生成装置
CN107194645A (zh) 厂商产品销售自动发货方法及系统
CN116681363A (zh) 订单信息的处理方法及设备
CN111435484A (zh) 任务协同处理方法、装置、设备和系统
JP2001306873A (ja) 電子取引システム
JPH1125358A (ja) 電子価格ラベルシステムにおける価格ルックアップファイルの修正装置およびその方法
TW202004588A (zh) 商品庫存資料建構與查詢方法及庫存管理伺服器
JP2023025886A (ja) 顧客管理システム、顧客管理システムの制御方法、顧客管理システムの制御プログラム、及び、顧客管理システムの制御プログラムの記憶媒体
JP6803741B2 (ja) 商品管理単位変換装置、商品管理単位変換方法および商品管理単位変換プログラム