コンポーネント図

コンポーネント

特徴
うむ・・・
基本コンポーネント
コンポーネントは次の特徴をもつ。
  1. 属性と操作を持てる。
  2. 関連と汎化をサポートするクラスのサブクラスである。
  3. 振る舞いを実現するために、realizingClassifiersの集合を抽象化するかも知れない。はぁ?
  4. オプションとして内部構造を持つことができ、相互作用点であるPortの集合を所有するかも。
  5. 提供/要求インタフェースを複数持ちうる。

+

パッケージングコンポーネント
ほう。
  1. コンポーネントはパッケージングコンポーネントのグループ化ができるように拡張される。
  2. 仕様書人間の言葉じゃねぇ。
属性
  • isIndirectlyInstantiated:Boolean=true
isIndirectlyInstantiated
コンポーネントに適用するインスタンス化の種類。Falseの場合、コンポーネントはアドレス可能なオブジェクトとしてインスタンス化される。trueの場合、コンポーネントは設計時にのみ定義され、実行時にはオブジェクトとして存在しない。つまり、こいつをコンクリートしてくれる分類子のインスタンス化を通じてのみ、間接的にインスタンスされるっつうことだ。
関連
  • BasicComponents
    • /provided:Interface[*]
    • /required:Interface[*]
    • realization:ComponentRealization[*]
  • PackagingComponents
    • packagedElement:PackageableElement[*]
/provided
公開する提供インタフェース。コンポーネント自身により実現されるかもしれないし、コンポーネントが持つ分類子によってかも知れないし、公開Portによって提供されるインタフェースかも知れない。これは派生属性だ。
/required
コンポーネントが外部の環境に要求する、要求インタフェース。コンポーネント自身、内部の分類子、ポートのどれかによって使われる。これも派生関連だ。
realization
コンポーネントが所有する、Realizationの集合。
packagedElement
コンポーネントが所有する、PackageableElementの集合。なんとなく分かればOK。100点取んなくていいんだからw
固有の操作
  • RealizedInterfaces
  • UsedInterfaces
RealizedInterfaces
実現インタフェースの集合を返す。
UsedInterfaces
要求インタフェースの集合を返す。
記法

キーワード<>を書いた長方形だ。オプションでアイコンも描いていい。「90度右に倒した下駄アイコン」だ。