電子書籍を出しました or my new e-book is available

English text follows after Japanese text below.

本ブログでもこれまで多くのEclipse Modeling Projectの話題を書いてきましたが、ほとんどすべてが断片的な記述だったと思います。宣伝になってしまい恐縮ですが、この度これらを整理し電子書籍として出版致しましたのでご紹介します。

タイトルは「Eclipse Modeling Tools 入門」でURLはこちらです。

概略目次を下に掲載します。この本ではEclipse環境に構築されたモデリングツール全体像の紹介を行い、使えるEclipseコンポーネント(EMF, Xcore, EcoreTools, Sirius/Obeo Designer, Xtext/Xtend, Papyrus/Papyrus-RT, TextUML, Acceleo, EMF Forms, Yakindu他)の簡単な紹介とベーシックな操作方法を説明します。

  • 序文(Eclipse のMike Milinkovich氏に書いて頂きました)
  • 1 イントロダクション
  • 2 モデリング言語の作成
  • 3 モデルエディタの作成
  • 4 モデルエディタを用いたモデルの作成
  • 5 モデルからコードへの変換
  • 6 コードからモデルへの変換
  • 7 モデルの妥当性確認
  • 8 Eclipse Modeling Projectの動向
  • 9 まとめ
  • 最後に
  • 付録 リファレンス

この電子書籍を書く作業をして改めて思ったことは「Eclipse Modelingというエコシステムを作り上げてくれた全ての人・企業に感謝します」ということです。


I have been working on organizing collections of my blog posts by adding some more explanation and topics about Eclipse Modeling.

My new e-book “Introduction to Eclipse Modeling Tools” (in Japanese) is available on Amazon. It presents overview of Eclipse Modeling, and explains basic usage of EMF, Xcore, EcoreTools, Sirius/Obeo Designer, Xtext/Xtend, Papyrus/Papyrus-RT, TextUML, Acceleo, EMF Forms, Yakindu etc.  The TOC looks like the following.

  • Foreword by Mike Milinkovich
  • 1 Introduction
  • 2 Creating Modeling Languages (or Ecore models)
  • 3 Creating Model Editors
  • 4 Creating Models with Model Editors
  • 5 Transforming Model into Code
  • 6 Transforming Code back to Model
  • 7 Useful Tool for Model Validation
  • 8 New Direction(?) of Eclipse Modeling Project
  • 9 Summary
  • References

Thank you very much for all the people/companies contributed to this valuable Eclipse Modeling ecosystem!

広告
電子書籍を出しました or my new e-book is available

EclipseCon France 2017 参加報告会を開催します

モデルベースソフトウェア開発コミュニティ という活動をしているのですが、ここ1年ほどほとんどイベント企画ができていませんでした。反省しています。

沈黙を破って、8月1日に、先日参加してきました EclipseCon France 2017 の参加報告会 を開催します。それなりの目的を持って参加したのですが、報告会となるとまず EclipseCon でどんな話題があったのかを広く(紙芝居的になってしまいそうですが)お話した方が良いだろうと考えています。なお今回はデモをお見せする時間を取れそうもありません。

カバーする主な話題は、MBSE の仕組みを構築する際に大いに利用できる Xtext, Sirius, Papyrus-RT, Capella 周りの発表内容などになります。ヨーロッパ方面では歴史があり今も活発に活動が続けられている分野です。日本から参加したのは私だけのようですので、もしご都合がつくようであればお立ち寄りください。

EclipseCon France 2017 参加報告会を開催します

モデルベースソフトウェア開発コミュニティの集まりのお知らせ

数日後ですが、9月1日(火曜日)の19時からこんなイベントを行います。

これまでこのコミュニティで勉強会や小規模なワークショップ・ハンズオンを何度か実施してきましたが、今後の活動(案)について前振り的な説明を行い、皆さんのご意見を頂きたいと思います。

当日は、私が前振りの前振りという全般的なお話をさせて貰い、次に今後のワークショップやハンズオン候補である:

  • コード生成技術(Acceleo)
  • DSL技術(テキストベース(Xtext)とダイアグラムベース(Sirius)の二種類)

について3名で紹介をします。各紹介にはそれぞれの技術的な概要説明も含まれると思います。

もちろんこれが全てという訳ではなく、モデリング手法の話、Executable UML 的な話、他も候補として想定していますが、(コミュニティ活動ですので)これらの説明をインプットにして方向性について考える場にしたいと思っています。

このコミュニティ活動に関心をお持ちで、当日ご都合がつく方は是非参加をご検討下さい。

モデルベースソフトウェア開発コミュニティの集まりのお知らせ

Eclipse Modeling 勉強会の件

今週の金曜日の夜に Eclipse Modeling 勉強会を予定しています。

  1. Eclipse Modeling 勉強会

今度の話題は次の通りです。

  1. Xtext紹介
  2. Bonita Open Solution紹介

Xtextはテキスト型のDSL開発フレームワークで、今回は入り口の部分を実際に動かしてお見せする予定です。Webページなどで英語の情報は沢山公開されていますが、今回は導入部分を日本語で紹介します。

Bonita Open SolutionはGMFベースでBPMNを実装した製品で、手軽にビジネスプロセスの定義やシミュレーションが出来るとのことです。GMFベースで何かを開発されるような方には参考になるかと思います。

他では聞けない話かと思いますので、よろしければ是非ご参加ください。

Eclipse Modeling 勉強会の件

Eclipse M2M変換について

2013年2月22日の夜にEclipse Modeling勉強会を実施し、そこでEclipseのモデル変換の幾つかを説明する機会がありました。題材はATLがよく例題としてプレゼンで使うFamilies to Personsです。私は主にQVTを担当しましたが、事前にATLの動作も確認しましたので、ちょっと感想を書かせて貰います。

動作の検証を行ったのは、Juno版ModelingパッケージにATLとQVToを入れたもの、Indigo版Modelingパッケージにmedini QVTを入れたもの、そしてJuno版のXtextディストリビューションです。他に、エディタしか動作しませんが、EclipseのQVTrとQVTcも入れてみました。

ATLで良く知られている例題(何々家の家族というモデルを、男性と女性の二種類からなる個人モデルに変換)ですのでこれを基準にします。

  • ATL自体のケースについては、メインのルール記述は分かり易いのですが、最初の頃はhelper機能の切り出し方が良く分かりませんでした。研究分野ではかなり使われていますし、最近は管理を地元?ベンダに移管した模様です。
  • QVToは確かに手続き言語的ですが、記述内容はATLとほとんど同じレベルで、特にOCL記述はATLのものがほぼそのまま利用できました。安定して動作するようですし、ATLとの間では比較的容易に相互に移行できそうです。
  • medini QVTはQVT Relationsなので、パターンマッチングの記述箇所に特徴的なところがあります。それでもクエリについてはQVTo同様にATLのOCL記述が(多少違いがありますが)結構近いものになりました。実績もありますので、このスタイルの記述がお好きな方は使えると思います。
  • Xtextといっても変換にはXtendを使います(勉強会当日はまだ完成していませんでしたが、三日後に動くようになりました)。Xtendは軽くJavaをラップしたものなので、変換を実現するクラスもどこかJavaコードの雰囲気が漂っています。このコードだけで動作すれば良いのですが、Xtextの仕組みにのせるため結構面倒なことになってしまいました。結果的に、Xtendでモデル変換も記述できますが(利用者にとっては)専用言語を実装したATL/QVTo/QVTrの方が楽だろう、というのが私の感想です。ただ、見栄え的にXtendの実行結果は面白いので、画像を入れておきます(左側のXtextエディタでFamilyモデルを作成しワークフローを実行すると右側のxmi形式のデータが生成されます)。

Xtend M2M

いずれの場合についてもモデル変換ロジック構築の考え方を説明したものがなく、現状はサンプルから学べという状況です。ユーザガイドやチュートリアルに、こういう考え方で書けば良いというガイドがあれば良いかと思った次第です。

最後に勉強会のサイトは こちら にあり、当日の資料類もそこに置いてあります。

Eclipse M2M変換について

Eclipse Modeling 勉強会について

先週金曜日(12月7日)の夜に東京で Eclipse Modeling 勉強会 を開催しました。 夕刻の地震でどうなるか心配でしたが、10名程度のこのテクノロジに関心を持つ方々が集まり、楽しい時間を持つ事が出来ました。

私は二つの話をしました。一つ目はご挨拶代わりのもので、勉強会をやってみようとした経緯、eclipse と modeling のつながり、そして OMG 仕様と eclipse 実装の関連などについてです。二つ目の話は DSL についての話で、特に GMF と Xtext の利用についてのものです。

勉強会実施の相方をやって頂いた細合さんから Eclipse Modeling Project の全体像のお話、大島さんから MDA と Acceleo を使った実システムへの MDA 適用経験のお話、奥村さんから欧州の研究プロジェクトと Eclipse Modeling Project との関係についてのお話、など興味深いものが並びました。

この勉強会はこれが最初で最後という訳でなく、これからも機会があれば実施する予定です(次は2月頃と勝手に考えています)。そのために、Xtextユーザ会と同様にメーリングリストとサイトをもうけました。

このテーマに関心を持って頂ける方の参加をお待ちしています。 なお、サイトの方に私の発表で触れた情報を多少書き込んであります。

Eclipse Modeling 勉強会について

Xtext入門e-bookについて

日本Xtextユーザ会というのをやっていますが、会のメンバの方と一緒に日本語での入門書を作成しました。 次のベータパブリッシュのサイトから無料でダウンロードできます。

  1. テキスト型DSL開発フレームワーク Xtext 入門

この本を用意した経緯ですが、eclipse/Xtextに関する情報が英語のものしかなく、使えるツールなのに国内で関心を持つ方が少なかったため、せめてとっかかりの部分だけでも楽にしたい、ということから始まりました。 従って初心者向けです。 最初はXtext 1.0ベースで用意していたのですが、途中で2.0が出てきたため(多少なりとも追いつくため記述を追加したため)公開が遅れてしまいました。

サンプルとして、アンケートシステムを考えました。 これはイベントなどの後で、参加者にアンケートに答えて貰うという想定で、アンケート内容を作成するためのXtextベースDSLを用意しました。 とても簡単なものです。 ただ、それだけでは面白くないため、コード生成のターゲットを Google App Engine/Java として、コード生成するとGAE/Jの上のアンケートシステムを作成するようにしました(この部分は私よりずっとプログラマな若い相棒にお願いしました)。 この使い方はXtextにおいてとてもオーソドックスな形態になるため、参考にして頂ければと思います。

Xtextのプロジェクトは現在Xtendというファミリー言語を使いJavaとのインテグレーションに向かっています。 構造面だけでなく振舞い面についてもずっと簡単なテキスト記述が出来、対応する(そして十分読める)Javaコードが同時に生成されます。 EclipseCon 2012ではこれとは違った側面からの使い方についての講演もありました。 いずれにせよ、今後もどんどん進化・変化してゆくツールだと思いますので、時間のある時にダウンロードしご覧頂ければと思います。

Xtext入門e-bookについて