Soumettre la recherche
Mettre en ligne
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
•
2 j'aime
•
3,809 vues
Y
Yuki Tsuchitoi
Suivre
モデルベース勉強会で説明したBridgePointを使ったETロボコン環境の資料です。前半はロボコンの紹介になっています。
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 22
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
20170706 04 bridgepointでモデル駆動を実践する
20170706 04 bridgepointでモデル駆動を実践する
Yuki Tsuchitoi
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
NTT Communications Technology Development
2017ipsj全国大会発表スライド_池田
2017ipsj全国大会発表スライド_池田
siramatu-lab
UnityとROSの連携について
UnityとROSの連携について
UnityTechnologiesJapan002
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)
Takahiro Miyaura
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
UnityTechnologiesJapan002
Recommandé
20170706 04 bridgepointでモデル駆動を実践する
20170706 04 bridgepointでモデル駆動を実践する
Yuki Tsuchitoi
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
NTT Communications Technology Development
2017ipsj全国大会発表スライド_池田
2017ipsj全国大会発表スライド_池田
siramatu-lab
UnityとROSの連携について
UnityとROSの連携について
UnityTechnologiesJapan002
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)
Takahiro Miyaura
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
UnityTechnologiesJapan002
Android/iOS端末におけるエッジ推論のチューニング
Android/iOS端末におけるエッジ推論のチューニング
Deep Learning Lab(ディープラーニング・ラボ)
Oculus Quest で点群を見る
Oculus Quest で点群を見る
matsunoh
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
Unity Technologies Japan K.K.
THETA プラグインでWebRTC やってみた
THETA プラグインでWebRTC やってみた
Hideki Shiro
落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット
森 哲也
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
Unity Technologies Japan K.K.
データサイエンティストの仕事とデータ分析コンテスト
データサイエンティストの仕事とデータ分析コンテスト
Ken'ichi Matsui
ゲーム開発を乗りこなせ! ヒストリア流ゲーム開発マネジメント手法
ゲーム開発を乗りこなせ! ヒストリア流ゲーム開発マネジメント手法
historia_Inc
フーリエ変換を用いたテクスチャ解像度推定とその応用
フーリエ変換を用いたテクスチャ解像度推定とその応用
Hajime Uchimura
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
Kazuyuki Miyazawa
非技術者でもわかる(?)コンピュータビジョン紹介資料
非技術者でもわかる(?)コンピュータビジョン紹介資料
Takuya Minagawa
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
Game Tools & Middleware Forum
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
UnityTechnologiesJapan002
モバイル向けEdgeTPUの紹介
モバイル向けEdgeTPUの紹介
卓然 郭
[DL輪読会]End-to-End Object Detection with Transformers
[DL輪読会]End-to-End Object Detection with Transformers
Deep Learning JP
テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
Shingo Mori
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
com044
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
Minoru Yokomichi
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
tnoho
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
外乱光対策にまいまい式を使おう(ETロボコン2011東京連合第1回)
外乱光対策にまいまい式を使おう(ETロボコン2011東京連合第1回)
Yohei Onishi
Contenu connexe
Tendances
Android/iOS端末におけるエッジ推論のチューニング
Android/iOS端末におけるエッジ推論のチューニング
Deep Learning Lab(ディープラーニング・ラボ)
Oculus Quest で点群を見る
Oculus Quest で点群を見る
matsunoh
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
Unity Technologies Japan K.K.
THETA プラグインでWebRTC やってみた
THETA プラグインでWebRTC やってみた
Hideki Shiro
落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット
森 哲也
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
Unity Technologies Japan K.K.
データサイエンティストの仕事とデータ分析コンテスト
データサイエンティストの仕事とデータ分析コンテスト
Ken'ichi Matsui
ゲーム開発を乗りこなせ! ヒストリア流ゲーム開発マネジメント手法
ゲーム開発を乗りこなせ! ヒストリア流ゲーム開発マネジメント手法
historia_Inc
フーリエ変換を用いたテクスチャ解像度推定とその応用
フーリエ変換を用いたテクスチャ解像度推定とその応用
Hajime Uchimura
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
Kazuyuki Miyazawa
非技術者でもわかる(?)コンピュータビジョン紹介資料
非技術者でもわかる(?)コンピュータビジョン紹介資料
Takuya Minagawa
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
Game Tools & Middleware Forum
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
UnityTechnologiesJapan002
モバイル向けEdgeTPUの紹介
モバイル向けEdgeTPUの紹介
卓然 郭
[DL輪読会]End-to-End Object Detection with Transformers
[DL輪読会]End-to-End Object Detection with Transformers
Deep Learning JP
テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
Shingo Mori
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
com044
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
Minoru Yokomichi
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
tnoho
Tendances
(20)
Android/iOS端末におけるエッジ推論のチューニング
Android/iOS端末におけるエッジ推論のチューニング
Oculus Quest で点群を見る
Oculus Quest で点群を見る
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
THETA プラグインでWebRTC やってみた
THETA プラグインでWebRTC やってみた
落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
データサイエンティストの仕事とデータ分析コンテスト
データサイエンティストの仕事とデータ分析コンテスト
ゲーム開発を乗りこなせ! ヒストリア流ゲーム開発マネジメント手法
ゲーム開発を乗りこなせ! ヒストリア流ゲーム開発マネジメント手法
フーリエ変換を用いたテクスチャ解像度推定とその応用
フーリエ変換を用いたテクスチャ解像度推定とその応用
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
非技術者でもわかる(?)コンピュータビジョン紹介資料
非技術者でもわかる(?)コンピュータビジョン紹介資料
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
モバイル向けEdgeTPUの紹介
モバイル向けEdgeTPUの紹介
[DL輪読会]End-to-End Object Detection with Transformers
[DL輪読会]End-to-End Object Detection with Transformers
テストを分類してみよう!
テストを分類してみよう!
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
En vedette
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
外乱光対策にまいまい式を使おう(ETロボコン2011東京連合第1回)
外乱光対策にまいまい式を使おう(ETロボコン2011東京連合第1回)
Yohei Onishi
EclipseCon NA 2015 report
EclipseCon NA 2015 report
Akira Tanaka
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
増田 亨
オープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアル
Akira Tanaka
ドメイン駆動設計入門
ドメイン駆動設計入門
Takuya Kitamura
En vedette
(6)
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
外乱光対策にまいまい式を使おう(ETロボコン2011東京連合第1回)
外乱光対策にまいまい式を使おう(ETロボコン2011東京連合第1回)
EclipseCon NA 2015 report
EclipseCon NA 2015 report
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
オープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアル
ドメイン駆動設計入門
ドメイン駆動設計入門
Similaire à BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
Atomu Hidaka
レゴブロックとC#を使ったIoT体験
レゴブロックとC#を使ったIoT体験
Shigeharu Yamaoka
2.プログラミングの基礎
2.プログラミングの基礎
openrtm
自律走行ロボットをプログラミングするということ ~ETロボコンの場合~
自律走行ロボットをプログラミングするということ ~ETロボコンの場合~
Shin-ya Koga
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
IoTビジネス共創ラボ
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」
NoriakiAndo
131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料
openrtm
1.コース概要
1.コース概要
openrtm
C#/Java & Linux で始める ET ロボコン
C#/Java & Linux で始める ET ロボコン
Shin-ya Koga
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
Internet Explorer 10 概要と変更点
Internet Explorer 10 概要と変更点
Microsoft
BricRoboEV3RT開発環境の使い方
BricRoboEV3RT開発環境の使い方
Toru Eguchi
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
Atsuhiro Kubo
Bot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごい
Yoshitaka Seo
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
智治 長沢
ngCore engine for mobage platform
ngCore engine for mobage platform
Toru Yamaguchi
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
You&I
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
Takeshi Fukuhara
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
日本マイクロソフト株式会社
201110 02 Polytech center 2
201110 02 Polytech center 2
openrtm
Similaire à BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
(20)
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
レゴブロックとC#を使ったIoT体験
レゴブロックとC#を使ったIoT体験
2.プログラミングの基礎
2.プログラミングの基礎
自律走行ロボットをプログラミングするということ ~ETロボコンの場合~
自律走行ロボットをプログラミングするということ ~ETロボコンの場合~
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」
131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料
1.コース概要
1.コース概要
C#/Java & Linux で始める ET ロボコン
C#/Java & Linux で始める ET ロボコン
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Internet Explorer 10 概要と変更点
Internet Explorer 10 概要と変更点
BricRoboEV3RT開発環境の使い方
BricRoboEV3RT開発環境の使い方
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
Bot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごい
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
ngCore engine for mobage platform
ngCore engine for mobage platform
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
201110 02 Polytech center 2
201110 02 Polytech center 2
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
1.
BridgePointを使ったモデル駆動開発 モデルデバッグと自動生成 ETロボコン用BridgePoint環境のご紹介 1ETロボコン技術教育資料/ETロボコン実行委員会 2015年ETロボコン本部審査員 土樋 祐希
2.
1. ETロボコンのご紹介 2. BridgePointと開発プロセス 3.
ETロボコン用に作ったBridgePoint環境のでも ・Verifierによるモデルの動作確認 ・コード生成 2ETロボコン技術教育資料/ETロボコン実行委員会 説明内容 LEGOおよびMINDSTORMSはLEGO Groupの商標です
3.
© 2015 Fuji
Xerox Co., Ltd. All rights reserved. 3 LEGO MINDSTORMS NXT/EV3でトラックを走る競技 – 同じ走行体を利用して指定コースを走る – 各チームが分析・設計したソフトウエアを搭載する ソフトウェアの性能と設計を競う二つの審査 – 性能評価:ロボット走行性能(タイム)を競う – 設計評価:システム開発における分析・設計はUML等のモデリング手法を用い、そ の設計資料(モデル)を事前に提出し、第三者から審査される 組込みソフトウェア技術者の育成がテーマ – 全国から多数の企業・大学・高校・高専が参加 – 技術教育、独自テーマ教育やワークショップも行われる ETロボットコンテスト(ETロボコン)とは 組込みシステム技術協会主催のコンテスト。走行体に搭載するソフトとその設計で競う NXTのスペック ARM7 256k ROM 32K RAM 2012 2013 2014 参加チーム数 337 363 336
4.
© 2015 Fuji
Xerox Co., Ltd. All rights reserved. 4 インコース/アウトコースをそれぞれ1度ずつ走行 スタートから第2ゴールゲート->第1ゴールゲート->第2ゴールゲートと通ってコースタイムが 決まる(リタイア時は2分とみなされ、そこで競技終了) コースタイムの他に難所と呼ばれるところがあり、そこを既定の方式で通過するとボーナス タイムが取得され、コースタイムから引かれる(これをリザルトタイムと呼ぶ) 2回走行したリザルトタイムの合計で競技の順位が決まる 2014年 競技説明(アドバンストクラス概要) ジャンプ台 モーグル フィギュアL ※使用している各図はETロボコン2014競技規約より引用 仕様未確定エリア
5.
© 2015 Fuji
Xerox Co., Ltd. All rights reserved. 5 ETロボコンには3つの部門がある ETロボコンの参加部門(2015年度) 部門 説明 評価基準 デベロッパープライマリー クラス 組込みシステム初級者対象のクラ ス。既定の自律走行体(2輪)で プライマリー用コースを走る。 走行+必要最低限なモデル (表現+機能実現)の審査結果 デベロッパーアドバンスト クラス 組込システム開発の中級者を対象 としたクラス。既定の自律走行体 (3輪)を使用。コースの難易度 が高い 走行+ソフトウェアの設計モデ ル(制御、設計、未確定仕様 への対応)の審査結果 イノベータ部門 システム全体の企画・開発にチャ レンジするクラス。独自に製品・ サービスを企画し、開発する 製品の企画、それを実現する ための技術、企画のプレゼン テーション 今年度の参加は締め切りましたが、来年度以降も 興味ある方はご参加ください! アドバンストクラス の規定走行体
6.
© 2015 Fuji
Xerox Co., Ltd. All rights reserved. 6 https://youtu.be/2RzSbGufkGA などを参照 競技風景
7.
・BridgePointはxtUML(eXecutable & Translatable)の 方法論を取り入れたツール ・xtUMLはモデルを実行したり変換するためのUMLプロファイ ルの一つ(使える表記はかなり限られる) ・モデルを記述し、モデルのまま動作させ、最終的にはモデ ルをソースコードに変換する ・モデルの変換は変換ルールによって行われ、変換 ルールを切り替えることで、同じモデルから複数の環境 に対応するソースコードを生成 ・もともとはMentorGraphics社の製品だったが、 2014年からオープンソースとなり、誰でも使える 環境となった ・xtuml.orgにて各種の情報を得ることができる 7ETロボコン技術教育資料/ETロボコン実行委員会 BridgePointについて
8.
8ETロボコン技術教育資料/ETロボコン実行委員会 BridgePointの開発プロセス 2.分析モデル 動作確認 1.分析モデル 作成・修正 Markingファイル 3.モデルから コード生成 4.実機での 動作確認 ドメインモデルの構築(アプリ開発) 1.実装プラット フォームの調査 2.変換方法設計 変換コードI/F 実装設計 3.変換ルール ライブラリコード Marking使用方針 変換ルールの構築 ●ドメインモデルと変換ルールを独立して開発する ●変換ルールはターゲットの環境に依存し、ドメインモデルにはそれほど 依存しない。そのため、変換ルール自体を再利用可能 ●アプリ作成者はドメインモデル(PIM)に注力すればよく、どのように コードが生成されるかなどは気にしない 不具合発生時のパス
9.
9ETロボコン技術教育資料/ETロボコン実行委員会 BridgePointで記述するモデル要素 クラス図 ステートチャート図 クラス図で状態を持つものは ステートマシン図を記述 xtUMLに 基づいた記述 ステートの中のアクションを 専用のアクション言語 (専用の抽象度の高い言語)で記述 アクション記述 現在ではユースケース、 シーケンス図記述できます (生成には関係しない)
10.
モデルをコンパイルすることなくそのまま実行 ⇒ 即座にモデルを検証可能 10ETロボコン技術教育資料/ETロボコン実行委員会 Verifierによるモデルの実行 現在のステートを ハイライト
11.
11ETロボコン技術教育資料/ETロボコン実行委員会 モデルからのコード生成 ◎ モデルとMarkingファイルを入力としてコードを生成する ・ Markingファイル:コード生成時にモデルコンパイラに渡す変換時のヒント コンパイルオプションなど ◎
生成されたコードとアーキテクチャ構築で作成したライブラリ、OSや外部の手書きコード を結合することで動作する 動作確認したモデル Markingファイル ドメインモデル構築の成果物 アーキテクチャ構築の成果物 モデルコンパイラ 変換ルール ライブラリ OS・手書きコードなど 生成されたコード 動作するコード
12.
・モデルは既存の外部コードと接続することができる ・その仕組みがBridgeとFunction 12ETロボコン技術教育資料/ETロボコン実行委員会 BridgeとFunction モデルの範囲 手書きコード 手書きコード Bridge Function モデルで書いた ものがIFとなる 既存のIFをモデルに 取り込む (実際はラッパも書く) Bridgeの例
13.
メリット ・プラットフォームのことを意識しなくていいので、モデル 作成に集中できる ⇒ 生成されたコードのレビューは基本的にしなくなる ・モデルとコードがかい離しない ・モデルや変換ルールを再利用しやすい デメリット ・モデルの書き方がやや特殊(継承によるポリフォリズムがない) ⇒ データベースに近いモデル ・最初環境に合わせた変換ルールを用意するのが大変 ⇒変換ルールを作る人はメタモデル、プラットフォームなど 幅広く知らなくてはならない(逆にいうとその人が 苦労すれば他の人は知らなくてもよい) ⇒ここが使いこなせるかどうかの分かれ目 13ETロボコン技術教育資料/ETロボコン実行委員会 BridgePointによる開発の特徴
14.
・ETロボコン用にBridgePointによる開発環境を作成 ・今年から従来使われてきたNXTという機体だけでなく EV3という新しい機体を使えるようになった ⇒ OSも異なり、使用できるAPIも異なる ・本環境は同じモデルをどちらにも変換できる 14ETロボコン技術教育資料/ETロボコン実行委員会 ETロボコン用開発環境 NXT EV3 NXTのスペック ARM7 ROM:256K RAM:32K OS:nxtOSEK EV3のスペック ARM9 ROM:16M RAM:64M OS:EV3RT 同じモデル 変換
15.
・projectをbuildするとコードが生成される ・生成されたコードのコンパイルはそれぞれの 環境に合わせて行う(まだコマンドラインですが) ・作成したファイルをロボットにダウンロードして 動作させる 15ETロボコン技術教育資料/ETロボコン実行委員会 コード自動生成とコンパイル
16.
16ETロボコン技術教育資料/ETロボコン実行委員会 デモ 動き方 ・2輪で倒立 ・3秒進んで2秒右に回転、それを繰り返す 1. Verifierを使ったモデルの動作 ブレークポイントの設定、状態遷移など 2. NXTの自動生成と動作デモ 3.
EV3のコード生成
17.
17ETロボコン技術教育資料/ETロボコン実行委員会 デモ用のサンプル(クラス図) 時間で単純に 直進、ターンを 繰り返す NXT 倒立を実現している クラス (倒立させるには 4ms毎にライブラリ を呼び出して出力を 変更する必要がある ジャイロによる 角度などを用いて モーター出力を変え る
18.
・システムが起動した際に呼ばれるFunction ・Markingにより、任意のFunctionをセットアップとして 割り当てることができる 18ETロボコン技術教育資料/ETロボコン実行委員会 セットアップFunction create object instance
aRobot of R_BR; create object instance aTimeTurn of R_T; relate aRobot to aTimeTurn across R1; generate R_BR1:wait_start to aRobot; それぞれのクラスのインスタン スを生成し、関連付けている 最後にイベントを送信して 起動を開始する
19.
19ETロボコン技術教育資料/ETロボコン実行委員会 BalancedRobotのステートマシン
20.
20ETロボコン技術教育資料/ETロボコン実行委員会 Timed Turnのステートマシン
21.
・BridgePointのオープン化に伴い、これから ますますモデル駆動が注目されていくと思われます ・モデルで動作するということを学ぶと、どれ位を モデルで書けばよいというのがわかる様になるので 通常の分析・設計にも有効だと感じています ・モデル変換の技術も応用の幅が広いので、 学ぶ価値があります ⇒ DSLなども作れるようになりますし、他にも いろいろできるようになります ・そのうちユーザー会や勉強会などもやるかもしれま せんので、ご興味ある方はどうぞ 21ETロボコン技術教育資料/ETロボコン実行委員会 最後に
22.
http://monoist.atmarkit.co.jp/mn/kw/3et_robo.html 「ETロボコン 3つのアプローチ」で検索 ETロボコンにBridgePointやDSLを使った参戦記 22ETロボコン技術教育資料/ETロボコン実行委員会 参考情報
Télécharger maintenant