Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DMDL EditorXとToad Editorの紹介

1,731 views

Published on

2014/1/29の『Asakusa Framework 勉強会 2014冬』(http://connpass.com/event/4442/)で発表したときの資料です。この他にShafuによるプロジェクト作成とDMDL EditorX・Toad Editorのデモも行いました。

Published in: Technology
  • Be the first to comment

DMDL EditorXとToad Editorの紹介

  1. 1. DMDL  EditorXとToad  Editorの紹介 2014/01/29 株式会社ノーチラス・テクノロジーズ 菱田 真人
  2. 2. ⾃自⼰己紹介  菱菱⽥田  真⼈人  Twitter  ID:@hishidama  ホームページ:某灰⾊色なページ  潜⽔水艦の名前の会社に所属  主な使⽤用マシン(使⽤用⾔言語) – MSX2+  HB-‐‑‒F1XDJ(MSX-‐‑‒BASIC・Z80アセンブラ・ MSX-‐‑‒DOS) – X68000  XVI(C⾔言語・MC68000アセンブラ) – Windows(VC++・Java・Scala)  DQ10:メインは僧侶(回復復魔⼒力力500) 2
  3. 3. ⾃自分とAsakusa  Frameworkとの関係 時期 自分の出来事 2006年 2010年 2月 Hadoopを知る 2011年 2月 世間一般の出来事 Hadoopプロジェクト独立 2011年 3月 末 Asakusa Framework 公開 2011年10月 ノーチラス・テクノロジー ズ設立 Asakusa Framework 発表 2012年 2月 ノーチラス・テクノロ ジーズに転職 3
  4. 4. AsakusaFWに興味を持った経緯(1/2) 1.  「はどぅーぷって知ってる?」と聞かれたが 知らないのでググってみた。 – 『Hadoopで、かんたん分散処理理』 http://techblog.yahoo.co.jp/architecture/hadoop 従来の処理理:6時間6分35秒  -‐‑‒>  Hadoop:5分34秒 2.  当時、⾃自分のプロジェクトで「夜間バッチが 遅い」という問題を抱えていた。 – ⽇日次バッチ8時間を3時間にして欲しいとかorz – ⽉月次バッチが翌⽇日まで突き抜けるとかorz 4
  5. 5. AsakusaFWに興味を持った経緯(2/2) 3.  「Hadoopでバッチ処理理が短縮できるかも?」 と思ってHadoopを勉強し始めた。 –  –  4.  Hadoopソースコードリーディング(勉強会)に参加 したくてTwitterアカウントを作った @tatsuya6502さんのHBaseのサンプルがScala だったので、Scalaの勉強を始めた Asakusa  Framework登場! –  Hadoopの使い道は⾊色々あるが、⾃自分の⽬目的は最初 からバッチ処理理だったので、Hadoopでバッチ処理理 を⾏行行うAsakusa  Frameworkに跳び付いた(笑) –  ⾃自分のマインドはAsakusaFWユーザー 5
  6. 6. 本⽇日の内容  ⾃自⼰己紹介  DMDL  EditorXの紹介  Asakusa  Toad  Editorの紹介 6
  7. 7. DMDL  EditorX/Toad  Editorとは  DMDL  EditorX – AsakusaFWのDMDLファイルのエディター – Xtextを使って開発しているEclipseプラグイン  Asakusa  Toad  Editor – AsakusaFWのフローをGUIで描くツール – GEFを使って開発しているEclipseプラグイン – DMDL  EditorXの機能を利利⽤用している  いずれも、OSS 7
  8. 8. DMDL  Editor/Toad  Editor開発の歴史 時期 2013年 1月〜2月 エディターの開発 DMDL Editor開発 2013年 3月〜 Toad Editor開発開始 2013年 8月〜 DMDL EditorX開発開始 9月26日 12月5日 2013年 12月25日 世間一般の出来事 閃の軌跡 発売 DQ10 ver2 発売 Toad Editor公開 8
  9. 9. 参考⽂文献  『Eclipse3.4プラグイン開発  徹底攻略略』⽵竹添直 樹  他(2009/01) – XMLを例例にしたテキストエディターの作り⽅方 – JDT(Java  Development  Tool)の使い⽅方 – GEF(Graphical  Editing  Framework)の使い⽅方  『テキスト型DSL開発フレームワークXtext⼊入 ⾨門』⽥田中明,細合晋太郎郎(2012/02) 9
  10. 10. DMDLファイルのエディター DMDL  EditorX 10
  11. 11. DMDL  EditorとDMDL  EditorXについて  DMDL  Editor – Eclipseプラグインをごりごりコーディングしたもの – 主要部分の開発期間:約2ヶ⽉月 – DMDL  EditorXを開発し始めたので、こちらはもうメ ンテナンスしない  DMDL  EditorX(Xtext版DMDL  Editor) – Xtextを使って開発しているもの  Xtextは、DSLのエディターを開発する為のEclipseプラ グイン – 主要部分の開発期間:約2週間 Xtext 超便利! 11
  12. 12. DMDL  EditorXの主な機能(1/3)  テキストエディターとしての機能 – キーワードに⾊色が付く – アウトラインが表⽰示される – ⼊入⼒力力補完が出来る – ソースの整形が出来る – ハイパーリンクによるジャンプ・検索索・改名が出来る – ⽂文法エラーチェックが出来る これら全て Xtextの機能 12
  13. 13. DMDL  EditorXの主な機能(2/3)  便便利利機能 – DMDLコンパイラーを実⾏行行できる(モデルのJavaソー スを⽣生成できる) – モデル名・プロパティー名で検索索できる  ウィザードの機能 – データモデル定義を表形式で⼊入⼒力力できるウィザード – 属性の⼀一括追加/削除を⾏行行うウィザード – Importer/Exporterクラスを⼀一括⽣生成するウィザード 13
  14. 14. DMDL  EditorXの主な機能(3/3)  Javaエディターを拡張する機能 – モデルクラス・メソッドを使⽤用している箇所から定義 元のDMDLへジャンプできる – Flow  DSL内の演算⼦子のメソッドからOperatorクラス のメソッドに直接ジャンプできる  Flow  DSLで使うのはOperatorFactoryクラスなので、 普通はOperatorクラスへ直接ジャンプできない  ただし、AsakusaFW0.5以降降のみ 14
  15. 15. DMDL  EditorXのデモ 15
  16. 16. AsakusaFWのフローを描くツール Asakusa  Toad  Editor 16
  17. 17. Asakusa  Toad  Editorについて  Toad=Toy  of  Application  Design – Toad  Editorは、「AsakusaFWのアプリケーション設 計を⾏行行うツール」を⽬目指した玩具  まだ完成度度が低い(バグがある、機能が⾜足りていない) ので、toyレベル(商⽤用で使える⾃自信は無い) –  そもそもGUIで描くのは便便利利か?  玩具にすぎないの ではないか?  Asakusa  DSLの勉強には使えると思う 17
  18. 18. Toad  Editorの主な機能(1/2)  GUI機能 – Batch  DSLの図(ダイアグラム)を描くことが出来る – Flow  DSLの図(ダイアグラム)を描くことが出来る – 図からDMDLやOperator  DSLにジャンプできる  DSL(Javaソース)⽣生成機能 – Batch  DSL・Flow  DSL(Javaソース)を⽣生成できる – Operator  DSL(Javaソース)の雛形を⽣生成できる – Importer/Exporter(Javaソース)を⽣生成できる 18
  19. 19. Toad  Editorの主な機能(2/2)  逆変換(リバース)機能 – Batch  DSL・Flow  DSL(Javaソース)からToad   Editorの図(ダイアグラム)を⽣生成できる  制約事項:値引数のあるフロー演算⼦子(FlowPart)の Flow  DSLは正しく変換できない – Toad  Editorでは、描いた図(グラフ)からAsakusa   DSLを⽣生成することを⽬目的としており、双⽅方向の変換 は⽬目的としていない ちなみに、FFにおけるトードの魔法は、 人間をカエルに変えたり戻したりする 19
  20. 20. Toad  Editorのファイルの仕様  プロジェクト/src/main/toad/パッケージ/  ファイルの拡張⼦子 – btoad:Batch  DSLの図(ダイアグラム) – jtoad:JobFlowのFlow  DSLの図(ダイアグラム) – ftoad:FlowPartのFlow  DSLの図(ダイアグラム)  ファイルの中⾝身はJSON – Git等のバージョン管理理ツールで差分がとれる – いざとなればテキストエディターで編集できる! 20
  21. 21. Toad  Editorのデモ 21
  22. 22. まとめ 22
  23. 23. まとめ(1/2)  DMDL  EditorX – DMDLファイルのエディター – DMDLファイルを扱うウィザード – Javaエディター(JDT)の拡張  Asakusa  Toad  Editor – GUIで図(ダイアグラム)を描き、Asakusa  DSLを⽣生成 する – Asakusa  DSLから図(ダイアグラム)を⽣生成できる 23
  24. 24. まとめ(2/2)  Issue – バグを⾒見見つけたり要望事項があったりしたら、 GitHubのissueに書いていただけると助かります。  アイコン募集 – 現バージョンではアイコンが超てきとーなので、描い ていただけると嬉しいです。  演算⼦子のアイコンは、まずは擬⼈人化でない⽅方でw  DQ10 – エスタークとver2のボス?をまだ倒せていないのと、 ピラミッドに⾏行行ってないので、誰か⼿手伝って下さいw 24

×