ГОСТ Р ИСО 13584-42—2012
F.6.4.1 Правило видимости и применимости импортированного свойства (lmported_properly_are_visib!e_or_
applicable_rule)
Правило imported_property_are_visible_or_applicable_rule проверяет тот факт, что если свойство импор
тировано классом с помощью априорного семантического соотношения a_priori_semantic_relationship, тоданное
свойство является видимым или применимым в классе, из которого оно импортировано.
Примечание — Применимые свойства включают свойства, импортированные с помощью семантиче
ского соотношения. Данное правило дает возможность импортировать свойства из класса, куда они уже были
импортированы ранее.
Пример пседсгавления на языке EXPRESS:
*)
RULE imported_properties_are_visible_or_applicable_rule FOR(
a_priori_semantic_relationship. property_DET):
WHERE
WR1: QUERY(re! <* a_priori_semantic_relationship
I OUERY(prop <* rel.referenced_properties
I QUERY(cl <* rel.referenced_classes
I NOT visible_properties{d. [prop))
AND NOT applicaWe_properties(d, [prop]))
= rel.referenced_classes) = [))
= a_priori_semantic_relationship;
END_RULE; — imported_properties_are_visible_pr_applicable_rule
(*
F.6.4.2 Правило видимости и применимости импортированных типов данных (lmported_data_type_are_
visible_or_app!icab!e_rute)
Правило imported_data_type_are_visible_or_applicable_rule проверяет тот факт, что если тип данных им
портирован классом с помощью априорного семантического соотношения a_priori_semantic_relationship, то этот
тип данных является видимым или применимым в классе, из которого он импортирован.
Примечание — Применимые типыданных включают типы данных, импортированные с помощью семан
тического соотношения. Даннов правило дает возможность импортировать типы данных из класса, куда они уже
были импортированы ранее.
Пример представления на языке EXPRESS:
*)
RULE imported_data_types_are_visible_or_applicab!e_rule FOR(
a_priori_semantic_retetionship. data_type_element);
WHERE
WR1: QUERY(rel <* a_priori_semantic_relationship
I QUERY(typ <* rel.referenced_data_types
I QUERY(cl <* rel.referenced_dasses
I NOT visible_types(d. (typj)
AND NOT applicabte_types(cl, [typ)))
= rel.referenced_dasses) = [ ])
=a_priori_semantic_relationship;
END_RULE; — imported_data_lypes_are_visible_Of_applicable_rule
f
F.6.4.3 Правило использования поименованного типа (ABowed_named_type_usage_ruIe)
Правило allowed_named_type_usage_rule касается использования поименованного типа. Правило требует,
чтобы только типы, применимые в классе, могли быть использованы для описания области значений свойств, объ
явленных в классе, с помощью атрибута described_by.
Пример представления на языке EXPRESS:
*)
RULE allo\ved_named_lype_usage_rule FOR(class);
LOCAL
named_type_usage_al!owed: LOGICAL:= TRUE:
is_app: LOGICAL:
prop: property_bsu:
d: class;
dtnt: SET[0:1) OF data_type_bsu:= [ ]:
END_LOCAL,
REPEAT i:= 1TO SIZEOF(dass);
d:= class[ij;
REPEAT j:= 1TO SIZEOF(class[i).described_by):
152