狠狠撸

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

More Related Content

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