Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Jist swans study
Search
con_mame
May 17, 2009
Technology
110
0
Share
Jist swans study
Jisit/SWANSの勉強会資料
con_mame
May 17, 2009
More Decks by con_mame
See All by con_mame
Amazon Aurora
con_mame
6
23k
Amazon Aurora latest update
con_mame
1
240
Amazon RDS for PostgreSQL deep dive 〜 Amazon Redshiftとの連携 〜
con_mame
3
1.7k
Other Decks in Technology
See All in Technology
AIコーディングエージェントの活用で、コードは静かに肥大化した
yosukeshinoda
1
300
Loadbalancing exporter internals
ymotongpoo
1
120
AI Agent に“攻略本”を渡したら、150フォームの移行が回り始めた話/登壇資料(高橋 悟生)
hacobu
PRO
1
400
Geek Woman の育ち方 〜コミュニティとAIと〜
chicaco
0
390
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
3
1.9k
ラズパイ & Picoで入門:Zephyr(RTOS)の環境構築からビルドまでの紹介
iotengineer22
0
210
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
230
AI全盛の今だからこそ、あえてもう一度振り返るAPIの基礎
smt7174
3
160
コーディングAIが導くリスクベースド探索的テストの実践
lycorptech_jp
PRO
1
390
TSKaigi 2026 - Auth.jsからBetter Authへの 移行に見る「型とランタイム」の 設計思想の変化
teamlab
PRO
1
250
TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で
ypresto
2
380
"スキルファースト"で作る、AIの自走環境
subroh0508
1
700
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
570
Raft: Consensus for Rubyists
vanstee
141
7.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Spectacular Lies of Maps
axbom
PRO
1
760
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
260
Rails Girls Zürich Keynote
gr2m
96
14k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
300
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
300
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A Modern Web Designer's Workflow
chriscoyier
698
190k
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は使えない・・・ • このシミュレータは書いたソースを内部でバイ トコードレベルで書き換えている • メソッド→エンティティと変換 • イベント駆動に変更更する事でシミュレーション
時間上にイベントを配置する • 再帰を⾏行行ってもヒープエラーなどにはならない
下位層なんて・・・ • 理理解しなくてもシナリオ書ける • そこは上⼿手くモジュール化された恩恵 • しかし、下をしらないと思わぬところで ⾜足をすくわれるかも • 下位層にも⽬目を通すべき