Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Jist swans study
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
con_mame
May 17, 2009
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
260
Amazon RDS for PostgreSQL deep dive 〜 Amazon Redshiftとの連携 〜
con_mame
3
1.7k
Other Decks in Technology
See All in Technology
開発を高速化。AIコーディングエージェントとCodeRabbitでループエンジニアリング
moongift
PRO
0
100
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
450
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
190
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
1k
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
740
Browser Spec: Testing Hotwire with Ruby
takahashim
1
130
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
2
160
価値について
gree_tech
PRO
0
110
夫婦で子育てするための育児標準化
codmoninc
PRO
0
470
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
900
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
200
Featured
See All Featured
Amusing Abliteration
ianozsvald
1
350
Tell your own story through comics
letsgokoyo
1
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How to Talk to Developers About Accessibility
jct
2
580
Designing for Performance
lara
612
70k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
570
Building the Perfect Custom Keyboard
takai
2
910
Agile that works and the tools we love
rasmusluckow
331
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
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は使えない・・・ • このシミュレータは書いたソースを内部でバイ トコードレベルで書き換えている • メソッド→エンティティと変換 • イベント駆動に変更更する事でシミュレーション
時間上にイベントを配置する • 再帰を⾏行行ってもヒープエラーなどにはならない
下位層なんて・・・ • 理理解しなくてもシナリオ書ける • そこは上⼿手くモジュール化された恩恵 • しかし、下をしらないと思わぬところで ⾜足をすくわれるかも • 下位層にも⽬目を通すべき