エージェント技術でも考えてみっか。ヒマだから。
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGOO技術者は「もの」の「自律性」を構想する。
そしてこの自律性は「全てはオブジェクトである」の標語のもと、
汎神論的に脚色され、過剰に導入される。
これまで主に「手段」(設計・開発)の領域で勢力を強めてきた
この過剰な自律性は、その「過剰」であるが故に、宿命的に
「目的」(製品・実行時動作)の領域にも侵出しようとする。
この自律性の欲求は、実際にはOOの黎明期から常に/既に懐胎され、
また小出しに実現されもしてきたが、分散オブジェクト技術の普及に
伴い、この動きはさらに加速しつつある。
このような現状において、だれかが与えた新しいスローガンが
「エージェント指向」である。
確かに標語としての「エージェント指向」は、流行りすたりを何回か
くり返してきた。しかし、前述の「手段→目的」の方向にそった
「自律性」の領土拡大は必然的に継続する。
従ってこれからもエージェント指向は成長を止めない。
近い将来、実行時のソフトウェアコンポーネントは「ある」ではなく
「いる」と叙述されるようになる。
・・・なんつって。長い前置きすんませんでした。
そろそろ流行語ではなくプログラム技術として語り始めてもいいかなと。
分散オブジェクト技術、AI、アーキテクチャパターン、
各社フレームワークの評価などなど、エージェント関連であれば
切り口はおまかせします。
煽り・冷やかしでもプログラマらしいやつなら歓迎です。
とりあえず→http://www.agent.org/
標準化団体→http://www.fipa.org/
サルでも分るJava実装→https://www2.toshiba.co.jp/beegent/
0002ごめん
NGNG0003デフォルトの名無しさん
NGNG>そろそろ流行語ではなくプログラム技術として語り始めてもいいかなと。
全然流行語じゃない。よって逝ってよし終了
0004sagent
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG00081
NGNGありがと。いや、なんとなく。おもしろかったんで。
ちなみにsageには賢人の意味があるらしい。
>>6
いま試してるとこ。
とりあえずインストール→サンプル実行は、驚くほどすんなり終わる。
ドキュメントも日英両方そろってる。
入門用としては結構いけてるんじゃないかな。
状況に応じて動的に自己判断するようなAI的要素はあんまりないみたい。
デザパタのStateパターンでプログラマがゴリゴリ状態遷移を書くのが
基本らしい。
アーキテクチャはBrokerパターン。ただし、Client/Serverの区別はしてない。
JavaVM上でエージェントラッパーが待ってるマシンの間を、BEEっていう
エージェントが動き回る感じ。
あとエージェント同士が会話するためのプロトコルがFIPAって団体で定めら
れてて、これをXMLのフォーマットで表現して、通信するようになってる。
>>5、>>7
すんません。意味わかりません。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011ななし
NGNGCELLをお勧めする(誰も、書いてる私ですら知らない、つーか、存在してない。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014騙り
NGNG0015デフォルトの名無しさん
NGNG本物のマイグレーションは俺だ。
001614
NGNG0017デフォルトの名無しさん
NGNGんなもん自分で調べろや!
っていうのもアレなんで、JADE一式ダウンロードして、
サラっとドキュメントに目を通してみました。まだ動かしてないけど。
・FIPA標準への積極的な準拠。
・Javaイベント・RMI・IIOPで通信する、但しプログラマには透過的。
・オプションでACLにXMLを使える。
・ライセンスはGNUのLesser General Public License
・APIもBee-gentより大規模な感じ。
(ちらっと見ただけなんで、どんなアーキテクチャかまだよく分らん。)
Bee-gentより本格的みたいだけど、ちょっと敷居が高い感じ。
あとNTTで、MINERVAっていうAI開発環境とJADEを併用して
「知的分散型エージェント」とかいうのを作ろうとしてるらしいです。
00181
NGNGBee-gentのマイグレーションでいいかな。
・Bee(エージェント)はAwr(エージェントラッパー)の間を渡り歩く。
・Awr同士はお互いの位置(IPアドレス)と名前(String)を知っている。
・Beeはある名前のAwrのところに移動できる。
・AwrはあるBeeを他のAwrに移動させることが出来る。
・Beeを受け入れたAwrは、Beeの移動元を覚える。
・Beeに出て行かれたAwrは、その移動先を覚える。
・Beeにメッセージを送ると、Awr間で転送されて最後にはBeeに届く。
って感じですかね。
ちなみにI_BeeってインターフェイスがSerializableをextendsしていて、
これをクラスBeeがimplementsしてる。
このクラスBeeを継承してお好みのエージェントを作って下さいとのことです。
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGsageるな。堂々とageよ。
0021デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG0024仕様書無しさん
NGNG明日を変えることさ♪
0025あ
NGNG0026デフォルトの名無しさん
NGNGどうもProlog(笑)が関係しいるらしいので
勉強します、許してください。
0027デフォルトの名無しさん
NGNGTMN ?
0028デフォルトの名無しさん
NGNGばかが。
渡辺美里だ
00291
NGNGMINERVAって直接Javaのオブジェクト操作できるんだね。
Amzi Prolog使ってるんだけど、こっちは推論エンジンだけDLLとか
Javaのパッケージで提供されてて、推論部分はProlog、それ以外(GUI等)は
他の言語ってふうに切り分けられてる。
MINERVAのサイトにサンプルのアプレットあって、全部Prologで書いてた。
ttp://www.ifcomputer.com/MINERVA/ExamplePrograms/home_en.html
2ヶ月期限で試用できるらしい。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGアプリケーションとしての定義:ユーザーの代行者として行動することで特定のサービスを実現するインスタンス。
明確な定義って見たことないけど概ねこれぐらいの認識だと思われ。
0034デフォルトの名無しさん
NGNGCORBAのモバイル・エージェント・ファシリティ仕様(MAF)で定義されてて、
その1章4節に、「エージェントとは、個人や組織に代わって自律的に
行動するコンピュータプログラムである。」って書いてある。
この後に、ステーショナリ・エージェントとモバイル・エージェントの定義が
続いてる。実行を始めたシステムでのみ動作するエージェントがステーショナリ、
ステーショナリの制約に拘束されずシステム間を移動できるのがモバイルと
なってる。
まあ、たいていのエージェント実装が、「エージェント」の一言で移動性を前提に
しているのを見ると、エージェント≒モバイルエージェントって認識で良いと思う。
OMGが唯一の権威ってわけでもないだろうし、そもそもCORBAファシリティの仕様だから。
ってことで>>33さんの見解におおむね同意。
0035デフォルトの名無しさん
NGNGAIって言ったとたんに胡散臭くなるね。
0036デフォルトの名無しさん
NGNG言ってる奴いるの?終わってるでしょアレ。
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNG自律性が無いし、移動もコードだけ。
エージェントでいうマイグレーションは実行開始と終了の間の話。
0040デフォルトの名無しさん
NGNG0041独りごと
NGNGCygwinだからまずいのか…
0042デフォルトの名無しさん
NGNGマイグレーションがあって初めて可能になり
しかもめちゃくちゃ嬉しい活用法って思いつかん。
0043デフォルトの名無しさん
NGNGビルドできないのがidlから生成したmercuryコードなのか、
mercuryコードから生成したcコードなのか、それともMCORBA自体の
ビルドなのか分らないと、助けようがありません。
0044デフォルトの名無しさん
NGNG> マイグレーションがあって初めて可能になり
> しかもめちゃくちゃ嬉しい活用法って思いつかん。
特別に何か劇的に素晴らしいことがあるわけじゃないまま、
いつのまにか拡がって行くってのもあり得るんじゃないかな。
もちろんオブジェクト指向からのアナロジーだけど。
0045デフォルトの名無しさん
NGNGSAはAIのアルゴリズムの一つで、固有のプロセスで並列に動作する複数の
エージェントが、与えられた優先順位に従って解を導くという仕組みです。
・・・って関係ないか。
0046デフォルトの名無しさん
NGNGそういやC++って何がきっかけで普及したんだろ?
0047デフォルトの名無しさん
NGNGMCORBAもうまいこと成長したら、OMGが言うところの"Stationary Agent"として
使えそうだね。
CORBA使ってるような分野だったらまず型のある言語の方が優勢だろうから、
先祖のPrologと比べるとMercuryの方が多少導入しやすいはず。
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNGMFCなんぞ使わなくてもC++って便利。
テンプレート萌え。STLラヴ。
0050デフォルトの名無しさん
NGNGCの上位互換臭いところじゃない?
GBアドバンスが売れてるのと同じさ。
0051デフォルトの名無しさん
NGNGC++が普及しているからといってOOまで一般化しているわけでもない。
ふむ。
0052デフォルトの名無しさん
NGNGワラタ
0053デフォルトの名無しさん
NGNGWindows95 が売れて VC++ が作られたから。
0054デフォルトの名無しさん
NGNGとにかく難解だ。量も多いし。
もっとシンプルで分りやすい文書ないのかな。
「モバイル」についてはちっちゃな仕様書がオマケみたいに付いてるだけだった。
マイグレーションといっても、FIPA的には特に大きな関心事ではないみたいだ。
0055デフォルトの名無しさん
NGNGFIPAの奴はモバイルエージェントじゃなくて
知的エージェントの方がメインなんじゃないかな?
仕様書も特定用途向けのエージェントの相互作用に関するものが大半。
0056デフォルトの名無しさん
NGNGメタファーが【物】から【者】に変化するとも言えるだろうね。
0057エージェント
NGNG0058デフォルトの名無しさん
NGNG旬を過ぎたネタは寒い。
0059デフォルトの名無しさん
NGNGなんでVisualObjectiveCにしなかったんだろ・・・
やっぱりその時点でもうC++が流行ってたからじゃないの?
006054
NGNGCORBAの垂直ファシリティっぽい仕様書は、とりあえず後回しにしてる。
どんな分野がターゲットになってるかはタイトルだけで大体わかるから。
エージェント間通信と抽象アーキテクチャに興味があるんだけど、その
部分だけで質、量ともになかなか手ごわい。
っていうか俺の理解力がダメなのか…(鬱
>>59
逆にObjectiveCがマイナー過ぎたとか。
0061デフォルトの名無しさん
NGNG仕事でJava使ってると、謳い文句のポータビリティに
いまいち不満あるんだけど、やはりほかの言語にくらべると
かなりマシって事でしょうか
0062デフォルトの名無しさん
NGNGVMをベースに設計されてて仕様がとりあえず固まってるからってぐらいなんじゃない?
あと、もちろんそれなりにメジャーだから。
Smalltalkなんかでもマイグレーションできる処理系はあったけど
今日日その手の処理系を作るとなったらマイナーだから選択肢にはならない。
で、そこそこメジャーだからJava。
0063デフォルトの名無しさん
NGNGトレンドがAIからALに移行するとも言えるだろうね。
0064デフォルトの名無しさん
NGNG.NETってどうでしょう?
マイグレーションのインフラになり得るでしょうか?
0065デフォルトの名無しさん
NGNGVMベースである以上やろうと思えばできるはず。
要はプロセスなりオブジェクトなりの
現在の状態が取得できればいいわけだから。
ただ、Microsoftがそういう処理系を提供するかどうかは別。
マイグレーションよりも先にJiniみたいなダイナミックインストール的な話が先だと思う。
0066デフォルトの名無しさん
NGNGマイクロソフトは、マイクロソフトの製品間でしか、マイグレーション許さないだろうから、
マイグレーションのインフラになり得ないんじゃないでしょうか?
マイグレーションが有用な場面が増えてきた時に、
マイクロソフトの製品間限定で可能か?ならイェスでしょうが。
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGALってさ、セルオートマトンにしてもコンピュータウィルスにしても、
今のところどうも下等生物のイメージなんだよね。
まだまだ役に立たないって言うかさ。
学者の遊びの世界で充分だよ。
00691
NGNGTahitiっていうこじんまりしたGUIツールがデーモン兼管理ツールらしい。
IPアドレスとポートを指定して、各マシン上でTahitiを立ち上げておく。
agletを生成するにはTahitiから完全修飾クラス名を指定して"create"する。
アドレス指定で他所のaglet serverに送るとか、個々のagletに何か
実行させたりプロパティ見たりするのもTahitiのフォーム上で操作できる。
アークテクチャは上部のAgletRuntime層と下部のCommunication層の2層。
AgletRuntime層にAgletクラスがあってこれを継承してくれとのこと。
フレームワーク的にはJavaのイベント委譲モデル使ってる。
あとCommunication層にcom.ibm.mafってパッケージがあって、MAF/IDLの
実装があるんだけど、だからといって全然CORBAじゃないのが面白い。
# IBMにあるのはJDK1.1用なんで注意。
# Java2用のがSourceForgeに置いてある。
0070デフォルトの名無しさん
NGNG↑マイグレーション可能っぽくない?
00711
NGNG単にオブジェクトが値渡しでCLR間移動できるだけなら当たり前の話だと
思うけど、SoapFormatterっていうのが面白そうだね。
(これを見せたかったと理解しました。)
一年くらい前にSOAP1.1のW3C NOTE読んだ時いまいちピンと来なくて、
それ以来圧縮放置状態だったけど、こんな風に使えるんだね。
ただ、将来的にCLR上のモバイルエージェント・フレームワークが構想される
にしても、技術的な話は別にして、MSの独占体質がやっぱり少し不安だ。
偏見かな…?
0072デフォルトの名無しさん
NGNGこれはSOAPのパケットを見る限りではIPは残らないね。
ということはシリアライズ結果の移送可能性があるという程度になる。
それでも十分ではあるけど。
00731
NGNG→ttp://www.cs.und.edu/~jo/plaselab/amt2000/ppframe.htm
・モデリングにはAgent-based Modeling Language(AML)を使う。
Relationship図、Interaction図、Component図など。
UMLに近い感じかな。
・プロセスにはAgent-based Process Model(APM)を使う。
フェーズと成果物の関係がちょっとRUPに近い感じだけど、イテレーション
については語られていない。
※ BDIカードって言うのがあって、最初CRCカードみたいなものかと
思ったけど、どうやらこれがユースケースと対応するらしい。
・モデルの実装にはAgent-based Programming Language(APL)を使う。
agent Deposit extends BDI {
belief Deposit_B;
desire Deposit_D;
intention Deposit_I;
main() { ... }
}
belief Deposit_B extends BDI {
...
}
desire Deposit_D extends BDI {
...
}
intention Deposit_I extends BDI {
...
}
ってな感じらしい。意味はよくわからんが。。。
全体的にかなりポストオブジェクト指向を意識してるみたいだ。
やけに流行りのOO技法に似ているけど、それが戦略なのか妥協なのかは
この文書だけでは判断できなかった。
0074デフォルトの名無しさん
NGNG言語要素としてbeliefとかdesireとか入ってるって事か?
Schemerの方々なんか、こう言うのたまらなく嫌だろうな。
0075デフォルトの名無しさん
NGNGhttp://agents.www.media.mit.edu/groups/agents/projects/
0076デフォルトの名無しさん
NGNGBratmanって人だよね?
0077デフォルトの名無しさん
NGNGJACK Agent LanguageというJAVA拡張のAOPで、classやinterfaceの他に、
agent,capability,database,view,event,planなども書ける。
ファイルの拡張子も別々。
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNGこれか?
M.Bratman:『Intention,Plans, and Practical Reason.』
邦題:『意図と行為』
0080デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています