Eclipse Sirius で遊ぶ #2

今回は簡単な StateMachine を作成してみました。まず ecore モデルですが、UML 2.5 (OMG formal/2015-03-01) の仕様の StateMachine 定義を単純化してみました(これでも本物より簡単にしてあります)。

SimplifiedStateMachine.png

前回同様の手順を使うことでサンプルモデルから次のような StateMachine 図を作り出すことができました(今回のトライアルでグラフィカル要素の定義は下の図に含まれている要素に対してしか行っていません)。パレット部分を追加すれば簡単なエディタになります。

StateMachine Diagram

State は Container にしたので、作り込むと状態のネスト構造も記述できるのですが、お試しということでご勘弁ください。最後に Activity 図を試して、今回のシリーズを終了します。

広告
Eclipse Sirius で遊ぶ #2

Eclipse Sirius で遊ぶ

昨年末ですがモデルベースソフトウェア開発コミュニティで Eclipse Sirius の勉強会を実施しました。チュートリアルに従い手を動かしてみるというもので、なんとか前半を終えました。近々後半をやることになっています。

海外では Sirius を使って色々なモデリング環境が作成されており、ギャラリーというページに多く例が掲載されています。勉強会で使ったチュートリアルの例は少し実用的ではないので、もう少し多くの方になじみのあるものを遊び気分で作ってみました。

まずベースとなる ecore モデルですが、単純化したクラス図を目標に次のようなモデルを使うことにしました(どこかで見たことのあるものです)。

domainmodel

これを使い model code, edit project, editor project を生成し準備を終え、ついでに dynamic instance の仕組みを使いサンプルモデルを作成し、Eclipse の別インスタンスを立ち上げてグラフィカルエディタを作成します。途中は飛ばしますが、次のようになりました。

sirius_diagram.png

左上の区画が肝となる odesign ファイルで、Entity (UML Class 相当) を Container とし、Attribute をリスト形式で埋め込んでいます。関連は EntityReference をベースに作成しています。昔の EMF + GEF や GMF 時代をご存知の方には隔世の感があるかもしれません。

時間があれば振る舞い系のものも作ってみる予定です。出来ればまた掲載します。

Eclipse Sirius で遊ぶ

TextUML & Cloudfier について

これまであまり真面目に調べたことがなかった TextUML について調べています。

TextUML はテキスト形式のUMLエディタで、完全ではないにしろ UML 仕様を結構真面目に実装しています。 次は私のお試しモデルです(まだ細かい点をマスターしていないので、間違いが含まれているかもしれません)。

screenshot#3

これを Cloudfier というクラウド上のモデル開発環境兼実行環境に持ち込むと、デフォルトで結構良さそうな画面やDB等を生成してくれ、プロトタイプ・検証に充分使えます。ドキュメンテーションはこの実効環境(Orion)にログインしないと見つけられないかもしれません。

ただ、今のところ日本語が扱えない模様ですので、とりあえずはお試し的にモデルの確認に使うのでしょうか。一つ興味深かったのは、他の UML ツールで作成した .uml ファイルをこのエディタでオープン出来ることで、英語のクラス図があれば(制約はありますが)この環境に持ち込むことで実行シミュレーションが出来るという点です。

TextUML & Cloudfier について

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

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

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

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

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

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

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

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

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

Eclipse Mars Is Out, As Scheduled!

予定通り  Mars 版が公開されました。今回はどのような点が特徴なのか、ニュース等をあたってみました。

しばらくすれば日本語の記事も出てくるものと思います。

Eclipse Mars Is Out, As Scheduled!

What is Cloudfier and why you may want to use it について

Jordi Cabot さんのブログに、先日の EclipseCon で TextUML で書いたビジネスモデル(アプリケーション)の実行環境として触れた Cloudfier について、開発したご本人(Rafael Chaves さん)による紹介記事が掲載されていますので紹介します。

特徴について説明されていますが、例えば次のようなポイント(本文から引用)は気になる方もおられるのではないでしょうか。

  • “Cloudfier programs are UML models”
  • “Cloudfier programs are business-centric and technology-free”
  • “Instant prototyping for early validation”
  • “Gapless code generation”
  • “Cloudfier is open source!”
  • “Cloudfier is an online development environment”

モデルの表現形式はテキスト型ですがUML2.5対応であり、Xtend言語を利用しJEE対応のコード生成を実現するそうです。こういう技術の利用が一般化すると、ビジネスアプリケーションの開発はモデルを作成する作業が中心になり、トータルの開発効率が向上することでしょう。

What is Cloudfier and why you may want to use it について

Video and slide (InfoQ): Arduino Designer: the Making of!

前回に引き続き、 EclipseCon NA2015 で実際に聴講したセッションから、Arduino Designer の作り方といった感じの、とても興味深いセッションについて InfoQ に動画とスライドが掲載されていますので紹介します。

講演されたのは Obeo 社の Melanie Bats さんという女性の方で、Arduino というマイクロプロセッサを使い猫の模型を動作させるモデルベースソフトウェア開発システムを、Sirius と Acceleo を使って構築する様子を説明してくれています。EMF のメタモデルから始まり、Sirius のかなり詳しい使い方の説明まで触れていますので、このようなシステムを専用グラフィカル開発環境と共に構築したい方にはとても参考になるプレゼンテーションです。最後で触れていますか、このプロジェクトは github に公開されていますので、興味のある方は是非チェックしてみてください。

なお、今回の EclipseCon ではこれ以外にも itemis 社による LEGO Mindstorms を使った Xtext ベースのロボットシステム開発実行環境のデモや IBM 社が Raspbery Pi で JEE を動かしたミニチュアカーの展示などもあり、Eclipse のモデルベース開発技術が組み込みシステム寄りで応用が広がっていると感じられるものでした。

Video and slide (InfoQ): Arduino Designer: the Making of!