20151209 eclipse sirius_handson
TRANSCRIPT
![Page 1: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/1.jpg)
Eclipse Sirius ハンズオンEclipse/Sirius グラフィカル DSL エディタの作り方
(入門編)
2015/12/09
澁谷和弘
![Page 2: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/2.jpg)
目次
1. Eclipse のモデルベース開発の基礎知識
2. Siriusについて
3. Eclipse Sirius Hands On
– Starter Tutorial
4. 次回の予定
![Page 3: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/3.jpg)
Eclipse のモデルベース開発の基礎知識
• EMF
• モデルベースソフトウェア開発のステップとツール
• DSL
![Page 4: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/4.jpg)
EMF(Eclipse Modeling Framework)• Ecore(XMI記述)が基礎
– Java,UML,SchemaXMLと相互互換
• Ecoreからコード生成–モデル、アダプタ、基本的なエディタ
Ecore
Schema XML UML
Java
![Page 5: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/5.jpg)
言語/DSL の設計
ドメインモデルの記述
コード生成 実行
エディタ作成:Sirius, Xtext 等
Acceleo, Xtend 実行環境
モデルベースソフトウェア開発のステップとツール
--- eclipse の世界 ---今回のフォーカス領域
グラフィカルエディタは直観的モデル記述が可能効率を考えるとテキスト型も
Ecore, Xtext 等
![Page 6: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/6.jpg)
DSL(Domain Specific Language)
• 1種類のタスクを上手く実行できることを集中したもの。– 例:SQL、yacc、make– UMLの汎用ツールをよりターゲットに絞る
• DSLの種類– 内部DSL– 外部DSL
• DSLの記述方式– テキスト型DSL– グラフィカル型DSL
![Page 7: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/7.jpg)
DSLのメリット• メリット
– DRY(Don’t Repeat Yourself)
–生産性の向上
–特定ドメインの人とコミュニケーションが可能
• デメリット
–設計が難しい
–読みにくいコードになる可能性がある
–マイグレーション
–ハイリスクハイリターン
![Page 8: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/8.jpg)
Siriusについて
![Page 9: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/9.jpg)
Siriusとは
• グラフィカルDSLエディタ作成フレームワーク
– Ecore、viewpointをベースとして、グラフィカルエディタを作成
– viewpoint:
• Ecoreとviewpointの紐付けによりエディタを作成
![Page 10: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/10.jpg)
![Page 11: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/11.jpg)
![Page 12: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/12.jpg)
Eclipse Sirius Hands On
![Page 13: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/13.jpg)
Starter Tutorial
• https://wiki.eclipse.org/Sirius/Tutorials/StarterTutorial
![Page 14: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/14.jpg)
今回のソースコード
• Githubに有ります。
– https://github.com/ponta027/sirius_handson
![Page 15: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/15.jpg)
次回の予定
![Page 16: 20151209 eclipse sirius_handson](https://reader033.vdocuments.mx/reader033/viewer/2022051503/5a67b6ae7f8b9a2f638b5fcf/html5/thumbnails/16.jpg)
• Advanced Tutorial
–日程未定