Top Banner
MBSD ツールチェーンと今後の活動 2015/09/01 田中
35

MBSD ツールチェーンと今後の活動

Jan 24, 2018

Download

Technology

Akira Tanaka
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MBSD ツールチェーンと今後の活動

MBSD  ツールチェーンと今後の活動

   

2015/09/01  田中  

Page 2: MBSD ツールチェーンと今後の活動

アジェンダ

•  これまでの活動について  •  MBSD  ツールチェーン  •  今後の活動について  

2

Page 3: MBSD ツールチェーンと今後の活動

これまでの活動

2015 02 03 04 05 06 07 08 09 10 …..

・キックオフ(2/7)

・さくさく要件定義 勉強会(2/18)

・勉強会(4/25)

・DDD  Night(5/27)

・EMF  Forms ハンズオン Night  (6/3)

・UML  ハンズオン vol.1  (6/22)

・UML  ハンズオン vol.2  (7/15)

第0回と第1回は比較的広い話題で参加募集を行い、それ以外は特定の技術領域に限定し少人数で募集を行いました

3

Page 4: MBSD ツールチェーンと今後の活動

これまでの活動

4

Page 5: MBSD ツールチェーンと今後の活動

今後の活動イメージ

2015 09   10 11 12 01 02 03 04 05 …..

・第2回勉強会(9/1:本日)

2016

5

X X X X

Y Y Y

Z Z Z

…….

Workshop/Hands-­‐on

?

?

?

・第3回勉強会?

Page 6: MBSD ツールチェーンと今後の活動

今後のために

•  当コミュニティの今後の活動を考えるため、MBSD を一歩引いて眺めてみます  

–  モデリング、モデル変換・コード生成・実行などで構成されるプロセスがあります  

–  これを、利用するツールを中心に整理します  

– MBSD  ツールチェーンです  •  それを利用して次の活動を考えたいということです

6

Page 7: MBSD ツールチェーンと今後の活動

MBSD ツールチェーンの主な要素

•  主な概念を簡単にあげてみます

7

Page 8: MBSD ツールチェーンと今後の活動

MBSD ツールチェーンの主な要素

•  もう少し分かり易いアクティビティ的な書き方にします

8

メタモデル  (モデル記述言語)

モデル

モデル変換

コード生成 コード実行環境

モデル実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ チーム開発・再利用

Page 9: MBSD ツールチェーンと今後の活動

メタモデル記述言語  

•  メタモデルを記述するための言語・モデル  – 標準はOMG  MOF  (Meta-­‐Object  Facility)  – Eclipse  では  EMF  の中で  Ecore  として実装されて

います  – Xtext では一般的な文法定義用の  EBNF(Extended  Bucks-­‐Naur  Form) をベースにした文法定義言語を実装しています

9

Page 10: MBSD ツールチェーンと今後の活動

10

hYps://eclipse.org/modeling/emf/

Page 11: MBSD ツールチェーンと今後の活動

メタモデル記述言語  

hYps://ja.wikipedia.org/wiki/EBNF

hYp://www.eclipse.org/Xtext/documenta]on/301_grammarlanguage.html

11

Page 12: MBSD ツールチェーンと今後の活動

メタモデル(モデル記述言語)  

•  モデル記述言語としての役割を果たします

12

Page 13: MBSD ツールチェーンと今後の活動

UML メタモデルの例  

hYps://raw.githubusercontent.com/creckord/org.eclipse.uml2/master/plugins/org.eclipse.uml2.uml/model/UML.ecore 13

XMI(XML) 形式

木構造エディタで表示

UML.ecore

Page 14: MBSD ツールチェーンと今後の活動

UML メタモデルの例  

14

UML.ecore を単に図形表示(一部)しただけだと大きく・細かくなり、ほとんど読めません

Page 15: MBSD ツールチェーンと今後の活動

Xtext によるメタモデル記述例

付属のサンプルより 15

Page 16: MBSD ツールチェーンと今後の活動

モデルエディタ  

•  モデル作成・編集等を行うためのエディタ  

16

Page 17: MBSD ツールチェーンと今後の活動

モデル  

•  モデルエディタを使い作成した対象の抽象化

hYps://eclipse.org/sirius/gallery.html

hYp://www.eclipse.org/Xtext/documenta]on/103_domainmodelnextsteps.html

17

Page 18: MBSD ツールチェーンと今後の活動

モデル変換  

•  ある観点で記述されたモデルを別の観点のモデルに変換すること  –  例1:オブジェクトモデルをリレーショナルモデルに変換  –  例2:ビジネスプロセスをサービスモデルに変換

18

Page 19: MBSD ツールチェーンと今後の活動

コード生成  

•  モデルに含まれる情報に基づき、主に次のようなテキスト情報を生成すること  –  Java等のプログラムコード  –  HTMLデータ  –  XMLデータ  –  CSSデータ  –  ドキュメンテーション 等  

19

Page 20: MBSD ツールチェーンと今後の活動

MBSD ツールチェーンの主な要素

メタモデル  (モデル記述言語)

モデル

モデル変換

コード生成 コード実行環境

モデル実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ チーム開発・再利用

20

Page 21: MBSD ツールチェーンと今後の活動

これまでの活動で触れた技術を重ねてみると

メタモデル  (モデル記述言語)

モデル

モデル変換

コード生成 コード実行環境

モデル実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ チーム開発・再利用

要求定義  分析設計  UMLモデリング  DDD

UML,  EMF,  Sirius,  Xtext

BridgePoint/xtUML  “そのまま動作するモデル”  Mendix  EMF  Forms

Acceleo,  Xtend Spring

CMOF/EMOF/Xtext文法

UMLメタモデル,  DSL

21

Page 22: MBSD ツールチェーンと今後の活動

MBSD ツールチェーン実現の形

•  Code  Genera]on  型  – UML  ベース  – Eclipse(DSL)ベース  

•  EMF  +  GMF  •  Sirius  •  Xtext  

•  Model  Interpreta]on/Execu]on  型  – UML  ベース  – Mendix  など

22

Page 23: MBSD ツールチェーンと今後の活動

Code  Genera]on:  UML ベース

メタモデル  (モデル記述言語)

モデル

モデル変換

コード生成 コード実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ

MOF

UML2  メタモデル UML  ツール

メタモデル/UML  Profile

QVT,  ATL

Acceleo,  Xtend

UML  拡張 DDD

23

Page 24: MBSD ツールチェーンと今後の活動

Code  Genera]on:  Eclipse ベース  -­‐-­‐-­‐  DSL:  EMF  +  GMF  -­‐-­‐-­‐

メタモデル  (モデル記述言語)

モデル

モデル変換

コード生成 コード実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ

eMOF

Ecore 木構造+属性エディタ  or  GMF  エディタ*

QVT,  ATL  

*  GMFエディタ開発はかなりの労力が必要

Acceleo,  Xpand/Xtend

?

24

Page 25: MBSD ツールチェーンと今後の活動

Code  Genera]on:  Eclipse ベース  -­‐-­‐-­‐  DSL:  Sirius  -­‐-­‐-­‐

メタモデル  (モデル記述言語)

モデル

モデル変換

コード生成 コード実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ

eMOF

Ecore  ファイル Sirius  エディタ*

QVT, ATL

*  Sirius  エディタ開発は  GMF  エディタ開発よりかなり楽

Acceleo

?

25

Page 26: MBSD ツールチェーンと今後の活動

Code  Genera]on:  Eclipse ベース  -­‐-­‐-­‐  DSL:  Xtext  -­‐-­‐-­‐

メタモデル  (モデル記述言語)

モデル

モデル変換

コード生成 コード実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ

Xtext 基本文法

Xtext  文法定義 Xtext  エディタ*

Xtend

*  Xtext  エディタ開発は  GMF  エディタ開発よりかなり楽

DSL  ファイル Xtend

?

26

Page 27: MBSD ツールチェーンと今後の活動

Model  Interpreta]on/Execu]on  -­‐-­‐-­‐  UML  based  -­‐-­‐-­‐

メタモデル  (モデル記述言語)

モデル

モデル変換

モデル実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ

MOF

UML2  メタモデル UML  ツール

メタモデル/UML  Profile

QVT,  ATL

Executable  UML  (BridgePoint/xtUML),    EMF  Forms  ?

UML  拡張 DDD

?

27

Page 28: MBSD ツールチェーンと今後の活動

Model  Interpreta]on/Execu]on  -­‐-­‐-­‐  DSL:  Mendix  -­‐-­‐-­‐

メタモデル  (モデル記述言語)

モデル モデル実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ

Business  Modeler

ユーザストーリー  データモデリング

各種  DSL  モデル

第1回モデルベースソフトウェア開発コミュニティ 勉強会で講演いただいた  渡辺 幸三さんの XEAD の場合もこれに類似した仕組みかもしれません

業務Web  Appsの範囲

?

28

Page 29: MBSD ツールチェーンと今後の活動

今後の活動候補

•  これまで軽く紹介しました幾つかの技術について これから半年+α程度の期間、Workshop/HandsOn 形式で進めることを考えています  

29

Page 30: MBSD ツールチェーンと今後の活動

今後の活動イメージ

2015 09   10 11 12 01 02 03 04 05 …..

・第2回勉強会(9/1:本日)

2016

30

X X X X

Y Y Y

Z Z Z

…….

Workshop/Hands-­‐on

?

?

?

・第3回勉強会?

Page 31: MBSD ツールチェーンと今後の活動

今後の活動候補

•  現在主催者側で考えている候補技術  –  Eclipse  Acceleo  –  Eclipse  Xtext/Xtend  –  Eclipse  Sirius  –  BridgePoint/xtUML  –  Mendix  etc.  –  モデリング手法  

–  これら以外でも活動を希望される技術があればご提案ください(きっかけ作りなどのご協力もお願いします)  

31

Page 32: MBSD ツールチェーンと今後の活動

今後の活動候補(補足)

•  本日ご紹介する Acceleo と  Sirius  はフランスの Obeo  社が推進するものですが、この会社はいくつもの多くのオープンソースプロジェクトに関わっています  –  Eclipse  Acceleo  [model-­‐to-­‐text  transforma]on]  –  Eclipse  ATL  [model-­‐to-­‐model  transforma]on]  –  Eclipse  Sirius  [graphical  dsl  framework]  –  Eclipse  Ecore  Tools  [graphical  ecore  model  editor]  –  Capella  [systems  engineering  model  editor]  –  Obeo  UML/SysML  Designer  [UML/SysML  editor]  –  Obeo  Designer  (community  version) (商用製品)  –  Obeo  SmartEA (商用製品)  

•  UML/SysML  Tool  や  Executable  UML  実装では  Papyrus  もあります  •  Xtext  もエコシステムとなっています  •  これまで名前の挙がっていないツール類・領域もあると思います  

32

Page 33: MBSD ツールチェーンと今後の活動

今後の活動イメージ

2015 09   10 11 12 01 02 03 04 05 …..

・第2回勉強会(9/1:本日)

・Acceleo  workshop/hands-­‐on  ・Sirius  workshop/hands-­‐on  ・Xtext  workshop/hands-­‐on  ・BridgePoint/xtUML          workshop/hands-­‐on  ・Mendix  workshop/hands-­‐on  ・  ???  ……….

2016

順不同そして候補です  各々1回で終わらないかもしれません

33

Page 34: MBSD ツールチェーンと今後の活動

今後半年+α程度の活動候補

メタモデル  (モデル記述言語)

モデル

モデル変換

コード生成 コード実行環境

モデル実行環境

メタモデル  記述言語

モデルエディタ

モデリング手法

業務要件

モデルリポジトリ チーム開発・再利用

Workshop やハンズオン的活動

Acceleo,  Xtend Sirius,  Xtext

BridgePoint/xtUML,  (Mendix)

34

Page 35: MBSD ツールチェーンと今後の活動

最後に

•  Workshop/Hands-­‐On 候補案より、本日は次の3件について簡単な紹介を行います  –  Code  Genera]on: Acceleo  (大島さん)  –  DSL:  Xtext  (田中)  –  DSL:  Sirius  (しぶやさん)  

•  お願い事項  –  本日の最後に Workshop/Hands-­‐on  対象についてご意見

を聞かせて下さい  

35