モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム

Slides:



Advertisements
Similar presentations
オブジェクト指向 言語 論 第八回 知能情報学部 新田直也. 多相性(最も単純な例) class A { void m() { System.out.println( “ this is class A ” ); } } class A1 extends A { void m() { System.out.println(
Advertisements

Web サービス II ( 第 13 回 )‏ 2008 年 1 月 9 日 植田龍男. 本日の目的 Web サービスの歴史と将来の展望 (1) WSDL 2.0 の登場 ‏ Jersey プロジェクト Ver 0.5 による開発.
ソフトウェア工学 知能情報学部 新田直也. オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク.
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
社会人学習講座 「Javaプログラミング概論」
JPAを利用した RESTful Webサービスの開発
Copyright by Rich & Giro
モバイルエージェントによる 経路監視機構に関する研究
第4回 iPhoneアプリ開発勉強会 Objective-C 基礎講座 -クラス- 鷲見政明.
アプレット (Applet)について.
アルゴリズムとプログラミング (Algorithms and Programming)
Javaのインタフェース についての補足 2006年5月17日 海谷 治彦.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
モバイルエージェントの応用 概要 モーバイルエージェントの応用分野 AgentSpaceシステム エージェント移動 応用:ソフトウェアの配信
プログラミングIII演習 第1回目.
Linuxカーネルについて 2014/01.
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
現金に替わる電子マネーの実装 200702894 大城 翔太 木下研究室.
RMI ソフトウェア特論 第6回 /
Flyingware : バイトコード変換による 安全なエージェントの実行
型付きアセンブリ言語を用いた安全なカーネル拡張
アルゴリズムとプログラミング (Algorithms and Programming)
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
安全なモバイルエージェント システム Flyingware のための 仮想ディスクの実現
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
WebサービスII (第7回) 2007年11月7日 植田龍男.
関数の定義.
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
Nakano School of Business 経営情報ビジネス科 【 Java概論(Test5)】
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
パソコンのしくみ ハードウェア OS(Operating System) アプリケーション NEC DOS
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
コーディングパターンの あいまい検索の提案と実装
アルゴリズムとプログラミング (Algorithms and Programming)
オブジェクト指向 プログラミング 第九回 知能情報学部 新田直也.
「マイグレーションを支援する分散集合オブジェクト」
マイグレーションを支援する分散集合オブジェクト
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
C#プログラミング実習 第3回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
計算機プログラミングI 第3回 プリミティブ値 クラスメソッド クラス変数 式と演算 変数の利用
コンピュータアーキテクチャ 第 5 回.
Chapter 5 5.5 thisキーワード 5.6 インスタンス変数とインスタンスメソッド 結城 隆
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
状況に応じて適切な 例外処理が行なえる アスペクト指向分散環境実験の 支援ツール
コンピュータアーキテクチャ 第 5 回.
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
フレンド関数とフレンド演算子.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
オブジェクト指向言語論 第十回 知能情報学部 新田直也.
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
Josh : バイトコードレベルでのJava用 Aspect Weaver
Presentation transcript:

モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム コールバックメソッド エージェントプログラム例 AgentSpace: ランタイムシステム AgentSpace:システム構成 既存システムのエージェント移動の問題 AgentSpace:エージェント移動 AgentSpace:実装技術の特徴

エージェント移動(状態とコードの一括移送) エージェントのコードと状態が移動 インスタンス変数は自動的直列化・移動 ただし、メソッド変数、実行カウンタ、スレッドは対象外 状態とコードの一括転送 エージェント プログラムコード 実行状態 コンピュータ 実行システム 移動 直列化された実行状態 圧縮・暗号化

エージェント移動の特徴 エージェント移動では状態とコードの一括移送 一回通信で移動可能 → 高速なエージェント移動 → 高速なエージェント移動 c.f. 他のシステムの多くは複数回の通信が必要 移動中エージェントは圧縮・暗号化 →通信速度及びセキュリティを確保 移動後は通信切断が発生してもよい  → 携帯端末や無線通信に対応 移動失敗時には複数回トライの後、移動元に戻る

システム構成 エージェントは実行状態・プログラムコード共に移動 エージェント 圧縮・暗号化 移送中 実行システム バイト列化され Java言語 処理系 実行システム エージェント バイト列化され た実行状態 プログラム コード 移送中 移動 コンピュータA エージェントの出発 TCP/IP プログラムコード エージェントの到着 コンピュータB 圧縮・暗号化 エージェント管理・サービス 実行状態 ネットワーク

エージェントプログラム モーバイルエージェントは Java言語により記述(Appletに類似した記述) 状態変更時に呼び出されるコールバックメソッドを定義 移動、永続化、通信などをランタイムシステムに依頼・実現 Java言語の各種ライブラリを利用可能

コールバックメソッド エージェントはコールバックメソッドを定義 システムはエージェントが状態変化の前後に所定のコールバックメソッドを呼び出す。 移動中 dispatch() arrive() 実行前 実行中 停止 create() destroy() システム (エージェント管理) コールバック メソッド呼び出し コールバック メソッド呼び出し

エージェントプログラム例 コールバックメソッド 生成直後、移動前後、終了直前にランタイムシステムより所定のコールバックメソッドが呼び出される public class HelloWorld extends Agent { public HelloWorld() {} public void create() { add(new Label("Hello World")); show(); } public void arrive() { public void dispatch(URL url) { dispose(); public void destroy() { 移動中 dispatch() arrive() 実行前 実行中 停止 create() destroy()

AgentSpace: ランタイムシステム ランタイムシステムの構成 エージェント Java言語仮想機械 実行制御 移動機構 エージェント直列 化(バイト列化) エージェント実行用ランタイムシステム メッセージ コールバック メソッド呼び出し

AgentSpace:システム構成 エージェントは実行状態・プログラムコード共に移動 エージェント 圧縮・暗号化 移送中 実行システム Java言語 処理系 実行システム エージェント 永続化された 実行状態 プログラム コード 移送中 移動 コンピュータA エージェントの出発 ハードウェア プログラムコード エージェントの到着 コンピュータB 圧縮・暗号化 エージェント管理・サービス ネットワーク

既存システムのエージェント移動の問題 Java言語ベースのモーバイルエージェントシステムの問題 通信回数が増大 クラス1 実行状態 コンピュータ2 既存システムの ランタイムシステム 移動 クラス2 プログラムコード1 を要求 プログラムコード2 を要求 コンピュータ1 通信回数が増大 → エージェント移動時間の増加 クラスファイルの移送タイミングは不確定 → エージェント移動後も通信接続が必要

AgentSpace:エージェント移動 実行状態とプログラムコードを一括転送 → 通信は1回 状態とコードの一括転送  → 通信は1回 状態とコードの一括転送 エージェント プログラムコード 実行状態 コンピュータ ランタイムシステム 移動 直列化された実行状態 圧縮・暗号化 一回の通信でエージェント実行に必要な情報をすべて転送  → 移動後は通信切断があっても処理の継続が可能

AgentSpace:実装技術の特徴 OS・ハードウェア・通信プロトコルに非依存 エージェント移動の効率化 通信切断を考慮したエージェント移動 モーバイルエージェントの階層化 コンパクトなシステム構成