Каков тип InstanceValue, у которого InstanceSpecification есть несколько классификаторов? - PullRequest
0 голосов
/ 22 ноября 2018

Насколько я понял, UML InstanceValue - это значение, определенное отдельной InstanceSpecification .Кроме того, InstanceValue специализируется ValueSpecification и, следовательно, TypedElement , что означает, что InstanceValue должно иметь type.

Однако InstanceSpecification может иметь несколько классификаторов в своей classifier ассоциации.

Мой вопрос: что такое type InstanceValue чья InstanceSpecification имеет несколько классификаторов?


EDIT (23/11): Действительно, в разделе 9.8.3 спецификации есть следующее предложение:

Если в InstanceSpecification есть один или несколько классификаторов, то тип ValueSpecification должен соответствовать хотя бы одному из этих классификаторов.

Поэтому следует просто выбрать любойиз классификаторов поставить как type?Даже если это означает, возможно, «скрытие» многих аспектов экземпляра?

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Итак, нужно ли просто выбрать какой-либо из классификаторов для обозначения типа?Даже если это означает «скрытие» многих аспектов экземпляра?

Слоты представляют реальные свойства классификаторов.Представьте себе следующий пример:

class Label {
    public String name;
}

class Identity {
    public Label label;
    public Integer number;
}

class Product extends Identity {
    public String brand;
}

И тогда вы, например, моделируете только аспект идентичности.Таким образом, в классификаторах вы указываете Identity (даже если это экземпляр Product).

enter image description here

Тогда вы можете иметь только слоты для свойствпредоставлены из тех классификаторов, которые в этих примерах означают только свойства label и number.Конечно, вам не нужно моделировать их все, но вы не можете добавить новые слоты, которые не имеют соответствующего свойства в классификаторах.

enter image description here

* 1026Другими словами, вы не «выбираете», какой классификатор использовать.Это наоборот.Классификаторы и их свойства определяют, какие слоты вы можете иметь.
0 голосов
/ 22 ноября 2018

Что касается раздела 9.9.xx в UML 2.5.1, кажется, что у вас нет реальных ограничений.

Но когда я прочитал раздел 9.8.3, я понял, что InstanceValue"тип "должен соответствовать как минимум одному InstanceSpecification " классификаторам ".

С одной стороны, если InstanceValue " тип "не соответствует ни одному InstanceSpecification «классификаторы», модель явно неверная.С другой стороны, InstanceValue"тип" может соответствовать многим InstanceSpecification"классификаторам", но это должно быть проблемой, я прав?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...