組込み用XMLフレーマー・パーサー RomXML AE™ 独自処理方式で「超軽量」「高速」「高機能」を実現、組込み向けに最適化

モノがインターネット上のクラウドサーバーに繋がるIoTシステムで、より高度で標準的なプロトコルやCPU、処理系に依存しない相互運用可能なデータ表現の方法としては、XMLが最適だと考えられます。しかし、組込み機器で利用するには、メモリの問題や開発にかかる労力が課題となっていました。
Allegro社のRomXML AE™は、そのような課題を解決するために省メモリの組込みシステムで利用できるように最適化されたXMLパーシング・フレーミングツールキットです。SAX(Simple API for XML)より高機能ながら、DOM(Document Object Model)のような膨大な作業メモリを要求しない独自のアプローチが特長です。既に世界中で数百万台の機器に採用された実績のある製品です。
主な特長
- 省メモリ
事前にXMLスキーマを定義し、プリプロセッサ(TagBuilder)がパーサー/フレーマーロジックをC言語ソースとして自動生成することで、小フットプリントかつ高速な処理が可能
- ANSI C規格対応のソースコード提供
- 組込みシステムの標準記述言語であるピュアCによるAPIを提供
- 環境依存性なし
- CPU、RTOS、TCP/IPスタックへの依存性がなく、幅広い環境での利用が可能
- 主要なRTOS用のインターフェースファイル提供
- ファイルシステム環境/非ファイルシステム環境でも対応可能
- GPLフリー
- 独自のTagBuilderツールが自動生成するCコードによりコーディング工数を大幅に削減

TagBuilderとRomXML AE™ランタイムライブラリについて
TagBuilderによるXMLパーサー/フレーマー処理コードの自動生成
ユーザーが作成したXMLスキーマ(XMLデータの論理構造)を専用コマンド(TagBuilder) に入力すると、このスキーマで表現されたXMLデータのシリアライズ/デシリアライズを行うC言語マーシャラーを自動生成します。

RomXML AE™によるデシリアライズ
自動生成されたC言語マーシャラは使用するCコンパイラでビルドし、RomXML AEライブラリ、ユーザーアプリケーションとリンクして動作させることが可能です。XML ↔ C言語の相互変換はC言語マーシャラによって自動処理されます。

RomXML AE™によるシリアライズ
RomXML、TagBuilder相関全体構成図XMLスキーマ対応する内部表現(C言語変数)はTagBuilderによって自動定義されます。

RomXML、TagBuilder相関全体構成図

ターゲット製品 / 対応製品 / 互換性など
省メモリの組込み機器に適しています。特に、高度なM2M、HMIシステムや、IoT端末・クラウド間のデータ交換といった用途では、大幅な開発工数の削減に貢献します。
XMLが使われる技術例
- HTTP REST、XML-RPC、WebSocket、WebDAV、XHTML
- MQTT
- Bluetooth
- OPC UA
- Continua
システム要件
- プロセッサ
16bit、32bit、64bitのすべてのプロセッサで動作可能 - OS
どのベンダのOSでも動作。OSなしの環境でも動作可能(TOPPERS-Proなど) - TCP/IPスタック
どのベンダのスタックでも動作可能(HE-NETなど) - ファイルシステム
どのベンダのファイルシステムでも動作可能、必要がない場合、利用しなくても動作可能(HE-FILE、Reliance Nitro ™ など) - コンパイラー
ANSI C対応のこと
技術サポート体制
専任の担当者による技術サポートを提供いたします。