日本オラクルはルネサス エレクトロニクスのMCUである「RZ/A」と「RX 64M」にJava ME Embedded 8を実装する方針を明らかにした。Java ME Embedded 8は組み込み用途向けのソフトウエア開発・実行プラットフォームであり、ルネサスのMCUに実装されるのはこれが初めて。2015年4月8日に東京国際フォーラムで開催されるイベント「Java Day Tokyo 2015」で詳細を発表し、一般向けには遅くとも2015年6月までに提供を開始する。

 日本オラクルはIoT(Internet of Things)において、サーバーからゲートウエイ、MCUなどのエッジデバイスまで、すべてのソフトウエア開発・実行プラットフォームをJavaでカバーすることを狙っている。だが、Javaはサーバーやゲートウエイでは豊富な実績を持つものの、IoTの主戦場となるエッジデバイスの組み込み用途ではやや出遅れている。このため、フリースケール・セミコンダクタ・ジャパンとともにJava ME Embedded 8を使った“IoT時代のコンセプトカー”を開発、2014年12月のフリースケールのイベントに出展するなど同分野に注力している(発表資料)。

 日本オラクルでは、IoTエッジデバイスでJava ME Embedded 8を採用するメリットとして、豊富な機能を標準的なAPIで呼び出せるようになることを挙げている。例えば、デバイスアクセス、メッセージング、プロトコル処理、Webサービスなど、「C言語ではゼロから開発する必要のある機能を、Javaの標準的なAPIを使うことで短期間に実装できるようになる」(日本オラクルのBusiness Development Representative Java Embedded Global Business Unitの清水浩二氏)。IoTで重要になるセキュリティについても、ポート番号にもとづくアクセス制御、電子署名によるアプリケーションの正当性チェック、メモリー空間の保護、メッセージ暗号化などを標準でサポートする。

 仮にC言語で同様のライブラリがあったとしても、ターゲット環境ごとにAPIの仕様が異なるため、開発者はそれぞれの使い方を学ぶ必要がある。Javaであれば標準APIが環境の違いを隠してくれるため、ソフトウエアの再利用などを通じて開発期間を短縮することができるという。

 ルネサスエレクトロニクスのRZ/Aは、CPUコアに米ARM社の「Cortex A9」を用いたハイエンドMCU。内蔵RAMは3Mバイトから最大10Mバイトまで搭載できる。OSはARM社のIoT向けOSである「mbed」(案件ごとに変更可能)。RX 64Mは独自のCPUコアを搭載したミドルクラスの低消費電力型MCU。内蔵RAMは256K/512Kバイト、OSは「ITRON」を採用する。

 Java Day Tokyo 2015では、RZ/AとJava ME Embedded 8を使ったデモシステムも出展する。幅30cmほどのレーンの上を、温度検知センサー、前方障害物検知赤外線センサー、バス停検知赤外線センサーを搭載した車両が走行。障害物の前や白線が引かれたバス停で自動的に停車したりしながら、Twitterに位置情報、車内温度などを自動的に投稿する。

RZ/AとJava ME Embedded 8で構築したデモシステムの車両
RZ/AとJava ME Embedded 8で構築したデモシステムの車両
ピンクの基板上にあるRZ/Aがセンサーの情報にもとづいて車両を制御。走行状況をTwitterに投稿する