SlideShare a Scribd company logo
1 of 19
Download to read offline
TOPPERS TECS WG
大山博司
TOPPERS プロジェクト TECS WG 主査
名古屋大学大学院 情報科学研究科 客員教授
12016/06/03 TOPPERSプロジェクト
目次
 TECS の特徴
 今年のトピックス
– TECS が TOPPERS/ASP3 に同梱!
– mruby-on-ev3rt+tecs_package を公開!
– TECS リファレンスマニュアルを公開!
22016/06/03 TOPPERSプロジェクト
組込みコンポーネントシステム TECS
 TECS
– TOPPERS Embedded Component System
 組込みコンポーネントシステムとは
– 組込みソフトウェアをコンポーネントやサブシス
テムに分割して開発する方法を支援する仕組み
– ソフトウェアを部品化して再利用性を高める、あ
るいは部品流通を促進する仕組み
 TECS の特徴
1) C言語のためのコンポーネントシステム
2) TOPPERS 系 OS に最適
3) 分散や高級言語 I/F をサポート
32016/06/03 TOPPERSプロジェクト
TECS の特徴
1) C言語のためのコンポーネントシステム
 カプセル化できる
– 関数インタフェースのみで結合
 関数インタフェース :TECS では signature と呼ぶ
 インタフェースの、より正確な定義
– C 言語のプロトタイプ宣言の曖昧さを TECS がカバー
 ダイナミックバインディング(相当)を実現
– 関数テーブルを自動生成
 関数テーブルの要否を、TECS ジェネレータが自動判定
(最適化でメモリおよび実行時オーバーヘッド低減)
 静的な生成と結合
– 実行時オーバーヘッド、メモリオーバーヘッドの低減
 マルチインスタンス化が容易(シングルトンも可)
– 同種(同じセルタイプ)のコンポーネントを複数生成
– ポインタ渡し、ID(整数値) 渡しを選択可
42016/06/03 TOPPERSプロジェクト
TECS の特徴
2) TOPPERS の RTOS に最適
 タスクやセマフォーなどもコンポーネント化
– コンポーネントシステムの下に隠さない
 粒度の小さなものも気にせずコンポーネントにできる
– インライン関数としてコンポーネントを実装
 低オーバーヘッド
 cfg, oil ファイルを自動生成
– factory (ルールが複雑な場合は celltype プラグイン)によ
り自動生成
 関数名を分かりやすい名前に再定義
ex) act_tsk ⇒ activate (シグニチャ名が対象を表す)
 ROM 化をサポート
 TOPPERS/HRP2 の保護ドメインを視覚的に表現
– ドメインに合わせて、コードを分割生成
5
!
2016/06/03 TOPPERSプロジェクト
TECS の特徴
3) 分散や高級言語 I/F をサポート
 分散フレームワーク
– RPCPlugin, OpaqueRPCPlugin により、リモート呼出しに
必要なマーシャラ、アンマーシャラを自動生成
– 通信チャンネルの交換で、種々の環境に対応
 mruby から TECS を操作
– MrubyBridgePlugin により、mruby から TECS コンポー
ネントを操作するインタフェースコードを自動生成
インタフェースの、より正確な定義により、自動生成が可能と
なる
2016/06/03 6TOPPERSプロジェクト
目次
 TECS の特徴
 今年のトピックス
– TECS が TOPPERS/ASP3 に同梱!
– mruby-on-ev3rt+tecs_package を公開!
– TECS リファレンスマニュアルを公開!
72016/06/03 TOPPERSプロジェクト
TECS が TOPPERS/ASP3 に同梱!
 システムサービスのTECS化
– SysLog の実装のカスタマイズ容易化
⇒プロダクトライン的な利用
 TECS 版サンプルも同梱
– TECS を使用したアプリケーション開発用のサン
プル
82016/06/03 TOPPERSプロジェクト
TOPPERS/ASP3 のシステムサービス
ターゲット:
ct11mpcore_gcc
tecscde V0.5.1 を使用して
cdl ファイルから作成
% rm -f gen/tecsgen.timestamp
% make tecs “TECSGEN=tecscde.exe”
ここから位置を移動して作成
色は、cdl ファイルを表す.
同じ色は、同じcdl ファイル
に組上げ(セル)記述がある
92016/06/03 TOPPERSプロジェクト
linux版は不要
TOPPERS/ASP3 のシステムサービス
ターゲット:
macosx_xcode
cde ファイルの
__tool_info__ (位置情報)を
コピーして、同じ配置に
している
cdl ファイルの構成が
異なるため、
ct11mpcore と異なる
色づけとなる
微妙に異なることが
わかる
10
この結合がなくなってい
る
2016/06/03 TOPPERSプロジェクト
TOPPERS/ASP3 TECS 版サンプル
11
% mkdir obj_tecs
% ../configure.rb -A tSample2 -T ct11mpcore_gcc
で TECS 版サンプルを作成
2016/06/03 TOPPERSプロジェクト
TOPPERS/ASP3 TECS 版サンプル
12
サンプルアプリ部 システム
サービス部
2016/06/03 TOPPERSプロジェクト
mruby-on-ev3rt+tecsパッケージを公開!
 ダウンロード先 URL
https://www.toppers.jp/tecs.html#mruby_ev3rt
mruby-on-ev3rt+tecs_package-beta1.0.0.tar.gz
 ドキュメント (同梱)
– doc/mruby_on_ev3rt+tecs_build.pdf
– doc/mruby_sample.pdf
– doc/EV3RT_mruby_API_Reference.pdf
– doc/EV3RT_mruby_API_Reference/index.html
 ET ロボコン
https://github.com/ETrobocon/etroboEV3/wiki
132016/06/03 TOPPERSプロジェクト
MINDSTORMS EV3用
mruby-on-ev3rt+tecsパッケージ
2016/06/03 14
MINDSTORMS EV3用
mruby-on-ev3rt+tecsパッケージ
2016/06/03 15
タスクとVM
mruby ⇒ TECS ブリッジ
とデバイスドライバ
mruby ⇒ TECS ブリッジ
初期化セル (mruby へのクラス登録)
コア部分拡大
2016/06/03 16
タスクとVM
TECS リファレンスマニュアルを公開!
 参照URL
– http://dev.toppers.jp/trac_user/tecs/
 TECS リファレンスマニュアル
– TECS 利用者のためのマニュアル
 TECS 仕様書
– TECS を実装できるまで詳細化した仕様が目標
 CDL を BNF レベルで解説 (必ずしも読みやすくない)
 最新仕様に追従できていない
2016/06/03 TOPPERSプロジェクト 17
TECS WG の活動
 毎月一回WG ミーティングを開催
– TECS WG のML で案内を流しています
 年に一回合宿を開催
(最近6年の開催場所)
– 2010年度 下呂
– 2011年度 韓国
– 2012年度 島根
– 2013年度 福岡
– 2014年度 静岡(開発者会議併催), 兵庫(3月)
– 2015年度 静岡(開発者会議併催), 琵琶湖(3月)
 今年度も2回開催予定
– 2016年10月 静岡(開発者会議併催)
– 2017年3月 未定(2017年3月)
182016/06/03 TOPPERSプロジェクト
わからないときは
 TOPPERS 会員の皆さま
– com-wg@toppers.jp … TECS WG の ML
– dev@toppers.jp … 開発者 ML
 非会員の皆さま
– users@toppers.jp … ユーザー ML
192016/06/03 TOPPERSプロジェクト

More Related Content

What's hot

STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強Kiyoshi Ogawa
 
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 versionHow to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 versionKiyoshi Ogawa
 
RFC6241(Network Configuration Protocol (NETCONF))の勉強資料
RFC6241(Network Configuration Protocol (NETCONF))の勉強資料RFC6241(Network Configuration Protocol (NETCONF))の勉強資料
RFC6241(Network Configuration Protocol (NETCONF))の勉強資料Tetsuya Hasegawa
 
RFC5277(NETCONF Event Notifications)の勉強資料
RFC5277(NETCONF Event Notifications)の勉強資料RFC5277(NETCONF Event Notifications)の勉強資料
RFC5277(NETCONF Event Notifications)の勉強資料Tetsuya Hasegawa
 
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)NTT DATA Technology & Innovation
 
OPNFVのコンポーネントと調べ方
OPNFVのコンポーネントと調べ方OPNFVのコンポーネントと調べ方
OPNFVのコンポーネントと調べ方Mibu Ryota
 
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読takuyayamamoto1800
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...NTT DATA Technology & Innovation
 
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )Hironobu Isoda
 
OPNFV Handson Tokyo #1
OPNFV Handson Tokyo #1OPNFV Handson Tokyo #1
OPNFV Handson Tokyo #1Mibu Ryota
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストAtsuhiro Kubo
 
OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読takuyayamamoto1800
 
フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察cch-robo
 
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門cch-robo
 
Rtミドルウェア講習会@名城大学 20140624 3
Rtミドルウェア講習会@名城大学 20140624 3Rtミドルウェア講習会@名城大学 20140624 3
Rtミドルウェア講習会@名城大学 20140624 3openrtm
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介Etsuji Nakai
 
分散ストリーム処理フレームワーク Apache S4
分散ストリーム処理フレームワーク Apache S4分散ストリーム処理フレームワーク Apache S4
分散ストリーム処理フレームワーク Apache S4AdvancedTechNight
 

What's hot (20)

STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
 
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 versionHow to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
 
RFC6241(Network Configuration Protocol (NETCONF))の勉強資料
RFC6241(Network Configuration Protocol (NETCONF))の勉強資料RFC6241(Network Configuration Protocol (NETCONF))の勉強資料
RFC6241(Network Configuration Protocol (NETCONF))の勉強資料
 
RFC5277(NETCONF Event Notifications)の勉強資料
RFC5277(NETCONF Event Notifications)の勉強資料RFC5277(NETCONF Event Notifications)の勉強資料
RFC5277(NETCONF Event Notifications)の勉強資料
 
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
 
OPNFVのコンポーネントと調べ方
OPNFVのコンポーネントと調べ方OPNFVのコンポーネントと調べ方
OPNFVのコンポーネントと調べ方
 
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
 
Opnfv handson apex intro
Opnfv handson apex introOpnfv handson apex intro
Opnfv handson apex intro
 
Ll tiger clojure
Ll tiger clojureLl tiger clojure
Ll tiger clojure
 
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
 
OPNFV Handson Tokyo #1
OPNFV Handson Tokyo #1OPNFV Handson Tokyo #1
OPNFV Handson Tokyo #1
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
 
OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読
 
フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察
 
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門
 
Rtミドルウェア講習会@名城大学 20140624 3
Rtミドルウェア講習会@名城大学 20140624 3Rtミドルウェア講習会@名城大学 20140624 3
Rtミドルウェア講習会@名城大学 20140624 3
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 
分散ストリーム処理フレームワーク Apache S4
分散ストリーム処理フレームワーク Apache S4分散ストリーム処理フレームワーク Apache S4
分散ストリーム処理フレームワーク Apache S4
 

Viewers also liked

TOPPERSプロジェクト紹介 OSC2016京都
TOPPERSプロジェクト紹介 OSC2016京都TOPPERSプロジェクト紹介 OSC2016京都
TOPPERSプロジェクト紹介 OSC2016京都Takuya Azumi
 
Etロボコンのすゝめ
EtロボコンのすゝめEtロボコンのすゝめ
Etロボコンのすゝめkichimura
 
Mid-term presentation
Mid-term presentationMid-term presentation
Mid-term presentationYuta Goto
 
C#/Java & Linux で始める ET ロボコン
C#/Java & Linux で始める ET ロボコンC#/Java & Linux で始める ET ロボコン
C#/Java & Linux で始める ET ロボコンShin-ya Koga
 
組込み向けスクリプト言語mrubyをEV3で動かしてみよう
組込み向けスクリプト言語mrubyをEV3で動かしてみよう組込み向けスクリプト言語mrubyをEV3で動かしてみよう
組込み向けスクリプト言語mrubyをEV3で動かしてみようTakuya Azumi
 
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)Hironobu Fujiyoshi
 
Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3 Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3 Hironobu Fujiyoshi
 

Viewers also liked (8)

TOPPERSプロジェクト紹介 OSC2016京都
TOPPERSプロジェクト紹介 OSC2016京都TOPPERSプロジェクト紹介 OSC2016京都
TOPPERSプロジェクト紹介 OSC2016京都
 
Etロボコンのすゝめ
EtロボコンのすゝめEtロボコンのすゝめ
Etロボコンのすゝめ
 
Mid-term presentation
Mid-term presentationMid-term presentation
Mid-term presentation
 
C#/Java & Linux で始める ET ロボコン
C#/Java & Linux で始める ET ロボコンC#/Java & Linux で始める ET ロボコン
C#/Java & Linux で始める ET ロボコン
 
組込み向けスクリプト言語mrubyをEV3で動かしてみよう
組込み向けスクリプト言語mrubyをEV3で動かしてみよう組込み向けスクリプト言語mrubyをEV3で動かしてみよう
組込み向けスクリプト言語mrubyをEV3で動かしてみよう
 
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
 
Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3 Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
 

Similar to TOPPERS TECS WG 2016

押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)NTT DATA Technology & Innovation
 
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶスケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶAmazon Web Services Japan
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Masayuki Ozawa
 
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介Shintaro Hosoai
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介Akira Tanaka
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)NTT DATA Technology & Innovation
 
OCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCPOCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCPTetsuya Sodo
 
Apache Mesosってなに
Apache MesosってなにApache Mesosってなに
Apache MesosってなにShingo Kitayama
 
いきなりAi tensor flow gpuによる画像分類と生成
いきなりAi tensor flow gpuによる画像分類と生成いきなりAi tensor flow gpuによる画像分類と生成
いきなりAi tensor flow gpuによる画像分類と生成Yoshi Sakai
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 
Linux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworksLinux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworkstripodworks
 
Modern frontend overview_r3
Modern frontend overview_r3Modern frontend overview_r3
Modern frontend overview_r3makotunes
 
Express winter 2017_2018_jp
Express winter 2017_2018_jpExpress winter 2017_2018_jp
Express winter 2017_2018_jpEric Lo
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmShotaro Suzuki
 
TypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキストTypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキストmizuky fujitani
 
20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデートKazumasa Ikuta
 

Similar to TOPPERS TECS WG 2016 (20)

押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
 
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶスケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
 
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
OCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCPOCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCP
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
Apache Mesosってなに
Apache MesosってなにApache Mesosってなに
Apache Mesosってなに
 
いきなりAi tensor flow gpuによる画像分類と生成
いきなりAi tensor flow gpuによる画像分類と生成いきなりAi tensor flow gpuによる画像分類と生成
いきなりAi tensor flow gpuによる画像分類と生成
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
Linux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworksLinux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworks
 
Modern frontend overview_r3
Modern frontend overview_r3Modern frontend overview_r3
Modern frontend overview_r3
 
Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905
 
Express winter 2017_2018_jp
Express winter 2017_2018_jpExpress winter 2017_2018_jp
Express winter 2017_2018_jp
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapm
 
Jap1
Jap1Jap1
Jap1
 
TypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキストTypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキスト
 
20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート
 

TOPPERS TECS WG 2016

  • 1. TOPPERS TECS WG 大山博司 TOPPERS プロジェクト TECS WG 主査 名古屋大学大学院 情報科学研究科 客員教授 12016/06/03 TOPPERSプロジェクト
  • 2. 目次  TECS の特徴  今年のトピックス – TECS が TOPPERS/ASP3 に同梱! – mruby-on-ev3rt+tecs_package を公開! – TECS リファレンスマニュアルを公開! 22016/06/03 TOPPERSプロジェクト
  • 3. 組込みコンポーネントシステム TECS  TECS – TOPPERS Embedded Component System  組込みコンポーネントシステムとは – 組込みソフトウェアをコンポーネントやサブシス テムに分割して開発する方法を支援する仕組み – ソフトウェアを部品化して再利用性を高める、あ るいは部品流通を促進する仕組み  TECS の特徴 1) C言語のためのコンポーネントシステム 2) TOPPERS 系 OS に最適 3) 分散や高級言語 I/F をサポート 32016/06/03 TOPPERSプロジェクト
  • 4. TECS の特徴 1) C言語のためのコンポーネントシステム  カプセル化できる – 関数インタフェースのみで結合  関数インタフェース :TECS では signature と呼ぶ  インタフェースの、より正確な定義 – C 言語のプロトタイプ宣言の曖昧さを TECS がカバー  ダイナミックバインディング(相当)を実現 – 関数テーブルを自動生成  関数テーブルの要否を、TECS ジェネレータが自動判定 (最適化でメモリおよび実行時オーバーヘッド低減)  静的な生成と結合 – 実行時オーバーヘッド、メモリオーバーヘッドの低減  マルチインスタンス化が容易(シングルトンも可) – 同種(同じセルタイプ)のコンポーネントを複数生成 – ポインタ渡し、ID(整数値) 渡しを選択可 42016/06/03 TOPPERSプロジェクト
  • 5. TECS の特徴 2) TOPPERS の RTOS に最適  タスクやセマフォーなどもコンポーネント化 – コンポーネントシステムの下に隠さない  粒度の小さなものも気にせずコンポーネントにできる – インライン関数としてコンポーネントを実装  低オーバーヘッド  cfg, oil ファイルを自動生成 – factory (ルールが複雑な場合は celltype プラグイン)によ り自動生成  関数名を分かりやすい名前に再定義 ex) act_tsk ⇒ activate (シグニチャ名が対象を表す)  ROM 化をサポート  TOPPERS/HRP2 の保護ドメインを視覚的に表現 – ドメインに合わせて、コードを分割生成 5 ! 2016/06/03 TOPPERSプロジェクト
  • 6. TECS の特徴 3) 分散や高級言語 I/F をサポート  分散フレームワーク – RPCPlugin, OpaqueRPCPlugin により、リモート呼出しに 必要なマーシャラ、アンマーシャラを自動生成 – 通信チャンネルの交換で、種々の環境に対応  mruby から TECS を操作 – MrubyBridgePlugin により、mruby から TECS コンポー ネントを操作するインタフェースコードを自動生成 インタフェースの、より正確な定義により、自動生成が可能と なる 2016/06/03 6TOPPERSプロジェクト
  • 7. 目次  TECS の特徴  今年のトピックス – TECS が TOPPERS/ASP3 に同梱! – mruby-on-ev3rt+tecs_package を公開! – TECS リファレンスマニュアルを公開! 72016/06/03 TOPPERSプロジェクト
  • 8. TECS が TOPPERS/ASP3 に同梱!  システムサービスのTECS化 – SysLog の実装のカスタマイズ容易化 ⇒プロダクトライン的な利用  TECS 版サンプルも同梱 – TECS を使用したアプリケーション開発用のサン プル 82016/06/03 TOPPERSプロジェクト
  • 9. TOPPERS/ASP3 のシステムサービス ターゲット: ct11mpcore_gcc tecscde V0.5.1 を使用して cdl ファイルから作成 % rm -f gen/tecsgen.timestamp % make tecs “TECSGEN=tecscde.exe” ここから位置を移動して作成 色は、cdl ファイルを表す. 同じ色は、同じcdl ファイル に組上げ(セル)記述がある 92016/06/03 TOPPERSプロジェクト linux版は不要
  • 10. TOPPERS/ASP3 のシステムサービス ターゲット: macosx_xcode cde ファイルの __tool_info__ (位置情報)を コピーして、同じ配置に している cdl ファイルの構成が 異なるため、 ct11mpcore と異なる 色づけとなる 微妙に異なることが わかる 10 この結合がなくなってい る 2016/06/03 TOPPERSプロジェクト
  • 11. TOPPERS/ASP3 TECS 版サンプル 11 % mkdir obj_tecs % ../configure.rb -A tSample2 -T ct11mpcore_gcc で TECS 版サンプルを作成 2016/06/03 TOPPERSプロジェクト
  • 12. TOPPERS/ASP3 TECS 版サンプル 12 サンプルアプリ部 システム サービス部 2016/06/03 TOPPERSプロジェクト
  • 13. mruby-on-ev3rt+tecsパッケージを公開!  ダウンロード先 URL https://www.toppers.jp/tecs.html#mruby_ev3rt mruby-on-ev3rt+tecs_package-beta1.0.0.tar.gz  ドキュメント (同梱) – doc/mruby_on_ev3rt+tecs_build.pdf – doc/mruby_sample.pdf – doc/EV3RT_mruby_API_Reference.pdf – doc/EV3RT_mruby_API_Reference/index.html  ET ロボコン https://github.com/ETrobocon/etroboEV3/wiki 132016/06/03 TOPPERSプロジェクト
  • 15. MINDSTORMS EV3用 mruby-on-ev3rt+tecsパッケージ 2016/06/03 15 タスクとVM mruby ⇒ TECS ブリッジ とデバイスドライバ mruby ⇒ TECS ブリッジ 初期化セル (mruby へのクラス登録)
  • 17. TECS リファレンスマニュアルを公開!  参照URL – http://dev.toppers.jp/trac_user/tecs/  TECS リファレンスマニュアル – TECS 利用者のためのマニュアル  TECS 仕様書 – TECS を実装できるまで詳細化した仕様が目標  CDL を BNF レベルで解説 (必ずしも読みやすくない)  最新仕様に追従できていない 2016/06/03 TOPPERSプロジェクト 17
  • 18. TECS WG の活動  毎月一回WG ミーティングを開催 – TECS WG のML で案内を流しています  年に一回合宿を開催 (最近6年の開催場所) – 2010年度 下呂 – 2011年度 韓国 – 2012年度 島根 – 2013年度 福岡 – 2014年度 静岡(開発者会議併催), 兵庫(3月) – 2015年度 静岡(開発者会議併催), 琵琶湖(3月)  今年度も2回開催予定 – 2016年10月 静岡(開発者会議併催) – 2017年3月 未定(2017年3月) 182016/06/03 TOPPERSプロジェクト
  • 19. わからないときは  TOPPERS 会員の皆さま – com-wg@toppers.jp … TECS WG の ML – dev@toppers.jp … 開発者 ML  非会員の皆さま – users@toppers.jp … ユーザー ML 192016/06/03 TOPPERSプロジェクト