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
0
93
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
22k
Amazon Aurora latest update
con_mame
1
220
Amazon RDS for PostgreSQL deep dive 〜 Amazon Redshiftとの連携 〜
con_mame
3
1.5k
Other Decks in Technology
See All in Technology
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
530
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
130
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Can We Measure Developer Productivity?
ewolff
1
150
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
130
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
110
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Producing Creativity
orderedlist
PRO
341
39k
Building Your Own Lightsaber
phodgson
103
6.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
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は使えない・・・ • このシミュレータは書いたソースを内部でバイ トコードレベルで書き換えている • メソッド→エンティティと変換 • イベント駆動に変更更する事でシミュレーション
時間上にイベントを配置する • 再帰を⾏行行ってもヒープエラーなどにはならない
下位層なんて・・・ • 理理解しなくてもシナリオ書ける • そこは上⼿手くモジュール化された恩恵 • しかし、下をしらないと思わぬところで ⾜足をすくわれるかも • 下位層にも⽬目を通すべき