IoTシステムの開発はなぜ難しいのか、ITと組み込みの相克を克服せよ仮想環境を使ったクラウド時代の組み込み開発のススメ(1)(1/2 ページ)

IoT/クラウドロボティクス時代のシステム開発を加速化する仮想環境の活用について解説する本連載。第1回は、IoTのシステム開発/サービス構築の難しさや、その原因になっているIT分野と組み込み分野の相克について紹介する。

» 2021年05月25日 10時00分 公開

 IoT(Internet of Things、モノのインターネット)は情報技術(IT)の総合格闘技です。筆者らは、IoT/クラウドロボティクス時代のシステム開発を加速化するための試みとして、仮想シミュレーション環境である「箱庭」の研究開発に取り組んでいます。本連載では、この「箱庭」の目指すところや利点を紹介しながら、これを活用した組み込み機器の開発にも活用可能なCI/CD(Continuous Integration/Continuous Delivery:継続的インテグレーション/継続的デリバリー)の仕組みについて解説します。

 連載の第1回となる今回は、IoTシステムの開発やIoTサービスの構築の際に考慮すべき課題や技術的背景について整理します。そして、IT分野と組み込み分野における開発方針やアプローチの違いについて解説していきます。

IoTシステム構築の課題を考察する

 IoTシステムは、大量かつ多様な情報機器が、ネットワーク通信を介して密接に絡み合って構成されます。システム全体の大規模化と複雑化はますます進んでおり、IoTシステム開発は新たな時代を迎えているといえます。

 高品質なIoTシステムを実現するためには、さまざまな技術分野から多くのエンジニアが集まり、それぞれの英知を結集してシステムを構築する必要があります。図1のような自動運転車による交通配車システムを例に考えてみましょう。このシステムでは、市街地に自動運転タクシーが行き交っていて、現在地と目的地をスマホのアプリで入力したユーザーに対して、管制サーバからの指示によって適切なタクシーを自動配車するサービスを提供しています。

図1 図1 自動運転車による交通配車システム(クリックで拡大) 出典:TOPPERSプロジェクト 箱庭ワーキンググループ

 まず、自動運転車そのものを開発するためには、本記事の主な読者対象として想定している組み込みソフトウェアのエンジニアが手掛けるであろう組み込み・制御系システムが必要です。また、自動車の機械構造や電気電子システムを実現するためのメカ/エレキ技術の他に、自動運転のためのセンシング技術や高度なアルゴリズムを扱うECU(電子制御ユニット)も開発しなければいけません。

 一方、IT系に目を向けると、ユーザーが扱うスマホのWebアプリを開発するエンジニアの力も必要になりますし、ユーザーからの情報を受け取るクラウドサーバを支えるサーバインフラのエンジニアも不可欠です。最適な配車計画を決定・管理する交通サービス系エンジニアも重要です。さらには、自動運転車やスマホなどの各デバイス間での通信において、効率的なデータ通信の形式と方式を定めるネットワークインフラの技術も重要になってきます。このように、IoTシステムの開発時には、さまざまな分野の技術領域を横断していく必要があることが分かります。

 IoTシステムを構築する際の課題としては、まず、各技術領域の成果物を結合する際のテストや検証が困難であることが挙げられます。多くの技術領域が介在するため、全体結合してから顕在化される問題が多数潜んでいるのです。さまざまな機器を接続した際に、IoTアプリケーション全体として整合性を取る必要もあります。そもそも、システムレベルのデバッグが困難であり、さらに問題が発生した時には、その経路や原因の調査が著しく複雑になります。加えて、IoTシステムの実用化には実証実験が不可欠となりますが、手軽に実施できるものではなく、その時間やコストも非常に大きくなってきます。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.