ГОСТ Р ИСО 10303-11— 2009
ENTITY edge:
INVERSE
loops :SET [2:2] OF loop FOR edges;
END_ENTITY;
H.1.4 Инверсный атрибут
Любая взаимосвязь, установленная атрибутом, имеет неявную инверсную взаимосвязь. По умолчанию ин
версное отношение фактически игнорируется, то есть на него не могутделаться ссылки, и ее мощность не ограни
чена. Правило уникальности для атрибута, объявляющего простую взаимосвязь, фактически ограничивает мощ
ность инверсной взаимосвязи. Язык EXPRESS предоставляет конструкции, позволяющие присваивать имена и
ограничивать инверсные взаимосвязи. Данные конструкции частично были описаны выше при рассмотрении
других классов взаимосвязей, а ниже приводится их полное описание.
Идентификатор инверсной взаимосвязи задается в объявлении инверсного атрибута посредством ключе
вого слова INVERSE. Тип инверсного атрибута может ограничивать мощность данной инверсной взаимосвязи.
Ниже рассмотрены конкретные конструкции на языке EXPRESS и их влияние на мощность инверсной взаи
мосвязи. Предполагается, что обьект Е объявляет атрибут А типа данных Т. Если Т является агрегированным
типом данных, то его основным базисным типом является FUND (Т). Представляющий объект [FUND (Т) или Т]
обозначен как R. Предполагается, что инверсная взаимосвязь объявляется инверсным атрибутом I в R.
Если А является неагрегированным атрибутом, с которым связано правило уникальности, то простая взаи
мосвязь ограничена так. чтобы в совокупности экземпляров объекта Е каждый атрибут А был уникален. Поэтому
экземпляр Т может исполнять роль А не более чем в одном экземпляре Е. то есть q = 1. Это эквивалентно
следующей конструкции: INVERSE I : SET [0 :1] OF Е FOR А
Если А является агрегированным атрибутом, с которым связано правило уникальности, то групповая взаи
мосвязь ограничена так. чтобы s = 1. То есть экземпляр Т (который является агрегированной структурой) может
исполнять роль А не более чем в одном экземпляре Е. На дистрибуллвную взаимосвязь ограничений нет: экзем
пляр R может исполнять роль А в любом числе экземпляров Е.
Если I объявлен как INVERSE I : BAG [p:q] OF E FOR А. то
мо
щ
ность
инверсного направления простой или
дистрибутивной взаимосвязи ограничена в соответствии со значениями р и q. То есть экземпляр R может испол
нять роль А в экземплярах Е числом от р до q. Поскольку типданных BAG допускает существование элементов с
одинаковыми экземплярами, конкретный экземпляр R может исполнять данную роль более одного раза в конк
ретном экземпляре Е. Это имеет смысл только если Т является агрегированным типом данных, допускающим
существование одинаковых элементов.
Если I объявлен как INVERSE I : SET [p:q] OF E FOR А. то мощность инверсного направления простой или
дистрибутивной взаимосвязи ограничена в соответствии со значениями р и q. То есть экземпляр R может испол
нять рольА вэкземплярах Е числомот р дод. Поскольку тип данных SET недопускает существования одинаковых
элементов, конкретный экземпляр R не может исполнятьданную роль более одного раза в конкретном экземпля ре
Е.
Если I объявлен как INVERSE I : Е FOR А. то это равносильно его объявлению как SET [1 : 1] OF Е. То есть
каждый экземпляр R должен исполнять роль А точно в одном экземпляре Е.
Любое объявление I как BAG или SET с р21 либо какне BAG и не SET. устанавливает ограничение существо
вания для R. которое требует, чтобы любой экземпляр R исполнял роль А не менее чем в одном экземпляре Е.
Н.2 Взаимосвязи подтип/супертип
Объявление подтипа в объекте устанавливает взаимосвязь между объектом подтипа и указанными объек
тами супертипов.
Для заданного объекта супертипа Р. имеющего подтип С. данная взаимосвязь может быть условно пред
ставлена следующим образом:
Р{п:1>(1:1) , С,
где 0 £ п £ 1.
Это означает, что для каждого экземпляра Р не существует ни одного, либо существует один экземпляр С.
Для каждого экземпляра С существует один экземпляр Р.
В случав, когда Р является абстрактным супертипом. данная взаимосвязь представляется следующим об
разом:
}
}
р{
1
:
1
{
1
:
1
с.
Это означает, что для каждого экземпляра Р существует один экземпляр С. и для каждого экземпляра С
существует один экземпляр Р.
182