ГОСТ Р МЭК 61360-2—2013
Пример представления на языке EXPRESS:
*)
FUNCTION is_class_valued_property(
prop: property_BSU; cl: class_BSU): LOGICAL;
IF (SIZEOF(ci.definition) - 0)
THEN
RETURN (UNKNOWN);
ELSE
IFNOT (<’ISO13584_IEC61360_DICTIONARY_SCHEMA’
+*.ITEM_CLASS’) IN TYPEOF(cl.definitionf11))
THEN
RETURN (FALSE);
EN1>_1F;
IFprop IN cl.definition[I].sub_class_properties
THEN RETURN (TRUE);
END_IF;
IFNOT EXISTS(cl-definition[1].its superclass)
THEN
(* end of chain reached, didn’t meet super so far *)
RETURN(FALSE);
END_IF;
RETURN(is_class_valued_property(prop,
cl .definition(1,.its_superclass) );
END_IF;
END_FUNCTION; -- is_class_valued property
(‘ "
5.12.22 Функция определения значения свойства (Class_value_assignod)
Функция class_value_assigned возвращает набор значений свойства prop, назначенного для
класса cl. с помощью атрибута постоянного значения класса c!ass_constant_value в классе cl или в
любом его суперклассе. Если в различных суперклассах назначены различные значения, то функция
возвращает набор всех этих назначенных значений. Если словарные определения dictionary_definition
некоторых классов недоступны при вычислении всех суперклассов для класса
cl,
то возвращаются
только вычисленные значения.
Пример представления на языке EXPRESS:
*)
FUNCTION class_value_assigned(prop: property_BSU;
cl: class_BSU) :SET OF primitive_value;
LOCAL
val:SET OF primitivevalue :-[];
eva : SET OF class_value_assignmer.t :-JJ;
END_LOCAL;
IF (SlZEOF(cl.definition) - 0)
THEN
RETURN (val);
END_IF;
IF NOT ((’ISO13584_IEC61360_D:CTIONARY_SCHE.MA’
+’.1TEM_CLASS’) IN TYPEOF(cl.definition(13)>
THEN
RETURN (val);
END IF;
89