Papyrus (+ Eclipse)を使用しているときに、最初は矛盾と見なしていた問題に直面しました。しかし、それについて疑問に思った後、UML設計の基本的な概念に「バグ」があるのではないかと思い始めました。
さて、とがの特殊化である基本的なクラス継承問題を考えてみましょう。(つまり、とのスーパークラスです)。ManWomanPersonPersonManWoman
次に、ステレオタイプ Worker(パラメーターjobなどを含むsalary)をに適用する場合Person、サブクラスも同じステレオタイプを受け取るべきではありませんWorkerか?それらはパラメータを含むべきではありませんjobか?salary
ステレオタイプもスーパークラスから継承されたのですが、このデザインをPapyrusツールで実装すると、継承されたjobまたはが表示されませんsalary。すべてのサブクラスは、ステレオタイプが適用されていない場合と同じです。
前もって感謝します!
======================詳細については編集========================
サブクラスでのステレオタイプの継承に関して、UMLv1.3の問題が2000年に開かれたことがわかりました。
私の解釈では、ディスカッションで提供された例は、まさに私が上で尋ねたものです。ただし、レビュー担当者は、問題がステレオタイプのサブタイプを要求していることであり、ステレオタイプ化されたクラスからそのサブクラスへの制約の伝播ではないことを理解しているようです。
これは、UMLv1.3に追加されたポイントです。
ステレオタイプはGeneralizableElementsです。ステレオタイプが別のステレオタイプのサブタイプである場合、そのステレオタイプスーパータイプからすべての制約とタグ付きの値を継承し、同じ種類の基本クラスに適用する必要があります。ステレオタイプは、それが適用される可能性のある基本クラスを追跡します。
その後、UML v1.4で非推奨になり、UML2で削除されました。
それで、基本的に、私の解釈によれば、質問は存在しました...しかし、UML仕様はまだそれを指定していません。