OpenComRTOS アプリケーションビュー | |
| 開発者 | アルトレオニックNV |
|---|---|
| 書かれた | ANSI C |
| OSファミリー | 分散 マイクロカーネル |
| 作業状態 | 現在 |
| ソースモデル | ソース利用可能、ライセンス |
| 初回リリース | 2008年 |
| 最新リリース | 1.6 / 2014年8月 |
| マーケティングターゲット | 組み込みシステム |
| 利用可能 | 英語 |
| パッケージマネージャー | OpenComRTOS スイート msi ファイル |
| プラットフォーム | Freescale PowerPC、Texas Instruments C66xxx DSP、ARM、XMOS、MicroBlaze、LEON、NXP CoolFlux DSP、Melexis MLX16、Win32、Linux |
| カーネルタイプ | ネットワーク中心のリアルタイムメッセージパッシング マイクロカーネル |
| デフォルトの ユーザーインターフェース | ホストマシン上の開発環境 |
| ライセンス | バイナリ、ソース、オープンテクノロジー |
| 先行 | 名人 |
| 後継者 | VirtuosoNext |
| 公式サイト | 翻訳: |
OpenComRTOS は、主に組み込みシステム市場を対象とした、ネットワーク中心の正式に開発された商用リアルタイム オペレーティング システム(RTOS)です。
概要
OpenComRTOS は形式手法を使用して開発されました。プロセッサのワードサイズ ( 16 ビット、24 ビット、32 ビット、64 ビット) や通信媒体 (既存の通信メカニズム上の共有メモリ、バス、ポイントツーポイント リンク、または仮想リンク) に関係なく、異種マルチプロセッサ システムを透過的にサポートする機能などの機能があります。32 ビット ターゲット プロセッサ上の一般的なコード サイズは約 5 キロバイトです。
OpenComRTOS は、相互作用エンティティのメタモデリング パラダイムに基づいています。RTOS では、実行単位はタスク(ローカル ワークスペースまたはスタックを持つ関数) です。タスク エンティティは、相互作用するタスクから分離された中間ハブエンティティを使用して同期および通信します。ハブは、正式にはガードされたアクションとしてモデル化されます。現在の実装では、イベント、セマフォ、ポート、先入れ先出し ( FIFO ) スタック、リソース、パケット プール、メモリ プールなどの従来の RTOS サービスの機能を提供しています。ユーザーは、カスタム ハブ タイプを作成することもできます。
OpenComRTOS は、カーネルタスク、ドライバー タスク、アプリケーション タスクで構成される統一アーキテクチャを使用し、それぞれにタスク入力ポートがあります。割り込みサービス ルーチンには同じインターフェイスが使用されます。基盤となるアーキテクチャは、通信とルーティングが基盤となるシステム サービスの一部である、優先順位付けされたパケット スイッチングの使用に依存しています。その結果、タスクのソース コードは、ターゲット システムの処理ノードへのタスクとハブのマッピングとは無関係になります。
歴史
OpenComRTOS開発の当初の目的は、 Interacting Entitiesに基づく首尾一貫した統一されたシステムエンジニアリング方法論をサポートするソフトウェアランタイム環境を提供することでした。これはもともと2005年以来Open License Society [1]によって開発され、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 の開発には、体系的でありながら反復的なエンジニアリング プロセスが採用されました。要件と仕様が定義され、モデルはLeslie LamportのTLA+ ( Temporal Logic 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: 並列プログラミングと Java の議事録、1997 年、77 ~ 86 ページ。
- ^ E. Verhulst. 「非順次処理: フォン・ノイマン・アーキテクチャによって残された意味的ギャップを埋める」。Signal Processing Systems SIPS'97、35~49ページ。
- ^ E. Verhulst. 「トポロジに依存しない組み込みシステム設計手法としての分散セマンティクスの根拠と Virtuoso RTOS への実装」。Design Automation for Embedded Systems、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: ベルリン、ハイデルベルク。
- ^ ネットワーク中心の 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
