Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

組込みシステムの高効率開発を可能とする開発フレームワークの研究開発

164 views

Published on

第14回新産業技術促進検討会(IoT社会に必要とされるシステム・デバイス技術開発)の講演資料

Published in: Technology
  • Be the first to comment

  • Be the first to like this

組込みシステムの高効率開発を可能とする開発フレームワークの研究開発

  1. 1. 組込みシステムの高効率開発を可能とする 開発フレームワークの研究開発 田中 和明(九州工業大学) 九州工業大学 SCSK九州株式会社 有明工業高等専門学校 「第14回新産業技術促進検討会(IoT社会に必要とされるシステム・デバイス技術開発)」 2017年9月15日
  2. 2. 自己紹介 • 九州工業大学 情報工学部 田中 和明(たなか かずあき) • 組込みシステムに関係する教育研究 – プログラミング,アルゴリズム, データベース、Robot Sensor Processing – 組込みシステム(mruby) • Rubyコミュニティ活動 本事業に特に関係する
  3. 3. 概要
  4. 4. mrubyの開発 • 2010年~2012年 – 経済産業省 地域イノベーション創出研究開発事 業でmrubyを開発(ネットワーク応用通信研究所, 福岡CSK,九州工業大学) • 2015年~ – しまねソフト研究開発センターとの共同研究で mruby/cを開発 • 2016年 – NEDO 次世代スマートデバイス開発プロジェクト でmruby用IDEを開発(九州工業大学,SCSK九州, 有明高専) mruby/c mruby IoTフレームワーク
  5. 5. 事業概要 「組込みシステムの高効率開発を可能とする 開発フレームワークの研究開発」 一言で言えば、、、 mrubyを使ってIoT開発を効率化する (その仕組みを開発する)
  6. 6. 目的 • IoT開発の効率を高めたい – 開発コストを低減 – 開発期間を短縮 • 開発者が参入しやすくしたい – 開発環境の入手性 • セキュリティを高めたい – (後ほど詳しく)
  7. 7. IoTの現状(課題) • IoTの実証実験は成功するが、 その後の事業化が進まない – 理由1;コスト – 理由2;開発に必要な技術者不足 – 理由3;セキュリティの確保 – 理由4;電力の確保
  8. 8. 解決策の提案 • 1;コスト – 実運用可能なマイコン、センサの開発する • 2;開発に必要な技術者不足 – プログラム言語Rubyを利用する • 3;セキュリティの確保 – セキュリティ機能を提供する • 4;電力の確保 – 省電力に対応可能なVMを設計する IoTフレームワーク
  9. 9. mruby
  10. 10. mruby = 軽量Ruby • Ruby*を軽量化した実装 – 実行時の消費メモリが少ない • Rubyのクラスライブラリ*の ほぼ全てをサポートしている – 使用するライブラリを選択できる • 他のシステムに組込んで使える *Ruby: 国産のプログラム言語 *クラスライブラリ: ソフトウェア部品
  11. 11. プログラム言語Ruby • オブジェクト指向型スクリプト言語 • 可読性が高い • Webアプリケーション開発で広く使われて いる • ISO/IEC 30170, JIS X 3017 • 日本発のプログラム言語
  12. 12. Rubyを使うメリット • Webアプリケーション開発では 標準的な開発言語 – 開発しやすい – プログラムを再利用しやすい – 可読性
  13. 13. ソフトウェアの 開発効率が高い #include <stdio.h> int main(void) { int i, s; int ary[5] = {2,3,5,7,11}; s = 0; for( i=0 ; i<5 ; i++ ){ s += ary[i]; } printf("%d¥n", s); return 0; } ary = [2,3,5,7,11] s = 0 ary.each do |x| s = s + x end puts s プログラムが 読みやすい 書きやすい C言語 Ruby
  14. 14. 組込みシステム開発に Rubyを使う • 組込みシステム – 機械や装置内に組込まれるシステム – 例: 自動車,産業機器(ロボットなど) 家電製品,通信装置 • 開発に伴う困難 – 多くの制限がある(CPU・メモリ・電力) – ハードとソフト両方の技術を使う
  15. 15. 消費メモリの比較 実行時に必要なメモリ量 Ruby mruby mruby/c 数MB 400KB < 64KB mruby/c: mrubyをさらに軽量化した実装 (研究開発段階) IoTで求められる制約
  16. 16. IoTフレームワーク
  17. 17. IoTプログラムをもっと簡単に • mrubyを使う + • IoTに必要な機能の選択と、 コードの自動生成
  18. 18. IoTフレームワーク • IoTアプリ開発は以下のスキルが必要 – センサーなどのハードウェア知識 – 通信・クラウドなどのネットワーク知識 – 蓄積したデータの解析、分析技術 • フレームワークを利用すると、IoTアプリ の開発が簡単化し、安全に開発できる
  19. 19. プロジェクトの成果物 1. フレームワークIDE オープンソースとして公開済み(無償) 2. フレームワークIDE付属シミュレータ オープンソースとして公開(無償) 3. フレームワーク対応マイコンボード ハードウェアの仕様情報を公開(無償) 4. セキュリティ機能 有償による事業化 Open Close
  20. 20. センサ・ネットワークボード 温湿度センサ 照度センサ RTC Wifi BLE ZigBee GPIO I2C IF 排他利用
  21. 21. IoTフレームワークの使い方 • メニューを選択するだけ – IoTに必要なプログラムが自動生成される
  22. 22. セキュリティ機能
  23. 23. セキュリティ機能 • IoTにおけるセキュリティ – プログラムとデータ暗号化 – ソフトウェア認証 – しかも軽量であること
  24. 24. 想定するリスク • プログラムの不正コピー • 不正なプログラムの実行 • データの漏洩
  25. 25. mruby動作の仕組み • コンパイル済みのバイトコードをVMで実 行する mruby source program.rb bytecode program.mrb mrbc ハードウェア 実行 mruby VM 開発環境 実行環境 (IoT機器)
  26. 26. IoTフレームワークのポイント mruby source program.rb bytecode program.mrb mrbc ハードウェア 実行 mruby VM 開発環境 実行環境 (IoT機器) この開発環境で作成したプログラムだけが IoT機器で実行できる mrubyを使って 短時間でプログラムを 開発できる
  27. 27. 暗号機能 • バイトコードの暗号化 – 開発環境でバイトコードを暗号化する • データの暗号化 – 暗号ライブラリによりデータを暗号化する • 軽量化のため、 – 共通鍵ブロック暗号を利用する – 軽量暗号(CRYPTREC Report 2015) [参考] 暗号技術評価委員会報告
  28. 28. 最新情報 • IoTフレームワークの情報 • mrubyの情報 http://plato.click/ http://forum.mruby.org/
  29. 29. プロジェクトのその後
  30. 30. 2つのプロジェクトに継承 • 2017~2019年度 戦略的基盤技術高度化支援事業(サポイン事業) – LoRa-BLEを活用したIoT通信システム – 超低消費電流で安価な長距離通信の実現 • 2015年度より継続 しまねソフト研究開発センターとの共同研究 – 省電力に対応したmruby • 2014年度より継続 奈良先端科学技術大学院大学との連携 – SenStick ウェアラブルデバイスの開発
  31. 31. ご清聴ありがとうございました mruby/c 『本研究は、新エネルギー・産業技術総合開発 機構(NEDO)の「次世代スマートデバイス開発 プロジェクト」の一部として実施されました』

×