TECS(TOPPERS Embedded Component System)は、組込みシステムに適したコンポーネントシステムです。
ここで組込みコンポーネントシステムとは、
を提供するものです。
TECSは、TOPPERS/ASP3カーネルやTOPPERS/ATK2のように静的にコンフィグレーションするシステムにマッチするように設計されています。すなわち、コンポーネント(インスタンス化されたコンポーネントをcellと呼びます)の静的な生成と結合を基本としています。静的な生成と結合を基本としたことで、コンポーネント化によるオーバーヘッドが小さく、タスクやセマフォなどのカーネルオブジェクトのように、粒度の小さなものもコンポーネントとして扱うことができます。静的な生成と結合により、実行を開始する前にコンポーネントのメモリレイアウトが決定されたり、初期化に要する時間を短縮できるだけでなく、関数テーブルの要・不要の自動判定やコンポーネント記憶領域の削除などの最適化、インライン実装、ROM化支援などが可能となり、リアルタイムシステムに適したソフトウェアコンポーネントの開発が行えます。また、カーネルオブジェクトの静的APIのコードを自動生成しますから、これらを覚える必要がなくなります。
さらに、C言語のプロトタイプ宣言の曖昧さを排したインタフェース(signature)記述は、コンポーネント間のインタフェースの客観性を高めます。これにより、RPC(Remote Procedure Call)、関数呼び出しのトレースや、mruby ⇒ TECSブリッジなど、コンポーネント間に挿入して使用するコンポーネントの自動生成が可能になります。
TOPPERSプロジェクト TECS WGは、軽量Rubyフォーラム(外部リンク) ライブラリWGと以下を目的として、相互に協力を行います(2013年3月23日?) 。
TECS仕様として、以下を規定しています(過去公開していた暫定版仕様書はTECS簡易パッケージに含まれています)。
また、以下のものを開発しています(開発中非公開のものを含む)。
開発物 | 概要 |
---|---|
TECS ジェネレータ個別パッケージ |
TECS ジェネレータの個別パッケージです。
以下のプラグインが含まれています。
|
TECS リファレンスマニュアル | TECS 仕様書が暫定版に留まっていること、TECS CDL の最新機能に追いついていないことなどから、改めて TECS リファレンスマニュアルを作成しました。 こちら から参照できます。 |
各種カーネルのTECS対応 |
カーネルオブジェクトをTECS コンポーネント化しています。
|
ETロボコンプラットフォーム | EV3RTをベースとした mruby on EV3RT + TECSプラットフォーム です。 |
mruby on GR-PEACH+TECS |
mruby on GR-PEACH+TECS プラットフォーム です。 GR-PEACH 上で mruby(軽量Ruby)を動作させることができます。 ビルド方法やリファレンスマニュアルは、README および tecs-docsを 参照してください。 |
TECS ジェネレータの個別パッケージです。
TOPPERS/ASP3 の簡易パッケージに同梱されている TECS ジェネレータに比べ、ATK1, HRP2 に関するプラグイン、OpaqueRPC プラグインも同梱しています。
さらに、TOPPERS/ASP3 に対応する TECSCDE も同梱しています。
TECS 個別パッケージ | ||||
パッケージ | TECSジェネレータのバージョン | リリース日 | ||
---|---|---|---|---|
tecsgen-1.8.0.tgz | 2.2MB | 2022-01-22 | ||
tecsgen-1.7.0との違い | ||||
パッケージ | TECSジェネレータのバージョン | リリース日 | ||
tecsgen-1.7.0.tgz | 2.2MB | 2019-06-14 | ||
tecsgen-1.6.1との違い | ||||
tecsgen-1.6.1.tgz | 1.5MB | 2017-12-19 | ||
tecsgen-1.6.0(TOPPERS HRP3 3.0.0同梱) との違い | ||||
tecsgen-1.5.0.tgz | 1.5.0 | 2017-6-16 | ||
tecsgen-1.4.0.tgz | 1.4.0 | 2016-11-16 | ||
tecsgen-1.3.1.7.tgz | 1.3.1.7 | 2016-05-11 |
EV3RTをベースとしたmruby on EV3RT+TECSプラットフォームです。mruby(軽量Ruby)でEV3を操作できます (一通りのセンサ、モータを利用可能)。スタンドアローンで開発する方法とBluetoothを用いて開発する方法の2つが利用できます。マルチVM機能に対応し、複数のmrubyプログラムを動作させることが出来ます。動作環境、使用方法はreadme.txtを参照してください。詳しくは、下記のドキュメントを参照してください。
mruby on ev3rt+tecs | ||||
パッケージ | サイズ | リリース日 | ||
---|---|---|---|---|
mruby-on-ev3rt+tecs_package-beta2.2.0.tar.gz | 31.3MB | 2019-06-10 | ||
mruby-on-ev3rt+tecs_package-beta2.1.0.tar.gz との違い | ||||
mruby-on-ev3rt+tecs_package-beta2.1.0.tar.gz | 28.6MB | 2018-05-23 | ||
mruby-on-ev3rt+tecs_package-beta2.0.1.tar.gz との違い | ||||
mruby-on-ev3rt+tecs_package-beta2.0.1.tar.gz | 27.1MB | 2017-05-17 | ||
mruby-on-ev3rt+tecs_package-beta2.0.0.tar.gz | 28.8MB | 2017-05-02 | ||
mruby-on-ev3rt+tecs_package-beta1.0.1.tar.gz | 22.8MB | 2016-05-27 | ||
mruby-on-ev3rt+tecs_package-beta1.0.0.tar.gz | 22.8MB | 2016-05-11 | ||
mruby-on-ev3rt+tecs_package-alpha1.0.2.tar.gz | 17.9MB | 2015-07-12 | ||
mruby-on-ev3rt+tecs_package-alpha1.0.1.tar.gz | 23.8MB | 2015-06-17 | ||
mruby-on-ev3rt+tecs_package-alpha1.0.0.tar.gz | 23.9MB | 2015-06-09 |
mruby on GR-PEACH+TECS プラットフォームです。 GR-PEACH 上で mruby(軽量Ruby)を動作させることができます。 ビルド方法やリファレンスマニュアルは、README および tecs-docs を参照してください。
mruby on ev3rt+tecs | ||||
パッケージ | サイズ | リリース日 | ||
---|---|---|---|---|
mruby_on_GR-PEACH-TECS_package-alpha1.0.0.tar.gz | 1.5MB | 2017-12-19 |
こちらのページを御覧ください。
過去公開していたTECS WG の開発物です。