SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
OCL	
  in	
  Papyrus	
  UML	
	
  
田中	
  
ビューファイブ	
  LLC
OCL	
  概要	
•  OCL	
  
– Object	
  Constraint	
  Language (UML	
  の一部)	
  
– グラフィカルに表現された	
  UML	
  モデルやメタモデ
ルに追加するテキスト形式の制約記述言語	
  
•  機能	
  
– モデル要素からの値の読み出し	
  
– 関連するモデル要素をナビゲート	
  
– モデル要素のコレクションに対する操作	
  
– 標準的なデータ型・コレクション型・各種操作 等	
  
OCL	
  リソース	
•  標準仕様	
  
–  OMG:	
  h:p://www.omg.org/spec/OCL/	
  
–  バージョン:	
  2.3.1	
  が公開されている最新版	
  
•  この版が	
  ISO	
  に	
  PAS	
  提案され	
  ISO/IEC	
  19507	
  となっている	
  
•  実装	
  
–  各種商用	
  UML	
  ツールで実装	
  
•  ツールの機能説明ページなどで確認下さい	
  
–  オープン実装	
  
•  Eclipse	
  OCL	
  (大島さんが紹介されたもの)	
  
•  Eclipse	
  Papyrus	
  (Eclipse	
  OCL	
  を	
  UML	
  Tool	
  にインテグレート)	
  
•  Dresden	
  OCL	
  (h:p://www.dresden-­‐ocl.org/) など	
  
•  書籍	
  
–  「オブジェクト制約言語	
  OCL」	
  by	
  Jos	
  Warmer,	
  Anneke	
  Kleppe
モデル階層と OCL	
Meta-­‐meta	
  model	
Metamodel	
Model	
Instance	
  or	
  Object	
  Model	
Instance	
  of	
conform	
  to	
conform	
  to	
MOF	
  (CMOF,	
  EMOF/ecore)	
e.g.	
  UML,	
  SOA,	
  BPMN,	
  …	
e.g.	
  UML	
  models,	
  SOA	
  models,	
  
BPMN	
  models,	
  …	
M3	
M2	
M1	
M0	
Constrants	
  (OCL)	
Constraints	
  (OCL)	
UML	
  Profiles	
OCL	
  適用領域(M1,	
  M2)
UML	
  ツールの利用	
•  モデル階層と	
  OCL	
  における	
  UML	
  ツール利用	
  
– Metamodel	
  
•  UML	
  Class	
  Diagram	
  のサブセットで記述	
  
•  Metamodel	
  に基づく	
  UML	
  Profile	
  の定義	
  
– Model	
  
•  制約を持ったstereotype	
  を適用したモデル要素にはそ
の制約が適用	
  
– Instance	
  or	
  Object	
  Model	
  
•  制約を持ったモデル要素のインスタンスにはその制約
が適用
Papyrus	
  UML	
  紹介	
•  Papyrus	
  
– Eclipse	
  Project	
  としては唯一の	
  UML	
  Tool	
  
– プロジェクトページ:
h:p://www.eclipse.org/papyrus/	
  
– 特徴	
  
•  ほぼすべての	
  UML2	
  ダイアグラムをカバー	
  
•  UML	
  Profile	
  定義のサポート	
  
•  Eclipse	
  OCL	
  インテグレーション	
  
Papyrus	
  UML	
  紹介	
h:p://www.eclipse.org/papyrus/	
  
Papyrus	
  UML	
  の OCL	
  サポート状況 	
•  M2	
  レベルで定義	
  &	
  M1	
  レベルに適用	
  
– UML	
  Profile	
  に	
  OCL	
  で記述した制約を含め、その
UML	
  Profile	
  を適用した	
  UML	
  モデルの妥当性検
証	
  
•  Papyrus	
  での動作を確認(例外有:詳細は以降で説明)	
  
•  M1	
  レベルで定義	
  &	
  M0	
  レベルに適用	
  
– UML	
  モデルに OCL	
  で記述した制約を含め、M0	
  
レベル(インスタンスモデル)で妥当性検証	
  
•  Papyrus	
  では現状動作せず	
  
Papyrus	
  UML	
  の OCL	
  サポート状況 	
出来るはずと思い	
  forum	
  に質問	
現状では出来ないとの回答
Papyrus	
  UML	
  インストール	
•  インストール手順	
  
– Eclipse	
  Modeling	
  Package	
  のダウンロード	
  
– Help	
  -­‐>	
  Install	
  Modeling	
  Components	
  
– Install	
  &	
  Restart	
  
✔
Papyrus	
  UML	
  インストール	
•  設定に関する注意事項	
  
Papyrus	
  UML	
  使い方	
•  プロジェクト作成	
  
– File	
  -­‐>	
  New	
  -­‐>	
  ([Other	
  |	
  Project]	
  -­‐>)	
  Papyrus	
  
Project	
  
– Project	
  名(例:org.example.uml.profile)	
  
– Diagram	
  Language	
  選択	
  
•  Profile	
  –	
  UML	
  Profile	
  作成	
  
•  UML	
  –	
  UML	
  Diagram	
  作成 (UML	
  Profile	
  を適用)	
  
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  プロジェクト作成
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  作成	
ダイアグラム名	
UML	
  Profile	
  ダイアグラム	
基本データ型テンプレート	
✔	
✔
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  編集画面
Papyrus	
  UML	
  使い方	
•  Stereotype	
  と	
  Meta-­‐Class
Papyrus	
  UML	
  使い方	
•  OCL	
  Constraint	
  (1/2)	
一旦	
  Pop-­‐up	
  エディタをキャンセルし	
  
制約リンクを設定	
制約の	
  Property	
  で	
  
Context	
  設定
Papyrus	
  UML	
  使い方	
•  OCL	
  Constraint	
  (2/2)	
コンテキストメニューから	
  	
  
OCL	
  制約エディタを選択	
OCL	
  制約を記述
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  定義画面(サンプル)
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  の保存
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  保存画面	
このチェックを忘れないこと
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  保存完了画面
Papyrus	
  UML	
  使い方	
•  プロジェクト作成	
  
– File	
  -­‐>	
  New	
  -­‐>	
  ([Other	
  |	
  Project]	
  -­‐>)	
  Papyrus	
  
Project	
  
– Project	
  名(例:org.example.uml)	
  
– Diagram	
  Language	
  選択	
  
•  UML	
  –	
  UML	
  Diagram	
  作成	
  
Papyrus	
  UML	
  使い方	
•  UML	
  Diagram	
  作成	
  
ダイアグラム名	
作成予定のダイアグラム種別選択	
  
(ここでは例として	
  Class	
  図)	
基本データ型テンプレート	
✔	
✔
Papyrus	
  UML	
  使い方	
•  Class	
  Diagram	
  作成用初期画面
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  利用準備	
白紙エリアをクリックし	
  Property	
  
の	
  Profile	
  タブを選択	
適用	
  Profile	
  を追加
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  利用準備	
先ほど作成した	
  Profile	
  ファイルを選択
Papyrus	
  UML	
  使い方	
•  UML	
  Profile	
  利用準備	
Profile	
  ファイルを選択
Papyrus	
  UML	
  使い方	
•  Class	
  Diagram	
  の作成と	
  stereotype	
  適用	
各クラスにステレオタイプを適用
Papyrus	
  UML	
  使い方	
•  Stereotype	
  の属性値設定	
各属性に値を与える必要があります
Papyrus	
  UML	
  使い方	
•  Model	
  Validafon	
  実行	
モデル領域の右クリックで呼
び出したメニュー
Papyrus	
  UML	
  使い方	
•  Model	
  Validafon	
  実行結果	
OCL	
  の制約に違反したというエラーメッセージ
Papyrus	
  UML	
  使い方	
•  Console	
  表示(Window	
  -­‐>	
  Show	
  View)
Papyrus	
  UML	
  使い方	
•  Interacfve	
  Xtext	
  OCL	
  選択
Papyrus	
  UML	
  使い方	
•  Context	
  設定(対象をクリック)	
 これをクリック
Papyrus	
  UML	
  使い方	
•  OCL	
  文の投入・評価実行
Papyrus	
  UML	
  使い方	
•  Pale:e	
  Customizafon	
Diagram	
  Editor	
  Pale4e	
  Customiza7on	
  @	
  h4p://wiki.eclipse.org/Papyrus_User_Guide	
  
まだ出来ないこと	
参考:h:p://www.eclipse.org/forums/index.php/t/449362/	
モデル作成時にアソシエーション
を設定し	
  stereotype	
  を適用するが、
そのタイミングでは評価されず	
  
validate	
  を実行することで評価が
実行されエラー表示がなされる。	
現状ではまだ実装に反映されてい
ないケース
まだ出来ないこと	
•  Bug	
  398333	
  -­‐	
  [pivot]	
  A	
  stereotype	
  test	
  case:
まだ出来ないこと	
•  Code	
  Generafon	
  
–  (出来るとすると)次の手順で出来るはず	
  
•  model.di	
  のコンテキストメニューから新規	
  EMF	
  プロジェクトの作成	
  
–  作成手順のなかで	
  UML	
  モデルをベースとして指定	
  
•  作成した	
  EMF	
  プロジェクトには次が含まれる	
  
–  Ecore	
  ファイル	
  
–  Genmodel	
  ファイル	
  
•  Genmodel	
  ファイルを EMF	
  Generator	
  でオープン	
  
–  ルートパッケージのコンテキストメニューから、モデルコード生成を
選択	
  
•  Ed	
  さんの	
  Forum	
  の書き込みからは	
  OCL	
  を含んだモデルも
処理出来そうですが、試した版ではOCLが捨てられました
基本的な使い方説明	
UML	
  Profile	
  の使い方説明	
Source:	
  h:p://www.eclipse.org/papyrus/usersTutorials/usersTutorialsIndex.php	
  	
Papyrus	
  &	
  Profile	
  リソース
Papyrus	
  &	
  OCL	
  リソース	
•  Papyrus	
  ドキュメンテーション	
  
–  最も分かり易いのは	
  Help	
  ファイル	
Profile	
  について
はこのあたり	
h:p://www.eclipse.org/forums/index.php/f/121/	
そして	
  Forum
Papyrus	
  &	
  OCL	
  リソース	
•  OCL	
  ドキュメンテーション	
  
–  やはり	
  Help	
  ファイル	
  
この部分
まとめ	
•  Papyrus	
  での	
  OCL	
  利用	
  
–  現状では	
  UML	
  Profile	
  に OCL	
  で制約を記述し、M1	
  レベル
のモデル作成時の	
  Model	
  Validafon	
  に利用可能	
  
•  OCL	
  による制約である程度	
  UML	
  モデルチェックが出来る	
  
•  UML	
  モデルで	
  Interacfve	
  Xtext	
  OCL	
  Console	
  が利用出来る	
  
•  Associafon	
  の拡張	
  +	
  OCL	
  制約は現時点で未サポート	
  
–  現状では	
  M1	
  のモデルに適用しても、M0	
  の
InstanceSpecificafon	
  には有効に適用出来ていない	
  
	
  
•  その他	
  
–  Eclipse	
  内で	
  OCL	
  と	
  Papyrus	
  は別グループのため、反映されるまで時差有り

Mais conteúdo relacionado

Mais procurados

オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来増田 亨
 
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀増田 亨
 
監視ってなんだっけ?
監視ってなんだっけ?監視ってなんだっけ?
監視ってなんだっけ?Ryotaro Kobayashi
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgitTakafumi ONAKA
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計Tadayoshi Sato
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説増田 亨
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要かHiromasa Oka
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則増田 亨
 
今日から使おうSmalltalk
今日から使おうSmalltalk今日から使おうSmalltalk
今日から使おうSmalltalkSho Yoshida
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニアakira6592
 
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話marika_hotani
 
『カルチャーモデル 最高の組織文化のつくり方』講演用資料
『カルチャーモデル 最高の組織文化のつくり方』講演用資料『カルチャーモデル 最高の組織文化のつくり方』講演用資料
『カルチャーモデル 最高の組織文化のつくり方』講演用資料Shunsuke Karasawa
 
RDRAモデリングを見てみよう
RDRAモデリングを見てみようRDRAモデリングを見てみよう
RDRAモデリングを見てみようZenji Kanzaki
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
Web制作のプロジェクトを前進させるために Backlogで実践した3つのポイント
Web制作のプロジェクトを前進させるために Backlogで実践した3つのポイントWeb制作のプロジェクトを前進させるために Backlogで実践した3つのポイント
Web制作のプロジェクトを前進させるために Backlogで実践した3つのポイントNaoya Shiraishi
 

Mais procurados (20)

オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
 
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
 
監視ってなんだっけ?
監視ってなんだっけ?監視ってなんだっけ?
監視ってなんだっけ?
 
入門 シェル実装
入門 シェル実装入門 シェル実装
入門 シェル実装
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgit
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 
今日から使おうSmalltalk
今日から使おうSmalltalk今日から使おうSmalltalk
今日から使おうSmalltalk
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
 
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
 
『カルチャーモデル 最高の組織文化のつくり方』講演用資料
『カルチャーモデル 最高の組織文化のつくり方』講演用資料『カルチャーモデル 最高の組織文化のつくり方』講演用資料
『カルチャーモデル 最高の組織文化のつくり方』講演用資料
 
RDRAモデリングを見てみよう
RDRAモデリングを見てみようRDRAモデリングを見てみよう
RDRAモデリングを見てみよう
 
Smalltalkだめ自慢
Smalltalkだめ自慢Smalltalkだめ自慢
Smalltalkだめ自慢
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
Web制作のプロジェクトを前進させるために Backlogで実践した3つのポイント
Web制作のプロジェクトを前進させるために Backlogで実践した3つのポイントWeb制作のプロジェクトを前進させるために Backlogで実践した3つのポイント
Web制作のプロジェクトを前進させるために Backlogで実践した3つのポイント
 

Destaque

Summit 16: Automated Platform for Testing VNF Performance and Interoperabili...
Summit 16: Automated Platform for  Testing VNF Performance and Interoperabili...Summit 16: Automated Platform for  Testing VNF Performance and Interoperabili...
Summit 16: Automated Platform for Testing VNF Performance and Interoperabili...OPNFV
 
OPNFV: Overview and Approach to Upstream Integration
OPNFV: Overview and Approach to Upstream IntegrationOPNFV: Overview and Approach to Upstream Integration
OPNFV: Overview and Approach to Upstream IntegrationOPNFV
 
Summit 16: ETSI NFV Interface and Architecture Overview
Summit 16: ETSI NFV Interface and Architecture OverviewSummit 16: ETSI NFV Interface and Architecture Overview
Summit 16: ETSI NFV Interface and Architecture OverviewOPNFV
 
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~啓 杉本
 
Eclipse modeling 勉強会 はじめに
Eclipse modeling 勉強会 はじめにEclipse modeling 勉強会 はじめに
Eclipse modeling 勉強会 はじめにAkira Tanaka
 
Formato de clase 4 y 4 general review
Formato de clase 4 y 4 general reviewFormato de clase 4 y 4 general review
Formato de clase 4 y 4 general reviewEvelin Peña
 
Hospice and Palliative Care Online: From clutter to curation
Hospice and Palliative Care Online: From clutter to curationHospice and Palliative Care Online: From clutter to curation
Hospice and Palliative Care Online: From clutter to curationChristian Sinclair
 
Управление знаниями при разработке проектов ГЧП
Управление знаниями при разработке проектов ГЧПУправление знаниями при разработке проектов ГЧП
Управление знаниями при разработке проектов ГЧПAnna Grinenko
 
Updating a Treasure
Updating a TreasureUpdating a Treasure
Updating a TreasureTommy Ewasko
 
iPads in Education QLD study tour
iPads in Education QLD study touriPads in Education QLD study tour
iPads in Education QLD study tourlnash
 
Social Media in Health Care peoria 2010
Social Media in Health Care peoria 2010Social Media in Health Care peoria 2010
Social Media in Health Care peoria 2010Christian Sinclair
 
Jai and Kassy's graduation from NCKG
Jai and Kassy's graduation from NCKGJai and Kassy's graduation from NCKG
Jai and Kassy's graduation from NCKGlnash
 
Social Media
Social MediaSocial Media
Social Mediajtravis16
 
2011 05 11 hpm tweetchat transcript
2011 05 11 hpm tweetchat transcript2011 05 11 hpm tweetchat transcript
2011 05 11 hpm tweetchat transcriptChristian Sinclair
 
Cants Dijous Sant
Cants Dijous SantCants Dijous Sant
Cants Dijous Santmvilarassau
 
CBCA NSW presentation
CBCA NSW presentationCBCA NSW presentation
CBCA NSW presentationlnash
 
Yr12 English QR code Odyssey
Yr12 English QR code OdysseyYr12 English QR code Odyssey
Yr12 English QR code Odysseylnash
 
Ipad use testing - Sustainable mobile learning
Ipad use testing - Sustainable mobile learningIpad use testing - Sustainable mobile learning
Ipad use testing - Sustainable mobile learninglnash
 

Destaque (20)

Summit 16: Automated Platform for Testing VNF Performance and Interoperabili...
Summit 16: Automated Platform for  Testing VNF Performance and Interoperabili...Summit 16: Automated Platform for  Testing VNF Performance and Interoperabili...
Summit 16: Automated Platform for Testing VNF Performance and Interoperabili...
 
OPNFV: Overview and Approach to Upstream Integration
OPNFV: Overview and Approach to Upstream IntegrationOPNFV: Overview and Approach to Upstream Integration
OPNFV: Overview and Approach to Upstream Integration
 
Summit 16: ETSI NFV Interface and Architecture Overview
Summit 16: ETSI NFV Interface and Architecture OverviewSummit 16: ETSI NFV Interface and Architecture Overview
Summit 16: ETSI NFV Interface and Architecture Overview
 
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
 
Eclipse modeling 勉強会 はじめに
Eclipse modeling 勉強会 はじめにEclipse modeling 勉強会 はじめに
Eclipse modeling 勉強会 はじめに
 
Formato de clase 4 y 4 general review
Formato de clase 4 y 4 general reviewFormato de clase 4 y 4 general review
Formato de clase 4 y 4 general review
 
Hospice and Palliative Care Online: From clutter to curation
Hospice and Palliative Care Online: From clutter to curationHospice and Palliative Care Online: From clutter to curation
Hospice and Palliative Care Online: From clutter to curation
 
Tweet chat #hpm 2010 21 07
Tweet chat   #hpm 2010 21 07Tweet chat   #hpm 2010 21 07
Tweet chat #hpm 2010 21 07
 
Управление знаниями при разработке проектов ГЧП
Управление знаниями при разработке проектов ГЧПУправление знаниями при разработке проектов ГЧП
Управление знаниями при разработке проектов ГЧП
 
Updating a Treasure
Updating a TreasureUpdating a Treasure
Updating a Treasure
 
iPads in Education QLD study tour
iPads in Education QLD study touriPads in Education QLD study tour
iPads in Education QLD study tour
 
Social Media in Health Care peoria 2010
Social Media in Health Care peoria 2010Social Media in Health Care peoria 2010
Social Media in Health Care peoria 2010
 
Danielle Chapla
Danielle ChaplaDanielle Chapla
Danielle Chapla
 
Jai and Kassy's graduation from NCKG
Jai and Kassy's graduation from NCKGJai and Kassy's graduation from NCKG
Jai and Kassy's graduation from NCKG
 
Social Media
Social MediaSocial Media
Social Media
 
2011 05 11 hpm tweetchat transcript
2011 05 11 hpm tweetchat transcript2011 05 11 hpm tweetchat transcript
2011 05 11 hpm tweetchat transcript
 
Cants Dijous Sant
Cants Dijous SantCants Dijous Sant
Cants Dijous Sant
 
CBCA NSW presentation
CBCA NSW presentationCBCA NSW presentation
CBCA NSW presentation
 
Yr12 English QR code Odyssey
Yr12 English QR code OdysseyYr12 English QR code Odyssey
Yr12 English QR code Odyssey
 
Ipad use testing - Sustainable mobile learning
Ipad use testing - Sustainable mobile learningIpad use testing - Sustainable mobile learning
Ipad use testing - Sustainable mobile learning
 

Semelhante a OCL in Papyrus Introduction

Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介Akira Tanaka
 
Eclipse Modeling QVT
Eclipse Modeling QVTEclipse Modeling QVT
Eclipse Modeling QVTAkira Tanaka
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計アシアル株式会社
 
Eclipse Modeling Environment 概要
Eclipse Modeling Environment 概要Eclipse Modeling Environment 概要
Eclipse Modeling Environment 概要Akira Tanaka
 
設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】
設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】
設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】Tomoharu ASAMI
 
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ クラウド時代のモデリングを考える
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ  クラウド時代のモデリングを考えるオブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ  クラウド時代のモデリングを考える
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ クラウド時代のモデリングを考えるTomoharu ASAMI
 
Xtext And Grails20091218
Xtext And Grails20091218Xtext And Grails20091218
Xtext And Grails20091218Akira Tanaka
 
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へオブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へEverforth Co., Ltd.
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】Tomoharu ASAMI
 
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】Tomoharu ASAMI
 
静的モデル(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第5回】
静的モデル(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第5回】静的モデル(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第5回】
静的モデル(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第5回】Tomoharu ASAMI
 
AzureDevOpsで作るHoloLensアプリCI環境
AzureDevOpsで作るHoloLensアプリCI環境AzureDevOpsで作るHoloLensアプリCI環境
AzureDevOpsで作るHoloLensアプリCI環境Tatsuya Sakai
 
オープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアルオープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアルAkira Tanaka
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624Yusuke Suzuki
 
機械学習基盤として活用するAutonomous Database
機械学習基盤として活用するAutonomous Database機械学習基盤として活用するAutonomous Database
機械学習基盤として活用するAutonomous DatabaseKenichi Sonoda
 
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法Yosuke Onoue
 
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】Tomoharu ASAMI
 

Semelhante a OCL in Papyrus Introduction (20)

Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介
 
Eclipse Modeling QVT
Eclipse Modeling QVTEclipse Modeling QVT
Eclipse Modeling QVT
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
 
Eclipse Modeling Environment 概要
Eclipse Modeling Environment 概要Eclipse Modeling Environment 概要
Eclipse Modeling Environment 概要
 
設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】
設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】
設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】
 
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ クラウド時代のモデリングを考える
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ  クラウド時代のモデリングを考えるオブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ  クラウド時代のモデリングを考える
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ クラウド時代のモデリングを考える
 
Kaleidox
KaleidoxKaleidox
Kaleidox
 
Xtext And Grails20091218
Xtext And Grails20091218Xtext And Grails20091218
Xtext And Grails20091218
 
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へオブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
 
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】
 
静的モデル(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第5回】
静的モデル(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第5回】静的モデル(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第5回】
静的モデル(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第5回】
 
Spring3.1概要x di
Spring3.1概要x diSpring3.1概要x di
Spring3.1概要x di
 
AzureDevOpsで作るHoloLensアプリCI環境
AzureDevOpsで作るHoloLensアプリCI環境AzureDevOpsで作るHoloLensアプリCI環境
AzureDevOpsで作るHoloLensアプリCI環境
 
オープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアルオープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアル
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
 
機械学習基盤として活用するAutonomous Database
機械学習基盤として活用するAutonomous Database機械学習基盤として活用するAutonomous Database
機械学習基盤として活用するAutonomous Database
 
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法
 
Hcj2014 myui
Hcj2014 myuiHcj2014 myui
Hcj2014 myui
 
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
 

Mais de Akira Tanaka

Developing Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse SiriusDeveloping Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse SiriusAkira Tanaka
 
EclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportEclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportAkira Tanaka
 
Eclipse Sirius Applied to a RAD Tool in Japan
Eclipse Sirius Applied to a RAD Tool in JapanEclipse Sirius Applied to a RAD Tool in Japan
Eclipse Sirius Applied to a RAD Tool in JapanAkira Tanaka
 
EclipseCon France 2018 report
EclipseCon France 2018 reportEclipseCon France 2018 report
EclipseCon France 2018 reportAkira Tanaka
 
Eclipse con2017参加報告公開版
Eclipse con2017参加報告公開版Eclipse con2017参加報告公開版
Eclipse con2017参加報告公開版Akira Tanaka
 
Simple Line-Tracer statechart simulation with Yakindu
Simple Line-Tracer statechart simulation with YakinduSimple Line-Tracer statechart simulation with Yakindu
Simple Line-Tracer statechart simulation with YakinduAkira Tanaka
 
EclipseCon NA2016 report
EclipseCon NA2016 reportEclipseCon NA2016 report
EclipseCon NA2016 reportAkira Tanaka
 
Sirius を試してみて
Sirius を試してみてSirius を試してみて
Sirius を試してみてAkira Tanaka
 
MBSD ツールチェーンと今後の活動
MBSD ツールチェーンと今後の活動MBSD ツールチェーンと今後の活動
MBSD ツールチェーンと今後の活動Akira Tanaka
 
EMF Forms Introduction
EMF Forms IntroductionEMF Forms Introduction
EMF Forms IntroductionAkira Tanaka
 
EclipseCon NA 2015 report
EclipseCon NA 2015 reportEclipseCon NA 2015 report
EclipseCon NA 2015 reportAkira Tanaka
 
モデルベースソフトウェア開発
モデルベースソフトウェア開発モデルベースソフトウェア開発
モデルベースソフトウェア開発Akira Tanaka
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Akira Tanaka
 
Xcore introduction
Xcore introductionXcore introduction
Xcore introductionAkira Tanaka
 

Mais de Akira Tanaka (20)

Developing Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse SiriusDeveloping Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse Sirius
 
DSL4ODP Diagrams
DSL4ODP DiagramsDSL4ODP Diagrams
DSL4ODP Diagrams
 
Dsl4 odp diagrams
Dsl4 odp diagramsDsl4 odp diagrams
Dsl4 odp diagrams
 
EclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportEclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling report
 
Sirius in 30 min.
Sirius in 30 min.Sirius in 30 min.
Sirius in 30 min.
 
Eclipse Sirius Applied to a RAD Tool in Japan
Eclipse Sirius Applied to a RAD Tool in JapanEclipse Sirius Applied to a RAD Tool in Japan
Eclipse Sirius Applied to a RAD Tool in Japan
 
EclipseCon France 2018 report
EclipseCon France 2018 reportEclipseCon France 2018 report
EclipseCon France 2018 report
 
Eclipse con2017参加報告公開版
Eclipse con2017参加報告公開版Eclipse con2017参加報告公開版
Eclipse con2017参加報告公開版
 
Simple Line-Tracer statechart simulation with Yakindu
Simple Line-Tracer statechart simulation with YakinduSimple Line-Tracer statechart simulation with Yakindu
Simple Line-Tracer statechart simulation with Yakindu
 
EclipseCon NA2016 report
EclipseCon NA2016 reportEclipseCon NA2016 report
EclipseCon NA2016 report
 
Sirius を試してみて
Sirius を試してみてSirius を試してみて
Sirius を試してみて
 
Xtext 紹介
Xtext 紹介Xtext 紹介
Xtext 紹介
 
MBSD ツールチェーンと今後の活動
MBSD ツールチェーンと今後の活動MBSD ツールチェーンと今後の活動
MBSD ツールチェーンと今後の活動
 
EMF Forms Introduction
EMF Forms IntroductionEMF Forms Introduction
EMF Forms Introduction
 
EclipseCon NA 2015 report
EclipseCon NA 2015 reportEclipseCon NA 2015 report
EclipseCon NA 2015 report
 
モデルベースソフトウェア開発
モデルベースソフトウェア開発モデルベースソフトウェア開発
モデルベースソフトウェア開発
 
RM-ODP 概要
RM-ODP 概要RM-ODP 概要
RM-ODP 概要
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
 
Xcore introduction
Xcore introductionXcore introduction
Xcore introduction
 
Xtext 紹介
Xtext 紹介Xtext 紹介
Xtext 紹介
 

Último

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Último (8)

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

OCL in Papyrus Introduction

  • 1. OCL  in  Papyrus  UML   田中   ビューファイブ  LLC
  • 2. OCL  概要 •  OCL   – Object  Constraint  Language (UML  の一部)   – グラフィカルに表現された  UML  モデルやメタモデ ルに追加するテキスト形式の制約記述言語   •  機能   – モデル要素からの値の読み出し   – 関連するモデル要素をナビゲート   – モデル要素のコレクションに対する操作   – 標準的なデータ型・コレクション型・各種操作 等  
  • 3. OCL  リソース •  標準仕様   –  OMG:  h:p://www.omg.org/spec/OCL/   –  バージョン:  2.3.1  が公開されている最新版   •  この版が  ISO  に  PAS  提案され  ISO/IEC  19507  となっている   •  実装   –  各種商用  UML  ツールで実装   •  ツールの機能説明ページなどで確認下さい   –  オープン実装   •  Eclipse  OCL  (大島さんが紹介されたもの)   •  Eclipse  Papyrus  (Eclipse  OCL  を  UML  Tool  にインテグレート)   •  Dresden  OCL  (h:p://www.dresden-­‐ocl.org/) など   •  書籍   –  「オブジェクト制約言語  OCL」  by  Jos  Warmer,  Anneke  Kleppe
  • 4. モデル階層と OCL Meta-­‐meta  model Metamodel Model Instance  or  Object  Model Instance  of conform  to conform  to MOF  (CMOF,  EMOF/ecore) e.g.  UML,  SOA,  BPMN,  … e.g.  UML  models,  SOA  models,   BPMN  models,  … M3 M2 M1 M0 Constrants  (OCL) Constraints  (OCL) UML  Profiles OCL  適用領域(M1,  M2)
  • 5. UML  ツールの利用 •  モデル階層と  OCL  における  UML  ツール利用   – Metamodel   •  UML  Class  Diagram  のサブセットで記述   •  Metamodel  に基づく  UML  Profile  の定義   – Model   •  制約を持ったstereotype  を適用したモデル要素にはそ の制約が適用   – Instance  or  Object  Model   •  制約を持ったモデル要素のインスタンスにはその制約 が適用
  • 6. Papyrus  UML  紹介 •  Papyrus   – Eclipse  Project  としては唯一の  UML  Tool   – プロジェクトページ: h:p://www.eclipse.org/papyrus/   – 特徴   •  ほぼすべての  UML2  ダイアグラムをカバー   •  UML  Profile  定義のサポート   •  Eclipse  OCL  インテグレーション  
  • 8. Papyrus  UML  の OCL  サポート状況 •  M2  レベルで定義  &  M1  レベルに適用   – UML  Profile  に  OCL  で記述した制約を含め、その UML  Profile  を適用した  UML  モデルの妥当性検 証   •  Papyrus  での動作を確認(例外有:詳細は以降で説明)   •  M1  レベルで定義  &  M0  レベルに適用   – UML  モデルに OCL  で記述した制約を含め、M0   レベル(インスタンスモデル)で妥当性検証   •  Papyrus  では現状動作せず  
  • 9. Papyrus  UML  の OCL  サポート状況 出来るはずと思い  forum  に質問 現状では出来ないとの回答
  • 10. Papyrus  UML  インストール •  インストール手順   – Eclipse  Modeling  Package  のダウンロード   – Help  -­‐>  Install  Modeling  Components   – Install  &  Restart   ✔
  • 11. Papyrus  UML  インストール •  設定に関する注意事項  
  • 12. Papyrus  UML  使い方 •  プロジェクト作成   – File  -­‐>  New  -­‐>  ([Other  |  Project]  -­‐>)  Papyrus   Project   – Project  名(例:org.example.uml.profile)   – Diagram  Language  選択   •  Profile  –  UML  Profile  作成   •  UML  –  UML  Diagram  作成 (UML  Profile  を適用)  
  • 13. Papyrus  UML  使い方 •  UML  Profile  プロジェクト作成
  • 14. Papyrus  UML  使い方 •  UML  Profile  作成 ダイアグラム名 UML  Profile  ダイアグラム 基本データ型テンプレート ✔ ✔
  • 15. Papyrus  UML  使い方 •  UML  Profile  編集画面
  • 16. Papyrus  UML  使い方 •  Stereotype  と  Meta-­‐Class
  • 17. Papyrus  UML  使い方 •  OCL  Constraint  (1/2) 一旦  Pop-­‐up  エディタをキャンセルし   制約リンクを設定 制約の  Property  で   Context  設定
  • 18. Papyrus  UML  使い方 •  OCL  Constraint  (2/2) コンテキストメニューから     OCL  制約エディタを選択 OCL  制約を記述
  • 19. Papyrus  UML  使い方 •  UML  Profile  定義画面(サンプル)
  • 20. Papyrus  UML  使い方 •  UML  Profile  の保存
  • 21. Papyrus  UML  使い方 •  UML  Profile  保存画面 このチェックを忘れないこと
  • 22. Papyrus  UML  使い方 •  UML  Profile  保存完了画面
  • 23. Papyrus  UML  使い方 •  プロジェクト作成   – File  -­‐>  New  -­‐>  ([Other  |  Project]  -­‐>)  Papyrus   Project   – Project  名(例:org.example.uml)   – Diagram  Language  選択   •  UML  –  UML  Diagram  作成  
  • 24. Papyrus  UML  使い方 •  UML  Diagram  作成   ダイアグラム名 作成予定のダイアグラム種別選択   (ここでは例として  Class  図) 基本データ型テンプレート ✔ ✔
  • 25. Papyrus  UML  使い方 •  Class  Diagram  作成用初期画面
  • 26. Papyrus  UML  使い方 •  UML  Profile  利用準備 白紙エリアをクリックし  Property   の  Profile  タブを選択 適用  Profile  を追加
  • 27. Papyrus  UML  使い方 •  UML  Profile  利用準備 先ほど作成した  Profile  ファイルを選択
  • 28. Papyrus  UML  使い方 •  UML  Profile  利用準備 Profile  ファイルを選択
  • 29. Papyrus  UML  使い方 •  Class  Diagram  の作成と  stereotype  適用 各クラスにステレオタイプを適用
  • 30. Papyrus  UML  使い方 •  Stereotype  の属性値設定 各属性に値を与える必要があります
  • 31. Papyrus  UML  使い方 •  Model  Validafon  実行 モデル領域の右クリックで呼 び出したメニュー
  • 32. Papyrus  UML  使い方 •  Model  Validafon  実行結果 OCL  の制約に違反したというエラーメッセージ
  • 33. Papyrus  UML  使い方 •  Console  表示(Window  -­‐>  Show  View)
  • 34. Papyrus  UML  使い方 •  Interacfve  Xtext  OCL  選択
  • 35. Papyrus  UML  使い方 •  Context  設定(対象をクリック) これをクリック
  • 36. Papyrus  UML  使い方 •  OCL  文の投入・評価実行
  • 37. Papyrus  UML  使い方 •  Pale:e  Customizafon Diagram  Editor  Pale4e  Customiza7on  @  h4p://wiki.eclipse.org/Papyrus_User_Guide  
  • 38. まだ出来ないこと 参考:h:p://www.eclipse.org/forums/index.php/t/449362/ モデル作成時にアソシエーション を設定し  stereotype  を適用するが、 そのタイミングでは評価されず   validate  を実行することで評価が 実行されエラー表示がなされる。 現状ではまだ実装に反映されてい ないケース
  • 39. まだ出来ないこと •  Bug  398333  -­‐  [pivot]  A  stereotype  test  case:
  • 40. まだ出来ないこと •  Code  Generafon   –  (出来るとすると)次の手順で出来るはず   •  model.di  のコンテキストメニューから新規  EMF  プロジェクトの作成   –  作成手順のなかで  UML  モデルをベースとして指定   •  作成した  EMF  プロジェクトには次が含まれる   –  Ecore  ファイル   –  Genmodel  ファイル   •  Genmodel  ファイルを EMF  Generator  でオープン   –  ルートパッケージのコンテキストメニューから、モデルコード生成を 選択   •  Ed  さんの  Forum  の書き込みからは  OCL  を含んだモデルも 処理出来そうですが、試した版ではOCLが捨てられました
  • 41. 基本的な使い方説明 UML  Profile  の使い方説明 Source:  h:p://www.eclipse.org/papyrus/usersTutorials/usersTutorialsIndex.php   Papyrus  &  Profile  リソース
  • 42. Papyrus  &  OCL  リソース •  Papyrus  ドキュメンテーション   –  最も分かり易いのは  Help  ファイル Profile  について はこのあたり h:p://www.eclipse.org/forums/index.php/f/121/ そして  Forum
  • 43. Papyrus  &  OCL  リソース •  OCL  ドキュメンテーション   –  やはり  Help  ファイル   この部分
  • 44. まとめ •  Papyrus  での  OCL  利用   –  現状では  UML  Profile  に OCL  で制約を記述し、M1  レベル のモデル作成時の  Model  Validafon  に利用可能   •  OCL  による制約である程度  UML  モデルチェックが出来る   •  UML  モデルで  Interacfve  Xtext  OCL  Console  が利用出来る   •  Associafon  の拡張  +  OCL  制約は現時点で未サポート   –  現状では  M1  のモデルに適用しても、M0  の InstanceSpecificafon  には有効に適用出来ていない     •  その他   –  Eclipse  内で  OCL  と  Papyrus  は別グループのため、反映されるまで時差有り