ГОСТ Р МЭК 61360-2—2013
IF SIZEOF(cl.definition»-0
THEN
RETURN<s);
ELSE
REPEAT i1 TO SI2EOF(cl.definitionfl]\class.describedby);
з з + cl.definition[1]\class.described_by ■i);
END_REPEAT;
IF <(’ISO13584_lEC61360_ITEM_CLASS_CASE_OF_SCHEMA.’
+ ’A._PRIORI_S£MANTIC_RELATIONSHlP *)
IN TVPEOF (cl.definition[11)
)
THEN
s s +
cl.definition[1]\a_priori_semar.tic_relationship. referenc
edjproperties;
END IF;
IFEXISTS (cl.definition>1]\claas.it3_superclass)
THEN
з
з + compute_known_applicable_properties{
cl.definition[11\class.its_superclass) ;
END_IF;
RETURN
(3
>
;
END_IF;
END_FUNCTION; -- compute_known_applicable_propertie3
(*
“
5.12.15Функция вычисления известного применимого типа данных (Compute_known_
applicable_data_types)
Функция compute_known_applicable_data_typos вычисляет набор типов данных data_type,
являющихся применимыми в данном классе. Если определение недоступно, то функция возвращает
только те применимые типы данных datatypes, которые могут быть вычислены.
Примечание — Если словарное определение dictionary_definition некоторого класса не присутствует
в рассматриваемом контексте обмена {контекст обмена библиотеки PLIB никогда не предполагается полным), то
суперкласс некоторого класса может быть неизвестен. Следовательно, типы данных datatypes, определенные
как применимые в данном суперклассе, не могут быть вычислены функцией compute_known_applicable_data_
type. Только для получающей системы все словарные определения dictionary_definition базовых семантиче
ских единиц (BSU) являются доступными. Следовательно, для получающей системы функция compute_known_
appiicable_data_types вычисляет все типы данных data_types, являющиеся применимыми в классе, так как на
них производится ссылка атрибутом defined_type. или они импортируются с помощью априорного семантического
соотношения a_priori_semantic_relationship.
Пример представления на языке EXPRESS:
»)
FUNCTION compute_known_applicable_data_types(cl:cla3s_BSU) :
SET OF data_type_BSU;
LOCAL
s: SET OF data_type_BSU•];
END_L0CAL;
IF SI2EOF{cl.definition) - 0
THEN
RETURN(s);
85