[Storm] Ubuntu上でのStormのインストールとEclipse不要な開発環境の構築 (part 2, cluster mode編)[Storm] How to install Storm and prepare the development environment without Eclipse (part 2)

日が暮れるのも早くなり、秋を飛ばして冬が来そうな(=修論締め切りが近づいてきている)気配に心身ともに震え始めている学生の方の松浦です.

さて、今回は以前の記事の続きをご紹介します.
内容はStormをcluster modeで動作させる環境を整えるところまでです.(前回の記事では二回に渡ってご紹介するという旨の記述をしたように思いますが、分量的に大きくなりそうなので、本記事を含めて全3回になる予定です.)

続きを読む

SUMOを用いた交通流シミュレーション – 定義ファイルの作成方法Mobility simulation on SUMO – make a network and route definition

このブログの以前の記事で,トラフィックシミュレータ”SUMO“のインストール方法と簡単なシミュレーションの実行方法をご紹介しました. 今回は,道路網の形状や車両の量といった,シミュレーションに用いる各種パラメータを定義する方法をご紹介します. 続きを読む

SublimeTextのプラグイン作成方法SublimeTextのプラグイン作成方法

最近目の調子が悪いのでJINSでブルーライトカットレンズのメガネを買った森です.メガネを変えてから心なしか目の負担が減ったように感じます.今でもたまに右外眼筋が痙攣しますが…

去年からSublime Textというテキストエディタを使っているのですが,1つの大きな特徴としてPythonでプラグインを作成し簡単に機能を拡張することができるということが挙げられます.すでに多くの有用なプラグインが存在し簡単に導入できるのですが,今回は自分でプラグインを作成する方法について簡単にまとめたいと思います.
example-resultexample-result

続きを読む

TDD & CI for JavaScript [Karma][Mocha][Travis CI]TDD & CI for JavaScript [Karma][Mocha][Travis CI]

諸事情により研究で使うシミュレータを変更せざるを得なくなってしまった森です.心が折れたので,気分転換に昨夏某所で少しだけ弄ったNode.jsを勉強がてら一年ぶりに触っています.一年も経つと様々な新しいモジュールも公開されており,やはりこの界隈は発展が目覚ましいなと感じています.なかでもテスト環境はかなり整えやすくなっているのではと個人的に思いました.そこで今回はJavaScriptでの簡単なテストやその自動化の方法について紹介したいと思います.

test-tools 続きを読む

AR.Drone自律飛行AR.Drone自律飛行

AR.Droneとは

AR.Drone(*1)は、

  • スマートフォンやタブレット型端末による直感的な操作
  • 加速度センサ、ジャイロセンサ、気圧センサといった多数のセンサを用いた機体制御による安定した飛行
  • 搭載しているカメラからのビデオ映像を手元の端末にライブストリーミング

といった機能を備えたquadrocopterです。

続きを読む

SUMOによるモビリティモデルの作成Traffic simulation with SUMO

SUMO(Simulation of Urban Mobility)は、車のトラフィックシミュレーションを行うためのオープンソースパッケージです。

道路の形状や長さ、車の数や動きなどを自分で定義でき、自由度の高いシミュレーションを行えるのがSUMOの特徴です。
またSUMOでは、シミュレーションを行った結果を、ns-3など他のシミュレータで読み込めるモビリティモデルとして利用できます。
実際に私もSUMOで作成したモビリティモデルをns-3で読み込み,車々間・路車間通信のシミュレーションに利用しています。特に、道路が渋滞の場合と空いている場合での通信量の比較、といったシミュレーションを行う場合に、交通量の変更が簡単なSUMOは非常に便利です。

今回は、SUMOをインストールし、簡単なシミュレーションを行うまでのプロセスを紹介します。
※OSはUbuntu12.04の場合

続きを読む

待ち行列理論を用いたPub/Subシステムの数学的・確率的モデル化・入門篇 [Pub/Sub] [Queuing theory] [Statistics]待ち行列理論を用いたPub/Subシステムの数学的・確率的モデル化・入門篇 [Pub/Sub] [Queuing theory] [Statistics]

初夏を飛ばしていきなり夏になったかのような気温変化にやられ気味な、学生の方の松浦です.
もう少し暑くなってグランフロント大阪の客足が落ち着いてきたら、世界のビール博物館へ行って一杯、というのを画策しております.

さて、今回の記事は待ち行列理論を使ったネットワークシステムのモデリングに関してです.
といいますのも、かつての私(今も多かれ少なかれ…)を含め、研究であったり開発であったりを行うに当たって、数学的・確率的・統計的な要素が難解あったり面倒であったりといった理由から,つい目を背けてしまう方が多いのでは,と思ったからです.

システムのモデル化、あるいは提案システムの有用性を示すためのシミュレーションを行うようなシーンにおいて、これらの要素と一切向き合わずに乗り切るということは不可能です.
そこで本稿では、私の研究分野を例に取りつつ、待ち行列理論を実際に使うための導入的な部分について説明します.
できるだけネットワークシステム全般に使えそうな汎用性の高そうな内容をご紹介できればと思っていますので、待ち行列だ統計だと聞いて気分が悪くなり、そっとブラウザバックしようとした方にも、お付き合いいただければ幸いです.

続きを読む

dieselでかんたんWebSocketプログラミングWebSocket programming with diesel

今回は,dieselというフレームワークを紹介し,dieselとWebSocketを利用した簡単なアプリケーションの実例を示したいと思います.

dieselとは

dieselは,非同期処理にフォーカスしたアプリケーションフレームワークです.Pythonで書かれており,現在公開されているdiesel 3.0はBumpの裏側で動いているコードをベースとしているようです.オフィシャルサイト上では,次のような特徴を掲げています.

  • 高いスケーラビリティ
    • 10000コネクション以上にも対応可能,かつ省メモリ
  • コードが書きやすい
    • コールバックを使うことなく,通常の非同期でないコードを書く感覚で非同期処理を実現できる
  • 各種プロトコルやフレームワーク等を標準で利用可能
    • FlaskやWebSocketをはじめとして,Redis, ZeroMQ, MongoDB, Riakが,プラグインの追加等を行うことなく標準で利用可能

個人的には,次のような点が便利だと感じています.

  • 関数にデコレータを付けるだけで,WebSocketのサーバサイドアプリケーションが簡単に実現できる
  • いわゆる”Fanout”なキューが標準で利用できる

公式サイトのトップページにあるWebSocketを使ったチャットとそのコードを見ていただければ,dieselの簡単さが分かるかと思います. もちろん,より低レイヤなTCP/UDPレベルでの非同期通信も利用可能です.利用方法については,オフィシャルサイトのチュートリアルにいくつか典型的 なものが掲載されています.

続きを読む

新入生歓迎会を行いましたnew-comers-party

今年度の情報基盤システム学研究室には、新たに5名の学生さんがやってきてくれました。
(内、1人は社会人学生で後期から参加されるようです。)

今年、入ってくれた学生さんからも、”雰囲気がすごくよかったので!”という意見があったので、やはりinet-labは居心地のよい研究室のようです。

さて、今年の新入生歓迎会は、留学生の方も居られることから、幹事さんが食事のメニューを考えた上で、やまと庵にて開催されました。

続きを読む