ГОСТ Р ИСО 10303-53—2015
description - описание.
Формальные положения:
WR1. Объект tomporal_spatial_domain должен быть связан с объектом product_dcfinition по
средством объекта idealisation_relationship.
5.4Ограничение,накладываемоенаотношенияподтип-супертипвсхеме
product_analysis_schema
5.4.1 Ограничение sc1_temporal_spatial_domain
Ограничение sc1_temporal_spatial_domain задает ограничения, накладываемые на экземпля
ры подтипов объекта temporal_spatial_domain.
EXPRESS-спецификация:
■>
SUBTYPE.CONSTRAINT scl_temporal_spatial_domain FOR temporal_spatial_domain;
ABSTRACT SL’PERTYPE;
END_SUBTYPE_CONSTRAINT
(* "
5.5 Определение функции схемы product_analysis_schema
Функция definition_for_temporal_spatial_domain определяет, связан или нет данный экзем
пляр объекта temporal_spatial_domain с объектом product.definition посредством объекта idealisa-
tion_rolationship. Задаваемое объектом idealisation, relationship отношение идеализации может
задавать связь:
- с данным объектом temporal_spatial_domain; или
- с другим объектом temporal_spatial_domain, по отношению к которому данный объект
temporal_spatial_domain представляет, непосредственно или косвенно, составную часть.
Функция возвращает значение TRUE (истина), если связь существует, иначе функция возвра
щает значение FALSE (ложь).
EXPRESS-спецификация:
•)
FUNCTION definition_for_temporal_spatiai_doraain (domain :
tempo ral_spatia1_domain)
i
BOOLEAN;
LOCAL
spatial.set : SET OF
spatial_decomposition_of_temporal_spatial_domain;
behavioural.set : SET OF
behavioural_decomposition_of_temporal_spatial_domain;
domains : SET OF temporal_spatial_domain’]»’
idealising : BAG OF idealisatior._reiacior.ship;
spatial.bag : BAG OF
spatial_decomposition_o£_temporal_spatial_domair.;
behavioural.bag : BAG OF
behavioural_decomposition_of_temporal_spatial_domain;
ENO.LOCAL;
idealising USEOIN(domain,
’ANALYSIS_PRODUCT_RELATIONSHIPS_SCHEMA.IDEALISATION_RELATIONSHIP.IDEALISATION1);
IF SIZE0F(idealising) > 0 THEN
RETURN (TRUE);
ENO.IF;
spatial.bag USEDIN(domain,
’PRODUCT_AHALYSIS_SCHEMA.SPATIAL_DECOMPOSIT:ON_OF_TEMPORAL_SPATrAL_COMAIN.PARTS*>;
IF SIZEOF(spatiai.bag) “> 0 THEN
spatial.setspatial.bag;
REPEAT i 1 TO HlINDEX{spatial_set);
domains domains + spatial.set[i].whole;
END REPEAT;
8