Translate

2017/07/12

Papyrus の紹介


Papyrus (もしかしたら正式には Eclipse Papyrus と呼んだ方が良いのかもしれませんが) は EMF (Eclipse Modeling Framework) に基づく UML ツールです.
UML 2.5 で規定されている様々なモデル要素とダイアグラムとをモデル化することが可能です.また UML Profile サポートによる SysML サポートやユーザ自身による Profile 作成およびモデルへの Profile 適用が可能です.

僕自身がPapyrusを使用した感じをまとめたものが以下です:

  • UML仕様への準拠度が高い
    • UML仕様書に規定されている言語仕様の内容にかなり忠実だと思います.これは Papyrus というより MDT/UML2 のおかげなのかもしれません.Papyrus 上から UML2 の metamodel をモデル参照することも可能で,UMLの言語仕様を確認したい場合やユーザ定義の Profile 作成時に特に役に立ちます.
    • UMLに対する一般的なツールでのUI操作では出てこないようなニッチな言語仕様内容についても Advanced なプロパティ入力の所から直接操作することが可能です.これはモデル化における特定の表現を独自記法を用いることなく表すことが可能で,モデルの意味解釈における齟齬の発生を抑制します.
    • その反面,モデル作成の際,言語仕様への忠実な理解と対応が必要となる煩雑なモデリング操作が必要であったり,モデル入力時に作成したダイアグラムで表示される部品の意味が分からないこともしばしばあります...
  • Eclipse がサポートする機能を活用可能
    • Papyrus も Eclipse のプラグインの1つであり Eclipse が持つ様々な機能を活用し,それらと連携することが可能です.それら機能が使用・活用可能であるためエンジニアリングそのものとしては Eclipse 全体でのソリューションを使用し,Papyrus 自体では,どちらかというと モデルエントリ に特化した薄い層をサポートしている印象です.
    • Papyrus モデリングと合わせて僕がよく使う機能は EGit (gitリポジトリへのモデル保存・バージョン管理)や WikiText (Eclipse 上で Markdown や Textile で作成した文書からの HTML 生成.Papyrus から出力したダイアログの画像データをイメージで埋め込んで簡易ドキュメントを作成)です.
      • また Papyrus の Software Designer の機能を使ったりもしています.UML から C++/Java へのコード生成です.その際はCDT/JDT等も一緒に使う形になります.Software Designer はこれから積極的に試していきたいと思っています.
  • ツール動作として重たい
    • Papyrus はそれなりにヘビーな Eclipse プラグインのため,ツール動作が重たいです.僕の主要なOS環境は Microsoft Windows (10/8/7)なのですが,Core-i7で64bitでメモリを潤沢に積んだマシンならストレスなく使用可能ですが,スペックが低いマシンでは,もっさりとした動作が目につきます.
      • 僕が新しい環境で試す際にはEclipseの高速化に寄与する基本設定を行い(ネットで検索すると様々な情報が得られます),その後,Papyrus の動作を一通り実行してみてだいたいの感覚(どのくらいのスピードで連続操作すべきか)をつかんでから本格使用に入っています

あと,ちょこちょこと不具合には出合います.フリーのツールなので,ある程度は許容せざる得ない所はあるかなとは思っています.それでもとても良いツールなのでツール不具合もさほど気にしていませんし,使い始めた当初の頃(バージョンが1.0前後)に比べると,とても安定してきています.

Papyrus Modeling Environment