$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Jist swans study
Search
con_mame
May 17, 2009
Technology
0
100
Jist swans study
Jisit/SWANSの勉強会資料
con_mame
May 17, 2009
Tweet
Share
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
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
2
890
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
1.5k
高度サイバー人材育成専科(後半)
nomizone
0
250
Identity Management for Agentic AI 解説
fujie
0
290
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
6
1.7k
AgentCoreとStrandsで社内d払いナレッジボットを作った話
motojimayu
1
380
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
2
210
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
310
文字列の並び順 / Unicode Collation
tmtms
3
630
Fashion×AI「似合う」を届けるためのWEARのAI戦略
zozotech
PRO
2
1k
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
15
15k
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
200
Featured
See All Featured
How GitHub (no longer) Works
holman
316
140k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
33
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
22
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
73
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
100
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Making Projects Easy
brettharned
120
6.5k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
23
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は使えない・・・ • このシミュレータは書いたソースを内部でバイ トコードレベルで書き換えている • メソッド→エンティティと変換 • イベント駆動に変更更する事でシミュレーション
時間上にイベントを配置する • 再帰を⾏行行ってもヒープエラーなどにはならない
下位層なんて・・・ • 理理解しなくてもシナリオ書ける • そこは上⼿手くモジュール化された恩恵 • しかし、下をしらないと思わぬところで ⾜足をすくわれるかも • 下位層にも⽬目を通すべき