• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Jist swans勉強会
 

Jist swans勉強会

on

  • 884 views

 

Statistics

Views

Total Views
884
Views on SlideShare
779
Embed Views
105

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 105

http://coderwall.com 105

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Jist swans勉強会 Jist swans勉強会 Presentation Transcript

    • JiST/SWANS勉強会- 紹介とその他もろもろ -
    • JiST/SWANSとは?• JAVA in Simulation Time / Scalable Wireless Ad-Hoc Network Simulator – Pure JAVAで作成されたネットワークシミュレータ – 大規模なシミュレーションが可能 – メモリ消費量が少ない – 高速なシミュレーションを実現 – イベント駆動型シミュレータ• 現在のVersion1.0.6 – 開発は停止 – 不具合を含む
    • 特徴など• メモリの消費が少ない• 高速なシミュレーション• 大規模なネットワークに対応• Javaで記述されているためシナリオ作成 が容易• シミュレータのソースが公開されている• 拡張が容易
    • しかしいい事ばかりなはずはなく・・・
    • 欠点・・・• 挙動が仕様通りか怪しい – 修正を施した物があるけど、元が中々曲者な のでまだ残存する不具合はある• コミュニティが無い – 開発自体が停止 • つまり今後の修正は見込めない – なのにコミュニティない • 使用者が増加しているけど、まだまだ少ない
    • 欠点・・・• JiST/SWANSを使用した論文にも修正したとし か記述がないので、公開された不具合情報も少 ない• 期待をこめてIETFのMLを覗いても質問者「未実装項目があるんですが」開発者「不具合なども含めてわれわれも修正を行っていますが、最終的には皆さんの Labで使いやすいように改変してね」俺涙目• そもそもググルと自分のBlogが出てくるとか異 常 – しかもGoogleランキング2位とか・・・ – 公式の次ってなに??
    • 本当に使えるの???• 欠点は修正されてきているので論文での 使用にも耐えられる• 現在も逐次修正中
    • JiST/SWANSの中身• OSIモデルに従った階層モデルを使用 – 各層を1クラスとしインターフェイスを使用 した接続を行っている – 各層はモジュールの概念を持ち上・下階層の インターフェイス規約に則れば層を自作可能 • 自分の提案モデルに応じて追加 • 基本は3層にルーティングアルゴリズムを実装 – 電波伝搬モデルもモジュール実装 – パケットも単なるクラス – モジュールの集合体という認識でいればおk
    • JiST/SWANSの中身アプリケーション プレゼンテーション・セッ ション層は明確に存在しないトランスポート データリンク・物理層の明確 なモジュール上での区別は無 い ネットワークデータリンク・物理 フィールド 空間
    • JiST/SWANSの中身 • Log4Jやjargsなども含 む • これが主要構成
    • 開発方法• Eclipse上で開発 – JavaベースのフリーのIDE• JiST/SWANSのNSL版はNAS上から取得• 公式サイトからのDLはダメ• 後は普通のJavaのコーディング• Javadocは公式サイト上に
    • まずやること• サンプルを動かす – src/driverにあるもの – ルーティングプロトコル自体はsrc/jist/swans/routeに• サンプルソースの理解 – 基本的にsend/receiveメソッドで上下に繋がっている – Eclipseの呼び出し元機能などを使えば大まかなデー タの流れがわかる • Eclipseすげー
    • その次にやる事• 大まかな流れの理解が出来たら、早速何 か作る – シナリオに各ノードの作成・各パラメータを 記述しそこから実行 – driverに相当するもの – アプリケーションソフトと思えばおk
    • 開発の流れ1. 提案方式を考案2. 実装方法を決定3. シミュレータに実装4. 実行5. デバッグ• この繰り返し• デバッグ実行はこまめに行う事推薦
    • デバッグの方向性• 不具合の切り分け – JiST/SWANS自体が大きなソフトなので、原 因が自分のコードにあるのかシミュレータに あるのか切り分ける – ここでシミュレータの理解が乏しいと苦しむ – 流れがわかればある程度見通しがつく
    • 少し突っ込んだ話• 詳しくはWEBは使えない・・・• このシミュレータは書いたソースを内部でバイ トコードレベルで書き換えている• メソッド→エンティティと変換• イベント駆動に変更する事でシミュレーション 時間上にイベントを配置する• 再帰を行ってもヒープエラーなどにはならない
    • 下位層なんて・・・• 理解しなくてもシナリオ書ける• そこは上手くモジュール化された恩恵• しかし、下をしらないと思わぬところで 足をすくわれるかも• 下位層にも目を通すべき