ГОСТ Р ИСО 13584-25—2010
(liimjd\data_exchange_specificationjdentification.apphcation{1]=,4’) OR
(liimJd\data_exchange_specifk:ationJdentificabon.application[1]=,5‘) OR
(liimjd\data_exchange_specificationjdentificabon.applicationilj=’6’) OR
(WmJd\data_exchange_specificabonJdentificat!on.applicabon[1]=7’)) AND
(liimJd\data_exchange_spedficabonJdenbficationApplication LIKE ’#’)) OR
((liim_id\data_exchange_specificationJdentification.application{1]=T) AND
(liimjd\data_exchange_specif»cationjdentif»cabon.application(2j=,0’) OR
(lnmJd\data_exchange_speclficat«nJdentificatron.application[2]=T))) THEN
RETURN(TRUE);
ELSE
RETURN(FALSE);
ENDJF;
END_FUNCTION; - - is_correctJiim_25_application_value
C
D.4Дополнительное ограничение для классов соответствия 4 и 7
В данном разделе приведено дополнительное ограничение для файла поставки библиотеки, который соот
ветствует классам соответствия 4 и 7. ассоциируемым с интегрированной информационной моделью библиотеки
UIM 25.
D.4.1 Правило nesting_level_aggregate_limit_rule
Правило
nesting_level_aggregate_limit_rule
используется для проверки того, что уровень вложения эле
ментов в агрегированном значении не более 2.
Данное правило применяют для каждого экземпляра сущности
aggregate_type.
при этом в качестве филь
тра для каждого экземпляра этой сущности используют булеву функцию
no_more_than_two_nested_levels.
Спецификация EXPRESS:
*)
RULE nes!ing_level_aggregatejimil_njle FOR (libraryjimjdentification. aggregate_type);
WHERE
WR1: NOT (QUERY( liimjd <* libraryJim_identification |
(liimJd\data_exchange_specificationJdentification.name = ’IS013584_25JEC61360J>’)
AND ((liimJ<Лdata_exchange_specificabonJdвntification.application[1]=’4•)
OR (liimJdVdata_exchange_spedficabonJdentification.application[1]=’7’))) <> [])
OR
(QUERY (x <* aggregate_type |NOT r*o_more_thanJwo_nestedJevels(x))= []);
END_RULE; - - nesbngjevel_aggregatejimit_rule
C
D.4.2 Функция no_more_than_two_nested_levels
Функция
no_more_than_two_nested_levels
обеспечивает выполнение проверки того, что агрегированное
значение не содержит более двух уровней вложения агрегированных значений.
Спецификация EXPRESS:
•)
FUNCTION no_moreJhanJwo_nestedJevels{typ : aggregate_type):BOOLEAN;
IF NOT (1S013584JEC61360J3ICTIONARY_AGGREGATE_EXTENSION_SCHEMA>
•ENTITYJNSTANCE_TYPE_FOR_AGGREGATE’INTYPEOF (typ.value_type))
THEN - - level 1 is not an aggregate
RETURN (TRUE);
ENDJF;
- - level 1is an aggregate
IF NOT (TSOI3584JEC61360J)ICTIONARY_AGGREGATE_EXTENSION_SCHEMA.’+
•ENTITYJNSTANCE_TYPE_FOR_AGGREGATE1IN
TYPEOF (typ.valueJype.type_structure.valueJype))
THEN - - level 2 is not an aggregate
RETURN (TRUE);
ENDJF;
- - Level 2 is an aggregate
RETURN(FALSE);
END_FUNCTION; - - morejhanjwo_nestedjevels
C
*)
END_SCHEMA; - - ISO13584_25JEC61360_5_conformance_schema
(*
50