Статус документа
Статус документа

ГОСТ Р МЭК 61360-2-2013 Стандартные типы элементов данных с ассоциированной схемой классификации электрических компонентов. Часть 2. Словарная схема EXPRESS

     5.12 Определения функций

5.12.1 Общие положения

Данный подраздел содержит функции, на которые производится ссылка из разделов по месту для подтверждения непротиворечивости данных и которые предоставляют ресурсы для разработки приложений.

5.12.2 Функция ациклического соотношения суперклассов (Acyclic_superclass_relationship)

Функция acyclic_superclass_relationship проверяет отсутствие цикла в соотношении суперклассов. Кардинальное число атрибута its_superclass в классе сущностей гарантирует, что существует дерево наследственности, а ациклических графов нет. Данная функция не проверяет тот факт, что реализации класса не ссылаются (в атрибуте its_superclass) на другую реализацию, которая, в сущности, является подклассом.

Пример представления на языке EXPRESS:

*)

FUNCTION acyclic_superclass_relationship (

current: class_BSU; visited: SET OF class): LOGICAL;

IF SIZEOF (current.definition)=1 THEN

IF current.definition[1] IN visited THEN

RETURN (FALSE);

(* wrong: current declares a subclass as its superclass *)

ELSE

IF EXISTS (current.definition[1]\class.its_superclass)

THEN

RETURN (acyclic_superclass_relationship (

current.definition[1]\class.its_superclass,

visited + current.definition[1]));

ELSE

RETURN (TRUE);

END_IF;

END_IF;

ELSE

RETURN (UNKNOWN);

END_IF;

END_FUNCTION; -- acyclic_superclass_relationship

(*

5.12.3 Функция проверки длины (Check_syn_length)