日本財団 図書館


4.2.7 クラスの定義の方法
 共通の性格やビヘイビアを持つものを記録するのに都合の良い様にオブジェクトをグループ化することで、ひとつのクラスをライブラリに定義するのである。
 各々のクラスは、次の様な情報によって定義されなければならない:
1. A name
 nameは、次に述べるように、クラス命名規約を満たすものである。
2. オプションの1ケまたはそれ以上の同義語synonyms
 同義語synonymsとは、入れ替え可能なものをいう。しかしながら、分かり易く階層を図示するために、同義語は階層を図示するには使わない。ただ‘preferred synonyms’だけが使われる(これは、標準という場合には、‘preferred synonyms’という言葉は正式のステイタスは持たないことを意味する)。
3. 既存のスーパークラスとの特殊化の関係::
・・・is a specialization of ...
4. オプションの他のクラスとの1ケまたはそれ以上の関係、例えば
・・・can be part of a ・・・
・・・can be a role of a ・・・
・・・can be connected to a・・・
5. 文字による定義
 この文字は、直接のスーパークラス(前述の第3項参照のこと)の定義に対してなされなければならない、そして大抵の場合には、‘which consists of’または‘intended to’(これは、‘which is intended to be suitable to’という意味である)という句を伴って始まるものである。この文字による定義は、如何なる場合にも定義されたクラスはその直接のスーパークラスの特殊化であり、それによって兄弟のクラスと分離することを記述しなければならない。
 これは、文字による定義を加えることは次の様に解釈されなければならないことを意味する:
・・・is a specialization of・・・which consists of [etc.] or
・・・is a specialization of・・・intended to [etc.].
 このようにして定義される場合には、‘full sentence definition’は直接のスーパークラスとの関連の集まりと文字による定義の追加によって自動的に作られる。
6. それ以外のクラス定義の関係(オプション)
 オプションとして、1ケまたはそれ以上の組合わせが特定のプロパティやアルゴリズムやその他の文字による情報と関係する。これらは、プロパティによってオブジェクトを定義し、アルゴリズムによってアクティビティなどを定義する。これは次の様になる;
・・・has a property of・・・(prop-1)
(prop−1)・・・is defined by・・・(value/UoM)
(prop−1)・・・ is classified as・・・
and
・・・is defined by ・・・(text−1)
(text−1)・・・ is classified as ・・・
 
 ISO規格のAP221 Reference Data Libraryに対する独自の拡張は、標準でも許されている。このオプションは、全く独自の定義であるが、一般に共通している知識のクラスを拡張する為にフィードバックされることが好ましい。
 この事は、企業独自のクラスを定義することを意味する。これらの個別の拡張は、STEP AP221経由で交換する事が可能であり、従ってプラントとその機器の定義に使う事が可能になる。しかしながら、そういった独自の拡張は、上記の約束に則っていなければならない。そうでなければ、矛盾のない集まりにはならないし、如何なる情報も上位のクラスから継承しない。
 これは特に、会社独自のクラスを持つサプライヤ独自のカタログには価値があることである。しかしながら、プライベイトクラスを定義することは極力避けなければならない。もしどうしても必要なら、STEPlibに既に存在している標準クラスの下位型を作るべきである。
 例えば、‘centrifugal pump’クラスは、STEP AP221 Class Libraryの一部である。
 そのカタログ項目である‘Sundyne pump model 311’は次の様に定義される:
   − Sundyne pump model 311 is classified as Sundyne pump
  − Sundyne pump is a specialization of 'centrifugal pump'
 従って、その会社が、自分達独自の‘Sundyne pump’クラスとその仲間を、‘Sundyne pump’は、特殊なプロパテイを伴う‘centrifugal pump’の特殊化として交換すると、受取り側は、そのポンプを特別のモデルを参照しなくても、‘Sundyne pump’にクラス化することが出来る。
 
4.2.7.1 Rules for Class names
 クラス名は、次の規則を満足する必要がある:
1. Artificial class names は、避ける。しかし一般的なエンジニアリングクラス名は使われる。
 例えば、‘piping_segment_cmpnt’は、一般的なエンジニアリングの実績ではないので、使ってはいけない。
2. Class namesは、単数でなければならず、複数は許さない。
 例えば、vesselであってvesselsではない、fittingであってfittings. ではない
3. abbreviationsもunderscoresを使ってはいけない、名前と定義は一体であるべきで、通常は一般化されている短縮形を除いて小文字でなければならない。
 例:centrifugal pumpであって、centrif._pumpではない。広く使われている省略形やもしくは大文字は、特に同義語で許される(次の5項を参照のこと)。例えばPC。
 この規則は英語に対するもので、他の言語では、別の規則が必要である。例えば、ドイツ語では全ての名詞は、大文字で始まる。
4. Multi word class namesは、使われる言語に応じてnormal word sequence(その言語で使われる順序)でなければならない。
 例えば、英語では‘centrifugal pump’であり‘pump centrifugal’ではない。
5. Synonymsは許されていて、同義語が使われるコンテキストを付加する必要がある。
 同義語は、参照クラス名を伴う必要がある代替え‘alternative’である。参照クラス名は、それ以外の他の関係でも使われなければならない。
 例えば、shipは、sea going vessel. の同義語と見なされる。
 言語依存のコンテキストを持つ同義語は、例えば、フランス語の同義語であったり、ドイツ語の同義語であったりする。
6. Concatenated classes は許されているが、その構成要素に従ってクラス分けされている必要がある。
 例えば、single stage centrifugal compressorクラスは許されているが、single stage compressorcentrifugal compressorとはクラス分けされている必要がる。
7. 全てのクラスは、最低限1ケのクラス分類か、要素の組合わせが必要である。
8. 全てのクラスは、階層関係の親の性状を継承する。例えば、全ての機器と機器の要素は、‘item’の下位型(サブタイプ)であるので、itemが持っているものは、全て継承される。
 itemは、固体なので、どれも特定の形状を持っている。
 itemは全て、次の様な性状を持っている:
質量、容積、個数、価格、経済性、利ざや
 従って全ての下位型は、これらの性状を引き継ぐ。このニーズは、どのクラスにも当てはまる。
 例えば、bearingは、itemであるから質量と容積を持つという事を継承する。
 物理オブジェクトの全てのクラスは、データモデルに定義されている物理オブジェクトを成す可能な組合わせをも継承する。例えば、全てのクラスは、名前(タグ)や説明や成分や形状といったものを持っている。
9. 全てのクラスは、単数のitem若しくは集合体collectionsを分類するのに使われる。だから、集合体には、別のクラスを付与する必要はない。
 例:centrifugal pumpクラスは、P 101を分類するのに使われ、または倉庫の中のポンプを分類するのにも使われる。オブジェクトタイプは、複数の物理オブジェクト“plural physical object”として定義されなければならない。集合の大きさは、アイテムの数‘number of items’で示される。その集合をcentrifugal pumpにクラス分類する事が出来る。反対に、その集合の要素はcentrifugal pumpとしてクラス分けできる。
10. クラス定義は、直近の上位クラスの定義を行い、上位クラスとどこが違うか、同一クラスとどこが違うかを明らかにすればよい。
 例えば;
ball bearingis a specialization of   bearing which contains balls.
 結果として、定義は単純にみえる。しかしながら、そんなに簡単でもない。直近の上位factのクラスの名前は、直近の上位クラスの定義を表わす、それはクラス階層の最上位に至るまで、再度定義などを伴う直近の上位クラスを持っている。この連鎖の繰返しが、全体を完璧に定義するのに役立つ。
 更に、文字で付加された定義は、クラス分類に使われた要素から開始されなければならない。
 例えば;
   'intended for' 意図されたアクティビティによるクラス分類
  'which consists of' 構成要素などによるクラス分類
 
4.2.7.2 Rules for Associations between classes
 クラス間に存在する連想associationsには多数の異なったタイプがある。
 
4.2.7.2.1 Classification associations(クラスの組合わせ)
 これは、2つのクラスの間の下位型と上位型‘subtype − supertype’ の組合わせを定義する。
 下位型のクラスは、上位型のクラスを分化したものである。
例:ポンプは機器を分化(is a specialization of)したものである。
 この事は、下位型は上位型の逆定義でもあることに留意すること。
例:機器は、下位型としてポンプを持つ。
 クラスの組合わせは、継承した性質や役割に応じてオブジェクトのクラスを分類する。だから、機械クラスと機能クラス(mechanical classes and functional classes)は区別している。
Rules:
−多重クラスも可能であり、他のクラスとの組合わせがあり得る。
1. Physical object specialization associations are described by the term 'is a specialization of'.
 これは、ある物理オブジェクトクラスと別の物理オブジェクトクラスの組合わせをいっている。
 上の例のポンプは機器の分化である‘a pump is a specialization of equipment’というのは、そういった分化による組合わせの例である。
2. Functional classification association、‘can be a role of’で記述されるもの
 これは、ロールクラスと物理オブジェクトクラス(class of role and class of physical object)の間の組合わせを記述している。例えば、消火ポンプは、ポンプの役割 role of a pumpをする。
 逆の組合わせは、物理オブジェクトクラスは、ロールクラスによって記述されることを意味している。例:a pump‘can play the role of’fire fighting pump.
 
4.2.7.2.2 Composition associations
 組立品と集合体には相違があるので、部品や全体に関する組立品の組合わせassembly associationと要素と全体の集合に関する集合体の組合わせcollection associationは区別をしている。
 成分の組合わせは、ライブラリでは、完璧なリストにはならない。
 ISO 10303−221は、オブジェクト間の成分の組合わせには、制約を求めない。
 だから、成分の組合わせに加えることが、完璧なリストになる必要はないが、クラス定義を分かり易くし、クラスの識別を助け、特定の要素を評価するのを助け、オブジェクトに関係のある情報を識別するのを助けるのに役立つ。
1. Assembly association, described by the term‘can be part of’.
 オブジェクトクラスは、構成 compositions を持つ。これは、オブジェクトクラスは、別のオブジェクトクラスから構成されることを意味する。
 クラスライブラリは、それらの可能な構成をクラス間の組立品の組合わせという形にして文書化している。
 
 アッセンブリの組合わせは、部分と全体‘part − whole’の組合わせを記述するもので、あるクラスが全体を成す他のクラスの部分である事を定義する。
 例えば、ノズル、ヘッド及び胴体は、容器の部品になり得る(can all be part of a vessel)。これは、容器は、1ケまたはそれ以上のノズル、ヘッド及び胴体のアッセンブリである事を意味する。
 この組合わせは、また、全体を部分に分解するというinverseを定義していることに注意のこと。例えば、圧力容器は、ノズル、ヘッド、胴体などからなる(‘can be composed of’)。
Rules:
− コンポーネントは、同時に、1ケまたはそれ以上のアッセンブリの部分になる。
2. Collection association, described by the term ‘can be element of' .
 単一のオブジェクトではなく、同類のオブジェクトの集まり collections of identical objectsと異なるオブジェクトの集まりcollections of different objectsを識別する。
 例えば、倉庫にあるポンプの集まりといったものである。
 ISO 10303−221では、集合体をその権限のあるオブジェクト(組立品と同じように)と見なしている。このことは、カタログ、ライブラリ、BOMなどなどは、オブジェクトそのものであり、構成をなす組合わせを持っている。
 クラスライブラリは、集合体に対して別の名前を持つことはないが、特定のオブジェクトの集合体は、‘object class’及び‘collection’に分類される。だから、ライブラリは、‘collection’、 'catalogue’、 bill of material’などのクラスを持っている。
 例えば、ポンプに続くポンプのクラスはないので、ポンプの集合体は、‘pump’及び‘collection’(or one of its subtypes)として分類されなければならない。
 例外的なケースで、明示的な集合体の組み合わせがSTEP Class Libraryの一部であることがある。カタログの所有者は、この種類の組合わせを拡張して使用することがある。
 集合体の組合わせは、要素と集合‘element − collection’の組合わせを記述して、一つのクラスが集合に属する他のクラスの要素‘an element of’になり得ることを記述する。
例:
−系統図のシンボルは‘element of’a symbol libraryである
−配管要素は‘element of’a piping class(library)である
−予備品は ‘element of’stock in a warehouseである
−材質は ‘element of’a catalogue である。
逆の組合わせは、集合体を個別の要素に分解することを記述する。
例えば配管クラスは弁と付属品を含む。
 
4.2.7.2.3 Geometric Representation of Objects and Characteristics
 AP221は、幾何クラス(AP221ではAnnotation要素と呼んでいる)と、それを表すオブジェクトクラスは分離している。例えば、弁シンボルは弁クラスを表すことが出来る。
 更に、AP221は幾何(若しくはシンボル)の名前と線分や円などで表される幾何自体(シンボル形状)を区別している。
 このクラスライブラリでは、シンボル名のみ及びそれを表すオブジェクトクラスの組み合わせを定義することを狙っている。
 幾何クラスの形状は、シンボルライブラリのシンボルのように、多くの標準化団体が標準シンボルによるカタログを発行してはいるものの、多くは会社に独自である。
 形状を持つそういったカタログの定義は、このクラスライブラリのスコープ外であるが、形状のクラス名は、スコープに含まれる。
 例えば、クラス名‘centrifugal pump symbol’と‘globe valve symbol’は、それらが成す仕事の組合わせと同じように、ライブラリの一部になり得るが、それらのシンボルの実体の形状はこのライブラリには定義されてはいない。







日本財団図書館は、日本財団が運営しています。

  • 日本財団 THE NIPPON FOUNDATION