>サイトトップへ >このカテゴリの一覧へ

B 3900-3

:2010 (ISO 16100-3:2005)

(1)

目  次

ページ

序文

1

1

  適用範囲

1

2

  引用規格

1

3

  用語及び定義

2

4

  略語

3

5

  製造用ソフトウェアの情報モデル及びプロファイル

3

5.1

  製造業におけるアクティビティ及び情報交換モデル

3

5.2

  製造用ソフトウェアユニット  (MSU)

4

5.3

  ケイパビリティプロファイルの照合

6

5.4

  インタフェースサービスの定義

8

6

  ケイパビリティプロファイルのインタフェース,サービス及びプロトコル

9

6.1

  ケイパビリティプロファイルサービスの利用

9

6.2

  プロトコルの仕様

15

7

  テンプレート

19

7.1

  全体構造

19

7.2

  共通部分

19

7.3

  特有部分

22

7.4

  テンプレートの使用

22

8

  適合性

22

附属書 A(参考)ケイパビリティプロファイルテンプレート

23

附属書 B(参考)ケイパビリティの参照モデル

37

附属書 C(参考)ソフトウェアユニット情報モデルの例

52


B 3900-3

:2010 (ISO 16100-3:2005)

(2)

まえがき

この規格は,工業標準化法第 12 条第 1 項の規定に基づき,財団法人新産業創造研究機構(NIRO)及び財

団法人日本規格協会(JSA)から,工業標準原案を具して日本工業規格を制定すべきとの申出があり,日本工

業標準調査会の審議を経て,経済産業大臣が制定した日本工業規格である。

この規格は,著作権法で保護対象となっている著作物である。

この規格の一部が,特許権,出願公開後の特許出願,実用新案権又は出願公開後の実用新案登録出願に

抵触する可能性があることに注意を喚起する。経済産業大臣及び日本工業標準調査会は,このような特許

権,出願公開後の特許出願,実用新案権及び出願公開後の実用新案登録出願にかかわる確認について,責

任はもたない。

JIS B 3900

の規格群には,次に示す部編成がある。

JIS

B

3900-1

  第 1 部:枠組み

JIS

B

3900-2

  第 2 部:プロファイリングの手法

JIS

B

3900-3

  第 3 部:インタフェースサービス,プロトコル及びケイパビリティテンプレート


  

日本工業規格

JIS

 B

3900-3

:2010

(ISO 16100-3

:2005

)

産業オートメーションシステム及びその統合−

製造用ソフトウェア相互運用のための

ケイパビリティプロファイリング−

第 3 部:インタフェースサービス,プロトコル

及びケイパビリティテンプレート

Industrial automation systems and integration-

Manufacturing software capability profiling for interoperability-

Part 3: Interface services, protocols and capability templates

序文

この規格は,2005 年に第 1 版として発行された ISO 16100-3 を翻訳し,技術的内容を変更することなく

作成した日本工業規格である。

なお,この規格で点線の下線を施してある参考事項は,対応国際規格にはない事項である。

この規格は,製造用ソフトウェアの相互運用を促進する目的で作成し,各企業の生産環境に応じて個別

に開発され使用されてきたソフトウェアの再利用及び開発の方法論について規定する。これによって,製

造用ソフトウェアの部品化及び共有化による流通及び開発コストの削減に寄与する。

1

適用範囲

この規格は,製造用ソフトウェアのケイパビリティプロファイルの作成に使用するインタフェースサー

ビス及びプロトコルについて規定する。

この規格は,

製造用領域で使用するソフトウェア製品に適用する。

この規格は,製造用の工程設計,操作及び制御にかかわるソフトウェアのインタフェースを適用範囲とし

ており,製品設計,工場管理,サプライチェーンマネジメント (SCM) 及び企業資源計画 (ERP) は適用し

ない。

注記  この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。

ISO 16100-3:2005

,Industrial automation systems and integration−Manufacturing software capability

profiling for interoperability

−Part 3: Interface services, protocols and capability templates (IDT)

なお,対応の程度を表す記号(IDT)は,ISO/IEC Guide 21-1 に基づき,一致していることを示

す。

2

引用規格

次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの


2

B 3900-3

:2010 (ISO 16100-3:2005)

  

引用規格のうちで,西暦年を付記してあるものは,記載の年の版を適用し,その後の改正版(追補を含む。

は適用しない。西暦年の付記がない引用規格は,その最新版(追補を含む。

)を適用する。

JIS B 3900-1:2007

  産業オートメーションシステム及びその統合−製造用ソフトウェア相互運用のた

めのケイパビリティプロファイリング−第 1 部:枠組み

注記  対応国際規格:ISO 16100-1,Industrial automation systems and integration−Manufacturing

software capability profiling for interoperability

−Part 1: Framework (MOD)

JIS B 3900-2:2008

  産業オートメーションシステム及びその統合−製造用ソフトウェア相互運用のた

めのケイパビリティプロファイリング−第 2 部:プロファイリングの手法

注記  対応国際規格:ISO 16100-2,Industrial automation systems and integration−Manufacturing

software capability profiling for interoperability

−Part 2: Profiling methodology (IDT)

ISO 16100-4

,Industrial automation systems and integration−Manufacturing software capability profiling for

interoperability

−Part 4: Conformance test method, criteria, and reports

3

用語及び定義

この規格で用いる主な用語及び定義は,JIS B 3900-1 及び JIS B 3900-2 によるほか,次による。

3.1

ケイパビリティプロファイルインタフェース  (capability profile interface)

機能的なサービスアクセス点。ケイパビリティプロファイルに対して,5.4 で規定する一連のサービスを

提供する。

3.2

ケイパビリティプロファイルサービス提供者  (capability profile service provider)

ケイパビリティプロファイルインタフェースを実装したソフトウェアの提供者。

3.3

クラスタ  (cluster)

製造の一連のリソースユニット。

3.4

ケイパビリティプロファイルの要素  (component)

製造用ソフトウェアユニット (MSU) の一部。製造用ソフトウェアコンポーネントを含む。

3.5

プロファイルの使用者  (consumer)

プロファイル又は一致レベルの使用者。

3.6

照合機構  (matcher)

提供できるケイパビリティプロファイルと要求されたケイパビリティプロファイルとを比較するメカニ

ズム。

3.7

一致レベル  (matching level)

製造用ソフトウェアユニット (MSU) のケイパビリティプロファイルがどのくらい製造用アクティビテ

ィのソフトウェア機能要件を満足しているかを図る指標。


3

B 3900-3

:2010 (ISO 16100-3:2005)

3.8

製造用ソフトウェアユニット  (MSU)  の相互運用性  (MSU interoperability)

製造用ソフトウェアユニット (MSU) が別の MSU とアプリケーション情報を交換するための,インタフ

ェース仕様。

3.9

製造用ソフトウェアユニット  (MSU)  の相互互換性  (MSU interchangeability)

製造用ソフトウェアユニット (MSU) を別の MSU と交換する機能。

3.10

プロファイルの提供者  (producer)

プロファイル又は一致レベルの提供者。プロファイルの使用者 (consumer) の対義語。

3.11

参照用ケイパビリティクラスの構造  (reference capability class structure)

スキーマであり,ケイパビリティプロファイリングのために使われるケイパビリティクラスの階層を表

すもの。

3.12

参照用辞書  (reference dictionary)

参照用ケイパビリティクラスの構造で参照するケイパビリティクラスのリスト。

3.13

スキーマ  (schema)

XML

メタデータを定義するもの。

3.14

テンプレート  (template)

製造用ソフトウェアユニット (MSU) のケイパビリティプロファイルのスキーマ。

3.15

I

型照合機構  (type I matcher)

同一のケイパビリティクラス構造から導出したプロファイルを照合する機構。

3.16

II

型照合機構  (type II matcher)

同一又は異なるケイパビリティクラス構造から導出したプロファイルを照合する機構。

4

略語

(この規格の中で出現時に記載のため削除)

5

製造用ソフトウェアの情報モデル及びプロファイル

5.1

製造業におけるアクティビティ及び情報交換モデル

製造用アプリケーションは,製造用プロセスの集合体としてモデル化する必要がある。複数の製造用資

源が製造用プロセスを実行,制御及び自動化する(JIS B 3900-1 

図 参照)。

製造用プロセスは,生産計画済みの一連の製造用アクティビティとしてモデル化する。複数の製造用機

能がそれぞれの製造用アクティビティと連携する(JIS B 3900-1 の 4.3 参照)

複数の MSU 又は一つの MSU を順番に稼動して製造用アクティビティが要求する機能を遂行して製造用


4

B 3900-3

:2010 (ISO 16100-3:2005)

  

アプリケーションを満足する(JIS B 3900-1 の 5.2 参照)

製造用ソフトウェアの相互運用のための枠組み(JIS B 3900-1 の 5.参照)によれば,製造用アクティビ

ティは,複数の MSU と関連する。複雑な製造用アクティビティは,より単純な複数の製造用アクティビ

ティの集合体としてモデル化できる(ISO 16100-1 

附属書 参照)。単純な製造用アクティビティは,1

個の単純な製造用機能と関連し,一つの MSU がその製造用アクティビティを実現する。

MSU

の集合が個々の製造用機能を達成する場合もあれば,一つの MSU が複数の製造用機能を実現する

場合もある(JIS B 3900-1 の 5.2 参照)

例  一つの単純な製造用アプリケーション[例えば,モノをつか(掴)んで所定の場所に置く。]は,

三つの製造用プロセス(例えば,モノをつかむ,移動する及び離す。

)としてモデル化することが

できる。個々の製造用プロセスは,一つの製造用アクティビティと関連する。この製造用アクテ

ィビティは,複数の連続した製造用機能(例えば,モノを識別する,場所を識別する,モノに向

かう,モノをつかむ,場所に移動する,モノを離す及び作業終了を通知する。

)から成る。ある場

合には,二つのケイパビリティテンプレートをもつ 2 種類の MSU(例えば,つかむ,離す及び移

動する。

)は,三つの MSU インスタンス(アクティビティごとに一つ)に分割できる。ある場合

には,より低レベルの MSU クラス[置く,識別する又は通知する,捕そく(捉)する又は離す,

及び目標に向かって動く。

]及び MSU インスタンスが存在する。

図 に示すように一つの MSU は,複数のケイパビリティへのケイパビリティプロファイルも含んだイ

ンタフェースを提供する。ケイパビリティプロファイルには,一つのケイパビリティプロファイルインタ

フェース (CPI) でアクセスできる。その他のインタフェースに関する情報は,ケイパビリティプロファイ

ルに含まれているので,CPI 経由でアクセスできる。

ケ イ パビ リ ティ

プロ フ ァ イ ル

サービ ス

提供者

MSU

ケ イ パビ リ ティ

プロ フ ァ イ ル

ケ イ パビ リ ティ

ケ イ パビ リ テ ィ プロ フ ァ イ ルを 得
る た めの方法の提供( 1 型サービ
ス , 5.4 参照)

CPI

XML フ ァ イ ル

図 1−ケイパビリティ及び関連するインタフェース,特にケイパビリティプロファイルインタフェース 

(CPI) 

をもつ製造用ソフトウェアユニット  (MSU)

5.2

製造用ソフトウェアユニット  (MSU)

MSU

は,製造用リソースの一つの型としてモデル化する。ここで製造用リソースは,一連の相互運用基

準を満たす。これらの基準は,MSU が実現する製造用機能,支援する情報交換の順序及びタイミングで決

める。

MSU

のケイパビリティプロファイルは,JIS B 3900-1 

図 に示すように,製造用アクティビティに関

連する。ソフトウェアコンポーネントは,ケイパビリティプロファイルとは関連しない。

製造用アクティビティのケイパビリティクラスに関連する製造用機能は,一つ以上の MSU によってモ

デル化したものでなければならない。


5

B 3900-3

:2010 (ISO 16100-3:2005)

例  図 の製造用アクティビティ N に関する製造用機能は,MSU 3 によって実現する。一方,製造用

アクティビティ M に関する製造用機能は,MSU 1 及び MSU 2 の両方によって実現する。

一組の MSU が支援する製造用ケイパビリティクラスは,製造用プロセスを実現する製造用アクティビ

ティの製造用機能と他の製造用リソースとの間で交換する関連情報で決まる。

MSU

のあるクラスは,異なる複数のアクティビティで使用する。各 MSU は,一組のインタフェースを

提供する。MSU 同士の相互運用性の基準は,相互運用するアクティビティの要求で決まる。製造用プロセ

ス同士の相互運用性の基準は,この規格の適用外である。

各レベルにおいて,製造用ソフトウェアへの要求は,

図 B.1 に示すように同様の構造化した一組のケイ

パビリティクラスとしてモデル化することでできる。

注記 1  JIS B 3900-1 の図 では,製造用プロセスは一組の製造用アクティビティで構成する。製造

用プロセスは,製造用アクティビティの入れ子構造又は階層構造でもよい。MSU の相互運用

性は,後者にだけ適用する。

二つ以上の MSU が,製造用アクティビティの中で必要な製造用ソフトウェアの機能を提供する場合,

これらの MSU は,相互運用性の基準を満足しなければならない。あるアクティビティにおいて,複数の

MSU

の相互運用で必要なインタフェースは,当該アクティビティのソフトウェアケイパビリティプロファ

イルで指定する。

  MSU

コンポーネント

x

コンポーネント

y

コンポーネント

z

製造用アク ティ ビティ M

MSU 1 
提供者

A

MSU 2 
提供者

B

A

B

MSU 2 
提供者

C

C

製造用アク ティ ビティ N

MSU 3 
提供者

D

D

相互運用性 J

相互運用性 I

互換性

( こ の規格の適用外)

コ ン ポーネン ト 間の

相互接続性

( こ の規格の適用外)

: イ ン タ フ ェ ース

図 2−製造用アクティビティにおける MSU

注記 2  図 では,提供者 A が MSU 1 で提供するインタフェース A は,提供者 B が MSU 2 で提供す

るインタフェース B と相互接続する。相互運用性の基準は,アクティビティ M の要求に従

う相互運用性 I で示す。インタフェース A のケイパビリティプロファイルは,相互運用性 I

を支援するインタフェース B のケイパビリティプロファイルと合致する。このケイパビリテ

ィプロファイルは,製造用アクティビティが異なれば違ってもよい。

注記 3  図 では,M 及び N の二つのアクティビティが協調する場合は,別の相互運用性の基準を使

うことができる。相互運用性の基準は,相互運用性 J で示し,アクティビティ M 及び N に共

通である。M 及び N の両方のアクティビティを具現化する MSU は,相互運用性 J を支援す

るケイパビリティプロファイルをもつ。

複数の MSU が連携した挙動は,一つの MSU がアクティビティの製造用ソフトウェアの要求を実現する


6

B 3900-3

:2010 (ISO 16100-3:2005)

  

場合と同じである。一つの MSU と同等のこの挙動は,一組の MSU が用いる共通のインタフェース仕様の

互換的な使い方にかかわる。いい換えると,一つの MSU は,一つのアクティビティが複数のアクティビ

ティに分割できるように,複数の MSU にできる。

一つの MSU を一組の製造用ソフトウェアコンポーネントでモデル化すると,この MSU には,他の MSU

を含まない。これらのコンポーネントは,その MSU だけに属すると考える。一つの MSU 内でのコンポー

ネント間の情報交換に関連するインタフェースは,この規格の適用外である。

注記 4  図 において,提供者 C による MSU 2 は,提供者 B による製造用アクティビティ M に必要

な製造用機能を実現している MSU 2 と置き換えることができる。

一方,

提供者 A による MSU

1

が提供するインタフェース A が,提供者 C による MSU 2 が提供するインタフェース C と

相互運用できたとしても,二つの MSU は完全に互換とはいえない。インタフェース B のケ

イパビリティプロファイルが,インタフェース C のケイパビリティプロファイルと合致して

相互運用性を保証しても,互換性は保証しない。

5.3

ケイパビリティプロファイルの照合

5.3.1

概要

MSU

ケイパビリティテンプレートの構造は,製造用ケイパビリティクラスの構造から導出する(JIS B 

3900-2

の 6.3 参照)

。MSU 又は製造用アクティビティへの要求に関するケイパビリティプロファイルは,

JIS B 3900-2

の 6.3 に従って照合する。ケイパビリティプロファイルは,少なくともその MSU の名前を記

載したケイパビリティテンプレートである。ケイパビリティテンプレートのその他の項目は,希望する照

合の程度に応じて記載する(JIS B 3900-2 の 6.4 参照)

製造用ケイパビリティクラスの属性は,JIS B 3900-2 の 6.2.1 による。また,概念構造は,JIS B 3900-2

の 6.2.3 及び 6.2.4 による。

注記 1  製造用アプリケーション,製造用アクティビティと製造用資源との関係については,JIS B 

3900-1

図 を参照。ケイパビリティクラスと製造用アクティビティとの関係については,

JIS B 3900-2

の 6.2 を参照。

注記 2  参照用ケイパビリティクラスの構造は,参照用スキーマで記載する。附属書 の“参照用ク

ラス構造”を参照。

MSU

ケイパビリティプロファイルが合致するということは,次の製造用アクティビティへの要求事項に

適合していることである。

a)

製造用機能に関連する入出力情報の操作である。

注記 3  テンプレートの“ケイパビリティプロファイルの特有部分”の要素は,アクティビティに関

連する製造用機能の入出力要素として分類する(JIS B 3900-2 の 6.3 参照)

。MSU プロファイ

ルと要求するケイパビリティとの照合は,MSU プロファイルがこれらの要素を含むことを意

味している。

b)

相互運用可能な二つのアクティビティは,ケイパビリティプロファイルで表現した,矛盾のないイン

タフェースをもつ MSU である。

注記 4  その MSU のインタフェースサービス及びプロトコルは,それぞれの対応する製造用アクテ

ィビティと同じように,他の MSU のインタフェースサービス及びプロトコルと連携して相

互運用可能となる。

図 は,既存の MSU ケイパビリティプロファイルと,製造用アクティビティに対して新しく要求する

ケイパビリティプロファイルとの照合手続きをモデル化している。


7

B 3900-3

:2010 (ISO 16100-3:2005)

テン プレ ート

照合機構

MSU のケ イ パビ リ テ ィ プロ フ ァ イ ル

要求ケ イ パビ リ ティ プロ フ ァ イ ル

1

1...*

1

1...*

1

1

1

1 1

1

1

1...*

入力と し て提供

入力と し て提供

製造用ア プリ ケ ーシ ョ ン

ケ イ パビ リ ティ ク ラ ス

製造用資源

MSU

製造用ア ク テ ィ ビ ティ

要求製造用機能

意味的情報

参照

図 3−ケイパビリティプロファイルの照合

すべての照合機構は,アプリケーションの固有の領域を説明する意味論的情報を用いる。この意味論的

情報は,ケイパビリティプロファイルデータベースに登録している語いに基づいて作成する固有の情報を

含む。

5.3.2

Ⅰ型照合機構

Ⅰ型照合機構は,同一のケイパビリティクラスから導出したケイパビリティテンプレートで作成するケ

イパビリティプロファイル間だけの照合を行う点で,Ⅱ型照合機構とは異なる。

5.3.3

Ⅱ型照合機構

Ⅱ型照合機構は,同一のケイパビリティクラス又は異なるケイパビリティクラスから導出したテンプレ

ートで作成するケイパビリティプロファイル間の照合ができる。異なるケイパビリティクラス間の場合,

クラスは,同一の製造用アプリケーション又は異なる製造用アプリケーションのいずれから作成してもよ

い。

異なる企業は製造用機能を異なる活動領域及び様々な機能的な区分に基づいて分類するために,異なる

ケイパビリティクラスが存在する。この場合には,同じ製造用機能が異なったケイパビリティクラスに属

することになる。

Ⅱ型照合機構は,照合処理の実行において異なるケイパビリティクラスの同じ製造用機能を識別するた

めに意味論的情報を利用する。

一つの製造用アプリケーションのための異なる二つのケイパビリティクラスから得た二つのテンプレー

トで作成した二つのプロファイルをⅡ型照合機構が照合する場合,利用者は要求するケイパビリティプロ

ファイルを作成するために,あるケイパビリティクラスから得たケイパビリティテンプレートを埋めて,

ある製造用機能を記述する。提供者は,MSU のケイパビリティプロファイルを作成するために,異なるケ

イパビリティクラスから得たケイパビリティテンプレートを埋めて,同じ製造用機能を記述する。次にⅡ


8

B 3900-3

:2010 (ISO 16100-3:2005)

  

型照合機構は,利用者が作成した要求ケイパビリティプロファイルと,提供者が作成した MSU ケイパビ

リティプロファイルとを照合する(

図 参照)。

製造用ア プリ ケ ーシ ョ ン

ケ イ パビ リ テ ィ ク ラ ス   #1

ケ イ パビ リ テ ィ ク ラ ス   #2

ケ イ パビ リ テ ィ

テ ン プレ ート   #1

ケ イ パビ リ テ ィ

テ ン プレ ート #2

要求ケ イ パビ リ テ ィ

プロ フ ァ イ ル

MSU ケ イ パビ リ テ ィ

プロ フ ァ イ ル

Ⅱ型照合機構

利用者が選択

提供者が選択

対応関係

対応関係

作成

作成

入力

入力

図 4−一つの製造用アプリケーションのための異なるケイパビリティクラス

ほかの場合には,Ⅱ型照合機構は,異なる製造用アプリケーションのケイパビリティクラスから得たテ

ンプレートで作成したプロファイルを取り扱う。

5.4

インタフェースサービスの定義

JIS B 3900-2

に示すソフトウェア相互運用のためのケイパビリティプロファイルの概念を利用するため

に,次のサービスが必要となる。

a)

新しい MSU のケイパビリティプロファイリング

b)

提案した MSU ケイパビリティプロファイルと要求したケイパビリティとの照合

c)

プロファイルの作成規則に対するケイパビリティプロファイルの検証

d)

ケイパビリティプロファイル及びテンプレートの編集

e)

新しいテンプレートの作成

図 のケイパビリティプロファイルの提供者は,上述のサービス a)∼e)  を含む次の種類のサービスを提

供する。

a)

種類 型  MSU のプロファイル又は製造用アクティビティが要求するケイパビリティプロファイル

へアクセスし,二つのプロファイルを照合するためのサービス

b)

種類 型  ケイパビリティプロファイルを作成・修正し,新しい MSU のケイパビリティプロファイ

リング処理で使用するサービス(JIS B 3900-2 

図 及び図 参照)

c)

種類 型  ケイパビリティプロファイリングテンプレートを作成・修正し,新しいテンプレートの作

成で使用するサービス(

図 参照)

通常,すべての種類のサービスは,同じ MSU インタフェース又は異なるインタフェースにおいて利用

可能である。

この規格では,種類 1 型のサービスプロトコルの定義だけを規定する(6.2 参照)


9

B 3900-3

:2010 (ISO 16100-3:2005)

6

ケイパビリティプロファイルのインタフェース,サービス及びプロトコル

6.1

ケイパビリティプロファイルサービスの利用

6.1.1

ケイパビリティプロファイルのアクセス

種類 1 型のサービスは,ケイパビリティプロファイルへのアクセス及び照合に利用する。

ケイパビリティプロファイルは,MSU から又は MSU とは異なる資源からアクセスできる。

6.1.2

二つのケイパビリティプロファイルの照合

MSU

の選択処理は,与えたアクティビティの要求プロファイルから始まる。希望する MSU は,アクテ

ィビティに必要なケイパビリティに合致するケイパビリティプロファイルをもたなければならない。アク

ティビティを実現するために必要なプロファイルは,必す(須)のケイパビリティ及び選択できるケイパ

ビリティをもつ。希望する MSU は,与えたアクティビティに対して,最小限の必す(須)のケイパビリ

ティをもつ。

選択処理の各段階で,MSU ケイパビリティプロファイルに含まれている必す(須)のケイパビリティ及

び選択できるケイパビリティは,アクティビティが要求するプロファイルのケイパビリティと合致する。

合致レベルは,照合の結果を示している(

図 参照)。

  アク ティ ビ ティ を 実現する すべての要求機能及び挙動

 
 
 
 
ア ク ティ ビ テ ィ の必すのケ イ パビ リ ティ の幾つかと
合致し た MSU ケ イ パビ リ ティ

MSU

ケ イ パビ リ ティ プロ フ ァ イ ルで

記述する ケ イ パビ リ テ ィ

特定のケ イ パビ リ テ ィ
ク ラ ス 構造に関連し た
ア ク テ ィ ビ テ ィ の必す
のケ イ パビ リ テ ィ

A

C

A

H

I

E

B

D

F

G

B

D

F

G

図 5−アクティビティに関する MSU の合致レベルの獲得

特定のアクティビティが要求する挙動及び MSU の挙動は,フィルタで比較し,合致レベルの指標とし

て用いる。

合致レベルは,

図 に示す次の値のいずれか一つを取る。

a)

完全合致:アクティビティケイパビリティプロファイルのすべての必す(須)及び選択の機能が,MSU

プロファイルと合致する。

b)

必す(須)部分の完全合致:アクティビティケイパビリティプロファイルのすべての必す(須)の機

能が,MSU プロファイルと合致する。

c)

必す(須)部分の部分合致:アクティビティケイパビリティプロファイルの幾つかの必す(須)の機

能が,MSU プロファイルと合致する。

d)

必す(須)部分の合致なし:アクティビティケイパビリティプロファイルのすべての必す(須)の機

能が,MSU プロファイルと一つも合致しない。


10

B 3900-3

:2010 (ISO 16100-3:2005)

  

注記 1  “必す部分の部分合致”のレベルは,ケイパビリティクラス構造のすべてに対して,照合処

理を繰り返すために用いる。

必す部分の完全合致

必す部分の部分合致

必す部分の合致なし

完全合致

図 6−合致レベル

注記 2  必す部分の部分合致の理由と,より高度な合致レベルを得るためのヒントの程度及び有用性

とで,照合機構の品質が決まる(7.4 参照)

MSU

の選択処理は,MSU ケイパビリティプロファイルが,要求ケイパビリティプロファイルと“完全

合致”又は“必す部分の完全合致”になったときに成功とみなす。

6.1.3

種類 型サービスの基本形

6.1.3.1

概要

ケイパビリティプロファイルにアクセスし照合するサービスの手順は,次の事例を支援する

図 参照)。

事例 1: 使用者は,要求プロファイル又は MSU プロファイルのいずれかを求め,サービス提供者は,

プロファイルそのものを返す。ここで,ケイパビリティプロファイルは,既知で登録済みと

する。

事例 2: 使用者は,MSU プロファイルを求め,サービス提供者は,プロファイルそのものを返す。こ

こで,ケイパビリティプロファイルは,MSU がもつものとする。

事例 3: 使用者が照合する二つのプロファイルは,通常は,一つの要求プロファイル及び一つの MSU

プロファイルを送り照合を求める。要求時のパラメタとして,二つのプロファイルの情報又

は一つ以上のプロファイル識別子を送り,サービス提供者は照合結果を返す。合致レベルが

“必す部分の部分合致”のときは,少なくとも合致した必す機能のリストを返す。

事例 4: 使用者は,MSU にプロファイルを送り,照合を求める。MSU は,事例 3 と同様に,サービ

ス提供者の照合サービスを使って返すこともできる。


11

B 3900-3

:2010 (ISO 16100-3:2005)

requestProfile( p1)

returnProfile( )

requestProfile( )

replyProfile( )

requestMatch ( p1, p2)

requestMatchingResult( )

requestMatch ( p1)

requestMatchingResult( )

requestMatch ( p1, p2)

requestMatchingResult( )

MSU

サービ ス 提供者

例: プロ フ ァ イ ルデー

タ ベース , 照合機構

プロ フ ァ イ ル使用者

事例 1 
登録済みのケ イ パビ リ
テ ィ プ ロ フ ァ イ ルへの
ア ク セス

事例 2 
MSU のケ イ パビ リ テ ィ
プロ フ ァ イ ルへのア ク
セス

事例 3 
プ ロ フ ァ イ ル使用者が
用意し た 二つのプ ロ フ
ァ イ ルの照合

事例 4 
プロ フ ァ イ ルと MSU の
プ ロ フ ァ イ ルと の直接
照合

図 7−種類 型のプロファイルアクセスサービス

サービスアクセスポイントオブジェクトである“ServiceAccessPoint”は,ケイパビリティプロファイル

の発信元又は合致レベルの評価元が提供する。

プロファイル又は照合結果を与える発信元は提供者として,

プロファイル及び照合結果の応答先は,消費者として取り扱う。

記述したパラメタに加えて,要求する“ServiceAccessPoint”オブジェクトへの経路を示すパラメタも提

供する。

6.1.3.2

サービス提供者を介するケイパビリティプロファイルへのアクセス(事例 1

requestProfile”サービス要求は,次の処理手順で実行する。

a)

プロファイル使用者は,

ServiceAccessPoint”オブジェクトの“requestProfile”サービスを起動する。

1)

サービス要求の呼出しパラメタは,ケイパビリティプロファイル識別子である。

2)

サービス応答者の挙動は,非同期である。

b)

サービス提供者は,

ServiceAccessPoint”オブジェクトの“returnProfile”サービスを起動する。

1)

サービス応答のパラメタは,次の三つである。

1.1)

ケイパビリティプロファイル識別子

1.2)

プロファイルの内容

1.3)

アクセスにおけるエラー状況

2)

サービス要求者の挙動は,非同期である。

3)

サービスの応答があるまでは,他のサービス要求は起動しない。

ケイパビリティプロファイルの名前は,要求ケイパビリティプロファイル又は MSU ケイパビリティプ

ロファイルを参照することができる。

6.1.3.3

MSU

のケイパビリティプロファイルへのアクセス(事例 2

requestProfile”サービス要求は,次の処理手順で実行する。


12

B 3900-3

:2010 (ISO 16100-3:2005)

  

a)

プロファイル使用者は,MSU オブジェクトの“requestProfile”サービスを起動する。

1)

サービス要求の呼出しパラメタは,

“none”である。

2)

サービス要求者の挙動は,非同期である。

b) MSU

は,

ServiceAccessPoint”オブジェクトの“returnProfile”サービスを起動する。

1)

サービス応答のパラメタは,次の三つである。

1.1)

ケイパビリティプロファイル名

1.2)

プロファイルの内容

1.3)

アクセスにおけるエラー状況

2)

サービス応答者の挙動は,非同期である。

3)

サービスの応答があるまでは,他のサービス要求は起動しない。

応答したプロファイルは,MSU 自身のケイパビリティプロファイルである。

6.1.3.4

照合機構を介した二つのプロファイルの照合(事例 3

requestMatch”サービス要求は,次の処理手順で実行する。

a)

プロファイル使用者は,

ServiceProvider”オブジェクトの“requestMatch”サービスを起動する。

1)

サービス要求の呼出しパラメタは,次の二つである。

1.1)

一つ目のケイパビリティプロファイル識別子

1.2)

二つ目のケイパビリティプロファイル識別子

2)

サービス要求者の挙動は,非同期である。

b)

提供者は,

ServiceAccessPoint”オブジェクトの“returnMatchingResult”サービスを起動する。

1)

サービス応答のパラメタは,次の四つである。

1.1)

ケイパビリティプロファイル 1 の識別子

1.2)

ケイパビリティプロファイル 2 の識別子

1.3)

照合結果

1.4)

アクセスにおけるエラー状況

2)

サービス応答者の挙動は,非同期である。

3)

サービスの応答があるまでは,他のサービス要求は起動しない。

ケイパビリティプロファイルの名前は,要求ケイパビリティプロファイル又は MSU ケイパビリティプ

ロファイルを参照してもよい。

6.1.3.5

プロファイルと MSU のプロファイルとの直接照合(事例 4

requestMatch”サービス要求は,次の処理手順で実行する。

a)

プロファイル使用者は,

ServiceAccessPoint”オブジェクトの“requestMatch”サービスを起動する。

1)

サービス要求の呼出しパラメタは,ケイパビリティの名前である。

2)

サービス要求者の挙動は,非同期である。

b)

提供者は,

ServiceAccessPoint”オブジェクトの“returnMatchingResult”サービスを起動する。

1)

サービス応答のパラメタは,次の四つである。

1.1)

ケイパビリティプロファイル 1 の名前

1.2) MSU

のケイパビリティプロファイルの名前

1.3)

照合結果

1.4)

アクセスにおけるエラー状況

2)

サービス応答者の挙動は,非同期である。


13

B 3900-3

:2010 (ISO 16100-3:2005)

3)

サービスの応答があるまでは,ほかのサービス要求は起動しない。

ケイパビリティプロファイルの名前は,要求ケイパビリティプロファイル又は MSU ケイパビリティプ

ロファイルを参照することがある。

6.1.4

ケイパビリティプロファイリング及び解析処理のための共通管理サービス

findServiceProvider( )

returnServiceProvider( )

registerProfile( )

returnRegistrationStatus( )

putProfile( )

returnProfileStatus( )

unregisterProfile( )

returnUnregisterStatus( )

MSU

サービ ス 提供者

プロ フ ァ イ ル提供元

例: MSU, プロ フ ァ イ
    ル使用者

プロ フ ァ イ ル提供者 
の検出

プロ フ ァ イ ルの登録

サービ ス

プロ フ ァ イ ルの設置 
サービ ス

MSU の削除

registerProfile( )

returnRegistrationStatus( )

図 8−共通の管理サービス

6.1.4.1

概要

CPI

が提供する共通の管理サービスをこの細分箇条で規定する。これらのサービスは,プロファイルを

収集して照合するための種類 1 型サービスを支援する。

MSU

は,共通の製造用アクティビティにおける相互作用を支援するために,そのケイパビリティを提供

し,

他の MSU ケイパビリティを見つけなければならない。

プロファイリング処理で起動するすべての MSU

は,CPI が提供する共通の管理サービスを利用する。

MSU

又はプロファイル提供元は,これらのサービスを使ってサービス提供者と相互に情報交換をする。

共通の管理サービスは,相互運用のために次の a)  及び b)  の取扱いを可能にする。

a)

プロファイルの構造

b)

プロファイルの内容

6.1.4.2

サービス提供者の検出

findServiceProvider”サービス要求は,次の処理手順で実行する。

a)

プロファイル使用者は,

ServiceAccessPoint”オブジェクトの“findServiceProvider”サービスを起動す

る。


14

B 3900-3

:2010 (ISO 16100-3:2005)

  

1)

サービス要求の呼出しパラメタは,

“none”である。

2)

サービス要求者の挙動は,非同期である。

b)

提供者は,

ServiceAccessPoint”オブジェクトの“returnServiceProvider”サービスを起動する。

1)

サービス応答のパラメタは,次の二つである。

1.1)

サービス提供者の参照先 URL

1.2)

アクセスにおけるエラー状況

2)

サービス応答者の挙動は,非同期である。

3)

サービスの応答があるまでは,他のサービス要求は起動しない。

6.1.4.3

サービス提供者によるプロファイルの登録

registerProfile”サービスで,MSU のようなプロファイル提供元が,明白で(unambiguous)識別可能

なプロファイル識別子に送信できる。

registerProfile”サービスは,次のパラメタで次の処理を実行する。

a)

プロファイル使用者は,

ServiceAccessPoint”オブジェクトの“registerProfile”サービスを起動する。

1)

サービス要求の呼出しパラメタは,ケイパビリティプロファイル識別子である。

2)

サービス要求者の挙動は,非同期である。

b)

提供者は,

ServiceAccessPoint”オブジェクトの“returnRegistrationStatus”サービスを起動する。

1)

サービス応答のパラメタは,次の二つである。

1.1)

登録状況

1.2)

アクセスにおけるエラー状況

2)

サービス応答者の挙動は,非同期である。

3)

サービスの応答があるまでは,他のサービス要求は起動しない。

MSU

によってプロファイルの登録が正常に行われた場合,プロファイル使用者であればプロファイルを

登録できる。

6.1.4.4

サービス提供者へのプロファイルの送信

putProfile”サービ ス で, プ ロ フ ァ イル 使 用 者 がプロ ファ イルを サー ビス提 供者 へ送信 でき る 。

putProfile”サービスは,次のパラメタで次の処理を実行する。

a)

プロファイル使用者は,

ServiceAccessPoint”オブジェクトの“putProfile”サービスを起動する。

1)

サービス要求の呼出しパラメタは,次の二つである。

1.1)

ケイパビリティプロファイル識別子

1.2)

ケイパビリティプロファイル

2)

サービス要求者の挙動は,非同期である。

b)

提供者は,

ServiceAccessPoint”オブジェクトの“returnPutProfileStatus”サービスを起動する。

1)

サービス応答のパラメタは,次の二つである。

1.1)

プロファイルの送信状況

1.2)

アクセスにおけるエラー状況

2)

サービス応答者の挙動は,非同期である。

3)

サービスの応答があるまでは,他のサービス要求は起動しない。

putProfile”サービスの“push”行為は,

requestProfile”サービスの“pull”行為に対応する。

6.1.4.5

サービス提供者によるプロファイルの削除

unregisterProfile”サービスは,MSU を削除する前にプロファイル提供元がそのプロファイルを削除す

るときに利用する。

unregisterProfile”サービスは,次のパラメタで次の処理を実行する。


15

B 3900-3

:2010 (ISO 16100-3:2005)

a)

プロファイル使用者は,

ServiceAccessPoint”オブジェクトの“unregisterProfile”サービスを起動する。

1)

サービス要求の呼出しパラメタは,ケイパビリティプロファイル識別子である。

2)

サービス要求者の挙動は,非同期である。

b)

提供者は,

ServiceAccessPoint”オブジェクトの“returnUnregistrationStatus”サービスを起動する。

1)

サービス応答のパラメタは,次の二つである。

1.1)

削除状況

1.2)

アクセスにおけるエラー状況

2)

サービス応答者の挙動は,非同期である。

3)

サービスの応答があるまでは,他のサービス要求は起動しない。

6.1.5

ケイパビリティプロファイルの検証

putProfile”サービス及び“requestProfile”サービスで送信したケイパビリティプロファイルの検証は,

種類 2 型及び種類 3 型サービス提供者の“CommonValidation”サービスが担当する。

ケイパビリティプロファイルは,常に共通部分及び特有部分から構成する。

CommonValidation”サービ

スは,ケイパビリティプロファイルが 7.2 で定義するスキーマの共通部分に違反していないか,又はケイ

パビリティプロファイルの特有部分が使えるかを検証する。

ケイパビリティプロファイルで使う文字列は,UTF-8 でエンコードする。

6.2

プロトコルの仕様

6.2.1

サービス URL の記述方法

プロトコルによって,サービスを直接要求することもできる。応答するサービスが,サービス要求を取

り扱う。

サービス URL は,文字列“service:”で始まる。サービス URL は,

“:”を除くサービス型及び関連

するサービスアクセスポイントを含む。サービスに特有の属性情報は,URL 記述法によるアドレス情報に

続く。

完全なサービス URL は,次のような型で表す。

“service:<service-type>:<service-access-point>://<address>;<attribute-list>”

属性リストは,

“;”で区切る属性リストで構成する。属性は,次のような形式で指定する。

<attribute-id> = <attribute-value>

さらに,キーワードとなる属性は,次のような形式を使用する。

<attribute-id>

6.2.2

種類 型サービスのプロトコル

6.2.2.1

ケイパビリティプロファイルの要求

requestProfile”サービスは,要求ケイパビリティプロファイル又は MSU プロファイルを返す。また,

サービス型は,次のとおりとする。

<service-type>="requestCapabilityProfile"

対応する属性は,次のように表す。


16

B 3900-3

:2010 (ISO 16100-3:2005)

  

capability_profile_ID= "the_capability_profile_id"

returnProfile”サービスは,要求されたケイパビリティプロファイル又は MSU プロファイルを返すこ

とである。また,サービス型は,次のとおりとする。

<service-type> = "returnCapabilityProfile"

対応する属性は,次のように表す。

capability_profile_ID= "the_capability_profile_id"

capability_profile_content= "the_capability_profile_content"

access_status= "the_access_status"

6.2.2.2

MSU

のケイパビリティプロファイルへのアクセス

MSU

への“requestProfile”サービスは,ケイパビリティプロファイルを返すことである。また,サービ

ス型は,次のとおりとする。

<service-type> = "requestCapabilityProfile"

対応する属性はない。

returnProfile”サービスは,MSU ケイパビリティプロファイルを返すことである。また,サービス型

は,次のとおりとする。

<service-type> = "returnCapabilityProfile"

対応する属性は,次のように表す。

capability_profile_ID= "the_capability_profile_id"

capability_profile_content= "the_capability_profile_content"

access_status= "the_access_status"

6.2.2.3

二つのプロファイルの照合

requestMatch”サービスは,照合結果を返すことである。また,サービス型は,次のとおりとする。

<service-type> = "requestCapabilityProfileMatch"

対応する属性は,次のように表す。

capability_profile_1_ID="the_first_capability_profile_id"

capability_profile_2_ID="the_second_capability_profile_id"

returnMatchingResult”サービスは,照合結果を返すことである。また,サービス型は,次のとおりと

する。

<service-type> = "returnCapabilityProfileMatchResult"

対応する属性は,次のように表す。

capability_profile_1_ID= "the_first_capability_profile_id"


17

B 3900-3

:2010 (ISO 16100-3:2005)

capability_profile_2_ID= "the_second_capability_profile_id"

matching_result= "the_matching_level;the_matching_comment"

access_status= "the_access_status"

6.2.2.4

プロファイルと MSU のプロファイルとの直接照合

requestMatch”サービスは,照合結果を返すことである。また,サービス型は,次のとおりとする。

<service-type> = "requestCapabilityProfileMatch"

対応する属性は,次のように表す。

capability_profile_ID="the_capability_profile_id"

returnMatchingResult”サービスは,照合結果を返すことである。また,サービス型は,次のとおりと

する。

<service-type> = "returnCapabilityProfileMatchResult"

対応する属性は,次のように表す。

capability_profile_1_ID= "the_capability_profile_id"

capability_profile_2_ID= "the_MSU_capability_profile_id"

matching_result= "the_matching_level;the_matching_comment"

access_status= "the_access_status"

6.2.3

共通管理サービスのプロトコル

6.2.3.1

サービス提供者の検出

findServiceProvider”サービスは,サービス提供者を返すことである。また,サービス型は,次のとお

りとする。

<service-type> = "requestServiceProvider"

対応する属性はない。

returnServiceProvider”サービスは,要求サービス提供者を返すことである。また,サービス型は,次

のとおりとする。

<service-type> = "returnServiceProvider"

対応する属性は,次のように表す。

service_provider_URL= "the_service_provider_URL"

access_status= "the_access_status"

6.2.3.2

ケイパビリティプロファイルの登録

registerProfile”サービスは,ケイパビリティプロファイル及びその ID を返すことである。また,サー

ビス型は,次のとおりとする。

<service-type> = "registerCapabilityProfile"


18

B 3900-3

:2010 (ISO 16100-3:2005)

  

対応する属性は,次のように表す。

capability_profile_ID= "the_capability_profile_id"

returnRegistrationStatus”サービスは,ケイパビリティプロファイルの登録状況を返すことである。ま

た,サービス型は,次のとおりとする。

<service-type> = "returnRegistrationStatus"

対応する属性は,次のように表す。

registration_status= "the_registration_status"

access_status= "the_access_status"

6.2.3.3

サービス提供者へのプロファイルの送信

putProfile”サービスは,ケイパビリティプロファイル及びその識別子を受け取る。また,サービス型

は,次のとおりとする。

<service-type> = "putCapabilityProfile"

対応する属性は,次のように表す。

capability_profile_ID= "the_capability_profile_id"

capability_profile_content= "the_capability_profile_content"

returnPutProfileStatus”サービスは,ケイパビリティプロファイルの送信状況を返すことである。また,

サービス型は,次のとおりとする。

<service-type> = "returnPutProfileStatus"

対応する属性は,次のように表す。

transmission_status= "the_transmission_status"

access_status= "the_access_status"

6.2.3.4

ケイパビリティプロファイルの削除

unregisterProfile”サービスは,ケイパビリティプロファイル及びその識別子を削除する。また,サー

ビス型は,次のとおりとする。

<service-type> = "unRegisterCapabilityProfile"

対応する属性は,次のように表す。

capability_profile_ID= "the_capability_profile_id"

returnUnregistrationStatus”サービスは,ケイパビリティプロファイルの削除状況を返すことである。

また,サービス型は,次のとおりとする。

<service-type> = "returnUnRegistrationStatus"


19

B 3900-3

:2010 (ISO 16100-3:2005)

対応する属性は,次のように表す。

unregistration_status= "the_unregistration_status"

access_status= "the_access_status"

6.2.4

種類 型及び種類 型サービスのプロトコル

種類 2 型及び種類 3 型サービスプロトコルの仕様は,この規格の適用外とする。

7

テンプレート

7.1

全体構造

7.1.1

概要

ケイパビリティテンプレートの構造は,XML スキーマで記述する。XML スキーマ定義言語を用いて属

性及び要素を定義する。

このテンプレート構造は,次の二つの部分から成る。

a)

“commonPartType”型の共通部分

b)

“specificPartType”型の特有部分

7.1.2

形式構造

形式的なテンプレート構造は,次のとおりとする。

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="ISO16100CapabilityProfileSchema"

xmlns:cpsc="ISO16100CommonSchema" xmlns="ISO16100CapabilityProfileSchema"

xmlns:xs="http://www.w3.org/2001/XMLSchema" id="CapabilityProfiling" xml:lang="EN">

 <xs:element

name="CapabilityProfiling">

  <xs:complexType>

   <xs:sequence

maxOccurs="unbounded">

   <xs:element

name="type">

    <xs:complexType>

     <xs:attribute

name="id"

type="xs:string"

use="required"/>

    </xs:complexType>

   </xs:element>

   <xs:element

name="CapabilityProfile">

    <xs:complexType>

     <xs:sequence>

      <xs:element

name="pkgtype">

       <xs:complexType>

        <xs:attribute

name="version"

type="xs:string"

form="unqualified"/>

       </xs:complexType>

      </xs:element>

      <xs:element

name="Common"

type="CommonPartType"/>

      <xs:element

name="Specific"

type="SpecificPartType"/>

     </xs:sequence>

     <xs:attribute

name="date"

type="xs:string"

form="unqualified"/>

    </xs:complexType>

   </xs:element>

   </xs:sequence>

  </xs:complexType>

 </xs:element>

</xs:schema>

7.2

共通部分

7.2.1

概要

テンプレートの共通部分は,次の主スキーマ要素から構成する(JIS B 3900-2 

図 参照)。

要求プロファイル又は MSU プロファイルの識別は,識別子による。


20

B 3900-3

:2010 (ISO 16100-3:2005)

  

  Requirement 又は MSU_Capability

いずれの場合でも,識別子 (ID) を属性として付加する。

  ID  MSU を照合レベルの異なる他の MSU と区別するための文字列

次のような ReferenceCapabilityClassStructure 及び TemplateID の組が続く。

  ReferenceCapabilityClassStructure  アクティビティクラスの識別子

  TemplateID  参照用ケイパビリティクラスの構造の元クラスを区別する識別子。通常,すべてのケ

イパビリティ構造に対して照合要求がある場合,値は“null”である。

一つ以上の参照用ケイパビリティクラスの構造は,異なるアプリケーション領域における共通部分の中

で参照することができる。参照用ケイパビリティクラスの構造の名前ごとに,適切なプロファイルを特有

部分に定義する。

JIS B 3900-2

の 6.2.1 に示すテンプレート及び JIS B 3900-2 の 6.3 に示す概念的なテンプレート構造を用

いた,完全な共通部分の構造を 7.2.2 に示す。

7.2.2

形式構造

“CommonPartType”のテンプレートは,次の形式構造とする。

<xs:complexType name="CommonPartType">

 <xs:sequence>

  <xs:choice>

  <xs:element

name="Requirement">

   <xs:complexType>

    <xs:sequence>

     <xs:element

name="ID"

type="xs:string"/>

    </xs:sequence>

    <xs:attribute

name="id"

type="xs:string"

form="unqualified"/>

   </xs:complexType>

  </xs:element>

  <xs:element

name="MSU_Capability">

   <xs:complexType>

    <xs:sequence>

     <xs:element

name="ID"

type="xs:string"/>

    </xs:sequence>

    <xs:attribute

name="id"

type="xs:string"

form="unqualified"/>

   </xs:complexType>

  </xs:element>

  </xs:choice>

  <xs:sequence

maxOccurs="unbounded">

  <xs:element

name="ReferenceCapabilityClassStructure">

   <xs:complexType>

    <xs:attribute

name="id"

type="xs:string"

form="unqualified"/>

    <xs:attribute

name="name"

type="xs:string"

form="unqualified"/>

    <xs:attribute

name="version"

type="xs:string"

form="unqualified"/>

    <xs:attribute

name="url"

type="xs:string"

form="unqualified"/>

   </xs:complexType>

  </xs:element>

  <xs:element

name="TemplateID">

   <xs:complexType>

    <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

   </xs:complexType>

  </xs:element>

 </xs:sequence>

 <xs:element

name="Version">

  <xs:complexType>

   <xs:attribute

name="major"

type="xs:string"

form="unqualified"/>

   <xs:attribute

name="minor"

type="xs:string"

form="unqualified"/>

  </xs:complexType>

 </xs:element>

 <xs:element

name="Owner">

  <xs:complexType>


21

B 3900-3

:2010 (ISO 16100-3:2005)

   <xs:sequence>

    <xs:element

name="name"

type="xs:string"

minOccurs="0"/>

    <xs:element

name="street"

type="xs:string"

minOccurs="0"/>

    <xs:element

name="city"

type="xs:string"

minOccurs="0"/>

    <xs:element

name="zip"

type="xs:string"

minOccurs="0"/>

    <xs:element

name="state"

type="xs:string"

minOccurs="0"/>

    <xs:element

name="country"

type="xs:string"

minOccurs="0"/>

    <xs:element

name="comment"

type="xs:string"

minOccurs="0"/>

   </xs:sequence>

  </xs:complexType>

 </xs:element>

  <xs:element name="ComputingFacilities" minOccurs="0" maxOccurs="unbounded">

  <xs:complexType>

   <xs:sequence>

    <xs:element

name="Processor0"

minOccurs="0"

maxOccurs="unbounded">

     <xs:complexType>

      <xs:attribute

name="type"

type="xs:string"

form="unqualified"/>

     </xs:complexType>

    </xs:element>

    <xs:element

name="OperatingSystem0"

minOccurs="0"

maxOccurs="unbounded">

     <xs:complexType>

      <xs:attribute

name="type"

type="xs:string"

form="unqualified"/>

     </xs:complexType>

    </xs:element>

    <xs:element

name="Language"

minOccurs="0"

maxOccurs="unbounded">

     <xs:complexType>

      <xs:attribute

name="name"

type="xs:string"

form="unqualified"/>

     </xs:complexType>

    </xs:element>

    <xs:element

name="Memory"

minOccurs="0"

maxOccurs="unbounded">

     <xs:complexType>

      <xs:attribute

name="size"

type="xs:string"

form="unqualified"/>

      <xs:attribute

name="unit"

type="xs:string"

form="unqualified"/>

     </xs:complexType>

    </xs:element>

    <xs:element

name="DiskSpace"

minOccurs="0"

maxOccurs="unbounded">

     <xs:complexType>

      <xs:attribute

name="size"

type="xs:string"

form="unqualified"/>

      <xs:attribute

name="unit"

type="xs:string"

form="unqualified"/>

     </xs:complexType>

    </xs:element>

   </xs:sequence>

   <xs:attribute

name="type"

type="xs:string"

form="unqualified"/>

  </xs:complexType>

 </xs:element>

  <xs:element name="Performance" minOccurs="0" maxOccurs="unbounded">

  <xs:complexType>

   <xs:attribute

name="ElapsedTime"

type="xs:string"

form="unqualified"/>

   <xs:attribute

name="TransactionsPerUnitTime"

type="xs:string"

form="unqualified"/>

  </xs:complexType>

 </xs:element>

  <xs:element name="ReliabilityData" minOccurs="0" maxOccurs="unbounded">

  <xs:complexType>

   <xs:sequence>

    <xs:element

name="UsageHistory"

type="xs:string"

minOccurs="0"/>

    <xs:element

name="Shipments"

minOccurs="0"

maxOccurs="unbounded">

     <xs:complexType>

      <xs:attribute

name="number"

type="xs:string"

form="unqualified"/>

     </xs:complexType>

    </xs:element>

    <xs:element

name="IntendedSafetyIntegrity"

minOccurs="0"

maxOccurs="unbounded">

     <xs:complexType>

      <xs:attribute

name="level"

type="xs:string"

form="unqualified"/>

     </xs:complexType>

    </xs:element>

    <xs:element

name="Certification"

minOccurs="0"

maxOccurs="unbounded">

     <xs:complexType>

      <xs:attribute

name="no1"

type="xs:string"

form="unqualified"/>


22

B 3900-3

:2010 (ISO 16100-3:2005)

  

     </xs:complexType>

    </xs:element>

   </xs:sequence>

  </xs:complexType>

 </xs:element>

  <xs:element name="SupportPolicy" minOccurs="0" maxOccurs="unbounded">

  <xs:complexType>

   <xs:attribute

name="index"

type="xs:string"

form="unqualified"/>

  </xs:complexType>

 </xs:element>

  <xs:element name="PriceData" minOccurs="0" maxOccurs="unbounded">

  <xs:complexType>

   <xs:attribute

name="invest"

type="xs:string"

form="unqualified"/>

   <xs:attribute

name="annualSupport"

type="xs:string"

form="unqualified"/>

   <xs:attribute

name="unit"

type="xs:string"

form="unqualified"/>

  </xs:complexType>

  </xs:element>

 </xs:sequence>

</xs:complexType>

例は,A.1 を参照。

7.3

特有部分

テンプレートの特有部分は,XML スキーマで表現する。特有部分は共通部分と同じように,一つの要素

又は複数の要素で構成する。特有部分の複雑なそれぞれの要素は,一つのケイパビリティクラス構造を参

照する。

これによって,アクティビティモデルから派生したクラス構造を定義し表現することができる。

各テンプレートは,参照用ケイパビリティクラスの構造から導出する。テンプレートには,参照用ケイ

パビリティクラスの構造のすべて又は一部を記述する。参照用ケイパビリティクラスの構造は,クラス構

造の一部を包含する一つ以上のテンプレートをもつことができる。

アクティビティの要求ケイパビリティプロファイル及び MSU のケイパビリティプロファイルは,XML

スキーマで表現したテンプレートを使って記述する。これらのテンプレートは,同じ参照用ケイパビリテ

ィクラスの構造から導出する。

例は,A.2 及び A.3 を参照。

7.4

テンプレートの使用

テンプレートは,要求ケイパビリティプロファイル及び MSU のケイパビリティプロファイルを作成す

るために用いる。

照合処理では,二つのプロファイルを比較する。このためには,XML スキーマで表現するテンプレート

構造を使った共通の基本構造が必要である。

照合方法は,機能の型に依存する。より複雑な照合には,アプリケーション固有の領域に関する意味論

的情報を用いる。

照合機構は,6.1.2 で定義した合致レベル及び注釈をサービス要求者に返す。

例は,A.2 の照合処理を参照。

8

適合性

この規格への適合性評価のための概念及び規則は,ISO 16100-4 に規定されている。


23

B 3900-3

:2010 (ISO 16100-3:2005)

附属書 A

参考)

ケイパビリティプロファイルテンプレート

A.1

  一般的なケイパビリティプロファイルテンプレート

A.1.1

  値を入れたテンプレート

項目に値を入れたテンプレートが,ケイパビリティプロファイルである。その例を次に示す。

<?xml version="1.0" encoding="UTF-8"?>

<!-- ... -->

<CapabilityProfiling xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="C:\...\ISO16100-General.xsd">

 <Type

id="ReqProf_0012"/>

 <CapabilityProfile

date="2003-12-11">

  <pkgtype

version="1,0,0,2"/>

  <Common>

      <!-- Fill in the common part of the capability profile -->

      <!-- sample in A.1.2 -->

  </Common>

  <Specific>

      <!-- Fill in the specific part of the capability profile -->

      <!-- two samples, one in A.2.2 and one in A.3.2 -->

  </Specific>

 </CapabilityProfile>

</CapabilityProfiling>

A.1.2

  共通部分の例

共通部分の例を次に示す。特有部分の例を,A.2.2 及び A.3.2 に示す。

<Common>

 <Requirement

ID="abc-Req-672726"/>

 <ReferenceCapabilityClassStructure

id="CRCS_001"

name="CEA_ReferenceCapabilitySchema"

  version="1.0.1"

url="www.asam.net/..."/>

  <TemplateID ID=" "/>

  <Version major="1" minor="1"/>

 <Owner>

  <name>ABC

Inc.</name>

  <street>Waterstreet

56</street>

  <city>Softcity</city>

  <zip>734562</zip>

  <state>Alabama</state>

  <country>USA</country>

    <comment>This is a comment</comment>

 </Owner>

 <ComputingFacilities

type="PC">

  <Processor

type="Intel"/>

  <OperatingSystem

type="WindowsXP"/>

  <Language

name="en"/>

  <Memory

size="138"

unit="kByte"/>

  <DiskSpace

size="23"

unit="MByte"/>

 </ComputingFacilities>

  <Performance ElapsedTime="14ms" TransactionsPerUnitTime="743"/>

 <ReliabilityData>

  <UsageHistory>history

discription</UsageHistory>

  <Shipments

number="65"/>

  <IntendedSafetyIntegrity

level="high"/>

  <Certification

no="ISO9001"/>

 </ReliabilityData>

 <SupportPolicy

index="String"/>

  <PriceData invest="10000" annualSupport="5000" unit="$"/>

</Common>


24

B 3900-3

:2010 (ISO 16100-3:2005)

  

A.2

  製造用ケイパビリティクラス構造

A.2.1

  XML を用いた参照用クラス構造の例

JIS B 3900-2

の 6.2.1 及び 6.3 に従い,参照用ケイパビリティクラスの構造を作成する。次に示す参照用

ケイパビリティクラスの構造は,主要部分について記述しているが,すべてのノードを記述していないの

で完全な構造記述ではない。値を入れたテンプレートの例を A.2.2 及び A.2.3 に示す。

<?xml version="1.0" encoding="UTF-8" ?>

<!-- Reference Capability Class Structure -->

<ReferenceCapabilityClassStructure id="CRCS_001" name=" DiscreteManufacturingActivity "

version="1.0.1" url="www.xxx.net/..."/>

<TemplateID ID="861"/>

<Version major="1" minor="1"/>

  <ManufacturingActivity level="0" ID="A">

  <DevelopProducts

level="1"

ID="AA">

   <EngineeringProcess

level="2"

ID="AA2">

    <DevelopDetailedProcessPlan

level="3"

ID="AA22">

     <GenerateProcessSequence

level="4"

ID="AA221">

      <ScheduleSetUp

level="5"

ID="AA2211">

            <!-- see Fig.B10 of part 1 -->

      </ScheduleSetUp>

      <ScheduleHandling

level="5"

ID="AA2212"></ScheduleHandling>

      <ScheduleProcessing

level="5"

ID="AA2213">

       <ScheduleInspection

level="6"

ID="AA22131"></ScheduleInspection>

       <SchedulePartMaking

level="6"

ID="AA22132">

        <ScheduleShaping

level="7"

ID="AA221321">

         <ScheduleMaterialRemoving

level="8"

ID="AA2213211">

          <!--

see

Annex

B

of

part

1

-->

          <ScheduleMechanicalRemoving

level="9"

ID="AA22132111">

           <ScheduleMachining

level="10"

ID="AA221321111">

            <ScheduleSinglePointCutting

level="11"

ID="AA2213211111">

             <Boring

level="12"

ID="AA22132111111">

             </Boring>

             <Threading_Sp

level="12"

ID="AA22132111112">

             </Threading_Sp>

             <Turning

level="12"

ID="AA22132111113">

             </Turning>

            </ScheduleSinglePointCutting>

            <ScheduleMultiplePointCutting

level="11"

ID="AA2213211112">

             <Drilling

level="12"

ID="AA22132111121">

             </Drilling>

             <Milling

level="12"

ID="AA22132111122">

             </Milling>

             <Threading_Mp

level="12"

ID="AA22132111123">

             </Threading_Mp>

            </ScheduleMultiplePointCutting>

           </ScheduleMachining>

          </ScheduleMechanicalRemoving>

          <ScheduleChemicalRemoving>

           <!--

continue

-->

          </ScheduleChemicalRemoving>

         </ScheduleMaterialRemoving>

        </ScheduleShaping>

       </SchedulePartMaking>

      </ScheduleProcessing>

      <ScheduleLoadUnload></ScheduleLoadUnload>

      <ScheduleIdling></ScheduleIdling>

     </GenerateProcessSequence>

     <GenerateOperations

level="4"

ID="AA222"></GenerateOperations>

    </DevelopDetailedProcessPlan>

   </EngineeringProcess>

  </DevelopProducts>

 </ManufacturingActivity>

  <ManufacturingInformationExchange level="0" ID="C">

  <ComputingFacilitiesRequired

level="1"

ID="CC">


25

B 3900-3

:2010 (ISO 16100-3:2005)

   <Processor

level="2"

ID="CC1">

    <RISC

level="3"

ID="CC11"/>

    <CISC

level="3"

ID="CC12"/>

    <DSP

level="3"

ID="CC13"/>

    <ASIC

level="3"

ID="CC14"/>

   </Processor>

   <OperatingSystem

level="2"

ID="CC2">

    <Windows

level="3"

ID="CC21">

     <XP

level="4"

ID="CC211">

     </XP>

    </Windows>

    <JavaVM

level="3"

ID="CC22">

    </JavaVM>

    <Linux

level="3"

ID="CC23">

    </Linux>

    <Unix

level="3"

ID="CC24">

    </Unix>

    <GenericPLC_OS

level="3"

ID="CC25">

    </GenericPLC_OS>

   </OperatingSystem>

   <Language

level="2"

ID="CC3">

        <!-- refer to proper standard in ISO -->

   </Language>

   <Memory

level="2"

ID="CC4">

    <Volatile

level="3"

ID="CC41">

    </Volatile>

    <NonVolatile

level="3"

ID="CC42">

    </NonVolatile>

   </Memory>

   <DiskSpace

level="2"

ID="CC5">

    <capacity>40GB</capacity>

    <partitioning>fixed</partitioning>

   </DiskSpace>

  </ComputingFacilitiesRequired>

 </ManufacturingInformationExchange>

</ReferenceCapabilityClassStructure>

A.2.2

  要求ケイパビリティプロファイルの例

アクティビティモデルによる

附属書 のテンプレートを用いた要求ケイパビリティプロファイルの例を,

次に示す。詳細は,

図 B.11 のケイパビリティ相関図を参照。

<?xml version="1.0" encoding="UTF-8"?>

<CapabilityProfiling xmlns="http://tempuri.org/CapabilityProfileTemplate.xsd">

 <Type

id="ReqProf_786z7"

/>

 <CapabilityProfile

date="2003-09-11">

 <pkgtype

version="1,0,0,2"></pkgtype>

  <Common>

   <Requirement

ID="81-0001"/>

   <ReferenceCapabilityClassStructure

id="rcs_1001"

name="DiscreteManufacturingActivity"

version="001" url="" />

   <TemplateID

ID="manuAct32"

/>

   <Version

major="7"

minor="3"

/>

   <Owner>

    <name>MM

Production

Inc.</name>

    <street>Summer

Ave.7</street>

    <city>Softcity</city>

    <zip>4711</zip>

    <state>CA</state>

    <country>USA</country>

    <comment>Only

best

experiences!</comment>

   </Owner>

   <ComputingFacilities

type="required">

    <Processor

type="INTEL"

/>

    <OperatingSystem

type="LINUX"

/>

    <Language

name="EN"

/>

    <Memory

size="28"

unit="MB"

/>


26

B 3900-3

:2010 (ISO 16100-3:2005)

  

    <DiskSpace

size="30"

unit="GB"

/>

   </ComputingFacilities>

   <Performance

ElapsedTime="61ms"

TransactionsPerUnitTime="621"

/>

   <ReliabilityData>

    <UsageHistory>

      abc1

      abc2

     </UsageHistory>

    <Shipments

number="55"

/>

    <IntendedSafetyIntegrity

level="3"

/>

    <Certification

no1="ISO9001"

/>

   </ReliabilityData>

   <SupportPolicy

index="23"

/>

      <PriceData invest="12000" annualSupport="2400" unit="USD" />

   <TemplateID

ID_Number="Ex_A22_DevelopProdcuct_ISO-DIS16100-01"

/>

      <!-- gives the uppest level, relative root; e.g. to level 4-->

   <CapabilityClassName

id="ccn_1001">

GenerateProcessSequence

</CapabilityClassName>

   <CapabilityClassName

id="ccn_1002">

GenerateControlPrograms

</CapabilityClassName>

  </Common>

  <Specific>

   <ReferenceCapabilityClassStructure

id="rcs_1001">

    <ManufacturingActivity>

          <!-- for standard matching rules -->

     <Activity

id="act_2001"

level="12"

mandatoryLevel="10">

      <Boring>

      </Boring>

     </Activity>

     <Activity

id="act_2002"

level="12"

mandatoryLevel="10">

      <Threading_sp>

      </Threading_sp>

     </Activity>

     <Activity

id="act_2003"

level="12"

mandatoryLevel="10">

      <Threading_Mp>

      </Threading_Mp>

     </Activity>

     <Activity

id="act_2004"

level="12"

mandatoryLevel="10">

      <Drilling

attr1="abc">

       <Material

type="Copper">

        <Depth>

100mm

</Depth>

        <Speed>

5mm/s

</Speed>

       </Material>

      </Drilling>

     </Activity>

          <!-- end of standard matching rules -->

    </ManufacturingActivity>

    <ManufacturingInformationExchange>

     <Processor

id="111"

level="3"

mandatoryLevel="3">

      <RISC

/>

     </Processor>

     <OperatingSystem

id="112"

level="3"

mandatoryLevel="2">

      <XP

/>

     </OperatingSystem>

    </ManufacturingInformationExchange>

   </ReferenceCapabilityClassStructure>

  </Specific>

 </CapabilityProfile>

</CapabilityProfiling>

A.2.3

  MSU ケイパビリティプロファイルの例

アクティビティモデルによる MSU ケイパビリティプロファイルの例を,次に示す。

<?xml version="1.0" encoding="UTF-8"?>

<CapabilityProfiling xmlns="http://tempuri.org/CapabilityProfileTemplate.xsd">

  <Type id="MSU_Profile" />

 <CapabilityProfile

date="2003-09-11">

 <pkgtype

version="1,0,0,2"></pkgtype>


27

B 3900-3

:2010 (ISO 16100-3:2005)

  <Common>

   <MSU_Capability

ID="xyz-MSU-101010"/>

   <ReferenceCapabilityClassStructure

id="rcs_1001"

name="DiscreteManufacturingActivity"

version="001" url="" />

   <ReferenceCapabilityClassStructure

id="rcs_1002"

name="DiscreteEngineeringActivity"

version="001" url="" />

   <Requirement

ID="81-0001"></Requirement>

   <Version

major="2"

minor="3"

/>

   <Owner>

    <name>MSU

Developer

Inc.</name>

    <street>Winter

Ave.7</street>

    <city>Softcity</city>

    <zip>4712</zip>

    <state>CA</state>

    <country>USA</country>

    <comment>Only

best

experiences!</comment>

   </Owner>

   <ComputingFacilities

type="required">

        <!-- see Fig 6 part 2 -->

    <Processor

type="INTEL"

/>

    <OperatingSystem

type="LINUX"

/>

    <Language

name="EN"

/>

    <Memory

size="28"

unit="MB"

/>

    <DiskSpace

size="30"

unit="GB"

/>

   </ComputingFacilities>

   <Performance

ElapsedTime="61ms"

TransactionsPerUnitTime="621"

/>

   <TemplateID

ID_Number="Ex_A22_DevelopProdcuct_ISO-DIS16100-01"

/>

      <!-- gives the uppest level, relative root; e.g. to level 4-->

   <CapabilityClassName

id="ccn_1001">

GenerateProcessSequence

</CapabilityClassName>

   <CapabilityClassName

id="ccn_1002">

GenerateControlPrograms

</CapabilityClassName>

  </Common>

  <Specific>

   <ReferenceCapabilityClassStructure

id="rcs_2001">

    <ManufacturingActivity>

          <!-- for standard matching rules -->

     <Activity

id="act_2001"

level="12"

mandatoryLevel="10">

      <Boring>

      </Boring>

     </Activity>

     <Activity

id="act_2002"

level="12"

mandatoryLevel="10">

      <Threading_sp>

      </Threading_sp>

     </Activity>

     <Activity

id="act_2003"

level="12"

mandatoryLevel="10">

      <Threading_Mp>

      </Threading_Mp>

     </Activity>

     <Activity

id="act_2004"

level="12"

mandatoryLevel="10">

      <Drilling

attr1="abc">

       <Material

type="Copper">

        <Depth>

200mm

</Depth>

        <Speed>

8mm/s

</Speed>

       </Material>

       <Material

type="Steel">

        <Depth>

120mm

</Depth>

        <Speed>

4mm/s

</Speed>

       </Material>

       <Material

type="Aluminium">

        <Depth>

250mm

</Depth>

        <Speed>

7mm/s

</Speed>

       </Material>

      </Drilling>

     </Activity>

          <!-- end of standard matching rules -->

    </ManufacturingActivity>

    <ManufacturingInformationExchange>

     <Processor

id="111"

level="3"

mandatoryLevel="3">

      <RISC

/>


28

B 3900-3

:2010 (ISO 16100-3:2005)

  

     </Processor>

     <OperatingSystem

id="112"

level="3"

mandatoryLevel="2">

      <XP

/>

     </OperatingSystem>

    </ManufacturingInformationExchange>

   </ReferenceCapabilityClassStructure>

   <ReferenceCapabilityClassStructure

id="rcs_3002">

    <ManufacturingActivity>

          <!-- for standard matching rules -->

     <Activity

id="act_3001"

level="7"

mandatoryLevel="6">

      <ControlFunctionBlock>

      </ControlFunctionBlock>

     </Activity>

     <Activity

id="act_3002"

level="7"

mandatoryLevel="6">

      <IOFunctionBlock>

      </IOFunctionBlock>

     </Activity>

          <!-- end of standard matching rules -->

    </ManufacturingActivity>

    <ManufacturingInformationExchange>

     <Processor

id="115"

level="3"

mandatoryLevel="3">

      <ARM

/>

     </Processor>

     <OperatingSystem2

id="1"

level="3"

mandatoryLevel="2">

      <GenericPLC_OS

/>

     </OperatingSystem2>

    </ManufacturingInformationExchange>

   </ReferenceCapabilityClassStructure>

  </Specific>

 </CapabilityProfile>

</CapabilityProfiling>

A.2.4

  MSU に関する要求ケイパビリティプロファイルの照合

A.2.3

の“ドリル加工”アクティビティモデルの例は,用いたテンプレート内のすべて項目を考慮して照

合処理を行う。

MSU

は,3 種類の材料のドリル加工に対するそれぞれの送り速度及び加工深さを提供している。要求は

“銅”のドリル加工の一つである。

“銅”に対する送り速度及び加工深さが,MSU プロファイルの項目に

存在する。この項目の場合は,

“完全合致”となる。

すべての合致レベルを求めるために,その他のすべての項目について照合処理を行う。

A.3

  検証用のケイパビリティクラス構造

A.3.1

  XML を用いた参照用クラス構造の例

検証用の参照用クラス構造の例を,次に示す。

<?xml version="1.0"?>

<!-- edited with . . .  -->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"

attributeFormDefault="qualified" id="CapabilityProfiling">

 <xs:element

name="CapabilityProfiling">

  <xs:complexType>

   <xs:sequence

maxOccurs="unbounded">

    <xs:element

name="type">

     <xs:complexType>

      <xs:attribute

name="id"

type="xs:string"

form="unqualified"/>

     </xs:complexType>

    </xs:element>

    <xs:element

name="ReferenceCapabilityClassStructure">

     <xs:complexType>

      <xs:sequence>

       <xs:element

name="TestActivities">


29

B 3900-3

:2010 (ISO 16100-3:2005)

        <xs:complexType>

         <xs:choice>

          <xs:element

name="Importer">

           <xs:complexType>

            <xs:choice>

             <xs:element

name="File">

              <xs:complexType>

               <xs:sequence>

                <xs:element

name="SingleFile"

minOccurs="0"

maxOccurs="unbounded">

                 <xs:complexType>

                  <xs:sequence>

                   <xs:element

name="ASCII"

minOccurs="0"

maxOccurs="unbounded">

                    <xs:complexType>

                     <xs:sequence>

                      <xs:element

name="FeatureS"

minOccurs="0"

maxOccurs="unbounded">

                       <xs:complexType>

                        <xs:sequence>

                         <xs:element

name="Feature"

nillable="true"

minOccurs="0" maxOccurs="unbounded">

                          <xs:complexType>

                           <xs:simpleContent>

                            <xs:extension

base="xs:string"/>

                           </xs:simpleContent>

                          </xs:complexType>

                         </xs:element>

                        </xs:sequence>

                       </xs:complexType>

                      </xs:element>

                     </xs:sequence>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                   <xs:element

name="EDAS"

minOccurs="0"

maxOccurs="unbounded">

                    <xs:complexType>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                   <xs:element

name="Excel"

minOccurs="0"

maxOccurs="unbounded">

                    <xs:complexType>

                     <xs:sequence>

                      <xs:element

name="Excel-Binary"

minOccurs="0"

maxOccurs="unbounded">

                       <xs:complexType>

                        <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                        <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                       </xs:complexType>

                      </xs:element>

                      <xs:element

name="Excel-Text"

minOccurs="0"

maxOccurs="unbounded">

                       <xs:complexType>

                        <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                        <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                       </xs:complexType>

                      </xs:element>

                     </xs:sequence>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                  </xs:sequence>

                  <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>


30

B 3900-3

:2010 (ISO 16100-3:2005)

  

                  <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                 </xs:complexType>

                </xs:element>

                <xs:element

name="MultipleFile"

minOccurs="0"

maxOccurs="unbounded">

                 <xs:complexType>

                  <xs:sequence>

                   <xs:element

name="Diadem"

minOccurs="0"

maxOccurs="unbounded">

                    <xs:complexType>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                  </xs:sequence>

                  <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                  <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                 </xs:complexType>

                </xs:element>

                <xs:element

name="Folder"

minOccurs="0"

maxOccurs="unbounded">

                 <xs:complexType>

                  <xs:sequence>

                   <xs:element

name="ISO13499"

minOccurs="0"

maxOccurs="unbounded">

                    <xs:complexType>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                  </xs:sequence>

                  <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                  <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                 </xs:complexType>

                </xs:element>

               </xs:sequence>

               <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

               <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

              </xs:complexType>

             </xs:element>

             <xs:element

name="Database">

              <xs:complexType>

               <xs:sequence>

                <xs:element

name="SQL"

minOccurs="0"

maxOccurs="unbounded">

                 <xs:complexType>

                  <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                  <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                 </xs:complexType>

                </xs:element>

                <xs:element

name="ODS"

minOccurs="0"

maxOccurs="unbounded">

                 <xs:complexType>

                  <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                  <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                 </xs:complexType>

                </xs:element>

               </xs:sequence>

               <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

               <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

              </xs:complexType>

             </xs:element>

            </xs:choice>

            <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

            <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

           </xs:complexType>

          </xs:element>

          <xs:element

name="Worker">

           <xs:complexType>

            <xs:choice>

             <xs:element

name="Calculation">

              <xs:complexType>

               <xs:choice>

                <xs:element

name="Formula">


31

B 3900-3

:2010 (ISO 16100-3:2005)

                 <xs:complexType>

                  <xs:choice>

                   <xs:element

name="FormulaEditor">

                    <xs:complexType>

                     <xs:sequence>

                      <xs:element

name="ArithmetikOperators"

minOccurs="0"

maxOccurs="unbounded">

                       <xs:complexType>

                        <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                        <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                       </xs:complexType>

                      </xs:element>

                      <xs:element

name="ArithmeticFunctions"

minOccurs="0"

maxOccurs="unbounded">

                       <xs:complexType>

                        <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                        <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                       </xs:complexType>

                      </xs:element>

                      <xs:element

name="StatisticalFunctions"

minOccurs="0"

maxOccurs="unbounded">

                       <xs:complexType>

                        <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                        <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                       </xs:complexType>

                      </xs:element>

                      <xs:element

name="TrigonometricFunctions"

minOccurs="0"

maxOccurs="unbounded">

                       <xs:complexType>

                        <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                        <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                       </xs:complexType>

                      </xs:element>

                      <xs:element

name="HyperbolicFunctions"

minOccurs="0"

maxOccurs="unbounded">

                       <xs:complexType>

                        <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                        <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                       </xs:complexType>

                      </xs:element>

                     </xs:sequence>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                   <xs:element

name="FixedFormula">

                    <xs:complexType>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                  </xs:choice>

                  <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                  <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                 </xs:complexType>

                </xs:element>

                <xs:element

name="FrequenyAnalysis">

                 <xs:complexType>


32

B 3900-3

:2010 (ISO 16100-3:2005)

  

                  <xs:choice>

                   <xs:element

name="FFT">

                    <xs:complexType>

                     <xs:sequence>

                      <xs:element

name="TwoToTwoUnLimited"

type="xs:string"

minOccurs="0"/>

                     </xs:sequence>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                   <xs:element

name="DFT">

                    <xs:complexType>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                  </xs:choice>

                  <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                  <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                 </xs:complexType>

                </xs:element>

                <xs:element

name="Filtering">

                 <xs:complexType>

                  <xs:choice>

                   <xs:element

name="FIR-Filter">

                    <xs:complexType>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                   <xs:element

name="FFT-Filter">

                    <xs:complexType>

                     <xs:choice>

                      <xs:element

name="CFC">

                       <xs:complexType>

                        <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                        <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                       </xs:complexType>

                      </xs:element>

                      <xs:element

name="xyz">

                       <xs:complexType>

                        <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                        <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                       </xs:complexType>

                      </xs:element>

                     </xs:choice>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>

                   </xs:element>

                  </xs:choice>

                  <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                  <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                 </xs:complexType>

                </xs:element>

                <xs:element

name="Statistic">

                 <xs:complexType>

                  <xs:choice>

                   <xs:element

name="HIC">

                    <xs:complexType>

                     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                    </xs:complexType>


33

B 3900-3

:2010 (ISO 16100-3:2005)

                   </xs:element>

                  </xs:choice>

                  <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

                  <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

                 </xs:complexType>

                </xs:element>

               </xs:choice>

               <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

               <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

              </xs:complexType>

             </xs:element>

            </xs:choice>

            <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

            <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

           </xs:complexType>

          </xs:element>

          <xs:element

name="Exporter">

           <xs:complexType>

            <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

            <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

           </xs:complexType>

          </xs:element>

          <xs:element

name="Viewer">

           <xs:complexType>

            <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

            <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

           </xs:complexType>

          </xs:element>

         </xs:choice>

         <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

         <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

        </xs:complexType>

       </xs:element>

       <xs:element

name="InformationExchange">

        <xs:complexType>

         <xs:sequence>

          <xs:element

name="InputDataTypes"

type="DataTypes"/>

          <xs:element

name="OutputDataTypes"

type="DataTypes"/>

         </xs:sequence>

         <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

         <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

        </xs:complexType>

       </xs:element>

      </xs:sequence>

      <xs:attribute

name="name"

type="xs:string"

form="unqualified"/>

     </xs:complexType>

    </xs:element>

   </xs:sequence>

  </xs:complexType>

 </xs:element>

 <xs:complexType

name="DataTypes">

  <xs:sequence>

   <xs:element

name="Numerical"

minOccurs="0">

    <xs:complexType>

     <xs:sequence>

      <xs:element

name="Zero-Dimensional"

type="BasicNumeric"/>

      <xs:element

name="One-Dimensional"

type="BasicNumeric"/>

      <xs:element

name="Two-Dimensional"

type="BasicNumeric"/>

     </xs:sequence>

    </xs:complexType>

   </xs:element>

   <xs:element

name="MultiMedia"

type="BasicMultiMedia"

minOccurs="0"/>

  </xs:sequence>

 </xs:complexType>

 <xs:complexType

name="BasicNumeric">

  <xs:sequence>

   <xs:element

name="double"

minOccurs="0">

    <xs:complexType>


34

B 3900-3

:2010 (ISO 16100-3:2005)

  

     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

    </xs:complexType>

   </xs:element>

   <xs:element

name="int"

minOccurs="0">

    <xs:complexType>

     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

    </xs:complexType>

   </xs:element>

   <xs:element

name="string"

minOccurs="0">

    <xs:complexType>

     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

    </xs:complexType>

   </xs:element>

   <xs:element

name="time"

minOccurs="0">

    <xs:complexType>

     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

    </xs:complexType>

   </xs:element>

  </xs:sequence>

 </xs:complexType>

 <xs:complexType

name="BasicMultiMedia">

  <xs:sequence>

   <xs:element

name="Video"

minOccurs="0">

    <xs:complexType>

     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

    </xs:complexType>

   </xs:element>

   <xs:element

name="Audio"

minOccurs="0">

    <xs:complexType>

     <xs:attribute

name="level"

type="xs:int"

form="unqualified"/>

     <xs:attribute

name="ID"

type="xs:string"

form="unqualified"/>

    </xs:complexType>

   </xs:element>

  </xs:sequence>

 </xs:complexType>

</xs:schema>

A.3.2

  要求ケイパビリティプロファイルの例

A.3.1

のテンプレートを用いた要求ケイパビリティプロファイルの例を,次に示す。

<?xml version="1.0" encoding="UTF-8"?>

<CapabilityProfiling>

  <Type id="Requirement Profile"/>

 <CapabilityProfile

date="2003-09-11">

    <!-- ISO 8601 defined date yyyy-mm-dd -->

  <pkgtype

version="V01.01.03a"/>

    <!--DTD-NAME= V<Application Profile Nr>.<Version Nr>.<Revision Nr>[<Patch Level>]-->

  <Common>

   <Requirement

id="AMS-r701-0001"

version="V01.01.01a"/>

   <Owner>

    <name>MSU

User

Ltd.</name>

    <street>Spring

Blv.2</street>

    <city>Softcity</city>

    <zip>0915</zip>

    <state/>

    <country>France</country>

    <comment>Never

seen

before</comment>

   </Owner>

   <ComputingFacilities

type="offered">

        <!-- see Fig 6 part 2 -->

    <Processor

type="INTEL"/>


35

B 3900-3

:2010 (ISO 16100-3:2005)

    <OperatingSystem>LINUX</OperatingSystem>

    <Language

name="EN"/>

    <Memory

size="28"

unit="MB"/>

    <DiskSpace

size="30"

unit="GB"/>

   </ComputingFacilities>

   <Performance>

    <ElapsedTime

value="200ms"/>

    <TransactionsPerSecond

value="200"/>

   </Performance>

   <TemplateID

ID_Number="Cea_A1_Evaluation_ISO-DIS16100-01"

/>

      <!-- gives the uppest level, relative root; e.g. to level 4 -->

   <CapabilityClassName

id="ccn_1001">

Calculate_FFT

</CapabilityClassName>

  </Common>

  <Specific>

      <ReferenceCapabilityClassStructure id="cea_1001" name="CEA_TestActivity" version="001" url="">

    <TestActivities>

     <FormulaEditor

level="4"

ID="ABAAA"

status="mandatory"/>

    </TestActivities>

    <InformationExchange>

     <InputDataTypes

level="1"

ID="BA">

      <DoubleValue

level="4"

ID="BAAAA"

status="optional"/>

      <IntegerValue

level="4"

ID="BAAAB"

status="optional"/>

      <DoubleVector

level="4"

ID="BAABA"

status="mandatory"/>

      <IntegerVector

level="4"

ID="BAABB"

status="optional"/>

     </InputDataTypes>

     <OutputDataTypes

level="1"

ID="BB">

      <Vector

level="3"

ID="BBAB"

status="mandatory"/>

     </OutputDataTypes>

    </InformationExchange>

   </ReferenceCapabilityClassStructure>

  </Specific>

 </CapabilityProfile>

</CapabilityProfiling>

A.3.3

  MSU ケイパビリティプロファイルの例

CEA TestActivity

という名前の MSU ケイパビリティプロファイルの例を,

次に示す。

この CEA TestActivity

は,整数と同様に倍精度実数を入力できる FFT 解析を実行する。計算結果は,倍精度実数である。

<?xml version="1.0" encoding="UTF-8"?>

<CapabilityProfiling>

  <Type id="Capability Profile"/>

 <CapabilityProfile

date="2003-11-13">

    <!-- ISO 8601 defined date yyyy-mm-dd -->

  <pkgtype

version="V01.01.01a"/>

    <!--DTD-NAME= V<Application Profile Nr>.<Version Nr>.<Revision Nr[<Patch Level>]-->

  <Common>

      <MSU_Capability id="AMS-101-0001" name="SampleCeaWorker" version="V01.02.01a" uri=""/>

   <Owner>

    <name>MSU

Developer

Inc.</name>

    <street>Winter

Ave.7</street>

    <city>Softcity</city>

    <zip>4712</zip>

    <state>CA</state>

    <country>USA</country>

    <comment>Only

best

experiences!</comment>

   </Owner>

      <ComputingFacilities type="required">  <!-- see Fig 6 part 2 -->

    <Processor

type="INTEL"/>

    <OperatingSystemS>

     <OperatingSystem>LINUX</OperatingSystem>

     <OperatingSystem>JAVA</OperatingSystem>

    </OperatingSystemS>

    <Language

name="EN"/>

    <Memory

size="28"

unit="MB"/>

    <DiskSpace

size="30"

unit="GB"/>

   </ComputingFacilities>


36

B 3900-3

:2010 (ISO 16100-3:2005)

  

   <Performance>

    <ElapsedTime

value="61ms"/>

    <TransactionsPerSecond

value="621"/>

   </Performance>

   <TemplateID

ID_Number="Cea_A1_Evaluation_ISO-DIS16100-01"

/>

      <!-- gives the uppest level, relative root; e.g. to level 4-->

   <CapabilityClassName

id="ccn_1001">

Calculate_FFT

</CapabilityClassName>

  </Common>

  <Specific>

      <ReferenceCapabilityClassStructure id="cea_1001" name="CEA_TestActivity" version="001" url="">

    <TestActivities>

     <Worker>

      <Calculation>

       <FrequencyAnalysis>

        <FFT/>

       </FrequencyAnalysis>

      </Calculation>

     </Worker>

    </TestActivities>

    <InformationExchange>

     <InputDataTypes

level="1"

ID="BA">

      <Numerical

level="2"

ID="BAA">

       <One-Dimensional

level="3"

ID="BAAA">

        <double

level="3"

ID="BAAAA"/>

        <int

level="3"

ID="BAAAB"/>

       </One-Dimensional>

      </Numerical>

     </InputDataTypes>

     <OutputDataTypeslevel="1"

ID="BB">

      <Numerical

level="2"

ID="BAA">

       <One-Dimensional

level="3"

ID="BAAA">

        <double

level="3"

ID="BAAAA"/>

       </One-Dimensional>

      </Numerical>

     </OutputDataTypes>

    </InformationExchange>

   </ReferenceCapabilityClassStructure>

  </Specific>

 </CapabilityProfile>

</CapabilityProfiling>


37

B 3900-3

:2010 (ISO 16100-3:2005)

附属書 B

参考)

ケイパビリティの参照モデル

B.1

  ケイパビリティクラス図及びオブジェクトモデル

製造用プロセスにおいて情報を共有及び交換するモデルは,プロセスで使用するクラスのオブジェクト

モデルを含む。オブジェクトモデルは,設計及び製造用プロセスで使用するデータ及び機能を記述する。

モデル開発の主な目的は,ケイパビリティプロファイリングに必要な,標準的な情報内容の仕様化に寄与

するためである。

例えば,設計及び製造の真の協調を実現するために,製品設計及び製造用プロセス双方の情報表現は,

アプリケーションプロセス間での双方向(又は多方向)の情報授受のための多段階の抽象化を支援する必

要がある。初期の概念設計段階では,高度な設計における意志決定のトレードオフ及び妥協を理解するこ

とが重要である。製品設計を幾何学的に定義するまでに記号で表現することで,コスト評価を伴う製造用

プロセスの多くの性質を決定するための十分な入力を作成できる。こうした設計初期の形式的表現は,概

念工程設計及び製造用アプリケーションへの入力を可能とする。形式的表現は,製品設計及び製造用アク

ティビティを統合するインタフェース仕様を開発するために利用する。

クラスは,概念的又は物理的オブジェクトを表現するための情報の構造である。クラスは,属性及び機

能で構成する。あるクラスは,そのクラスのすべての属性を継承して別のクラスに拡張可能である。情報

モデルは,次に示すキーワード:クラス,拡張,文字列,整数及び倍精度実数をもつ。

製品設計と製造用工程設計アプリケーション(他のアプリケーションも含む。

)との間での情報交換は,

様々な段階で起こる。

図 B.1 は,概念設計と概念工程設計との間の相互運用性を実現するために起こる多

数の情報交換の段階を図示している。

概念設計は,製品の概念を形成する設計初期段階のアクティビティである。製品の概念は,製品仕様,

機能,挙動,形状・構造(構成)及び付随する性質を含む。

製造用

プロ セス

ア ク テ ィ ビ テ ィ

2

ア ク テ ィ ビ テ ィ

1.1

ア ク テ ィ ビ テ ィ

1.2

ア ク テ ィ ビ テ ィ

1.n

ア ク テ ィ ビ テ ィ

1.1.1

ア ク テ ィ ビ テ ィ

1.1.x

ア ク テ ィ ビ テ ィ

1

図 B.1−製造用プロセスでのアクティビティの階層又は入れ子

性質は,材質,組立公差,表面粗さ及び硬さのパラメタ並びに寸法を含む。機能設計は,製品の主要機

能を創成し,こうした機能を仕様に基づく詳細機能に分解する。挙動設計は,詳細な機能を挙動に写像す


38

B 3900-3

:2010 (ISO 16100-3:2005)

  

る。構造設計は,機能及び挙動に基づき形状及び構造を作成する。詳細な製品情報は,概念設計から導出

する。概念設計情報は,幾何形状,位相構造,公差及び寸法の仕様決定のような,詳細設計過程で用いる。

概念設計アクティビティ (B1) は,

図 B.2 に示すデータの流れとともに,五つの副アクティビティ A11

∼A15 に分解できる。アクティビティ A11 は,入力,すなわち,技術的要求に基づいて製品の機能及び制

約を決定する。このアクティビティは,機能設計と呼ぶ。アクティビティ A12 は,A11 の出力である製品

の機能及び制約に基づいた製品挙動を作成する。このアクティビティは,挙動創成である。静的構造物の

ように挙動を伴わない製品に対しては,このアクティビティは飛ばす。アクティビティ A13 は,製品の各

部品及び半製品がそれぞれの機能,制約及び可能であれば挙動をもつように,機能,制約及び挙動を分解

する。分解した機能,制約及び挙動で部品を設計し,A14 においてこれらの部品で製品を構成する。アク

ティビティ A14 は,機能に基づいて製品構造を規定する A141 と製造すべき人工物についての詳細情報を

規定する A142 との二つの副アクティビティに分解できる。

製品制約

挙動モデル

製品の

機能及び制約の

定義

製品挙動の

作成

製品の

機能, 制約及び

挙動の分解

製品構造の

作成

製造容易性の

評価

技術的要求

製品機能

分解し た

機能, 制約及び挙動

概念設計

の草案

製品の

概念設計

概念工程計画

A11

A12

A13

A14

A15

図 B.2−概念設計アクティビティの機能分割

A14

の出力は,概念設計における製品の概念である。最終的に,この概念設計は,A15 で製造容易性で

評価する。製造容易性は,概念工程設計及び概念設計の両方で考慮する。製品の形状及び構造は,A15 の

副アクティビティで概念化する。できあがった詳細情報は,製造用プロセスの選択,設備の選択及び製造

コストの評価といった工程設計に必要である。

アクティビティモデルは,設計及び工程設計を統合した概念に基づき,概念設計での機能及び入出力デ

ータを記述する。アクティビティモデルは,オブジェクトモデルを作成する文脈を提供する。

オブジェクトモデルは,アクティビティモデルに記述した概念設計の多くの観点を含む。人工物,その

機能及び組立関係についての全体モデルを次に記載する。

ここでは,

概念設計は機能設計から始まるので,

製品要求を導出するクラスについては記載しない。モデルは UML (Unified Modeling Language)  のクラス図

を用いて表現する。

“Artefact(人工物)

“Function(機能)

”及び“Constraint(制約)

”というクラスを核

とする。

“Behaviour(挙動)

“Material(材質)

“Requirement(要求)

”及び“Constraint(制約)

”という

クラスを,核から導出する。残りのクラスは,概念工程設計と統合した概念設計に特有なものである。こ

のモデルは,次の目的で使用する。

・次の概念設計への参照アーキテクチャとする。

・標準インタフェース開発の基礎とする。

・データベーススキーマとする。

人工物は,

部品,

半製品又は製品という階層構造での個々の要素を参照するための一般的な用語である。


39

B 3900-3

:2010 (ISO 16100-3:2005)

人工物の特有情報には,材質パラメタ,公差,寸法,表面粗さパラメタ,硬度パラメタ及び表面性状パラ

メタを含む。

図 B.3 に人工物に対応する“Artefact”のクラス図を示す。“Artefact”クラスは,再帰的に定義する。

“Artefact”は,製品構造を表す階層構造をもつ。

“Artefact”は,二つのクラス“ArtefactToBeMade”及び

“ArtefactToBeBought”を導出する。幾つかの要素(人工物  s)は,供給者から購入する。他は,製品を設

計する企業で作る。

“ArtefactToBeMade”は,製造用プロセスのシーケンスをもつ。

“ArtefactToBeBought”

は,供給者から入手する。

“Supplier”クラスは,供給者についての情報を記述する。

“Artefact”は,次の八つの関連クラス“EngineeringRequirement”,“ArtefactConstraint”,“Function”,

“BehaviourSpecification”

“Form”

“Material”

“SurfaceCondition”

“Tolerance”をもつ。

Artefact ToBeMade

dueDate : String 
quantity : QuantityWithUnit 
name : String

Supplier

name : String 
address : String 
description : String

supplyingCompany

Artefact ToBeBought

unitCost : String 
quantity : String

1..*

subartefact s

0..*

artefactConstraints

Artefact Constraint

type : String   
description : String

artefact Requirements

EngineeringRequirement

requirements : Requirement[]

artefactFunctions

Function

name : String 
description : String

artefactBehaviour

BehaviourSpecification

physicalPrincipleDescription : String

generatePhysicalAction( )

BehaviourModel

generateBehaviourModel( )

CompoundFeature

id : String

0..*

subCompoundFeatures

Tolerance

0..*

SurfaceCondition

name : String 
value : String 
rationale : String

Artefact

Form

Artefact

id : String 
name : String 
type : String 
version : String 
context : String

0..*

0..*

1..*

1..*

0..1  simulation

0..*  alternatives

0..*

artefactFeatures

0..*

Tolerance

artefactSurfaceConditionSpecification

artefact Material

Form

typeOfShape : String 
dimensions : Vector 
location : Point 
orientation : UnitVector 
rationale : String

0..1

MaterialProperty

type : String 
description : String

Material

name : String 
description : String 
rationale : String

0..1

1..*

properties

図 B.3−“Artefact”に関するクラス図

“EngineeringRequirement”クラスは,動作要求,動力要求及び精度要求などの技術に関する要求をもつ。

“ArtefactConstraint”クラスは,物理的な限界,環境的事項,安全規格などの制約的機能要素に関連する。


40

B 3900-3

:2010 (ISO 16100-3:2005)

  

“Tolerance”クラスは,形状特徴が変化する限度を記述する。

“Tolerance”クラスは,形状偏差,位置偏

差,寸法公差及び偏心公差を含む。

図 B.4 は,公差に関係するクラスを示す。

“Rationale”クラスは,公差の定義,材質の選択,並びに形状及びその特徴,の定義の理由を示す。

“Tolerance”クラスは,三つの副クラス,

“ShapeTolerance”

“PositionTolerance”及び“RunoutTolerance”

をもつ。

“ShapeTolerance”クラスは,二つの副クラス,

“ProfileTolerance”及び“FormTolerance”をもつ。

“PositionTolerance”クラスは,二つの副クラス,

“LocationTolerance”及び“OrientationTolerance”をもつ。

“Function”クラスは,技術的な要求から得た製品機能を表す。

“Function”クラスは,装置の使用法又

は目的であり,例えばエネルギー,物質及び情報の流れのような入出力の変換関係を表す。

図 B.5 

“Function”モデルにある“TransferFunction”は,

“Function”クラスから派生するクラスである。それは,

情報,物質及び/又はエネルギーの入出力をもつ変換機能を示す。

“Input”は,入力,量及び入力元の型

をもつ。同様に“Output”は,出力,量及び出力先の型をもつ。製造部品の機能変化は,人工物の機能変

化の限度を定めた“AllowableVariation”で規定する。

“AllowableVariation”は,例えば田口メソッドを用い

て,ある形状特徴パラメタの公差に変換できる。

“Form”クラスは,製品及びその要素の概念的又は具体的形状をもつ。

“Form”は,人工物  s の形状,

寸法,位置,姿勢及び材質の型を記述する。

“Feature”は,形状の一部であり,再帰的に定義する。形状特

徴は,階層構造を成す多くの副形状特徴で構成する。例えば,ねじ穴は穴底の形状特徴及び穴の形状特徴

から成り,穴の形状特徴は円筒穴の形状特徴及びねじ穴の形状特徴から成る。クラスは,異なる人工物  s

の形状特徴を複合した形状特徴も表すことができる。

“Material”クラスは,製品形状を実現する材料の性質の情報を表す。

“SurfaceCondition”クラスは,形状特徴に対する硬さ,表面粗さ及び表面性状の要求並びに

“referenceDatum”を規定する。

“Behaviour”クラス(

図 B.6 参照)は,製品の動作を表す。動作は,クラス内の“generateBehaviourModel()”

メソッドで計算又はシミュレーションする。挙動は,特定の環境又は状況の下での対象物の物理的な運動

である。環境又は状況は,作用する外力のような人工物に対する入力の役割及び流れである。物理的な運

動は,人工物の動作及び変形のような人工物の出力の役割及び流れである。挙動は,属性及び入出力の挙

動変数で記述する。

挙動に対する要求は,製品機能から製品挙動への写像である。挙動は,物理原理及び知見に基づき,形

状に写像することができる。

“BehaviourSpecification”クラスは,

“physicalPrincipleDescription”

“inputflowVariable”

“inputEffortVariable”

“outputFlowVariable”及び“OutputEffortVariable”の属性をもつ。

“GeneratePhysicalAction()”は,物理的な運動を生成する“Behaviour”クラスのメソッドである。

“InputFlow”

クラスは,四つの属性“inputFlowName”

“inputFlowType”

“inputFlowDirection”及び“inputFlowPosition”

をもつ。

“InputEffort”クラスは,四つの属性“inputEffortName”

“inputEffortType”

“inputEffortDirection”

及び“inputEffortPosition”をもつ。

“OutputFlow”クラスは,四つの属性“OutputFlowName”

“OutputFlowType”

“OutputFlowDirection”

,及び“OutputFlowPosition”をもつ。

“OutputEffort”クラスは,

四つの属性“Output-EffortName”

“OutputEffortType”

“OutputEffortDirection”及び“OutputEffortPosition”

をもつ。


41

B 3900-3

:2010 (ISO 16100-3:2005)

ShapeTolerance

toleranceZoneSize : QuantityWithUnit 
toleranceZoneDescription : String

FeatureOfSize

materialCondition : String 
typeOfFeature : String

ProfileTolerance

typeOfProfileTolerance : String

Tolerance

description : String 
name : String 
rationale : String

Artefact

FormTolerance

typeOfFormTolerance : String

PositionTolerance

toleranceZoneSize : QuantityWithUnit 
positionToleranceDecription : String

referencedDatums

RunoutTolerance

type : String 
runoutToleranceDescription : String
toleranceValue : QuantityWithUnit

referencedDatums

OrientationTolerance

origin : Point
type : String

Datum

precedence : String 
name : String

1..*

1..*

LocationTolerance

type : String

1..*

referenceFrame

図 B.4−“Torelance”に関するクラス図


42

B 3900-3

:2010 (ISO 16100-3:2005)

  

Function

name : String 
description : String

sourceOf

has

destinationOf

Artefact

has

QuantityWithUnit

unitName : Name
quantity : Double

has

Input

sources : Vector

unit : QuantityWithUnit
source : Artefact

1..*

1

has

Output

destinations : Vector
unit : QuantityWithUnit
description : Artefact

1

AllowableVariation

lowerLimit : QuantityWithUnit
upperLimit : QuantityWithUnit
description : String

has

TransferFunction

parameters : FunctionalParameter 
inputFlowSource : Input 
outFlowDestination : Output 
variationLimit : AllowableVariation

1..*

1..*

1

1..*

図 B.5−“Function”に関するクラス図


43

B 3900-3

:2010 (ISO 16100-3:2005)

InputEffort

effortName : String 
effortType : String 
effortDirection : String 
effortPosition : String

OutputFlow

outputFlowName : String 
outputFlowType : String 
outputFlowDirection : String 
outputFlowPosition : String

OutputEffort

outputEffortName : String 
outputEffortType : String 
outputEffortDirection : String 
outputEffortPosition : String

physicalPrincipleDescription : String

generatePhysicalAction( )

1..*

inputFlowVariable

1..*

inputEffortVariable

0..*

outputFlowVariable

0..*

outputEffortVariable

InputFlow

inputFlowName : String 
inputFlowType : String 
inputFlowDirection : String 
inputFlowPosition : String

BehaviourSpecification

図 B.6−“Behavior”に関するクラス図

人工物の接合は組立と同様に,

図 B.7 に示すように二つの人工物をどのように組み合わせるかをモデル

化している。

“ArtefactJoint”クラスは,二つの人工物の接合関係を表す。クラスは再帰的定義をもつ。こ

れは組立構造を生成する。下位の構造ほど,より早く組み立てる。すなわち構造は,組立順序を示す。接

合した人工物の組は,相互の人工物の位置・姿勢,特徴などと関連する。

“FeatureJoint”クラスは,二つの

形状特徴と固定又は可動という接合の型による組立との関係を示す。このクラスも再帰構造をもち,接合

における形状特徴間の組立関係を示す。形状特徴の組立順序は,

“ArtefactJoint”クラスと同様に,階層構

造となる。


44

B 3900-3

:2010 (ISO 16100-3:2005)

  

KinematicJoint

intermittentContact : Boolean 
degreeOfFreedom : Integer

RigidJoint

typeOfJoint : String
description : String

2

2

Artifact

has

consistOf

0..*

Feature

has

has

ArtefactJoint

matingArtefacts : Artefact 
numberOfFeatureAssemblyRelationships : Integer 
matingfeature : FeatureJoint 
assemblyLink : ArtefactJoint

consistOf

FeatureJoint

matingFeature : Feature 
featureAssemblyLink : FeatureJoint

1..*

0..*

図 B.7−“Joining”に関するクラス図

B.2

  ケイパビリティの連携図

概念的な製造工程計画は,事前に製造用プロセスを選択するアクティビティで,概念設計において製造

容易性を考慮してコストを概算する。概念的な製造工程計画の情報は,作業手順,製造パラメタ及び段取

り指示などの詳細な製造工程計画アクティビティで用いる。

この例では,概念的な工程計画を進めながら,概念設計の情報モデルを構築する。文脈の中で使用する

情報を設定するために,概念的な工程計画のアクティビティモデルを作成する。このモデルは,主な概念

をより詳細なレベルに落とし込む。

概念的な工程計画 (CPP) は,事前に製造工程を選択するアクティビティで,初期の製品設計段階での概

念設計において製造容易性を考慮してコストを概算する。このアクティビティは,製造用プロセスを決定

し,資源及び設備を選択し,製造コスト及び時間を評価する。概念的な工程設計の目的は,製造コストを

最小化するために製品の形状,構造及び材料選定を最適化して製品設計を支援することである。

概念的な工程計画と密接に関係するアクティビティの一つは,

詳細な工程設計である。

CPP

と比較して,

詳細な工程設計は詳細設計及び概念的な工程設計に基づくアクティビティで,工程順序の決定,使用する

機械及び工具の選定,段取りの決定,製造パラメタの決定並びに工程時間及び製造コストの予測を行う。

CPP

の定義に従い,CPP のアクティビティの機能及び情報の流れを詳細に表現するために IDEF0 の手法を

用いたアクティビティモデルを作成する。

図 B.8 に情報の流れを示すように,“Conceptual Process Pranning”アクティビティは,A21 から A23 の三

つのアクティビティに分解できる。アクティビティ A21 は,製造用プロセスを決定する。材料,形状,構


45

B 3900-3

:2010 (ISO 16100-3:2005)

造,公差などの概念的な設計情報に基づいて,鋳造,鍛造,成形,機械加工などの主要な製造用プロセス

を選択する。このアクティビティは,また,製品の製造を完結するまでの順序も含む。

アクティビティ A22 は,製造の資源を選択する。選択した製造工程に基づいて,物理的な資源及び人的

な資源を含む適切な製造資源を選ぶ。資源には,機械,工具及び作業者の技能を含む。アクティビティ A23

は,製造コストを評価する。製造コストには,原材料,購入部品,賃金,工具費,固定費,減価償却及び

間接費を含む。

アクティビティ A22 は,一連の資源選択機能を示し,

図 B.9 に示すように三つのアクティビティに分解

できる。アクティビティ A221 は,機械の選択である。選択した製造用プロセスに基づいて,製品の製造

が可能な工場内の機械を選択する。機械には工作機械,鍛造機械,鋳造機械,搬送装置,組立機械及び計

測機械を含む。アクティビティ A222 は,工具及びジグの選択である。選択した機械に基づいて,選択し

た製造工程に必要な工具及びジグを選択する。アクティビティ A223 は,作業者の技能の選択である。選

択した機械及び工具に基づいて,生産のために機械を操作し工具を使用する作業者の技能を選択する。

概念的な 
製品設計

概念的な 
工程計画

技術仕様

標準公差

選択し た製造用プロ セス

選択し た製造資源

評価し たコ スト

製造用プロ セス

の知識

製造資源の

モデル

製造用プロ セス

の決定

A21

製造資源の

選択

A22

製造コ スト

及び

時間の評価

A23

コスト の

モデル

図 B.8−概念的な工程設計の機能展開


46

B 3900-3

:2010 (ISO 16100-3:2005)

  

選択し た
製造資源

技術仕様

選択し た 
製造プ ロ セス

機械の

選択

A221

工具/ジ グの

選択

A222

選択し た 
工作機械

作業者技能の

選択

A223

概念的な 
製品設計

選択し た

工具/ジ グ

製造資源の

モ デル

図 B.9−製造資源の選択

オブジェクトモデルは,上述のアクティビティモデルに記述の概念的な工程計画における情報の流れを

含んでいる。概念設計のための工程,資源及びコストのオブジェクトモデルを,次に示す。そのモデルは,

UML

のクラス図で表現する。

図 B.10 に製造工程にかかわるクラスを示す。“ArtefactToBeMade”クラスは,“ManufacturingProcess”オ

ブジェクトのつな(繋)がりを含む。

“ManufacturingProcess”は,はん(汎)用の工程を表現する。製造ア

クティビティのクラスは,階層構造を生成する再帰的な表現をもつ。階層のレベルは,搬送経路,作業場,

作業,作業単位及び形状特徴である。製造アクティビティの型は,レベルを表す。また,製造アクティビ

ティは,次の属性をもつ。製造用パラメタ,製造用資源,評価したコスト及び時間,代替案,分岐及び総

合である。分岐及び総合は,同時並行のアクティビティの構造を形成するために使用する。製造アクティ

ビティの最初のレベルの特化は,

“Setup”

“Handling”

“Processing”

“LoadUnload”及び“Idling”を含む。

“Setup”は,機械の段取り,工具の段取り及び素材の段取りを含む。

“Handling”は,素材及び工具の搬送

にかかわる情報を含む。

“LoadUnload”

は,

機械への材料又は工具の取付け取外しのアクティビティを表す。

“Idling”は,二つのアクティビティ間の待ち時間を表す。“Processing”は,

“Inspection”,“PartMaking”

及び“Assembly”を含む製造アクティビティを表す。

“PartMaking”は,部品製造のアクティビティを表し,更に特化できる。

“PartMaking”からの導出クラ

スは,

“SurfaceTreatment”及び“Shaping”である。

“SurfaceTreatment”は,公差,表面粗さ及び硬さの仕

様を満たすための素材の表面処理のアクティビティである。

“SurfaceTreatment”からの三つの導出クラス

は,

“Finishing”

“Coating”及び“Hardening”である。

“Shaping”は,素材を特定の形状に変換するアクテ

ィビティを表す。このクラスは,二つの導出クラス“MaterialRemoving”及び“Forming”をもつ。

“Forming”

は,材料を特定の形状にする成形,鋳造又は鍛造のアクティビティである。

“MaterialRemoving”は,素材

から予定の形状まで材料を除去するアクティビティである。

“ChemicalRemoving”

“ThermalRemoving”又

は“MechanicalRemoving”がある。

“ChemicalRemoving”は,光化学加工,電気化学加工 (ECM) 又は化学

加工である。

“ThermalRemoving”は,高エネルギービーム加工,放電加工 (EDM) 又は溶断である。


47

B 3900-3

:2010 (ISO 16100-3:2005)

Inspection

inspectionDescription : String

Assembly

Finishing

Hardening

Coating

SurfaceTreatment

areaToBeTreated : Feature 
typeOfTreatment : String

Forming

formingProcessType : String

MaterialRemoving

removingProcessType : 
 String

ChemicalRemoving

ThermalRemoving

MechanicalRemoving

Setup

performer : String 
setupDescription : String

Processing

processName : String 
processingDescription : 
 String 
performer : String

Handling

workpieceName : String
destination : String 
routeDescription : String
performer : String

Idling

idlingDescription : String

LoadUnload

loadUnloadDescription :   
 String 
performer : String

PartMaking

workpieceDescription : String

Shaping

stockDescription : String

0..

ManufacturingResource

Cost&Time

cost : QuantityWithUnit 
time : QuantityWithUnit

0..

0..1

ManufacturingParameter

name : String 
quantity : QuantityWithUnit 
description : String

ArtefactToBeMade

0..1

Artefact

alternatives

alternativePriority

Priority

priorityNumber : Integer

0..1

BranchNode

branchID : String
type : String

2..*

ManufacturingActivity

sequenceNumber : Integer 
type : String 
name : String

manufacturingResource

estimatedCost&Time

0..*

subManufacturingActivities

manufacturingParameters

0..

manufacturingProcess

workpiece

0..*

0..1

branch

2..*

branchedActivities

JointNode

jointID : String

followedActivity

joinedActivities

図 B.10−製造工程のためのクラス図


48

B 3900-3

:2010 (ISO 16100-3:2005)

  

図 B.11 は,除去加工に関するクラスを示す。“MechanicalRemoving”は,機械加工及びせん(剪)断加

工のように機械的な方法で素材から材料を除去するアクティビティであり,“SheetSeparating” 及 び

“Machining”の二つの導出クラスがある。

“SheetSeparating”は,穴開け,パンチ,せん(剪)断などの板

金切断のためのせん(剪)断方法である。“Machining”は,工作機械を使用した金属切削のアクティビテ

ィ であ り,三 つの導 出 クラ ス “ SinglePointCutting”,“ MultiplePointCutting” 及び “ Abrasive ” が あ る 。

“SinglePointCutting”は,中ぐり,旋削及び溝加工を含む。

“MultiplePointCutting”は,ドリル加工,リー

マ加工,ねじ加工,ブローチ加工,ホブ加工及びのこぎり(鋸)加工を含む。

“Abrasive”は,研削加工,

ホーニング加工,超音波加工,超仕上げ及びラップ加工を含む。

MechanicalRemoving

SheetSeparating

Machining(Chips)

Piercing

Punching

Shearing

AbrasiveMachining

MultiplePointCutting

SinglePointCutting

SuperFinishing

UltrasonicMachining

Lapping

Grinding

Honing

Grooving

Boring

Threading(sp)

Turning

Drilling

Sawing

Broaching

Milling

GearCutting

Threading(mp)

Reaming

図 B.11−除去加工のオブジェクトモデル

図 B.12 は,変形加工に関するクラスを示す。“Forming”は,“Deformation”及び“Consolidation”の二

つの導出クラスがある。

“Deformation”は,素材の形状を変換するアクティビティを表す。例えば,鍛造,

押出し,引抜き,ローリング,ロレット加工,歯車の転造などである。

“Consolidation”は,金型を用いて

形状を生成するアクティビティを表す。例えば,鋳造,射出成形,焼結加工,積層加工などである。


49

B 3900-3

:2010 (ISO 16100-3:2005)

Forming

Deformation

Cosolidation

Hobbing

Forging

Knurling

Extrusion

Rolling

Drawing

Laminating

Compacting

Molding

Casting

PolymerMolding

CeramicMolding

図 B.12−変形加工のオブジェクトモデル

図 B.13 に示す“AssemblyProcess”は,部品を接合して製品にするアクティビティを表すクラスである。

導出クラスは,

“MechanicalJoining”

“ThermalJoining”及び“ChemicalJoining”である。

“ChemicalJoining”

は,接着剤のような化学的な方法で部品を接合するアクティビティを表すクラスである。

“ThermalJoining”

は,ろう付け,溶接及びはんだ付けのような,熱的な方法で部品を接合するアクティビティを表すクラス

である。

“MechanicalJoining”は,はめ合わせ,機械式アタッチメント及び機械式溶接のような,機械的な

方法で部品を接合するアクティビティを表すクラスである。はめ合わせは,二つの部品のしまりばめ又は

ゆるみばめである。機械式アタッチメントは,リベット締め又はキー,ピン及びねじを使用する。機械式

溶接は,摩擦溶接,爆発溶接,超音波溶接及び圧接を含む。

図 B.14 に示す“ManufacturingResource”は,製造工程で使用する物理的なオブジェクト又は作業者の技

能を表すクラスである。

“ManufacturingEquipment”は,製造工程で使用する個々の設備(物理的なエンテ

ィティ)を表すクラスである。例えば,機械,工具,ジグ及びゲージである。個々の設備は,その装置を

記述するパラメタの集合である。

“EquipmentParameter”はパラメタを表すクラスである。

“ManufacturingEquipment”からの導出クラスは,

“Machine”

“ToolForMachining”,

“Mold”及び“Die”で

ある。

“Machine”は,マシニングセンタ,鍛造機械,放電加工機などである。

“ToolForMachining”は,工

具,工具ホルダ,ゲージなどの加工工程で使用する工具である。

概念的な工程計画は,製造容易性を分析するアクティビティで,概念設計に基づく製造工程の選択,製

造資源の選択並びに製造コスト及び時間の予測を含む。設計に製造解析を統合することで,コストの範囲

内で製造できることを保証する。製造容易性の解析及びコストの予測は,製造コストの最小化のために重

要である。しかし,概念的な工程計画におけるソフトウェアツールが現状では不足している。製造業者は,

概念的な設計を製造工程及び資源選択に変換し,製造時間及びコストを予測する有効で新しい支援ソフト

ウェアツールを必要としている。こうした新しいツールの開発には,ツール開発及びツール統合を支援す

る情報モデルが必要である。

Consolidation


50

B 3900-3

:2010 (ISO 16100-3:2005)

  

AssemblyProc ess

description : String

ChemicalJoining

description : String 
typeOfChemica ljoining :  String

ThermalJoining

description : String 
typeOfThermaljoining : String

M echanicalJoining

description : String

AdhesiveBonding

Soldering

Brazing

ThermalWelding

MechanicalWelding

Fit

PressureWelding

FrictionWelding

UltrasonicWelding

ExplosiveWelding

ForceFit

LooseFit

Attachment

Screw

Clutch

Key

Riveting

Pin

図 B.13−組立工程のオブジェクトモデル


51

B 3900-3

:2010 (ISO 16100-3:2005)

Die

dieDescription : String

Mold

moldDescription : String

FixtureTool

CuttingTool

ManufacturingResource

quantity : QuantityWithUnit

costOfUsage : QuantityWithUnit

typeOfUsage : String

LaborSkill

laborRate : QuantityWithUnit 
skillDescription : String

ManufacturingEquipment

identification : String 
name : String 
type : String 
Description : String

ToolForMachining

identification : String

Parameter

0..*

toolParameters

Machine

identification : String

1..*

machineParameters

GaugingTool

AccessoryTool

図 B.14−製造資源のオブジェクトモデル


52

B 3900-3

:2010 (ISO 16100-3:2005)

  

附属書 C 

参考)

ソフトウェアユニット情報モデルの例

C.1

  データ解析及びデータ表示のためのソフトウェアユニット  (DAV)

データ解析及びデータ表示のためのソフトウェアユニット (DAV) は,評価アプリケーションの柔軟な

組合せによって異なる機能要素を作り出す基本的な機能とともにアーキテクチャを定義する。主な技術的

目的は,ソフトウェアコンポーネントの実装法及び更新法を知らない場合でも,幾つかの異なる提供者に

よるソフトウェアコンポーネントを組み合わせて,特定の MSU(アプリケーション)の作成を可能にする

ことである。

さらに,DAV アーキテクチャは,すべてのコンポーネントをうまく統合し,一貫したソフトウェアユニ

ットのカスタマイズを可能にする。再利用可能なモジュールを,カスタマイズしたプロジェクト固有の製

造用ソリューションのために作成する。それらは,ユーザが不必要な機能に煩わされることなく,定義し

たことだけを処理する。コンポーネントの再利用に関して,毎回,調べ回ることから始める必要はない。

さらに,

提供者は評価のすべての観点に留意することはない。

ソフトウェアコンポーネントの共同開発は,

実用的なソリューションを提供することになる。DAV ソフトウェアの構成及び使い方について共通の理解

を与えるために,モデルの主要な特徴及び DAV アーキテクチャの背景を示す。

図 C.1 は DAV アーキテク

チャの概略を示す。

  分散する ソ フ ト ウ ェ ア資源

デス ク ト ッ プ試験ツ ール (DAV)

ソ フ ト ウ ェ ア ユニッ ト 内部バス ( 情報のオブジェ ク ト マネージャ )

コ ン ポーネン ト

B

コ ン ポーネン ト

C( 導入)

コ ン ポーネン ト

A

コ ン ポーネン ト

D( 外部)

シス テム  
サービ ス

NN

サービ ス

デス ク ト ッ プ

サービ ス

工場

サービ ス

データ ベース ,

フ ァ イ ルなど

製造用情報シス テム 内の

他のソ フ ト ウ ェ ア ユニッ ト の集合

図 C.1−コンポーネントを基本とする DAV ソフトウェアユニットの構造

このソフトウェアユニットの表記は,1 台の計算機(他に存在するデータベース及び情報システムなど

とのやり取りは当然行う。

)で典型的に実行するデータ(例えば,統計的なプロセスデータ)の観測,解析

及び視覚化のための応用ソフトウェアに焦点を当てている。このようなソフトウェアユニットの詳細及び

実装は,ここでは規定しない。しかし,互換性がありはん(汎)用的な方法でそのような応用ソフトウェ

アを支援し,標準コンポーネントを開発できるように,完全な通信基盤及び好ましいコンポーネントイン

タフェースを規定する。

エンドユーザにとっての主な利点は,単一のソフトウェア提供者から独立できるだけでなく,標準化及


53

B 3900-3

:2010 (ISO 16100-3:2005)

び個別化という両方の視点から最適なものを提供することによって両者のすき(隙)間を狭めることであ

る。この考えを実現するために,単一の機能をもつソフトウェアコンポーネントを相互に切り離して,個

別のソフトウェアユニットを作る“基盤”としての“通信バス”を定義することができる。個々に独立し

て開発したコンポーネントのこのようなバスを介した連携動作には,ある程度の標準化が必要となる。も

ともとバス自体は,計算機に根ざした真に局所的な概念である。なぜなら,典型的な応用ソフトウェアは,

データ評価のための意味のある情報の流れを作るために寄せ集めた局所的なコンポーネントの集合体だか

らである。単一のコンポーネントは,主に分散した製造用情報システムの IT 環境とやり取りするなどの,

外部ソフトウェアユニットの資源との遠隔通信で成り立っている。

C.2

  サービス−共通機能の提供

バスとは別に,システムサービスは,一つのソフトウェアの“基盤”として動作する。それは,コンポ

ーネントに不可欠な機能を提供する。さらに,ソフトウェアのコンポーネントに対するこのような“サー

ビス”は,ソフトウェアユニット及びその構成要素への一般的な特定機能を提供するのに用いる。

図 C.1

にサービスの例を示す。既存のサービス機能への追加及び拡張は,ISO 16100 規格群で記載する。

“ヘルプサービス”は,コンポーネントに関する問合せ情報への標準的な接続を提供する。

図 C.1 の“デ

スクトップサービス”は,Microsoft Windows, UNIX X-Windows 又は Java Swing のような具体的な GUI 環

境を抽象化した共通の描画言語及びウィンドウへの接続を提供する。

“ロギングサービス”及び“トレーシ

ングサービス”は,コンポーネントが実行状態を監視するための異なる種類の進捗情報を出力する単純な

操作を提供する。

これは,

デバッグ及び繰返し計算のチェックの助けとなる。

“スクリプティングサービス”

は,同一の応用ソフトウェア(すなわち同一のパラメタを使って相互接続するコンポーネントの集合体)

の正確な繰返し又は再計算で使用する完全な記述のために,ソフトウェアユニットの一つの構成及び実行

を出力する単純なインタフェースを提供する。

“プロパティサービス”

は,

コンポーネントのプロパティ

(属

性又は特徴ともいう。

)の一般的な抽象化を提供する。また,一つ以上のコンポーネントに共通のプロパテ

ィの集合を構成することもできる。

図 C.1 の“工場サービス”は,コンポーネント間通信に使う新しいデ

ータオブジェクトを生成するために使用する。

C.3

  アイテム−通信オブジェクト

情報(データ)は,サービスと同様に,

“アイテム”によってコンポーネント間でやり取りする。実際,

バスは基本的に“アイテム管理者”である。すなわち,バスは“アイテム”としての新しいデータの生成

又は不要となった“アイテム”の消去といった通知を管理する。

“アイテム”は,応用シナリオで意味をも

つデータを表現するために用いる。ソフトウェアユニットにデータを提供するコンポーネント(データベ

ース又は測定データを取得するためのファイルアクセスの入り口といった)は,適切な型の“アイテム”

を生成し,実際のデータ値を“埋め込み”

,バスにそれを通知する(

“発行する”

)ことでそれを行う。バス

は,登録しているすべてのコンポーネントに,新しいアイテムが利用可能になったことを通知する。コン

ポーネントは,自身の機能,すなわち,データを用いた何らかの計算などに必要な入力かどうかを判断す

るために,アイテムの情報(名前,種類など)を取得する。

したがって,コンポーネントの構成時に,使用者はコンポーネントの入力に必要なアイテム(典型的に

は名前)を関連付ける。これによってソフトウェアユニットを構築(プログラム)する。なぜならば,こ

のアイテムのコンポーネントへの関連付けが,機能的構成要素を“結合”するからである。コンポーネン

ト間の緩い結合という概念を失うことなく,コンポーネント間でアイテムを通信するためには,

“イベン


54

B 3900-3

:2010 (ISO 16100-3:2005)

  

ト”の概念を用いる。イベント(実装の観点からそれ自身は,プログラム可能なオブジェクト)は,アイ

テムを“運び”

,アイテムの利用可能性,変更又は消去を伝える。結果として,コンポーネント相互及びバ

スとの“結合”は,イベントの発生又は消去の登録で実現する。柔軟性及び高度な分離を保証するために,

多くのイベントはバス経由で交換し,

コンポーネント間での直接の交換はしない。

異なる種類のイベント,

例えばデータの変更又は再定義は,それぞれのイベントが運ぶ個々のラベルによって区別する。バス,サ

ービス,アイテム及びイベントの概念の他に,DAV アーキテクチャにおける最後の主な要素は,

“コンポ

ーネント”の概念である。

 
 
 

データ  
ベース

 
 

データ  
ベース

プロ ッ ト

デバイ ス

フ ァ イ ル

シ ス テム

入力

コンポーネント

入力

コンポーネント

入力

コンポーネント

作業者

コンポーネント

作業者

コンポーネント

作業者

コンポーネント

出力

コンポーネント

出力

コンポーネント

出力

コンポーネント

デバイ ス

図 C.2DAV ソフトウェアユニットの構造及び情報の流れに対する論理的模式図

C.4

  ソフトウェアコンポーネント−ソフトウェアユニットの機能モジュール

図 C.2 に示すように“ソフトウェアユニット”は,機能的モジュール(ソフトウェアコンポーネント)

の集合体(

“コンポジション”

)である。それぞれのモジュールは,特定で完全で自給自足の機能をもち,

一つの独立した構成要素に封入することができ,計算機処理の連鎖を作るのに必要な機能(他の構成要素

とともに)を十分に実現できる。この骨太のルールに従い,個々の提供者は製品として頒布するに十分な

機能をもつ単一の計算処理ユニットを提供できる。この場合,それぞれの構成要素をコンポーネントとい

う。また,そのプログラム化したインタフェースがこの規格の定義に従っていれば,同じようにこの規格

に従う他のコンポーネント(他の提供者の頒布でもよい)とともに連携することを保証する。

このコンポーネントに基づくアーキテクチャの根拠は,次による。

a)

コンポーネントは,多くの異なる供給者が作成する。

1)

一つの特定のコンポーネント提供者に依存しない。

2)

はん(汎)用又は特定の問題に対して複数のコンポーネントが提供できる。

3)

多くの種々のコンポーネントから使用者が選択できる。

4)

プロジェクトは,第 3 者によるコンポーネントを容易に統合することで,開発時間(コストも)が

改善できる。

5)

コンポーネントの作成は,すべての応用ソフトウェアの作成よりも簡単で,小さく高度に専門化し

た企業がコンポーネント市場に参入できる。


55

B 3900-3

:2010 (ISO 16100-3:2005)

6)

コンポーネント開発者は,最終の応用事例を知る必要はない。開発者は,専門である個別問題解決

の効率,性能及び出力に集中できる。

b)

コンポーネントは,再利用可能である。

1)

コンポーネントは,別々に作成する又は購入することができ,異なる応用事例又は異なる応用事例

の中で同時に使用したり他のコンポーネントといろいろに組み合わせて使用できる。

2)

既存の概念とは独立した新たな概念が実装できる。

3)

できるだけ多くの状況で再利用できるように,コンポーネントは“カスタマイザ”とともに登場す

る。

“カスタマイザ”は,典型的な対話形式で,コンポーネント開発者があらかじめ定めた範囲内で

テストエンジニアが特徴及び属性を定義できる。こうしてコンポーネント化した応用ソフトウェア

は,一般的に適宜に修正するソフトウェアに比べてエラーに強く見通しが効く。対話形式の操作に

は,単純なチェックボックスの多岐選択から,技術者に複雑な構成を指示して支援する完全な“ウ

ィザード”まである。

c)

異なるコンポーネントの連結は,新しくて高度に柔軟性のある応用ソフトウェアの迅速な開発並びに

保守及び管理コストの削減をもたらす。

1)

例えば IC を使用するようなハードウェアシステムの構築から学ぶことが,ソフトウェア開発にも活

用できる。それは工学的な原則というよりは技巧的である。

2)

一つのコンポーネントは,もう一つのコンポーネント(必要であれば他の提供者からの)によって

置き換えが可能で,応用ソフトウェアの他の部分に触れたり変更することなく新しいコンポーネン

トを付け加えることができる。

3)

既存のシステム及び機能は,コンポーネントモデルに包含することで,新しい開発の中でより簡単

に組み込むことができる。

種々のコンポーネントから応用ソフトウェアを組み上げる目的で,技術的な機能だけでなく,問合せ情

報,版数情報,表示言語情報及び認証情報とともに,自給自足のパッケージとして頒布しなければならな

い。

コンポーネントパラダイムのこのような規約を決めることを現実のものにするためには,応用領域固有

のコンポーネントモデルの標準化が必要である。コンポーネントモデルは,主にインタフェース,通信及

び支援サービスである。

C.5

  ソフトウェアユニットの設定

C.4

では使用者の視点からソフトウェアユニットをみてきたが,設定から実行までのソフトウェアユニ

ットでの技術的操作の詳細を次に示す。ここでは必要な手順を示すためにシーケンス図を用いる。個々の

四角は対応する実行操作を示す。コンポーネントを取り込むというような詳細は記載していないが,斜体

文字(箇条 参照)又は注釈は,オブジェクトの実装のような“疑似操作”を示している。

もちろん図示した操作にも幾つものレベルがあり,例えば,テストツールはコンポーネントの取込みと

サービスのインスタンス生成とを並列に行い,コンポーネントは,アイテムを探す前に使用者が設定する

のを待つなどである。

図 C.3 はソフトウェアユニットの初期設定及び最初のソフトウェアコンポーネント

の取込みに関する標準的なシナリオを示している(実際のシナリオでは,生成用の特別なコンポーネント

を最初に取り込むことも含む。


56

B 3900-3

:2010 (ISO 16100-3:2005)

  

具現化

ス タ ート

theUser

theFileSystem

aBus:

CeaBusIF

aComponent:

CeaComponentIF

theSysteService:

CeaSystemServiceIF

theTestTool

具現化( イ ン ス タ ン ス 化)

CeaSetBusName()

ceaSetUserName()

ceaSetUserLanguage()

ceaSetHostName()

ceaSetExecutionMode()

ceaAddItem()

シ ス テ ム サービ ス

ア イ テム の登録

例えばア イ コ ン のよ う な

問合せ情報又は

他の資源と いっ た

コ ン ポーネン ト 記述の取得

応用ソ フ ト ウ ェ ア構築のための

コ ン ポーネン ト の選択

利用可能なコ ン ポーネン ト の

一覧又はメ ニュ ーの表示

具現化

ceaInit()

ceaSetName()

バス な ど と の

関連付け

ク ラ ス 又は DLL のよ う な

実行可能コ ン ポーネン ト の

取付け

関連ア イ テ ム のよ う な

コ ン ポーネン ト の

構成

ceaAddListnere()

ceaGetItemsAvailable()

ceaGetExecutionMode()

ceaisRecording()

ceaCustomize()

図 C.3DAV ソフトウェアユニットのライフサイクル:最初のコンポーネントの取込み


57

B 3900-3

:2010 (ISO 16100-3:2005)

具現化

ceaCustomize()

初期化し

バス に

問合せ済み

ceaSetItemName()

theUser

aConsumer:

CeaConsumerIF

aBus:

CeaBusIF

aWorker:

CeaVisualWorkerIF

aProducer:

CeaProducerIF

anItem:

CeaItemIF

ceaSetDisplayName()

theTestTool

ceaExecute()

ceaAddItem()

対話形式の

操作

aWorker:

CeaItemEventListnerIF

イ ベン ト : 利用可能な ア イ テ ム

ceaHandleEvent()

ceaGetItemFlavor()

ceaGetItemName()

ceaCustomize()

ceaAddListner()

イ ベン ト : ア イ テム の変更

無効化

更新

ceaValidateCurrentApplication()

ceaExecute()

ceaShutdown()

ceaShutdown()

ceaShutdown()

適切なア イ テム の設定

( 例えば名前)

ア イ テム の 
適合性判断

図 C.4DAV ソフトウェアユニットのライフサイクル:稼働時の典型的な相互作用


58

B 3900-3

:2010 (ISO 16100-3:2005)

  

具現化

aProducer:

CeaProducedIF

aMeasurement:

CeaMeasurementIF

aBus:

CeaBusIF

aDataChannel:

CeaDataChanelIF

aWorker:

CeaVisualWorkerIF

ceaAddListner()

ceaAddItem()

ceaGetChannelID()

ceaGetTypeOfValues()

ceaGetDoubleArrayID()

利用可能な  
計算結果の

作成

新し い計算結果が出る ま で

古いデータ の使用を 停止

ceaHandleEvent()

ceaGetItemFlavor()

ceaGetChannel()

ceaGetAddListner()

具現化

ceaSetDoubleArrayID()

ceaAddItem()

データ 内容の更新

ceaHandleEvent()

ceaRevokeItem()

平均計算及び履歴表示と いっ た

作業

データ ベース

ア ク セス によ る

新データ 及び手段

図 C.5DAV ソフトウェアユニットのライフサイクル:アイテムにかかわる典型的な相互作用

ソフトウェアコンポーネントのライフサイクルの基本は,次の手順から成る。

・load  取込み

・initialize  初期化

・configure  構成

・execute  実行

・shutdown  停止

実行と構成との間を繰り返すことになる。


59

B 3900-3

:2010 (ISO 16100-3:2005)

C.6

  通信するオブジェクトの例

図 C.6 は,製造用実行システムのクラス図の通信するオブジェクトの例を示している。

storeroom

<<account>>

stock

value 

quality standard

assign to

result

quality item

<<plan & result>>

quality value

model number

<<plan & result>>

product

order

serial number

substance

WIP

finished

product

item

name

profile

case

tool

date/

hour

alternative

<<plan&result>>

schedule

model number

<<plan&result>>

product

order

subassy

amount

position

direction

<<plan&result>>

injection

process

operation type

shop

name

<<plan&result>>

<<history>>

consume

consumption 

<<plan&result>>

recipe 

information

<dynamic>

<<plan&result>>

production

amount

output

input

set of 

variables

name

standard time
standard cost

<<plan&result>>

operation method

start time

end time

cost

<<plan&result>>

<<history>>

assign

occupation 

type

<<plan&result>>

state

during

operation

utilities

equipment 

capacity 

during

maintenance

factory

actual

equipment 

number

capacity

usable life 

own

type

alternative

<dynamic>

[ordered]

process line

type

product

[ordered]

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

0..1

0..1

1

0..1

結果への

割当

変数の

集合

図 C.6−製造用実行システムのクラス図の例

この例では,計測した品質値から実対象物の品質を判断するソフトウェアユニットが,次のような通信

するオブジェクト(

図 C.6 の左側参照)を受け取る。

a)

実対象物のシリアルナンバー属性

b)

計測した実対象物の品質値

c)

品質の標準データベースからの品質アイテム

ソフトウェアユニットは,これらの受信値を比較して,実対象物の品質の判定結果を出力する。

図 B.1

に示す階層の中で上位に位置する製造用実行システム (MES) のようなソフトウェアユニットに,通信オ

ブジェクトとして出力する。


60

B 3900-3

:2010 (ISO 16100-3:2005)

  

参考文献  JIS X 4159  拡張可能なマーク付け言語 (XML) 1.0

IEEE 1320.1-1998

  Standard for Functional Modeling Language−Syntax and Semantics for IDEF0

ISO/IEC 10746-2:1996

,Information technology−Open Distributed Processing−Reference Model:

Foundations

ISO/IEC 19501:2005

,Information technology−Open Distributed Processing−Unified Modeling

Language (UML)

ISO 16100-5

,Industrial automation systems and integration−Manufacturing software capability

profiling for interoperability

−Part 5: Methodology for profile matching using multiple capability

class structures

ISO/IEC TR 10000-1:1998

,Information technology−Framework and taxonomy of International

Standardized Profiles

−Part 1: General principles and documentation framework