Translate

2017/07/27

Eclipse Community Forum から

Papyrus に関する Eclipse Community Forum に今年7月の投稿から分かったこと.

  • An oxygen version will be available with the next release (that should come at the end of this month).
    • C++ Software Designer がまだリリースされていない件から

もう少しの我慢ですかね.


Papyrus/Oxygen の Nightly Update ...

Papyrus 3.0.0 (Oxygen) の Nightly Update が見当たらないとのこと...


どうしたんでしょうね...


2017/07/16

Project の作成

Papyrus で UML モデルを作る基本的な方法はモデルプロジェクト(Papyrus Project)を作成することになります.また,そのやり方は,通常の Eclipse におけるプロジェクト作成と同様です.メニューの File を選択し New → Papyrus Project を選択します



ある程度使っている中で,一般的なプロジェクトの一部として Papyrus のモデルを作成・登録したい場合も出てくると思います.その場合は素のプロジェクト(上図中リストの Project... から)を作成して,そこに適当なフォルダ(上図中リストの Folder)を作成し,そこに Papyrus Model (上図中リストの Papyrus Model)を作成することも出来ます.元のプロジェクトがソースベースの場合やドキュメントベースの場合には Papyrus Project ではなく Papyrus Model を使う方が便利です.僕も幾つかのプロジェクトではそうしています.

File → New → Papyrus Project の選択で New Papyrus Project Wizard が開きます


いきなり Papyrus 2.0系とは画面が異なっていますね :-)
Architecture Contexts や Architecture Viewpoints という選択肢があります.
因みに Papyrus 2.0.2 での New Papyrus Project Wizard は以下のような画面でした


シンプルに使用するモデリング言語を選べば良かったのですが,Papyrus 3.0 では Architecture Contexts や Architecture Viewpoints とは何かをちゃんと押さえておいた方がよさそうです.
因みに上記 Papyrus 2.0.2 の画面で SysML 1.4 が選択できるようになっているのは Additional Component として SysML 1.4 を追加しているためです.またボタンの文字表示が日本になっていますが,これも日本語化対応のプラグインをいれているためです.
それらについては,また紹介できればと思います.

今回は Papyrus 2.0 から Papyrus 3.0 への変更調査もしたいので,じっくり確認していこうと思います.
このように不明点に出会ったら,あせらずに画面左したのヘルプマークをクリックします.そうすると以下のようにヘルプ付き画面に変わります.


Eclipse ヘルプと連動しており Papyrus のヘルプも辿ることができます.この表示上の「Search for Select Architecture Context」をクリックしてみます.


Local Help に 7つほどアイテムが出てきました.一番上の architecture が近そうですね.クリックしてみます.


Papyrus Guide > Toolsmith  Guide > Architecture Contexts のページの様です.
これを読んでみた方がよさそうですね.それについてはまた別記事にまとめるとして,まずは デフォルトの UML を選択して進めます.


プロジェクト名とモデルファイル名を入力する表示に変わりました.
基本的には Papyrus 2.0 系と同じなのですが一点だけ違う所があります.
Papyrus 2.0 系 ではモデルファイル名は "model" という文字列でデフォルトで入っていました.もちろん修正可能ではあったのですが,デフォルトである model という名前で使うことが多かったです.Papyrus 3.0 ではモデルファイル名は空欄になっています.
実はここ,プロジェクト名を入れると連動してモデルファイル名に同じ名前が入力されます.


このような感じです.とりあえず先に進みます.


ここも Papyrus 2.0 系と基本的には同じですが,幾つかの違いがあります.
まず Root model Element name が前は "RootElement" がデフォルト設定だったのですが,今回は モデルファイル名が入っています.実は一度 Back ボタンで戻り,プロジェクト名と異なるファイル名にしてみたのですが,Root model Element name に表示される名前はモデルファイル名の方でした.因みに Root model Element name は,その名の通り,UMLでモデル化する対象のルートとなる Model パッケージの名前です.この名前は,他のモデルを Import したり UMLプロファイルを読み込んだりする際のルート名となるため,実は Papyrus 2.0 系の共通的なデフォルト名だと,その際に名前がわかりづらく,後々変更するなどの面倒くさいこともあったので,今回のモデルファイル名(また大元となるプロジェクト名)に連動させるというのは良い感じに思えます.
また別の違いとしては,Select a Diagram Kind に表示される Diagram/Table の数が増えています.プロジェクトやモデル作成時に選ばなくても後で選べますし,いつも数多くのダイアグラムを作成するため,この初期画面で選択することはほぼないのですが.
因みに増えているのは

  • Generic Table
  • Relationship Generic Matrix
  • View Table

の3つみたいですね.
これらについても,またおいおい.
その下のチェックは,後で対応できるので,ここでは何も指定せずに進みます.
それで Finish を押すと


となります.
Papyrus の見慣れたトップ画面となりました.

とりあえず今回はここまで.
今回の内容でも,いくつか宿題が出来てしまいました...

Papyrus の Nightly Update の設定

Papyrus 3.0 (Oxygen) が not yet recommended ぽいので,Nightly Update 設定をして進めていこうと思います.これにより開発中の Papyrus を適宜使用可能となります.
Nightly で Update される機能を使用するため頻繁に更新が発生しますが,現状を鑑みて当面はこの設定としておきます.
Papyrus の update は Eclipse の Update 機能を使用しており,以下に示す
「Help > Check for Updates」
から使用できます.

アップデートサイトの登録は Preferences から行えます.メニューの
「Window > Preferences」
を開いて
「Install/Update > Available Software Sites」
を選択します.

このリストに Nightly Update のサイトを登録します.サイトのURLは Papyrus のダウンロードページに記載されいている通り,

Papyrus Oxygen (3.0.X)

なので,そのように [Add...] ボタンから設定します.


今のままだと初期設定されている通常の release update も友好なため,一旦チェックオフしておきます.


これでOKと.
この後,先の Check for Updates をかけるとアップデートサイトにコンタクトし,更新を確認,あればダウンロードおよびインストールが開始されます.Papyrusの画面右下に適宜状況が表示されます.

残念ながら今回は更新が見つかりませんでした.


何の理由により 3.0 が停滞してるのでしょうかね... Eclipse 本体側でしょうか??
どちらにしても少し状況を見ながら進めていこうと思っています.





2017/07/15

Papyrus 3.0 -- Not yet Recommended ?

最近気が付いたのですが Papyrus 3.0 リリース後,そのダウンロードページには 3.0 のみ置かれており旧版を探すのが大変だったのですが,今,そのダウンロードページは以下の様な表示がされています:


前の Eclipse Neon ベースの Papyrus 2.0.2 が Recommend されてますね.現時点で旧版をまだ確保するにはありがたいのですが,まだ 3.0 には問題があるのでしょうか... 
追々,使っていく中で確かめていこうと思います.ただ Nightly update の設定が必要やもしれませんね.

あとバージョン2系統の最新バージョン(最終バージョン)は 2.0.3 だったと思いますが,Recommend は 2.0.2 となっています.これはそのまま受け止めるのがよさそうですね・

Eclipse Papyrus 3.0 (Oxygen)


Papyrus は,そのプラットフォームとなる統合開発環境 Eclipse のバージョンアップと共にメジャーバージョンアップを行っています.最新のバージョンは 2017-6-27 にリリースされた 3.0 であり,この 2017-6-28 にリリースされた Eclipse Oxygen をベースにしています.


主要な開発元は CEA LIST です.CEA LIST(システム統合技術応用研究所)は IPA のページにその組織紹介のレジメが置いてあります.Papyrus が関係する CEA LIST や PolarSys (Open Software Solution for Embedded Systems)Papyrus IC (Industry Consortium) などについて,またまとめておきたく思っています.

最新版 Papyrus 3.0 の特徴は以下のページに掲載されています:


対応する各種標準に関しても本ページに下記の通り列挙されています:

Standards: 
Papyrus 3.0 continues the support modeling with the following standards as part of the simultaneous release or as incubation additional component (*): 
  • UML 2.5
    • Unified Modeling Language
  • SysML 1.4 (*)
    • Systems Modeling Language
  • ALF 1.0.1 (*)
    • Concrete Syntax For A UML Action Language: Action Language For Foundational UML
  • MARTE 1.1 (*)
    • UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems
  • BPMNProfile 1.0 (*)
    • UML Profile For BPMN Processes
      • BPMN: Business Process Modeling Notation
  • BMM 1.3 (*)
    • Business Motivation Model
  • Structured Metrics Meta-Model 1.1 (*)
    • a meta-model for representing measurement information related to any model structured information with an initial focus on software, its operation, and its design
  • PSCS 1.0 (*)
    • Precise Semantics Of UML Composite Structures
  • fUML 1.2.1 (*)
    • Semantics Of A Foundational Subset For Executable UML Models
Papyrus 3.0 adds the support of:
  • PSSM 1.0b (*)
    • Precise Semantics Of UML State Machines
  • FMI 2.0 (*)
    • Functional Mock-up Interface (FMI) 
    • a tool independent standard to support both model exchange and co-simulation of dynamic models using a combination of xml-files and compiled C-code

僕がよく参照するのは UML2.5/SysML1.4/MARTE1.1 で fUML/PSCS/PSSM も現状ではつまみ読みをしている所です.各々,ボリュームがある仕様書なので,なかなか読み進めるのも,その時間の確保を含めて大変です...


2017/07/12

Papyrus の起動

Papyrus のダウンロードサイトから使用しているOS環境のパッケージ(zipファイル)をダウンロードして展開します.Windows 上では


となります.この papyrus.exe を実行することで


とスプラッシュ画面が表示された後,workspace となるディレクトリを指定するための Launcher ダイアログ:


が表示されます.Papyrus は Eclipse ベースなので,Eclipse の workspace そのものの指定となります.適切なディレクトリを指定後,Launch ボタンをクリックすれば,少し経った後に,


とPapyrusが起動します.


なお,これまで (バージョン 2.0.3 まで)の Papyrus はエラーメッセージを表示し起動しなくなることが結構ありました.エラーログを見るとタイムアウト系が多かったと記憶しています.バージョン 3 系では改善されていれば良いのですが.
そのような状況では

papyrus.exe -clean

としてクリーン起動すれば通常動作することがほとんどでした.
どうしようもない時は Papyrus 自体の再インストール(zipファイルを展開するだけですが)が必要な時もありましたが,多くはクリーン起動で事足りました.

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

2017/07/11

Papyrus の blog

Eclipse ベースである UML ツール Papyrus に関するブログです.

まだ Papyrus が Eclipse の普通の Plugin だったころから,かれこれ3年くらい でしょうか Papyrus を使用しています.
当初は色々とありましたが最近はかなり安定してきた印象です.

本ブログでは Papyrus の使い方に関する内容を記載・共有していければと思ってます.

なお Papyrus は例年 6月にメジャーバージョンアップが行われます.
最新は  Jun 27, 2017 にリリースされた Papyrus 3.0.0 です.
僕自身はまだ 2.0.3 使いですが,3.0 系の内容の確認も含め,色々と書いていければと思ってます.

Papyrus のダウンロードはこちらから

Papyrus の logo