ГОСТ Р МЭК 61360-2—2013
Примечание — Применимые типыданных включают типыданных, импортированные с помощью семан
тического соотношения. Данное правило дает возможность импортировать типы данных из класса, куда они уже
были импортированы ранее.
Пример представления на языке EXPRESS:
»)
RL’LEimported_data_types_are_visible_or_applicable_rule FOR(
a_priori_semar.tic_relatior.ahip, data_type_element);
WHERE
WR1:QUERY (rel
<*
a_priori_semantic_relatior.ship
iQUERY(typ
<*
rei.referenced_data_types
:QUERY(cl <* rel.referenced_classes
I
NOT visible_typea(cl, [typ])
AND NOT applicable_type3(cl, [typI>>
- rel.referenced_classes) - (]>
•*a_priori_semantic_relationship;
END_RULE; — imported_data_typea_are_visible_or_applicable_rule
( ж "
8.5.4Правило использования поименованного типа (Allowed_namod_type_usago_rule)
Правило allowed_named_type_usage_rule касается использования поименованного типа. Пра
вило требует, чтобы только типы, применимые в классе, могли быть использованы для описания обла
сти значений свойств, объявленных в классе, с помощью атрибута described_by.
Пример представления на языке EXPRESS:
М
RULE allowed_named_type_usage_rule FOR(Class);
LOCAL
named_type_usage_allowed: LOGICAL :- TRUE;
is_app: LOGICAL;
prop: property_bau;
cl: class;
dtnt: SET[0:1] OF data_type_bsu :- [];
END_LOCAL;
REPEAT i :- 1 TO SIZEOF(class);
cl :- class[i.];
REPEAT j s- 1 TO SIZEOF(class[i].deacribed_by);
propcl.described_by[j];
dtnt :-data_type_named_type(prop);
IF (SIZEOF(dtr.t) - 1> THEN
is_app :- applicable_typea(cl.identified_by, dtnt);
IF (NOT is_app) THEN
named_type_usage_ailowed :- FALSE;
END_IF;
ENO_IF;
END_REPEAT;
END_REPLAT;
WHERE
WR1:naraed_type_usage_allowed;
END_RULE; — allowed named_type_usage_rule
<*
*)
END_SCHE1-1A; -- IS013584_IEC61360_item_class_case_of_schema
<*
123