| オープンコムRTOS | |
|---|---|
OpenComRTOS アプリケーションビュー | |
| 開発者 | アルトレオニックNV |
| 書かれた | ANSI C |
| OSファミリー | 分散マイクロカーネル |
| 作業状態 | 現在 |
| ソースモデル | ソース利用可能、ライセンス |
| 初回リリース | 2008 (2008年) |
| 最新リリース | 1.6 / 2014年8月 (2014年8月) |
| マーケティングターゲット | 組み込みシステム |
| 入手可能な | 英語 |
| パッケージマネージャー | OpenComRTOS スイートの msi ファイル |
| サポートされているプラットフォーム | Freescale PowerPC、Texas Instruments C66xxx DSP、ARM、XMOS、MicroBlaze、LEON、NXP CoolFlux DSP、Melexis MLX16、Win32、Linux |
| カーネルタイプ | ネットワーク中心のリアルタイムメッセージパッシングマイクロカーネル |
| デフォルトのユーザーインターフェース | ホストマシン上の開発環境 |
| ライセンス | バイナリ、ソース、オープンテクノロジー |
| 先行 | ヴィルトゥオーゾ |
| 後継者 | ヴィルトゥオーソネクスト |
| 公式サイト | www.altreonic.com |
OpenComRTOSは、主に組み込みシステム市場を対象とした、ネットワーク中心の正式に開発された商用リアルタイム オペレーティング システム(RTOS)です。
概要
OpenComRTOSは形式手法を用いて開発されました。プロセッサのワードサイズ(16ビット、24ビット、32ビット、64ビット)や通信媒体(共有メモリ、バス、ポイントツーポイントリンク、既存の通信メカニズム上の仮想リンク)に依存せず、異種マルチプロセッサシステムを透過的にサポートする機能などを備えています。32ビットターゲットプロセッサ上の典型的なコードサイズは約5キロバイトです。
OpenComRTOSは、相互作用エンティティのメタモデリングパラダイムに基づいています。このRTOSでは、実行単位はタスク(ローカルワークスペースまたはスタックを持つ関数)です。タスクエンティティは、相互作用するタスクから分離された中間ハブエンティティを使用して同期および通信を行います。ハブは、ガードアクションとして正式にモデル化されています。現在の実装では、イベント、セマフォ、ポート、先入れ先出し(FIFO)スタック、リソース、パケットプール、メモリプールといった従来のRTOSサービスの機能が提供されています。ユーザーはカスタムハブタイプを作成することもできます。
OpenComRTOSは、カーネルタスク、ドライバータスク、アプリケーションタスクからなる統一アーキテクチャを採用しており、各タスクはタスク入力ポートを備えています。割り込みサービスルーチンにも同じインターフェースが使用されています。基盤となるアーキテクチャは、優先度付けされたパケットスイッチングを採用しており、通信とルーティングは基盤となるシステムサービスの一部です。その結果、タスクのソースコードは、タスクとハブをターゲットシステム内の処理ノードにマッピングすることに依存しません。
歴史
OpenComRTOS を開発する最初の目的は、 Interacting Entitiesに基づく首尾一貫した統一されたシステムエンジニアリング方法論をサポートするソフトウェアランタイム環境を提供することでした。 これはもともと Open License Society [ 1 ]によって2005 年以来開発され、2008 年からは Altreonic によってさらに開発され商品化されました。[ 2 ]以前に開発された Virtuoso [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ]という RTOSがガイドラインの役割を果たしました。 Virtuoso は分散 RTOS であり、2001 年に Wind River Systems に技術が売却されるまで Eonic Systems によって開発されていました。 透過的な並列処理 (仮想シングルプロセッサランタイム モデルと呼ばれる) の全体的な機能は、それをよりよい方法で再開発する大きな原動力となりました。[ 8 ] [ 9 ] OpenComRTOS は概念的には Virtuoso の第 4 世代ですが、クリーンルーム開発でした。 Virtuoso RTOSは、 CAR Hoareの通信順次プロセス(CSP)プロセス代数の部分的なハードウェア実装である先駆的なInmos Transputerに由来しています。最も困難なアプリケーション:
- マイクロコントローラ、固定小数点および浮動小数点 DSP、Linux ホストを備えた 12,000 個のプロセッサを単一ネットワークに搭載した石油探査システム。
- 1,600 個の浮動小数点 DSP を搭載したソナー システム。
- ロゼッタとジョット ESA 宇宙ミッション。
- ポータブル オペレーティング システム インターフェイス ( POSIX ) スタイルの RTOS で実行されている 400,000 行のアプリケーションを OpenComRTOS に変換します。
正式な開発アプローチ
OpenComRTOSの開発には、体系的かつ反復的なエンジニアリングプロセスが採用されました。要件と仕様が定義され、レスリー・ランポートのTLA+(Temporal Logical of Actions )でモデルが開発され、対応するTLCモデルチェッカーを用いてモデルチェックが行われました。これらのモデルに基づいてコードが記述され、その後、第三者がTLA+で新しいモデルを作成し、実装が同型であることを検証しました。サービスのタイマーと関連するタイムアウト機能は、Uppaalモデルチェッカーを用いてモデルチェックされました。2011年には、Springer社からOpenComRTOSプロジェクトに関する書籍が出版されました。[ 10 ]
OpenComRTOS Designer: 開発環境とツール
OpenComRTOSには多くのツールが付属しています。Visual Designerは、ユーザーがノードトポロジとアプリケーショントポロジをグラフィカルに指定できるビジュアルモデリング環境です。これらのダイアグラムから、アプリケーション固有のランタイムモデルが生成されます。各タスクには、アプリケーション固有のコードがANSI Cで提供されます。ランタイム実行とプロセッサ間相互作用は、イベントトレーサーを使用して視覚化されます。システムインスペクターを使用すると、データ構造の読み取りと変更が可能です。その他のモジュールには、ホストサーバーモジュール(任意のタスクがホストノードサービスにアクセスできるようにする)とC用の安全な仮想マシンがあります。後者は約3キロバイト(プログラムとデータで10キロバイト)を必要とし、実行時にバイナリコンパイルされたCコードを動的にダウンロードできます。
携帯性
OpenComRTOSは組み込みシステム向けに開発され、コンテキストスイッチとISRインターフェースを除き、 移植性の高いANSI Cで記述されています。OpenComRTOSは、 Freescale PowerPC、Texas Instruments C66xx DSP、Melexis MLX16、ARM Cortex M3/4、Xilinx MicroBlaze、LEON3、NXP CoolFlux DSP、そしてMS-WindowsとLinuxに移植されています。後者のバージョンはホストノードの透過的な統合を可能にし、クロス開発システムやシミュレーションシステムとしても機能します。RTOSカーネルはシングルプロセッサノードでもマルチプロセッサノードでも同一であるため、マルチプロセッサシステムをサポートするには、パケットを送受信できる小さなタスクレベルドライバを作成するだけで済みます。
OpenComRTOSは、バイナリ、ソースコード、そしてオープンテクノロジーライセンスで提供されます。オープンテクノロジーライセンスでは、形式モデル、設計ドキュメント、ソースコード、テストスイートが提供されます。
参照
参考文献
- ^ 「オープンライセンス協会」。
- ^ 「www.altreonic.com | 深宇宙から深海へ」 www.altreonic.com . 2023年4月29日閲覧。
- ^ Verhulst, Eric (2003). 「フォン・ノイマン・マシンを超えて:ソフトウェアからハードウェアへ、MP-SOCの駆動設計パラダイムとしての通信」 Jantsch, Axel; Tenhunen, Hannu (編). Networks on Chip . マサチューセッツ州ヒンガム, 米国: Kluwer Academic Publishers. pp. 217– 238. doi : 10.1007/b105353 . ISBN 978-1-4020-7392-2. S2CID 19233943 .
- ^ E. Verhulst. 「Virtuoso:専用ナノカーネルによるDSPでのサブマイクロ秒コンテキストスイッチングの提供」信号処理アプリケーションと技術に関する国際会議、サンタクララ、1993年9月。
- ^ E. Verhulst. 「トランスピューティングを超えて:Virtuosoの仮想シングルプロセッサプログラミングモデルにおける完全分散セマンティクスと市販の並列DSPへの実装」。WoTUG -20: Parallel Programming and Javaの議事録、1997年、77~86ページ。
- ^ E. Verhulst. 「非シーケンシャル処理:フォン・ノイマン・アーキテクチャが残した意味的ギャップを埋める」 Signal Processing Systems SIPS'97、35~49ページ。
- ^ E. Verhulst. 「トポロジに依存しない組み込みシステム設計手法としての分散セマンティクスの根拠とVirtuoso RTOSへの実装」『組み込みシステムの設計自動化』 2002年、6:277–294。doi: 10.1023/A:1014018820691。
- ^ E. Verhulst, G. de Jong. 「OpenComRTOS:形式モデリングを用いて設計された超小型ネットワーク中心の組み込みRTOS」。第13回国際SDLフォーラム会議「ディペンダブルシステムの設計」SDL'07の議事録、258~271ページ、ベルリン、ハイデルベルク。Springer-Verlag。
- ^ Eric Verhulst、Gjalt de Jong、Vitaliy Mezhuyev. 「産業事例:ネットワーク中心のRTOS開発における形式手法適用の落とし穴と利点」 Cuellar, J.、Maibaum, T.、Sere, K.編著『 FM 2008: Formal Methods』、Lecture Notes in Computer Science第5014巻、411~418ページ。Springer: Berlin, Heidelberg.
- ^ネットワーク中心のRTOSの形式的開発:信頼性の高い組み込みシステムのためのソフトウェアエンジニアリング、 Eric Verhulst、Raymond T. Boute、José Miguel Sampaio Faria、Bernhard HC Sputh著( ISBN 978-1-4419-9735-7)第1版、2011年、XVII、219ページ、54ページのイラスト
外部リンク
- 公式サイト、Altreonic