ГОСТ Р ИСО/ТС 10303-25—2012
с именем “specialization (специализация)" должен быть ссылкой на класс UML. представляющий подтип
языка EXPRESS.
Для каждого объектного типа данных языка EXPRESS, видимого в контексте отображения, который
имеет видимые в контексте отображения подтипы и в котором не заданы ограничения супертипа, в UDS
должно присутствовать ограничение UML"overlapping (перекрытие)". Для каждого объектного типа данных
языка EXPRESS, являющегося подтипом объектного типа данных языка EXPRESS, в котором не заданы
ограничения супертипа, UML-обобщение, представляющее взаимосвязьданного подтипа языка EXPRESS,
должно бытьвключено в ограничение UML “overlapping", созданноедля данного супершпа языка EXPRESS.
Примечание — Ограничение перекрытия в языке UML эквивалентно оператору ANDOR языка EXPRESS.
Это необходимо, так как ограничение непересечения в UML (эквивалентное ONEOF в EXPRESS) используется по
умолчанию.
Для каждогообъектного типа данных языка EXPRESS, видимого в контексте отображения, который
имеет видимые в контексте отображения подтипы, каждый из которых присутствует в одном ограничении
SUPERTYPE ONEOF. в UDS должно присутствовать ограничение UML “disjoint (непересечение)". Для
каждого объектного типаданных языка EXPRESS, являющегося подтипом объектного типаданных языка
EXPRESS, присутствующим в ограничении SUPERTYPE ONEOF, UML-обобщение, представляющее вза
имосвязьданного подтипа языка EXPRESS, должно быть включено в ограничение UML "disjoint", создан
ное для ограничения SUPERTYPE ONEOF языка EXPRESS.
5.7 Отображения для явных и инверсных атрибутов языка EXPRESS
Для каждого явного атрибута объектного типа данных языка EXPRESS в контексте отображения в
UDSдолжны присутствоватьатрибут UML либо UML-ассоциация. Значением параметра ModelElement.name
атрибута UML или UML-связи должно быть имя атрибута языка EXPRESS, представленное строчными
буквами.
Если атрибут языка EXPRESS является повторным объявлением унаследованного атрибута, то его
не надо повторять в отображении подтипа. В случае если повторное объявление является конкретизацией
объектного типа данных в графе супертипов / подтипов, то в UDS должно присутствовать выражение
на языке OCL. Атрибут UML Constraint.nameдолжен иметь значение “redeclared- (повторно
объявленный)"с добавлением после дефиса наименования атрибута языка EXPRESS, представленного
строчными буква ми. Атрибут UML Constraint.body должен иметь следующий вид: context <c!assname> inv
<constraintname>: self. <attributename> -> forAII (odlsTypeOf ( <subclassname>)),
где:
- <classname> — имя класса UML. представляющего объектный тип данных языка EXPRESS, в
котором определеноданное повторное объявление:
- <constraintname> — атрибут UML Constraint.name;
- <attributename> — наименование повторно объявленного атрибута языка EXPRESS, представлен
ное строчными буквами;
- <subclassname> — наименование класса UML. представляющего область определения повторно
объявленногоатрибута.
Для атрибута UML, представляющего явный атрибут языка EXPRESS, значением параметра UML
Feature.ownerдолжна быть ссылка на класс UML, представляющий объектный типданных языка EXPRESS.
Для атрибута UML начальное значение не устанавливают.
Для UML-ассоциации, представляющей явный атрибут языка EXPRESS, значениеатрибута "navigability"
у объектов UML AssociationEnd должно задаваться следующим образом:
- если ни один инверсный атрибут языка EXPRESS не связан с явным атрибутом, то значением
атрибута “navigability" объекта UML AssociationEnd. связанного с классом UML представляющим объект
ный тип данных языка EXPRESS, должно быть “false’;
- если инверсный атрибут языка EXPRESS связан с явным атрибутом, то значением атрибута
«navigability» объекта UML AssociationEnd. связанного с классом UML, представляющим объектный тип
данных языка EXPRESS, может быть “true" или “false", и такое же значение должно быть задано для всех
инверсных атрибутов в контексте отображения.
-для объекта UML AssociationEnd. связанного с классом UML-классификатором, представляющим
область определения явного атрибута языка EXPRESS, значением атрибута “navigability" должно быть
“true".
8