ГОСТ Р ИСО
Л
-С 10303-1 ^40—2015
тие прикладной области, и содержит атрибуты для представления объекта. Ниже приведены объекты
ПЭМ и их определения.
4.3.1 Объект Constraint_occurrence
Объект Constraint_occurronco является таким подтипом объекта Predefined_ roquirement_viow_
definition, посредством которого за счет требований, определяющих граничные условия, накладывае
мые на каждое возможное решение, ограничивается множество возможных решений. Экземпляр объ
екта Constraint_occurrence может быть экземпляром объекта Viow_based_constraint_occurrence.
Примечание — Ограничение— этопростологическоеотношение на множестве неизвестных (или пере
менных). каждое из которых принимает некоторое значение в пределах области допустимых значений. Таким об
разом. ограничение ограничивает возможные значения, которые может принимать переменная и представляет
некоторую частичную информацию об интересующей нас переменной. Например, ограничение «окружность на
ходится внутри квадрата» связывает два обьекта без точного задания их положения, т.е. их координат. При этом
кто-то может перемещать окружность или квадрат, и он или она может по-прежнему соблюдать отношение между
этими двумя объектами. Далее, некто может пожелать добавитьдругой обьект, скажем, треугольник, и ввести еще
одно ограничение, скажем, «квадрат расположен слева от треугольника». С точки зрения пользователя (человека),
все остается совершенно прозрачным.
По своей природе ограничения обладают некоторыми интересными свойствами:
- ограничения могут задавать частичную информацию, т.е. ограничение недолжно однозначно задавать зна
чения всех связанных с ним переменных;
- ограничения являются ненаправленными, как правило, ограничение, накладываемое, скажем, надве пере
менные
X.
У может быть использованодля того, чтобы наложить ограничение на значение
X
при заданном значе
нии У и наоборот;
- ограничения являются декларативными, т.е. они задают, какое должно существовать отношение, без зада
ния при этом вычислительной процедуры, обеспечивающей соблюдение этого отношения:
- ограничения являются аддитивными, т.е. порядок задания ограничений не имеет значения, при любом по
рядке их задания результатом является соединение ограничений;
- ограничения редко являются независимыми, какправило, при заданииограничений применяются перемен
ные. одновременно используемые и в других ограничениях.
Ограничения возникают естественным образом в большинстве областейчеловеческойдеятельности. Сумма
трех утлое треугольника составляет 180 градусов, сумма токов, текущих в узел, равна нулю, положение скроллера
в полосе прокрутки окнадолжно отражать видимуючасть просматриваемого документа — это несколько примеров
ограничений, возникающих в реальном мире. Таким образом, ограничения являются для людей естественным
средством выражениясути проблем во многих предметныхобластях. См.
http://kti.ms.mff.cuni.cz/~bartak/constraints/
intro.html.
EXPRESS-слециФикация:
*)
ENTITY Constrair.t_occurrence
SUPERTYPE OF (View_based_constraint_occurrer.ee)
SUBTYPE OF (Predefined_requiremer.t_view_definition);
logical_relarion :OPTIONAL Complex_clause;
WHERE
WRi : ((’REQ’JlREMENT_DECOMPOSITION_ARM.’ T
*VIEW_BASED_CONSTRAINT_OCCURRENCE’) IN TYPEOF(SELF)) OR
EXISTS(logical_relation);
WR2: NOT EXISTS(SELF\Product_view_defir.ition.id);
END_ENTITY;
(*
Определение атрибута.
logical_relation — задает составное выражение, представленное объектом Complex_clause,
играющим роль атрибута logical_re!ation объекта Constraint occurrence. Присваивать значение это
му атрибуту не обязательно.
Формальные положения:
WR1. Экземпляр объекта Constraint_occurrence должен быть экземпляром своего подтипа
View_based_constralnt_occurrence или атрибут logical_rolation объекта Constraint_occurrence дол
жен иметь значение.
WR2. Атрибут id не должен иметь значения.
6