ГОСТ Р ИСО/МЭК 10165-7-2003
- родитель;
- сын;
- дочь.
F.3.1 Определение класса взаимосвязей зависимости
dependency RELATIONSHIP CLASS BEHAVIOUR dependencyBehaviour;
SUPPORTS
ESTABLISH establishDependency,
TERMINATE terminateDependency,
QUERY queryDependents,
QUERY queryParent;
QUALIFIED-BY timeOfEstablishment;
ROLE parentRole
PERMITTED-ROLE-CARDINALITY-CONSTRAINT GRMExample.One
REQUIRED-ROLE-CARDINALITY-CONSTRAINT GRMExample.One
PERMITTED-RELATIONSHIP-CARDINALITY-CONSTRAINT GRMExample.One REGISTERED AS {GRMExample. grmEx-Role x};
ROLE dependentRole
PERMITTED-ROLE-CARDINALITY-COSTRAINT GRMExample.OneToMax
REQUIRED-ROLE-CARDINALITY-CONSTRAINT GRMExample.One
PERMITTED-RELATIONSHIP-CARDINALITY-CONSTRAINT GRMExample.One BIND-SUPPORT bindDependent
UNBIND-SUPPORT unbindDependent REGISTERED AS {GRMExample.grmEx-Role x};
REGISTERED AS {GRMExample. grmEx-RelationshipClass x};
dependencyBehaviour BEHAVIOUR DEFINED AS »
ИНВАРИАНТ: в этом классе взаимосвязей есть две роли — родительская и зависимая. Существование
участника в зависимой роли подразумевает существование по крайней мере одного соответствующего участника в родительской роли. Управляемый объект не может играть обе роли.
КОММЕНТАРИИ: экземпляр объекта, играющий зависимую роль, может участвовать только в одном экземпляре этой взаимосвязи зависимости, т. е. кардинальное число взаимосвязи равно единице. Экземпляр объекта, способный играть родительскую роль, может существовать вне взаимосвязи зависимости, а объект, играющий зависимую роль, — нет. Уточняющий атрибут (timeOfEstablishment) указывает в формате UTC время установления взаимосвязи.
ОПЕРАЦИИ:
ESTABLISH establishDependency
Сигнатура: класс и идентификация предлагаемого участвующего объекта в зависимой роли, которая
должна быть создана операцией ESTABLISH; класс и идентификация предлагаемого участника в родительской роли.
Предусловие: предлагаемый участник в зависимой роли не должен существовать; предлагаемый участник в родительской роли существует.
Постусловие: существует новый экземпляр класса взаимосвязи зависимости; участники в родительской и зависимой ролях, предложенные в сигнатуре ESTABLISH, существуют и связаны в новом экземпляре класса взаимосвязи зависимости. Уточняющий атрибут timeOfEstablishment установлен равным текущему значению времени UTC.
BIND bindDependent
Сигнатура: класс и идентификация участника в родительской роли; класс и идентификация предла
гаемого участника, который должен быть создан в зависимой роли.
Предусловие: участник в родительской роли существует и связан в экземпляре класса взаимосвязи зависимости; предлагаемый участник в зависимой роли не существует.
Постусловие: участник в зависимой роли, указанный в сигнатуре BIND, существует и связан в том же самом экземпляре класса взаимосвязи зависимости, что и участник в родительской роли, указанный в сигнатуре BIND.
UNBIND unbindDependent
Сигнатура: класс и идентификация участника в родительской роли; класс и идентификация участника
в зависимой роли.
28