ГОСТ Р ИСО/МЭК 10165-7-2003
Операции административного управления взаимосвязью ESTABLISH establishDependency и BIND bindDependent отображаются в создание участника в зависимой роли: различие состоит в том, что операция административного управления взаимосвязью ESTABLISH establishDependency используется, когда участник является первым, исполняющим зависимую роль, а операция административного управления взаимосвязью BIND bindDependent используется, когда в это время связан по крайней мере один участник в этой роли. После создания объекта класса bPerson с атрибутом parent, идентифицирующем объект класса aPerson, значение атрибута dependents объекта класса aPerson идентифицирует соответствующий объект класса bPerson.
Аналогично операции административного управления взаимосвязью TERMINATE terminateDepen-dency и UNBIND unbindDependent отображаются в удаление участника в зависимой роли: различие состоит в том, что операция административного управления взаимосвязью TERMINATE terminateDe-pendency используется, только когда имеется только один участник, исполняющий зависимую роль, а операция административного управления взаимосвязью UNBIND unbindDependent используется, когда в момент удаления имеется несколько участников, исполняющих эту роль. При удалении объекта класса bPerson, играющего зависимую роль dependentRole, значение атрибута dependents объекта класса aPerson, играющего родительскую роль parentRole, изменяется: из него удаляется идентификация соответствующего объекта класса bPerson.
Операция административного управления QUERY queryDependents отображается в операцию GET атрибута dependents в объекте aPerson, играющем родительскую роль parentRole; операция административного управления QUERY queryParent отображается в операцию GET атрибута parent в объекте bPerson, играющем зависимую роль dependentRole.
Создание класса управляемых объектов bPerson (или его подкласса) приводит к установлению экземпляра взаимосвязи зависимости с отображением dependencyAttributeRepresentation RELATIONSHIP MAPPING, где значение атрибута parent в объекте bPerson устанавливается-при-создании равным экземпляру класса управляемых объектов aPerson, а атрибут dependents в объекте aPerson является непустым множеством.
Удаление управляемого объекта bPerson (или его подкласса) приводит к отвязыванию его от экземпляра зависимости взаимосвязи с отображением dependencyAttributeRepresentation RELATIONSHIP MAPPING, когда значение атрибута dependents в объекте aPerson остается непустым после удаления, и к соответствующему обновлению атрибута dependents.
Удаление управляемого объекта bPerson (или его подкласса) приводит к завершению экземпляра зависимости взаимосвязи с отображением dependencyAttributeRepresentation RELATIONSHIP MAPPING, когда значение атрибута dependents в объекте aPerson остается пустым после удавления, и к соответствующему обновлению атрибута dependents. »;
aPerson MANAGED OBJECT CLASS DERIVED FROM person;
CHARACTERIZED BY parentPackage PACKAGE ATTRIBUTES dependents GET,
timeOfEstablishment GET; ; ;
REGISTERED AS {GRMExample. grmEx-Object x};
bPerson MANAGED OBJECT CLASS DERIVED FROM person;
CHARACTERIZED BY
dependentPackage PACKAGE
ATTRIBUTES parent PERMITTED VALUES GRMExample. SingleValued GET; ; ;
REGISTERED AS {GRMExample. grmEx-Object x};
dependent ATTRIBUTE
DERIVED FROM participantPointer;
REGISTERED AS {GRMExample. grmEx-Attribute x};
parent ATTRIBUTE
DERIVED FROM participantPointer;
REGISTERED AS {GRMExample. grmEx-Attribute x};
F.3.3 Класс взаимосвязей зависимости, представленный с помощью объекта взаимосвязи
dependencyObjectRepresentation RELATIONSHIP MAPPING RELATIONSHIP CLASS dependency;
BEHAVIOUR dependencyObjectRepresentationBehaviour;
RELATIONSHIP OBJECT dependencyRelationshipObject QUALIFIES timeOfEstablishment;
30