ГОСТ Р ИСО/ТО 10303-12-2000
II р и ме р 28 - Вычисляемые атрибуты
<- 1.2;
<- 3;
<- TRUE;
a_real
an_integer
a boolean
a_logical;
an_enumeration
a_string
entity_ref
nul)_derived
<- lenuml;
<- ’A string’;
<- @instance2;
<- ?;
8.7.1.3 Инверсный атрибут
Если экземпляр объекта установил отношение с текущим экземпляром объекта посредством
ссылки в явном атрибуте на текущий экземпляр, то для описания этого отношения в контексте
текущего экземпляра может быть использован инверсный атрибут.
Синтаксис:
871 InverseAttr = RoleName |InvaitValue |.
1071 RoleName = attribute_ref .
861 InvaitValue = DynamicEntity RelList .
62i DynamicEntityRefList = *(’ I EntityRefList | ’)* .
71i EntityRefList = EntityInstanceRef {EntitylnstanceRef } .
Инверсный атрибут состоит из имени роли атрибута, последующих необязательных знака <-
и величины области значений и заканчивается точкой с запятой. Величиной области значений
роли является (возможно, пустой) динамический список ссылок на экземпляры объектов.
Пример 29 - Инверсные атрибуты
<- (®al, @ЬЗ);
inverse_l
inverse, 2;
inverse_3
<- ( );
8.7.2 Супертипы и подтипы
Экземпляр сложного EXPRESS-объекта наследует атрибуты и их значения из экземпляров
его супертипоп (SUPERTYPE) (при их наличии) и передает атрибуты и их значения экземплярам
своих подтипов (SUBTYPE) (при их наличии).
49i BequeathesTo = SUPOF DynamicSupSubRefList.
85i InheritsFrom = SUBOF DynamicSupSubRefList .
65i DynamicSupSubRelList = ’(‘ I SupSubRef {SupSubRef } | ’)’ .
43i SupSubRef =SupSubld .________________________________________________________
Ссылки на экземпляры компонентов (см. 8.7) непосредственного супертипа(ов), при его на
личии, даются вслед за ключевом словом SUBOF и заключаются в круглые скобки.
Ссылки на экземпляры компонентов непосредственных подтипов, при их наличии, даются
вслед за ключевым словом SUPOF и заключаются в круглые скобки.
Принечанис - Как указано в 8.7, илсшификагор экземпляра сложного объекта имеет две части:
первая часть является идентификатором экземпляра в целом, а вторая часть - идентификатором компонен та.
Назовем, например, parti первую часть идентификатора экземпляра сложного объекта. Тогда ссылка на
компонент, скажем. ®3. является ссылкой на компонент экземпляра сложного объекта, полностью иденти
фицируемую как part1(3].
Пример 30 - Супертипы и подтипы
i!|l| = super{superjnt -> 2; SUPOF(@2); };
il|2| = sub{SUBOF(®l); sub_real -> 23.7; };
i2|l| = sub{SUBOF(@5); sub_real -> -42.0;
i2|5| = super{super_ini -> 7; SUPOF(@l); };
- - имеет подтип il|2|.
-- имеет супертип i1111.
- имеет супертип i2|5|.
- - имеет подтип I2| 1J.
17