RequirementComposerProfile は、リンク要素のコレクションを含むリンク属性を伴うクラス Link および RRCElement ステレオタイプを定義します。 このリンクでは、RCElement ステレオタイプを適用し、Rational® Requirements Composer 要素モデルから UML モデルにすべてのリンク・データをコピーすることによって、すべての com.ibm.rdm.base.Element 情報が保持されます。 元の Rational Requirements Composer 要素 (アクター、ユースケースなど) を参照する URL は、URL とステレオタイプ化されて UML コメントに置かれます。 すべての属性グループ・データは、RCArtifact ステレオタイプの attributeGroup プロパティーに置かれます。
以下のテーブルに、変換がサポートする仕様モデル要素と、変換が作成する対応する UML 出力を一覧表示します。
| RRC 要素メタモデル | |
|---|---|
com.ibm.rdm.base.Element |
org.eclipse.uml2.uml.NamedElement<<RRCElement>> |
com.ibm.rdm.base.Element :: |
RRCElement::links(<EList>Link) |
com.ibm.rdm.base.Element :: |
org.eclipse.uml2.uml.NamedElement :: |
com.ibm.rdm.base.Element :: |
org.eclipse.uml2.uml.Element :: |
com.ibm.rdm.richtext.model.Body |
org.eclipse.uml2.uml.Comment<<documentation>>:: |
| ユースケース・メタモデル | UML 2.0 |
|---|---|
com.ibm.rdm.ba.usecase.Usecase |
org.eclipse.uml2.uml.UseCase |
com.ibm.rdm.ba.usecase.Usecase:: |
org.eclipse.uml2.uml.Element :: |
| ユースケース図 | RRC から RSx に変換された要素を指すように調整されたセマンティック要素参照を持つユースケース図 |
|---|---|
com.ibm.rdm.ba.actor.Actor |
org.eclipse.uml2.uml.Actor |
com.ibm.rdm.ba.actor.Actor::details(com.ibm.rdm.richtext.model.Body) |
org.eclipse.uml2.uml.Element :: |
アクターとユースケース間の接続 |
関連 |
Rational Requirements Composer では、 シンプルとコラボレーションという 2 つのタイプのビジネス・プロセス・ダイアグラムが提供されています。 シンプル・プロセス・ダイアグラムは単一の BPMN プロセスで構成されています。 コラボレーション・ダイアグラムには、2 つ以上のビジネス・プロセスの間のコラボレーションが含まれています。 各 BPMN プロセスでは、シーケンス・フローとデータ関連によって複数のタスクが接続されており、 レーンを持つ場合と持たない場合があります。ここで、レーンはセマンティクスが関連付けられていない純粋な表記要素です。
BPMN プロセスは UML アクティビティーに変換されます。 それぞれの UML アクティビティーで、各レーンはパーティションになり、各タスクはアクション・ノードになります。
各 BPMN プロセスは UML インターフェースによっても表されます。 例えば、Process1 は IProcess1 インターフェースによって表され、Process2 のタイプは IProcess2 です。 BPMN プロセス上のすべてのタスクは、対応する UML インターフェース上で UML 操作になります。 DataObjects は DataStore アクティビティー・ノードになります。 また、この変換では、DataObjects を表すためのクラスが作成され、UML モデルのルートで共通分類子パッケージ内に配置されます。 これらのクラスは DataStore ノードのタイプのほか、DataStore ノードに接続された UML アクティビティー・ノード上の入出力ピンのタイプを表すためにも使用されます。 それぞれの入出力ピンについて、タスクを表す UML 操作上に操作パラメーターが作成されます。 このパラメーターのタイプは、対応する入出力ピンと同じタイプに設定されます。
BPMN コラボレーションは、参加プロセスごとに存在するプールと参加者のペアで構成されます。 プールはビジネス・プロセスを表し、参加者は対応するビジネス・プロセスが演じる役割を表します。 BPMN コラボレーション参加者は、UML コラボレーション・ロールに変換されます。 それぞれのロールは、対応するビジネス・プロセスを表すために作成された UML インターフェースによってタイプ化されます。 例えば、participant1 が BPMN Process1 を表す場合、UML コラボレーション・ロール 'participant1' のタイプは IProcess1 インターフェースに設定されます。
UML コラボレーション・ロールの間のコネクターは、参加プロセス間のメッセージ交換を表します。 プロセス間通信はコラボレーションの振る舞いであるため、この変換で、プロセスが互いと通信する方法も示されるということはありません。 したがって、この振る舞いは、アクティビティー・モデル、シーケンス図、 コミュニケーション図、ステートチャート図など、アプリケーション・ドメインに適したさまざまな手段で表すことができます。
下の表には、BPMN メタモデル・マッピングの詳細が示されています。
| BPMN 2.0 メタモデル | UML 2.0 |
|---|---|
com.ibm.bpmn20.Process |
org.eclipse.uml2.uml.Activity |
com.ibm.bpmn20.Process:: |
|
フロー要素タイプ: |
|
com.ibm.bpmn20.CallActivity com.ibm.bpmn20.CallActivity |
org.eclipse.uml2.uml.Activity :: org.eclipse.uml2.uml.Activity :: |
com.ibm.bpmn20.Task com.ibm.bpmn20.Task :: com.ibm.bpmn20.Task :: |
org.eclipse.uml2.uml.Activity :: CallOperationAction:outputPin CallOperationAction:inputPin |
com.ibm.bpmn20.DataObject |
org.eclipse.uml2.uml.DataStoreNode org.eclipse.uml2.uml.Class (共通分類子パッケージ) |
com.ibm.bpmn20.DataAssociation com.ibm.bpmn20.DataAssociation :: com.ibm.bpmn20.DataAssociation :: com.ibm.bpmn20.DataAssociation :: com.ibm.bpmn20.DataAssociation :: |
org.eclipse.uml2.uml.ObjectFlow org.eclipse.uml2.uml.ObjectFlow :: org.eclipse.uml2.uml.ObjectFlow ::
|
com.ibm.bpmn20.StartEvent |
org.eclipse.uml2.uml.InitialNode |
com.ibm.bpmn20.EndEvent |
org.eclipse.uml2.uml.FinalNode |
com.ibm.bpmn20.Event |
org.eclipse.uml2.uml.Event |
com.ibm.bpmn20.IntermediateReceiveEvent com.ibm.bpmn20.IntermediateReceiveEvent::type(com.ibm.bpmn20.TimerEventDefinition) |
org.eclipse.uml2.uml.AcceptEventAction org.eclipse.uml2.uml.AcceptEventAction:: trigger(EList<org.eclipse.uml2.uml.Trigger>) org.eclipse.uml2.uml.AcceptEventAction:: trigger(EList<org.eclipse.uml2.uml.Trigger>) ::event(org.eclipse.uml2.uml.AnyReceiveEvent) |
com.ibm.bpmn20.IntermediateSendEvent com.ibm.bpmn20.IntermediateSendEvent::type(com.ibm.bpmn20.MessageEventDefinition) |
org.eclipse.uml2.uml.SendSignalAction org.eclipse.uml2.uml.SendSignalAction:: signal(org.eclipse.uml2.uml.Signal) org.eclipse.uml2.uml.SendSignalAction::input(EList<org.eclipse.uml2.uml.InputPin>) |
com.ibm.bpmn20.LinkEventDefinition |
org.eclipse.uml2.uml.ObjectFlow |
com.ibm.bpmn20.TimerEventDefinition |
org.eclipse.uml2.uml.TimeEvent |
com.ibm.bpmn20.Gateway |
org.eclipse.uml2.uml.DecisionNode |
com.ibm.bpmn20.ExclusiveGateway |
org.eclipse.uml2.uml.DecisionNode |
com.ibm.bpmn20.InclusiveGateway |
org.eclipse.uml2.uml.DecisionNode |
com.ibm.bpmn20.ParallelGateway |
org.eclipse.uml2.uml.DecisionNode |
com.ibm.bpmn20.SequenceFlow com.ibm.bpmn20.SequenceFlow:: com.ibm.bpmn20.SequenceFlow:: |
org.eclipse.uml2.uml.ControlFlow org.eclipse.uml2.uml.ControlFlow::source org.eclipse.uml2.uml.ControlFlow::target |
com.ibm.bpmn20.Collaboration |
org.eclipse.uml2.uml.Collaboration |
com.ibm.bpmn20.Collaboration :: |
org.eclipse.uml2.uml.Activity |
com.ibm.bpmn20.Collaboration :: com.ibm.bpmn20.Collaboration :: |
org.eclipse.uml2.uml.Interface org.eclipse.uml2.uml.Interface::operation(EList<org.eclipse.uml2.uml.Operation>) |
com.ibm.bpmn20.Collaboration :: |
org.eclipse.uml2.uml.Collaboration::collaborationRole(EList<org.eclipse.uml2.uml.ConnectableElement>) |
表記レーン |
アクティビティー・パーティション |