ГОСТ Р ИСО/ТС 10303-25—2012
языка EXPRESS. Ограничение XOR языка UMLдолжно применяться к множеству UML-ассоциаций, связы
вающих класс UML. представляющий выбираемый тип данных языка EXPRESS, с классами UML. пред
ставляющими элементы из списка выбора языка EXPRESS.
5.9.3 Отображения для неконструкционных определенных типов данных языка EXPRESS
Для каждого определенного типа данных языка EXPRESS, не являющегося конструкционным типом
данных, в UDS должен присутствовать класс UML. представляющий определенный тип данных. Значени
ем атрибута ModelElement.name класса UML. представляющего определенный тип данных языка EXPRESS,
должно быть наименование определенного типа данных языка EXPRESS, начинающееся с прописной
буквы, за которой следуютстрочные буквы. В UDS должно присутствовать UML-обобщение, связывающее
представление на языке UML определенного типа данных с его базовым типом. Значением атрибута
Genoralization.discriminatorдолжна быть пустая строка. Должна существовать UML-ассоциация, связываю
щая объект GeneralizableElement, представляющий определенный тип данных, с UML-обобщением. При
этом роль UML-обобщения должна быть определена как’child (потомок)’, а конец, соответствующий объек ту
UML GeneralizableElement. должен быть определен как ’specialization (специализация)". Должна суще
ствовать UML-ассоциация, связывающая объект UML GeneralizableElement. представляющий базовый тип
данных, с UML-обобщеиием. При этом роль UML-обобщения должна быть определена как "parent (пре
док)’, а конец, соответствующий объекту UML GeneralizableElement. должен быть определен как
"generalization (обобщение)". Для определения предка в UML-обобщении следует применять одно из сле
дующих правил:
- если базовым типом является другой определенный тип данных языка EXPRESS, то класс UML,
представляющий определенный тип данных языка EXPRESS, являющийся базовым типом, должен быть
предком в UML-обобщении;
- если базовым типом является простой тип данных языка EXPRESS, то представление на языке
UML этого простого типа данных языка EXPRESS должно быть предком в UML-обобщении;
- если базовым типом является агрегированный тип данных языка EXPRESS, то класс UML. пред
ставляющий агрегированный тип данных языка EXPRESS в соответствии с 5.10, должен быть предком в
UML-обобщении.
5.10 Отображения для агрегированных типов данных языка EXPRESS
Язык EXPRESS поддерживает агрегированные типы данных, для которых не существует прямого
эквивалента в языке UML. По этой причине, даже если агрегированные типы данных языка EXPRESS
имеют сходные структуры, при отображении на язык UML результатом не всегда будут такие же структуры.
Каждое использование агрегированных типов данных языка EXPRESS трактуется в настоящем стандарте
следующим образом:
- отображениедля использования агрегированного типа данных языка EXPRESS в качестве базово
го типа для определенного типа данных, установлено в 5.9.3 и в последующей части настоящего подраз
дела:
- отображение для использования агрегированного типа данных языка EXPRESS в качестве базово
го типа для другого агрегированного типаданных, установлено в последующей части настоящего подраз
дела:
- отображениедля использования агрегированного типа данных языка EXPRESS в качестве объяв
ленного типа данных для локальной переменной или параметра функции не установлено в настоящем
стандарте, так как оператор FUNCTION языка EXPRESS не отображается на язык UML;
- отображениедля использования агрегированного типа данных языка EXPRESS в качестве области
определения явного атрибута трактуется по-разному, в зависимости от деталей его использования. Ото
бражение для явных атрибутов языка EXPRESS с областями определения именованных типов данных
SET или LIST OF UNIQUE установлено в 5.7.2. Отображение для явных атрибутов языка EXPRESS с
областями определения именованных типов данных BAG или LIST OF установлено в 5.7.3. В этих случаях
никакой класс UML сам по себе не представляет агрегированный тип данных языка EXPRESS. Для ос
тальных случаев отображение установлено в последующей части настоящего подраздела.
П р и м е ч а н и е — Взаимосвязи в языке EXPRESS определяются с помощью атрибутов, а не с помощью
специальной конструкции, каковой в языке UML является UML-ассоциация. В языке EXPRESS множественные
взаимосвязи определяются базовым типом атрибута языка EXPRESS, являющимся агрегированным типом дан
ных. В языке UML связи между объектами UML-классификаторами являются математическими множествами,
поддерживающими множественную взаимосвязь, но не допускающими дублирования (см. D2). По этим причи-
11