電子書籍を出しました 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

Eclipse Modeling Tools メモ

Eclipse Modeling Project には多くのツールがありますが、私がよく利用するのは基本的な EMF, Xtext, Sirius, Papyrus などです。Java コード生成などとの関係を除いて、よく使う部分の関連図をメモとして作成してみました。色々抜けがあると思います(例えば SysML が入っていない、など)が大雑把にこんな感じかなという図です。

memo.png

色々突っ込めると思いますが限定された範囲のメモということでお願いします。

Eclipse Modeling Tools メモ

How to MoDisco

今回は「検索で見つけたブログ記事」をネタにしたものです。

Javaコードを入力にして元のものに近いモデルを再生するのは、ある種 reverse engineering です。KDM 標準はそういうケースを想定して制定された OMG 標準です。これは MDA の逆をゆく行為なので ADM (Architecture Driven Modernization (TM)) という OMG 内のグループで作成されました。現在では ISO 標準にもなっています。

ただ、標準があってもそれを実装したツールがないと役に立ちません。出来ればオープンソースが良いですよね。Eclipse Modeling Project にはそのツールがあります。名前を MoDisco と言います。今回ちょっと利用する機会があり、改めて使い方を調べてみました。チュートリアルがなかったか検索したところ、有難いことに日本語のブログ記事(シリーズもの)が見つかりました。:)

記事自体は少し古そうでしたが、ポイントはちゃんと書かれています。流れとしては、Eclipse IDE に MoDisco と Papyrus (UML tool) のプラグインをインストールし、対象プロジェクトの右クリックから KDM モデル(xmi)を生成し、その KDM モデルから UML モデル(.umlファイル)を生成し、最後に UML  ツールの Papyrus に持ち込むというものです。記事で Xtext と Acceleo のインストールが要るようだと書かれていましたが、Oxygen 版で試したところ、これら無しでも動作しました(軽い使い方だったので問題が起きなかっただけかもしれません)。

スクリーンショット 0029-08-09 23.54.32

いつものモデルベース開発とは逆方向ですが、レガシーコードの分析などで利用できます。JavaコードからUMLモデルを導きたい方はお試しください。

 

How to MoDisco

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

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

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

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

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

Eclipse Sirius で遊ぶ #3

このシリーズの最終回です。Activity 図が書けるか試してみました。State machine の時と同様に OMG の仕様を調べたところ、Activity 周りは次のような定義になっていました(もちろん、今回も少し単純化しています)。

ActivityModel

実はこの構造は昔から DSL でネットワーク図を描く例題として馴染みのものです。そういうこともあり、かなり簡単にできてしまいました。

Activity Diagram

Buyer-Seller-Shipper の業務フローです。実線はコントロールフロー、点線はオブジェクトフローのつもりです。一箇所 UML 仕様に違反している部分もありますが(分かるでしょうか?)このような感じのダイアグラムエディタが簡単に作れるというデモンストレーションということで目をつむっていただければと思います。

クラス図、状態遷移図、アクティビティ図という三種類について、単純化したものであれば Sirius を活用して短時間でグラフィカルエディタが作れるということを示してみました。実際に現場で使う場合、モデルエディタだけでなくコード生成もセットで必要になりますが、Sirius ベースであれば親和性が良い Acceleo を使うのが良いと思います(どちらもフランスの Obeo 社が提供しているオープンソースです)。

 

Eclipse Sirius で遊ぶ #3