Index: [Article Count Order] [Thread]

Date:  Fri, 22 Apr 2005 02:26:39 +0900
From:  Hanyuda Eiiti <hanyuda@....com>
Subject:  [modeling-dojo:00341] 汎化とインスタンス関係の使い分けwasパワータイプ質問
To:  modeling-dojo@....jp
Message-Id:  <20050422020654.5527.HANYUDA@....com>
In-Reply-To:  <200504201459.AA01416@....jp>
References:  <20050420190920.EB4F.HANYUDA@....com> <200504201459.AA01416@....jp>
X-Mail-Count: 00341

児玉さん

羽生田です.
児玉さんの言うように
わたしもパワータイプはベースクラスに対して相対的なものだと考えています.

ちょっと質問の表現が舌足らずで失礼いたしました.
今回,問題にしたかったのは,
児玉さんのモデルの「サービス」概念階層の表現形式の2重性です.

[サービス]クラスと[クリーニング]や[加工]クラスとの関係は汎化関係でモデル
化されていますよね.,
その一方で,ノートで言及しているように,[クリーニング]クラスと[ドライ:ク
リーニング]や[水洗い:クリーニング]の関係や[加工]クラスと[防水加工:加工]
や[防虫加工:加工]の関係はクラス-インスタンス関係でモデル化されています
ね.

この2番目のクラス-インスタンス関係は,微妙で誤解しやすいですが,汎化関係
の誤りではないでしょうか.つまり,防水加工も防虫加工も加工クラスのサブク
ラスとしたほうが,サービスと加工の汎化関係と整合的なのではないでしょうか
非常に微妙な違いといえますが,概念モデルやオントロジーを議論する場合,お
ろそかにはできない部分なので,ぜひ児玉さんの意見を聞かせてください.

別の例で示すと,
「自動車」クラスと「乗用車」クラスや「運搬車」クラスとの関係に汎化関係を
使っておきながら,
一方で,「乗用車」のインスタンスとして「スポーツカー:乗用車」,「運搬車」
のインスタンスとして「トラック:運搬車」とモデル化するようなものではない
でしょうか.これらは自然な概念分類の考え方からすると,やはり,スポーツカー
は乗用車のサブクラス,トラックは運搬車のサブクラスとすべきでは.

このように考えるか,整合性を重んじるのであれば,
「サービス」クラスのインスタンスとして,水洗いクリーニング,ドライクリー
ニング,防水加工,防虫加工を扱う,ようにするかのいずれかだと思います.

先のメールでわたしが,児玉さんのモデル中のサービスクラスはパワータイプだ
といったのはミスリーディングでしたが,このようにクラス-インスタンス階層
とスーパー-サブクラス階層が混じっていたので,そう思わざるを得なかった,
という面があります.

仮に水洗いクリーニング,ドライクリーニング,防水加工,防虫加工をそれぞれ
クラス扱い(*)すれば,サービスはそれらのスーパークラスといえますが,逆に
水洗いクリーニング,ドライクリーニング,防水加工,防虫加工をそれぞれオブ
ジェクトと考えれば,それらの属する「サービス種」クラスは先の「サービス」
クラスのパワータイプということになります.

今回はうまく伝わりましたでしょうか?

(*)前のメールでは,これらのクラスのインスタンスとは何か,を問題にした
かったのですが,うまく伝えられませんでしたので今回は無視します.

>    >児玉さんのオブジェクト図を見ると,クリーニングクラスのインスタンス例とし
>    >ては,ドライ:クリーニングや水洗い:クリーニングというオブジェクトが登場
>    >していますから,これはどう見ても,やはり「クリーニング」クラスはパワータ
>    >イプとしか考えられないのですが...
> 
>  ?パワータイプの意味がすれ違っているような気がします。

失礼しました.この箇所は書き間違いです.
  やはり「クリーニング」クラスはパワータイプ
  =>
  やはり「サービス」クラスはパワータイプ
といいたかったのですが書き損じました.
「サービス種」クラスと呼んだ方がさらに誤解は減るとは思いますが.

以上です.