本研究では移植性の高いコンポーネントを実現する手段として、LLVMの中間コードを用いたコンポーネントマネージャ(ポータブルコンポーネントマネージャ)の実装を行う。LLVMはよく知られたJava仮想マシン(JVM)とは異なり、より機械語に近い中間コードを用いるコンパイラ技術である。ポータブルコンポーネントマネージャは、C++を用いたコンポーネントのソースコードからLLVMの中間コードを生成し、実行時に中間コードを各プロセッサに適した機械語に変換することで従来と変わらないコンポーネントの実行速度を確保しつつ高い移植性を実現することができる。Linux(x86), Linux(ARM), Windowsの各アーキテクチャで同一の中間コードを動作させる例を示すと共に、リアルタイム性に関する初期の分析結果を示す。
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
ポータブルコンポーネントマネージャの実装
概要
本研究では移植性の高いコンポーネントを実現する手段として、LLVMの中間コードを用いたコンポーネントマネージャ(ポータブルコンポーネントマネージャ)の実装を行う。LLVMはよく知られたJava仮想マシン(JVM)とは異なり、より機械語に近い中間コードを用いるコンパイラ技術である。ポータブルコンポーネントマネージャは、C++を用いたコンポーネントのソースコードからLLVMの中間コードを生成し、実行時に中間コードを各プロセッサに適した機械語に変換することで従来と変わらないコンポーネントの実行速度を確保しつつ高い移植性を実現することができる。Linux(x86), Linux(ARM), Windowsの各アーキテクチャで同一の中間コードを動作させる例を示すと共に、リアルタイム性に関する初期の分析結果を示す。