研究会 ソフトウェア工学 IoT

情報処理学会の第207回SE研究発表会で、IoTアプリケーションの開発効率向上に関する手法の提案と実装について発表しました

研究会 ソフトウェア工学 IoT

こんにちは、ペパボ研究所所長の栗林健太郎です。いろいろあって、社会人学生をやっています。詳しくは以下をどうぞ。

本エントリでは、情報処理学会の第207回SE研究発表会で研究報告を発表してきたので、簡単に報告したいとおもいます。

発表内容について

IoTデバイス内で動作するアプリケーションを開発するに際して、開発者が変更したコードをIoTデバイスへ送信・適用して動作確認することに時間がかかるのが、迅速な開発サイクルの妨げになっているでのはないか?そんな問題意識から、先行研究では十分には検討されてこなかった、IoTデバイス上で動作するアプリケーションのコードを動的に書き換える方式を、開発効率の向上という観点からあらためて整理・提案し、実装したものを実験によって評価しました。

詳細については、以下の予稿と発表資料をご覧いただければと思います。

研究報告予稿

「IoT デバイス内アプリケーションの開発効率向上のために コードの変更を動的に適用する方式の提案と実装」の表紙

予稿: 「IoT デバイス内アプリケーションの開発効率向上のために コードの変更を動的に適用する方式の提案と実装」

発表スライド

スライド: 「IoTデバイス内アプリケーションの開発効率向上のためにコードの変更を動的に適用する方式の提案と実装」

おわりに

本研究報告における実装は、プログラミング言語Elixirと、ElixirによってIoTデバイスを開発できるプラットフォームであるNervesを用いています。2021年11月に行われた第7回WebSystemArchitecture研究会におけるNervesに関する発表においてNervesを初めて知り、「これだ!」と感銘を覚えてのめり込み、こうして研究報告を発表するに至りました。出会いを与えてくれた皆様、共著者の皆様、ご助言くださったコミュニティの皆様に感謝いたします。引き続き、ElixirやNervesをからめた研究をしていくつもりです。

共著者からのコメント

共著者の力武健次です。以下、本研究発表の背景について説明します。

IoTデバイスの運用管理やソフトウェア更新は、回線やハードウェアの制約などで、大変難しい課題になっています。これらの課題を解決する上で、Erlang/OTPやElixirを組み込み機器に応用する試みは、2013年のErlang Factory SF Bay Areaでのハンズオンから続いていました。2021年の現在もNervesの他にGRiSPというErlang/OTPやElixirを直接起動できる組み込みボードなど各種研究開発が続けられています。

Erlang/OTPでは同じモジュールに対して新旧2種類のコードを共存させる仕組みがあり、この仕組みを使うことでコードの更新を円滑に行うことができます。実際にはモジュールや関数の相互依存などに注意が必要ですが、このコード更新機能はErlang/OTPの最初からの開発ターゲットであるEricssonの交換機や、分散データベースであるHibariRiakなどのデバッグ等運用の現場で活用されてきた実績があります。ElixirはErlang/OTPの上に作られた言語システムであり、このコード更新機能を含めたErlang/OTPのすべての機能を使うことができます。

今後組み込み機器で使えるシステム資源の拡大に伴い、コード更新機能などの信頼性確保の仕組みがIoTの世界にも拡充されていくであろうと力武は考えています。信頼性を保ちつつシステムを動的に変更するための技術開発は、ペパボ研究所が掲げてきた「なめらかなシステム」の基礎となるものであり、今後も大いに発展する可能性のある分野といえるでしょう。


【PR】パートナー積極採用中!

ペパボ研究所では、新しいパートナーを求めています。詳細については、当研究所のトップページをご覧ください。