Has BPM Lost Its Luster? — Do we agree?

Gartner社のアナウンスメントの紹介です。

  1. Has BPM Lost Its Luster?

「BPM は輝きを失ったか」というタイトルで、疑問符がついている点まだ救いがあるのかもしれません。企業内でBPMがうまく行かない場合に考えられる理由がリストアップされており、確かにそういうこともあるかな、とは思います。ただ、過去にはうまく行ったケースが随分多く紹介されていたはずなので、この記事だけをを見ると???です。

広告
Has BPM Lost Its Luster? — Do we agree?

Introduction to Domain-Specific Languages (slides) | Modeling Languages

Jordi Cabot さんのブログの紹介です。彼の近くにいると思われるJavier Cánovasさんという方が最近 DSL についてのチュートリアルをやられたそうで、そのスライドがとても良い(素晴らしい)ので紹介する、という内容です。

次のURLにあるのがそのブログですが、オリジナルが Slideshare に上がっています。

  1. Introduction to Domain-Specific Languages (slides) | Modeling Languages
  2. Domain-specific Languages

カバレッジが広くとても良く現状を説明していると思います。是非ご覧下さい。Eclipse Modeling 勉強会でも使おうかな。

Introduction to Domain-Specific Languages (slides) | Modeling Languages

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変換について