Каждый экземпляр класса функциональных моделей, называемый "функциональной моделью", является представлением продукции, которое содержит список пар "свойство/значение". Подкласс этих свойств, которые входят в наследованный XML-элемент instance_identification, составляет ядро этих экземпляров. Элемент instance_identification содержит всю необходимую информацию для идентификации одного экземпляра класса и ограничения его от других экземпляров того же класса. Это множество экземпляров класса регистрируется в наследованном XML-элементе population.
Примечание 1 - Каждая функциональная модель является моделью одного (или нескольких) вида продукции производного (view of) класса. Соединение выполняется с помощью свойства (свойств) продукции, ссылка на которое дается в XML-элементе required_item_values. Эти свойства должны быть свойствами, импортируемыми из элемента, и они должны дублироваться в классе функциональных моделей и производном классе элементов. Кроме того, эти свойства позволяют устанавливать связь между классом элементов и классом функциональных моделей.
При отсутствии контрольных переменных представления, определенных в классе функциональных представлений, ссылка на который дается с помощью класса функциональных моделей, код класса функциональных моделей, определенный с помощью наследуемого атрибута instance_identification, идентичен группе свойств, ссылка на которую дается в XML-элементе required_item_values, поэтому оператор связи связывается с каждым экземпляром элемента как минимум одной функциональной модели.
Если некоторые контрольные переменные представления определены в классе функциональных представлений, ссылка на который дается с помощью класса функциональных моделей, код класса функциональных моделей, определенный с помощью наследуемого атрибута instance_identification, идентичен объединенной группе свойств, ссылка на которую дается в XML-элементе required_item_values, или группе свойств, ссылка на которую дается в XML-элементе view_control_variables класса функциональных представлений, поэтому оператор связи связывается с каждым экземпляром элемента как минимум одной функциональной модели для каждой записи значений множества контрольных переменных представления.
Пример 1 - Предположим, что уникальный производный (view-of) класс функциональных моделей определен для корневого узла класса элементов библиотеки. Предположим также, что в этом классе функциональных моделей определено свойство inventory status каждой продукции в каждом классе элементов. Класс функциональных моделей может быть описан с помощью трех свойств: the part number (импортированного из класса корневых элементов), the stock availability и quantity of order. Если XML-элемент required_item_values производного (view-of) класса функциональных моделей приводит ссылку только на свойство part_number, то при выборе продукции состояние ее запасов может рассчитываться автоматически. Кроме того, множество данных о состоянии запасов всей продукции может также рассчитываться с помощью системы посредством связи между расширением этого класса элементов и расширением класса функциональных моделей.
Пример 2 - Если класс функциональных моделей дает представления, соответствующие значениям нескольких контрольных переменных представления для каждой продукции, то пользователю необходимо выбирать конкретное значение для каждой контрольной переменной представления с целью выбора требуемого представления этой продукции.
Расширения класса функциональных моделей представляются с помощью комплексного XML-типа данных FUNCTIONAL_MODEL_CLASS_EXTENSION_Type (см. рисунок 42).
Рисунок 42 - UML-диаграмма структуры функциональных моделей
Определения внутренних элементов:
Элемент available_views_icon: Определяет предполагаемые иллюстрации, которые способны давать визуальное представление в различных видах и которые могут создаваться с помощью класса функциональных моделей.
Примечание 2 - Пиктограммы определены в стандартизированном размере формата А6.
Элемент available_views_msg: Определяет возможные сообщения, которые описывают различные виды и могут создаваться с помощью класса функциональных моделей.
Элемент context_param_icon: Определяет возможные пиктограммы, которые могут давать визуальное представление свойств и должны присваивать значения конкретному выбранному виду.
Элемент context_param_icon/illustration: Определяет иллюстрации, которые представляют элемент context_param_icon.
Примечание 3 - Иллюстрации определены в стандартизированном размере формата А6.
Элемент context_param_msg: Определяет возможные сообщения, поясняющие свойства модели, которые должны присваивать значения конкретному выбранному виду.
Элемент required_item_values: Определяет характеристики элемента, используемые для согласования экземпляров класса функциональных моделей с экземплярами класса элементов.
Примечание 4 - Свойства, на которые даны ссылки в группе элементов required_item_values, должны представляться и в классе элементов, и в классе функциональных моделей. После этого согласование осуществляется с помощью внешней связи этих классов.
Примечание 5 - Должны появляться только те характеристики элементов, которые необходимы для создания экземпляров класса функциональных моделей.
Примечание 6 - Если класс функциональных моделей не является частным производным (view-of) классом элементов, то группа элементов required_item_values пуста, а если этот класс соединяется с классом элементов в системе пользователя, то для связи класса функциональных моделей с этим классом элементов должен использоваться комплексный XML-тип данных A_POSTERIORI_VIEW_OF_Type (см. 8.6.2), также как и для определения того, какие свойства класса функциональных моделей должны связываться со свойствами класса элементов при установлении связи между этими классами.
Определение внутреннего типа:
Тип CONTEXT_PARAM_ICON_Type: Является структурой пиктограммы контекстного параметра.
Определение внешнего типа:
Тип CLASS_EXTENSION_Type: См. 7.2.
Перечень ограничительных условий:
Класс, ссылка на который дается с помощью наследуемого XML-элемента dictionary_definition, должен быть либо классом с типом данных FUNCTIONAL_MODEL_CLASS_Type, либо классом с типом данных FM_CLASS_VIEW_OF_Type.