16
Eclipse Sirius ハンズオン Eclipse/Sirius グラフィカル DSL エディタの作り方 (入門編) 2015/12/09 澁谷和弘

20151209 eclipse sirius_handson

Embed Size (px)

Citation preview

Page 1: 20151209 eclipse sirius_handson

Eclipse Sirius ハンズオンEclipse/Sirius グラフィカル DSL エディタの作り方

(入門編)

2015/12/09

澁谷和弘

Page 2: 20151209 eclipse sirius_handson

目次

1. Eclipse のモデルベース開発の基礎知識

2. Siriusについて

3. Eclipse Sirius Hands On

– Starter Tutorial

4. 次回の予定

Page 3: 20151209 eclipse sirius_handson

Eclipse のモデルベース開発の基礎知識

• EMF

• モデルベースソフトウェア開発のステップとツール

• DSL

Page 4: 20151209 eclipse sirius_handson

EMF(Eclipse Modeling Framework)• Ecore(XMI記述)が基礎

– Java,UML,SchemaXMLと相互互換

• Ecoreからコード生成–モデル、アダプタ、基本的なエディタ

Ecore

Schema XML UML

Java

Page 5: 20151209 eclipse sirius_handson

言語/DSL の設計

ドメインモデルの記述

コード生成 実行

エディタ作成:Sirius, Xtext 等

Acceleo, Xtend 実行環境

モデルベースソフトウェア開発のステップとツール

--- eclipse の世界 ---今回のフォーカス領域

グラフィカルエディタは直観的モデル記述が可能効率を考えるとテキスト型も

Ecore, Xtext 等

Page 6: 20151209 eclipse sirius_handson

DSL(Domain Specific Language)

• 1種類のタスクを上手く実行できることを集中したもの。– 例:SQL、yacc、make– UMLの汎用ツールをよりターゲットに絞る

• DSLの種類– 内部DSL– 外部DSL

• DSLの記述方式– テキスト型DSL– グラフィカル型DSL

Page 7: 20151209 eclipse sirius_handson

DSLのメリット• メリット

– DRY(Don’t Repeat Yourself)

–生産性の向上

–特定ドメインの人とコミュニケーションが可能

• デメリット

–設計が難しい

–読みにくいコードになる可能性がある

–マイグレーション

–ハイリスクハイリターン

Page 8: 20151209 eclipse sirius_handson

Siriusについて

Page 9: 20151209 eclipse sirius_handson

Siriusとは

• グラフィカルDSLエディタ作成フレームワーク

– Ecore、viewpointをベースとして、グラフィカルエディタを作成

– viewpoint:

• Ecoreとviewpointの紐付けによりエディタを作成

Page 10: 20151209 eclipse sirius_handson
Page 11: 20151209 eclipse sirius_handson
Page 12: 20151209 eclipse sirius_handson

Eclipse Sirius Hands On

Page 13: 20151209 eclipse sirius_handson

Starter Tutorial

• https://wiki.eclipse.org/Sirius/Tutorials/StarterTutorial

Page 14: 20151209 eclipse sirius_handson

今回のソースコード

• Githubに有ります。

– https://github.com/ponta027/sirius_handson

Page 15: 20151209 eclipse sirius_handson

次回の予定

Page 16: 20151209 eclipse sirius_handson

• Advanced Tutorial

–日程未定