---
title: "\"ГОСТ Р ИСО 10303-216-2023. Национальный стандарт Российской Федерации. Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 216. Прикладной протокол. Данные о форме обводов корпуса судна\""
number: "ГОСТ Р ИСО 10303-216-2023"
issuer: "Федеральное агентство по техническому регулированию и метрологии"
status: действует
canonical: "https://bukva.ai/docs/standart-gost-r-iso-10303-216-2023"
---

## "ГОСТ Р ИСО 10303-216-2023. Национальный стандарт Российской Федерации. Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 216. Прикладной протокол. Данные о форме обводов корпуса судна"

# "ГОСТ Р ИСО 10303-216-2023. Национальный стандарт Российской Федерации. Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 216. Прикладной протокол. Данные о форме обводов корпуса судна"

(утв. и введен в действие Приказом Росстандарта от 29.11.2023 N 1498-ст)

> [!IMPORTANT]
> Документ [введен](#p100011) в действие с 01.06.2024.


<a id="p100001"></a>Утвержден и введен в действие
Приказом Федерального агентства
по техническому регулированию
и метрологии
от 29 ноября 2023 г. N 1498-ст

<a id="p100002"></a>**НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ**

<a id="p100003"></a>**СИСТЕМЫ АВТОМАТИЗАЦИИ ПРОИЗВОДСТВА И ИХ ИНТЕГРАЦИЯ**

<a id="p100004"></a>**ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ**

<a id="p100005"></a>**ЧАСТЬ 216**

<a id="p100006"></a>**ПРИКЛАДНОЙ ПРОТОКОЛ. ДАННЫЕ О ФОРМЕ ОБВОДОВ КОРПУСА СУДНА**

<a id="p100007"></a>Industrial automation systems and integration. Product data
representation and exchange. Part 216. Application protocol.
Ship moulded forms

<a id="p100008"></a>(ISO 10303-216:2003 + Cor.1:2008, IDT)

<a id="p100009"></a>**ГОСТ Р ИСО 10303-216-2023**

<a id="p100010"></a>ОКС 25.040.40
47.020.10

<a id="p100011"></a>Дата введения
1 июня 2024 года


### <a id="p100012"></a>Предисловие


<a id="p100013"></a>1 ПОДГОТОВЛЕН Научно-исследовательским институтом по стандартизации и сертификации "Лот" Федерального государственного унитарного предприятия "Крыловский государственный научный центр" (НИИ "Лот" ФГУП "Крыловский государственный научный центр") на основе собственного перевода на русский язык англоязычной версии стандарта, указанного в [пункте 4](#p100016)
<a id="p100014"></a>2 ВНЕСЕН Техническим комитетом по стандартизации ТК 005 "Судостроение"
<a id="p100015"></a>3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 29 ноября 2023 г. N 1498-ст
<a id="p100016"></a>4 Настоящий стандарт идентичен международному стандарту ИСО 10303-216:2003 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 216. Прикладной протокол. Данные о форме обводов корпуса судна" (ISO 10303-216:2003 "Industrial automation systems and integration - Product data representation and exchange - Part 216: Application protocol: Ship moulded forms", IDT), включая техническую поправку Cor.1:2008.
<a id="p100017"></a>Техническая поправка к указанному международному стандарту, принятая после его официальной публикации, внесена в текст настоящего стандарта, а [информация](#p127460) о ее учете приведена в дополнительном приложении ДА.
<a id="p100018"></a>При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов и документов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном [приложении ДБ](#p127516).
<a id="p100019"></a>Дополнительные сноски в тексте стандарта, выделенные курсивом, приведены для пояснения текста оригинала
<a id="p100020"></a>**5 ВВЕДЕН ВПЕРВЫЕ**

<a id="p100021"></a>Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)


### <a id="p100022"></a>Введение


<a id="p100023"></a>Стандарты серии ИСО 10303 распространяются на компьютерное представление информации об изделиях и обмен данными об изделиях. Целью данных стандартов является обеспечение нейтрального механизма, способного описывать изделия на всем протяжении их жизненного цикла. Этот механизм применим не только для нейтрального обмена файлами, но является также основой для реализации и совместного доступа к базам данных об изделиях и организации архивирования.
<a id="p100024"></a>Настоящий стандарт входит в группу прикладных протоколов (ПП). Настоящий стандарт устанавливает ПП для теоретических обводов судов и связанных с ними гидростатических характеристик.
<a id="p100025"></a>Настоящий стандарт входит в серию ПП для судостроения, которые предназначены для создания интегрированной компьютерной интерпретируемой модели судна.
<a id="p100026"></a>Серия ПП для судостроения предполагает, что модель судна может быть разделена на отдельные судовые элементы на протяжении всего их жизненного цикла. Этими элементами являются: теоретические обводы судна, судовые устройства, судовые конструкции, судовые системы, оснащение и обстановка судна. Каждый отдельный элемент описывается одним или несколькими ПП. Вся серия ПП для судостроения показана на [рисунке 1](#p100028). Аспекты модели изделия судна, являющиеся общими для каждого ПП для судостроения, описываются последовательно и идентично в каждом ПП. Дополнительная информация о ПП и их элементах для судостроения, а также информация об общих данных ПП для судостроения приведены в [приложении L](#p127214).

<a id="p100027"></a> ![Введение](https://i.bukva.ai/Ci6K3JhF/img_0.png) 

<a id="p100028"></a>Рисунок 1 - Прикладные протоколы для судостроения

<a id="p100029"></a>В составе серии ПП для судостроения настоящий стандарт подробно описывает геометрию теоретических обводов судна.
<a id="p100030"></a>Теоретический обвод - это графическое изображение (контур) теоретической поверхности и набор проектных параметров различных частей судна, не включающий информацию о толщине материала, из которого они изготовлены. Теоретический обвод может описывать корпус судна, гребной винт, руль, выступающую часть, палубу или конструктивный элемент судна, например переборку. Особый интерес представляет теоретический обвод, являющийся корпусом судна и называемый теоретическим обводом корпуса. Теоретический обвод корпуса является предметом обмена между организациями судостроительной промышленности во время эскизного проектирования и основой гидростатических расчетов.
<a id="p100031"></a>В настоящем стандарте представлены все теоретические обводы, при этом набор теоретических обводов, описывающих судно в целом, называется теоретическим обводом судна.
<a id="p100032"></a>Данный ПП отвечает требованиям промышленности в части сокращения времени, необходимого для проектирования формы корпуса, прогнозирования производительности и проектирования конструкции судна, за счет осуществления реализации обмена геометрией теоретического обвода корпуса и гидростатическими данными в электронном виде между различными организациями. Кроме того, он удовлетворяет потребность отдельных промышленных предприятий в интеграции компьютерных приложений за счет обеспечения в электронном формате общего вида корпуса и внутренней геометрии судна для проектирования и постройки судов.
<a id="p100033"></a>Основные принципы теоретических обводов судна:
- <a id="p100034"></a>теоретический обвод судна и теоретический обвод каждой его части имеет определение;
- <a id="p100035"></a>определения утверждаются и являются версионизированными;
- <a id="p100036"></a>теоретический обвод судна состоит из теоретических обводов его частей;
- <a id="p100037"></a>теоретический обвод обеспечивает геометрическое представление судна.
<a id="p100038"></a>Описываемые представления отражают различные возможности ввода и вывода данных CAD, CAM и других программных систем, обычно используемых в судостроении.
<a id="p100039"></a>Поддерживаемые геометрические представления перечислены ниже:
- <a id="p100040"></a>представление таблицы ординат теоретического чертежа;
- <a id="p100041"></a>представление каркаса;
- <a id="p100042"></a>представление поверхности.
<a id="p100043"></a>Все геометрические представления предполагают отсутствие информации о толщине теоретических обводов судна. Все измерения основаны на одном наборе единиц, определенных для судна. Геометрические представления используют для описания теоретического обвода поверхности корпуса или других теоретических обводов судна.
<a id="p100044"></a>Гидростатические характеристики определяют жизненный цикл теоретического обвода судна. Гидростатические характеристики - это характеристики неповрежденного корпуса, зависящие от осадки судна, такие как водоизмещение, центр величины и центр тяжести площади грузовой ватерлинии.
<a id="p100045"></a>Настоящий ПП не описывает информацию о разделении судна на отсеки, так как остойчивость в поврежденном состоянии в настоящем стандарте не рассматривается.
<a id="p100046"></a>*Примечание* - Для представления данных об остойчивости в поврежденном состоянии допускается применять ИСО 10303-215.

<a id="p100047"></a>Настоящий ПП определяет контекст, объем и требования к информации для обмена определениями теоретического обвода судна, геометрическими представлениями, соответствующими гидростатическими характеристиками и определяет интегрированные ресурсы, необходимые для удовлетворения этих требований.
<a id="p100048"></a>ПП обеспечивают основу для разработки реализаций стандартов серии ИСО 10303 и комплектов абстрактных тестов для аттестационного тестирования реализации ПП.
<a id="p100049"></a>В [разделе 1](#p100054) определена область применения ПП и резюмированы его функциональность и охватываемые им данные. Термины и определения, применяемые в настоящем стандарте, приведены в [разделе 3](#p100116). Прикладная функциональная модель, которая является основой для определения области применения ПП, приведена в [приложении F](#p126836). Информационные требования приложения представлены в [разделе 4](#p100258) с использованием терминологии, соответствующей данному [приложению](#p126836). Графическое представление информационных требований, называемое прикладной эталонной моделью, приведено в [приложении G](#p127088).
<a id="p100050"></a>Конструкции ресурсов интерпретируются так, чтобы соответствовать этим информационным требованиям. Интерпретация создает прикладную интерпретированную модель (ПИМ). Интерпретация, приведенная в [5.1](#p103172), демонстрирует связь между информационными требованиями и ПИМ. Сокращенный листинг ПИМ, в котором определен интерфейс с интегрированными ресурсами, приведен в [5.2](#p111771). Определения и фрагменты языка EXPRESS, представленные в интегрированных ресурсах для конструкций, используемых в ПИМ, могут включать элементы списка выбора и подтипы, которые не импортируются в ПИМ. Расширенный листинг, приведенный в [приложении A](#p119878), содержит полный текст ПИМ на языке EXPRESS без пояснений. Графическое представление ПИМ приведено в [приложении H](#p127141). Дополнительные [требования](#p126770) к конкретным методам реализации приведены в приложении C.
<a id="p100051"></a>Модель планирования данных, обеспечивающая высокоуровневое описание требований для данного ПП, представлена на [рисунке 2](#p100053). Данная модель планирования создана на основе данных из функций прикладной функциональной модели и сгруппирована в логические функциональные единицы. Эту модель планирования используют в качестве руководства при разработке прикладной эталонной модели.

<a id="p100052"></a> ![Введение](https://i.bukva.ai/Ci6K3JhF/img_1.png) 

<a id="p100053"></a>Рисунок 2 - Модель планирования данных


### <a id="p100054"></a>1 Область применения


<a id="p100055"></a>Настоящий стандарт определяет объем и требования к информации для обмена определениями теоретических обводов судов, геометрических представлений и соответствующих гидростатических характеристик (данных о форме обводов корпуса судна).
<a id="p100056"></a>Примечание 1 - Область применения настоящего стандарта уточняется в прикладной функциональной модели, приведенной в [приложении F](#p126836).
<a id="p100057"></a>Примечание 2 - Обзор ПП теоретического обвода судна приведен на [рисунке 3](#p100059).

<a id="p100058"></a> ![1 Область применения](https://i.bukva.ai/Ci6K3JhF/img_2.png) 

<a id="p100059"></a>Рисунок 3 - Обзор теоретических обводов судна

<a id="p100060"></a>Настоящий стандарт распространяется:
- <a id="p100061"></a>на определение геометрии теоретических обводов судов;
- <a id="p100062"></a>определение геометрии теоретического обвода судна на этапах его жизненного цикла: технический проект, рабочий проект и производство;
- <a id="p100063"></a>определение геометрии теоретического обвода, которая описывает теоретический обвод корпуса судна, включая однокорпусные обводы, многокорпусные обводы, бульбовую носовую оконечность, транцевую корму, трубы носовых подруливающих устройств, а также дополнительные выступающие части.
<a id="p100064"></a>*Пример* 1 - К геометрии теоретического обвода судна относятся скуловой киль, брызгоотражатели, кронштейны гребного вала и выкружки гребного вала, составляющие окончательный теоретический обвод корпуса судна;
- <a id="p100065"></a>определение геометрии теоретических обводов, описывающей теоретические обводы гребных винтов и рулей;
- <a id="p100066"></a>определение геометрии теоретических обводов, описывающей теоретические обводы палуб, включая погибь и седловатость палубы;
- <a id="p100067"></a>определение геометрии теоретических обводов внутренних границ отсеков судна и геометрии теоретических обводов несущих и ненесущих элементов конструкции судна.
<a id="p100068"></a>*Пример* 2 - К геометрии теоретических обводов несущих элементов конструкции судна относятся переборки, балки и профили;
- <a id="p100069"></a>определение общих характеристик.
<a id="p100070"></a>*Пример* 3 - К общим характеристикам судна относятся главные размеры, данные о типе судна, судостроительном заводе, владельце судна, а также классификационные данные;
- <a id="p100071"></a>определение проектных параметров корпуса судна, носовой бульб, гребной винт, руль и выступающие части, необходимые для описания теоретических обводов, а также требующиеся для расчета гидростатических характеристик;
- <a id="p100072"></a>определение гидростатических характеристик теоретических обводов судна, зависящих от осадки судна.
<a id="p100073"></a>*Пример* 4 - Гидростатическими характеристиками являются водоизмещение, центр величины, центр тяжести площади грузовой ватерлинии, метацентрическая высота, а также интерполяционные кривые остойчивости;
- <a id="p100074"></a>определение систем координат и таблиц расстояний, используемых в судостроении;
- <a id="p100075"></a>определение формы теоретических обводов судна, в которых используется один из следующих заданных типов геометрического представления:
      - <a id="p100076"></a>представление таблицы ординат теоретического чертежа;
      - <a id="p100077"></a>представления каркасной модели;
      - <a id="p100078"></a>представления поверхности;
- <a id="p100079"></a>геометрическое представление, содержащее геометрические элементы, используемые в судостроении.
<a id="p100080"></a>*Пример* 5 - К геометрическим представлениям относятся, например, ватерлинии и батоксы;
- <a id="p100081"></a>контроль версий и утверждение теоретических обводов и соответствующей гидростатики.
<a id="p100082"></a>Настоящий стандарт не распространяется:
- <a id="p100083"></a>на данные определения изделия, относящиеся к обшивке корпуса, определенной в теоретических обводах;
- <a id="p100084"></a>данные определения изделия, относящиеся к делению судна на отсеки и общему расположению судна.
<a id="p100085"></a>*Примечание* 3 - ИСО 10303-215 допускается использовать для представления данных деления на отсеки и общего расположения судна;

- <a id="p100086"></a>данные определения изделия, относящиеся к конструкциям судна и комплектным узлам судна.
<a id="p100087"></a>*Примечание* 4 - ИСО 10303-218 допускается использовать для представления судовых конструкций;

- <a id="p100088"></a>данные определения изделия, относящиеся к судовым машинам, механизмам и судовым надстройкам;
- <a id="p100089"></a>судовые энергетические установки и материалы гребных винтов, рулей и (рулевых) органов управления;
- <a id="p100090"></a>данные определения изделия на этапе утилизации в рамках жизненного цикла судна;
- <a id="p100091"></a>гидромеханические характеристики судна;
- <a id="p100092"></a>характеристики остойчивости поврежденного судна.
<a id="p100093"></a>Примечание 5 - ISO 10303-215 [[3]](#p127585) допускается использовать для представления данных остойчивости поврежденного судна;

- <a id="p100094"></a>общую продольную прочность судна.


### <a id="p100095"></a>2 Нормативные ссылки


<a id="p100096"></a>В настоящем стандарте использованы нормативные ссылки на следующие документы [для датированных ссылок применяют только указанное издание ссылочного документа, для тиражированных - последнее издание (включая все изменения)]:
<a id="p100097"></a>ISO 31 (all parts) Quantities and units (Величины и единицы измерения, все части)
<a id="p100098"></a>ISO 1000:1992 SI units and recommendations for the use of their multiples and of certain other units (Единицы системы измерения и рекомендации по применению кратных и дольных от них и некоторых других единиц)
<a id="p100099"></a>ISO 10303-1:1994 Industrial automation systems and integration - Product data representation and exchange - Part 1: Overview and fundamental principles (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы)
<a id="p100100"></a>ISO/IEC 8824-1:1998 Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation (Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации)
<a id="p100101"></a>ISO 10303-11:1994 <1> Industrial automation systems and integration - Product data representation and exchange - Part 11: Description methods: The EXPRESS language reference manual (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS)

<a id="p100102"></a>

---

<a id="p100103"></a><1> Заменен на ISO 10303-11:2004. Однако для однозначного соблюдения требования настоящего стандарта, выраженного в датированной ссылке, рекомендуется использовать только указанное в этой ссылке издание.

<a id="p100104"></a>ISO 10303-21:2002 Industrial automation systems and integration - Product data representation and exchange - Part 21: Implementation methods: Clear text encoding of the exchange structure (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 21. Методы реализации. Кодирование открытым текстом структуры обмена)
<a id="p100105"></a>ISO 10303-22:1998 Industrial automation systems and integration - Product data representation and exchange - Part 22: Implementation methods: Standard data access interface (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 22. Методы реализации. Стандартный интерфейс доступа к данным)
<a id="p100106"></a>ISO/TS 10303-28 Industrial automation systems and integration - Product data representation and exchange - Part 28: Implementation methods: XML representation of EXPRESS schemas and data (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 28. Методы реализации. Представление схем XML и данных EXPRESS с использованием схемы XML)
<a id="p100107"></a>ISO 10303-31:1994 Industrial automation systems and integration - Product data representation and exchange - Part 31: Conformance testing methodology and framework: General concepts (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 31. Методология и основы аттестационного тестирования. Общие положения)
<a id="p100108"></a>ISO 10303-41:2000 Industrial automation systems and integration - Product data representation and exchange - Part 41: Integrated generic resource: Fundamentals of product description and support (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 41. Интегрированный обобщенный ресурс. Основы описания и поддержки изделий)
<a id="p100109"></a>ISO 10303-42:2000 Industrial automation systems and integration - Product data representation and exchange - Part 42: Integrated generic resource: Geometric and topological representation (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 42. Интегрированный обобщенный ресурс. Геометрическое и топологическое представление)
<a id="p100110"></a>ISO 10303-43:2000 Industrial automation systems and integration - Product data representation and exchange - Part 43: Integrated generic resource: Representation structures (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 43. Интегрированный обобщенный ресурс. Структуры представления)
<a id="p100111"></a>ISO 10303-45:1998 Industrial automation systems and integration - Product data representation and exchange - Part 45: Integrated generic resource: Materials (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 45. Интегрированный обобщенный ресурс. Материалы)
<a id="p100112"></a>ISO 10303-501:2000 Industrial automation systems and integration - Product data representation and exchange - Part 501: Application interpreted construct: Edge-based wireframe (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 501. Прикладная интерпретированная конструкция. Каркасное представление формы на основе ребер)
<a id="p100113"></a>ISO 10303-508:2001 Industrial automation systems and integration - Product data representation and exchange - Part 508: Application interpreted construct: Non-manifold surface (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 508. Прикладная интерпретированная конструкция. Многосвязная поверхность)
<a id="p100114"></a>ISO 10303-511:2001 Industrial automation systems and integration - Product data representation and exchange - Part 511: Application interpreted construct: Topologically bounded surface (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 511. Прикладная интерпретированная конструкция. Топологически ограниченная поверхность)
<a id="p100115"></a>RFC 2396:1998 Uniform Resources Identifiers (URI): Generic Syntax (Идентификаторы единообразных ресурсов. Обобщенный синтаксис)


### <a id="p100116"></a>3 Термины, определения и сокращения



#### <a id="p100117"></a>3.1 Термины, определенные в ИСО 10303-1

<a id="p100118"></a>В настоящем стандарте применены следующие термины:
- <a id="p100119"></a>приложение (application);
- <a id="p100120"></a>прикладная функциональная модель (application activity model);
- <a id="p100121"></a>прикладной контекст (application context);
- <a id="p100122"></a>прикладная интерпретированная модель (application interpreted model);
- <a id="p100123"></a>прикладной объект (application object);
- <a id="p100124"></a>прикладной протокол (application protocol);
- <a id="p100125"></a>прикладная эталонная модель (application reference model);
- <a id="p100126"></a>класс соответствия (conformance class);
- <a id="p100127"></a>требование соответствия (conformance requirement);
- <a id="p100128"></a>данные (data);
- <a id="p100129"></a>обмен данными (data exchange);
- <a id="p100130"></a>метод реализации (implementation method);
- <a id="p100131"></a>информация (information);
- <a id="p100132"></a>интегрированный ресурс (integrated resource);
- <a id="p100133"></a>интерпретация (interpretation);
- <a id="p100134"></a>форма ЗСРП (PICS proforma);
- <a id="p100135"></a>изделие (product);
- <a id="p100136"></a>данные об изделии (product data);
- <a id="p100137"></a>функциональная единица; ФЕ (unit of functionality; UoF).

#### <a id="p100138"></a>3.2 Термины, определенные в ИСО 10303-31

<a id="p100139"></a>В настоящем стандарте применены следующие термины:
- <a id="p100140"></a>аттестационное тестирование (conformance testing);
- <a id="p100141"></a>постпроцессор (postprocessor);
- <a id="p100142"></a>препроцессор (preprocessor).

#### <a id="p100143"></a>3.3 Термины, определенные в ИСО 10303-42

<a id="p100144"></a>В настоящем стандарте применены следующие термины:
- <a id="p100145"></a>граница (boundary);
- <a id="p100146"></a>связанный (connected);
- <a id="p100147"></a>кривая (curve).

#### <a id="p100148"></a>3.4 Прочие термины и определения

<a id="p100149"></a>В настоящем стандарте применены термины по [[10]](#p127605), а также следующие термины с соответствующими определениями:
<a id="p100150"></a>3.4.1 кормовой перпендикуляр судна; КП (after perpendicular; aft perpendicular): Линия пересечения диаметральной плоскости судна с вертикальной поперечной плоскостью, проходящей через точку пересечения оси поворота руля, или транцем с плоскостью конструктивной ватерлинии.
<a id="p100151"></a>*Примечание* - Для судна с транцевой кормой - пересечение конструктивной ватерлинии с транцем.

<a id="p100152"></a>3.4.2 плоскость мидель-шпангоута судна (amidships; midship): Вертикальная плоскость посередине длины судна, расположенная поперечно в направлении (y, z) глобальной системы координат.
<a id="p100153"></a>*Примечание* - Линия пересечения плоскости мидель-шпангоута с теоретической поверхностью корпуса судна называется мидель-шпангоут.

<a id="p100154"></a>3.4.3 выступающая часть (appendage): Наружное присоединение, навес или узел, прилегающий к корпусу судна.
<a id="p100155"></a>3.4.4 основная плоскость судна; ОП (baseline): Главная горизонтальная плоскость, проходящая через нижнюю точку поверхности корпуса судна в плоскости мидель-шпангоута, от которой измеряются высоты при проектировании и производстве.
<a id="p100156"></a>*Примечание* - Основная плоскость равна нулю по вертикали.

<a id="p100157"></a>3.4.5 скула (bilge): Часть обшивки корпуса судна, соединяющая днище с бортами.
<a id="p100158"></a>3.4.6 скуловой киль (bilge keel): Крыло для уменьшения бортовой качки.
<a id="p100159"></a>3.4.7 наибольшая ширина судна (breadth): Наибольшее расстояние, измеренное в поперечном направлении от одного борта корпуса судна до другого, без учета толщины обшивки корпуса.
<a id="p100160"></a>*Примечание* - Наибольшая ширина является самым широким теоретическим главным размерением теоретической поверхности корпуса судна, без учета, возможно, более широкой конструкции в надстройке судна.

<a id="p100161"></a>3.4.8 переборка (bulkhead): Вертикальная стена или перегородка внутри судна.
<a id="p100162"></a>*Примечание* - Переборки часто определяются по их местоположению, использованию, типу материала или методу изготовления.

<a id="p100163"></a>3.4.9 батокс; БТ (buttock line): Любая продольная линия, параллельная диаметральной плоскости судна.
<a id="p100164"></a>*Примечание* - Элемент формы корпуса, представляющий собой пересечение вертикальной продольной плоскости с теоретической поверхностью корпуса судна.

<a id="p100165"></a>3.4.10 погибь палубы (camber): Плоская кривая поперечного сечения палубы, направленная выпуклостью вверх. Палубы изготавливают с погибью с тем, чтобы обеспечить скат дождевой или забортной воды.
<a id="p100166"></a>*Примечание* - Положительное значение погиби палубы будет означать, что палуба по борту ниже, чем палуба диаметральной плоскости.

<a id="p100167"></a>3.4.11 центральная линия (centreline): Воображаемая линия, получающаяся при пересечении диаметральной плоскости с теоретическим обводом.
<a id="p100168"></a>*Примечание* - Является главной опорной базисной линией, используемой при проектировании и производстве, от которой выполняются все поперечные измерения.

<a id="p100169"></a>3.4.12 диаметральная плоскость; ДП (centreplane): Вертикальная плоскость, представляющая плоскость симметрии судна, расположенная продольно в направлении (x, z) глобальной системы координат.
<a id="p100170"></a>*Примечание* - ДП используют при проектировании и производстве, от которой выполняют все поперечные измерения, и делит судно от носа до кормы на левый и правый борта.

<a id="p100171"></a>3.4.13 центр объема (centroid): Центр предмета, площади или объема, измеренный по отношению к некоторому определенному местоположению.
<a id="p100172"></a>3.4.14 классификация (classification): Процесс, в ходе которого проводят оценку конструкции и состояния судна для определения соответствия правилам и стандартам, разработанным классификационным обществом, ответственным за его классификацию.
<a id="p100173"></a>3.4.15 классификационное общество (classification society): Организация, которая устанавливает и контролирует соблюдение нормативно-технических требований при проектировании, строительстве и эксплуатации судов и морских/речных сооружений в течение их жизненного цикла.
<a id="p100174"></a>3.4.16 управление конфигурацией (configuration management): Контроль версий, статусом одобрения проектной организацией и классификационным обществом, а также управление изменениями модели изделия в части данных модели изделия судна.
<a id="p100175"></a>3.4.17 система координат (coordinate system; co_ordinate_system; co ordinate system): Величины, определяющие положение точки в n-мерном пространстве.
<a id="p100176"></a>3.4.18 палуба (deck): Горизонтальное перекрытие в корпусе или надстройках, опирающиеся на борта, переборки и пиллерсы (при их наличии), либо только на переборки, разделяющие корпус судна на помещения по вертикали.
<a id="p100177"></a>*Примечание* - Палуба может проходить целиком или только частично поперек судна. Точно так же она может проходить по всей длине судна или над выборочными частями этой длины. Назначение палубы часто определяется исходя из ее местоположения или функционального назначения.

<a id="p100178"></a>3.4.19 рубка (deck house): Закрытое палубой сооружение на верхней палубе или палубе надстройки, отстоящее хотя бы от одного из бортов на расстоянии более 4% ширины судна.
<a id="p100179"></a>*Примечание* - Обычно состоит из помещений, которые используют для размещения экипажа и управления судном.

<a id="p100180"></a>3.4.20 высота (depth): Расстояние по вертикали между основной плоскостью судна и любым горизонтальным уровнем судна.
<a id="p100181"></a>3.4.21 обтекаемый (fair): Плавная кривая без неровностей.
<a id="p100182"></a>3.4.22 крыло (fin): Листовое ребро, устанавливаемое вдоль скулы, в средней части судна, перпендикулярно к наружней обшивке.
<a id="p100183"></a>3.4.23 коэффициенты формы, коэффициенты формы корпуса (form parameters, hullform parameters): Эмпирические математические уравнения, коэффициенты, площади поперечного сечения и объемы судна.
<a id="p100184"></a>*Примечание* - Используют для анализа предполагаемых характеристик, остойчивости, сопротивления и требований к силовым двигателям проекта судна.

<a id="p100185"></a>3.4.24 носовой перпендикуляр судна; НП (forward perpendicular): Вертикальная линия в ДП судна, проходящей через точку пересечения КВЛ с передней кромкой форштевня.
<a id="p100186"></a>*Примечание* - Часто используют в качестве точки отсчета для измерений или размещения предметов продольно на судне.

<a id="p100187"></a>3.4.25 шпангоут; Шп (frame): Один из поперечных элементов, формирующих реберную каркасную часть судна.
<a id="p100188"></a>*Примечание* - Шпангоуты действуют как ребра жесткости, удерживая форму внешней обшивки и сохраняя поперечную форму судна.

<a id="p100189"></a>3.4.26 меблировка (furnishings): Предметы, помещаемые в обитаемые помещения судна для обеспечения сна, проживания и работы пассажиров и экипажа.
<a id="p100190"></a>*Пример* - Койки, шкафы, мебель, кухонное оборудование.
<a id="p100191"></a>3.4.27 общее расположение (general arrangements): Разделение судна на отсеки и зоны эксплуатации судна, машинных помещений, жилых и подсобных помещений для экипажа и пассажиров, проходов.
<a id="p100192"></a>3.4.28 полуширота (half-breadth): Поперечный размер, откладываемый от диаметральной плоскости.
<a id="p100193"></a>3.4.29 обвод корпуса (hullform): Совокупность геометрии, определяющая форму корпуса судна.
<a id="p100194"></a>*Примечание* - В отдельных ссылочных изданиях по теории судостроения обводы корпуса включают самую верхнюю водонепроницаемую палубу судна. Применительно к настоящему стандарту поверхность корпуса и самая верхняя водонепроницаемая палуба определяются как отдельные объекты теоретических обводов.

<a id="p100195"></a>3.4.30 гидродинамические силы (hydrodynamic): Силы, воздействующие на корпус судна при движении в воде.
<a id="p100196"></a>3.4.31 гидростатика (hydrostatics): Совокупность гидростатических свойств погруженного объема судна.
<a id="p100197"></a>3.4.32 гидростатические свойства (hydrostatic property): Эмпирические характеристики погруженного объема корпуса судна, такие как: центры тяжести и величины, площади поперечного сечения и объемы судна.
<a id="p100198"></a>Примечание - Перечень типов характеристик приведен в [4.2.47.1](#p101270).

<a id="p100199"></a>3.4.33 слом (knuckle): Пространственная линия, где две поверхности судна встречаются под углом.
<a id="p100200"></a>*Примечание* - Элемент обводов корпуса, например острая скула.

<a id="p100201"></a>3.4.34 длина между перпендикулярами (length between perpendiculars): Расстояние, измеряемое в продольном направлении между носовым и кормовым перпендикулярами.
<a id="p100202"></a>3.4.35 продольный (longitudinal): Измерение по длине судна.
<a id="p100203"></a>*Примечание* - В судовой глобальной системе координат, определенной в настоящем стандарте, продольные размеры - по оси X.

<a id="p100204"></a>3.4.36 главные размеры (main dimensions): Основные конструктивные, расчетные, наибольшие и габаритные размеры судна, которые используют при анализе и проектировании.
<a id="p100205"></a>Примечание - Перечень главных размеров приведен в [4.2.78](#p101789).

<a id="p100206"></a>3.4.37 средняя часть корпуса (mid-body): Для судов с цилиндрической частью - часть теоретических обводов между кормовой и носовой частью.
<a id="p100207"></a>*Пример* - У танкеров имеется цилиндрическая средняя часть корпуса, при этом у военных судов цилиндрическая часть корпуса встречается редко.
<a id="p100208"></a>3.4.38 теоретический обвод (moulded form): Это графическое изображение (контур) теоретической поверхности и набор проектных параметров различных частей судна, не включающие информацию о толщине материала, из которого изготовлены эти части.
<a id="p100209"></a>*Примечание* - Теоретические обводы могут описывать корпус судна, гребной винт, руль, выступающую часть, палубу, надстройку или поверхность, лежащую под конструктивным элементом судна, например переборку.

<a id="p100210"></a>3.4.39 плазовые координаты (offset): Значение координаты точки (высоты и полушироты) на линии пересечения ортогональной плоскости, параллельной плоскости мидель-шпангоута с теоретическим обводом корпуса судна.
<a id="p100211"></a>3.4.40 насыщение (outfit, outfitting): Элементы, стационарно закрепленные на судне, не являющиеся частями основных конструктивных систем. Применительно к настоящему стандарту, трубопроводные, электрические системы и системы HVAC <1> относятся к распределенным системам, а не к насыщению.

<a id="p100212"></a>

---

<a id="p100213"></a><1> Системы отопления, вентиляции и кондиционирования воздуха (ОВКВ).

<a id="p100214"></a>*Пример* - люки, леерные устройства, двери, трапы.
<a id="p100215"></a>3.4.41 килевая качка (pitching): Вращательные колебания вокруг поперечной оси судна.
<a id="p100216"></a>3.4.42 бортовая качка (rolling): Вращательные колебания вокруг продольной оси судна.
<a id="p100217"></a>3.4.43 седловатость (sheer): Плоская кривая, определяющая кривизну палубы в продольном направлении.
<a id="p100218"></a>*Примечание* - В случае погиби палубы диаметральная плоскость палубы может также иметь и седловатость.

<a id="p100219"></a>3.4.44 судовая конструкция (ship structure): Конструктивные системы, листы и ребра жесткости, формирующие корпус, палубы и переборки судна.
<a id="p100220"></a>*Примечание* - Теоретические обводы могут определять поверхности, по которым устанавливают конструкционные листы и ребра жесткости.

<a id="p100221"></a>3.4.45 теоретический шпангоут (station): Пересечение поперечной плоскости YZ с теоретическим обводом корпуса.
<a id="p100222"></a>*Примечание* - Обычно форма судна определяется 20 поперечными сечениями теоретической поверхности корпуса судна, расположенными на равном расстоянии по длине судна между перпендикулярами. Эти теоретические шпангоуты определяют форму поперечного сечения и используются вместе с ватерлиниями и батоксами для представления 3-мерной каркасной формы судна.

<a id="p100223"></a>3.4.46 форштевень (stem): Плоская кривая, проходящая от основания судна до самой верхней палубы по диаметральной плоскости судна, образующая носовую часть судна.
<a id="p100224"></a>3.4.47 конструктивная ватерлиния, летняя грузовая ватерлиния (summer load waterline; design waterline): Ватерлиния, принятая за основу построения теоретического чертежа и соответствующая полученному предварительным расчетом полному водоизмещению судна.
<a id="p100225"></a>3.4.48 надстройка (superstructure): Закрытое палубой сооружение на верхней палубе, простирающееся от борта до борта или отстоящее от любого из бортов судна на расстояние не более 4% ширины судна.
<a id="p100226"></a>3.4.49 подруливающее устройство (thruster): Вспомогательное движительное устройство, расположенное в корпусе.
<a id="p100227"></a>*Примечание* - Подруливающие устройства часто используют для движения судна лагом вбок.

<a id="p100228"></a>3.4.50 транец (transom): Плоский или несколько выгнутый наружу поперечный срез кормы судна.
<a id="p100229"></a>3.4.51 поперечный (transverse): Измерение поперек судна.
<a id="p100230"></a>*Примечание* - В судовой глобальной системе координат, определенной в настоящем стандарте, продольные размеры - по оси Y.

<a id="p100231"></a>3.4.52 идентификатор единообразного ресурса (uniform resource identifier): Компактная строка символов для идентификации абстрактного или физического ресурса. Определяет простое и расширяемое средство для идентификации ресурса.
<a id="p100232"></a>3.4.53 вертикальный (vertical): Измерение по высоте судна.
<a id="p100233"></a>*Примечание* - В судовой глобальной системе координат, определенной в настоящем стандарте, вертикальные размеры - по оси Z.

<a id="p100234"></a>3.4.54 ватерлиния судна; ВЛ (waterline): Линия пересечения теоретической поверхности корпуса судна с горизонтальной плоскостью.
<a id="p100235"></a>*Примечание* - В общем, ватерлиния может быть пересечением любой горизонтальной плоскости с теоретическим обводом корпуса.

<a id="p100236"></a>3.4.55 открытая палуба; главная палуба (weather deck; main deck): Самая верхняя водонепроницаемая палуба судна.
<a id="p100237"></a>3.4.56 рысканье (yawing): Вращение судна вокруг своей вертикальной оси.

#### <a id="p100238"></a>3.5 Сокращения

<a id="p100239"></a>В настоящем стандарте применены следующие сокращения:
<a id="p100240"></a>ЗСРП (PICS) - заявление о соответствии реализации прикладному протоколу (protocol implementation conformance statement);
<a id="p100241"></a>КВЛ - конструктивная ватерлиния;
<a id="p100242"></a>МАКО (IACS) - Международная ассоциация классификационных обществ (International Association of Classification Societies);
<a id="p100243"></a>ОМК - общая модель судна;
<a id="p100244"></a>ПИМ (AIM) - прикладная интерпретированная модель (application interpreted model);
<a id="p100245"></a>ПП (AP) - прикладной протокол (application protocol);
<a id="p100246"></a>ПФМ (AAM) - прикладная функциональная модель (application activity model);
<a id="p100247"></a>ПЭМ (ARM) - прикладная эталонная модель (application reference model);
<a id="p100248"></a>СИ - метрическая система единиц измерения;
<a id="p100249"></a>СБ - строительный блок;
<a id="p100250"></a>ЦВ - центр величины;
<a id="p100251"></a>ЦТ - центр тяжести;
<a id="p100252"></a>CAD - система автоматизированного проектирования (computer aided design);
<a id="p100253"></a>CAM - система автоматизированного производства (computer aided manufacture);
<a id="p100254"></a>CFD - расчетная гидродинамика (computational fluid dynamics);
<a id="p100255"></a>GUID - глобально однозначный идентификатор (globally unambiguous identifier);
<a id="p100256"></a>IMO - Международная морская организация (International Maritime Organisation);
<a id="p100257"></a>SOLAS - охрана человеческой жизни на море (safety of life at sea).


### <a id="p100258"></a>4 Требования к информации


<a id="p100259"></a>В этом разделе приведена информация, необходимая для обмена определениями теоретических обводов судна, геометрическими представлениями и соответствующими гидростатическими характеристиками.
<a id="p100260"></a>Требования к информации определяются как набор функциональных единиц, прикладных объектов и прикладных утверждений. Эти утверждения относятся к индивидуальным прикладным объектам и отношениям между прикладными объектами. Требования к информации определяются с помощью терминологии предметной области данного ПП.
<a id="p100261"></a>Примечание 1 - Графическое представление требований к информации приведено в [приложении G](#p127088).
<a id="p100262"></a>Примечание 2 - Требования к информации, соответствующие требованиям к действиям, определенным как входящие в область применения данного ПП, приведены в [приложении F](#p126836).
<a id="p100263"></a>Примечание 3 - Перечень отображений, приведенный в [5.1](#p103172), показывает, как интегрированные ресурсы и прикладные интерпретированные конструкции используют для удовлетворения требований к информации данного ПП.


#### <a id="p100264"></a>4.1 Функциональные единицы

<a id="p100265"></a>В данном подразделе указаны функциональные единицы для ПП теоретических обводов судна. В настоящем стандарте приведены следующие функциональные единицы:
- <a id="p100266"></a>basic_geometry;
- <a id="p100267"></a>configuration_management;
- <a id="p100268"></a>definitions;
- <a id="p100269"></a>external_references;
- <a id="p100270"></a>hull_class_applicability;
- <a id="p100271"></a>hydrostatics;
- <a id="p100272"></a>items;
- <a id="p100273"></a>location_concepts;
- <a id="p100274"></a>offset_table_representations;
- <a id="p100275"></a>ship_design_parameter;
- <a id="p100276"></a>ship_general_characteristics;
- <a id="p100277"></a>ship_measures;
- <a id="p100278"></a>ship_moulded_forms;
- <a id="p100279"></a>surface_representations;
- <a id="p100280"></a>wireframe_representations.
<a id="p100281"></a>Функциональная единица basic_geometry обеспечивает судостроительную номенклатуру и категоризацию, заданную точкам, кривым и поверхностям, используемым в представлении теоретических обводов судна.

##### <a id="p100282"></a>4.1.1 Функциональная единица basic_geometry

<a id="p100283"></a>Функциональная единица basic_geometry использует следующие прикладные объекты:
- <a id="p100284"></a>Ship_curve;
- <a id="p100285"></a>Ship_curve_with_spacing_position;
- <a id="p100286"></a>Ship_point;
- <a id="p100287"></a>Ship_surface.

##### <a id="p100288"></a>4.1.2 Функциональная единица configuration_management

<a id="p100289"></a>Функциональная единица configuration_management указывает информацию, необходимую для отслеживания утверждения, контроля версий, а также изменений определений теоретических обводов судна.
<a id="p100290"></a>*Примечание* - Информация об утверждении описывает, когда, кто и что было утверждено и до какого уровня утверждения, а также как утверждения относятся друг к другу. Версии определяют и описывают, какое определение подлежит контролю версий и как разные версии относятся друг к другу, для обеспечения версионности. Изменения описывают состояние изменения, когда и кто изменил какое определение, а также описывают влияние изменения с точки зрения того, были ли созданы, изменены или удалены другие определения или нет.

<a id="p100291"></a>Функциональная единица configuration_management использует следующие прикладные объекты:
- <a id="p100292"></a>Alternative_version_relationship;
- <a id="p100293"></a>Approval_event;
- <a id="p100294"></a>Approval_history;
- <a id="p100295"></a>Change;
- <a id="p100296"></a>Change_definition;
- <a id="p100297"></a>Change_impact;
- <a id="p100298"></a>Change_plan;
- <a id="p100299"></a>Change_realization;
- <a id="p100300"></a>Change_request;
- <a id="p100301"></a>Check;
- <a id="p100302"></a>Envisaged_version_creation;
- <a id="p100303"></a>Revision;
- <a id="p100304"></a>Revision_with_context;
- <a id="p100305"></a>Version_creation;
- <a id="p100306"></a>Version_deletion;
- <a id="p100307"></a>Version_history;
- <a id="p100308"></a>Version_modification;
- <a id="p100309"></a>Version_relationship;
- <a id="p100310"></a>Versionable_object_change_event.

##### <a id="p100311"></a>4.1.3 Функциональная единица definitions

<a id="p100312"></a>Функциональная единица definitions описывает абстрактную концепцию для определения элемента, конструкций элементов и взаимосвязей элементов.
<a id="p100313"></a>Функциональная единица definitions использует следующие прикладные объекты:
- <a id="p100314"></a>Definition;
- <a id="p100315"></a>Design_definition;
- <a id="p100316"></a>Functional_definition;
- <a id="p100317"></a>General_characteristics_definition.

##### <a id="p100318"></a>4.1.4 Функциональная единица external_references

<a id="p100319"></a>Функциональная единица external_references обеспечивает возможность и механизмы, с помощью которых могут приводиться ссылки на информацию в другом наборе данных модели изделия, или может ссылаться на информацию, не входящую в данный обмен данными или контекст совместного доступа к данным, и определяет конструкции для идентификации и ссылки на стандарты и документы, определенные во внешних библиотеках или вне объема ИСО 10303.
<a id="p100320"></a>Функциональная единица external_references использует следующие прикладные объекты:
- <a id="p100321"></a>Document;
- <a id="p100322"></a>Document_portion;
- <a id="p100323"></a>Document_reference;
- <a id="p100324"></a>Document_reference_with_address;
- <a id="p100325"></a>External_instance_reference;
- <a id="p100326"></a>External_reference;
- <a id="p100327"></a>External_storage;
- <a id="p100328"></a>Universal_resource_locator.

##### <a id="p100329"></a>4.1.5 Функциональная единица hull_class_applicability

<a id="p100330"></a>Функциональная единица hull_class_applicability позволяет привязать элемент ко всем корпусам в классе судна или к определенному корпусу. В проектировании на класс все элементы привязаны к классу судна. По умолчанию элемент применяется ко всем корпусам в классе. Изменения в корпусе затрагивают элементы, применяемые к определенным корпусам. Эти изменения могут применяться на уровне предмета или на уровне определения.
<a id="p100331"></a>*Пример* 1 - К типам применимости для корпуса на уровне предмета будет относиться добавление новой системы, отсека или оборудования.
<a id="p100332"></a>*Пример* 2 - К типам применимости для корпуса на уровне определения будут относиться разные редакции, используемые для указания относящихся к корпусу изменений характеристик и/или геометрии.
<a id="p100333"></a>Функциональная единица hull_class_applicability использует следующие прикладные объекты:
- <a id="p100334"></a>Hull_applicability.

##### <a id="p100335"></a>4.1.6 Функциональная единица hydrostatics

<a id="p100336"></a>Функциональная единица hydrostatics обеспечивает результаты расчетов гидростатических характеристик исходя из экстремальной формы, относящейся к водоизмещению на тихой воде. Экстремальная форма описывает геометрию, которая определяется теоретическим обводом плюс толщиной материала.
<a id="p100337"></a>Функциональная единица hydrostatics использует следующие прикладные объекты:
- <a id="p100338"></a>Addition_of_moulded_form;
- <a id="p100339"></a>Centre_location;
- <a id="p100340"></a>Displacement_operation;
- <a id="p100341"></a>Floating_position;
- <a id="p100342"></a>Hydrostatic_definition;
- <a id="p100343"></a>Hydrostatic_position_value;
- <a id="p100344"></a>Hydrostatic_properties_for_constant_floating_position;
- <a id="p100345"></a>Hydrostatic_property;
- <a id="p100346"></a>Hydrostatic_property_value;
- <a id="p100347"></a>Hydrostatic_scalar_value;
- <a id="p100348"></a>Hydrostatic_table;
- <a id="p100349"></a>Stability_definition;
- <a id="p100350"></a>Stability_properties_for_one_floating_position;
- <a id="p100351"></a>Stability_property;
- <a id="p100352"></a>Stability_table;
- <a id="p100353"></a>Subtraction_of_moulded_form.

##### <a id="p100354"></a>4.1.7 Функциональная единица items

<a id="p100355"></a>Функциональная единица items относится к обобщенным конструкциям изделий судна, отражаемым концепцией так называемых "позиций", а также концепцией конструкций позиций и взаимосвязями позиций, в которых элементы позиций собираются и привязываются друг к другу четко определенным способом.
<a id="p100356"></a>Функциональная единица items использует следующие прикладные объекты:
- <a id="p100357"></a>Definable_object;
- <a id="p100358"></a>Global_id;
- <a id="p100359"></a>Item;
- <a id="p100360"></a>Item_relationship;
- <a id="p100361"></a>Item_structure;
- <a id="p100362"></a>Ship;
- <a id="p100363"></a>Versionable_object.

##### <a id="p100364"></a>4.1.8 Функциональная единица location_concepts

<a id="p100365"></a>Функциональная единица location_concepts задает информацию для местоположения судна или любой его части в правой трехмерной декартовой системе координат. Кроме того, она задает информацию, необходимую для деления любой оси на интервалы так, чтобы они образовывали реперный базис для точек в системе координат.
<a id="p100366"></a>*Примечание* - Система координат - это либо одна единственная глобальная система координат описаний изделий и корня в иерархии, либо локальная система координат. Может существовать любое количество локальных систем координат. Позиции интервалов могут быть определены для любой из трех осей глобальной системы координат. В случае, если базовой системой координат является глобальная система координат, локальное начало координат может быть определено со ссылкой на положения интервалов.

<a id="p100367"></a>Функциональная единица location_concepts использует следующие прикладные объекты:
- <a id="p100368"></a>Buttock_table;
- <a id="p100369"></a>Frame_table;
- <a id="p100370"></a>Global_axis_placement;
- <a id="p100371"></a>Local_co_ordinate_system;
- <a id="p100372"></a>Local_co_ordinate_system_with_position_reference;
- <a id="p100373"></a>Longitudinal_position;
- <a id="p100374"></a>Longitudinal_table;
- <a id="p100375"></a>Spacing_position;
- <a id="p100376"></a>Spacing_position_with_offset;
- <a id="p100377"></a>Spacing_table;
- <a id="p100378"></a>Station_table;
- <a id="p100379"></a>Transversal_position;
- <a id="p100380"></a>Transversal_table;
- <a id="p100381"></a>Vertical_position;
- <a id="p100382"></a>Vertical_table;
- <a id="p100383"></a>Waterline_table.

##### <a id="p100384"></a>4.1.9 Функциональная единица offset_table_representations

<a id="p100385"></a>Функциональная единица offset_table_representations предоставляет информацию, необходимую для геометрического представления формы в виде таблицы точек ординат. Представление таблицы ординат определяет форму полностью набором объектов Ship_point. Объекты Ship_point перечислены в секциях, при этом обычно эти секции являются двухмерными. В особых случаях может возникнуть необходимость использования 3D-секций.
<a id="p100386"></a>Функциональная единица offset_table_representations использует следующие прикладные объекты:
- <a id="p100387"></a>Offset_point_table_model;
- <a id="p100388"></a>Offset_table_shape_representation;
- <a id="p100389"></a>Section_of_offset_point_table.

##### <a id="p100390"></a>4.1.10 Функциональная единица ship_design_parameter

<a id="p100391"></a>Функциональная единица ship_design_parameter предоставляет измеримые факторы, определяющие проектные параметры для каждого теоретического обвода, из которых состоят теоретические обводы судна целиком.
<a id="p100392"></a>*Примечание* - Эта информация содержит размеры и отношения, важные для простой характеризации деталей корпуса, палубы, носа, бульба, гребного винта, руля, выступающей части, подруливающего устройства и киля. Функциональная единица также содержит информацию касательно всех наибольших главных размерений теоретических обводов судна.

<a id="p100393"></a>Функциональная единица ship_design_parameter использует следующие прикладные объекты:
- <a id="p100394"></a>Appendage_moulded_form_design_parameter;
- <a id="p100395"></a>Bottom_moulded_form_design_parameter;
- <a id="p100396"></a>Bulb_moulded_form_design_parameter;
- <a id="p100397"></a>Deck_moulded_form_design_parameter;
- <a id="p100398"></a>Hull_moulded_form_design_parameter;
- <a id="p100399"></a>Midship_tumble;
- <a id="p100400"></a>Moulded_form_characteristics_definition;
- <a id="p100401"></a>Propeller_location;
- <a id="p100402"></a>Propeller_moulded_form_design_parameter;
- <a id="p100403"></a>Rudder_moulded_form_design_parameter;
- <a id="p100404"></a>Ship_overall_dimensions;
- <a id="p100405"></a>Thruster_moulded_form_design_parameter.

##### <a id="p100406"></a>4.1.11 Функциональная единица ship_general_characteristics

<a id="p100407"></a>Функциональная единица ship_general_characteristics дает базовую информацию, которая детализирует размеры и идентификацию судна, не зависит от геометрического контекста и включает в себя скалярные значения основных размерений судна, информацию об определении компаний, связанных с судами, обозначение класса судна и все соответствующие правила и положения.
<a id="p100408"></a>Функциональная единица ship_general_characteristics использует следующие прикладные объекты:
- <a id="p100409"></a>Carrier;
- <a id="p100410"></a>Class_and_statutory_designation;
- <a id="p100411"></a>Class_notation;
- <a id="p100412"></a>Class_parameters;
- <a id="p100413"></a>Navy_ship;
- <a id="p100414"></a>Owner_designation;
- <a id="p100415"></a>Principal_characteristics;
- <a id="p100416"></a>Regulation;
- <a id="p100417"></a>Research_ship;
- <a id="p100418"></a>Ship_designation;
- <a id="p100419"></a>Shiptype;
- <a id="p100420"></a>Shipyard_designation;
- <a id="p100421"></a>Working_ship.

##### <a id="p100422"></a>4.1.12 Функциональная единица ship_measures

<a id="p100423"></a>Функциональная единица ship_measures задает информацию для представления мер для физических величин.
<a id="p100424"></a>Функциональная единица ship_measures использует следующие прикладные объекты:
- <a id="p100425"></a>Centre_location;
- <a id="p100426"></a>Derived_unit;
- <a id="p100427"></a>Named_unit;
- <a id="p100428"></a>Precision.
<a id="p100429"></a>Примечание - Дополнительная информация по использованию мер и единиц приведена в [L.7](#p127322).


##### <a id="p100430"></a>4.1.13 Функциональная единица ship_moulded_forms

<a id="p100431"></a>Функциональная единица ship_moulded_forms задает информацию для описания теоретического обвода, состава теоретических обводов в теоретических обводах судна, представления теоретического обвода и обработки свойств симметрии.
<a id="p100432"></a>Функциональная единица ship_moulded_forms использует следующие прикладные объекты:
- <a id="p100433"></a>Moulded_form;
- <a id="p100434"></a>Moulded_form_boundary_relationship;
- <a id="p100435"></a>Moulded_form_design_definition;
- <a id="p100436"></a>Moulded_form_functional_definition;
- <a id="p100437"></a>Moulded_form_relationship;
- <a id="p100438"></a>Moulded_form_representation_item;
- <a id="p100439"></a>Moulded_form_representation_relationship;
- <a id="p100440"></a>Moulded_form_shape_representation;
- <a id="p100441"></a>Planar_symmetry;
- <a id="p100442"></a>Rotational_symmetry;
- <a id="p100443"></a>Ship_moulded_form;
- <a id="p100444"></a>Ship_moulded_form_revision;
- <a id="p100445"></a>Symmetry.

##### <a id="p100446"></a>4.1.14 Функциональная единица surface_representations

<a id="p100447"></a>Функциональная единица surface_representations задает информацию, необходимую для представления теоретического обвода в форме соединенных поверхностей, объединяет топологическую и геометрическую информацию, чтобы описать модель поверхности как набор связанных участков поверхности, описывает простую геометрию, такую как плоскости и прямые линии, а также сложную геометрию, такую как B-сплайновые кривые и поверхности. Кроме того, они могут быть связаны с судостроительными терминами. Если кривые и поверхности взаимосвязаны, то такую информацию указывают однозначно с помощью топологии.
<a id="p100448"></a>Функциональная единица surface_representations использует следующие прикладные объекты:
- <a id="p100449"></a>Non_manifold_surface_shape;
- <a id="p100450"></a>Surface_shape_representation;
- <a id="p100451"></a>Surface_with_identifier.

##### <a id="p100452"></a>4.1.15 Функциональная единица wireframe_representations

<a id="p100453"></a>Функциональная единица wireframe_representations задает информацию, необходимую для представления теоретического обвода в форме каркаса. Функциональная единица объединяет топологическую и геометрическую информации, чтобы описать каркас как набор пересекающихся 2D- или 3D-кривых. Данной функциональной единицей описывается простая геометрия, такая как плоскости и прямые линии, а также сложная геометрия, такая как B-сплайновые кривые. Кроме того, они могут быть связаны с судостроительными терминами.
<a id="p100454"></a>Функциональная единица wireframe_representations использует следующие прикладные объекты:
- <a id="p100455"></a>Edge_based_wireframe_shape;
- <a id="p100456"></a>Knot;
- <a id="p100457"></a>Ship_curve_segment;
- <a id="p100458"></a>Wireframe_shape_representation.

#### <a id="p100459"></a>4.2 Прикладные объекты

<a id="p100460"></a>В данном подразделе приведены прикладные объекты для прикладного протокола теоретических обводов судна. Каждый прикладной объект является отдельным элементом, реализующим уникальную прикладную концепцию и содержащим атрибуты, определяющие элементы данных этого объекта. Прикладные объекты и их определения приведены в последующих пунктах данного подраздела.
<a id="p100461"></a>*Примечание* - Эти атрибуты, унаследованные от прикладных объектов супертипа в прикладной эталонной модели, не повторяются в определениях прикладного объекта подтипа в данном подразделе. Спецификация этих унаследованных атрибутов дана в соответствующем определении прикладного объекта супертипа.


##### <a id="p100462"></a>4.2.1 Прикладной объект Addition_of_moulded_form

<a id="p100463"></a>Прикладной объект Addition_of_moulded_form является типом объекта Displacement_operation (см. [4.2.26](#p100991)), в котором водоизмещение объекта Ship_moulded_form (см. [4.2.93](#p102194)) будет увеличено на водоизмещение нового объекта Moulded_form (см. [4.2.61](#p101450)).

##### <a id="p100464"></a>4.2.2 Прикладной объект Alternative_version_relationship

<a id="p100465"></a>Прикладной объект Alternative_version_relationship является взаимосвязью между двумя объектами Versionable_object (см. [4.2.121](#p102762)) одного типа. Каждый Versionable_object является альтернативой другого объекта Versionable_object.
<a id="p100466"></a>С объектом Alternative_version_relationship связаны следующие данные:
- <a id="p100467"></a>alternative_1;
- <a id="p100468"></a>alternative_2;
- <a id="p100469"></a>reason.

###### <a id="p100470"></a>4.2.2.1 Данные alternative_1

<a id="p100471"></a>Данные alternative_1 определяют альтернативный проект для объекта Versionable_object (см. [4.2.121](#p102762)), определенный данными alternative_2. Прикладное утверждение дано в [4.3.1](#p102882).

###### <a id="p100472"></a>4.2.2.2 Данные alternative_2

<a id="p100473"></a>Данные alternative_2 определяют альтернативный проект для объекта Versionable_object (см. [4.2.121](#p102762)), определенный данными alternative_1. Прикладное утверждение дано в [4.3.1](#p102882).

###### <a id="p100474"></a>4.2.2.3 Данные reason

<a id="p100475"></a>Данные reason описывают взаимосвязь между двумя альтернативными проектами.

##### <a id="p100476"></a>4.2.3 Прикладной объект Appendage_moulded_form_design_parameter

<a id="p100477"></a>Прикладной объект Appendage_moulded_form_design_parameter является типом определения Moulded_form_characteristics_definition (см. [4.2.63](#p101467)), которое определяет размеры и отношения для каждого типа выступающей части корпуса судна.
<a id="p100478"></a>С объектом Appendage_moulded_form_design_parameter связаны следующие данные:
- <a id="p100479"></a>appendage_breadth;
- <a id="p100480"></a>appendage_depth;
- <a id="p100481"></a>appendage_length;
- <a id="p100482"></a>type_of_appendage;
- <a id="p100483"></a>user_def_appendage_type.

###### <a id="p100484"></a>4.2.3.1 Данные appendage_breadth

<a id="p100485"></a>Данные appendage_breadth определяют ширину выступающей части.
<a id="p100486"></a>*Примечание* - Ширина является вторым наибольшим размером выступающей части.


###### <a id="p100487"></a>4.2.3.2 Данные appendage_depth

<a id="p100488"></a>Данные appendage_depth определяют глубину выступающей части.
<a id="p100489"></a>*Примечание* - Глубина является наименьшим размером выступающей части.


###### <a id="p100490"></a>4.2.3.3 Данные appendage_length

<a id="p100491"></a>Данные appendage_length определяют длину выступающей части.
<a id="p100492"></a>*Примечание* - Длина является максимальным размером выступающей части.


###### <a id="p100493"></a>4.2.3.4 Данные type_of_appendage

<a id="p100494"></a>Данные type_of_appendage определяют тип выступающей части, определяемый объектом Appendage_moulded_form_design_parameter.
<a id="p100495"></a>Значение данных вида type_of_appendage должно быть одним из следующих:
- <a id="p100496"></a>active_fin;
- <a id="p100497"></a>air_emitter;
- <a id="p100498"></a>arrays;
- <a id="p100499"></a>bilge_keel;
- <a id="p100500"></a>bow_thruster;
- <a id="p100501"></a>cathodic_protection_anode;
- <a id="p100502"></a>duck_tail;
- <a id="p100503"></a>passive_fin;
- <a id="p100504"></a>rudder;
- <a id="p100505"></a>sea_chest;
- <a id="p100506"></a>shaft_bossings;
- <a id="p100507"></a>shaft_strut;
- <a id="p100508"></a>skeg;
- <a id="p100509"></a>spray_rail;
- <a id="p100510"></a>stern_flap;
- <a id="p100511"></a>stern_thruster;
- <a id="p100512"></a>user_defined.
<a id="p100513"></a>4.2.3.4.1 active_fin
<a id="p100514"></a>Автоматические стабилизаторы, устанавливаемые на корпусе судна для снижения бортовой качки и рысканья.
<a id="p100515"></a>4.2.3.4.2 air_emitter
<a id="p100516"></a>Защитная система, создающая экран из воздушных пузырей вокруг корпуса судна, уменьшающий шум от машин и механизмов в окружающую воду, для маскировки вероятных целей или обеспечения запасных целей.
<a id="p100517"></a>4.2.3.4.3 arrays
<a id="p100518"></a>Конструкция, в которой размещается оборудование, используемое для буксируемых или стационарных гидроакустических систем или магнитометров.
<a id="p100519"></a>4.2.3.4.4 bilge_keel
<a id="p100520"></a>Скуловой киль.
<a id="p100521"></a>Пример - Скуловой киль представлен на [рисунке 4](#p100523).

<a id="p100522"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_3.png) 

<a id="p100523"></a>Рисунок 4 - Скуловой киль

<a id="p100524"></a>4.2.3.4.5 bow_thruster
<a id="p100525"></a>Носовое подруливающее устройство, предназначенное для активного управления судном при маневрировании.
<a id="p100526"></a>4.2.3.4.6 cathodic_protection_anode
<a id="p100527"></a>Блоки из расходного материала, устанавливаемые снаружи корпуса, для уменьшения коррозии.
<a id="p100528"></a>4.2.3.4.7 duck_tail
<a id="p100529"></a>Конструкция в корме судна, увеличивающая количество воды вокруг гребных винтов в целях уменьшения вибрации, повышения остойчивости и увеличения скорости.
<a id="p100530"></a>4.2.3.4.8 passive_fin
<a id="p100531"></a>Стационарное крыло, крепящееся на корпусе судна, изменяющее поток в этой области.
<a id="p100532"></a>4.2.3.4.9 rudder
<a id="p100533"></a>Конструкция, крепящаяся вертикально к корме судна и работающая в целях управления направлением судна.
<a id="p100534"></a>4.2.3.4.10 sea_chest
<a id="p100535"></a>Кингстонный ящик - ниша в корпусе судна, образованная листовыми конструкциями, используется для подключения систем трубопроводов забортной воды, систем охлаждения и т.д.
<a id="p100536"></a>4.2.3.4.11 shaft_bossings
<a id="p100537"></a>Выкружка - локальное изменение теоретических обводов корпуса судна для размещения гребного вала.
<a id="p100538"></a>Пример - Выкружка гребного вала показана на [рисунке 5](#p100540).

<a id="p100539"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_4.png) 

<a id="p100540"></a>Рисунок 5 - Выкружка гребного вала

<a id="p100541"></a>4.2.3.4.12 stern_flap
<a id="p100542"></a>Конструкция, установленная на корме судна, для создания вертикальной подъемной силы на транце и для изменения распределения давления на кормовую часть корпуса в целях снижения лобового сопротивления и увеличения скорости.
<a id="p100543"></a>4.2.3.4.13 shaft_strut
<a id="p100544"></a>Несущая опора для части гребного вала снаружи корпуса (обычно для установок с двумя или более винтами).
<a id="p100545"></a>Пример - Типы кронштейнов гребного вала показаны на [рисунках 6](#p100547) и [7](#p100549).

<a id="p100546"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_5.png) 

<a id="p100547"></a>Рисунок 6 - Кронштейн гребного вала



<a id="p100548"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_6.png) 

<a id="p100549"></a>Рисунок 7 - Кронштейны гребного вала

<a id="p100550"></a>4.2.3.4.14 skeg
<a id="p100551"></a>Узкая корпусная конструкция в подводной части судна.
<a id="p100552"></a>4.2.3.4.15 spray_rail
<a id="p100553"></a>Планка на корпусе судна, предотвращающая попадания водяных брызг.
<a id="p100554"></a>4.2.3.4.16 stern_thruster
<a id="p100555"></a>Кормовое подруливающее устройство, которое используется для маневрирования.
<a id="p100556"></a>4.2.3.4.17 user_defined
<a id="p100557"></a>Тип выступающей части указывается в атрибуте user_def_appendage_type.

###### <a id="p100558"></a>4.2.3.5 Данные user_def_appendage_type

<a id="p100559"></a>Данные вида user_def_appendage_type указывают определенную пользователем роль или назначение выступающей части. Для объекта Appendage_moulded_form_design_parameter данные вида user_def_appendage_type могут быть не заданы.
<a id="p100560"></a>*Примечание* - Данные вида user_def_appendage_type не являются опциональными, если значением данных вида type_of_appendage будет USER_DEFINED.


##### <a id="p100561"></a>4.2.4 Прикладной объект Approval_event

<a id="p100562"></a>Прикладной объект Approval_event является значением объекта Event (см. [4.2.33](#p101048)), которое записывает изменение состояния просмотра и приемки или сертификации некоторых данных об изделии в рамках организации.
<a id="p100563"></a>С объектом Approval_event связаны следующие данные:
- <a id="p100564"></a>approval_reference;
- <a id="p100565"></a>result;
- <a id="p100566"></a>user_defined_result.

###### <a id="p100567"></a>4.2.4.1 Данные approval_reference

<a id="p100568"></a>Данные approval_reference определяют прикладной объект Approval_history (см. [4.2.5](#p100590)), на который повлиял прикладной объект Approval_event. Каждый прикладной объект Approval_event должен ссылаться только на один объект Approval_history. Прикладное утверждение - см. [4.3.2](#p102885).
<a id="p100569"></a>*Примечание* - Атрибут approval_reference является обратным к атрибуту approvals для прикладного объекта Approval_history.


###### <a id="p100570"></a>4.2.4.2 Данные result

<a id="p100571"></a>Данные result определяют решение об утверждении для версии проекта, требующей одобрения.
<a id="p100572"></a>Значение данных result должно быть одним из следующих:
- <a id="p100573"></a>approved;
- <a id="p100574"></a>rejected;
- <a id="p100575"></a>unapproved;
- <a id="p100576"></a>user_defined.
<a id="p100577"></a>Примечание - Определение каждого допустимого значение данных result дано в [4.2.4.2.1](#p100578) - [4.2.4.2.4](#p100585).

<a id="p100578"></a>4.2.4.2.1 approved
<a id="p100579"></a>Данные об изделии были рассмотрены соответствующей организацией и приняты или сертифицированы для применения в судне.
<a id="p100580"></a>4.2.4.2.2 rejected
<a id="p100581"></a>Данные об изделии были рассмотрены соответствующей организацией и не приняты или не сертифицированы для применения в судне.
<a id="p100582"></a>*Примечание* - Обычно для замены отклоненных данных об изделии создают другие данные об изделии.

<a id="p100583"></a>4.2.4.2.3 unapproved
<a id="p100584"></a>Данные об изделии еще не рассматривались или находятся в процессе рассмотрения для приемки или сертификации организацией.
<a id="p100585"></a>4.2.4.2.4 user_defined
<a id="p100586"></a>Код статуса утверждения для конкретного проекта, назначаемый конкретным версиям данных об изделии, должен определяться двумя или более организациями, осуществляющими обмен данными.

###### <a id="p100587"></a>4.2.4.3 Данные user_defined_result

<a id="p100588"></a>Данные user_defined_result определяют статус одобрения, определенный пользователем. Для конкретного Approval_event данные вида user_defined_result могут быть не заданы.
<a id="p100589"></a>*Примечание* - Данные user_defined_result не являются опциональными, если полученным значением прикладного объекта Approval_event будет USER_DEFINED.


##### <a id="p100590"></a>4.2.5 Прикладной объект Approval_history

<a id="p100591"></a>Прикладной объект Approval_history является набором всех объектов Approval_events (см. [4.2.4](#p100561)) конкретного типа, определенных для какой-то части данных об изделии.
<a id="p100592"></a>С объектом Approval_history связаны следующие данные:
- <a id="p100593"></a>approvals;
- <a id="p100594"></a>status;
- <a id="p100595"></a>subject.

###### <a id="p100596"></a>4.2.5.1 Данные approvals

<a id="p100597"></a>Данные approvals определяют последовательность объектов Approval_events (см. [4.2.4](#p100561)), которые возникли до настоящего времени. Объект Approval_history должен состоять, как минимум, из одного объекта Approval_event. Прикладное утверждение - см. [4.3.2](#p102885).
<a id="p100598"></a>*Примечание* - Последовательность объектов Approval_events строится в хронологическом порядке.


###### <a id="p100599"></a>4.2.5.2 Данные status

<a id="p100600"></a>Данные status определяют текущее состояние утверждения.
<a id="p100601"></a>Значение данных status может быть одним из следующих:
- <a id="p100602"></a>approved;
- <a id="p100603"></a>rejected;
- <a id="p100604"></a>unapproved;
- <a id="p100605"></a>user_defined.
<a id="p100606"></a>Примечание - Определение каждого допустимого значения статуса - см. [4.2.5.2.1](#p100607) - [4.2.5.2.4](#p100614).

<a id="p100607"></a>4.2.5.2.1 approved
<a id="p100608"></a>Данные об изделии были рассмотрены соответствующей организацией и приняты или сертифицированы для применения в судне.
<a id="p100609"></a>4.2.5.2.2 rejected
<a id="p100610"></a>Данные об изделии были рассмотрены соответствующей организацией и не приняты или не сертифицированы для применения в судне.
<a id="p100611"></a>*Примечание* - Обычно для замены отклоненных данных об изделии создаются другие данные об изделии.

<a id="p100612"></a>4.2.5.2.3 unapproved
<a id="p100613"></a>Данные об изделии еще не рассматривались или находятся в процессе рассмотрения для приемки или сертификации организацией.
<a id="p100614"></a>4.2.5.2.4 user_defined
<a id="p100615"></a>Код статуса утверждения для конкретного проекта, назначаемый конкретным версиям данных об изделии, должен определяться двумя или более организациями, осуществляющими обмен данными.

###### <a id="p100616"></a>4.2.5.3 Данные subject

<a id="p100617"></a>Данные subject задают данные об изделии, к которым относится данное утверждение. Прикладное утверждение - см. [4.3.3](#p102887).
<a id="p100618"></a>Примечание - Для прикладного объекта Definition (см. [4.2.23](#p100971)) может быть ноль, один или несколько связанных с ним объектов Approval_history. Если у объекта Definition будет более одного связанного с ним объекта Approval_history, все объекты Approval_history будут разными.


##### <a id="p100619"></a>4.2.6 Прикладной объект Bottom_moulded_form_design_parameter

<a id="p100620"></a>Прикладной объект Bottom_moulded_form_design_parameter является типом объекта Moulded_form_characteristics_definition (см. [4.2.63](#p101467)), содержащим размеры и отношения киля и днища корпуса судна.
<a id="p100621"></a>Пример - Размеры киля и днища корпуса судна показаны на [рисунке 8](#p100623).

<a id="p100622"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_7.png) 

<a id="p100623"></a>Рисунок 8 - Размеры киля

<a id="p100624"></a>С объектом Bottom_moulded_form_design_parameter связаны следующие данные:
- <a id="p100625"></a>aft_end_of_flat_of_bottom;
- <a id="p100626"></a>bilge_radius;
- <a id="p100627"></a>flat_of_bottom_breadth;
- <a id="p100628"></a>front_end_of_flat_of_bottom;
- <a id="p100629"></a>length_of_flat_of_bottom;
- <a id="p100630"></a>rake_of_keel;
- <a id="p100631"></a>rise_of_floor.

###### <a id="p100632"></a>4.2.6.1 Данные aft_end_of_flat_of_bottom

<a id="p100633"></a>Данные aft_end_of_flat_of_bottom определяют продольное расстояние от кормового перпендикуляра до задней части плоского днища.

###### <a id="p100634"></a>4.2.6.2 Данные bilge_radius

<a id="p100635"></a>Данные bilge_radius определяют радиус арки, соединяющей прямостенную часть борта корпуса с днищем. Измеряют в поперечном сечении по мидель-шпангоуту.

###### <a id="p100636"></a>4.2.6.3 Данные flat_of_bottom_breadth

<a id="p100637"></a>Данные flat_of_bottom_breadth определяют ширину плоского днища, измеряемую в поперечном сечении по мидель-шпангоуту.

###### <a id="p100638"></a>4.2.6.4 Данные front_end_of_flat_of_bottom

<a id="p100639"></a>Данные front_end_of_flat_of_bottom определяют продольное расстояние от кормового перпендикуляра до передней части плоского днища.

###### <a id="p100640"></a>4.2.6.5 Данные length_of_flat_of_bottom

<a id="p100641"></a>Данные length_of_flat_of_bottom определяют длину плоского днища, измеряемую горизонтально по ДП.

###### <a id="p100642"></a>4.2.6.6 Данные rake_of_keel

<a id="p100643"></a>Данные rake_of_keel определяют угол между ОП и килем судна.

###### <a id="p100644"></a>4.2.6.7 Данные rise_of_floor

<a id="p100645"></a>Данные rise_of_floor определяют расстояние по вертикали от ОП до точки, где линия продолжения скошенного днища встречается с продолжением линии борта судна. Значение данных rise_of_floor измеряется в поперечном сечении на мидель-шпангоуте.

##### <a id="p100646"></a>4.2.7 Прикладной объект Bulb_moulded_form_design_parameter

<a id="p100647"></a>Прикладной объект Bulb_moulded_form_design_parameter является типом объекта Moulded_form_characteristics_definition (см. [4.2.63](#p101467)), содержащим размеры и отношения бульба корпуса судна.
<a id="p100648"></a>Пример - Размеры носового бульба корпуса судна показаны на [рисунке 9](#p100650).

<a id="p100649"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_8.png) 

<a id="p100650"></a>Рисунок 9 - Размеры нособульба

<a id="p100651"></a>С объектом Bulb_moulded_form_design_parameter связаны следующие данные:
- <a id="p100652"></a>bulb_breadth;
- <a id="p100653"></a>bulb_breadth_pp;
- <a id="p100654"></a>bulb_depth;
- <a id="p100655"></a>bulb_depth_pp;
- <a id="p100656"></a>bulb_frame_section_area_at_pp;
- <a id="p100657"></a>bulb_length;
- <a id="p100658"></a>bulb_length_from_pp;
- <a id="p100659"></a>bulb_location.

###### <a id="p100660"></a>4.2.7.1 Данные bulb_breadth

<a id="p100661"></a>Данные bulb_breadth определяют максимальную ширину бульба.

###### <a id="p100662"></a>4.2.7.2 Данные bulb_breadth_pp

<a id="p100663"></a>Данные bulb_breadth_pp определяют ширину бульба в сечении, параллельном мидель-шпангоуту, проходящему через кормовой или носовой перпендикуляр, в зависимости от размещения бульба.

###### <a id="p100664"></a>4.2.7.3 Данные bulb_depth

<a id="p100665"></a>Данные bulb_depth определяют максимальное вертикальное расстояние от ОП до самой верхней точки бульба.

###### <a id="p100666"></a>4.2.7.4 Данные bulb_depth_pp

<a id="p100667"></a>Данные bulb_depth_pp specifies определяют максимальное вертикальное расстояние от ОП до самой верхней точки бульба по кормовому или носовому перпендикуляру, в зависимости от размещения бульба.

###### <a id="p100668"></a>4.2.7.5 Данные bulb_frame_section_area_at_pp

<a id="p100669"></a>Данные bulb_frame_section_area_at_pp определяют площадь поперечного сечения бульба по кормовому или носовому перпендикуляру, в зависимости от размещения бульба.

###### <a id="p100670"></a>4.2.7.6 Данные bulb_length

<a id="p100671"></a>Данные bulb_length определяют максимальную длину бульба, измеряемую горизонтально по ДП.

###### <a id="p100672"></a>4.2.7.7 Данные bulb_length_from_pp

<a id="p100673"></a>Данные bulb_length_from_pp определяют максимальную длину бульба, измеряемую горизонтально от носового или кормового перпендикуляра, в зависимости от размещения бульба.

###### <a id="p100674"></a>4.2.7.8 Данные bulb_location

<a id="p100675"></a>Данные bulb_location определяют, где размещен бульб, в носу или в корме.
<a id="p100676"></a>Значение данных bulb_location должно быть одним из следующих:
- <a id="p100677"></a>bow;
- <a id="p100678"></a>stern.
<a id="p100679"></a>Определение каждого допустимого значения данных bulb_location - см. [4.2.7.8.1](#p100680), [4.2.7.8.2](#p100682).
<a id="p100680"></a>4.2.7.8.1 bow
<a id="p100681"></a>Размещение бульба в носу корпуса судна.
<a id="p100682"></a>4.2.7.8.2 stern
<a id="p100683"></a>Размещение бульба в корме корпуса судна.

##### <a id="p100684"></a>4.2.8 Прикладной объект Buttock_table

<a id="p100685"></a>Прикладной объект Buttock_table является типом объекта Transversal_table (см. [4.2.113](#p102696)), в котором представлены положения, которые задают размещение баттокса и располагаются на глобальной оси Y.

##### <a id="p100686"></a>4.2.9 Прикладной объект Carrier

<a id="p100687"></a>Прикладной объект Carrier является типом объекта Shiptype (см. [4.2.98](#p102501)), представляющим объект Ship (см. [4.2.88](#p102052)), перевозящим грузы или пассажиров.
<a id="p100688"></a>С объектом Carrier связаны следующие данные:
- <a id="p100689"></a>has_type.

###### <a id="p100690"></a>4.2.9.1 Данные has_type

<a id="p100691"></a>Данные has_type определяют тип транспортного судна.
<a id="p100692"></a>Значение данных has_type должно быть одним из следующих:
- <a id="p100693"></a>barge;
- <a id="p100694"></a>barge_for_deck_loading;
- <a id="p100695"></a>barge_for_liquifiedgas;
- <a id="p100696"></a>barge_for_oil;
- <a id="p100697"></a>barge_pontoon;
- <a id="p100698"></a>bulk_carrier;
- <a id="p100699"></a>car_carrier;
- <a id="p100700"></a>car_ferry;
- <a id="p100701"></a>cargo_ship_carrying_passengers;
- <a id="p100702"></a>chemical_tanker;
- <a id="p100703"></a>chemical_tanker_type_1;
- <a id="p100704"></a>container_carrier;
- <a id="p100705"></a>cruise_liner;
- <a id="p100706"></a>dry_cargo_vessel;
- <a id="p100707"></a>ferry;
- <a id="p100708"></a>gas_carrier;
- <a id="p100709"></a>general_cargo_carrier;
- <a id="p100710"></a>highspeedcraft_cargo;
- <a id="p100711"></a>highspeedcraft_passenger;
- <a id="p100712"></a>hydrofoil;
- <a id="p100713"></a>liquified_gas_tanker;
- <a id="p100714"></a>LNG_carrier;
- <a id="p100715"></a>LPG_carrier;
- <a id="p100716"></a>oil_tanker;
- <a id="p100717"></a>ore carrier;
- <a id="p100718"></a>passenger_vessel;
- <a id="p100719"></a>product_tanker;
- <a id="p100720"></a>refrigerated_cargo_carrying_ship;
- <a id="p100721"></a>roro_vessel;
- <a id="p100722"></a>tanker_for_refrigerated_fruit_juice;
- <a id="p100723"></a>user_defined.
<a id="p100724"></a>Примечание - Определение допустимых значений данных has_type - см. [4.2.9.1.1](#p100725) - [4.2.9.1.29](#p100789).

<a id="p100725"></a>4.2.9.1.1 barge
<a id="p100726"></a>Грузовое судно, не оборудованное машинами и механизмами для самоходности и предназначенное для транспортировки грузов.
<a id="p100727"></a>4.2.9.1.2 barge_for_deck_loading
<a id="p100728"></a>Грузовое судно, спроектированное как сервисная платформа для осуществления погрузки на палубы судов.
<a id="p100729"></a>4.2.9.1.3 barge_for_liquefied_gas
<a id="p100730"></a>Грузовое судно, не оборудованное машинами и механизмами для самоходности и предназначенное для перевозки сжиженного газа.
<a id="p100731"></a>4.2.9.1.4 barge_for_oil
<a id="p100732"></a>Грузовое судно, не оборудованное машинами и механизмами для самоходности и предназначенное для перевозки нефти.
<a id="p100733"></a>4.2.9.1.5 barge_pontoon
<a id="p100734"></a>Грузовое судно с понтонами, соединенными в баржу, используемое в качестве плавучей вспомогательной платформы.
<a id="p100735"></a>4.2.9.1.6 bulk_carrier
<a id="p100736"></a>Грузовое судно, построенное для перевозки насыпных грузов.
<a id="p100737"></a>4.2.9.1.7 car_carrier
<a id="p100738"></a>Грузовое судно, используемое для транспортировки автомобилей от изготовителя конечному пользователю.
<a id="p100739"></a>4.2.9.1.8 car_ferry
<a id="p100740"></a>Грузовое судно, построенное для транспортировки автомобилей по воде.
<a id="p100741"></a>4.2.9.1.9 cargo ship carrying passengers
<a id="p100742"></a>Грузовое судно, построенное для перевозки грузов и пассажиров.
<a id="p100743"></a>4.2.9.1.10 chemical_tanker
<a id="p100744"></a>Грузовое судно, спроектированное специально для перевозки химических веществ.
<a id="p100745"></a>4.2.9.1.11 chemical_tanker_type_1
<a id="p100746"></a>Грузовое судно, спроектированное специально для перевозки химических веществ 1-го типа.
<a id="p100747"></a>4.2.9.1.12 container_carrier
<a id="p100748"></a>Грузовое судно, построенное для перевозки контейнеров.
<a id="p100749"></a>4.2.9.1.13 cruise_liner
<a id="p100750"></a>Грузовое судно, построенное для перевозки пассажиров для прогулок и экскурсий.
<a id="p100751"></a>4.2.9.1.14 dry_cargo_vessel
<a id="p100752"></a>Грузовое судно, построенное для перевозки сухих, бестарных грузов.
<a id="p100753"></a>*Пример* - К типам сухих грузов относится зерно или уголь.
<a id="p100754"></a>4.2.9.1.15 ferry
<a id="p100755"></a>Грузовое судно, построенное для перевозки пассажиров, машин, автобусов, грузовиков и поездов по воде.
<a id="p100756"></a>*Примечание* - Паром может быть предназначен для перевозки только одного типа груза, например пассажиров.

<a id="p100757"></a>4.2.9.1.16 gas_carrier
<a id="p100758"></a>Грузовое судно, спроектированное специально для перевозки газообразных продуктов.
<a id="p100759"></a>4.2.9.1.17 general_cargo_carrier
<a id="p100760"></a>Грузовое судно, спроектированное специально для перевозки генеральных грузов.
<a id="p100761"></a>*Примечание* - Объект со значением данных general_cargo_carrier перевозит любые грузы, которые не упаковываются, а перевозятся бестарно, например зерно или уголь.

<a id="p100762"></a>4.2.9.1.18 highspeedcraft_cargo
<a id="p100763"></a>Грузовое судно, предназначенное для высокоскоростных грузовых перевозок.
<a id="p100764"></a>4.2.9.1.19 highspeedcraft_passenger
<a id="p100765"></a>Грузовое судно, предназначенное для высокоскоростных пассажирских перевозок.
<a id="p100766"></a>4.2.9.1.20 hydrofoil
<a id="p100767"></a>Грузовое судно, спроектированное так, что достигает скорости за счет подъема корпуса судна из воды на поверхностях подводных крыльев, избегая, таким образом, лобового сопротивления корпуса и волнового сопротивления.
<a id="p100768"></a>4.2.9.1.21 liquefied_gas_tanker
<a id="p100769"></a>Грузовое судно, предназначенное специально для транспортировки сжиженных газовых продуктов.

###### <a id="p100770"></a>4.2.9.1.22 LNG_carrier

<a id="p100771"></a>Грузовое судно, предназначенное специально для транспортировки сжиженного природного газа.

###### <a id="p100772"></a>4.2.9.1.23 LPG_carrier

<a id="p100773"></a>Грузовое судно, предназначенное специально для транспортировки сжиженного нефтяного газа.
<a id="p100774"></a>4.2.9.1.24 oil_tanker
<a id="p100775"></a>Грузовое судно, предназначенное специально для транспортировки нефти.
<a id="p100776"></a>4.2.9.1.25 ore_carrier
<a id="p100777"></a>Грузовое судно, построенное для транспортировки руды
<a id="p100778"></a>*Пример* - Тип руды - железная руда.
<a id="p100779"></a>4.2.9.1.26 passenger_vessel
<a id="p100780"></a>Грузовое судно, построенное для транспортировки пассажиров.
<a id="p100781"></a>4.2.9.1.27 product_tanker
<a id="p100782"></a>Грузовое судно, предназначенное специально для транспортировки нефтепродуктов.
<a id="p100783"></a>4.2.9.1.28 refrigerated cargo carrying ship
<a id="p100784"></a>Грузовое судно, построенное для транспортировки грузов, которые необходимо охлаждать или замораживать.
<a id="p100785"></a>4.2.9.1.29 roro_vessel
<a id="p100786"></a>Грузовое судно, построенное для транспортировки колесных транспортных средств.
<a id="p100787"></a>4.2.9.1.30 tanker_for_refrigerated_fruit_juice
<a id="p100788"></a>Грузовое судно, предназначенное специально для транспортировки фруктовых соков, которые необходимо охлаждать или замораживать.
<a id="p100789"></a>4.2.9.1.31 user_defined
<a id="p100790"></a>Грузовое судно, тип которого не входит в указанный выше перечень (см. [4.2.9.1.1](#p100725) - [4.2.9.1.30](#p100787)). Подробная информация приведена в атрибуте описания для Shiptype (см. [4.2.98](#p102501)).

##### <a id="p100791"></a>4.2.10 Прикладной объект Centre_location

<a id="p100792"></a>Прикладной объект Centre_location представляет собой значения измерений X, Y и Z для значений данных centre_of_buoyancy (см [4.2.48.1.1](#p101294)), centre_of_flotation (см. [4.2.48.1.2](#p101297)) и centre_of_lateral_resistance (см. [4.2.48.1.3](#p101299)).

##### <a id="p100793"></a>4.2.11 Прикладной объект Change

<a id="p100794"></a>Прикладной объект Change является типом объекта Item (см. [4.2.52](#p101348)), представляющим фокус всех этапов, связанных с возможным или фактическим изменением модели изделия в результате заявки на внесение изменения конструкторской организации или заказчика.
<a id="p100795"></a>Примечание - Изменение может привести или не привести к изменению данных модели изделия. Все запланированные или фактические изменения модели изделия документируют в соответствующих объектах Change_definition (см. [4.2.12](#p100801)).

<a id="p100796"></a>С объектом Change связаны следующие данные:
- <a id="p100797"></a>the_class.

###### <a id="p100798"></a>4.2.11.1 Данные the_class

<a id="p100799"></a>Данные the_class определяют спецификацию организационной роли изменения.
<a id="p100800"></a>*Пример* - К типам класса относятся: запрос на модификацию в главный офис (Headquarter Modification Request) или предложение о внесении изменения в конструкцию (Engineering Change Proposal).

##### <a id="p100801"></a>4.2.12 Прикладной объект Change_definition

<a id="p100802"></a>Прикладной объект Change_definition является типом объекта Definition (см. [4.2.23](#p100971)), являющимся обобщением основных дискретных этапов объекта Change (см. [4.2.11](#p100793)). Значением объекта Change_definition может быть Change_plan (см. [4.2.14](#p100822)), Change_realization (см. [4.2.15](#p100835)) или Change_request (см. [4.2.16](#p100847)).
<a id="p100803"></a>С объектом Change_definition связаны следующие данные:
- <a id="p100804"></a>author;
- <a id="p100805"></a>date_time;
- <a id="p100806"></a>defined_for;
- <a id="p100807"></a>local_units.

###### <a id="p100808"></a>4.2.12.1 Данные author

<a id="p100809"></a>Данные author определяют лицо или организацию, ответственную за функции объекта Change (см. [4.2.11](#p100793)) в течение периода, длящегося с конца предыдущего, если он есть, до конца данного объекта Change_definition.

###### <a id="p100810"></a>4.2.12.2 Данные date_time

<a id="p100811"></a>Данные date_time определяют дату и время, когда был создан объект Change_definition.

###### <a id="p100812"></a>4.2.12.3 Данные defined_for

<a id="p100813"></a>Данные defined_for определяют прикладной объект Change (см. [4.2.11](#p100793)), к которому применяется объект Change_definition. Прикладное утверждение - см. [4.3.4](#p102889).

###### <a id="p100814"></a>4.2.12.4 Данные local_units

<a id="p100815"></a>Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значение данных local_units может быть либо Derived_unit (см. [4.2.24](#p100983)) или Named_unit (см. [4.2.70](#p101663)). Для конкретного Change_definition данные вида local_units могут быть не заданы. Прикладные утверждения - см. [4.3.5](#p102891) и [4.3.6](#p102894).

##### <a id="p100816"></a>4.2.13 Прикладной объект Change_impact

<a id="p100817"></a>Прикладной объект Change_impact представляет собой набор событий, определяющий влияние, которое окажет или уже оказал объект Change (см. [4.2.11](#p100793)).
<a id="p100818"></a>С объектом Change_impact связаны следующие данные:
- <a id="p100819"></a>impact.

###### <a id="p100820"></a>4.2.13.1 Данные impact

<a id="p100821"></a>Данные impact определяют влияние объекта Change (см. [4.2.11](#p100793)) в части создания, изменения или удаления некоторых объектов Definition (см. [4.2.23](#p100971)), объектов Item_structure (см. [4.2.54](#p101378)) или объектов Item_relationship (см. [4.2.53](#p101363)). Прикладное утверждение - см. [4.3.7](#p102897).

##### <a id="p100822"></a>4.2.14 Прикладной объект Change_plan

<a id="p100823"></a>Прикладной объект Change_plan является типом объекта Change_definition (см. [4.2.12](#p100801)), который представляет предлагаемое решение для объекта Change (см. [4.2.11](#p100793)). Объект Change_plan является основанием для действий, необходимых для внедрения объекта Change в модель изделия.
<a id="p100824"></a>С объектом Change_plan связаны следующие данные:
- <a id="p100825"></a>checks;
- <a id="p100826"></a>chosen_solution_for;
- <a id="p100827"></a>planned_impact.

###### <a id="p100828"></a>4.2.14.1 Данные checks

<a id="p100829"></a>Данные checks определяют проверки, запланированные для объекта Change (см. [4.2.11](#p100793)). Прикладное утверждение - см. [4.3.9](#p102901).

###### <a id="p100830"></a>4.2.14.2 Данные chosen_solution_for

<a id="p100831"></a>Данные chosen_solution_for определяют идентификацию объекта Change_request (см. [4.2.16](#p100847)), для которого применяется объект Change_plan, Прикладное утверждение - см. [4.3.10](#p102903).

###### <a id="p100832"></a>4.2.14.3 Данные planned_impact

<a id="p100833"></a>Данные planned_impact определяют оцененное или рассчитанное воздействие объекта Change (см. [4.2.11](#p100793)). Прикладное утверждение - см. [4.3.8](#p102899).
<a id="p100834"></a>Примечание - Это влияние, как правило, выбирают из набора данных solution_alternatives в прикладном объекте Change_request (см. [4.2.16](#p100847)).


##### <a id="p100835"></a>4.2.15 Прикладной объект Change_realization

<a id="p100836"></a>Прикладной объект Change_realization является типом объекта Change_definition (см. [4.2.12](#p100801)), который определяет фактическое, наблюдаемое воздействие объекта Change (см. [4.2.11](#p100793)).
<a id="p100837"></a>С объектом Change_realization связаны следующие данные:
- <a id="p100838"></a>checks;
- <a id="p100839"></a>impact;
- <a id="p100840"></a>realization_of.

###### <a id="p100841"></a>4.2.15.1 Данные checks

<a id="p100842"></a>Данные checks определяют утверждение в рамках организации изменений модели изделия, внесенных для внедрения объекта Change (см. [4.2.11](#p100793)). Прикладное утверждение - см. [4.3.12](#p102907).

###### <a id="p100843"></a>4.2.15.2 Данные impact

<a id="p100844"></a>Данные impact задают идентификацию изменений, внесенных в модель изделия. Прикладное утверждение - см. [4.3.11](#p102905).

###### <a id="p100845"></a>4.2.15.3 Данные realization_of

<a id="p100846"></a>Данные realization_of определяют объект Change_plan (см. [4.2.14](#p100822)), для которого вносится изменение модели изделия. Прикладное утверждение - см. [4.3.13](#p102909).

##### <a id="p100847"></a>4.2.16 Прикладной объект Change_request

<a id="p100848"></a>Прикладной объект Change_request является типом прикладного объекта Change_definition (см. [4.2.12](#p100801)), представляющего первый этап объекта Change (см. [4.2.11](#p100793)), когда устанавливается необходимость объекта Change и возможные варианты решений.
<a id="p100849"></a>С объектом Change_request связаны следующие данные:
- <a id="p100850"></a>addressee;
- <a id="p100851"></a>initiator;
- <a id="p100852"></a>problem;
- <a id="p100853"></a>solution_alternatives;
- <a id="p100854"></a>solution_description.

###### <a id="p100855"></a>4.2.16.1 Данные addressee

<a id="p100856"></a>Данные addressee определяют лицо или лицо и организацию, которым адресован запрос. Для конкретного Change_request данные вида addressee могут быть не заданы.

###### <a id="p100857"></a>4.2.16.2 Данные initiator

<a id="p100858"></a>Данные initiator определяют лицо или лицо и организацию, от которых поступает запрос.

###### <a id="p100859"></a>4.2.16.3 Данные problem

<a id="p100860"></a>Данные problem задают текстовое определение проблемы, которая спровоцировала запрос.

###### <a id="p100861"></a>4.2.16.4 Данные solution_alternatives

<a id="p100862"></a>Данные solution_alternatives определяют альтернативные решения, предлагаемые для решения проблемы. Решение описывается в части влияния на объекты Versionable_object (см. [4.2.121](#p102762)). Прикладное утверждение - см. [4.3.14](#p102911).

###### <a id="p100863"></a>4.2.16.5 Данные solution_description

<a id="p100864"></a>Данные solution_description задают текстовое описание одного или нескольких возможных решений проблемы. Для конкурентного Change_request данные solution_description могут быть не заданы.
<a id="p100865"></a>*Примечание* - Это текстовое описание должно присутствовать, если еще не установлены данные вида solution_alternatives, или может расширять информацию, предоставляемую данными вида solution_alternatives.


##### <a id="p100866"></a>4.2.17 Прикладной объект Check

<a id="p100867"></a>Прикладной объект Check является типом прикладного объекта Event (см. [4.2.33](#p101048)), которое определяет запланированное или выполненное организацией утверждение для прикладного объекта Change_plan (см. [4.2.14](#p100822)) или объекта Change_realization (см. [4.2.15](#p100835)).

##### <a id="p100868"></a>4.2.18 Прикладной объект Class_and_statutory_designation

<a id="p100869"></a>Прикладной объект Class_and_statutory_designation является типом прикладного объекта General_characteristics_definition (см. [4.2.40](#p101121)), который задает определение, присвоенное прикладному объекту Ship (см. [4.2.88](#p102052)) классификационным обществом в целях одобрения проектирования, изготовления и в процессе эксплуатации.
<a id="p100870"></a>С объектом Class_and_statutory_designation связаны следующие данные:
- <a id="p100871"></a>class_number;
- <a id="p100872"></a>local_units;
- <a id="p100873"></a>the_class;
- <a id="p100874"></a>the_statutory.

###### <a id="p100875"></a>4.2.18.1 Данные class_number

<a id="p100876"></a>Данные class_number определяют отдельный идентификатор классификационного общества для судна.

###### <a id="p100877"></a>4.2.18.2 Данные local_units

<a id="p100878"></a>Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значение данных local_units может быть одним из следующих: Derived_unit (см. [4.2.24](#p100983)) или Named_unit (см. [4.2.70](#p101663)). Для конкретного Class_and_statutory_designation данные вида local_units могут быть не заданы. В одном объекте Class_and_statutory_designation может быть задано несколько данных local_units. Прикладные утверждения - см. [4.3.17](#p102918) и [4.3.16](#p102915).

###### <a id="p100879"></a>4.2.18.3 Данные the_class

<a id="p100880"></a>Данные the_class определяют применимый объект Class_notation (см. [4.2.19](#p100883)) с информацией о типе судна и груза. Прикладное утверждение - см. [4.3.15](#p102913).

###### <a id="p100881"></a>4.2.18.4 Данные the_statutory

<a id="p100882"></a>Данные the_statutory определяют набор национальных и международных нормативов и стандартов, которым должно соответствовать судно. Прикладное утверждение - см. [4.3.18](#p102921).

##### <a id="p100883"></a>4.2.19 Прикладной объект Class_notation

<a id="p100884"></a>Прикладной объект Class_notation является нотацией, присваиваемой корпусу и машинам и механизмам судна классификационным обществом в результате его действий по одобрению во время проектирования, изготовления и технического обслуживания судна во время эксплуатации.
<a id="p100885"></a>С объектом Class_notation связаны следующие данные:
- <a id="p100886"></a>approval_required_for_heavy_cargo;
- <a id="p100887"></a>approval_required_for_oil_cargo;
- <a id="p100888"></a>approval_required_loading_unloading_aground;
- <a id="p100889"></a>approval_required_loading_unloading_grabs;
- <a id="p100890"></a>class_notations_hull;
- <a id="p100891"></a>class_notations_machinery;
- <a id="p100892"></a>class_society;
- <a id="p100893"></a>ice_class_notation;
- <a id="p100894"></a>service_area;
- <a id="p100895"></a>service_factor.

###### <a id="p100896"></a>4.2.19.1 Данные approval_required_for_heavy_cargo

<a id="p100897"></a>Данные approval_required_for_heavy_cargo определяют, необходимо ли одобрение специального упрочнения для тяжелых грузов. Эти нотации относятся к судам для перевозки бестарных грузов и определяют распределение нагрузок в грузовых трюмах. Для конкретного Class_notation данные вида approval_required_for_heavy_cargo могут быть не указаны.
<a id="p100898"></a>Значение данных approval_required_for_heavy_cargo должно быть одним из следующих:
- <a id="p100899"></a>HC;
- <a id="p100900"></a>HC_E;
- <a id="p100901"></a>HC_EA.
<a id="p100902"></a>Примечание - Определение всех допустимых значений для данных approval_required_for_heavy_cargo дано в [4.2.19.1.1](#p100903) - [4.2.19.1.3](#p100908).


###### <a id="p100903"></a>4.2.19.1.1 HC

<a id="p100904"></a>Транспортное судно усилено для перевозки тяжелых грузов. Тяжелые навалочные грузы могут распределяться неравномерно по грузовым трюмам.

###### <a id="p100905"></a>4.2.19.1.2 HC_E

<a id="p100906"></a>Транспортное судно усилено для перевозки тяжелых грузов. Кроме того, также одобрено неравномерное состояние нагружения с пустыми трюмами при осадке при полном водоизмещении. Одобренное сочетание пустых трюмов добавляется в нотацию.
<a id="p100907"></a>*Пример* - Использование HC_E: пустые трюмы 2, 3, 5.

###### <a id="p100908"></a>4.2.19.1.3 HC_EA

<a id="p100909"></a>Транспортное судно усилено для перевозки тяжелых грузов, при этом любой грузовой трюм может быть пустым при осадке при полном водоизмещении. Одобренное сочетание пустых трюмов добавляется в нотацию.
<a id="p100910"></a>*Пример* - Использование HC_EA: пустые трюмы 2, 3, 5 или пустые трюмы 1 - 6.

###### <a id="p100911"></a>4.2.19.2 Данные approval_required_for_oil_cargo

<a id="p100912"></a>Данные approval_required_for_oil_cargo определяют, требуется ли одобрение для перевозки нефтегрузов.

###### <a id="p100913"></a>4.2.19.3 Данные approval_required_loading_unloading_aground

<a id="p100914"></a>Данные approval_required_loading_unloading_aground определяют, требуется ли одобрение для погрузки и выгрузки на мели.

###### <a id="p100915"></a>4.2.19.4 Данные approval required loading unloading grabs

<a id="p100916"></a>Данные approval_required_loading_unloading_grabs определяют, требуется ли одобрение для погрузки и выгрузки с помощью захватных приспособлений.

###### <a id="p100917"></a>4.2.19.5 Данные class_notations_hull

<a id="p100918"></a>Данные class_notations_hull определяют значения, присвоенные корпусу судна классификационным обществом в результате его работы по одобрению, выполненной по корпусу. Для прикладного объекта Class_notation может быть несколько значений данных class_notations_hull.

###### <a id="p100919"></a>4.2.19.6 Данные class_notations_machinery

<a id="p100920"></a>Данные class_notations_machinery определяют значения, присвоенные машинам и механизмам судна классификационным обществом в результате его работы по одобрению, выполненной по машинам и механизмам. Для прикладного объекта Class_notation может быть несколько значений данных вида class_notations_machinery.

###### <a id="p100921"></a>4.2.19.7 Данные class_society

<a id="p100922"></a>Данные class_society определяют наименование и организационные реквизиты классификационного общества, по чьим правилам и нормативам выполняется оценка судна.

###### <a id="p100923"></a>4.2.19.8 Данные ice_class_notation

<a id="p100924"></a>Данные ice_class_notation определяют тип значений класса, присвоенных корпусу, с указанием ледовых условий, в которых одобрена эксплуатация судна. Для конкретного Class_notationice_class_notation данные вида ice_class_notation могут быть не заданы.

###### <a id="p100925"></a>4.2.19.9 Данные service_area

<a id="p100926"></a>Данные service_area определяют район или маршрут эксплуатации судна.
<a id="p100927"></a>*Примечание* - Сюда может быть включена информация о фарватере, волновых, погодных и ветровых условиях.


###### <a id="p100928"></a>4.2.19.10 Данные service_factor

<a id="p100929"></a>Данные service_factor определяют район эксплуатации судна, а также волнение, возникающее в этом районе. Значение данных service_factor должно быть в диапазоне от 0,5 до 1,0. Для конкретного Class_notation данные вида service_factor могут быть не заданы.

##### <a id="p100930"></a>4.2.20 Прикладной объект Class_parameters

<a id="p100931"></a>Прикладной объект Class_parameters является типом прикладного объекта General_characteristics_definition (см. [4.2.40](#p101121)), который определяет длину и скорость судна в соответствии с правилами классификационного общества и нормативным регулированием.
<a id="p100932"></a>С объектом Class_parameters связаны следующие данные:
- <a id="p100933"></a>block_coefficient_class;
- <a id="p100934"></a>design_speed_ahead;
- <a id="p100935"></a>design_speed_astern;
- <a id="p100936"></a>length_class;
- <a id="p100937"></a>length_solas;
- <a id="p100938"></a>scantlings_draught.

###### <a id="p100939"></a>4.2.20.1 Данные block_coefficient_class

<a id="p100940"></a>Данные block_coefficient_class определяют отношение теоретического объемного водоизмещения к объему блока длиной, равной значению данных length_class, шириной, равной значению данных moulded_breadth, и высотой, равной значению данных scantlings_draught.

###### <a id="p100941"></a>4.2.20.2 Данные design_speed_ahead

<a id="p100942"></a>Данные design_speed_ahead определяют скорость хода вперед, на которую судно спроектировано для эксплуатации.

###### <a id="p100943"></a>4.2.20.3 Данные design_speed_astern

<a id="p100944"></a>Данные design_speed_astern определяют скорость хода назад, на которую судно спроектировано для эксплуатации.

###### <a id="p100945"></a>4.2.20.4 Данные length_class

<a id="p100946"></a>Данные length_class определяют измерение длины судна, определенной в правилах классификационного общества.

###### <a id="p100947"></a>4.2.20.5 Данные length_solas

<a id="p100948"></a>Данные length_solas определяют измерение длины судна, измеряемой в соответствии с международной конвенцией по охране человеческой жизни на море.

###### <a id="p100949"></a>4.2.20.6 Данные scantlings_draught

<a id="p100950"></a>Данные scantlings_draught определяют летнюю грузовую осадку, используемую классификационным обществом в своих расчетах конструктивной целостности и прочности.

##### <a id="p100951"></a>4.2.21 Прикладной объект Deck_moulded_form_design_parameter

<a id="p100952"></a>Прикладной объект Deck_moulded_form_design_parameter является типом прикладного объекта Moulded_form_characteristics_definition (см. [4.2.63](#p101467)), который определяет главный параметр палубы.
<a id="p100953"></a>С объектом Deck_moulded_form_design_parameter связаны следующие данные:
- <a id="p100954"></a>camber;
- <a id="p100955"></a>defined_for;
- <a id="p100956"></a>sheer_at_AP;
- <a id="p100957"></a>sheer_at_FP.

###### <a id="p100958"></a>4.2.21.1 Данные camber

<a id="p100959"></a>Данные camber определяют совокупность геометрических характеристик поперечного сечения палубы в плоскости, параллельной мидель-шпангоуту.

###### <a id="p100960"></a>4.2.21.2 Данные defined_for

<a id="p100961"></a>Данные defined_for определяют прикладной объект Moulded_form (см. [4.2.61](#p101450)), для которого определяется прикладной объект Deck_moulded_form_design_parameter. Прикладное утверждение - см. [4.3.19](#p102923).

###### <a id="p100962"></a>4.2.21.3 Данные sheer_at_AP

<a id="p100963"></a>Данные sheer_at_AP определяют продольную кривизну палубы в кормовой половине судна. Измеряют по ДП корпуса как разницу между высотой палубы по мидель-шпангоуту и высотой палубы по кормовому перпендикуляру.

###### <a id="p100964"></a>4.2.21.4 Данные sheer_at_FP

<a id="p100965"></a>Данные sheer_at_FP определяют продольную кривизну палубы в носовой половине корпуса судна. Измеряют по ДП корпуса как разницу между высотой палубы по мидель-шпангоуту и высотой палубы по носовому перпендикуляру.

##### <a id="p100966"></a>4.2.22 Прикладной объект Definable_object

<a id="p100967"></a>Прикладной объект Definable_object описывает изделие любого типа, которое может быть описано основными характеристиками. Значением прикладного объекта Definable_object может быть либо Item (см. [4.2.52](#p101348)), Item_relationship (см. [4.2.53](#p101363)) либо Item_structure (см. [4.2.54](#p101378)).
<a id="p100968"></a>С объектом Definable_object связаны следующие данные: id.

###### <a id="p100969"></a>4.2.22.1 Данные id

<a id="p100970"></a>Данные id определяют глобальный уникальный идентификатор для прикладного объекта Definable_object. Прикладное утверждение - см. [4.3.20](#p102925).

##### <a id="p100971"></a>4.2.23 Прикладной объект Definition

<a id="p100972"></a>Прикладной объект Definition является типом прикладного объекта Versionable_object (см. [4.2.121](#p102762)), являющимся основой для всех типов объектов Definable_object (см. [4.2.22](#p100966)). Значением прикладного объекта Definition будет либо Design_definition (см. [4.2.25](#p100985)), Functional_definition (см. [4.2.39](#p101112)), General_characteristics_definition (см. [4.2.40](#p101121)), Moulded_form_characteristics_definition (см. [4.2.64](#p101467)), Change_definition (см. [4.2.12](#p100801)), Spacing_table (см. [4.2.102](#p102578)), либо Local_co_ordinate_system (см. [4.2.56](#p101403)). Эти определения поддерживают следующие судостроительные концепции: проектирование, функция, изготовление, общие характеристики судна, проектные требования, а также параметрические и библиотечные описания объектов.
<a id="p100973"></a>С прикладным объектом Definition связаны следующие данные:
- <a id="p100974"></a>defined_for;
- <a id="p100975"></a>id;
- <a id="p100976"></a>local_units.

###### <a id="p100977"></a>4.2.23.1 Данные defined_for

<a id="p100978"></a>Данные defined_for определяют объекты Definable_object (см. [4.2.22](#p100966)), которые определяются прикладным объектом Definition. Прикладное утверждение - см. [4.3.21](#p102927).

###### <a id="p100979"></a>4.2.23.2 Данные id

<a id="p100980"></a>Данные id определяют глобальный уникальный идентификатор для определения. Прикладное утверждение - см. [4.3.23](#p102932).

###### <a id="p100981"></a>4.2.23.3 Данные local_units

<a id="p100982"></a>Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением данных local_units может быть Derived_unit (см. [4.2.24](#p100983)) или Named_unit (см. [4.2.70](#p101663)). Для конкретного Definition данные вида local_units могут быть не заданы. В одном объекте Definition может быть задано несколько данных local_units. Прикладные условия - см. [4.3.22](#p102929) и [4.3.24](#p102934).

##### <a id="p100983"></a>4.2.24 Прикладной объект Derived_unit

<a id="p100984"></a>Прикладной объект Derived_unit является единицей измерения, состоящей из элементов, являющихся предопределенными объектами Named_unit (см. [4.2.70](#p101663)) с экспонентами.

##### <a id="p100985"></a>4.2.25 Прикладной объект Design_definition

<a id="p100986"></a>Прикладной объект Design_definition является типом прикладного объекта Definition (см. [4.2.23](#p100971)), являющимся основой для всех типов проектных определений. Отличие прикладного объекта Design_definition от прикладного объекта Definition заключается в способности делать ссылки на представления. Значением прикладного объекта Design_definition будет либо Moulded_form_design_definition (см. [4.2.64](#p101481)), Hydrostatic_definition (см. [4.2.45](#p101241)), либо Stability_definition (см. [4.2.103](#p102587)).
<a id="p100987"></a>С объектом Design_definition связаны следующие данные: representations.

###### <a id="p100988"></a>4.2.25.1 Данные representations

<a id="p100989"></a>Данные representations определяют представления проектного определения. Для конкретного Design_definition данные вида representations могут быть не заданы. В одном объекте Design_definition может быть задано несколько данных representations.
<a id="p100990"></a>*Пример* - Прикладной объект Design_definition может иметь несколько представлений формы, например каркас или поверхность.

##### <a id="p100991"></a>4.2.26 Прикладной объект Displacement_operation

<a id="p100992"></a>Прикладной объект Displacement_operation представляет собой расчет для изменения водоизмещения объекта Ship_moulded_form (см. [4.2.93](#p102194)). Это изменение описывается путем добавления или вычитания прикладного объекта Moulded_form (см. [4.2.61](#p101450)). Значением прикладного объекта Displacement_operation может быть Addition_of_moulded_form (см. [4.2.1](#p100462)) или Subtraction_of_moulded_form (см. [4.2.108](#p102641)).
<a id="p100993"></a>С объектом Displacement_operation связаны следующие данные:
- <a id="p100994"></a>displacement_of_moulded_form_to_add_or_subtract.

###### <a id="p100995"></a>4.2.26.1 Данные displacement_of_moulded_form_to_add_or_subtract

<a id="p100996"></a>Данные displacement_of_moulded_form_to_add_or_subtract определяют прикладной объект Moulded_form (см. [4.2.61](#p101450)), который либо добавляется к объекту, либо вычитается из объекта Ship_moulded_form (см. [4.2.93](#p102194)). Значение водоизмещения прикладного объекта Moulded_form можно найти в характеристиках конкретного теоретического обвода. Прикладное утверждение - см. [4.3.25](#p102937).

##### <a id="p100997"></a>4.2.27 Прикладной объект Document

<a id="p100998"></a>Прикладной объект Document является типом объекта Versionable_object (см. [4.2.121](#p102762)), который представляет однозначную идентификацию некоего удобного для восприятия человеком информационного элемента, определенного не в ИСО 10303. У документа есть автор, наименование и могут быть версии.
<a id="p100999"></a>С объектом Document связаны следующие данные:
- <a id="p101000"></a>author;
- <a id="p101001"></a>source_type;
- <a id="p101002"></a>summary;
- <a id="p101003"></a>title.

###### <a id="p101004"></a>4.2.27.1 Данные author

<a id="p101005"></a>Данные author определяют лицо, организацию или лицо и организацию, являющуюся автором прикладного объекта Document.

###### <a id="p101006"></a>4.2.27.2 Данные source_type

<a id="p101007"></a>Данные source_type определяют тип документа, в распечатанном или в электронном виде, включая его вид.
<a id="p101008"></a>*Пример* - К электронным документам относятся форматы PDF, Word, WordPerfect, Text и др.

###### <a id="p101009"></a>4.2.27.3 Данные description

<a id="p101010"></a>Данные description определяют текстовое описание содержания документа. Для конкретного Document данные вида description могут быть не заданы.

###### <a id="p101011"></a>4.2.27.4 Данные title

<a id="p101012"></a>Данные title определяют описательное наименование, состоящее из слова или группы слов.

##### <a id="p101013"></a>4.2.28 Прикладной объект Document_portion

<a id="p101014"></a>Прикладной объект Document_portion является спецификацией определенного поднабора или части объекта Document (см. [4.2.27](#p100997)) в обобщенных терминах.
<a id="p101015"></a>*Пример* - Подразделом отчета может быть диапазон страниц, определенный их номерами.
<a id="p101016"></a>С объектом Document_portion связаны следующие данные:
- <a id="p101017"></a>element_type;
- <a id="p101018"></a>element_value;
- <a id="p101019"></a>source.

###### <a id="p101020"></a>4.2.28.1 Данные element_type

<a id="p101021"></a>Данные The element_type определяют имя для данной подгруппы прикладного объекта Document (см. [4.2.27](#p100997)).
<a id="p101022"></a>*Пример* - К типам элементов относятся: страница, номера, номера разделов или наименование раздела.

###### <a id="p101023"></a>4.2.28.2 Данные element_value

<a id="p101024"></a>Данные element_value определяют значение для данной подгруппы объекта Document (см. [4.2.27](#p100997)).
<a id="p101025"></a>*Пример* - Возможные значения данных вида element_values: номера страниц = "1-10, 15", номера разделов = "3.2.4", наименование раздела = "Введение".

###### <a id="p101026"></a>4.2.28.3 Данные source

<a id="p101027"></a>Данные source определяют прикладной объект Document (см. [4.2.27](#p100997)), к которому относится определенная подгруппа. Прикладное утверждение - см. [4.3.26](#p102939).

##### <a id="p101028"></a>4.2.29 Прикладной объект Document_reference

<a id="p101029"></a>Прикладной объект Document_reference является спецификацией прикладного объекта Document (см. [4.2.27](#p100997)) в части его источника или местонахождения. Значением объекта Document_reference может быть объект Document_reference_with_address (см. [4.2.30](#p101035)).
<a id="p101030"></a>*Пример* - Если значением источника объекта Document_reference является книга, указателем может быть индекс раздела или номер страницы.
<a id="p101031"></a>С прикладным объектом Document_reference связаны следующие данные:
- <a id="p101032"></a>assigned_document.

###### <a id="p101033"></a>4.2.29.1 Данные assigned_document

<a id="p101034"></a>Данные assigned_document определяют прикладной объект Document (см. [4.2.27](#p100997)) или Document_portion (см. [4.2.28](#p101013)), который должен быть связан с данными изделия. Прикладные утверждения - см. [4.3.27](#p102941) и [4.3.28](#p102944).

##### <a id="p101035"></a>4.2.30 Прикладной объект Document_reference_with_address

<a id="p101036"></a>Прикладной объект Document_reference_with_address является типом прикладного объекта Document_reference (см. [4.2.29](#p101028)) и прикладного объекта External_reference (см. [4.2.35](#p101072)), который определяет указатель местоположения внутри источника.

##### <a id="p101037"></a>4.2.31 Прикладной объект Edge_based_wireframe_shape

<a id="p101038"></a>Прикладной объект Edge_based_wireframe_shape является представлением формы, соответствующим ИСО 10303-501.

##### <a id="p101039"></a>4.2.32 Прикладной объект Envisaged_version_creation

<a id="p101040"></a>Прикладной объект Envisaged_version_creation является типом объекта Versionable_object_change_event (см. [4.2.122](#p102771)), являющимся событием, ведущим к новому прикладному объекту Versionable_object (см. [4.2.121](#p102762)). Под событием понимается событие, которое еще не произошло. Прикладные объекты Definition (см. [4.2.23](#p100971)), Item_structure (см. [4.2.54](#p101378)) или Item_relationship (см. [4.2.53](#p101363)) как предметы события еще не существуют и описываются в части описательных, неформальных свойств.
<a id="p101041"></a>С объектом Envisaged_version_creation связаны следующие данные:
- <a id="p101042"></a>base;
- <a id="p101043"></a>category.

###### <a id="p101044"></a>4.2.32.1 Данные base

<a id="p101045"></a>Данные base определяют объекты Versionable_object (см. [4.2.120](#p102762)), из которых получается предусмотренная новая версия. Прикладное утверждение - см. [4.3.29](#p102947).

###### <a id="p101046"></a>4.2.32.2 Данные category

<a id="p101047"></a>Данные category определяют классификацию, к которой принадлежит предусмотренное определение.

##### <a id="p101048"></a>4.2.33 Прикладной объект Event

<a id="p101049"></a>Прикладной объект Event указывает на то, что что-то произошло в определенное время, в результате действия определенного лица или определенной организации по определенной причине. У объекта Event может быть одно из следующих значений: Check (см. [4.2.17](#p100866)), Versionable_object_change_event (см. [4.2.122](#p102771)) или Approval_event (см. [4.2.4](#p100561)).
<a id="p101050"></a>С объектом Event связаны следующие данные:
- <a id="p101051"></a>caused_by;
- <a id="p101052"></a>caused_when;
- <a id="p101053"></a>description.

###### <a id="p101054"></a>4.2.33.1 Данные caused_by

<a id="p101055"></a>Данные caused_by определяют лицо или организацию, создающую объект Event.

###### <a id="p101056"></a>4.2.33.2 Данные caused_when

<a id="p101057"></a>Данные caused_when определяют дату и время, когда возник объект Event.

###### <a id="p101058"></a>4.2.33.3 Данные description

<a id="p101059"></a>Данные description определяют дополнительную текстовую информацию для объекта Event.

##### <a id="p101060"></a>4.2.34 Прикладной объект External_instance_reference

<a id="p101061"></a>Прикладной объект External_instance_reference является экземпляром объекта, который не существует в этой области применения.
<a id="p101062"></a>С объектом External_instance_reference связаны следующие данные:
- <a id="p101063"></a>entity_type;
- <a id="p101064"></a>schema_name;
- <a id="p101065"></a>target_GUID.

###### <a id="p101066"></a>4.2.34.1 Данные entity_type

<a id="p101067"></a>Данные entity_type определяют наименование типа экземпляра, на который приведена внешняя ссылка.

###### <a id="p101068"></a>4.2.34.2 Данные schema_name

<a id="p101069"></a>Данные schema_name определяют схему, в которой определен экземпляр, на который приведена внешняя ссылка.

###### <a id="p101070"></a>4.2.34.3 Данные target_GUID

<a id="p101071"></a>Данные target_GUID определяют глобальный унифицированный идентификатор экземпляра, на который приведена внешняя ссылка. Прикладное утверждение - см. [4.3.30](#p102949).

##### <a id="p101072"></a>4.2.35 Прикладной объект External_reference

<a id="p101073"></a>Прикладной объект External_reference является абстрактным указанием источника данных, внешнего к набору данных, в котором существует экземпляр данного объекта. Значением прикладного объекта External_reference может быть Document_reference_with_address (см. [4.2.30](#p101035)).
<a id="p101074"></a>Пример - Такой источник данных указывает прикладной объект Universal_resource_locator (см. [4.2.114](#p102702)).
<a id="p101075"></a>С объектом External_reference связаны следующие данные:
- <a id="p101076"></a>description;
- <a id="p101077"></a>location.

###### <a id="p101078"></a>4.2.35.1 Данные description

<a id="p101079"></a>Данные description определяют некоторую дополнительную информацию в части прикладного объекта External_reference.

###### <a id="p101080"></a>4.2.35.2 Данные location

<a id="p101081"></a>Данные location определяют местонахождение внешней ссылки. В случае прикладного объекта Universal_resource_locator (см. [4.2.115](#p102702)) местонахождением является компьютер, к которому есть доступ с помощью заданного протокола связи. Прикладные утверждения - см. [4.3.31](#p102951) и [4.3.32](#p102954).

##### <a id="p101082"></a>4.2.36 Прикладной протокол External_storage

<a id="p101083"></a>Прикладной протокол External_storage указывает местоположение физических документов или деталей, являющихся внешними к текущему обмену данными. Этот объект может быть актуальным при определении местоположения компакт-дисков (CD_ROM), дискет или видеопленок.
<a id="p101084"></a>*Пример* - В качестве прикладного объекта External_storage могут служить публичная библиотека или архив компании.
<a id="p101085"></a>С объектом External_storage связаны следующие данные: location.

###### <a id="p101086"></a>4.2.36.1 Данные location

<a id="p101087"></a>Данные location определяют идентификацию внешнего места хранения, обычно без возможности прямого сетевого доступа к компьютеру.

##### <a id="p101088"></a>4.2.37 Прикладной объект Floating_position

<a id="p101089"></a>Прикладной объект Floating_position указывает осадку и пространственное положение судна при погружении и соответствующее объемное водоизмещение.
<a id="p101090"></a>С объектом Floating_position связаны следующие данные:
- <a id="p101091"></a>angle_of_heel;
- <a id="p101092"></a>angle_of_trim;
- <a id="p101093"></a>breadth_of_waterline;
- <a id="p101094"></a>draught_at_amidships;
- <a id="p101095"></a>length_of_waterline;
- <a id="p101096"></a>moulded_form_displacement.

###### <a id="p101097"></a>4.2.37.1 Данные angle_of_heel

<a id="p101098"></a>Данные angle_of_heel определяют угол вращения судна по оси X, измеряемый в радианах, который измеряется по линии, параллельной глобальной оси Y и ватерлинии. Значение данных angle_of_heel равно нулю, если ДП будет перпендикулярна ватерлинии. Значения данных angle_of_heel has будут положительными при движении правого борта судна вниз.

###### <a id="p101099"></a>4.2.37.2 Данные angle_of_trim

<a id="p101100"></a>Данные angle_of_trim определяют угол, образованный между основной плоскостью и линией, проведенной через осадки на носовом и кормовом перпендикулярах. Значение данных angle_of_trim равно нулю, когда осадка носа судна равна осадке кормы судна. Значения данных angle_of_trim будут положительными при превышении осадки носом осадки кормы.

###### <a id="p101101"></a>4.2.37.3 Данные breadth_of_waterline

<a id="p101102"></a>Данные breadth_of_waterline определяют ширину действующей ватерлинии.

###### <a id="p101103"></a>4.2.37.4 Данные draught_at_amidships

<a id="p101104"></a>Данные draught_at_amidships определяют расстояние от рабочей ватерлинии до теоретического днища судна, измеряемое по ДП на поперечном сечении по мидель-шпангоуту.

###### <a id="p101105"></a>4.2.37.5 Данные length_of_waterline

<a id="p101106"></a>Данные length_of_waterline определяют длину действующей ватерлинии.

###### <a id="p101107"></a>4.2.37.6 Данные moulded_form_displacement

<a id="p101108"></a>Данные moulded_form_displacement определяют водоизмещение судна по действующей ватерлинии (wetted displacement of the ship).

##### <a id="p101109"></a>4.2.38 Прикладной объект Frame_table

<a id="p101110"></a>Прикладной объект Frame_table является типом объекта Longitudinal_table (см. [4.2.59](#p101427)), у которого имеются позиции, которые задают размещение шпангоутов, расположенные на глобальной оси X.
<a id="p101111"></a>*Примечание* - Шпангоуты используют для внутренней конструкции судна, и они являются конструктивными элементами. У судна может быть более 100 шпангоутов. Кривая пересечения между шпангоутом и теоретическим обводом корпуса является кривой поперечного сечения, проходящего через корпус судна.


##### <a id="p101112"></a>4.2.39 Прикладной объект Functional_definition

<a id="p101113"></a>Прикладной объект Functional_definition является типом прикладного объекта Definition (см. [4.2.23](#p100971)), являющегося основанием для всех видов данных об эксплуатационных качествах изделия. Обеспечивает возможность определения роли или назначения объекта Definition. Значение каждого прикладного объекта Functional_definition будет либо Moulded_form_functional_definition (см. [4.2.65](#p101506)), либо Ship_type (см. [4.2.98](#p102501)).
<a id="p101114"></a>С объектом Functional_definition связаны следующие данные:
- <a id="p101115"></a>local_units;
- <a id="p101116"></a>user_def_function.

###### <a id="p101117"></a>4.2.39.1 Данные local_units

<a id="p101118"></a>Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением каждых данных local_units может быть Derived_unit (см. [4.2.24](#p100983)) или Named_unit (см. [4.2.70](#p101663)). Для конкретного Functional_definition данные вида local_units могут быть не заданы. В одном объекте Functional_definition может быть задано несколько данных local_units. Прикладные условия - см. [4.3.33](#p102957) и [4.3.34](#p102960).

###### <a id="p101119"></a>4.2.39.2 Данные user_def_function

<a id="p101120"></a>Данные user_def_function задают определенную пользователем роль или назначение объекта Functional_definition. Для конкретного Functional_definition данные вида user_def_function могут быть не заданы.

##### <a id="p101121"></a>4.2.40 Прикладной объект General_characteristics_definition

<a id="p101122"></a>Прикладной объект General_characteristics_definition является типом объекта Definition (см. [4.2.23](#p100971)), который обеспечивает основную часть документации судна. К нему относятся главные размеры и объемы по контракту объекта Ship (см. [4.2.88](#p102052)). Значение каждого объекта General_characteristics_definition будет либо Class_and_statutory_designation (см. [4.2.18](#p100868)), Owner_designation (см. [4.2.75](#p101759)), Ship_designation (см. [4.2.92](#p102170)), Shipyard_designation (см. [4.2.99](#p102515)), Ship_overall_dimensions (см. [4.2.95](#p102217)), Principal_characteristics (см. [4.2.78](#p101789)), Class_parameters (см. [4.2.20](#p100930)), либо Global_axis_placement (см. [4.2.41](#p101127)).
<a id="p101123"></a>С объектом General_characteristics_definition связаны следующие данные:
- <a id="p101124"></a>defined_for.

###### <a id="p101125"></a>4.2.40.1 Данные defined_for

<a id="p101126"></a>Данные defined_for определяют объект Ship (см. [4.2.88](#p102052)), к которому применяется прикладной объект General_characteristics_definition. В одном объекте Ship может быть задано несколько данных вида defined_for. Прикладное утверждение - см. [4.3.35](#p102963).

##### <a id="p101127"></a>4.2.41 Прикладной объект Global_axis_placement

<a id="p101128"></a>Прикладной объект Global_axis_placement является типом объекта General_characteristics_definition (см. [4.2.40](#p101121)), который определяет неподвижную систему правосторонних ортогональных осей, к которой относятся геометрические данные. Прикладной объект Global_axis_placement должен иметь положительную ось Z в направлении вверх, начиная с основания судна, и положительную ось X, идущую вдоль судна на пересечении ДП с основанием. В одном случае она направлена от кормовой части судна к носовой, а в другом - от носовой части к кормовой. Исходной точкой объекта Global_axis_placement может быть любая точка на оси X. Должна быть указана длина кормового перпендикуляра от начала координат и ориентация оси X. При использовании какой-либо другой системы координат, локальной или глобальной, должны быть указаны отношения преобразования между этой системой и прикладным объектом Global_axis_placement.
<a id="p101129"></a>Пример - Глобальная ось судна показана на [рисунке 10](#p101131).

<a id="p101130"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_9.png) 

<a id="p101131"></a>Рисунок 10 - Размещения глобальных осей

<a id="p101132"></a>С объектом Global_axis_placement связаны следующие данные:
- <a id="p101133"></a>after_perpendicular_offset;
- <a id="p101134"></a>orientation.

###### <a id="p101135"></a>4.2.41.1 Данные after_perpendicular_offset

<a id="p101136"></a>Данные after_perpendicular_offset определяют расстояние от начала отсчета прикладного объекта Global_axis_placement до кормового перпендикуляра.

###### <a id="p101137"></a>4.2.41.2 Данные orientation

<a id="p101138"></a>Данные orientation определяют направления оси X.
<a id="p101139"></a>Значение данных orientation должно быть одним из следующих:
- <a id="p101140"></a>aft_pointing;
- <a id="p101141"></a>forward_pointing.
<a id="p101142"></a>Примечание - Определение всех допустимых значений данных вида orientation дано в [4.2.42.2.1](#p101143), [4.2.42.2.2](#p101145).

<a id="p101143"></a>4.2.41.2.1 aft_pointing
<a id="p101144"></a>Ориентация глобальной системы координат судна является правосторонней системой, в которой положительная ось X направлена от носовой части судна к кормовой части судна.
<a id="p101145"></a>4.2.41.2.2 forward_pointing
<a id="p101146"></a>Ориентация глобальной системы координат судна является правосторонней системой, в которой положительная ось X направлена от кормовой части судна к носовой части судна.

##### <a id="p101147"></a>4.2.42 Прикладной объект Global_id

<a id="p101148"></a>Прикладной объект Global_id является постоянным глобальным идентификатором, который обеспечивает уникальную идентификацию данных изделия.
<a id="p101149"></a>С объектом Global_id связаны следующие данные: id.

###### <a id="p101150"></a>4.2.42.1 Данные id

<a id="p101151"></a>Данные id определяют уникальный постоянный идентификатор, формируемый компанией, которая создает данные об изделии.

##### <a id="p101152"></a>4.2.43 Прикладной объект Hull_applicability

<a id="p101153"></a>Прикладной объект Hull_applicability представляет собой идентификацию корпуса судна или диапазон корпусов в классе судов, для которого применяются конкретные данные об изделии.
<a id="p101154"></a>С объектом Hull_applicability связаны следующие данные:
- <a id="p101155"></a>definitions_for_hulls;
- <a id="p101156"></a>end_hull;
- <a id="p101157"></a>items_for_hulls;
- <a id="p101158"></a>start_hull.

###### <a id="p101159"></a>4.2.43.1 Данные definitions_for_hulls

<a id="p101160"></a>Данные definitions_for_hulls определяют объекты Definition (см. [4.2.23](#p100971)), применяемые к диапазону корпусов, заданных в данных видов start_hull и end_hull. Прикладное утверждение - см. [4.3.36](#p102965).

###### <a id="p101161"></a>4.2.43.2 Данные end_hull

<a id="p101162"></a>Данные end_hull определяют конечный корпус в диапазоне корпусов, к которому применяются данные изделия. Для конкретного Hull_applicability данные вида end_hull могут быть не заданы. Если данные the end_hull не заданы, данные изделия будут применяться только к данным start_hull.

###### <a id="p101163"></a>4.2.43.3 Данные items_for_hulls

<a id="p101164"></a>Данные items_for_hulls определяют объекты Item (см. [4.2.52](#p101348)), применяемые к диапазону корпусов, заданных в данных видов start_hull и end_hull. Прикладное утверждение - см. [4.3.37](#p102967).

###### <a id="p101165"></a>4.2.43.4 Данные start_hull

<a id="p101166"></a>Данные start_hull определяют первый корпус в диапазоне корпусов, к которому применяются данные изделия.

##### <a id="p101167"></a>4.2.44 Прикладной объект Hull_moulded_form_design_parameter

<a id="p101168"></a>Прикладной объект Hull_moulded_form_design_parameter является типом прикладного объекта Moulded_form_characteristics_definition (см. [4.2.63](#p101467)), который содержит размеры и отношения корпуса судна.
<a id="p101169"></a>Пример - Размеры корпуса судна показаны на [рисунке 43](#p102221).
<a id="p101170"></a>С прикладным объектом Hull_moulded_form_design_parameter связаны следующие данные:
- <a id="p101171"></a>aft_end_of_flat_of_side;
- <a id="p101172"></a>aft_end_of_parallel_midbody_at_design_draught;
- <a id="p101173"></a>block_coefficient;
- <a id="p101174"></a>front_end_of_flat_of_side;
- <a id="p101175"></a>front_end_of_parallel_midbody_at_design_draught;
- <a id="p101176"></a>gunwale_radius;
- <a id="p101177"></a>hull_breadth;
- <a id="p101178"></a>hull_depth;
- <a id="p101179"></a>hull_design_draught;
- <a id="p101180"></a>hull_length_pp;
- <a id="p101181"></a>hull_length_waterline;
- <a id="p101182"></a>length_of_flat_of_side;
- <a id="p101183"></a>length_of_parallel_midbody_at_design_draught;
- <a id="p101184"></a>length_to_beam_ratio;
- <a id="p101185"></a>max_frame_section_area_location;
- <a id="p101186"></a>max_wetted_frame_section_area;
- <a id="p101187"></a>midship_tumble_data;
- <a id="p101188"></a>prismatic_coefficient;
- <a id="p101189"></a>waterline_angle_of_entrance_at_bow;
- <a id="p101190"></a>waterline_angle_of_entrance_at_stern;
- <a id="p101191"></a>waterplane_coefficient.

###### <a id="p101192"></a>4.2.44.1 Данные aft_end_of_flat_of_side

<a id="p101193"></a>Данные aft_end_of_flat_of_side определяют продольное расстояние от кормового перпендикуляра до кормовой оконечности плоскости борта, где корпус судна имеет вертикальную форму.

###### <a id="p101194"></a>4.2.44.2 Данные aft_end_of_parallel_midbody_at_design_draught

<a id="p101195"></a>Данные aft_end_of_parallel_midbody_at_design_draught определяют продольное расстояние от кормового перпендикуляра до кормовой границы цилиндрической вставки, измеряемое по конструктивной ватерлинии.

###### <a id="p101196"></a>4.2.44.3 Данные block_coefficient

<a id="p101197"></a>Данные block_coefficient определяют отношение объемного водоизмещения по теоретическому чертежу к объему блока, длина которого равна значению данных length_between_perpendiculars, ширина равна наибольшему значению данных moulded_breadth подводной части, а глубина равна значению данных design_draught.

###### <a id="p101198"></a>4.2.44.4 Данные front_end_of_flat_of_side

<a id="p101199"></a>Данные front_end_of_flat_of_side определяют продольное расстояние от кормового перпендикуляра до носовой оконечности плоскости борта, где корпус судна имеет вертикальную форму.

###### <a id="p101200"></a>4.2.44.5 Данные front_end_of_parallel_midbody_at_design_draught

<a id="p101201"></a>Данные front_end_of_parallel_midbody_at_design_draught определяют продольное расстояние от кормового перпендикуляра до носовой границы цилиндрической вставки, измеряемое по конструктивной ватерлинии.

###### <a id="p101202"></a>4.2.44.6 Данные gunwale_radius

<a id="p101203"></a>Данные gunwale_radius определяют радиус дуги, соединяющей борт корпуса с верхней палубой. Измеряют по мидель-шпангоуту. Для конкретного Hull_moulded_form_design_parameter данные вида gunwale_radius могут быть не заданы.

###### <a id="p101204"></a>4.2.44.7 Данные hull_breadth

<a id="p101205"></a>Данные hull_breadth определяют наибольшую ширину отдельного корпуса судна по мидель-шпангоуту и значению design_draught. Для конкретного Hull_moulded_form_design_parameter данные вида hull_breadth могут быть не заданы.
<a id="p101206"></a>Примечание - Для конкретного Hull_moulded_form_design_parameter данные вида hull_breadth могут быть не заданы для нормальных форм, где значение данных hull_breadth будет идентично значению данных moulded_breadth в прикладном объекте Principal_characteristics (см. [4.2.78](#p101789)). Этот параметр необходим только для специальных судов, например многокорпусные суда с разными корпусами и разными ширинами корпусов.


###### <a id="p101207"></a>4.2.44.8 Данные hull_depth

<a id="p101208"></a>Данные hull_depth определяют для каждого отдельного корпуса судна вертикальное расстояние от основной плоскости до самой верхней палубы, где палуба соединяется с бортом судна. Для конкретного Hull_moulded_form_design_parameter данные вида hull_depth могут быть не заданы.
<a id="p101209"></a>Примечание - Для конкретного Hull_moulded_form_design_parameter данные вида hull_depth могут быть не заданы для нормальных форм, где значение данных hull_depth будет идентично значению данных вида moulded_depth в прикладном объекте Principal_characteristics (см. [4.2.78](#p101789)). Этот параметр необходим только для специальных судов, например многокорпусные суда с разными корпусами и разными значениями hull_depths.


###### <a id="p101210"></a>4.2.44.9 Данные hull_design_draught

<a id="p101211"></a>Данные hull_design_draught определяют осадку, на которую спроектирован корпус судна.
<a id="p101212"></a>Примечание - Для конкретного Hull_moulded_form_design_parameter данные вида hull_design_draught могут быть не заданы для нормальных форм, где значение данных hull_design_draught будет идентично значению данных вида design_draught в прикладном объекте Principal_characteristics (см. [4.2.78](#p101789)). Этот параметр необходим только для специальных судов, например многокорпусные суда с разными корпусами и разными значениями hull_design_draughts.


###### <a id="p101213"></a>4.2.44.10 Данные hull_length_pp

<a id="p101214"></a>Данные hull_length_pp определяют длину, измеряемую от кормового перпендикуляра до носового перпендикуляра отдельного корпуса судна. Для конкретного Hull_moulded_form_design_parameter данные вида hull_length_pp могут быть не заданы.
<a id="p101215"></a>Примечание - Для конкретного Hull_moulded_form_design_parameter данные вида могут быть не заданы для нормальных форм, где значение данных hull_length_pp будет идентично значению данных length_between_perpendiculars в прикладном объекте Principal_characteristics (см. [4.2.78](#p101789)). Этот параметр необходим только для специальных судов, например многокорпусные суда с разными корпусами и разными значениями данных вида hull_length_pps.


###### <a id="p101216"></a>4.2.44.11 Данные hull_length_waterline

<a id="p101217"></a>Данные hull_length_waterline определяют габаритную длину корпуса, измеряемую по продольной оси корпуса при значении данных design_draught waterline. Для конкретного Hull_moulded_form_design_parameter данные вида hull_length_waterline могут быть не заданы.

###### <a id="p101218"></a>4.2.44.12 Данные length_of_flat_of_side

<a id="p101219"></a>Данные length_of_flat_of_side определяют длину прямостенной части борта, где корпус судна имеет вертикальную форму.

###### <a id="p101220"></a>4.2.44.13 Данные length_of_parallel_midbody_at_design_draught

<a id="p101221"></a>Данные length_of_parallel_midbody_at_design_draught определяют длину цилиндрической вставки судна.

###### <a id="p101222"></a>4.2.44.14 Данные length_to_beam_ratio

<a id="p101223"></a>Данные length_to_beam_ratio определяют отношение длины корпуса по ширине осадки судна по конструктивной ватерлинии.

###### <a id="p101224"></a>4.2.44.15 Данные max_frame_section_area_location

<a id="p101225"></a>Данные max_frame_section_area_location определяют продольное расстояние сечения шпангоута с наибольшей площадью подводной части при расчетной осадке от кормового перпендикуляра.
<a id="p101226"></a>Для конкретного Hull_moulded_form_design_parameter данные max_frame_section_area_location могут быть не заданы.
<a id="p101227"></a>*Примечание* - У большинства судов с параллельной средней частью значение данных max_frame_section_area_location будет на мидель-шпангоуте на половине длины между перпендикулярами.


###### <a id="p101228"></a>4.2.44.16 Данные max_wetted_frame_section_area

<a id="p101229"></a>Данные max_wetted_frame_section_area определяют максимальную смоченную площадь сечения шпангоута при расчетной осадке.
<a id="p101230"></a>*Примечание* - Для судовых корпусов нормальной формы это будет плоскость мидель-шпангоута. Для особых форм, например парусных яхт, значение данных max_wetted_frame_section_area может быть равно сечению, находящемуся на 1/3 длины судна от кормы.


###### <a id="p101231"></a>4.2.44.17 Данные midship_tumble_data

<a id="p101232"></a>Данные midship_tumble_data определяют специальный расчетный параметр, используемый для определения плоскости мидель-шпангоута. Для конкретного Hull_moulded_form_design_parameter данные вида midship_tumble_data могут быть не заданы. Прикладное утверждение - см. [4.3.38](#p102969).

###### <a id="p101233"></a>4.2.44.18 Данные prismatic_coefficient

<a id="p101234"></a>Данные prismatic_coefficient определяют отношение водоизмещения по теоретическому чертежу к объему призмы, длина которой равна длине между перпендикулярами, а площадь поперечного сечения равна площади плоскости мидель-шпангоута судна.

###### <a id="p101235"></a>4.2.44.19 Данные waterline_angle_of_entrance_at_bow

<a id="p101236"></a>Данные waterline_angle_of_entrance_at_bow определяют угол входа ватерлинии в носовой оконечности судна. Для конкретного Hull_moulded_form_design_parameter данные вида waterline_angle_of_entrance_at_bow могут быть не заданы.

###### <a id="p101237"></a>4.2.44.20 Данные waterline_angle_of_entrance_at_stern

<a id="p101238"></a>Данные waterline_angle_of_entrance_at_stern определяют угол схода ватерлинии в кормовой оконечности судна. Для конкретного Hull_moulded_form_design_parameter данные вида waterline_angle_of_entrance_at_stern могут быть не заданы.

###### <a id="p101239"></a>4.2.44.21 Данные waterplane_coefficient

<a id="p101240"></a>Данные waterplane_coefficient определяют отношение площади конструктивной ватерлинии судна к площади прямоугольника с длиной, равной длине между перпендикулярами, и шириной, равной теоретической ширине при конструктивной осадке.

##### <a id="p101241"></a>4.2.45 Прикладной объект Hydrostatic_definition

<a id="p101242"></a>Прикладной объект Hydrostatic_definition является типом прикладного объекта Design_definition (см. [4.2.25](#p100985)), который описывает взаимосвязь между прикладным объектом Ship_moulded_form (см. [4.2.93](#p102194)), набором изменений водоизмещения этого прикладного объекта Ship_moulded_form и разными объектами Hydrostatic_table (см. [4.2.51](#p101330)). Эти изменения могут быть вызваны различными сочетаниями приемных патрубков и выступающих частей со значениями прикладного объекта Ship_moulded_form.
<a id="p101243"></a>С объектом Hydrostatic_definition связаны следующие данные:
- <a id="p101244"></a>defined_for;
- <a id="p101245"></a>displacement_changes;
- <a id="p101246"></a>displacement_changes_description;
- <a id="p101247"></a>representations.

###### <a id="p101248"></a>4.2.45.1 Данные defined_for

<a id="p101249"></a>Данные defined_for определяют объект Ship (см. [4.2.88](#p102052)), для которого определен прикладной объект Hydrostatic_definition. Прикладное утверждение - см. [4.3.41](#p102975).

###### <a id="p101250"></a>4.2.45.2 Данные displacement_changes

<a id="p101251"></a>Данные displacement_changes определяют перечень объектов Displacement_operation (см. [4.2.26](#p100991)), в которых описываются сложения или вычитания из значения объекта Ship_moulded_form (см. [4.2.93](#p102194)) из-за сочетаний приемных патрубков и выступающих частей. В одном объекте Hydrostatic_definition может быть задано несколько данных вида displacement_changes. Прикладное утверждение - см. [4.3.39](#p102971).
<a id="p101252"></a>*Пример* - Для корпуса с трубой для носовых подруливающих устройств гидростатические характеристики будут меняться за счет включения трубы подруливающего устройства в корпус судна. Такое включение будет изменением водоизмещения.

###### <a id="p101253"></a>4.2.45.3 Данные displacement_changes_description

<a id="p101254"></a>Данные description определяют текстовое описание изменения водоизмещения. Для конкретного Hydrostatic_definition данные вида displacement_changes_description могут быть не заданы.

###### <a id="p101255"></a>4.2.45.4 Данные representations

<a id="p101256"></a>Данные representations определяют объекты Hydrostatic_table (см. [4.2.51](#p101330)), которые представляют прикладной объект Hydrostatic_definition. Прикладное утверждение - см. [4.3.40](#p102973).

##### <a id="p101257"></a>4.2.46 Прикладной объект Hydrostatic_position_value

<a id="p101258"></a>Прикладной объект Hydrostatic_position_value является типом объекта Hydrostatic_property_value (см. [4.2.49](#p101322)), который определяет размещение значения гидростатической характеристики в глобальной системе координат. При необходимости прикладной объект Hydrostatic_property (см. [4.2.48](#p101275)) действует через свой прикладной объект Hydrostatic_position_value.
<a id="p101259"></a>С объектом Hydrostatic_position_value связаны следующие данные: position.

###### <a id="p101260"></a>4.2.46.1 Данные position

<a id="p101261"></a>Данные position определяют размещение в глобальной системе координат, через которую действует объект Hydrostatic_property (см. [4.2.48](#p101275)). Прикладное утверждение - см. [4.3.42](#p102977).

##### <a id="p101262"></a>4.2.47 Прикладной объект Hydrostatic_properties_for_constant_floating_position

<a id="p101263"></a>Прикладной объект Hydrostatic_properties_for_constant_floating_position относится к гидростатическим характеристикам для одного отдельного прикладного объекта Floating_position (см. [4.2.37](#p101088)).
<a id="p101264"></a>С объектом Hydrostatic_properties_for_constant_floating_position связаны следующие данные:
- <a id="p101265"></a>definition_of_floating_position;
- <a id="p101266"></a>hydrostatic_property_values;
- <a id="p101267"></a>related_hydrostatic_table.

###### <a id="p101268"></a>4.2.47.1 Данные definition_of_floating_position

<a id="p101269"></a>Данные definition_of_floating_position определяют прикладной объект Floating_position (см. [4.2.37](#p101088)), для которого действительны объекты Hydrostatic_property_value (см. [4.2.49](#p101322)). Прикладное утверждение - см. [4.3.43](#p102979).

###### <a id="p101270"></a>4.2.47.2 Данные hydrostatic_property_values

<a id="p101271"></a>Данные hydrostatic_property_values определяют гидростатические характеристики судна для отдельного объекта Floating_position (см. [4.2.37](#p101088)). Прикладное утверждение - см. [4.3.44](#p102981).

###### <a id="p101272"></a>4.2.47.3 Данные related_hydrostatic_table

<a id="p101273"></a>Данные related_hydrostatic_table определяют набор объектов прикладного объекта Hydrostatic_table (см. [4.2.51](#p101330)), с которыми связан прикладной объект Hydrostatic_properties_for_constant_floating_position. Прикладное утверждение - см. [4.3.46](#p102985).
<a id="p101274"></a>*Примечание* - Соответствующий атрибут данных вида related_hydrostatic_table attribute является обратным элементом атрибута для объекта Hydrostatic_table.


##### <a id="p101275"></a>4.2.48 Прикладной объект Hydrostatic_property

<a id="p101276"></a>Прикладной объект Hydrostatic_property является гидростатическим параметром, используемым для описания гидростатической характеристики судна. Все гидростатические характеристики зависят от объекта Floating_position (см. [4.2.37](#p101088)) судна.
<a id="p101277"></a>С объектом Hydrostatic_property связаны следующие данные:
- <a id="p101278"></a>property_type;
- <a id="p101279"></a>property_unit.

###### <a id="p101280"></a>4.2.48.1 Данные property_type

<a id="p101281"></a>Данные property_type определяют тип необходимого параметра.
<a id="p101282"></a>Значение данных вида property_type должно быть одним из следующих:
- <a id="p101283"></a>centre_of_buoyancy;
- <a id="p101284"></a>centre_of_flotation;
- <a id="p101285"></a>centre_of_lateral_resistance;
- <a id="p101286"></a>longitudinal_metacentric_height;
- <a id="p101287"></a>longitudinal_second_moment_of_area_of_waterplane;
- <a id="p101288"></a>mid_ship_section_area;
- <a id="p101289"></a>moment_for_unit_change_of_trim;
- <a id="p101290"></a>transverse_metacentric_height;
- <a id="p101291"></a>transverse_second_moment_of_area_of_waterplane;
- <a id="p101292"></a>waterplane_area;
- <a id="p101293"></a>wetted_surface_area.
<a id="p101294"></a>4.2.48.1.1 centre_of_buoyancy
<a id="p101295"></a>Этот параметр указывает центр погруженного объема подводной части корпуса судна, измеряемый в глобальной системе координат.
<a id="p101296"></a>*Примечание* - Параметр центр величины обозначают заглавной буквой B.

<a id="p101297"></a>4.2.48.1.2 centre_of_flotation
<a id="p101298"></a>Этот параметр определяет геометрический центр тяжести площади ватерлинии теоретического обвода корпуса в глобальной системе координат.
<a id="p101299"></a>4.2.48.1.3 centre_of_lateral_resistance
<a id="p101300"></a>Этот параметр определяет размещение центра всех сил, возникающих из-за бокового сопротивления судна при его движении лагом вбок. Это размещение является свойством формы теоретического обвода корпуса и измеряется в глобальной системе координат. Это размещение необходимо, например, при проектировании подруливающих устройств в носу и в корме судна.
<a id="p101301"></a>4.2.48.1.4 longitudinal_metacentric_height
<a id="p101302"></a>Этот параметр определяет высоту по вертикали от центра тяжести судна до продольного метацентра. Продольный метацентр определяют как точку пересечения линии действия силы плавучести с линией действия восстанавливающей силы, возникающей при изменении дифферента.
<a id="p101303"></a>4.2.48.1.5 longitudinal_second_moment_of_area_of_waterplane
<a id="p101304"></a>Этот параметр определяет момент инерции площади ватерлинии вокруг поперечной оси.
<a id="p101305"></a>4.2.48.1.6 mid_ship_section_area
<a id="p101306"></a>Этот параметр определяет площадь подводной части сечения теоретического обвода корпуса по мидель-шпангоуту.
<a id="p101307"></a>4.2.48.1.7 moment_for_unit_change_of_trim
<a id="p101308"></a>Этот параметр определяет момент вокруг поперечной оси, необходимый для изменения разницы между носовой и кормовой осадками на одну единицу.
<a id="p101309"></a>4.2.48.1.8 transverse_metacentric_height
<a id="p101310"></a>Этот параметр определяет высоту по вертикали от центра тяжести судна до поперечного метацентра. Поперечный метацентр определяют как точку пересечения линии действия силы плавучести с линией действия восстанавливающей силы, возникающей при накренении судна.
<a id="p101311"></a>Пример - Центр тяжести судна до поперечного метацентра показан на [рисунке 11](#p101313). Остойчивость формы показана на [рисунке 50](#p102693).

<a id="p101312"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_10.png) 

<a id="p101313"></a>Рисунок 11 - Поперечный метацентр

<a id="p101314"></a>4.2.48.1.9 transverse_second_moment_of_area_of_waterplane
<a id="p101315"></a>Этот параметр определяет момент инерции площади ватерлинии вокруг продольной оси.
<a id="p101316"></a>4.2.48.1.10 waterplane_area
<a id="p101317"></a>Этот параметр определяет площадь ватерлинии. Ватерлиния - линия соприкосновения поверхности тихой воды с корпусом плавающего судна.
<a id="p101318"></a>4.2.48.1.11 wetted_surface_area
<a id="p101319"></a>Этот параметр определяет площадь смоченной поверхности судна.

###### <a id="p101320"></a>4.2.48.2 Данные property_measure

<a id="p101321"></a>Данные property_measure определяют единицу измерения объекта Hydrostatic_property. Значением данных вида property_measure может быть Centre_location (см. [4.2.10](#p100791)). Прикладное утверждение - см. [4.3.45](#p102983).

##### <a id="p101322"></a>4.2.49 Прикладной объект Hydrostatic_property_value

<a id="p101323"></a>Прикладной объект Hydrostatic_property_value является гидростатическим параметром, описывающим гидростатическую характеристику судна. Прикладной объект Hydrostatic_property_value зависит от объекта Floating_position (см. [4.2.37](#p101088)) судна. Значением объекта Hydrostatic_property_value может быть Hydrostatic_position_value (см. [4.2.46](#p101257)) или Hydrostatic_scalar_value (см. [4.2.50](#p101324)).

##### <a id="p101324"></a>4.2.50 Прикладной объект Hydrostatic_scalar_value

<a id="p101325"></a>Прикладной объект Hydrostatic_scalar_value является типом объекта Hydrostatic_property_value (см. [4.2.49](#p101322)), определяющим объект Hydrostatic_property_value, измеряемый значением без направления.
<a id="p101326"></a>С объектом Hydrostatic_scalar_value связаны следующие данные:
- <a id="p101327"></a>scalar.

###### <a id="p101328"></a>4.2.50.1 Данные scalar

<a id="p101329"></a>Данные вида scalar определяют значение для объекта Hydrostatic_property (см. [4.2.48](#p101275)).

##### <a id="p101330"></a>4.2.51 Прикладной объект Hydrostatic_table

<a id="p101331"></a>Прикладной объект Hydrostatic_table представляет собой гидростатические характеристики и значения для данного объекта Hydrostatic_definition (см. [4.2.45](#p101241)). Прикладной объект Hydrostatic_table состоит из перечня значений объекта Hydrostatic_properties_for_constant_floating_position (см. [4.2.47](#p101262)), где каждая запись охватывает все гидростатические характеристики судна для разных значений объектов Floating_position (см. [4.2.37](#p101088)). Поскольку гидростатические характеристики относятся к экстремальной форме, для создания экстремальной формы из теоретического обвода используют равномерную толщину обшивки.
<a id="p101332"></a>С объектом Hydrostatic_table связаны следующие данные:
- <a id="p101333"></a>items;
- <a id="p101334"></a>mean_shell_thickness;
- <a id="p101335"></a>name;
- <a id="p101336"></a>properties_in_the_hydrostatic_table.

###### <a id="p101337"></a>4.2.51.1 Данные items

<a id="p101338"></a>Данные items определяют объект Hydrostatic_properties_for_constant_floating_position (см. [4.2.47](#p101262)), описывающий все гидростатические характеристики судна, для отдельного объекта Floating_position (см. [4.2.37](#p101088)). Прикладное утверждение - см. [4.3.46](#p102985).

###### <a id="p101339"></a>4.2.51.2 Данные mean_shell_thickness

<a id="p101340"></a>Данные mean_shell_thickness определяют реальное значение средней толщины внешней обшивки, которое может использоваться для определения соответствующей экстремальной формы для гидростатических характеристик судна, включая толщину.
<a id="p101341"></a>Пример - Измерение толщины обшивки показано на [рисунке 12](#p101343).

<a id="p101342"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_11.png) 

<a id="p101343"></a>Рисунок 12 - Измерение толщины обшивки


###### <a id="p101344"></a>4.2.51.3 Данные name

<a id="p101345"></a>Данные name указывают определенное пользователем или системой имя для объекта Hydrostatic_table.

###### <a id="p101346"></a>4.2.51.4 Данные properties_in_the_hydrostatic_table

<a id="p101347"></a>Данные properties_in_the_hydrostatic_table определяют перечень объектов Hydrostatic_property (см. [4.2.48](#p101275)) для прикладного объекта Hydrostatic_table. Прикладное утверждение - см. [4.3.47](#p102987).

##### <a id="p101348"></a>4.2.52 Прикладной объект Item

<a id="p101349"></a>Прикладной объект Item является типом объекта Definable_object (см. [4.2.22](#p100966)), являющимся дискретным идентифицируемым объектом, который используется в одной или нескольких работах по проектированию, производству или эксплуатации. Прикладной объект Item представляет собой нечто, создаваемое в результате физической или умственной работы или (автоматически) получаемое из одного или нескольких других объектов Items. Прикладной объект Item может не представлять физический реальный объект; он также может представлять некую абстрактную концепцию. Прикладной объект Item обеспечивает функциональность для обеспечения наличия взаимосвязей с другими прикладными объектами Items и для существования в виде элемента в прикладном объекте Item_structure (см. [4.2.54](#p101378)). Значением каждого объекта Item будет Change (см. [4.2.11](#p100793)), Ship (см. [4.2.88](#p102052)), Ship_moulded_form (см. [4.2.93](#p102194)) или Moulded_form (см. [4.2.61](#p101450)).
<a id="p101350"></a>С объектом Item связаны следующие данные:
- <a id="p101351"></a>description;
- <a id="p101352"></a>documentation;
- <a id="p101353"></a>name;
- <a id="p101354"></a>ship_context.

###### <a id="p101355"></a>4.2.52.1 Данные description

<a id="p101356"></a>Данные description определяют текстовую характеристику объекта Item. Для конкретного Item данные вида description могут быть не заданы.

###### <a id="p101357"></a>4.2.52.2 Данные documentation

<a id="p101358"></a>Данные documentation определяют ссылки на дополнительные сопроводительные документы, имеющиеся для объекта Item. Прикладное утверждение - см. [4.3.48](#p102989).

###### <a id="p101359"></a>4.2.52.3 Данные name

<a id="p101360"></a>Данные name определяют удобочитаемую человеком текстовую подпись концепции, представляемой объектом Item.

###### <a id="p101361"></a>4.2.52.4 Данные ship_context

<a id="p101362"></a>Данные ship_context определяют прикладной объект Item, входящий в состав объекта Ship (см. [4.2.88](#p102052)), в части его применимости к объекту Ship. Для конкретного Item данные вида ship_context могут быть не заданы. Прикладное утверждение - см. [4.3.49](#p102991).

##### <a id="p101363"></a>4.2.53 Прикладной объект Item_relationship

<a id="p101364"></a>Прикладной объект Item_relationship является типом объектов Definable_object (см. [4.2.22](#p100966)) и Versionable_object (см. [4.2.121](#p102762)), определяющим связь с двумя объектами Item (см. [4.2.52](#p101348)). Эти связанные объекты Item имеют общую функцию или работу или зависят друг от друга. Значением каждого прикладного объекта Item_relationship будет прикладной объект Moulded_form_relationship (см. [4.2.66](#p101624)).
<a id="p101365"></a>С объектом Item_relationship связаны следующие данные:
- <a id="p101366"></a>external_item_1;
- <a id="p101367"></a>external_item_2;
- <a id="p101368"></a>item_1;
- <a id="p101369"></a>item_2.

###### <a id="p101370"></a>4.2.53.1 Данные external_item_1

<a id="p101371"></a>Данные external_item_1 определяют соответствующий объект Item объекта Item_relationship в случае, когда он является экземпляром объекта Item, на который дана внешняя ссылка. Для конкретного Item_relationship данные вида external_item_1 могут быть не заданы. Прикладное утверждение - см. [4.3.50](#p102993).

###### <a id="p101372"></a>4.2.53.2 Данные external_item_2

<a id="p101373"></a>Данные external_item_2 определяют соответствующий объект Item объекта Item_relationship в случае, когда он является экземпляром объекта Item, на который дана внешняя ссылка. Для конкретного Item_relationship данные вида external_item_2 могут быть не заданы. Прикладное утверждение - см. [4.3.50](#p102993).

###### <a id="p101374"></a>4.2.53.3 Данные item_1

<a id="p101375"></a>Данные item_1 определяют соответствующий объект Item взаимосвязи в случае, когда он в той же модели экземпляра, что и объект Item. Для конкретного Item_relationship данные вида item_1 могут быть не заданы. Прикладное утверждение - см. [4.3.51](#p102996).

###### <a id="p101376"></a>4.2.53.4 Данные item_2

<a id="p101377"></a>Данные item_2 определяют соответствующий объект Item взаимосвязи в случае, когда он в той же модели экземпляра, что и объект Item. Для конкретного Item_relationship данные вида item_2 могут быть не заданы. Прикладное утверждение - см. [4.3.51](#p102996).

##### <a id="p101378"></a>4.2.54 Прикладной объект Item_structure

<a id="p101379"></a>Прикладной объект Item_structure является типом объектов Definable_object (см. [4.2.22](#p100966)) и Versionable_object (см. [4.2.121](#p102762)), являющимся собранием объектов Item (см. [4.2.52](#p101348)), возможно, связанных объектами Item_relationship (см. [4.2.53](#p101363)). Прикладной объект Item_structure формирует график без каких-либо ограничений относительно количества записей, связи или цикличности. Значением каждого Item_structure является Ship_moulded_form (см. [4.2.93](#p102194)).
<a id="p101380"></a>С объектом Item_structure связаны следующие данные:
- <a id="p101381"></a>external_items;
- <a id="p101382"></a>external_relationships;
- <a id="p101383"></a>items;
- <a id="p101384"></a>relationships.

###### <a id="p101385"></a>4.2.54.1 Данные external_items

<a id="p101386"></a>Данные external_items определяют объекты Item, внешне принадлежащие прикладному объекту Item_structure. Прикладное утверждение - см. [4.3.52](#p102999).

###### <a id="p101387"></a>4.2.54.2 Данные external_relationships

<a id="p101388"></a>Данные external_relationships определят взаимосвязи (внешние) между объектами Item (см. [4.2.52](#p101348)), принадлежащими прикладному объекту Item_structure. Прикладное утверждение - см. [4.3.52](#p102999).

###### <a id="p101389"></a>4.2.54.3 Данные items

<a id="p101390"></a>Данные items определяют объекты Item, локально принадлежащие прикладному объекту Item_structure. Прикладное утверждение - см. [4.3.53](#p103002).

###### <a id="p101391"></a>4.2.54.4 Данные relationships

<a id="p101392"></a>Данные relationships определяют взаимосвязи (местные) между объектами Item (см. [4.2.52](#p101348)), принадлежащими прикладному объекту Item_structure. Прикладное утверждение - см. [4.3.54](#p103004).

##### <a id="p101393"></a>4.2.55 Прикладной объект Knot

<a id="p101394"></a>Прикладной объект Knot является точкой вершины (пучка кривых) с дополнительной информацией для представления каркаса, заданного для судна. Прикладной объект Knot является угловой точкой ячейки в каркасной сетке с информацией о пересекающихся кривых судна в этой точке и информацией о касательной в этой точке.
<a id="p101395"></a>С прикладным объектом Knot связаны следующие данные:
- <a id="p101396"></a>intersecting_ship_curves;
- <a id="p101397"></a>tangent_information.

###### <a id="p101398"></a>4.2.55.1 Данные intersecting_ship_curves

<a id="p101399"></a>Данные intersecting_ship_curves определяют ссылку на кривые судна, пересекающиеся в прикладном объекте Knot. Прикладное утверждение - см. [4.3.55](#p103006).

###### <a id="p101400"></a>4.2.55.2 Данные tangent_information

<a id="p101401"></a>Данные tangent_information определяют направление и величину касательной в прикладном объекте Knot. Для конкретного Knot данные вида tangent_information могут быть не заданы.
<a id="p101402"></a>*Примечание* - Эта информация может использоваться для систем, для которых отсутствует достаточная информация о геометрии кривых.


##### <a id="p101403"></a>4.2.56 Прикладной объект Local_co_ordinate_system

<a id="p101404"></a>Прикладной объект Local_co_ordinate_system является типом прикладного объекта Definition (см. [4.2.23](#p100971)), который используют для определения местоположения объекта в пространстве. Прикладной объект Local_co_ordinate_system всегда определяется в части другой системы координат. Это может быть Global_axis_placement (см. [4.2.41](#p101127)) или другой объект Local_co_ordinate_system, являющийся элементом этой же иерархии. Значением каждого прикладного объекта Local_co_ordinate_system может быть Local_co_ordinate_system_with_position_reference (см. [4.2.57](#p101413)).
<a id="p101405"></a>Пример - Локальная система координат показана на [рисунке 13](#p101409).
<a id="p101406"></a>*Примечание* 1 - Локальные оси и точка отсчета обрабатываются так же, как для axis2_placement_3d. Axis2_placement_3d является сущностью ресурса STEP, определенного в ИСО 10303-42.
<a id="p101407"></a>*Примечание* 2 - Прикладной объект local_co_ordinate system всегда формирует правостороннюю систему.

<a id="p101408"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_12.png) 

<a id="p101409"></a>Рисунок 13 - Локальная система координат

<a id="p101410"></a>С объектом Local_co_ordinate_system связаны следующие данные: parent.

###### <a id="p101411"></a>4.2.56.1 Данные parent

<a id="p101412"></a>Данные parent определяют лежащую в основе систему координат, которая служит пространством определения для текущей системы координат. Прикладные утверждения - см. [4.3.56](#p103008) и [4.3.57](#p103011).

##### <a id="p101413"></a>4.2.57 Прикладной объект Local_co_ordinate_system_with_position_reference

<a id="p101414"></a>Прикладной объект Local_co_ordinate_system_with_position_reference является типом объекта Local_co_ordinate_system (см. [4.2.56](#p101403)), который напрямую ссылается на уникальный объект Global_axis_placement (см. [4.2.41](#p101127)) в качестве своего прямого предка. Его размещение определяется ссылками на продольный, вертикальный или поперечный набор, возможно, с использованием дополнительного значения ординаты теоретического чертежа (расстояние). Как вариант, могут указываться абсолютные координаты. Также действительны сочетания координат и привязок. Прикладной объект Local_co_ordinate_system_with_position_reference не должен определять вращения как преобразования в глобальную систему в качестве результата, т.е. его оси должны быть параллельны осям объекта Global_axis_placement.
<a id="p101415"></a>С объектом Local_co_ordinate_system_with_position_reference связаны следующие данные:
- <a id="p101416"></a>longitudinal_ref;
- <a id="p101417"></a>transversal_ref;
- <a id="p101418"></a>vertical_ref.

###### <a id="p101419"></a>4.2.57.1 Данные longitudinal_ref

<a id="p101420"></a>Данные longitudinal_ref определяют объект Longitudinal_position (см. [4.2.58](#p101425)), возможно со значением ординаты теоретического чертежа, или значение абсолютной координаты, по продольной оси глобальной системы координат. Для конкретного Local_co_ordinate_system_with_position_reference данные вида longitudinal_ref могут быть не заданы. Прикладное утверждение - см. [4.3.58](#p103014).

###### <a id="p101421"></a>4.2.57.2 Данные transversal_ref

<a id="p101422"></a>Данные transversal_ref определяют объект Transversal_position (см. [4.2.113](#p102694)), возможно со значением ординаты теоретического чертежа, или значение абсолютной координаты, по поперечной оси глобальной системы координат. Для конкретного Local_co_ordinate_system_with_position_reference данные вида transversal_ref могут быть не заданы. Прикладное утверждение - см. [4.3.58](#p103014).

###### <a id="p101423"></a>4.2.57.3 Данные vertical_ref

<a id="p101424"></a>Данные vertical_ref определяют объект Vertical_position (см. [4.2.123](#p102773)), возможно со значением ординаты теоретического чертежа, или значением абсолютной координаты, по вертикальной оси глобальной системы координат. Для конкретного Local_co_ordinate_system_with_position_reference данные вида vertical_ref могут быть не заданы. Прикладное утверждение - см. [4.3.58](#p103014).

##### <a id="p101425"></a>4.2.58 Прикладной объект Longitudinal_position

<a id="p101426"></a>Прикладной объект Longitudinal_position является типом объекта Spacing_position (см. [4.2.100](#p102550)), который находится на глобальной оси X.

##### <a id="p101427"></a>4.2.59 Прикладной объект Longitudinal_table

<a id="p101428"></a>Прикладной объект Longitudinal_table является типом объекта Spacing_table (см. [4.2.102](#p102578)), у которого есть положения, находящиеся по продольной оси (ось X) глобальной системы координат. Значением каждого объекта Longitudinal_table может быть либо Frame_table (см [4.2.38](#p101109)), либо Station_table (см. [4.2.107](#p102638)).
<a id="p101429"></a>С объектом Longitudinal_table связаны следующие данные: spacing_table_representations.

###### <a id="p101430"></a>4.2.59.1 Данные spacing_table_representations

<a id="p101431"></a>Данные вида spacing_table_representations определяют продольные положения, входящие в состав объекта Longitudinal_table. Прикладное утверждение - см. [4.3.59](#p103019).

##### <a id="p101432"></a>4.2.60 Прикладной объект Midship_tumble

<a id="p101433"></a>Прикладной объект Midship_tumble определяет специальный расчетный параметр, используемый для определения плоскости мидель-шпангоута.
<a id="p101434"></a>Пример - Завал по мидель-шпангоуту показан на [рисунке 14](#p101436).

<a id="p101435"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_13.png) 

<a id="p101436"></a>Рисунок 14 - Завал по мидель-шпангоуту

<a id="p101437"></a>С объектом Midship_tumble связаны следующие данные:
- <a id="p101438"></a>tumble_in_at_side;
- <a id="p101439"></a>tumble_in_at_top;
- <a id="p101440"></a>tumble_out_at_bottom;
- <a id="p101441"></a>tumble_out_at_side.

###### <a id="p101442"></a>4.2.60.1 Данные tumble_in_at_side

<a id="p101443"></a>Данные tumble_in_at_side определяют высоту, с которой начинается завал шпангоута (измеряют от ОП).

###### <a id="p101444"></a>4.2.60.2 Данные tumble_in_at_top

<a id="p101445"></a>Данные tumble_in_at_top определяют величину завала шпангоута по оси Y (измеряют от максимальной полушироты корпуса).

###### <a id="p101446"></a>4.2.60.3 Данные tumble_out_at_bottom

<a id="p101447"></a>Данные tumble_out_at_bottom определяют наклон борта (измеряют на ОП от максимальной полушироты).

###### <a id="p101448"></a>4.2.60.4 Данные tumble_out_at_side

<a id="p101449"></a>Данные tumble_out_at_side определяют высоту, с которой начинается наклон борта (измеряют от ОП).

##### <a id="p101450"></a>4.2.61 Прикладной объект Moulded_form

<a id="p101451"></a>Прикладной объект Moulded_form является типом объекта Item (см. [4.2.52](#p101348)), входящим в состав объекта Ship_moulded_form (см. [4.2.93](#p102194)). Прикладной объект Moulded_form определяет геометрическую форму составной части судна. Отдельные типы объектов прикладного объекта Moulded_form могут также определяться набором размеров.
<a id="p101452"></a>Пример - Корпус судна с бульбообразным носом и трубами для подруливающих устройств показан на [рисунке 15](#p101455).
<a id="p101453"></a>Примечание - Прикладной объект Moulded_form не включает толщину (или любую другую информацию), материала, из которого он изготавливается. Существует разница между прикладным объектом Moulded_form и прикладным объектом Ship_surface (см. [4.2.97](#p102268)). Прикладной объект Moulded_form является физическим элементом, входящим в состав объекта Ship_moulded_form. Прикладной объект Ship_surface является представлением объекта Moulded_form. Прикладной объект Moulded_form представлен одним или несколькими объектами Ship_surface.

<a id="p101454"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_14.png) 

<a id="p101455"></a>Рисунок 15 - Корпус судна с бульбообразным носом и трубами
для подруливающих устройств


##### <a id="p101456"></a>4.2.62 Прикладной объект Moulded_form_boundary_relationship

<a id="p101457"></a>Прикладной объект Moulded_form_boundary_relationship является типом объекта Moulded_form_relationship (см. [4.2.66](#p101624)), определяющим взаимосвязь между двумя теоретическими обводами, который задает одну из границ первого теоретического обвода как его пересечение со вторым теоретическим обводом.
<a id="p101458"></a>С объектом Moulded_form_boundary_relationship связаны следующие данные:
- <a id="p101459"></a>item_1;
- <a id="p101460"></a>item_2.

###### <a id="p101461"></a>4.2.62.1 Данные item_1

<a id="p101462"></a>Данные item_1 определяют объект Moulded_form (см. [4.2.61](#p101450)), для которого определяется граница. Для конкретного Moulded_form_boundary_relationship данные вида item_1 могут быть не заданы. Прикладное утверждение - см. [4.3.60](#p103021).
<a id="p101463"></a>Примечание - Если данные вида item_1 не заданы, должен быть задан атрибут external_item_1 для прикладного объекта Item_relationship (см. [4.2.53.1](#p101370)).


###### <a id="p101464"></a>4.2.62.2 Данные item_2

<a id="p101465"></a>Данные item_2 определяют объект Moulded_form (см. [4.2.61](#p101450)), который определяет одну из границ объекта Moulded_form, определяемую данными вида item_1. Для конкретного Moulded_form_boundary_relationship данные вида item_2 могут быть не заданы. Прикладное утверждение - см. [4.3.61](#p103023).
<a id="p101466"></a>Примечание - Если данные вида item_2 не заданы, должен быть задан атрибут external_item_2 для прикладного объекта Item_relationship (см. [4.2.53.2](#p101372)).


##### <a id="p101467"></a>4.2.63 Прикладной объект Moulded_form_characteristics_definition

<a id="p101468"></a>Прикладной объект Moulded_form_characteristics_definition является типом объекта Definition (см. [4.2.23](#p100971)), определяющим расчетные параметры для разных типов объектов Moulded_form (см. [4.2.61](#p101450)). Эта информация содержит размеры и отношения, важные для простой характеризации деталей корпуса, носа, гребного винта, руля, выступающей части, подруливающего устройства и днища.
<a id="p101469"></a>Значениями прикладного объекта Moulded_form_characteristics_definition могут быть: Hull_moulded_form_design_parameter (см. [4.2.44](#p101167)), Deck_moulded_form_design_parameter (см. [4.2.21](#p100951)), Bottom_moulded_form_design_parameter (см. [4.2.6](#p100619)), Bulb_moulded_form_design_parameter (см. [4.2.7](#p100646)), Propeller_moulded_form_design_parameter (см. [4.2.80](#p101844)), Rudder_moulded_form_design_parameter (см. [4.2.86](#p101997)), Thruster_moulded_form_design_parameter (см. [4.2.112](#p102659)) или Appendage_moulded_form_design_parameter (см. [4.2.3](#p100476)).
<a id="p101470"></a>*Примечание* - Если данные характеристик теоретического обвода будут отличаться от информации, имеющейся для любого геометрического представления, приоритет будут иметь геометрические данные. На теоретическом обводе основываются водоизмещение и смоченная внешняя поверхность. С точки зрения теории судна, этот же параметр, основанный на экстремальной форме, учитывающей толщину, может быть более практичным.

<a id="p101471"></a>С объектом Moulded_form_characteristics_definition связаны следующие данные:
- <a id="p101472"></a>defined_for;
- <a id="p101473"></a>moulded_form_displacement;
- <a id="p101474"></a>moulded_form_outer_surface.

###### <a id="p101475"></a>4.2.63.1 Данные defined_for

<a id="p101476"></a>Данные defined_for определяют объект Moulded_form (см. [4.2.61](#p101450)), для которого определен прикладной объект Moulded_form_characteristics_definition. Прикладное утверждение - см. [4.3.62](#p103025).

###### <a id="p101477"></a>4.2.63.2 Данные moulded_form_displacement

<a id="p101478"></a>Данные moulded_form_displacement определяют подводное водоизмещение отдельного объекта Moulded_form (см. [4.2.61](#p101450)).

###### <a id="p101479"></a>4.2.63.3 Данные moulded_form_outer_surface

<a id="p101480"></a>Данные moulded_form_outer_surface определяют смоченную внешнюю поверхность отдельного объекта Moulded_form (см. [4.2.61](#p101450)).

##### <a id="p101481"></a>4.2.64 Прикладной объект Moulded_form_design_definition

<a id="p101482"></a>Прикладной объект Moulded_form_design_definition является типом объекта Design_definition (см. [4.2.25](#p100985)), задающим определение объекта Moulded_form (см. [4.2.61](#p101450)).
<a id="p101483"></a>С объектом Moulded_form_design_definition связаны следующие данные:
- <a id="p101484"></a>borders;
- <a id="p101485"></a>defined_for;
- <a id="p101486"></a>moulded_surface;
- <a id="p101487"></a>representations;
- <a id="p101488"></a>status.

###### <a id="p101489"></a>4.2.64.1 Данные borders

<a id="p101490"></a>Данные borders определяют границы теоретического обвода, заданного конкретной геометрией или путем взаимосвязей с другими объектами Moulded_form (см. [4.2.61](#p101450)). Порядок границ должен иметь значение, однако правило, что конечная точка границы [n] = начальная точка границы [n + 1], отсутствует. Кроме того, две границы могут пересекаться или может быть необходимо (прямо) удлинить одну или обе границы, чтобы они пересекались. Для конкретного Moulded_form_design_definition данные вида borders могут быть не заданы. Прикладные утверждения - см. [4.3.66](#p103039), [4.3.67](#p103042) и [4.3.70](#p103051).

###### <a id="p101491"></a>4.2.64.2 Данные defined_for

<a id="p101492"></a>Данные defined_for определяют объекты Moulded_form (см. [4.2.61](#p101450)), которые определяет прикладной объект Moulded_form_design_definition. Прикладное утверждение - см. [4.3.65](#p103037).

###### <a id="p101493"></a>4.2.64.3 Данные moulded_surface

<a id="p101494"></a>Данные moulded_surface определяют лежащую в основе геометрию поверхности для определения теоретического обвода. Эта геометрия может определяться отдельной поверхностью, каркасной обшивкой, состоящей из сетки кривых, моделью поверхности на основе граней или таблицей точек смещения. Для конкретного Moulded_form_design_definition данные вида moulded_surface могут быть не заданы. Прикладные утверждения - см. [4.3.67](#p103042), [4.3.69](#p103048), [4.3.63](#p103027) и [4.3.64](#p103032).

###### <a id="p101495"></a>4.2.64.4 Данные representations

<a id="p101496"></a>Данные representations задают определение формы для теоретического обвода. Значением определения формы может быть либо Edge_based_wireframe_shape (см. [4.2.31](#p101037)), либо Non_manifold_surface_shape (см. [4.2.72](#p101726)). Прикладные утверждения - см. [4.3.63](#p103027) и [4.3.64](#p103032).

###### <a id="p101497"></a>4.2.64.5 Данные status

<a id="p101498"></a>Данные status определяют, какое геометрическое определение содержится в данных вида moulded_surface и representations, связанных с прикладным объектом Moulded_form_design_definition, полное или частичное. Для конкретного Moulded_form_design_definition данные вида status могут быть не заданы.
<a id="p101499"></a>Значение данных вида status должно быть одним из следующих:
- <a id="p101500"></a>complete;
- <a id="p101501"></a>partial.
<a id="p101502"></a>4.2.64.5.1 complete
<a id="p101503"></a>Геометрическое определение, заданное для объекта Moulded_form_design_definition, является полным.
<a id="p101504"></a>4.2.64.5.2 partial
<a id="p101505"></a>Геометрическое определение, заданное для объекта Moulded_form_design_definition, является частичным.

##### <a id="p101506"></a>4.2.65 Прикладной объект Moulded_form_functional_definition

<a id="p101507"></a>Прикладной объект Moulded_form_functional_definition является типом объекта Functional_definition (см. [4.2.39](#p101112)), определяющим функцию части судна, которая определена базовым объектом Moulded_form (см. [4.2.61](#p101450)).
<a id="p101508"></a>С объектом Moulded_form_functional_definition связаны следующие данные:
- <a id="p101509"></a>defined_for;
- <a id="p101510"></a>the_function.

###### <a id="p101511"></a>4.2.65.1 Данные defined_for

<a id="p101512"></a>Данные вида defined_for определяют объект Moulded_form (см. [4.2.61](#p101450)), для которого определен прикладной объект Moulded_form_functional_definition. В одном объекте Moulded_form_functional_definition может быть задано несколько объектов Moulded_form. Прикладное утверждение - см. [4.3.71](#p103054).

###### <a id="p101513"></a>4.2.65.2 Данные the_function

<a id="p101514"></a>Данные the_function определяют функциональность объекта Moulded_form (см. [4.2.61](#p101450)), для которого определен прикладной объект Moulded_form_functional_definition.
<a id="p101515"></a>Значение данных вида the_function должно быть одним из следующих:
- <a id="p101516"></a>appendage;
- <a id="p101517"></a>bulbous_bow;
- <a id="p101518"></a>bulbous_stern;
- <a id="p101519"></a>deck;
- <a id="p101520"></a>double_bottom;
- <a id="p101521"></a>double_ship_hull;
- <a id="p101522"></a>frame;
- <a id="p101523"></a>grating;
- <a id="p101524"></a>horizontal_girder;
- <a id="p101525"></a>keel;
- <a id="p101526"></a>longitudinal_bulkhead;
- <a id="p101527"></a>longitudinal_girder;
- <a id="p101528"></a>non_structural_bulkhead;
- <a id="p101529"></a>pressure_hull;
- <a id="p101530"></a>propeller;
- <a id="p101531"></a>rudder;
- <a id="p101532"></a>ship_hull;
- <a id="p101533"></a>superstructure;
- <a id="p101534"></a>thruster;
- <a id="p101535"></a>transom;
- <a id="p101536"></a>transverse_bulkhead;
- <a id="p101537"></a>user_defined.
<a id="p101538"></a>4.2.65.2.1 appendage
<a id="p101539"></a>Часть, которая добавляется к внешней поверхности корпуса судна для улучшения характеристик судна.
<a id="p101540"></a>Пример - Типы выступающих частей (см. [рисунки 4](#p100523) - [7](#p100549)). К выступающим частям можно отнести скуловой киль, кронштейны гребного вала и выкружки гребного вала, крылья и прочее.
<a id="p101541"></a>4.2.65.2.2 bulbous_bow
<a id="p101542"></a>Подводная форма носа, предназначенная для сглаживания носовой волны и уменьшения сопротивления судна.
<a id="p101543"></a>Пример - Судно с бульбообразным носом показано на [рисунке 16](#p101545).

<a id="p101544"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_15.png) 

<a id="p101545"></a>Рисунок 16 - Корпус судна с бульбообразным носом

<a id="p101546"></a>4.2.65.2.3 bulbous_stern
<a id="p101547"></a>Подводная форма кормы, предназначенная для улучшения подачи потока на гребной винт и повышения эффективности гребного винта.
<a id="p101548"></a>4.2.65.2.4 deck
<a id="p101549"></a>Горизонтальная разделительная конструкция корпуса судна, находящаяся над днищем или двойным дном.
<a id="p101550"></a>Пример - Палуба и переборки показаны на [рисунке 17](#p101552).

<a id="p101551"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_16.png) 

<a id="p101552"></a>Рисунок 17 - Переборки и палубы

<a id="p101553"></a>4.2.65.2.5 double_bottom
<a id="p101554"></a>Внутреннее днище корпуса судна при двойной обшивке корпуса судна.
<a id="p101555"></a>Пример - Двойное дно показано на [рисунках 18](#p101557) и [19](#p101559).

<a id="p101556"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_17.png) 

<a id="p101557"></a>Рисунок 18 - Двойное дно



<a id="p101558"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_18.png) 

<a id="p101559"></a>Рисунок 19 - Внешнее и внутреннее днища с профилями
double_ship_hull

<a id="p101560"></a>4.2.65.2.6 double_ship_hull
<a id="p101561"></a>Внутренние борта корпуса судна при двойной обшивке корпуса судна.
<a id="p101562"></a>Пример - Двойной корпус судна показан на [рисунке 20](#p101564).

<a id="p101563"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_19.png) 

<a id="p101564"></a>Рисунок 20 - Двойной корпус судна

<a id="p101565"></a>4.2.65.2.7 frame
<a id="p101566"></a>Вертикальный конструктивный элемент, расположенный поперечно в судне, участвующий в обеспечении прочности судна.
<a id="p101567"></a>Пример - Шпангоуты и палубы показаны на [рисунке 21](#p101569).

<a id="p101568"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_20.png) 

<a id="p101569"></a>Рисунок 21 - Шпангоуты и палубы

<a id="p101570"></a>4.2.65.2.8 grating
<a id="p101571"></a>Настил из металлических листов, расположенный в горизонтальной плоскости судна или близко к ней (далее - настил) внутри отсека, не входящий в состав главных конструктивных систем, но обеспечивающий доступ экипажу судна.
<a id="p101572"></a>4.2.65.2.9 horizontal_girder
<a id="p101573"></a>Продольный основной конструктивный элемент, лежащий в горизонтальной плоскости судна.
<a id="p101574"></a>Пример - Горизонтальные балки показаны на [рисунке 22](#p101576).

<a id="p101575"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_21.png) 

<a id="p101576"></a>Рисунок 22 - Балки

<a id="p101577"></a>4.2.65.2.10 keel
<a id="p101578"></a>Основная продольная днищевая корпусная конструкция, проходящая в ДП.
<a id="p101579"></a>*Примечание* - У парусных яхт киль имеет особую форму и включает дополнительный вес для повышения остойчивости веса.

<a id="p101580"></a>4.2.65.2.11 longitudinal_bulkhead
<a id="p101581"></a>Вертикальный конструктивный элемент, расположенный в судне в продольном направлении, образующий границу отсека и принимающий существенное участие в делении судна на водонепроницаемые отсеки и обеспечении прочности судна.
<a id="p101582"></a>4.2.65.2.12 longitudinal_girder
<a id="p101583"></a>Продольный основной конструктивный элемент, лежащий в вертикальной плоскости судна.
<a id="p101584"></a>Пример - Продольные балки показаны на [рисунке 22](#p101576).
<a id="p101585"></a>4.2.65.2.13 non_structural_bulkhead
<a id="p101586"></a>Переборка, используемая для деления на отсеки, а не как несущая конструкция.
<a id="p101587"></a>4.2.65.2.14 pressure_hull
<a id="p101588"></a>Особая конструкция корпуса для подводной эксплуатации, предназначенная выдерживать забортное давление в подводном положении. Используется для подводных аппаратов или любого промышленного подводного оборудования.
<a id="p101589"></a>4.2.65.2.15 propeller
<a id="p101590"></a>Устройство для преобразования вращательного момента на валу главного двигателя в силу тяги, необходимой для движения судна или для его маневрирования.
<a id="p101591"></a>Пример - Гребной винт показан на [рисунке 24](#p101598).
<a id="p101592"></a>4.2.65.2.16 rudder
<a id="p101593"></a>Главный инструмент для маневрирования, используемый для управляемости (по направлению) судна.
<a id="p101594"></a>Пример - Руль показан на [рисунке 23](#p101596).

<a id="p101595"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_22.png) 

<a id="p101596"></a>Рисунок 23 - Руль и гребной винт



<a id="p101597"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_23.png) 

<a id="p101598"></a>Рисунок 24 - Модель винтового движителя

<a id="p101599"></a>4.2.65.2.17 ship_hull
<a id="p101600"></a>Основной корпус судна, предназначенный для перевозки грузов или пассажиров, или корпус для остойчивости и дополнительной плавучести.
<a id="p101601"></a>Пример - Корпус судна показан на [рисунке 20](#p101564).
<a id="p101602"></a>4.2.65.2.18 superstructure
<a id="p101603"></a>Палубная конструкция, находящаяся над верхней палубой.
<a id="p101604"></a>Пример - Палубная конструкция показана на [рисунке 26](#p101611).
<a id="p101605"></a>4.2.65.2.19 thruster
<a id="p101606"></a>Тоннель подруливающего устройства. Обычно подруливающее устройство работает в тоннеле для улучшения маневренности судна.
<a id="p101607"></a>Пример - Подруливающее устройство показано на [рисунке 25](#p101609).

<a id="p101608"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_24.png) 

<a id="p101609"></a>Рисунок 25 - Подруливающее устройство



<a id="p101610"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_25.png) 

<a id="p101611"></a>Рисунок 26 - Палубная конструкция

<a id="p101612"></a>4.2.65.2.20 transom
<a id="p101613"></a>Плоский или несколько выгнутый наружу поперечный срез кормы судна.
<a id="p101614"></a>Пример - Транцевая корма показана на [рисунке 27](#p101616).

<a id="p101615"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_26.png) 

<a id="p101616"></a>Рисунок 27 - Транцевая корма

<a id="p101617"></a>4.2.65.2.21 transverse_bulkhead
<a id="p101618"></a>Вертикальный основной конструктивный элемент, расположенный в судне в поперечном направлении, образующий границу отсека и принимающий существенное участие в делении судна на водонепроницаемые отсеки и в обеспечении прочности судна.
<a id="p101619"></a>Пример - Поперечная переборка показана на [рисунке 28](#p101621).

<a id="p101620"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_27.png) 

<a id="p101621"></a>Рисунок 28 - Поперечные переборки

<a id="p101622"></a>4.2.65.2.22 user_defined
<a id="p101623"></a>Функция прикладного объекта Moulded_form (см. [4.2.61](#p101450)) не известна или не предусмотрена ничем вышеназванным.

##### <a id="p101624"></a>4.2.66 Прикладной объект Moulded_form_relationship

<a id="p101625"></a>Прикладной объект Moulded_form_relationship является типом объекта Item_relationship (см. [4.2.53](#p101363)), описывающим отношение между двумя объектами Moulded_form (см. [4.2.61](#p101450)). Набор объектов Moulded_form_relationship может описывать иерархию взаимосвязанных между собой объектов Moulded_form, которые вместе обеспечивают описание объекта Ship_moulded_form (см. [4.2.93](#p102194)).
<a id="p101626"></a>*Пример* - Объект Moulded_form_relationship может описывать отношение между объектом Moulded_form корпуса судна и соответствующего гребного винта.
<a id="p101627"></a>С объектом Moulded_form_relationship связаны следующие данные:
- <a id="p101628"></a>item_1;
- <a id="p101629"></a>item_2.

###### <a id="p101630"></a>4.2.66.1 Данные item_1

<a id="p101631"></a>Данные item_1 определяют объект Moulded_form (см. [4.2.61](#p101450)), который составляет основу объекта Moulded_form_relationship. Для конкретного Moulded_form_relationship данные вида item_1 могут быть не заданы. Прикладное утверждение - см. [4.3.72](#p103056).
<a id="p101632"></a>Примечание - Если данные вида item_1 не заданы, должен быть задан атрибут external_item_1 для прикладного объекта Item_relationship (см. [4.2.53.1](#p101370)).


###### <a id="p101633"></a>4.2.66.2 Данные item_2

<a id="p101634"></a>Данные вида item_2 описывают Moulded_form (см. [4.2.61](#p101450)), который должен быть связан с данными вида item_1. Для конкретного Moulded_form_relationship данные вида item_2 могут быть не заданы. Прикладное утверждение - см. [4.3.72](#p103056).
<a id="p101635"></a>Примечание - Если данные вида item_2 не заданы, должен быть задан атрибут external_item_2 для прикладного объекта Item_relationship (см. [4.2.53.2](#p101372)).


##### <a id="p101636"></a>4.2.67 Прикладной объект Moulded_form_representation_item

<a id="p101637"></a>Прикладной объект Moulded_form_representation_item является представлением теоретического обвода некой части судна. В этом представлении используется либо сетка точек, сетка геометрических кривых, либо поверхности нулевой толщины для определения теоретического обвода судна или части судна. Значением объекта Moulded_form_representation_item может быть Ship_point (см. [4.2.96](#p102241)), Ship_curve (см. [4.2.89](#p102071)) или Ship_surface (см. [4.2.97](#p102268)).

##### <a id="p101638"></a>4.2.68 Прикладной объект Moulded_form_representation_relationship

<a id="p101639"></a>Прикладной объект Moulded_form_representation_relationship является отношением между двумя объектами Moulded_form_shape_representation (см. [4.2.69](#p101653)).
<a id="p101640"></a>С объектом Moulded_form_representation_relationship связаны следующие данные:
- <a id="p101641"></a>description;
- <a id="p101642"></a>id;
- <a id="p101643"></a>rep_1;
- <a id="p101644"></a>rep_2.

###### <a id="p101645"></a>4.2.68.1 Данные description

<a id="p101646"></a>Данные description задают определенное пользователем описание назначения отношения. Для конкретного Moulded_form_relationship данные вида description могут быть не заданы.

###### <a id="p101647"></a>4.2.68.2 Данные id

<a id="p101648"></a>Данные id определяют контекстно-зависимый идентификатор для Moulded_form_representation_relationship.

###### <a id="p101649"></a>4.2.68.3 Данные rep_1

<a id="p101650"></a>Данные rep_1 определяют объект Moulded_form_shape_representation (см. [4.2.69](#p101653)), который составляет основу объекта Moulded_form_representation_relationship. Прикладное утверждение - см. [4.3.73](#p103059).

###### <a id="p101651"></a>4.2.68.4 Данные rep_2

<a id="p101652"></a>Данные rep_2 определяют объект Moulded_form_shape_representation (см. [4.2.69](#p101653)), который должен быть связан с данными вида rep_1. Прикладное утверждение - см. [4.3.73](#p103059).

##### <a id="p101653"></a>4.2.69 Прикладной объект Moulded_form_shape_representation

<a id="p101654"></a>Прикладной объект Moulded_form_shape_representation описывает форму объекта Moulded_form (см. [4.2.61](#p101450)) с помощью геометрических моделей, топологических моделей и геометрических элементов. Геометрические конструктивы в объекте Moulded_form_shape_representation могут указывать Ship_point (см. [4.2.96](#p102241)), Ship_curve (см. [4.2.89](#p102071)) или Ship_surface (см. [4.2.97](#p102268)). Значением каждого Moulded_form_shape_representation будет либо Offset_table_shape_representation (см. [4.2.74](#p101753)), Wireframe_shape_representation (см. [4.2.125](#p102783)), либо Surface_shape_representation (см. [4.2.109](#p102643)).
<a id="p101655"></a>*Примечание* - Прикладной объект Moulded_form_shape_representation является абстрактным по своему характеру и не детализирует геометрию, но дает ссылки на топологию и геометрию, которыми он может обладать.

<a id="p101656"></a>С объектом Moulded_form_shape_representation связаны следующие данные:
- <a id="p101657"></a>moulded_form_representation_id;
- <a id="p101658"></a>moulded_form_symmetry.

###### <a id="p101659"></a>4.2.69.1 Данные moulded_form_representation_id

<a id="p101660"></a>Данные moulded_form_representation_id определяют контекстно-зависимую метку для Moulded_form_shape_representation. Для конкретного Moulded_form_shape_representation данные вида moulded_form_representation_id могут быть не заданы.

###### <a id="p101661"></a>4.2.69.2 Данные moulded_form_symmetry

<a id="p101662"></a>Данные moulded_form_symmetry определяют симметрию для Moulded_form_shape_representation. Для объекта Moulded_form (см. [4.2.61](#p101450)) возможна планарная симметрия и симметрия вращения. Для конкретного Moulded_form_shape_representation данные вида moulded_form_symmetry могут быть не заданы. Прикладное утверждение - см. [4.3.745](#p103062).

##### <a id="p101663"></a>4.2.70 Прикладной объект Named_unit

<a id="p101664"></a>Прикладной объект Named_unit является объектом предопределенной единицы, указанной в ИСО 10303-41.

##### <a id="p101665"></a>4.2.71 Прикладной объект Navy_ship

<a id="p101666"></a>Прикладной объект Navy_ship является типом Shiptype (см. [4.2.98](#p102501)), представляющим собой судно, эксплуатируемое военным командованием.
<a id="p101667"></a>С объектом Navy_ship связаны следующие данные:
- <a id="p101668"></a>has_type.

###### <a id="p101669"></a>4.2.71.1 Данные has_type

<a id="p101670"></a>Данные has_type определяют тип объекта Navy_ship.
<a id="p101671"></a>Значение данных вида has_type должно быть одним из следующих:
- <a id="p101672"></a>aircraft_carrier;
- <a id="p101673"></a>auxiliary_oiler;
- <a id="p101674"></a>corvette;
- <a id="p101675"></a>cruiser;
- <a id="p101676"></a>destroyer;
- <a id="p101677"></a>fleet_auxiliary_vessel;
- <a id="p101678"></a>frigate;
- <a id="p101679"></a>landing_platform_dock;
- <a id="p101680"></a>landing_platform_helicopter;
- <a id="p101681"></a>mine_warfare_ship;
- <a id="p101682"></a>patrol_force_vessel;
- <a id="p101683"></a>service_craft;
- <a id="p101684"></a>submarine;
- <a id="p101685"></a>user_defined.
<a id="p101686"></a>4.2.71.1.1 aircraft_carrier
<a id="p101687"></a>Тип судна, предназначенный для размещения самолетов и/или вертолетов в ходе длительных противолодочных операций, а также для защиты истребителей, с полным разведывательным и ударным потенциалами.
<a id="p101688"></a>*Пример* - Задействованное воздушное судно может включать функцию короткого взлета и вертикальной посадки (STOVAL), короткого взлета, но посадки с аэрофинишером (STOBAR) или традиционный взлет (CTOL).
<a id="p101689"></a>4.2.71.1.2 auxiliary_oiler
<a id="p101690"></a>Тип судна, предназначенный для пополнения жидких запасов других судов в море во время операций, с возможностями вертикальной передачи (VERTREP) твердых грузов.
<a id="p101691"></a>*Примечание* - Судно имеет устойчивую платформу, подходящую для посадки вертолетов (в т.ч. аварийной), а также помещения для хранения и технического обслуживания.

<a id="p101692"></a>4.2.71.1.3 corvette
<a id="p101693"></a>Тип судна, который спроектирован как малое судно сопровождения оперативной группы.
<a id="p101694"></a>*Примечание* - Корветы приспособлены, прежде всего, для противолодочной обороны.

<a id="p101695"></a>4.2.71.1.4 cruiser
<a id="p101696"></a>Тип судна, предназначенный для прикрытия оперативных групп авианосцев.
<a id="p101697"></a>*Примечание* - Крейсеры (многие с управляемыми ракетами или с вертолетами на борту) обеспечивают средства противовоздушной обороны и противолодочной борьбы. Крейсеры также обеспечивают защиту от угроз противокорабельных крылатых ракет увеличенной дальности, особенно при наличии средств радиоэлектронного противодействия противника.

<a id="p101698"></a>4.2.71.1.5 destroyer
<a id="p101699"></a>Большое надводное боевое судно, используемое для ведения операций с ударными, противолодочными и десантными силами, а также для выполнения задач прикрытия и сопровождения.
<a id="p101700"></a>*Примечание* - Эсминец также может быть оборудован вертолетами, что обеспечивает дополнительные возможности.

<a id="p101701"></a>4.2.71.1.6 fleet_auxiliary_vessel
<a id="p101702"></a>Тип судна, предназначенный для снабжения боевых судов в море топливом, продовольствием, запасами и боеприпасами.
<a id="p101703"></a>*Примечание* - Вспомогательное судно также обеспечивает авиационные платформы, десантную поддержку для военно-морского флота и морской пехоты, а также морской транспорт для армейских частей. Существует множество типов вспомогательных судов на флоте.

<a id="p101704"></a>4.2.71.1.7 frigate
<a id="p101705"></a>Тип судна, который можно охарактеризовать как океанское судно сопровождения общего назначения. Оперативные требования устанавливают, чтобы фрегаты выполняли обязанности судов, способных защищать оперативную группу от современных угроз с воздуха.
<a id="p101706"></a>*Примечание* - Фрегаты могут также предоставлять командные и жилые помещения. Вторичные средства включают борьбу с надводными судами, артиллерийскую поддержку с моря и противолодочную оборону.

<a id="p101707"></a>4.2.71.1.8 landing platform dock
<a id="p101708"></a>Тип судна, специально предназначенный для перевозки крупных вооруженных сил и вспомогательного оборудования в открытом океане; поддерживает маневренную высадку на вражеские берега с использованием бортовых вертолетов и десантно-высадочных средств, а также координирует военно-морские, воздушные и наземные аспекты десантных операций с помощью средств командования, управления и связи.
<a id="p101709"></a>4.2.71.1.9 landing platform helicopter
<a id="p101710"></a>Тип судна, специально разработанный как десантный вертолетоносец, который позволяет осуществлять быструю тактическую переброску воздушно-десантных войск и техники для проведения морских десантных операций на берегу.
<a id="p101711"></a>*Примечание* - Он также может стоять у побережья на стратегическом расстоянии в качестве сдерживающей оперативной роли. Его роли в мирное время включают транспортировку войск и оборудования, а также гуманитарные задачи, например помощь при стихийных бедствиях.

<a id="p101712"></a>4.2.71.1.10 mine_warfare_ship
<a id="p101713"></a>Судно противоминной обороны (MCMV), специально сконструированное для поиска, траления (механическими, акустическими или магнитными средствами) и обезвреживания мин как в прибрежных, так и в глубоких открытых акваториях. Поскольку судно спроектировано так, чтобы обеспечить его минимальную магнитную сигнатуру, корпуса судов противоминной обороны часто изготавливают из стали с низким магнитным полем или из многослойной фанеры.
<a id="p101714"></a>4.2.71.1.11 patrol_force_vessel
<a id="p101715"></a>Судно, размер которого может быть разным в зависимости от роли, для которой оно было спроектировано.
<a id="p101716"></a>*Примечание* - Крупные морские патрульные суда (OPV) используют для задач пожаротушения, спасения или снабжения, другие используют в качестве судов защиты, иногда с отрядом морской пехоты и полужесткими плавсредствами, действующими в качестве отряда быстрого реагирования. Некоторые морские патрульные суда имеют ледостойкие корпуса и вертолетную площадку для использования их в качестве исследовательских судов в арктических или антарктических регионах. Размер, маневренность и другие эксплуатационные характеристики небольших прибрежных патрульных судов делают их идеально подходящими для патрулирования, поисково-спасательных операций в прибрежных районах, а также в портах, гаванях и других ограниченных акваториях.

<a id="p101717"></a>4.2.71.1.12 service_craft
<a id="p101718"></a>Небольшое судно, предназначенное для оказания определенных услуг флоту в гаванях и портах.
<a id="p101719"></a>*Примечание* - К ним относятся буксиры, обслуживающие вспомогательные суда, баржи, патрульные катера, спасательные суда, плавучие доки и т.д. К другим служебным судам, обеспечивающим поддержку, относятся более крупные океанские суда, такие как транспортные, исследовательские и исследовательские суда, ремонтные суда, грузовые суда, плавучие госпитали и т.п.

<a id="p101720"></a>4.2.71.1.13 submarine
<a id="p101721"></a>Океанское судно с высокой боеспособностью, предназначенное для выполнения задач борьбы как с подводными, так и надводными судами.
<a id="p101722"></a>*Примечание* - Для выполнения этих функций подводная лодка, как правило, несет тяжелые торпеды, самонаводящееся оружие класса "подводная лодка-поверхность" или лодочные мины. Подводные лодки способны действовать в подводном положении на мелководье, в открытом океане, а также в водах от тропиков до Арктики.

<a id="p101723"></a>4.2.71.1.14 user_defined
<a id="p101724"></a>Тип судна, не относящийся к предопределенным типам, перечисленным выше.
<a id="p101725"></a>Примечание - Подробная информация приведена в атрибуте описания объекта Shiptype (см. [4.2.99](#p102501)).


##### <a id="p101726"></a>4.2.72 Прикладной объект Non_manifold_surface_shape

<a id="p101727"></a>Прикладной объект Non_manifold_surface_shape является представлением формы, соответствующим ИСО 10303-508.

##### <a id="p101728"></a>4.2.73 Прикладной объект Offset_point_table_model

<a id="p101729"></a>Прикладной объект Offset_point_table_model задает форму объекта Moulded_form (см. [4.2.61](#p101450)), определяемую набором объектов Ship_point (см. [4.2.96](#p102241)). Объекты Ship_point перечислены в секциях.
<a id="p101730"></a>*Примечание* - Обычно секции в объекте Offset_point_table_model являются 2d-секциями. В особых обстоятельствах может возникнуть необходимость использования 3d-секций. Тогда значением объекта offset_point_table_type должен быть user_defined_table, а секции таблицы ординат, представляющие 3d-кривые, могут быть любой 3d-формы.

<a id="p101731"></a>С объектом Offset_point_table_model связаны следующие данные:
- <a id="p101732"></a>offset_point_table_sections;
- <a id="p101733"></a>offset_point_table_type.

###### <a id="p101734"></a>4.2.73.1 Данные offset_point_table_sections

<a id="p101735"></a>Данные offset_point_table_sections определяют перечень секций, которые детализируют отдельные секции точек в таблице ординат. Прикладное утверждение - см. [4.3.75](#p103064).
<a id="p101736"></a>*Пример* - Общим примером может быть таблица ординат теоретического чертежа с ординатами ватерлинии. Тогда все точки в одной секции представляют одну ватерлинию.

###### <a id="p101737"></a>4.2.73.2 Данные offset_point_table_type

<a id="p101738"></a>Данные offset_point_table_type определяют тип таблицы ординат и тип секции, где находятся точки ординат.
<a id="p101739"></a>Значение данных вида offset_point_table_type должно быть одним из следующих:
- <a id="p101740"></a>buttock_table;
- <a id="p101741"></a>station_table;
- <a id="p101742"></a>user_defined_table;
- <a id="p101743"></a>waterline_table.
<a id="p101744"></a>Примечание - Определение всех допустимых значений данных вида offset_point_table_type дано в [4.2.74.2.1](#p101745) - [4.2.74.3.4](#p101751).

<a id="p101745"></a>4.2.73.2.1 buttock_table
<a id="p101746"></a>Данные Offset_point_table_model, определяющие, что точки ординат в таблице плазовых ординат - это точки, находящиеся на батоксах в плоскости XZ.
<a id="p101747"></a>4.2.73.2.2 station_table
<a id="p101748"></a>Данные Offset_point_table_model, определяющие, что точки ординат в таблице плазовых ординат - это точки, находящиеся на теоретических шпангоутах в плоскости XZ.
<a id="p101749"></a>4.2.73.2.3 user_defined_table
<a id="p101750"></a>Данные Offset_point_table_model, определяющие, что секция для точек ординат не указана.
<a id="p101751"></a>4.2.73.2.4 waterline_table
<a id="p101752"></a>Данные Offset_point_table_model, определяющие, что точки ординат в таблице плазовых ординат - это точки, находящиеся на ватерлиниях в плоскости XY.

##### <a id="p101753"></a>4.2.74 Прикладной объект Offset_table_shape_representation

<a id="p101754"></a>Прикладной объект Offset_table_shape_representation является типом объекта Moulded_form_shape_representation (см. [4.2.69](#p101653)), описывающим форму объекта Moulded_form (см. [4.2.61](#p101450)) с помощью точек ординат.
<a id="p101755"></a>С объектом Offset_table_shape_representation связаны следующие данные:
- <a id="p101756"></a>items.

###### <a id="p101757"></a>4.2.74.1 Данные items

<a id="p101758"></a>Данные items определяют набор объектов Offset_point_table_model (см. [4.2.73](#p101728)), которые создают объект Offset_table_shape_representation. Прикладное утверждение - см. [4.3.76](#p103066).

##### <a id="p101759"></a>4.2.75 Прикладной объект Owner_designation

<a id="p101760"></a>Прикладной объект Owner_designation является типом объекта General_characteristics_definition (см. [4.2.40](#p101121)), определяющим организации, которые заказывают, владеют и управляют судном.
<a id="p101761"></a>С объектом Owner_designation связаны следующие данные:
- <a id="p101762"></a>local_units;
- <a id="p101763"></a>managing_company;
- <a id="p101764"></a>ordering_company;
- <a id="p101765"></a>owner_approval;
- <a id="p101766"></a>owning_company.

###### <a id="p101767"></a>4.2.75.1 Данные local_units

<a id="p101768"></a>Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением данных вида local_units может быть Derived_unit (см. [4.2.24](#p100983)) или Named_unit (см. [4.2.70](#p101663)). Для конкретного Owner_designation данные вида local_units могут быть не заданы. В одном объекте Owner_designation может быть задано несколько данных вида local_units. Прикладные утверждения - см. [4.3.77](#p103068) и [4.3.78](#p103071).

###### <a id="p101769"></a>4.2.75.2 Данные managing_company

<a id="p101770"></a>Данные managing_company определяют организацию, которая отвечает за управление и эксплуатацию судна.

###### <a id="p101771"></a>4.2.75.3 Данные ordering_company

<a id="p101772"></a>Данные ordering_company определяют организацию, которая заказала судно на верфи.

###### <a id="p101773"></a>4.2.75.4 Данные owner_approval

<a id="p101774"></a>Данные owner_approval указывают на то, что судовладелец утвердил проект судна. Для конкретного Owner_designation данные вида owner_approval могут быть не заданы.

###### <a id="p101775"></a>4.2.75.5 Данные owning_company

<a id="p101776"></a>Данные owning_company определяют организацию, владеющую судном на законных основаниях.

##### <a id="p101777"></a>4.2.76 Прикладной объект Planar_symmetry

<a id="p101778"></a>Прикладной объект Planar_symmetry является типом Symmetry (см. [4.2.111](#p102659)), дающим информацию о планарной симметрии для любой части судна. Прикладной объект Planar_symmetry детализирует плоскость симметрии для данной части судна.
<a id="p101779"></a>С объектом Planar_symmetry связаны следующие данные:
- <a id="p101780"></a>the_symmetry_plane.

###### <a id="p101781"></a>4.2.76.1 Данные the_symmetry_plane

<a id="p101782"></a>Данные the_symmetry_plane определяют плоскость симметрии в определяющей системе координат данной части. Если только одна половина части определяется геометрией, то это должна быть геометрия, описывающая часть, на которую указывает вертикальная ось.

##### <a id="p101783"></a>4.2.77 Прикладной объект Precision

<a id="p101784"></a>Прикладной объект Precision представляет собой геометрическую точность системы САПР (CAD), из которой были получены данные об изделии.
<a id="p101785"></a>С объектом Precision связаны следующие данные:
- <a id="p101786"></a>minimum_point_spacing.

###### <a id="p101787"></a>4.2.77.1 Данные minimum_point_spacing

<a id="p101788"></a>Данные minimum_point_spacing определяют минимальное расстояние между двумя точками, которые считаются совпадающими в исходной системе САПР (CAD).

##### <a id="p101789"></a>4.2.78 Прикладной объект Principal_characteristics

<a id="p101790"></a>Прикладной объект Principal_characteristics является типом объекта General_characteristics_definition (см. [4.2.40](#p101121)), определяющим основные параметры формы теоретического обвода корпуса. Объект Principal_characteristics также содержит данные, необходимые в последующих итерациях процесса разработки корпуса, когда рассматривается гидростатика.
<a id="p101791"></a>С объектом Principal_characteristics связаны следующие данные:
- <a id="p101792"></a>block_coefficient;
- <a id="p101793"></a>design_deadweight;
- <a id="p101794"></a>design_draught;
- <a id="p101795"></a>length_between_perpendiculars;
- <a id="p101796"></a>max_draught_at_ap;
- <a id="p101797"></a>max_draught_at_fp;
- <a id="p101798"></a>min_draught_at_ap;
- <a id="p101799"></a>min_draught_at_fp;
- <a id="p101800"></a>moulded_breadth;
- <a id="p101801"></a>moulded_depth.

###### <a id="p101802"></a>4.2.78.1 Данные block_coefficient

<a id="p101803"></a>Данные block_coefficient определяют отношение объемного водоизмещения по теоретическому чертежу к объему блока, длина которого равна значению данных вида length_between_perpendiculars, ширина равна наибольшему значению данных moulded_breadth подводной части, а глубина равна значению данных design_draught. Данные вида block_coefficient следует определять только для однокорпусных судов. Для конкретного Principal_characteristics данные вида block_coefficient могут быть не заданы.

###### <a id="p101804"></a>4.2.78.2 Данные design_deadweight

<a id="p101805"></a>Данные design_deadweight указывают полную грузоподъемность судна. Дедвейт - это разность между водоизмещением судна в полном грузу и водоизмещением порожним.

###### <a id="p101806"></a>4.2.78.3 Данные design_draught

<a id="p101807"></a>Данные design_draught определяют осадку, на которую спроектировано судно для эксплуатации.

###### <a id="p101808"></a>4.2.78.4 Данные length_between_perpendiculars

<a id="p101809"></a>Данные length_between_perpendiculars определяют длину, измеряемую от кормового перпендикуляра до носового перпендикуляра судна.

###### <a id="p101810"></a>4.2.78.5 Данные max_draught_at_ap

<a id="p101811"></a>Данные max_draught_at_ap указывают максимально возможную осадку по кормовому перпендикуляру во время эксплуатации судна. Данные вида max_draught_at_ap используют для одобрения сечения корпуса для нотации ледового класса.

###### <a id="p101812"></a>4.2.78.6 Данные max_draught_at_fp

<a id="p101813"></a>Данные max_draught_at_fp указывают максимально возможную осадку по носовому перпендикуляру во время эксплуатации судна. Данные вида max_draught_at_fp используют для одобрения сечения корпуса для нотации ледового класса.

###### <a id="p101814"></a>4.2.78.7 Данные min_draught_at_ap

<a id="p101815"></a>Данные min_draught_at_AP указывают минимальную возможную осадку по кормовому перпендикуляру во время эксплуатации судна. Данные вида min_draught_at_AP используют для одобрения сечения корпуса для нотации ледового класса.

###### <a id="p101816"></a>4.2.78.8 Данные min_draught_at_fp

<a id="p101817"></a>Данные min_draught_at_fp указывают минимальную возможную осадку по носовому перпендикуляру во время эксплуатации судна. Данные вида min_draught_at_fp используют для одобрения сечения корпуса для нотации ледового класса.

###### <a id="p101818"></a>4.2.78.9 Данные moulded_breadth

<a id="p101819"></a>Данные moulded_breadth определяют наибольшую ширину судна по мидель-шпангоуту и при значении design_draught.

###### <a id="p101820"></a>4.2.78.10 Данные moulded_depth

<a id="p101821"></a>Данные вида moulded_depth определяют вертикальное расстояние от основной плоскости до самой верхней палубы, где палуба соединяется с бортом судна, измеряемое по мидель-шпангоуту.

##### <a id="p101822"></a>4.2.79 Прикладной объект Propeller_location

<a id="p101823"></a>Прикладной объект Propeller_location указывает размещение гребного винта относительно корпуса судна.
<a id="p101824"></a>Пример - Местоположение гребного винта показано на [рисунке 29](#p101830), а гребной винт относительно оси показан на [рисунке 31](#p101830).

<a id="p101825"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_28.png) 

<a id="p101826"></a>Рисунок 29 - Крыльчатый движитель



<a id="p101827"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_29.png) 

<a id="p101828"></a>Рисунок 30 - Технология крыльчатых движителей



<a id="p101829"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_30.png) 

<a id="p101830"></a>Рисунок 31 - Местоположение гребного винта

<a id="p101831"></a>С объектом Propeller_location связаны следующие данные:
- <a id="p101832"></a>propeller_location;
- <a id="p101833"></a>shaft_line_inclination_x;
- <a id="p101834"></a>shaft_line_inclination_y;
- <a id="p101835"></a>shaft_line_location.

###### <a id="p101836"></a>4.2.79.1 Данные propeller_location

<a id="p101837"></a>Данные propeller_location определяют размещение осевой линии гребного вала в точке, где гребной вал крепится к винту. Координату X измеряют от кормового перпендикуляра, координату Y измеряют от ДП и координату Z измеряют от ОП. Прикладное утверждение - см. [4.3.79](#p103074).

###### <a id="p101838"></a>4.2.79.2 Данные shaft_line_inclination_x

<a id="p101839"></a>Данные shaft_line_inclination_x определяют угол между гребным валом и осью X корпуса судна.

###### <a id="p101840"></a>4.2.79.3 Данные shaft_line_inclination_y

<a id="p101841"></a>Данные shaft_line_inclination_y определяют угол между гребным валом и осью Y корпуса судна.
<a id="p101842"></a>4.2.79.4 shaft_line_location
<a id="p101843"></a>Данные shaft_line_location определяют размещение осевой линии гребного вала в точке, где вал гребного винта выходит из корпуса судна. Координату X измеряют от кормового перпендикуляра, координату Y измеряют от ДП и координату Z измеряют от ОП.

##### <a id="p101844"></a>4.2.80 Прикладной объект Propeller_moulded_form_design_parameter

<a id="p101845"></a>Прикладной объект Propeller_moulded_form_design_parameter является типом объекта Moulded_form_characteristics_definition (см. [4.2.63](#p101467)), содержащим размеры и отношения гребного винта.
<a id="p101846"></a>Пример - Размеры гребного винта показаны на [рисунке 32](#p101848).

<a id="p101847"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_31.png) 

<a id="p101848"></a>Рисунок 32 - Размеры гребного винта

<a id="p101849"></a>С объектом Propeller_moulded_form_design_parameter связаны следующие данные:
- <a id="p101850"></a>blade_mean_height;
- <a id="p101851"></a>chord_length_at_0_7_radius;
- <a id="p101852"></a>design_sense_of_rotation;
- <a id="p101853"></a>expanded_area_ratio;
- <a id="p101854"></a>hub_diameter_ratio;
- <a id="p101855"></a>location_of_the_propeller_at_the_ship_hull;
- <a id="p101856"></a>nominal_design_pitch_ratio;
- <a id="p101857"></a>number_of_propeller_blades;
- <a id="p101858"></a>propeller_diameter;
- <a id="p101859"></a>rake;
- <a id="p101860"></a>skew;
- <a id="p101861"></a>thickness_at_0_7_radius;
- <a id="p101862"></a>type_of_propeller_blades;
- <a id="p101863"></a>type_of_propulsion.

###### <a id="p101864"></a>4.2.80.1 Данные blade_mean_height

<a id="p101865"></a>Данные blade_mean_height указывают среднюю высоту лопастей для всех невинтовых движителей.
<a id="p101866"></a>Для конкретного Propeller_moulded_form_design_parameter данные вида blade_mean_height могут быть не заданы.
<a id="p101867"></a>*Примечание* - Средняя высота лопасти - это наибольший размер лопасти и при этом больше ширины.


###### <a id="p101868"></a>4.2.80.2 Данные chord_length_at_0_7_radius

<a id="p101869"></a>Данные chord_length_at_0_7_radius указывают длину хорды сечения лопасти гребного винта, расположенного в точке 0,7 радиуса гребного винта, или среднюю ширину лопастей для невинтовых движителей.

###### <a id="p101870"></a>4.2.80.3 Данные design_sense_of_rotation

<a id="p101871"></a>Данные design_sense_of_rotation указывают проектное направление вращения гребного винта, правое или левое.
<a id="p101872"></a>Данные вида design_sense_of_rotation должны иметь одно из следующих значений:
- <a id="p101873"></a>left;
- <a id="p101874"></a>right.
<a id="p101875"></a>Примечание - Определение каждого допустимого значение данных вида design_sense_of_rotation - см. [4.2.80.3.1](#p101876), [4.2.80.3.2](#p101878).

<a id="p101876"></a>4.2.80.3.1 left
<a id="p101877"></a>Гребной винт вращается против часовой стрелки.
<a id="p101878"></a>4.2.80.3.2 right
<a id="p101879"></a>Гребной винт вращается по часовой стрелке.

###### <a id="p101880"></a>4.2.80.4 Данные expanded_area_ratio

<a id="p101881"></a>Данные expanded_area_ratio задают безразмерный параметр, получаемый в результате деления площади развернутой поверхности лопастей гребного винта к площади круга, описываемого диаметром гребного винта.

###### <a id="p101882"></a>4.2.80.5 Данные hub_diameter_ratio

<a id="p101883"></a>Данные hub_diameter_ratio задают безразмерный параметр, получаемый в результате деления диаметра ступицы гребного винта на его диаметр.

###### <a id="p101884"></a>4.2.80.6 Данные location_of_the_propeller_at_the_ship_hull

<a id="p101885"></a>Данные location_of_the_propeller_at_the_ship_hull указывают размещение гребного винта относительно корпуса судна.
<a id="p101886"></a>Для конкретного Propeller_moulded_form_design_parameter данные вида location_of_the_propeller_at_the_ship_hull могут быть не заданы. Прикладное утверждение - см. [4.3.80](#p103077).

###### <a id="p101887"></a>4.2.80.7 Данные nominal_design_pitch_ratio

<a id="p101888"></a>Данные nominal_design_pitch_ratio указывают безразмерный параметр, получаемый в результате деления среднего конструктивного шага на диаметр гребного винта.

###### <a id="p101889"></a>4.2.80.8 Данные number_of_propeller_blades

<a id="p101890"></a>Данные number_of_propeller_blades указывают количество лопастей гребного винта.

###### <a id="p101891"></a>4.2.80.9 Данные propeller_diameter

<a id="p101892"></a>Данные propeller_diameter указывают диаметр наибольшего круга, прописываемого вращением лопастей гребного винта.

###### <a id="p101893"></a>4.2.80.10 Данные rake

<a id="p101894"></a>Данные rake указывают угол откидки лопастей гребного винта от плоскости винта.

###### <a id="p101895"></a>4.2.80.11 Данные skew

<a id="p101896"></a>Данные skew указывают угол саблевидности лопасти между прямой линией, проходящей через ось гребного винта и центр профиля лопасти в точке, равной 0,7 радиуса гребного винта, и второй прямой линией, проходящей через ось гребного винта и центр профиля лопасти в точке, равной одному радиусу гребного винта.

###### <a id="p101897"></a>4.2.80.12 Данные thickness_at_0_7_radius

<a id="p101898"></a>Данные thickness_at_0_7_radius указывают толщину профиля сечения лопасти гребного винта в точке 0,7 радиуса гребного винта или максимальную толщину лопастей для невинтовых движителей.

###### <a id="p101899"></a>4.2.80.13 Данные type_of_propeller_blades

<a id="p101900"></a>Данные type_of_propeller_blades указывают тип лопастей гребного винта: фиксированные, поворотные или регулируемые.
<a id="p101901"></a>Значение данных вида type_of_propeller_blades должно быть одним из следующих:
- <a id="p101902"></a>adjustable_blade;
- <a id="p101903"></a>controllable_blade;
- <a id="p101904"></a>fixed_blade.
<a id="p101905"></a>Примечание - Определение допустимых значений данных вида type_of_propeller_blades - см. [4.2.81.13.1](#p101906) - [4.2.81.13.3](#p101913).

<a id="p101906"></a>4.2.80.13.1 adjustable_blade
<a id="p101907"></a>Лопасти гребного винта можно поворачивать вручную в сухом доке в соответствии с изменяющимися условиями эксплуатации.
<a id="p101908"></a>4.2.80.13.2 controllable_blade
<a id="p101909"></a>Лопасти гребного винта могут регулироваться гидравлически для изменения шага, при этом можно менять упор до точки обеспечения упора при заднем ходе судна без изменения направления вращения.
<a id="p101910"></a>Пример - Лопасть гребного винта регулируемого шага показана на [рисунке 33](#p101912).

<a id="p101911"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_32.png) 

<a id="p101912"></a>Рисунок 33 - Лопасть гребного винта регулируемого шага

<a id="p101913"></a>4.2.80.13.3 fixed_blade
<a id="p101914"></a>Лопасти гребного винта фиксированного шага.
<a id="p101915"></a>Пример - Лопасть гребного винта фиксированного шага показана на [рисунке 34](#p101917).

<a id="p101916"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_33.png) 

<a id="p101917"></a>Рисунок 34 - Лопасть гребного винта фиксированного шага


###### <a id="p101918"></a>4.2.80.14 Данные type_of_propulsion

<a id="p101919"></a>Данные type_of_propulsion указывают тип отдельной движительной системы.
<a id="p101920"></a>Значение данных вида type_of_propulsion должно быть одним из следующих:
- <a id="p101921"></a>ducted_propeller;
- <a id="p101922"></a>paddle_wheel;
- <a id="p101923"></a>screw_propeller;
- <a id="p101924"></a>thruster;
- <a id="p101925"></a>user_defined;
- <a id="p101926"></a>vertical_axis_propeller;
- <a id="p101927"></a>water_jet.
<a id="p101928"></a>Примечание - Определение допустимых значений данных вида type_of_propulsion - см. [4.2.81.14.1](#p101929) - [4.2.81.14.7](#p101950).

<a id="p101929"></a>4.2.80.14.1 ducted_propeller
<a id="p101930"></a>Гребной винт работает в направляющей насадке с целью повышения его КПД.
<a id="p101931"></a>Пример - Гребной винт в направляющей насадке показан на [рисунке 35](#p101933).

<a id="p101932"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_34.png) 

<a id="p101933"></a>Рисунок 35 - Гребной винт в направляющей насадке

<a id="p101934"></a>4.2.80.14.2 paddle_wheel
<a id="p101935"></a>Движительная система состоит из гребных лопастей, вращающихся вокруг горизонтальной оси, идущей параллельно оси Y судна.
<a id="p101936"></a>*Примечание* - Этот устаревший тип движителей не используется на современных судах.

<a id="p101937"></a>4.2.80.14.3 screw_propeller
<a id="p101938"></a>Это наиболее часто встречающаяся движительная система, работающая без направляющей насадки или туннеля.
<a id="p101939"></a>Пример - Винтовой движитель показан на [рисунке 36](#p101941).

<a id="p101940"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_35.png) 

<a id="p101941"></a>Рисунок 36 - Гребной винт регулируемого шага

<a id="p101942"></a>4.2.80.14.4 thruster
<a id="p101943"></a>Гребной винт работает в туннеле, расположенном внутри корпуса судна, и используется в основном для маневрирования.
<a id="p101944"></a>Пример - Гребной винт подруливающего устройства показан на [рисунке 25](#p101609).
<a id="p101945"></a>4.2.80.14.5 user_defined
<a id="p101946"></a>Тип движительной системы определяется пользователем.
<a id="p101947"></a>4.2.80.14.6 vertical_axis_propeller
<a id="p101948"></a>Крыльчатый движитель, состоящий из вертикальных лопастей, вращающихся вокруг собственных осей. Специальный механизм изменяет угол поворота каждой лопасти во время вращения.
<a id="p101949"></a>Пример - Крыльчатый движитель показан на [рисунках 29](#p101826) и [30](#p101828).
<a id="p101950"></a>4.2.80.14.7 water_jet
<a id="p101951"></a>Гребной винт работает в туннеле внутри корпуса судна.

##### <a id="p101952"></a>4.2.81 Прикладной объект Regulation

<a id="p101953"></a>Прикладной объект Regulation является набором международных и национальных нормативов, а также других стандартов, применяемых к судну.
<a id="p101954"></a>С объектом Regulation связаны следующие данные:
- <a id="p101955"></a>international_regulations;
- <a id="p101956"></a>national_regulations;
- <a id="p101957"></a>standards.

###### <a id="p101958"></a>4.2.81.1 Данные international_regulations

<a id="p101959"></a>Данные international_regulations указывают все соответствующие международные нормативы, применяемые к судну. Прикладное утверждение - см. [4.3.81](#p103079).

###### <a id="p101960"></a>4.2.81.2 Данные national_regulations

<a id="p101961"></a>Данные national_regulations указывают все соответствующие национальные нормативы, применяемые к судну. Прикладное утверждение - см. [4.3.81](#p103079).

###### <a id="p101962"></a>4.2.81.3 Данные standards

<a id="p101963"></a>Данные standards указывают все соответствующие спецификации, применяемые к судну. Прикладное утверждение - см. [4.3.81](#p103079).

##### <a id="p101964"></a>4.2.82 Прикладной объект Research_ship

<a id="p101965"></a>Прикладной объект Research_ship является типом объекта Shiptype (см. [4.2.98](#p102501)), указывающим научно-исследовательскую функцию, выполняемую судном.
<a id="p101966"></a>С объектом Research_ship связаны следующие данные:
- <a id="p101967"></a>has_type.

###### <a id="p101968"></a>4.2.82.1 Данные has_type

<a id="p101969"></a>Данные has_type определяют тип научно-исследовательского судна.
<a id="p101970"></a>Значение данных вида has_type должно быть одним из следующих:
- <a id="p101971"></a>user_defined.
<a id="p101972"></a>4.2.82.1.1 user_defined
<a id="p101973"></a>Тип судна, отсутствующий в перечне данных вида has_type.
<a id="p101974"></a>Примечание - Подробная информация приведена в атрибуте описания объекта Shiptype (см. [4.2.99](#p102501)).


##### <a id="p101975"></a>4.2.83 Прикладной объект Revision

<a id="p101976"></a>Прикладной объект Revision является типом Versionable_object (см. [4.2.121](#p102762)), служащим связующим звеном между необходимым объектом и определениями его составляющих и связанных элементов. Объект Revision не воспроизведен автоматически, а должен создаваться четко каждый раз, когда он требуется. Значением каждого объекта Revision может быть Revision_with_context (см. [4.2.84](#p101985)).
<a id="p101977"></a>*Пример* - Необходимым объектом может быть сечение корпуса, чьими элементами являются определения листов, но только те определения листов, которые относятся к одной и той же версии.
<a id="p101978"></a>С объектом Revision связаны следующие данные:
- <a id="p101979"></a>members;
- <a id="p101980"></a>name.

###### <a id="p101981"></a>4.2.83.1 Данные members

<a id="p101982"></a>Данные members определяют объекты Versionable_object (см. [4.2.121](#p102762)) прикладного объекта Revision. Прикладное утверждение - см. [4.3.82](#p103083).

###### <a id="p101983"></a>4.2.83.2 Данные name

<a id="p101984"></a>Данные name задает подпись, которая идентифицирует конкретное изменение.

##### <a id="p101985"></a>4.2.84 Прикладной объект Revision_with_context

<a id="p101986"></a>Прикладной объект Revision_with_context является типом Revision (см. [4.2.83](#p101975)), служащим связующим звеном между необходимым объектом, контекстом и определениями его составляющих и связанных элементов. Значением каждого Revision_with_context может быть Ship_moulded_form_revision (см. [4.2.94](#p102208)).
<a id="p101987"></a>С объектом Revision_with_context связаны следующие данные:
- <a id="p101988"></a>context_of_revision.

###### <a id="p101989"></a>4.2.84.1 Данные context_of_revision

<a id="p101990"></a>Данные context_of_revision указывают связь с Definable_object (см. [4.2.22](#p100966)), который определяется изменением. Прикладное утверждение - см. [4.3.83](#p103085).

##### <a id="p101991"></a>4.2.85 Прикладной объект Rotational_symmetry

<a id="p101992"></a>Прикладной объект Rotational_symmetry является типом Symmetry (см. [4.2.111](#p102659)), дающим информацию о вращательной симметрии для любой части судна. Ось вращательно симметрии детализирует ось вращения для данной части судна.
<a id="p101993"></a>С объектом Rotational_symmetry связаны следующие данные:
- <a id="p101994"></a>the_rotational_axis.

###### <a id="p101995"></a>4.2.85.1 Данные the_rotational_axis

<a id="p101996"></a>Данные the_rotational_axis указывают ось вращения и определяются в действующей системе координат данной части судна.

##### <a id="p101997"></a>4.2.86 Прикладной объект Rudder_moulded_form_design_parameter

<a id="p101998"></a>Прикладной объект Rudder_moulded_form_design_parameter является типом прикладного объекта Moulded_form_characteristics_definition (см. [4.2.63](#p101467)), который содержит размеры и отношения руля.
<a id="p101999"></a>Пример - Размеры руля показаны на [рисунке 37](#p102001).

<a id="p102000"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_36.png) 

<a id="p102001"></a>Рисунок 37 - Размеры руля

<a id="p102002"></a>С объектом Rudder_moulded_form_design_parameter связаны следующие данные:
- <a id="p102003"></a>aspect_ratio;
- <a id="p102004"></a>projected_rudder_area;
- <a id="p102005"></a>rudder_height;
- <a id="p102006"></a>rudder_length;
- <a id="p102007"></a>rudder_location;
- <a id="p102008"></a>rudder_mean_height;
- <a id="p102009"></a>rudder_mean_length;
- <a id="p102010"></a>rudder_thickness;
- <a id="p102011"></a>type_of_the_rudder.

###### <a id="p102012"></a>4.2.86.1 Данные aspect_ratio

<a id="p102013"></a>Данные aspect_ratio указывают соотношение сторон (относительное удлинение) между средними значениями его высоты и длины.

###### <a id="p102014"></a>4.2.86.2 Данные projected_rudder_area

<a id="p102015"></a>Данные projected_rudder_area указывают площадь поверхности руля в его рабочем положении в проекции на плоскость XY судна.

###### <a id="p102016"></a>4.2.86.3 Данные rudder_height

<a id="p102017"></a>Данные rudder_height указывают высоту руля, измеряемую от его наинизшей до его наивысшей точки в рабочем положении.

###### <a id="p102018"></a>4.2.86.4 Данные rudder_length

<a id="p102019"></a>Данные rudder_length указывают максимальную длину руля в его рабочем положении, измеряемую по длине судна.

###### <a id="p102020"></a>4.2.86.5 Данные rudder_location

<a id="p102021"></a>Данные rudder_location указывают положение осевой линии съемного рудерпоста в точке, где он крепится к верху руля. Координату X измеряют от кормового перпендикуляра, координату Y измеряют от ДП, а координату Z измеряют от ОП. Прикладное утверждение - см. [4.3.84](#p103087).

###### <a id="p102022"></a>4.2.86.6 Данные rudder_mean_height

<a id="p102023"></a>Данные rudder_mean_height указывают среднюю высоту руля в его рабочем положении.
<a id="p102024"></a>4.2.86.7 rudder_mean_length
<a id="p102025"></a>Данные rudder_mean_length указывают среднюю длину руля в его рабочем положении, измеряемую по длине судна.

###### <a id="p102026"></a>4.2.86.8 Данные rudder_thickness

<a id="p102027"></a>Данные rudder_thickness указывают максимальную толщину руля.

###### <a id="p102028"></a>4.2.86.9 Данные type_of_the_rudder

<a id="p102029"></a>Данные type_of_the_rudder указывают, является ли руль балансирным или небалансирным.
<a id="p102030"></a>Значение данных вида type_of_the_rudder должно быть одним из следующих:
- <a id="p102031"></a>balanced;
- <a id="p102032"></a>unbalanced.
<a id="p102033"></a>Примечание - Определения всех допустимых значений данных вида type_of_the_rudder - см. [4.2.86.9.1](#p102034), [4.2.86.9.2](#p102036).

<a id="p102034"></a>4.2.86.9.1 balanced
<a id="p102035"></a>Площадь руля равномерно распределена перед и за осью поворота руля для уменьшения рабочего момента на баллере руля.
<a id="p102036"></a>4.2.86.9.2 unbalanced
<a id="p102037"></a>Площадь руля находится за осью поворота руля.

##### <a id="p102038"></a>4.2.87 Прикладной объект Section_of_offset_point_table

<a id="p102039"></a>Прикладной объект Section_of_offset_point_table является упорядоченным списком объектов Ship_point (см. [4.2.96](#p102241)).
<a id="p102040"></a>Примечание - Аналогично объекту Ship_curve (см. [4.2.89](#p102071)), представленному ломаной линией.

<a id="p102041"></a>С объектом Section_of_offset_point_table связаны следующие данные:
- <a id="p102042"></a>for_table;
- <a id="p102043"></a>section_identifier;
- <a id="p102044"></a>section_points.
<a id="p102045"></a>Примечание - Атрибут for_table является обратным атрибуту offset_point_table_sections для объекта Offset_point_table_model (см. [4.2.73](#p101728)).


###### <a id="p102046"></a>4.2.87.1 Данные for_table

<a id="p102047"></a>Данные for_table указывают связанные объекты Offset_point_table_model (см. [4.2.73](#p101728)) для Section_of_offset_point_table. Прикладное утверждение - см. [4.3.75](#p103064).

###### <a id="p102048"></a>4.2.87.2 Данные section_identifier

<a id="p102049"></a>Данные section_identifier определяют контекстно-зависимую идентификацию, заданную для секции таблицы ординат.

###### <a id="p102050"></a>4.2.87.3 Данные section_points

<a id="p102051"></a>Данные section_points указывают перечень объектов Ship_point (см. [4.2.96](#p102241)), представляющих ординаты формы для данной секции. Прикладное утверждение - см. [4.3.85](#p103089).

##### <a id="p102052"></a>4.2.88 Прикладной объект Ship

<a id="p102053"></a>Прикладной объект Ship является типом объекта Item (см. [4.2.52](#p101348)), который является основным изделием, поддерживаемым набором прикладных протоколов для судостроения согласно ИСО 10303. Все данные, определяющие изделие, должны относиться к объекту Ship. Данные определения модели изделия, относящиеся к объекту Ship, поддерживаются для многих этапов жизненного цикла объекта Ship, включая новый проект, начальное и рабочее проектирование, организацию производства, эксплуатацию и утилизацию. Прикладной объект Ship может представлять собой один корпус или ряд корпусов в классе судов одного проекта, которые имеют идентичные данные об изделии.
<a id="p102054"></a>С объектом Ship связаны следующие данные:
- <a id="p102055"></a>single_hull_or_class;
- <a id="p102056"></a>ship_items;
- <a id="p102057"></a>units.

###### <a id="p102058"></a>4.2.88.1 Данные single_hull_or_class

<a id="p102059"></a>Данные single_hull_or_class указывают, применяется ли обмен данными к одному корпусу или к нескольким корпусам в классе объектов Ships.
<a id="p102060"></a>Значение данных вида single_hull_or_class должно быть одним из следующих:
- <a id="p102061"></a>design_for_multiple_hulls;
- <a id="p102062"></a>design_for_single_hulls.
<a id="p102063"></a>4.2.88.1.1 design_for_multiple_hulls
<a id="p102064"></a>Диапазон корпусов судов, для которых применяется конкретный объект Item (см. [4.2.52](#p101348)) или Definition (см. [4.2.23](#p100971)), должен быть указан с помощью Hull_applicability (см. [4.2.43](#p101152)).
<a id="p102065"></a>4.2.88.1.2 design_for_single_hulls
<a id="p102066"></a>Один корпус, для которого применяется конкретный Item (см. [4.2.52](#p101348)) или Definition (см. [4.2.23](#p100971)), должен быть указан с помощью Hull_applicability (см. [4.2.43](#p101152)).
<a id="p102067"></a>4.2.88.2 ship_items
<a id="p102068"></a>Данные ship_items задают составляющие объекты, применяемые к конкретному объекту Ship. Прикладное утверждение - см. [4.3.49](#p102991).
<a id="p102069"></a>4.2.88.3 units
<a id="p102070"></a>Данные units указывают ссылку на набор предопределенных единиц для всех типов измерений, которые могут появляться в модели Ship. Значением данных вида units может быть Derived_unit (см. [4.2.24](#p100983)) или Named_unit (см. [4.2.70](#p101663)). Для конкретного Ship данные вида units могут быть не заданы. В одном объекте Ship может быть задано несколько данных вида units. Прикладные утверждения - см. [4.3.86](#p103091) и [4.3.87](#p103094).

##### <a id="p102071"></a>4.2.89 Прикладной объект Ship_curve

<a id="p102072"></a>Прикладной объект Ship_curve является типом объекта Moulded_form_representation_item (см. [4.2.67](#p101636)), представляющим кривую с соответствующей информацией по теории судостроения. Значением Ship_curve may может быть Ship_curve_with_spacing_position (см. [4.2.91](#p102162)).
<a id="p102073"></a>Пример - Типом объекта Ship_curve является ватерлиния с геометрией, определенной B-сплайновой кривой. Кривые судна показаны на [рисунке 38](#p102075).

<a id="p102074"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_37.png) 

<a id="p102075"></a>Рисунок 38 - Кривые судна

<a id="p102076"></a>С объектом Ship_curve связаны следующие данные:
- <a id="p102077"></a>curve_class;
- <a id="p102078"></a>curve_shape;
- <a id="p102079"></a>side_condition.

###### <a id="p102080"></a>4.2.89.1 Данные curve_class

<a id="p102081"></a>Данные curve_class указывают категории теории судостроения для объекта Ship_curve, необходимые для проектного определения объектов Moulded_form (см. [4.2.61](#p101450)).
<a id="p102082"></a>Значение данных вида curve_class должно быть одним из следующих:
- <a id="p102083"></a>bounding_line;
- <a id="p102084"></a>buttock_line;
- <a id="p102085"></a>camber;
- <a id="p102086"></a>centreline;
- <a id="p102087"></a>flat_of_bottom;
- <a id="p102088"></a>flat_of_side;
- <a id="p102089"></a>intersection_line;
- <a id="p102090"></a>rise_of_floor;
- <a id="p102091"></a>sheer;
- <a id="p102092"></a>station_line;
- <a id="p102093"></a>trace_line;
- <a id="p102094"></a>unspecified;
- <a id="p102095"></a>waterline.
<a id="p102096"></a>4.2.89.1.1 bounding line
<a id="p102097"></a>Кривая является ограничивающей кривой объекта Moulded_form (см. [4.2.61](#p101450)) или Ship_surface (см. [4.2.97](#p102268)).
<a id="p102098"></a>4.2.89.1.2 buttock_line
<a id="p102099"></a>Кривая лежит на теоретической поверхности корпуса на пересечении продольной плоскости и теоретического обвода корпуса.
<a id="p102100"></a>Пример - Батоксы показаны на [рисунке 39](#p102102).

<a id="p102101"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_38.png) 

<a id="p102102"></a>Рисунок 39 - Батоксы

<a id="p102103"></a>4.2.89.1.3 camber
<a id="p102104"></a>Кривая лежит на теоретической поверхности палубы.
<a id="p102105"></a>*Примечание* - Образуется пересечением поперечной плоскости с теоретическим обводом палубы.

<a id="p102106"></a>4.2.89.1.4 centreline
<a id="p102107"></a>Кривая лежит на теоретической поверхности корпуса.
<a id="p102108"></a>*Примечание* - Образуется пересечением ДП с теоретическим обводом корпуса судна.

<a id="p102109"></a>4.2.89.1.5 flat_of_bottom
<a id="p102110"></a>Кривая, ограничивающая плоский участок днища.
<a id="p102111"></a>4.2.89.1.6 flat_of_side
<a id="p102112"></a>Кривая, ограничивающая плоский участок борта.
<a id="p102113"></a>4.2.89.1.7 intersection_line
<a id="p102114"></a>Кривая, образуемая пересечением двух объектов или поверхностей Moulded_form (см. [4.2.61](#p101450)).
<a id="p102115"></a>4.2.89.1.8 rise_of_floor
<a id="p102116"></a>Высота подъема днища, которая измеряется на полушироте от ОП.
<a id="p102117"></a>4.2.89.1.9 sheer
<a id="p102118"></a>Кривая лежит в теоретической поверхности палубы.
<a id="p102119"></a>*Примечание* - Седловатость (подъем палубы от середины мидель-шпангоута к носу и/или корме).

<a id="p102120"></a>4.2.89.1.10 station_line
<a id="p102121"></a>Кривая лежит в теоретической поверхности корпуса.
<a id="p102122"></a>*Примечание* - Линия шпангоута, полученная пересечением теоретического обвода корпуса с плоскостью, параллельной плоскости мидель-шпангоута.

<a id="p102123"></a>Пример - Теоретические шпангоуты показаны на [рисунке 40](#p102125).

<a id="p102124"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_39.png) 

<a id="p102125"></a>Рисунок 40 - Линии теоретических шпангоутов

<a id="p102126"></a>4.2.89.1.11 trace_line
<a id="p102127"></a>Кривая в теоретической поверхности конструктивной части, которая действует как граница или соединительная линия для крепления профиля или балки.
<a id="p102128"></a>4.2.89.1.12 unspecified
<a id="p102129"></a>Значение кривой в теории судостроения не задано.
<a id="p102130"></a>4.2.89.1.13 waterline
<a id="p102131"></a>Кривая лежит в теоретической поверхности корпуса.
<a id="p102132"></a>*Примечание* - Образуется пересечением плоскости воды с теоретическим обводом корпуса.

<a id="p102133"></a>Пример - Кривые ватерлиний показаны на [рисунке 41](#p102135).

<a id="p102134"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_40.png) 

<a id="p102135"></a>Рисунок 41 - Ватерлинии


###### <a id="p102136"></a>4.2.89.2 Данные curve_shape

<a id="p102137"></a>Данные curve_shape указывают базовые геометрические определения объекта Ship_curve (см. 4.2.89).
<a id="p102138"></a>*Пример* - Каркасные или однообразные B-сплайновые представления.

###### <a id="p102139"></a>4.2.89.3 Данные side_condition

<a id="p102140"></a>Данные side_condition указывают поведение кривых, пересекающих заданную кривую в точке перехода.
<a id="p102141"></a>*Пример* - Кривая сечения будет ломаться на ватерлинии, представляя пересечение скулового киля и прямостенной части борта.
<a id="p102142"></a>Значение данных вида side_condition должно быть одним из следующих:
- <a id="p102143"></a>knuckle;
- <a id="p102144"></a>smooth;
- <a id="p102145"></a>tangent;
- <a id="p102146"></a>unspecified.
<a id="p102147"></a>4.2.89.3.1 knuckle
<a id="p102148"></a>Кривая пересечения имеет прерывистую касательную по обе стороны от точки перехода.
<a id="p102149"></a>4.2.89.3.2 smooth
<a id="p102150"></a>Кривая пересечения гладкая по обе стороны от точки перехода.
<a id="p102151"></a>4.2.89.3.3 tangent
<a id="p102152"></a>Кривая пересечения имеет заданную касательную в точке перехода.
<a id="p102153"></a>4.2.89.3.4 unspecified
<a id="p102154"></a>У кривой пересечения отсутствует информация о соприкасании в точке перехода.

##### <a id="p102155"></a>4.2.90 Прикладной объект Ship_curve_segment

<a id="p102156"></a>Прикладной объект Ship_curve_segment определяет информацию о кривой для каркасного представления судна или части судна. Объект Ship_curve_segment является одной из ограничивающих кривых ячейки в каркасе с информацией о Ship_curve (см. [4.2.89](#p102071)), к которой принадлежит Ship_curve_segment.
<a id="p102157"></a>*Примечание* - Информация о кривой будет поддерживать сущностный объект edge_curve, как определено в ИСО 10303-42.

<a id="p102158"></a>С объектом Ship_curve_segment связаны следующие данные:
- <a id="p102159"></a>part_of_ship_curve.

###### <a id="p102160"></a>4.2.90.1 Данные part_of_ship_curve

<a id="p102161"></a>Данные part_of_ship_curve определяют объект Ship_curve (см. [4.2.89](#p102071)), в состав которого входит Ship_curve_segment. Прикладное утверждение см. [4.3.88](#p103097).

##### <a id="p102162"></a>4.2.91 Прикладной объект Ship_curve_with_spacing_position

<a id="p102163"></a>Прикладной объект Ship_curve_with_spacing_position является типом объекта Ship_curve (см. [4.2.89](#p102071)), имеющим связанное с ним интервальное положение.
<a id="p102164"></a>*Пример* - Ватерлиния, у которой есть геометрия, определенная B-сплайновой кривой и расположенная в вертикальном интервальном положении.
<a id="p102165"></a>*Примечание* - Ship_curve_with_spacing_position может определяться только для двухмерной кривой судна, расположенной в одной из плоскостей глобальной системы координат.

<a id="p102166"></a>С объектом Ship_curve_with_spacing_position связаны следующие данные:
- <a id="p102167"></a>location.

###### <a id="p102168"></a>4.2.91.1 Данные location

<a id="p102169"></a>Данные location определяют объект Spacing_position (см. [4.2.100](#p102550)), где определена кривая судна. Прикладное утверждение - см. [4.3.89](#p103099).

##### <a id="p102170"></a>4.2.92 Прикладной объект Ship_designation

<a id="p102171"></a>Прикладной объект Ship_designation является типом объекта General_characteristics_definition (см. [4.2.40](#p101121)), который определяет идентификацию, присвоенную судну с тем, чтобы его могла классифицировать любая организация, связанная с судостроением и судоходством.
<a id="p102172"></a>С объектом Ship_designation связаны следующие данные:
- <a id="p102173"></a>call_sign;
- <a id="p102174"></a>flag_state;
- <a id="p102175"></a>local_units;
- <a id="p102176"></a>port_of_registration;
- <a id="p102177"></a>ship_identification;
- <a id="p102178"></a>ship_name;
- <a id="p102179"></a>description.

###### <a id="p102180"></a>4.2.92.1 Данные call_sign

<a id="p102181"></a>Данные call_sign указывают уникальный идентификатор жизненного цикла, который присваивается судну данными вида flag_state для радиосвязи.

###### <a id="p102182"></a>4.2.92.2 Данные flag_state

<a id="p102183"></a>Данные flag_state указывают национальный орган, в котором регистрируется судно.

###### <a id="p102184"></a>4.2.92.3 Данные local_units

<a id="p102185"></a>Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением данных local_units может быть Derived_unit (см. [4.2.24](#p100983)) или Named_unit (см. [4.2.70](#p101663)). Для конкретного Ship_designation данные вида local_units могут быть не заданы. В одном объекте Ship_designation может быть задано несколько данных вида local_units. Прикладные утверждения - см. [4.3.91](#p103104) и [4.3.90](#p103101).

###### <a id="p102186"></a>4.2.92.4 Данные port_of_registration

<a id="p102187"></a>Данные port_of_registration указывают государственный порт приписки судна. Данные port_of_registration находятся под юрисдикцией данных вида flag_state.

###### <a id="p102188"></a>4.2.92.5 Данные ship_identification

<a id="p102189"></a>Данные ship_identification указывают общий идентификатор, являющийся уникальным для судна, присваиваемый во время классификации.

###### <a id="p102190"></a>4.2.92.6 Данные ship_name

<a id="p102191"></a>Данные ship_name указывают наименование судна, присвоенное владельцем.

###### <a id="p102192"></a>4.2.92.7 Данные description

<a id="p102193"></a>Данные description указывают дополнительные данные о функции судна, а также дополнительные сведения о перевозимых грузах. Если значением объекта Shiptype (см. [4.2.98](#p102501)) являются данные вида user_defined, то данные вида description предоставляют информацию по типу судна.

##### <a id="p102194"></a>4.2.93 Прикладной объект Ship_moulded_form

<a id="p102195"></a>Прикладной объект Ship_moulded_form является типом объекта Item_structure (см. [4.2.54](#p101378)) и типом объекта Item (см. [4.2.52](#p101348)), который группирует вместе все объекты Moulded_form (см. [4.2.61](#p101450)).
<a id="p102196"></a>*Пример* 1 - Значением объекта Ship_moulded_form может быть группа отдельных объектов Moulded_form для корпуса судна, гребного винта, руля и выступающих частей.
<a id="p102197"></a>Пример 2 - Теоретические обводы судов показаны на [рисунке 42](#p102200).
<a id="p102198"></a>Примечание - Прикладной объект Ship_moulded_form не должен ни в коем случае содержать ссылок на прикладной объект Local_co_ordinate_system (см. [4.2.56](#p101403)).

<a id="p102199"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_41.png) 

<a id="p102200"></a>Рисунок 42 - Корпус судна, руль и гребной винт

<a id="p102201"></a>С объектом Ship_moulded_form связаны следующие данные:
- <a id="p102202"></a>items;
- <a id="p102203"></a>relationships.

###### <a id="p102204"></a>4.2.93.1 Данные items

<a id="p102205"></a>Данные items указывают все объекты Moulded_form (см. [4.2.61](#p101450)), которые определяют прикладной объект Ship_moulded_form. Прикладное утверждение - см. [4.3.92](#p103107).

###### <a id="p102206"></a>4.2.93.2 Данные relationships

<a id="p102207"></a>Данные relationships указывают объекты Moulded_form_relationship (см. [4.2.66](#p101624)), которые формируют прикладной объект Ship_moulded_form. Прикладное утверждение - см. [4.3.93](#p103109).

##### <a id="p102208"></a>4.2.94 Прикладной объект Ship_moulded_form_revision

<a id="p102209"></a>Прикладной объект Ship_moulded_form_revision является типом объекта Revision_with_context (см. [4.2.84](#p101985)), указывающим редакцию объекта Ship_moulded_form (см. [4.2.93](#p102194)). Собирает все используемые версии объектов Moulded_form_design_definition (см. [4.2.64](#p101481)), относящиеся к определению конкретного теоретического обвода судна.
<a id="p102210"></a>С объектом Ship_moulded_form_revision связаны следующие данные:
- <a id="p102211"></a>context_of_revision;
- <a id="p102212"></a>members.

###### <a id="p102213"></a>4.2.94.1 Данные context_of_revision

<a id="p102214"></a>Данные context_of_revision указывают объект Ship_moulded_form (см. [4.2.93](#p102194)), для которого определяется прикладной объект Ship_moulded_form_revision. Прикладное утверждение - см. [4.3.95](#p103113).

###### <a id="p102215"></a>4.2.94.2 Данные members

<a id="p102216"></a>Данные members указывают набор объектов Moulded_form_design_definition (см. [4.2.64](#p101481)), формирующих прикладной объект Ship_moulded_form_revision. Прикладное утверждение - см. [4.3.94](#p103111).

##### <a id="p102217"></a>4.2.95 Прикладной объект Ship_overall_dimensions

<a id="p102218"></a>Прикладной объект Ship_overall_dimensions является типом объекта Definition (см. [4.2.23](#p100971)), который указывает максимальные пределы объекта Ship_moulded_form (см. [4.2.93](#p102194)).
<a id="p102219"></a>Пример - Габаритные размеры судна показаны на [рисунке 43](#p102221).

<a id="p102220"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_42.png) 

<a id="p102221"></a>Рисунок 43 - Габаритные размеры корпуса судна

<a id="p102222"></a>С объектом Ship_overall_dimensions связаны следующие данные:
- <a id="p102223"></a>defined_for;
- <a id="p102224"></a>overall_breadth;
- <a id="p102225"></a>overall_depth;
- <a id="p102226"></a>overall_length;
- <a id="p102227"></a>stem_overhang;
- <a id="p102228"></a>stern_overhang.

###### <a id="p102229"></a>4.2.95.1 Данные defined_for

<a id="p102230"></a>Данные defined_for указывают судно для данного объекта Ship_overall_dimensions. Прикладное утверждение - см. [4.3.96](#p103115).

###### <a id="p102231"></a>4.2.95.2 Данные overall_breadth

<a id="p102232"></a>Данные overall_breadth указывают максимальную ширину объекта Ship_moulded_form (см. [4.2.93](#p102194)).

###### <a id="p102233"></a>4.2.95.3 Данные overall_depth

<a id="p102234"></a>Данные overall_depth указывают максимальное расстояние по вертикали от ОП до самой высокой палубы объекта Ship_moulded_form (см. [4.2.93](#p102194)).

###### <a id="p102235"></a>4.2.95.4 Данные overall_length

<a id="p102236"></a>Данные overall_length указывают длину от крайней носовой до крайней кормовой оконечности объекта Ship_moulded_form (см. [4.2.93](#p102194)).

###### <a id="p102237"></a>4.2.95.5 Данные stem_overhang

<a id="p102238"></a>Данные stem_overhang указывают длину от носового перпендикуляра до крайней носовой оконечности объекта Ship_moulded_form (см. [4.2.93](#p102194)).

###### <a id="p102239"></a>4.2.95.6 Данные stern_overhang

<a id="p102240"></a>Данные stern_overhang указывают длину от крайней кормовой оконечности объекта Ship_moulded_form (см. [4.2.93](#p102194)) до кормового перпендикуляра.

##### <a id="p102241"></a>4.2.96 Прикладной объект Ship_point

<a id="p102242"></a>Прикладной объект Ship_point является типом объекта Moulded_form_representation_item (см. [4.2.67](#p101636)), представляющим точку с соответствующей информацией по теории судостроения.
<a id="p102243"></a>Пример - Точки судна показаны на [рисунке 44](#p102245).

<a id="p102244"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_43.png) 

<a id="p102245"></a>Рисунок 44 - Точки судна

<a id="p102246"></a>Значением объекта Ship_point может быть точка перегиба с размещением в глобальной системе координат.
<a id="p102247"></a>С объектом Ship_point связаны следующие данные:
- <a id="p102248"></a>point_class;
- <a id="p102249"></a>point_shape.

###### <a id="p102250"></a>4.2.96.1 Данные point_class

<a id="p102251"></a>Данные point_class указывают категории теории судостроения для объекта Ship_point исходя из поведения кривых, проходящих через объект Ship_point.
<a id="p102252"></a>Значение данных вида point_class должно быть одним из следующих:
- <a id="p102253"></a>knuckle;
- <a id="p102254"></a>ordinary;
- <a id="p102255"></a>tangent;
- <a id="p102256"></a>unspecified.
<a id="p102257"></a>4.2.96.1.1 knuckle
<a id="p102258"></a>Кривая, проходящая через эту точку, имеет прерывистую касательную по обе стороны точки.
<a id="p102259"></a>4.2.96.1.2 ordinary
<a id="p102260"></a>Одна или несколько кривых, проходящих через эту точку, имеют плавную касательную.
<a id="p102261"></a>4.2.96.1.3 tangent
<a id="p102262"></a>Кривые, проходящие через эту точку, имеют заданную касательную.
<a id="p102263"></a>4.2.96.1.4 unspecified
<a id="p102264"></a>Информация о касательной для кривых, проходящих через эту точку, отсутствует.

###### <a id="p102265"></a>4.2.96.2 Данные point_shape

<a id="p102266"></a>Данные point_shape указывают базовое геометрическое определение объекта Ship_point.
<a id="p102267"></a>*Пример* - Данными вида point_type является представление таблицы ординат теоретического чертежа.

##### <a id="p102268"></a>4.2.97 Прикладной объект Ship_surface

<a id="p102269"></a>Прикладной объект Ship_surface является типом объекта Moulded_form_representation_item (см. [4.2.67](#p101636)), представляющим поверхность с соответствующей информацией по теории судостроения.
<a id="p102270"></a>С объектом Ship_surface связаны следующие данные:
- <a id="p102271"></a>surface_class;
- <a id="p102272"></a>surface_shape.

###### <a id="p102273"></a>4.2.97.1 Данные surface_class

<a id="p102274"></a>Данные surface_class указывают категории теории судостроения для объекта Ship_surface исходя из размещения поверхности.
<a id="p102275"></a>Значение данных вида surface_class должно быть одним из следующих:
- <a id="p102276"></a>accommodation_area;
- <a id="p102277"></a>accommodation_deck;
- <a id="p102278"></a>aft_ship;
- <a id="p102279"></a>blending_surface;
- <a id="p102280"></a>bottom;
- <a id="p102281"></a>bracket;
- <a id="p102282"></a>bulkhead;
- <a id="p102283"></a>cargo_area;
- <a id="p102284"></a>collision_bulkhead;
- <a id="p102285"></a>cross_tie;
- <a id="p102286"></a>deck;
- <a id="p102287"></a>deck_beam;
- <a id="p102288"></a>deck_house;
- <a id="p102289"></a>deck_in_superstructure;
- <a id="p102290"></a>double_bottom;
- <a id="p102291"></a>double_shell;
- <a id="p102292"></a>duct_keel;
- <a id="p102293"></a>engine_area;
- <a id="p102294"></a>engine_foundation;
- <a id="p102295"></a>external_surface;
- <a id="p102296"></a>floor;
- <a id="p102297"></a>fore_ship;
- <a id="p102298"></a>frame;
- <a id="p102299"></a>girder;
- <a id="p102300"></a>hatch_cover;
- <a id="p102301"></a>hatchway_coaming;
- <a id="p102302"></a>hatchway_endcoaming;
- <a id="p102303"></a>hatchway_sidecoaming;
- <a id="p102304"></a>hold_bulkhead;
- <a id="p102305"></a>hopper;
- <a id="p102306"></a>inner_bottom;
- <a id="p102307"></a>inner_shell;
- <a id="p102308"></a>internal_surface;
- <a id="p102309"></a>keel;
- <a id="p102310"></a>longitudinal_bulkhead;
- <a id="p102311"></a>longitudinal_girder;
- <a id="p102312"></a>lower_boom;
- <a id="p102313"></a>machinery_casing;
- <a id="p102314"></a>main_deck;
- <a id="p102315"></a>mid_ship;
- <a id="p102316"></a>navigation_deck;
- <a id="p102317"></a>outer_shell;
- <a id="p102318"></a>platform_deck;
- <a id="p102319"></a>plating;
- <a id="p102320"></a>sheer_strake;
- <a id="p102321"></a>ship_structure;
- <a id="p102322"></a>stern_frame;
- <a id="p102323"></a>stool;
- <a id="p102324"></a>strength_bulkhead;
- <a id="p102325"></a>strength_deck;
- <a id="p102326"></a>stringer;
- <a id="p102327"></a>superstructure;
- <a id="p102328"></a>superstructure_aft_bulkhead;
- <a id="p102329"></a>superstructure_front_bulkhead;
- <a id="p102330"></a>superstructure_side_bulkhead;
- <a id="p102331"></a>tank_bottom;
- <a id="p102332"></a>tank_bulkhead;
- <a id="p102333"></a>tank_side;
- <a id="p102334"></a>tank_top;
- <a id="p102335"></a>transom;
- <a id="p102336"></a>transversal_bulkhead;
- <a id="p102337"></a>transverse_floor;
- <a id="p102338"></a>transverse_web_frame;
- <a id="p102339"></a>upper_boom;
- <a id="p102340"></a>user_defined;
- <a id="p102341"></a>vertical_web_frame;
- <a id="p102342"></a>wall;
- <a id="p102343"></a>wash_bulkhead;
- <a id="p102344"></a>weather_deck;
- <a id="p102345"></a>web_frame;
- <a id="p102346"></a>wing_bulkhead.
<a id="p102347"></a>4.2.97.1.1 accommodation_area
<a id="p102348"></a>Рубка на верхней палубе или надстройка, в которой находятся спальные места для пассажиров и экипажа.
<a id="p102349"></a>4.2.97.1.2 accommodation_deck
<a id="p102350"></a>Палуба, расположенная в жилой зоне.
<a id="p102351"></a>4.2.97.1.3 aft_ship
<a id="p102352"></a>Часть судна в корму от мидель-шпангоута.
<a id="p102353"></a>4.2.97.1.4 blending_surface
<a id="p102354"></a>Поверхность, формирующая соединение между объектами Moulded_form (см. [4.2.61](#p101450)).
<a id="p102355"></a>*Пример* - Типом данных вида blending_surface являются корпус и выступающая часть корпуса (подруливающее устройство).
<a id="p102356"></a>4.2.97.1.5 bottom
<a id="p102357"></a>Днище корпуса.
<a id="p102358"></a>4.2.97.1.6 bracket
<a id="p102359"></a>Отбортованный лист или обычный лист, используемый для обеспечения жесткого соединения между двумя конструктивными элементами.
<a id="p102360"></a>4.2.97.1.7 bulkhead
<a id="p102361"></a>Термин, применяемый к любой из перегородок, которые используются для разделения внутренней части судна на различные отсеки.
<a id="p102362"></a>*Примечание* - Переборка может быть "непропускающей" (водонепроницаемой), конструктивной (обеспечивающей прочность судна) или ненесущей (перегородка в жилой зоне).

<a id="p102363"></a>4.2.97.1.8 cargo_area
<a id="p102364"></a>Часть судна, предназначенная для хранения судового груза, т.е. грузовой отсек.
<a id="p102365"></a>4.2.97.1.9 collision_bulkhead
<a id="p102366"></a>Переборка, расположенная в носовой части судна, идущая от днища судна до верхней палубы, предназначенная для обеспечения водонепроницаемости при повреждении носа, а также самая передняя поперечная переборка на судне.
<a id="p102367"></a>4.2.97.1.10 cross_tie
<a id="p102368"></a>Корпусная конструкция, соединяющая две параллельные балки для обеспечения дополнительной прочности палубы.
<a id="p102369"></a>4.2.97.1.11 deck
<a id="p102370"></a>Палуба на судне. Представляет собой горизонтальное перекрытие, состоящее из настила и набора.
<a id="p102371"></a>4.2.97.1.12 deck_beam
<a id="p102372"></a>Поперечный или продольный горизонтальный конструктивный элемент, обычно представляющий собой прокатный профиль, на который опирается палуба или плоская поверхность.
<a id="p102373"></a>4.2.97.1.13 deck_house
<a id="p102374"></a>Закрытая конструкция на открытой палубе или над ней, не доходящая до борта судна.
<a id="p102375"></a>4.2.97.1.14 deck_in_superstructure
<a id="p102376"></a>Палуба в надстройке.
<a id="p102377"></a>4.2.97.1.15 double_bottom
<a id="p102378"></a>Термин, применяемый к пространству между внутренней и внешней обшивками днища судна, используемому для водяного балласта, мазута и т.д.
<a id="p102379"></a>*Примечание* - Также применяется для обозначения того, что судно имеет полную внутреннюю или дополнительную оболочку из водонепроницаемой днищевой обшивки.

<a id="p102380"></a>4.2.97.1.16 double_shell
<a id="p102381"></a>Термин, используемый для описания судна с двойным корпусом, т.е. повреждение внешнего корпуса не повлияет на конструктивную целостность судна и не приведет к гибели груза.
<a id="p102382"></a>4.2.97.1.17 duct_keel
<a id="p102383"></a>Тоннельный киль - область внутри двойного дна, ограниченная водонепроницаемыми продольными переборками, в которой обычно расположены трубопроводы и системы.
<a id="p102384"></a>4.2.97.1.18 engine_area
<a id="p102385"></a>Машинное отделение или машинное помещение судна, в котором расположена главная энергетическая установка.
<a id="p102386"></a>4.2.97.1.19 engine_foundation
<a id="p102387"></a>Толстолистовая подкрепленная конструкция, которая служит конструктивной опорой главной энергетической установки, обычно монтируется сверху на внутренней днищевой конструкции.
<a id="p102388"></a>4.2.97.1.20 external_surface
<a id="p102389"></a>Поверхность, являющаяся частью представления внешней поверхности судна.
<a id="p102390"></a>4.2.97.1.21 floor
<a id="p102391"></a>Лист, используемый вертикально в днище судна обычно на каждом шпангоуте, для его углубления, и идущий поперек судна от трюма к трюму.
<a id="p102392"></a>*Примечание* - Поперечные листовые конструкции, обычно расположенные в двойном дне, используемые для разделения двойного дна и опоры обшивки днища и внутренних продольных элементов днища.

<a id="p102393"></a>4.2.97.1.22 fore_ship
<a id="p102394"></a>Термин, используемый для обозначения частей или части судна в носу или рядом с ним. Также применяется к той части и частям судна, которые лежат между мидель-шпангоутом и носом судна.
<a id="p102395"></a>4.2.97.1.23 frame
<a id="p102396"></a>Термин, обычно используемый для обозначения одного из поперечных ребер, составляющих остов судна. Шпангоуты действуют как ребра жесткости, удерживая форму бортовой обшивки и сохраняя поперечную форму судна.
<a id="p102397"></a>4.2.97.1.24 girder
<a id="p102398"></a>Основной несущий конструктивный элемент, который проходит вдоль палуб, обшивок и переборок.
<a id="p102399"></a>*Примечание* - Продольная балка обеспечивает опору и жесткость меньшим и более близко расположенным друг к другу балкам.

<a id="p102400"></a>4.2.97.1.25 hatch_cover
<a id="p102401"></a>Люковое закрытие, обеспечивающее водонепроницаемость грузовых трюмов. Люковые закрытия предназначены для размещения палубных грузов, а также для доступа в трюм или машинные помещения.
<a id="p102402"></a>4.2.97.1.26 hatchway_coaming
<a id="p102403"></a>Четыре части с вертикальными стенками в раме люка, которые вместе называются комингсом люка.
<a id="p102404"></a>4.2.97.1.27 hatchway_endcoaming
<a id="p102405"></a>Поперечные части с вертикальными стенками в переднем и заднем концах люка, которые упираются в палубные бимсы.
<a id="p102406"></a>4.2.97.1.28 hatchway_sidecoaming
<a id="p102407"></a>Продольные части с вертикальными стенками по бокам люка, опирающиеся на люковые карлингсы, в которые упираются палубные бимсы.
<a id="p102408"></a>4.2.97.1.29 hold_bulkhead
<a id="p102409"></a>Продольная или поперечная перегородка, используемая для разделения трюма (пространства, предназначенного для хранения груза).
<a id="p102410"></a>4.2.97.1.30 hopper
<a id="p102411"></a>Трюмное пространство для сухого груза с наклонными листами переборки в днище со всех четырех сторон для обеспечения направления сыпучих грузов в систему разгрузки.
<a id="p102412"></a>4.2.97.1.31 inner_bottom
<a id="p102413"></a>Внутренняя или дополнительная оболочка из водонепроницаемой днищевой обшивки на судне с двойным дном. Листы, образующие верхнюю часть двойного дна, также называют настилом второго дна.
<a id="p102414"></a>*Примечание* - Двойное дно обычно устанавливается на больших судах от скулы до скулы и почти по всей длине в нос и в корму. Там, где имеется два днища, внешнее называется днищевой обшивкой, внутреннее - внутренним дном.

<a id="p102415"></a>4.2.97.1.32 inner_shell
<a id="p102416"></a>Поверхности, из которых состоит внутренняя обшивка судна с двойным корпусом.
<a id="p102417"></a>4.2.97.1.33 internal_surface
<a id="p102418"></a>Поверхность, являющаяся частью представления внутренней поверхности судна.
<a id="p102419"></a>*Пример* - К типам данных вида internal_surface относятся продольные балки или переборки.
<a id="p102420"></a>4.2.97.1.34 keel
<a id="p102421"></a>Основной продольный элемент набора судна, расположенный по ДП днища и соединенный с носовым или кормовым набором. К килю крепятся флоры или траверсы днища.
<a id="p102422"></a>*Примечание* - Плоский киль представляет собой расположенный горизонтально, по ДП, нижний пояс обшивки днища, образующий нижний поясок киля. Центральный вертикальный киль - это вертикальная, расположенная по ДП стенка киля.

<a id="p102423"></a>4.2.97.1.35 longitudinal_bulkhead
<a id="p102424"></a>Вертикальная переборка, идущая в носовом и кормовом направлениях, используемая для разделения или деления судна на части для обеспечения прочности, обеспечения остойчивости в неповрежденном виде и для разделения помещений.
<a id="p102425"></a>4.2.97.1.36 longitudinal_girder
<a id="p102426"></a>Термин, применяемый к идущей по всей длине продольной балке в днище судна. Эти балки обычно состоят из листов и профилей, иногда бывают интеркостельными, а иногда непрерывными.
<a id="p102427"></a>4.2.97.1.37 lower_boom
<a id="p102428"></a>Конструкция, расположенная на нижнем уровне судна, предназначенная для погрузочно-разгрузочных работ и работающая совместно с верхней стрелой.
<a id="p102429"></a>*Примечание* - Стрела представляет собой длинную круглую штангу, шарнирно закрепленную своим нижним концом обычно к мачте или грузовой полумачте на судне и поддерживаемую проволочным тросом или талями от верхней части такелажа до верхнего конца стрелы. Грузы, запасы и пр. поднимаются с помощью талей, идущих от верхнего конца стрелы.

<a id="p102430"></a>4.2.97.1.38 machinery_casing
<a id="p102431"></a>Основная функция машинных кожухов - обеспечение защиты отверстий, расположенных в открытой палубе над двигателями и котлами (для доступа, для обеспечения света и воздуха, а также для газоотводов от котлов), от проникновения морской воды внутрь судна через эти отверстия в плохую погоду. Под верхней палубой машинный кожух отделяет машинные помещения от жилых и грузовых помещений.
<a id="p102432"></a>4.2.97.1.39 main_deck
<a id="p102433"></a>Основная палуба основного корпуса, обычно самая высокая конструкция, идущая от носа до кормы и обеспечивающая прочность основного корпуса. Эта конструкция также называется прочной палубой.
<a id="p102434"></a>4.2.97.1.40 mid_ship
<a id="p102435"></a>Точка, расположенная на равном расстоянии между носовым и кормовым перпендикулярами судна.
<a id="p102436"></a>4.2.97.1.41 navigation_deck
<a id="p102437"></a>Конструкция, обычно расположенная в рубке, представляющая собой палубу, на которой осуществляется управление судном/судовождение.
<a id="p102438"></a>4.2.97.1.42 outer_shell
<a id="p102439"></a>Конструкция внешнего корпуса двухкорпусного судна, соприкасающаяся с морем.
<a id="p102440"></a>4.2.97.1.43 platform_deck
<a id="p102441"></a>Нижняя палуба, как правило, в грузовом помещении, не участвующая в обеспечении продольной прочности судна.
<a id="p102442"></a>4.2.97.1.44 plating
<a id="p102443"></a>Сплошной материал, используемый для обеспечения опоры, разделения, закрытия и т.д., для переборок, палуб, рубок, обшивки, внутреннего днища и пр.
<a id="p102444"></a>4.2.97.1.45 sheer_strake
<a id="p102445"></a>Участок наружной обшивки корпуса на уровне прочной палубы, как правило, усиленной и без отверстий.
<a id="p102446"></a>4.2.97.1.46 ship_structure
<a id="p102447"></a>Конструкция всего судна целиком.
<a id="p102448"></a>4.2.97.1.47 stern_frame
<a id="p102449"></a>Большая отливка, поковка или сварная конструкция, прикрепленная к кормовой оконечности киля. Включает в себя рулевую обойму, а на одновинтовых судах - старн-пост.
<a id="p102450"></a>4.2.97.1.48 stool
<a id="p102451"></a>Конструктивная опора, расположенная в основании гофрированной поперечной переборки, обеспечивающая переход между переборкой и внутренним днищем.
<a id="p102452"></a>4.2.97.1.49 strength_bulkhead
<a id="p102453"></a>Переборка, участвующая в обеспечении прочности судна.
<a id="p102454"></a>4.2.97.1.50 strength_deck
<a id="p102455"></a>Палуба, выполненная в виде самой верхней части основной продольной балки усиления корпуса. Большую нижнюю часть этой балки образует днищевая обшивка корпуса.
<a id="p102456"></a>4.2.97.1.51 stringer
<a id="p102457"></a>Термин, применяемый к идущей по всей длине судна продольной балке, проходящей вдоль борта судна у обшивки корпуса, а также к внешнему поясу обшивки на любой палубе. Также включает боковые части трапа или лестницы, к которым крепятся ступени и подступени.
<a id="p102458"></a>4.2.97.1.52 superstructure
<a id="p102459"></a>Конструкция с настилом над верхней палубой, внешние борта которой образованы внешней обшивкой корпуса. Эта конструкция отличается от рубки, которая не выходит за борт по бортам судна.
<a id="p102460"></a>4.2.97.1.53 superstructure_aft_bulkhead
<a id="p102461"></a>Основная поперечная переборка, образующая кормовую границу надстройки.
<a id="p102462"></a>4.2.97.1.54 superstructure_front_bulkhead
<a id="p102463"></a>Основная поперечная переборка, образующая носовую границу надстройки.
<a id="p102464"></a>4.2.97.1.55 superstructure_side_bulkhead
<a id="p102465"></a>Основные продольные переборки по бортам (по левому и правому борту), образующие боковые границы надстройки.
<a id="p102466"></a>4.2.97.1.56 tank_bottom
<a id="p102467"></a>Нижняя граница цистерны; днищевая обшивка корпуса, верхняя часть внутреннего дна или палуба, образующая нижнюю границу цистерны.
<a id="p102468"></a>4.2.97.1.57 tank_bulkhead
<a id="p102469"></a>Продольные или поперечные вертикальные усиленные листовые конструкции, которые добавляются для формирования боковых и торцевых границ цистерны.
<a id="p102470"></a>4.2.97.1.58 tank_side
<a id="p102471"></a>Продольные усиленные листовые конструкции, которые добавляются для формирования боковых границ цистерны.
<a id="p102472"></a>4.2.97.1.59 tank_top
<a id="p102473"></a>Горизонтальные усиленные листовые конструкции, которые добавляются для формирования верхней границы цистерны.
<a id="p102474"></a>4.2.97.1.60 transom
<a id="p102475"></a>Прямая широкая корма, используемая для увеличения объема корпуса и палубного пространства в кормовой части и (или) для уменьшения сопротивления на некоторых высокоскоростных судах.
<a id="p102476"></a>4.2.97.1.61 transversal_bulkhead
<a id="p102477"></a>Вертикальные усиленные листовые конструкции, ориентированные поперек судна и используемые для разделения или деления судна на части для обеспечения прочности, для обеспечения остойчивости в неповрежденном виде и для разделения помещений.
<a id="p102478"></a>4.2.97.1.62 transverse_floor
<a id="p102479"></a>Вертикальный поперечный лист непосредственно над днищевой обшивкой корпуса, часто расположенный на каждом шпангоуте, идущий от скулы до скулы.
<a id="p102480"></a>4.2.97.1.63 transverse_web_frame
<a id="p102481"></a>Составной шпангоут для обеспечения дополнительной прочности, обычно состоящий из листа с фланцами или иным образом усиленный по краю, разнесенный на несколько шпаций, с меньшими обычными шпангоутами между ними.
<a id="p102482"></a>4.2.97.1.64 upper_boom
<a id="p102483"></a>Конструкция, расположенная на высоком уровне судна, предназначенная для погрузочно-разгрузочных работ и работающая совместно с нижней стрелой.
<a id="p102484"></a>4.2.97.1.65 user_defined
<a id="p102485"></a>Цель использования базовой конструкции определяется пользователем.
<a id="p102486"></a>4.2.97.1.66 vertical_web_frame
<a id="p102487"></a>Тип рамного шпангоута.
<a id="p102488"></a>4.2.97.1.67 wall
<a id="p102489"></a>Термин, хотя и не относится к судостроительной терминологии, применяется к любой из перегородок, которые используются для разделения внутренней части судна на различные отсеки.
<a id="p102490"></a>4.2.97.1.68 wash_bulkhead
<a id="p102491"></a>Продольная или поперечная негерметичная переборка, установленная в цистерне для уменьшения плескания жидкого содержимого при бортовой и килевой качке судна в море.
<a id="p102492"></a>*Примечание* - Также называется отбойной переборкой.

<a id="p102493"></a>4.2.97.1.69 weather_deck
<a id="p102494"></a>Самая верхняя непрерывная палуба без верхнего защитного перекрытия.
<a id="p102495"></a>4.2.97.1.70 web_frame
<a id="p102496"></a>Составной шпангоут для обеспечения дополнительной прочности, обычно состоящий из листа с фланцами или иным образом усиленный по краю, разнесенный на несколько шпаций, с меньшими обычными шпангоутами между ними.
<a id="p102497"></a>4.2.97.1.71 wing_bulkhead
<a id="p102498"></a>Крайняя продольная переборка, формирующая границу бортовой цистерны (левой или правой).

###### <a id="p102499"></a>4.2.97.2 Данные surface_shape

<a id="p102500"></a>Данные surface_shape указывают базовое геометрическое определение объекта Ship_surface.

##### <a id="p102501"></a>4.2.98 Прикладной объект Shiptype

<a id="p102502"></a>Прикладной объект Shiptype является типом объекта Functional_definition (см. [4.2.39](#p101112)) и описывает функцию, назначение или задачу, для которой проектируется объект Ship (см. [4.2.88](#p102052)). Значением каждого прикладного объекта Shiptype является либо Carrier (см. [4.2.9](#p100686)), Navy_ship (см. [4.2.71](#p101665)), Research_ship (см. [4.2.82](#p101964)), либо Working_ship (см. [4.2.127](#p102793)).
<a id="p102503"></a>Пример - Типы судов показаны на [рисунках 45](#p102505) и [46](#p102507).

<a id="p102504"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_44.png) 

<a id="p102505"></a>Рисунок 45 - Типы судов



<a id="p102506"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_45.png) 

<a id="p102507"></a>Рисунок 46 - Типы судов

<a id="p102508"></a>С объектом Shiptype связаны следующие данные:
- <a id="p102509"></a>defined_for;
- <a id="p102510"></a>description.

###### <a id="p102511"></a>4.2.98.1 Данные defined_for

<a id="p102512"></a>Данные defined_for указывают судно, для которого определен данный тип судна. Прикладное утверждение - см. [4.3.97](#p103117).

###### <a id="p102513"></a>4.2.98.2 Данные description

<a id="p102514"></a>Данные description указывают дополнительную информацию о судне.

##### <a id="p102515"></a>4.2.99 Прикладной объект Shipyard_designation

<a id="p102516"></a>Прикладной объект Shipyard_designation является объектом типа General_characteristics_definition (см. [4.2.40](#p101121)), который указывает идентификацию, присвоенную судну судостроительной организацией.
<a id="p102517"></a>С объектом Shipyard_designation связаны следующие данные:
- <a id="p102518"></a>local_units;
- <a id="p102519"></a>role;
- <a id="p102520"></a>shipyard;
- <a id="p102521"></a>shipyard_new_building_id;
- <a id="p102522"></a>shipyard_project_name.

###### <a id="p102523"></a>4.2.99.1 Данные local_units

<a id="p102524"></a>Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением данных вида local_units может быть Derived_unit (см. [4.2.24](#p100983)) или Named_unit (см. [4.2.70](#p101663)). Для конкретного Shipyard_designation данные вида local_units могут быть не заданы. В одном объекте Shipyard_designation может быть задано несколько данных вида local_units. Прикладные утверждения - см. [4.3.98](#p103119) и [4.3.99](#p103122).

###### <a id="p102525"></a>4.2.99.2 Данные role

<a id="p102526"></a>Данные role указывают контрактное обязательство судостроительной верфи в отношении судна.
<a id="p102527"></a>Значение данных вида role должно быть одним из следующих:
- <a id="p102528"></a>prime;
- <a id="p102529"></a>prime_build;
- <a id="p102530"></a>prime_design;
- <a id="p102531"></a>prime_repair;
- <a id="p102532"></a>subcontractor.
<a id="p102533"></a>Примечание - Определение всех допустимых значений данных вида role дано в [4.2.100.2.1](#p102534) - [4.2.100.2.5](#p102542).

<a id="p102534"></a>4.2.99.2.1 prime
<a id="p102535"></a>Судостроительная верфь является генеральным подрядчиком на судно.
<a id="p102536"></a>4.2.99.2.2 prime_build
<a id="p102537"></a>Судостроительная верфь является генеральным подрядчиком на судно с договорной ответственностью за изготовление судна.
<a id="p102538"></a>4.2.99.2.3 prime_design
<a id="p102539"></a>Судостроительная верфь является генеральным подрядчиком на судно с договорной ответственностью за проектирование судна.
<a id="p102540"></a>4.2.99.2.4 prime_repair
<a id="p102541"></a>Судостроительная верфь является генеральным подрядчиком на судно с договорной ответственностью за ремонт судна.
<a id="p102542"></a>4.2.99.2.5 subcontractor
<a id="p102543"></a>Судостроительная верфь является субподрядчиком, нанимаемым генеральным подрядчиком, по судну.

###### <a id="p102544"></a>4.2.99.3 Данные shipyard

<a id="p102545"></a>Данные shipyard определяют наименование и детали организации судостроительной верфи.

###### <a id="p102546"></a>4.2.99.4 Данные shipyard_new_building_id

<a id="p102547"></a>Данные shipyard_new_building_id определяют идентификатор судна, присваиваемый верфью после подтверждения заказа. Для конкретного Shipyard_designation данные вида shipyard_new_building_id могут быть не заданы.

###### <a id="p102548"></a>4.2.99.5 Данные shipyard_project_name

<a id="p102549"></a>Данные shipyard_project_name определяют идентификатор судна, присваиваемый верфью при получении заказа или тендера на новое судно.

##### <a id="p102550"></a>4.2.100 Прикладной объект Spacing_position

<a id="p102551"></a>Прикладной объект Spacing_position указывает положение на одной из глобальных осей координат судна, используемое в качестве привязки для любого геометрического или конструктивного элемента, во время проектирования и изготовления судна. Значением каждого Each Spacing_position может быть Spacing_position_with_offset (см. [4.2.101](#p102566)), Longitudinal_position (см. [4.2.58](#p101425)), Transversal_position (см. [4.2.113](#p102694)) или Vertical_position (см. [4.2.122](#p102773)).
<a id="p102552"></a>*Пример* - Интервальные положения обычно задаются элементом продольного набора 123 или поперечного набора 10, 100, 100.1, A. Кроме того, определяется расстояние до глобальной точки отсчета, например 154,5 м.
<a id="p102553"></a>Примечание - Продольные, поперечные и вертикальные объекты Spacing_position показаны на [рисунке 47](#p102555).

<a id="p102554"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_46.png) 

<a id="p102555"></a>Рисунок 47 - Интервальное положение

<a id="p102556"></a>С объектом Spacing_position связаны следующие данные:
- <a id="p102557"></a>name;
- <a id="p102558"></a>position;
- <a id="p102559"></a>position_number.

###### <a id="p102560"></a>4.2.100.1 Данные name

<a id="p102561"></a>Данные name задают подпись, используемую для идентификации нулевой точки. Для конкретного Spacing_position данные вида name могут быть не заданы.

###### <a id="p102562"></a>4.2.100.2 Данные position

<a id="p102563"></a>Данные position указывают расстояние до точки отсчета глобальной системы координат объекта Ship (см. [4.2.88](#p102052)). Ось, по которой измеряется это расстояние, зависит от типа объекта Spacing_position.

###### <a id="p102564"></a>4.2.100.3 Данные position_number

<a id="p102565"></a>Данные position_number указывают численную идентификацию, заданную для объекта Spacing_position.

##### <a id="p102566"></a>4.2.101 Прикладной объект Spacing_position_with_offset

<a id="p102567"></a>Прикладной объект Spacing_position_with_offset является типом объекта Spacing_position (см. [4.2.100](#p102550)), а именно указывает положение, определенное смещением относительно существующего интервального положения на одной из глобальных осей координат судна. Используется в качестве привязки для любого геометрического или конструктивного элемента во время проектирования и изготовления судна.
<a id="p102568"></a>С объектом Spacing_position_with_offset связаны следующие данные:
- <a id="p102569"></a>offset;
- <a id="p102570"></a>position;
- <a id="p102571"></a>relating_spacing_position.

###### <a id="p102572"></a>4.2.101.1 Данные offset

<a id="p102573"></a>Данные offset указывают расстояние до соответствующего интервального положения. Ось, по которой измеряется это расстояние, зависит от типа соответствующего объекта Spacing_position (см. [4.2.100](#p102550)).

###### <a id="p102574"></a>4.2.101.2 Данные position

<a id="p102575"></a>Данные position указывают расстояние до точки отсчета глобальной системы координат судна. Ось, по которой измеряется это расстояние, зависит от типа соответствующего объекта Spacing_position (см. [4.2.100](#p102550)).

###### <a id="p102576"></a>4.2.101.3 Данные relating_spacing_position

<a id="p102577"></a>Данные relating_spacing_position указывают интервальное положение, от которого берется смещение для идентификации Spacing_position_with_offset. Прикладное утверждение - см. [4.3.100](#p103125).

##### <a id="p102578"></a>4.2.102 Прикладной объект Spacing_table

<a id="p102579"></a>Прикладной объект Spacing_table является типом объекта Definition (см. [4.2.23](#p100971)), представляющим набор объектов Spacing_position (см. [4.2.100](#p102550)), который определяет перечень нулевых точек по одной из осей координат судна. Значением каждого Spacing_table может быть Longitudinal_table (см. [4.2.59](#p101427)), Transversal_table (см. [4.2.114](#p102696)) или Buttock_table (см. [4.2.8](#p100684)).
<a id="p102580"></a>С объектом Spacing_table связаны следующие данные:
- <a id="p102581"></a>name;
- <a id="p102582"></a>spacing_table_representations.

###### <a id="p102583"></a>4.2.102.1 Данные name

<a id="p102584"></a>Данные name указывают контекстно-зависимую идентификацию для объекта Spacing_table. Для конкретного Spacing_table данные вида name могут быть не заданы.

###### <a id="p102585"></a>4.2.102.2 Данные spacing_table_representations

<a id="p102586"></a>Данные spacing_table_representations указывают положения, из которых состоит таблица, на рассматриваемой оси координат. Прикладное утверждение - см. [4.3.101](#p103127).

##### <a id="p102587"></a>4.2.103 Прикладной объект Stability_definition

<a id="p102588"></a>Прикладной объект Stability_definition является типом объекта Design_definition (см. [4.2.25](#p100985)), который определяет характеристики остойчивости для данного судна. Результаты указывают в табличной форме для различных условий нагружения, и они представляют собой плечи восстанавливающих моментов и центр величины для разных углов крена.
<a id="p102589"></a>*Примечание* - Остойчивость поврежденного судна является отдельным случаем объекта Stability_definition.

<a id="p102590"></a>С объектом Stability_definition связаны следующие данные:
- <a id="p102591"></a>defined_for;
- <a id="p102592"></a>representations.

###### <a id="p102593"></a>4.2.103.1 Данные defined_for

<a id="p102594"></a>Данные defined_for указывают объект Ship (см. [4.2.88](#p102052)), для которого определен объект Stability_definition. Прикладное утверждение - см. [4.3.102](#p103129).

###### <a id="p102595"></a>4.2.103.2 Данные representations

<a id="p102596"></a>Данные representations указывают объект Stability_table (см. [4.2.106](#p102625)), который представлен объектом Stability_definition. Прикладное утверждение - см. [4.3.103](#p103131).

##### <a id="p102597"></a>4.2.104 Прикладной объект Stability_properties_for_one_floating_position

<a id="p102598"></a>Прикладной объект Stability_properties_for_one_floating_position является набором данных, относящихся к расчетам остойчивости для конкретного Floating_position (см. [4.2.37](#p101088)) для объекта Ship_moulded_form (см. [4.2.93](#p102194)).
<a id="p102599"></a>С объектом Stability_properties_for_one_floating_position связаны следующие данные:
- <a id="p102600"></a>centre_of_gravity_above_keel;
- <a id="p102601"></a>definition_of_starting_floating_position;
- <a id="p102602"></a>related_stability_table;
- <a id="p102603"></a>stability_properties_for_different_angles_of_heel.

###### <a id="p102604"></a>4.2.104.1 Данные centre_of_gravity_above_keel

<a id="p102605"></a>Данные centre_of_gravity_above_keel указывают размещение центра тяжести судна. Считается, что размещение центра тяжести судна не будет меняться в зависимости от угла крена. Координату X измеряют от кормового перпендикуляра, координату Y - от ДП, а координату Z - от ОП. Прикладное утверждение - см. [4.3.104](#p103133).

###### <a id="p102606"></a>4.2.104.2 Данные definition_of_starting_floating_position

<a id="p102607"></a>Данные definition_of_starting_floating_position задают объект Floating_position (см. [4.2.37](#p101088)) судна для определенных условий нагружения, который используется в качестве начальной точки для расчетов характеристик остойчивости. К объекту Floating_position относятся осадка, крен, дифферент, а также соответствующий объем водоизмещения для объекта Ship (см. [4.2.88](#p102052)). Прикладное утверждение - см. [4.3.105](#p103135).

###### <a id="p102608"></a>4.2.104.3 Данные related_stability_table

<a id="p102609"></a>Данные related_stability_table указывают объект Stability_table (см. [4.2.106](#p102625)), с которым связаны объекты Stability_properties_for_one_floating_position.
<a id="p102610"></a>С объектом Stability_properties_for_one_floating_position может быть связано несколько данных вида related_stability_table. Прикладное утверждение - см. [4.3.108](#p103141).

###### <a id="p102611"></a>4.2.104.4 Данные stability_properties_for_different_angles_of_heel

<a id="p102612"></a>Данные stability_properties_for_different_angles_of_heel указывают характеристику остойчивости, действительную для конкретного Stability_properties_for_one_floating_position. С объектом Stability_properties_for_one_floating_position может быть связано несколько данных вида stability_properties_for_different_angles_of_heel. Прикладное утверждение - см. [4.3.106](#p103137).

##### <a id="p102613"></a>4.2.105 Прикладной объект Stability_property

<a id="p102614"></a>Прикладной объект Stability_property представляет собой необходимые характеристики для расчетов остойчивости для Ship_moulded_form (см. [4.2.93](#p102194)) при определенных условиях нагружения.
<a id="p102615"></a>С объектом Stability_property связаны следующие данные:
- <a id="p102616"></a>angle_of_heel;
- <a id="p102617"></a>centre_of_buoyancy;
- <a id="p102618"></a>righting_arm.

###### <a id="p102619"></a>4.2.105.1 Данные angle_of_heel

<a id="p102620"></a>Данные angle_of_heel указывают угол вращения судна вокруг оси X. Значения данных вида angle_of_heel будут положительными при движении правого борта судна вниз.

###### <a id="p102621"></a>4.2.105.2 Данные centre_of_buoyancy

<a id="p102622"></a>Данные centre_of_buoyancy указывают размещение центра объема погруженного объема объекта Ship_moulded_form (см. [4.2.93](#p102194)). Координату X измеряют от кормового перпендикуляра, координату Y - от ДП, а координату Z - от ОП. Прикладное утверждение - см. [4.3.107](#p103139).

###### <a id="p102623"></a>4.2.105.3 Данные righting_arm

<a id="p102624"></a>Данные righting_arm указывают расстояние между линией перпендикуляра, проходящей через точку centre_of_gravity_above_keel, и линией перпендикуляра, проходящей через точку centre_of_buoyancy. Обе линии берутся ортогонально к ватерлинии при крене.

##### <a id="p102625"></a>4.2.106 Прикладной объект Stability_table

<a id="p102626"></a>Прикладной объект Stability_table представляет собой характеристику остойчивости для указанного судна в неповрежденном и поврежденном состояниях, в зависимости от определения остойчивости. Результаты указывают в табличной форме, и они представляют собой плечи восстанавливающих моментов и центр величины для разных углов крена для одного начального объекта Floating_position (см. [4.2.37](#p101088)).
<a id="p102627"></a>Пример - Диаграмма остойчивости показана на [рисунке 50](#p102693).
<a id="p102628"></a>С объектом Stability_table связаны следующие данные:
- <a id="p102629"></a>items;
- <a id="p102630"></a>mean_shell_thickness;
- <a id="p102631"></a>name.

###### <a id="p102632"></a>4.2.106.1 Данные items

<a id="p102633"></a>Данные items указывают характеристику остойчивости, а именно плечо восстанавливающего момента и центр величины для угла крена для одного начального объекта Floating_position (см. [4.2.37](#p101088)), для которого определен объект Stability_table. В одном объекте Stability_table может быть задано несколько данных вида items. Прикладное утверждение - см. [4.3.108](#p103141).

###### <a id="p102634"></a>4.2.106.2 Данные mean_shell_thickness

<a id="p102635"></a>Данные mean_shell_thickness указывают реальное значение средней толщины обшивки корпуса, которое может использоваться для определения соответствующей экстремальной формы для характеристик остойчивости для судна с учетом толщины.

###### <a id="p102636"></a>4.2.106.3 Данные name

<a id="p102637"></a>Данные name указывают определенное пользователем или системой имя для Stability_table.

##### <a id="p102638"></a>4.2.107 Прикладной объект Station_table

<a id="p102639"></a>Прикладной объект Station_table является типом Longitudinal_table (см. [4.2.59](#p101427)), у которого имеются положения, указывающие размещение теоретических шпангоутов, располагающихся на глобальной оси X.
<a id="p102640"></a>*Примечание* - Теоретические шпангоуты используют при проектировании судна, а кривыми теоретических шпангоутов являются кривые поперечных сечений, проходящих через корпус судна. Обычно бывает 20 теоретических шпангоутов, однако это число может быть разным на различных судостроительных верфях.


##### <a id="p102641"></a>4.2.108 Прикладной объект Subtraction_of_moulded_form

<a id="p102642"></a>Прикладной объект Subtraction_of_moulded_form является типом объекта Displacement_operation (см. [4.2.26](#p100991)), определяющим тип данных displacement_operation, где водоизмещение объекта Ship_moulded_form (см. [4.2.93](#p102194)) будет уменьшено на водоизмещение нового объекта Moulded_form (см. [4.2.61](#p101450)).

##### <a id="p102643"></a>4.2.109 Прикладной объект Surface_shape_representation

<a id="p102644"></a>Прикладной объект Surface_shape_representation является типом объекта Moulded_form_shape_representation (см. [4.2.69](#p101653)), объединяющим топологическую и геометрическую информацию для описания поверхностной модели в виде связанных участков поверхности.
<a id="p102645"></a>Пример - Surface_shape_representation показан на [рисунке 48](#p102647).

<a id="p102646"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_47.png) 

<a id="p102647"></a>Рисунок 48 - Представление поверхности

<a id="p102648"></a>С объектом Surface_shape_representation связаны следующие данные:
- <a id="p102649"></a>items.

###### <a id="p102650"></a>4.2.109.1 Данные items

<a id="p102651"></a>Данные items указывают набор моделей поверхности на основе граней, составляющих объект Surface_shape_representation.

##### <a id="p102652"></a>4.2.110 Прикладной объект Surface_with_identifier

<a id="p102653"></a>Surface_with_identifier является геометрической поверхностью поверхностей любого типа, разрешенного в рамках представления Non_manifold_surface_shape_representation, как указано в ИСО 10303-508, дополнительно ограниченной включением постоянного глобального идентификатора, который обеспечивает уникальную идентификацию поверхности.
<a id="p102654"></a>*Примечание* - Возможность постоянной глобальной уникальной идентификации поверхности способствует взаимодействию и повторному использованию данных между настоящим стандартом, ИСО 10303-215 и ИСО 10303-218. Принимающая система, которая сохранила поверхность с постоянным идентификатором из файла обмена, соответствующего настоящему стандарту, сможет определить, что поверхность является идентичной копией поверхности, полученной в отдельном файле обмена, соответствующем ИСО 10303-215 или ИСО 10303-218.

<a id="p102655"></a>Данные, связанные с идентификатором Surface_with_identifier, приведены ниже:
- <a id="p102656"></a>id.

###### <a id="p102657"></a>4.2.110.1 Данные id

<a id="p102658"></a>Данные id задают глобальный однозначный идентификатор поверхности. Прикладное условие - см. [4.3.109](#p103143).

##### <a id="p102659"></a>4.2.111 Прикладной объект Thruster_moulded_form_design_parameter

<a id="p102660"></a>Прикладной объект Thruster_moulded_form_design_parameter является типом объекта Moulded_form_characteristics_definition (см. [4.2.63](#p101467)), содержащим размеры и отношения трубы подруливающего устройства и гребного винта.
<a id="p102661"></a>С объектом Thruster_moulded_form_design_parameter связаны следующие данные:
- <a id="p102662"></a>geometric_thruster_location;
- <a id="p102663"></a>thruster_location;
- <a id="p102664"></a>thruster_propeller_parameter;
- <a id="p102665"></a>thruster_tunnel_diameter;
- <a id="p102666"></a>thruster_tunnel_max_length;
- <a id="p102667"></a>thruster_tunnel_min_length.

###### <a id="p102668"></a>4.2.111.1 Данные geometric_thruster_location

<a id="p102669"></a>Данные geometric_thruster_location указывают размещение осевой линии трубы подруливающего устройства. Координату X измеряют от кормового перпендикуляра, координату Y - от ДП, а координату Z - от ОП. Прикладное утверждение - см. [4.3.110](#p103145).

###### <a id="p102670"></a>4.2.111.2 Данные thruster_location

<a id="p102671"></a>Данные thruster_location указывают, где располагается подруливающее устройство, в носу или в корме. Значение данных вида thruster_location должно быть одним из следующих:
- <a id="p102672"></a>bow;
- <a id="p102673"></a>stern.
<a id="p102674"></a>Примечание - Определение каждого допустимого значения данных thruster_location - см. [4.2.111.2.1](#p102675), [4.2.111.2.2](#p102677).

<a id="p102675"></a>4.2.111.2.1 bow
<a id="p102676"></a>Размещение в носу корпуса судна.
<a id="p102677"></a>4.2.111.2.2 stern
<a id="p102678"></a>Размещение в корме корпуса судна.

###### <a id="p102679"></a>4.2.111.3 Данные thruster_propeller_parameter

<a id="p102680"></a>Данные thruster_propeller_parameter указывают размеры и отношения гребного винта в трубе подруливающего устройства. Прикладное утверждение - см. [4.3.111](#p103147).
<a id="p102681"></a>Пример - Гребной винт подруливающего устройства показан на [рисунке 49](#p102683).

<a id="p102682"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_48.png) 

<a id="p102683"></a>Рисунок 49 - Гребной винт подруливающего устройства


###### <a id="p102684"></a>4.2.111.4 Данные thruster_tunnel_diameter

<a id="p102685"></a>Данные thruster_tunnel_diameter указывают диаметр трубы подруливающего устройства.

###### <a id="p102686"></a>4.2.111.5 Данные thruster_tunnel_max_length

<a id="p102687"></a>Данные thruster_tunnel_max_length указывают максимальную длину трубы подруливающего устройства там, где она пересекается с корпусом судна.

###### <a id="p102688"></a>4.2.111.6 Данные thruster_tunnel_min_length

<a id="p102689"></a>Данные thruster_tunnel_min_length указывают минимальную длину трубы подруливающего устройства там, где она пересекается с корпусом судна.

<a id="p102690"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_49.png) 

<a id="p102691"></a>G - центр тяжести; B - центр величины в натуральном равновесном положении;
<a id="p102692"></a>B1 - центр величины в зависимости от угла крена

<a id="p102693"></a>Рисунок 50 - Диаграмма остойчивости


##### <a id="p102694"></a>4.2.112 Прикладной объект Transversal_position

<a id="p102695"></a>Прикладной объект Transversal_position является типом объекта Spacing_position (см. [4.2.100](#p102550)), который располагается на глобальной оси Y.

##### <a id="p102696"></a>4.2.113 Прикладной объект Transversal_table

<a id="p102697"></a>Прикладной объект Transversal_table является типом объекта Spacing_table (см. [4.2.102](#p102578)), имеющим положения вдоль поперечной оси глобальной системы координат, т.е. глобальной оси Y. Значением объекта Transversal_table может быть объект Buttock_table (см. [4.2.8](#p100684)).
<a id="p102698"></a>С объектом Transversal_table связаны следующие данные:
- <a id="p102699"></a>spacing_table_representations.

###### <a id="p102700"></a>4.2.113.1 Данные spacing_table_representations

<a id="p102701"></a>Данные spacing_table_representations указывают поперечное положение, для которого определяется объект Transversal_table. В одном объекте Transversal_table может быть задано несколько поперечных положений. Прикладное утверждение - см. [4.3.111](#p103149).

##### <a id="p102702"></a>4.2.114 Прикладной объект Universal_resource_locator

<a id="p102703"></a>Прикладной объект Universal_resource_locator задает адрес электронного источника данных. Источником электронных данных является адрес в Интернете. Структура объекта Universal_resource_locator может точно отвечать спецификации идентификатора единообразного ресурса (URI), как описано в RFC 2396.
<a id="p102704"></a>*Пример* - К данным вида Universal_resource_locator относится: http://www.w3.org
<a id="p102705"></a>С объектом Universal_resource_locator связаны следующие данные:
- <a id="p102706"></a>location.

###### <a id="p102707"></a>4.2.114.1 Данные location

<a id="p102708"></a>Данные вида location указывают место хранения, где в сети находится документ или другая информация.
<a id="p102709"></a>*Примечание* - Такое местоположение, как правило, состоит из нескольких элементов, например тип протокола, машинный адрес (имя или номер интернетовского протокола), номер дополнительного порта и локальный путь. Возможны и другие элементы.

<a id="p102710"></a>*Пример* 1 - Местоположением текстового документа является http://www.w3.org/Addressing/rfc1738.txt
<a id="p102711"></a>*Пример* 2 - Местоположением табличного документа является ftp://ttp.atlantec-es.com/pub/out/AP218/post-ws/mapping status.xls

##### <a id="p102712"></a>4.2.115 Прикладной объект Version_creation

<a id="p102713"></a>Прикладной объект Version_creation является типом объекта Versionable_object_change_event (см. [4.2.122](#p102771)), представляющим событие, ведущее к новому объекту Definition (см. [4.2.23](#p100971)), Item_structure (см. [4.2.54](#p101378)) или Item_relationship (см. [4.2.53](#p101363)).
<a id="p102714"></a>С объектом Version_creation связаны следующие данные:
- <a id="p102715"></a>base;
- <a id="p102716"></a>subject.

###### <a id="p102717"></a>4.2.115.1 Данные base

<a id="p102718"></a>Данные base указывают объект Versionable_object (см. [4.2.121](#p102762)), из которого берется субъект. Основание должно существовать в том случае, если объект, на который указывает атрибут субъекта, каким-то образом получен из существующего объекта. Основание может не быть непосредственно предшествующей версией объекта Versionable_object, указанной в атрибуте субъекта, но может ссылаться на любую предыдущую версию в истории версий этого объекта Item (см. [4.2.52](#p101348)) или на любой объект Versionable_object другого объекта Item, участвующий в создании субъекта. Для одного объекта Version_creation может быть задано несколько данных вида base. Прикладное утверждение - см. [4.3.113](#p103151).

###### <a id="p102719"></a>4.2.115.2 Данные subject

<a id="p102720"></a>Данные subject указывают Versionable_object (см. [4.2.121](#p102762)), созданный событием изменения created by the change event. Прикладное утверждение - см. [4.3.113](#p103151).

##### <a id="p102721"></a>4.2.116 Прикладной объект Version_deletion

<a id="p102722"></a>Прикладной объект Version_deletion является типом объекта Versionable_object_change_event (см. [4.2.121](#p102771)), который представляет собой событие, ведущее к удалению объекта Definition (см. [4.2.23](#p100971)), Item_structure (см. [4.2.54](#p101378)), или Item_relationship (см. [4.2.53](#p101363)).
<a id="p102723"></a>С объектом Version_deletion связаны следующие данные:
- <a id="p102724"></a>subject.

###### <a id="p102725"></a>4.2.116.1 Данные subject

<a id="p102726"></a>Данные subject указывают объект, который был удален или должен быть удален событием изменения. Прикладное утверждение - см. [4.3.114](#p103154).

##### <a id="p102727"></a>4.2.117 Прикладной объект Version_history

<a id="p102728"></a>Прикладной объект Version_history идентифицирует объекты Versionable_object (см. [4.2.121](#p102762)) и их объекты Version_relationship (см. [4.2.120](#p102750)) в части их роли в качестве предшественника, преемника и относительно друг друга. Объектом Version_history должен быть направленный ациклический график.
<a id="p102729"></a>*Примечание* - Следовательно, объект Version_history может содержать объекты Versionable_object, которые считаются альтернативными друг другу (Versionable_object с несколькими преемниками), а также объединенные объекты Versionable_object objects (объект Versionable_object с несколькими предшественниками).

<a id="p102730"></a>С объектом Version_history связаны следующие данные:
- <a id="p102731"></a>current_version;
- <a id="p102732"></a>relationships;
- <a id="p102733"></a>versions.

###### <a id="p102734"></a>4.2.117.1 Данные current_version

<a id="p102735"></a>Данные current_version задают объект Versionable_object (см. [4.2.121](#p102762)), играющий роль текущей версии в данном объекте Version_history. Прикладное утверждение - см. [4.3.116](#p103158).

###### <a id="p102736"></a>4.2.117.2 Данные relationships

<a id="p102737"></a>Данные relationships указывают Version_relationship (см. [4.2.120](#p102750)), для которого определяется объект Version_history. В одном объекте Version_history может быть задано несколько объектов Version_relationship. Прикладное утверждение - см. [4.3.115](#p103156).

###### <a id="p102738"></a>4.2.117.3 Данные versions

<a id="p102739"></a>Данные versions указывают Versionable_object (см. [4.2.121](#p102762)), для которого определяется объект Version_history. В одном объекте Version_history может быть задано несколько объектов Versionable_object. Прикладное утверждение - см. [4.3.116](#p103158).

##### <a id="p102740"></a>4.2.118 Прикладной объект Version_modification

<a id="p102741"></a>Прикладной объект Version_modification является типом объекта Versionable_object_change_event (см. [4.2.122](#p102771)), представляющим событие, ведущее к изменению объекта Versionable_object (см. [4.2.121](#p102762)). Объект Versionable_object основания может не быть непосредственно предшествующей версией объекта Versionable_object субъекта, но может ссылаться на любую предыдущую версию в объекте Version_history (см. [4.2.118](#p102727)) или том же объекте Item (см. [4.2.52](#p101348)).
<a id="p102742"></a>*Пример* - Типом объекта Version_modification может быть создание новой версии существующей сущности.
<a id="p102743"></a>С объектом Version_modification связаны следующие данные:
- <a id="p102744"></a>base;
- <a id="p102745"></a>subject.

###### <a id="p102746"></a>4.2.118.1 Данные base

<a id="p102747"></a>Данные base указывают Versionable_object (см. [4.2.121](#p102762)), из которого берется субъект. В одном объекте Version_modification может быть несколько данных вида base. Прикладное утверждение - см. [4.3.117](#p103161).

###### <a id="p102748"></a>4.2.118.2 Данные subject

<a id="p102749"></a>Данные subject задают объект Versionable_object (см. [4.2.121](#p102762)), который был изменен или должен быть изменен событием изменения. Прикладное утверждение - см. [4.3.117](#p103161).

##### <a id="p102750"></a>4.2.119 Прикладной объект Version_relationship

<a id="p102751"></a>Прикладной объект Version_relationship определяет взаимосвязь двух объектов Versionable_object (см. [4.2.121](#p102762)) одного типа в части Version_history (см. [4.2.118](#p102727)).
<a id="p102752"></a>С объектом Version_relationship связаны следующие данные:
- <a id="p102753"></a>predecessor;
- <a id="p102754"></a>reason;
- <a id="p102755"></a>successor.

###### <a id="p102756"></a>4.2.119.1 Данные predecessor

<a id="p102757"></a>Данные predecessor указывают Versionable_object (см. [4.2.121](#p102762)), из которого берется преемник. Прикладное утверждение - см. [4.3.116](#p103164).

###### <a id="p102758"></a>4.2.119.2 Данные reason

<a id="p102759"></a>Данные reason указывают, почему определенное лицо создало новую версию в определенное время.

###### <a id="p102760"></a>4.2.119.3 Данные successor

<a id="p102761"></a>Данные successor указывают Versionable_object (см. [4.2.120](#p102762)), чьим предшественником является предшествующая версия. Прикладное утверждение - см. [4.3.116](#p103164).

##### <a id="p102762"></a>4.2.120 Прикладной объект Versionable_object

<a id="p102763"></a>Прикладной объект Versionable_object является объектом, для которого могут существовать версии. Значением каждого объекта Versionable_object является либо Definition (см. [4.2.23](#p100971)), Document (см. [4.2.27](#p100997)), Revision (см. [4.2.83](#p101975)), Item_relationship (см. [4.2.53](#p101363)), либо Item_structure (см. [4.2.54](#p101378)).
<a id="p102764"></a>С объектом Versionable_object связаны следующие данные:
- <a id="p102765"></a>description;
- <a id="p102766"></a>version_id.

###### <a id="p102767"></a>4.2.120.1 Данные description (описание)

<a id="p102768"></a>Данные description указывают дополнительную информацию, идентифицирующую или описывающую объект. Для конкретного Versionable_object данные вида description могут быть не заданы.

###### <a id="p102769"></a>4.2.120.2 Данные version_id

<a id="p102770"></a>Данные version_id указывают идентификатор версии для Versionable_object.

##### <a id="p102771"></a>4.2.121 Прикладной объект Versionable_object_change_event

<a id="p102772"></a>Прикладной объект Versionable_object_change_event является типом объекта Event (см. [4.2.33](#p101048)), представляющим собой обобщение объектов Event, фактически меняющим объект Definition (см. [4.2.23](#p100971)), Item_structure (см. [4.2.54](#p101378)) или Item_relationship (см. [4.2.53](#p101363)). Значением прикладного объекта Versionable_object_change_event может быть Envisaged_version_creation (см. [4.2.32](#p101039)), Version_creation (см. [4.2.115](#p102712)), Version_deletion (см. [4.2.116](#p102721)) или Version_modification (см. [4.2.118](#p102740)).

##### <a id="p102773"></a>4.2.122 Прикладной объект Vertical_position

<a id="p102774"></a>Прикладной объект Vertical_position является типом объекта Spacing_position (см. [4.2.100](#p102550)), расположенным на глобальной оси Z.

##### <a id="p102775"></a>4.2.123 Прикладной объект Vertical_table

<a id="p102776"></a>Прикладной объект Vertical_table является типом объекта Spacing_table (см. [4.2.102](#p102578)), у которого имеются положения вдоль вертикальной оси глобальной системы координат, а именно глобальной оси Z. Значением прикладного объекта Vertical_table может быть Waterline_table (см. [4.2.124](#p102781)).
<a id="p102777"></a>С объектом Vertical_table связаны следующие данные:
- <a id="p102778"></a>spacing_table_representations.

###### <a id="p102779"></a>4.2.123.1 Данные spacing_table_representations

<a id="p102780"></a>Данные spacing_table_representations указывают вертикальные положения, входящие в таблицу вертикальных элементов. Прикладное утверждение - см. [4.3.118](#p103167).

##### <a id="p102781"></a>4.2.124 Прикладной объект Waterline_table

<a id="p102782"></a>Прикладной объект Waterline_table является типом объекта Vertical_table (см. [4.2.123](#p102775)), чьи положения являются привязкой для размещения ватерлиний и расположены на глобальной оси Z.

##### <a id="p102783"></a>4.2.125 Прикладной объект Wireframe_shape_representation

<a id="p102784"></a>Прикладной объект Wireframe_shape_representation является типом объекта Moulded_form_shape_representation (см. [4.2.69](#p101653)), определяющим каркасное представление судна или части судна. Каркасное представление определяется перечнем объектов Ship_curve (см. [4.2.89](#p102071)). Большинство объектов Ship_curve проходит через весь каркас, от одного конца до другого.
<a id="p102785"></a>*Пример* 1 - Типовой объект Wireframe_shape_representation можно сформировать с помощью перечня кривых теоретических шпангоутов и ватерлиний.
<a id="p102786"></a>Пример 2 - Объект Wireframe_shape_representation показан на [рисунке 51](#p102788).

<a id="p102787"></a> ![4.2 Прикладные объекты](https://i.bukva.ai/Ci6K3JhF/img_50.png) 

<a id="p102788"></a>Рисунок 51 - Каркас

<a id="p102789"></a>С объектом Wireframe_shape_representation связаны следующие данные:
- <a id="p102790"></a>items.

###### <a id="p102791"></a>4.2.125.1 Данные items

<a id="p102792"></a>Данные items указывают перечень объектов Ship_curve (см. [4.2.89](#p102071)), которые образуют объект Wireframe_shape_representation. Прикладное представление - см. [4.3.119](#p103169).

##### <a id="p102793"></a>4.2.126 Прикладной объект Working_ship

<a id="p102794"></a>Прикладной объект Working_ship является типом объекта Shiptype (см. [4.2.98](#p102501)), а именно судном, построенным для выполнения определенных задач.
<a id="p102795"></a>С объектом Working_ship связаны следующие данные:
- <a id="p102796"></a>has_type.

###### <a id="p102797"></a>4.2.126.1 Данные has_type

<a id="p102798"></a>Данные has_type указывают тип судна.
<a id="p102799"></a>Значение данных вида has_type должно быть одним из следующих:
- <a id="p102800"></a>crane_vessel;
- <a id="p102801"></a>dredger;
- <a id="p102802"></a>drilling_vessel;
- <a id="p102803"></a>fire_fighter;
- <a id="p102804"></a>fishing_vessel;
- <a id="p102805"></a>floating_dock;
- <a id="p102806"></a>floating_hotel;
- <a id="p102807"></a>fpgo;
- <a id="p102808"></a>fpso;
- <a id="p102809"></a>ice_breaker;
- <a id="p102810"></a>offshore_supply_vessel;
- <a id="p102811"></a>oil_production_and_storage_vessel;
- <a id="p102812"></a>oil_production_vessel;
- <a id="p102813"></a>oil_storage_vessel;
- <a id="p102814"></a>pilot_boat;
- <a id="p102815"></a>pipe_laying_vessel;
- <a id="p102816"></a>pusher;
- <a id="p102817"></a>reefer;
- <a id="p102818"></a>sealer;
- <a id="p102819"></a>shuttle_tanker;
- <a id="p102820"></a>stern_trawler;
- <a id="p102821"></a>supply_vessel;
- <a id="p102822"></a>tug;
- <a id="p102823"></a>user_defined;
- <a id="p102824"></a>well_stimulation_vessel.
<a id="p102825"></a>Примечание - Определение каждого допустимого значения данных вида has_type см. в [4.2.127.1.1](#p102826) - [4.2.127.1.25](#p102877).

<a id="p102826"></a>4.2.126.1.1 crane_vessel
<a id="p102827"></a>Объект Working_ship, построенный для грузоподъемных работ.
<a id="p102828"></a>4.2.126.1.2 dredger
<a id="p102829"></a>Объект Working_ship, построенный для углубления фарватеров или входов в гавань.
<a id="p102830"></a>4.2.126.1.3 drilling vessel
<a id="p102831"></a>Объект Working_ship, построенный для бурения.
<a id="p102832"></a>4.2.126.1.4 fire_fighter
<a id="p102833"></a>Объект Working_ship, построенный для пожаротушения.
<a id="p102834"></a>4.2.126.1.5 fishing vessel
<a id="p102835"></a>Объект Working_ship, построенный для рыболовства.
<a id="p102836"></a>4.2.126.1.6 floating dock
<a id="p102837"></a>Объект Working_ship, построенный для подъема судов для выполнения ремонтных работ.
<a id="p102838"></a>4.2.126.1.7 floating hotel
<a id="p102839"></a>Объект Working_ship, построенный для использования в качестве гостиницы.
<a id="p102840"></a>4.2.126.1.8 fpgo
<a id="p102841"></a>Плавучая платформа, используемая для добычи и хранения газа.
<a id="p102842"></a>4.2.126.1.9 fpso
<a id="p102843"></a>Плавучая платформа, используемая для добычи и хранения нефти.
<a id="p102844"></a>4.2.126.1.10 ice_breaker
<a id="p102845"></a>Объект Working_ship, построенный для ледокольных целей.
<a id="p102846"></a>4.2.126.1.11 offshore_supply_vessel
<a id="p102847"></a>Объект Working_ship, построенный для снабжения морских платформ.
<a id="p102848"></a>4.2.126.1.12 oil_production_and_storage_vessel
<a id="p102849"></a>Объект Working_ship, используемый для добычи и хранения нефти.
<a id="p102850"></a>4.2.126.1.13 oil_production_vessel
<a id="p102851"></a>Объект Working_ship, построенный для добычи нефти.
<a id="p102852"></a>4.2.126.1.14 oil_storage_vessel
<a id="p102853"></a>Объект Working_ship, построенный для хранения нефти.
<a id="p102854"></a>4.2.126.1.15 pilot_boat
<a id="p102855"></a>Объект Working_ship, предназначенный для перевозки лоцмана, который заводит и выводит судно в/из порта.
<a id="p102856"></a>4.2.126.1.16 pipe_laying_vessel
<a id="p102857"></a>Объект Working_ship, предназначенный для укладки труб.
<a id="p102858"></a>4.2.126.1.17 pusher
<a id="p102859"></a>Объект Working_ship, предназначенный для буксировки других несамоходных судов.
<a id="p102860"></a>4.2.126.1.18 reefer
<a id="p102861"></a>Объект Working_ship, разработанный для перевозки рефрижераторных грузов.
<a id="p102862"></a>4.2.126.1.19 sealer
<a id="p102863"></a>Объект Working_ship, построенный для промысла тюленей.
<a id="p102864"></a>4.2.126.1.20 shuttle_tanker
<a id="p102865"></a>Объект Working_ship, оборудованный для отгрузки нефти в море.
<a id="p102866"></a>*Примечание* - Допускается использовать для транспортировки нефти с платформы на берег.

<a id="p102867"></a>4.2.126.1.21 stern_trawler
<a id="p102868"></a>Объект Working_ship, предназначенный для тралового лова в море с кормы судна.
<a id="p102869"></a>4.2.126.1.22 supply_vessel
<a id="p102870"></a>Объект Working_ship, построенный для транспортировки поставок.
<a id="p102871"></a>*Пример* - К типу supply_vessel относится морское судно снабжения.
<a id="p102872"></a>4.2.126.1.23 tug
<a id="p102873"></a>Объект Working_ship, предназначенный для буксировки.
<a id="p102874"></a>4.2.126.1.24 user_defined
<a id="p102875"></a>Тип судна не относится ни к одному из предопределенных здесь типов.
<a id="p102876"></a>Примечание - Детали приводятся в атрибуте описания объекта Shiptype (см. [4.2.99](#p102501)).

<a id="p102877"></a>4.2.126.1.25 well_stimulation_vessel
<a id="p102878"></a>Объект Working_ship, предназначенный для интенсификации притока к скважинам.

#### <a id="p102879"></a>4.3 Прикладные утверждения

<a id="p102880"></a>В настоящем подразделе определены прикладные утверждения для прикладного протокола теоретических обводов судна. Прикладные утверждения определяют отношения между прикладными объектами, количество элементов отношений и правила, необходимые для обеспечения целостности и достоверности прикладных объектов и функциональных единиц. Сами прикладные утверждения и их определения приведены ниже.
<a id="p102881"></a>*Примечание* - Ниже приведены несколько утверждений, которые задают количество элементов, равное нулю, для отношения между подтипом объекта Definition и Derived_unit (или Named_unit). Это связано с тем, что атрибут local_units объекта Definition предопределен в подтипе как пустое множество.


##### <a id="p102882"></a>4.3.1 Объекты Alternative_version_relationship и Versionable_object

<a id="p102883"></a>Для каждого объекта Alternative_version_relationship имеются данные вида alternative_1, определяемые только одним объектом Versionable_object. Каждый объект Versionable_object определяет данные вида alternative_1 для нулевого, единичного или нескольких объектов Alternative_version_relationship.
<a id="p102884"></a>Для каждого объекта Alternative_version_relationship имеются данные вида alternative_2, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные alternative_2 для нулевого, единичного или нескольких объектов Alternative_version_relationship.

##### <a id="p102885"></a>4.3.2 Объекты Approval_history и Approval_event

<a id="p102886"></a>Для каждого объекта Approval_history имеются данные вида approvals, определяемые последовательным списком одного или нескольких объектов Approval_event. Каждый Approval_event определяет данные approval_reference только одного объекта Approval_history.

##### <a id="p102887"></a>4.3.3 Объекты Approval_history и Definition

<a id="p102888"></a>Для каждого объекта имеются данные вида subject, определяемые только одним объектом Definition. Каждый Definition определяет данные subject для нулевого, единичного или нескольких объектов Approval_history.

##### <a id="p102889"></a>4.3.4 Объекты Change_definition и Change

<a id="p102890"></a>Для каждого объекта Change_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Change objects. Каждый объект Change определяет данные вида defined_for для нулевого, единичного или нескольких объектов Change_definition.

##### <a id="p102891"></a>4.3.5 Объекты Change_definition и Derived_unit

<a id="p102892"></a>Для каждого объекта Change_definition имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные units только для нулевого объекта Change_definition.
<a id="p102893"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p102894"></a>4.3.6 Объекты Change_definition и Named_unit

<a id="p102895"></a>Для каждого объекта Change_definition имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Change_definition.
<a id="p102896"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p102897"></a>4.3.7 Объекты Change_impact и Versionable_object_change_event

<a id="p102898"></a>Для каждого объекта Change_impact имеются данные вида impact, определяемые одним или несколькими объектами Versionable_object_change_event. Каждый Versionable_object_change_event определяет данные вида impact для нулевого, единичного или нескольких объектов Change_impact.

##### <a id="p102899"></a>4.3.8 Объекты Change_plan и Change_impact

<a id="p102900"></a>Для каждого объекта Change_plan имеются данные вида planned_impact, определяемые только одним объектом Change_impact. Каждый Change_impact определяет данные вида planned_impact для нулевого, единичного или нескольких объектов Change_plan.

##### <a id="p102901"></a>4.3.9 Объекты Change_plan и Check

<a id="p102902"></a>Для каждого объекта Change_plan имеются данные вида checks, определяемые нулевым, единичным или несколькими объектами Check objects. Каждый объект Check определяет данные checks для нулевого, единичного или нескольких объектов Change_plan.

##### <a id="p102903"></a>4.3.10 Объекты Change_plan и Change_request

<a id="p102904"></a>Для каждого объекта Change_plan имеются данные вида chosen_solution_for, определяемые только одним объектом Change_request. Каждый объект Change_request определяет данные chosen_solution_for для нулевого, единичного или нескольких объектов Change_plan.

##### <a id="p102905"></a>4.3.11 Объекты Change_realization и Change_impact

<a id="p102906"></a>Для каждого объекта Change_realization имеются данные вида impact, определяемые только одним объектом Change_impact. Каждый объект Change_impact определяет данные impact для нулевого, единичного или нескольких объектов Change_realization.

##### <a id="p102907"></a>4.3.12 Объекты Change_realization и Check

<a id="p102908"></a>Для каждого объекта Change_realization имеются данные вида checks, определяемые нулевым, единичным или несколькими объектами Check objects. Каждый объект Check определяет данные checks для нулевого, единичного или нескольких объектов Change_realization.

##### <a id="p102909"></a>4.3.13 Объекты Change_realization и Change_plan

<a id="p102910"></a>Для каждого объекта Change_realization имеются данные вида realization_of, определяемые только одним объектом Change_plan. Каждый объект Change_plan определяет данные realization_of для нулевого, единичного или нескольких объектов Change_realization.

##### <a id="p102911"></a>4.3.14 Объекты Change_request и Change_impact

<a id="p102912"></a>Для каждого объекта Change_request имеются данные вида solution_alternatives, определяемые нулевым, единичным или несколькими объектами Change_impact. Каждый объект Change_impact определяет данные solution_alternatives для нулевого, единичного или нескольких объектов Change_realization.

##### <a id="p102913"></a>4.3.15 Объекты Class_and_statutory_designation и Class_notation

<a id="p102914"></a>Для каждого Class_and_statutory_designation имеются данные вида the_class, определяемые только одним объектом Class_notation. Каждый объект Class_notation определяет данные the_class для нулевого, единичного или нескольких объектов Class_and_statutory_designation.

##### <a id="p102915"></a>4.3.16 Объекты Class_and_statutory_designation и Named_unit

<a id="p102916"></a>Для каждого объекта Change_definition имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные units только для нулевого объекта Class_and_statutory_designation.
<a id="p102917"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p102918"></a>4.3.17 Объекты Class_and_statutory_designation и Derived_unit

<a id="p102919"></a>Для каждого объекта Class_and_statutory_designation имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные units только для нулевого объекта Class_and_statutory_designation.
<a id="p102920"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p102921"></a>4.3.18 Объекты Class_and_statutory_designation и Regulation

<a id="p102922"></a>Для каждого объекта Class_and_statutory_designation имеются данные вида the_statutory, определяемые только одним объектом Regulation. Каждый объект Regulation определяет данные вида the_statutory для нулевого, единичного или нескольких объектов Class_and_statutory_designation.

##### <a id="p102923"></a>4.3.19 Объекты Deck_moulded_form_design_parameter и Moulded_form

<a id="p102924"></a>Для каждого объекта Deck_moulded_form_design_parameter имеются данные вида defined_for defined, определяемые одним или несколькими объектами Moulded_form. Каждый объект Moulded_form определяет данные вида defined_for для нулевого, единичного или нескольких объектов Deck_moulded_form_design_parameter.

##### <a id="p102925"></a>4.3.20 Объекты Definable_object и Global_id

<a id="p102926"></a>Для каждого объекта Definable_object имеются данные вида id, определяемые только одним объектом Global_id. Каждый объект Global_id определяет данные вида id для нулевого, единичного или нескольких объектов Definable_object.

##### <a id="p102927"></a>4.3.21 Объекты Definition и Definable_object

<a id="p102928"></a>Для каждого объекта Definition имеются данные вида defined_for, определяемые одним или несколькими объектами Definable_object. Каждый объект Definable_object указывает определения для нулевого, единичного или нескольких объектов Definition.

##### <a id="p102929"></a>4.3.22 Объекты Definition и Derived_unit

<a id="p102930"></a>Для каждого объекта Definition имеются данные вида units, определяемые нулевым, единичным или несколькими объектами Derived_unit. Каждый объект Derived_unit определяет данные вида units для нулевого, единичного или нескольких объектов Definition.
<a id="p102931"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p102932"></a>4.3.23 Объекты Definition и Global_id

<a id="p102933"></a>Для каждого объекта Definition имеются данные вида id, определяемые только одним объектом Global_id. Каждый объект Global_id определяет данные вида id для нулевого, единичного или нескольких объектов Definition.

##### <a id="p102934"></a>4.3.24 Объекты Definition и Named_unit

<a id="p102935"></a>Для каждого объекта Definition имеются данные вида units, определяемые нулевым, единичным или несколькими объектами Named_unit. Каждый объект Named_unit определяет данные вида units для нулевого, единичного или нескольких Definition.
<a id="p102936"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p102937"></a>4.3.25 Объекты Displacement_operation и Moulded_form

<a id="p102938"></a>Для каждого объекта Displacement_operation имеются данные вида displacement_of_moulded_form_to_add_or_subtract, определяемые только одним объектом Moulded_form. Каждый объект Moulded_form определяет данные вида displacement_of_moulded_form_to_add_or_subtract для нулевого, единичного или нескольких объектов Displacement_operation.

##### <a id="p102939"></a>4.3.26 Объекты Document_portion и Document

<a id="p102940"></a>Для каждого объекта Document_portion имеются данные вида source, определяемые только одним объектом Document. Каждый объект Document определяет источник для нулевого, единичного или нескольких объектов Document_portion.

##### <a id="p102941"></a>4.3.27 Объекты Document_reference и Document

<a id="p102942"></a>Для каждого объекта Document_reference имеются данные вида assigned_document, определяемые нулевым или единичным объектом Document. Каждый объект Document определяет данные вида assigned_document для нулевого, единичного или нескольких объектов Document_reference.
<a id="p102943"></a>*Примечание* - Это утверждение вводится за счет выбора document_reference.


##### <a id="p102944"></a>4.3.28 Объекты Document_reference и Document_portion

<a id="p102945"></a>Для каждого объекта Document_reference имеются данные вида assigned_document, определяемые нулевым или единичным объектом Document_portion. Каждый объект Document_portion определяет данные вида assigned_document для нулевого, единичного или нескольких объектов Document_reference.
<a id="p102946"></a>*Примечание* - Это утверждение вводится за счет выбора document_reference.


##### <a id="p102947"></a>4.3.29 Объекты Envisaged_version_creation и Versionable_object

<a id="p102948"></a>Для каждого объекта Envisaged_version_creation имеются данные вида base, определяемые нулевым, единичным или несколькими объектами Versionable_object. Каждый объект Versionable_object определяет данные вида base для нулевого, единичного или нескольких объектов Envisaged_version_creation.

##### <a id="p102949"></a>4.3.30 Объекты External_instance_reference и Global_id

<a id="p102950"></a>Для каждого объекта External_instance_reference имеются данные вида target_guid, определяемые только одним объектом Global_id. Каждый объект Global_id определяет данные вида target_guid для нулевого, единичного или нескольких объектов External_instance_reference.

##### <a id="p102951"></a>4.3.31 Объекты External_reference и External_storage

<a id="p102952"></a>Для каждого объекта External_reference имеются данные вида location, определяемые нулевым или единичным объектом External_storage. Каждый объект External_storage определяет местоположение нулевого, единичного или нескольких объектов External_reference.
<a id="p102953"></a>*Примечание* - Это утверждение вводится за счет выбора any_address.


##### <a id="p102954"></a>4.3.32 Объекты External_reference и Universal_resource_locator

<a id="p102955"></a>Для каждого объекта External_reference имеются данные вида location, определяемые нулевым или единичным объектом Universal_resource_locator. Каждый объект Universal_resource_locator определяет местоположение нулевого, единичного или нескольких объектов External_reference.
<a id="p102956"></a>*Примечание* - Это утверждение вводится за счет выбора any_address.


##### <a id="p102957"></a>4.3.33 Объекты Functional_definition и Named_unit

<a id="p102958"></a>Для каждого объекта Functional_definition имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Functional_definition.
<a id="p102959"></a>*Примечание* - Это утверждение вводится путем выбора значения unit.


##### <a id="p102960"></a>4.3.34 Объекты Functional_definition и Derived_unit

<a id="p102961"></a>Для каждого объекта Functional_definition имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные вида units только для нулевого объекта Functional_definition.
<a id="p102962"></a>*Примечание* - Это утверждение вводится путем выбора значения unit.


##### <a id="p102963"></a>4.3.35 Объекты General_characteristics_definition и Ship

<a id="p102964"></a>Для каждого объекта General_characteristics_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined_for для нулевого, единичного или нескольких объектов General_characteristics_definition.

##### <a id="p102965"></a>4.3.36 Объекты Hull_applicability и Definition

<a id="p102966"></a>Для каждого объекта Hull_applicability имеются данные вида definitions_for_hulls, определяемые нулевым, единичным или несколькими объектами Definition. Каждый объект Definition определят данные вида definitions_for_hulls для нулевого, единичного или нескольких объектов Hull_applicability.

##### <a id="p102967"></a>4.3.37 Объекты Hull_applicability и Item

<a id="p102968"></a>Для каждого объекта Hull_applicability имеются данные вида items_for_hulls. Определяемые нулевым, единичным или несколькими объектами Item. Каждый объект Item определяет данные вида definitions_for_hulls для нулевого, единичного или нескольких объектов Hull_applicability.

##### <a id="p102969"></a>4.3.38 Объекты Hull_moulded_form_design_parameter и Midship_tumble

<a id="p102970"></a>Для каждого объекта Hull_moulded_form_design_parameter имеются данные вида midship_tumble_data, определяемые нулевым или единичным объектом Midship_tumble. Каждый объект Midship_tumble определяет данные вида midship_tumble_data для нулевого, единичного или нескольких объектов Hull_moulded_form_design_parameter.

##### <a id="p102971"></a>4.3.39 Объекты Hydrostatic_definition и Displacement_operation

<a id="p102972"></a>Для каждого объекта Hydrostatic_definition имеется последовательный список данных вида displacement_changes, определяемых нулевым, единичным или несколькими объектами Displacement_operation. Каждый объект Displacement_operation определяет данные вида displacement_changes для нулевого, единичного или нескольких объектов Hydrostatic_definition.

##### <a id="p102973"></a>4.3.40 Объекты Hydrostatic_definition и Hydrostatic_table

<a id="p102974"></a>Для каждого объекта Hydrostatic_definition имеются данные вида representations, определяемые одним или несколькими объектами Hydrostatic_table. Каждый объект Hydrostatic_table определяет данные вида representations для нулевого, единичного или нескольких объектов Hydrostatic_definition.

##### <a id="p102975"></a>4.3.41 Объекты Hydrostatic_definition и Ship

<a id="p102976"></a>Для каждого объекта Hydrostatic_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined_for для нулевого, единичного или нескольких объектов Hydrostatic_definition.

##### <a id="p102977"></a>4.3.42 Объекты Hydrostatic_position_value и Centre_location

<a id="p102978"></a>Для каждого объекта Hydrostatic_position_value имеются данные вида position, определяемые только одним объектом Centre_location. Каждый объект Centre_location определяет данные вида position для нулевого, единичного или нескольких объектов Hydrostatic_position_value.

##### <a id="p102979"></a>4.3.43 Объекты Hydrostatic_properties_for_constant_floating_position и Floating_position

<a id="p102980"></a>Для каждого объекта Hydrostatic_properties_for_constant_floating_position имеются данные вида definition_of_floating_position, определяемые только одним объектом Floating_position. Каждый объект Floating_position определяет данные вида definition_of_floating_position для нулевого, единичного или нескольких объектов Hydrostatic_properties_for_constant_floating_position.

##### <a id="p102981"></a>4.3.44 Объекты Hydrostatic_properties_for_constant_floating_position и Hydrostatic_property_value

<a id="p102982"></a>Для каждого объекта Hydrostatic_properties_for_constant_floating_position имеются данные вида hydrostatic_property_values, определяемые одним или несколькими объектами Hydrostatic_property_value. Каждый объект Hydrostatic_property_value определяет данные вида hydrostatic_property_values для нулевого, единичного или нескольких объектов Hydrostatic_properties_for_constant_floating_position.

##### <a id="p102983"></a>4.3.45 Объекты Hydrostatic_property и Centre_location

<a id="p102984"></a>Для каждого объекта Hydrostatic_property имеются данные вида property_measure, определяемые только одним объектом Centre_location. Каждый объект Centre_location определяет данные вида property_measure для нулевого, единичного или нескольких объектов Hydrostatic_property.

##### <a id="p102985"></a>4.3.46 Объекты Hydrostatic_table и Hydrostatic_properties_for_constant_floating_position

<a id="p102986"></a>Для каждого объекта Hydrostatic_table имеются данные вида items, определяемые одним или несколькими объектами Hydrostatic_properties_for_constant_floating_position. Каждый объект Hydrostatic_properties_for_constant_floating_position определяет данные вида related_hydrostatic_table для нулевого, единичного или нескольких объектов Hydrostatic_table.

##### <a id="p102987"></a>4.3.47 Объекты Hydrostatic_table и Hydrostatic_property

<a id="p102988"></a>Для каждого объекта Hydrostatic_table имеются данные вида properties_in_the_hydrostatic_table, определяемые одним или несколькими объектами Hydrostatic_property. Каждый объект Hydrostatic_property определяет данные вида properties_in_the_hydrostatic_table для нулевого, единичного или нескольких объектов Hydrostatic_table.

##### <a id="p102989"></a>4.3.48 Объекты Item и External_reference

<a id="p102990"></a>Для каждого объекта Item имеются данные вида documentation, определяемые нулевым, единичным или несколькими объектами External_reference. Каждый объект External_reference определяет данные вида documentation для нулевого, единичного или нескольких объектов Item.

##### <a id="p102991"></a>4.3.49 Объекты Item и Ship

<a id="p102992"></a>Для каждого объекта Item имеются данные вида ship_context, определяемые нулевым или одним объектом Ship. Каждый объект Ship определяет данные вида ship_items для нулевого, единичного или множественных объектов Item.

##### <a id="p102993"></a>4.3.50 Объекты Item_relationship и External_instance_reference

<a id="p102994"></a>Для каждого объекта Item_relationship имеются данные вида external_item_1, определяемые для нулевого или единичного объектов External_instance_reference. Каждый объект External_instance_reference определяет данные вида external_item_1 для нулевого, единичного или множественных объектов Item_relationship.
<a id="p102995"></a>Для каждого объекта Item_relationship имеются данные вида external_item_2, определяемые для нулевого или единичного объекта External_instance_reference. Каждый объект External_instance_reference определяет данные вида external_item_2 для нулевого, единичного или множественных объектов Item_relationship.

##### <a id="p102996"></a>4.3.51 Объекты Item_relationship и Item

<a id="p102997"></a>Для каждого объекта Item_relationship имеются данные вида item_1, определяемые нулевым или единичным объектом Item. Каждый объект Item определяет данные вида item_1 для нулевого, единичного или множественных объектов Item_relationship.
<a id="p102998"></a>Для каждого объекта Item_relationship имеются данные вида item_2, определяемые нулевым или единичным объектами Item. Каждый объект Item определяет данные вида item_2 для нулевого, единичного или множественных объектов Item_relationship.

##### <a id="p102999"></a>4.3.52 Объекты Item_structure и External_instance_reference

<a id="p103000"></a>Для каждого объекта Item_structure имеются данные вида external_items, определяемые нулевым, единичным или множественными объектами External_instance_reference. Каждый объект External_instance_reference определяет данные вида external_items для нулевого, единичного или множественных объектов Item_structure.
<a id="p103001"></a>Для каждого объекта Item_structure имеются данные вида external_relationships, определяемые нулевым, единичным или множественными объектами External_instance_reference. Каждый объект External_instance_reference определяет данные вида external_relationships для нулевого, единичного или множественных объектов Item_structure.

##### <a id="p103002"></a>4.3.53 Объекты Item_structure и Item

<a id="p103003"></a>Для каждого объекта Item_structure имеются данные вида items, определяемые нулевыми, единичными или множественными объектами Item. Каждый объект Item определяет данные вида items для нулевого, единичного или множественных объектов Item_structure.

##### <a id="p103004"></a>4.3.54 Объекты Item_structure и Item_relationship

<a id="p103005"></a>Для каждого объекта Item_structure имеются данные вида relationships, определяемые нулевым, единичным или множественными объектами Item_relationship. Каждый объект Item_relationship определяет данные вида relationships для нулевого, единичного или множественных объектов Item_structure.

##### <a id="p103006"></a>4.3.55 Объекты Knot и Ship_curve

<a id="p103007"></a>Для каждого объекта Knot имеются данные вида intersecting_ship_curves, определяемые последовательным списком из двух или нескольких объектов Ship_curve. Каждый объект Ship_curve определяет данные вида intersecting_ship_curves для нулевого, единичного или множественных объектов Knot objects.

##### <a id="p103008"></a>4.3.56 Объекты Local_co_ordinate_system и Global_axis_placement

<a id="p103009"></a>Для каждого объекта Local_co_ordinate_system имеются данные вида parent, определяемые нулевыми и единичными объектами Global_axis_placement. Каждый объект Global_axis_placement определяет данные вида parent для нулевых, единичных или множественных объектов Local_co_ordinate_system.
<a id="p103010"></a>*Примечание* - Это утверждение вводится путем выбора co_ordinate_system.


##### <a id="p103011"></a>4.3.57 Объекты Local_co_ordinate_system и Local_co_ordinate_system

<a id="p103012"></a>Для каждого объекта Local_co_ordinate_system имеются данные вида parent, определяемые нулевыми и единичными объектами Local_co_ordinate_system. Каждый объект Local_co_ordinate_system определяет данные вида parent для нулевых, единичных или множественных объектов Local_co_ordinate_system.
<a id="p103013"></a>*Примечание* - Это утверждение вводится путем выбора co_ordinate_system.


##### <a id="p103014"></a>4.3.58 Объекты Local_co_ordinate_system_with_position_reference и Spacing_position

<a id="p103015"></a>Для каждого объекта Local_co_ordinate_system_with_position_reference имеются данные вида longitudinal_ref, определяемые только одним объектом Spacing_position. Каждый объект Spacing_position определяет данные вида longitudinal_ref для нулевых, единичных или множественных объектов Local_co_ordinate_system_with_position_reference.
<a id="p103016"></a>Для каждого объекта Local_co_ordinate_system_with_position_reference имеются данные вида transversal_ref, определяемые только одним объектом Spacing_position. Каждый объект Spacing_position определяет данные вида transversal_ref для нулевых, единичных или множественных объектов Local_co_ordinate_system_with_position_reference.
<a id="p103017"></a>Для каждого объекта Local_co_ordinate_system_with_position_reference имеются данные вида vertical_ref, определяемые только одним объектом Spacing_position. Каждый объект Spacing_position определяет данные вида transversal_ref для нулевых, единичных или множественных объектов Local_co_ordinate_system_with_position_reference.
<a id="p103018"></a>*Примечание* - Это утверждение вводится путем выбора local_reference.


##### <a id="p103019"></a>4.3.59 Объекты Longitudinal_table и Longitudinal_position

<a id="p103020"></a>Для каждого объекта Longitudinal_table имеются данные вида spacing_table_representations, определяемые нулевым, единичным или множественными объектами Longitudinal_position. Каждый объект Longitudinal_position определяет данные вида spacing_table_representations для нулевого, единичного или множественных объектов Longitudinal_table.

##### <a id="p103021"></a>4.3.60 Объекты Moulded_form_boundary_relationship и Moulded_form

<a id="p103022"></a>Для каждого объекта Moulded_form_boundary_relationship имеются данные вида item_1, определяемые только одним объектом Moulded_form. Каждый объект Moulded_form определяет данные вида item_1 для нулевого, единичного или множественных объектов Moulded_form_boundary_relationship.

##### <a id="p103023"></a>4.3.61 Объекты Moulded_form_boundary_relationship и Moulded_form

<a id="p103024"></a>Для каждого объекта Moulded_form_boundary_relationship имеются данные вида item_2, определяемые только одним объектом Moulded_form. Каждый объект Moulded_form определяет данные вида item_2 для нулевого, единичного или множественных объектов Moulded_form_boundary_relationship.

##### <a id="p103025"></a>4.3.62 Объекты Moulded_form_characteristics_definition и Moulded_form

<a id="p103026"></a>Для каждого объекта Moulded_form_characteristics_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Moulded_form. Каждый объект Moulded_form определяет данные вида defined_for для нулевого, единичного или множественных объектов Moulded_form_characteristics_definition.

##### <a id="p103027"></a>4.3.63 Объекты Moulded_form_design_definition и Edge_based_wireframe_shape

<a id="p103028"></a>Для каждого объекта Moulded_form_design_definition имеются данные вида moulded_surface, определяемые нулевыми или единичными объектами Edge_based_wireframe_shape. Каждый объект Edge_based_wireframe_shape определяет данные вида moulded_surface для нулевого, единичного или нескольких объектов Moulded_form_design_definition.
<a id="p103029"></a>*Примечание* - Это утверждение вводится путем выбора surface_geometry и surface_representation.

<a id="p103030"></a>Для каждого объекта Moulded_form_design_definition имеются данные вида representations, определяемые нулевым, единичным или множественными объектами Edge_based_wireframe_shape. Каждый объект Edge_based_wireframe_shape определяет данные вида representations для нулевого, единичного или нескольких объектов Moulded_form_design_definition.
<a id="p103031"></a>*Примечание* - Это утверждение вводится путем выбора surface_representation.


##### <a id="p103032"></a>4.3.64 Объекты Moulded_form_design_definition и Non_manifold_surface_shape

<a id="p103033"></a>Для каждого объекта Moulded_form_design_definition имеются данные вида moulded_surface, определяемые нулевыми или единичными объектами Non_manifold_surface_shape. Каждый объект Non_manifold_surface_shape определяет данные вида moulded_surface для нулевого, единичного или нескольких объектов Moulded_form_design_definition.
<a id="p103034"></a>*Примечание* - Это утверждение вводится путем выбора surface_geometry и surface_representation.

<a id="p103035"></a>Для каждого объекта Moulded_form_design_definition имеются данные вида representations, определяемые нулевым, единичным или множественными объектами Moulded_form_design_definition. Каждый объект Moulded_form_design_definition определяет данные вида representations для нулевого, единичного или нескольких объектов Moulded_form_design_definition.
<a id="p103036"></a>*Примечание* - Это утверждение вводится путем выбора surface_representation.


##### <a id="p103037"></a>4.3.65 Объекты Moulded_form_design_definition и Moulded_form

<a id="p103038"></a>Для каждого объекта Moulded_form_design_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Moulded_form. Каждый объект Moulded_form определяет данные вида defined_for для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

##### <a id="p103039"></a>4.3.66 Объекты Moulded_form_design_definition и Moulded_form_boundary_relationship

<a id="p103040"></a>Для каждого объекта Moulded_form_design_definition имеются данные вида borders, определяемые нулевыми, единичными или множественными объектами Moulded_form_boundary_relationship. Каждый объект Moulded_form_boundary_relationship определяет данные вида border для нулевого, единичного или нескольких объектов Moulded_form_design_definition.
<a id="p103041"></a>*Примечание* - Это утверждение вводится путем выбора moulded_form_border.


##### <a id="p103042"></a>4.3.67 Объекты Moulded_form_design_definition и Moulded_form_shape_representation

<a id="p103043"></a>Для каждого объекта Moulded_form_design_definition имеются данные по теоретической поверхности, определяемые нулевыми или единичными объектами Moulded_form_shape_representation. Каждый объект Moulded_form_shape_representation определяет данные теоретической поверхности для нулевого, единичного или нескольких объектов Moulded_form_design_definition.
<a id="p103044"></a>*Примечание* - Это утверждение вводится путем выбора surface_geometry.


##### <a id="p103045"></a>4.3.68 Объекты Moulded_form_design_definition и Ship_curve

<a id="p103046"></a>Для каждого объекта Moulded_form_design_definition имеются данные вида borders, определяемые нулевым, единичным или множественными объектами Ship_curve. Каждый объект Ship_curve определяет данные вида border для нулевого, единичного или нескольких объектов Moulded_form_design_definition.
<a id="p103047"></a>*Примечание* - Это утверждение вводится путем выбора moulded_form_border.


##### <a id="p103048"></a>4.3.69 Объекты Moulded_form_design_definition и Ship_surface

<a id="p103049"></a>Для каждого объекта Moulded_form_design_definition имеются данные по теоретической поверхности нулевого или единичного объекта Ship_surface. Каждый объект Ship_surface представляет собой теоретическую поверхность для нулевого, единичного или нескольких объектов Moulded_form_design_definition.
<a id="p103050"></a>*Примечание* - Это утверждение вводится путем выбора surface_geometry.


##### <a id="p103051"></a>4.3.70 Объекты Moulded_form_design_definition и Spacing_position

<a id="p103052"></a>Для каждого объекта Moulded_form_design_definition имеются данные вида borders, определяемые нулевым, единичным или множественными объектами Spacing_position. Каждый объект Spacing_position определяет данные вида border для нулевого, единичного или нескольких объектов Moulded_form_design_definition.
<a id="p103053"></a>*Примечание* - Это утверждение вводится путем выбора moulded_form_border и planar_boundary.


##### <a id="p103054"></a>4.3.71 Объекты Moulded_form_functional_definition и Moulded_form

<a id="p103055"></a>Для каждого объекта Moulded_form_functional_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Moulded_form. Каждый объект Moulded_form определяет данные вида defined_for для нулевого, единичного или нескольких объектов Moulded_form_functional_definition.

##### <a id="p103056"></a>4.3.72 Объекты Moulded_form_relationship и Moulded_form

<a id="p103057"></a>Для каждого объекта Moulded_form_relationship имеются данные вида item_1, определяемые только одним объектом Moulded_form. Каждый объект Moulded_form определяет данные вида item_1 для нулевого, единичного или множественных объектов Moulded_form_relationship.
<a id="p103058"></a>Для каждого объекта Moulded_form_relationship имеются данные вида item_2, определяемые только одним объектом Moulded_form. Каждый объект Moulded_form определяет данные вида item_2 для нулевого, единичного или множественных объектов Moulded_form_relationship.

##### <a id="p103059"></a>4.3.73 Объекты Moulded_form_representation_relationship и Moulded_form_shape_representation

<a id="p103060"></a>Для каждого объекта Moulded_form_representation_relationship имеются данные вида rep_1, определяемые только одним объектом Moulded_form_shape_representation. Каждый объект Moulded_form_shape_representation определяет данные вида rep_1 для нулевого, единичного или множественных объектов Moulded_form_representation_relationship.
<a id="p103061"></a>Для каждого объекта Moulded_form_representation_relationship имеются данные вида rep_2, определяемые только одним объектом Moulded_form_shape_representation. Каждый объект Moulded_form_shape_representation определяет данные вида rep_2 для нулевого, единичного или множественных объектов Moulded_form_representation_relationship.

##### <a id="p103062"></a>4.3.74 Объекты Moulded_form_shape_representation и Symmetry

<a id="p103063"></a>Для каждого объекта Moulded_form_shape_representation имеются данные вида moulded_form_symmetry, определяемые нулевыми или единичными объектами Symmetry objects. Каждый объект Symmetry определяет данные вида moulded_form_symmetry для нулевого, единичного или множественных объектов Moulded_form_shape_representation.

##### <a id="p103064"></a>4.3.75 Объекты Offset_point_table_model и Section_of_offset_point_table

<a id="p103065"></a>Для каждого объекта Offset_point_table_model имеются данные вида offset_point_table_sections, определяемые одним или несколькими объектами Section_of_offset_point_table. Каждый объект Section_of_offset_point_table определяет данные вида for_table для одного или нескольких объектов Offset_point_table_model.

##### <a id="p103066"></a>4.3.76 Объекты Offset_table_shape_representation и Offset_point_table_model

<a id="p103067"></a>Для каждого объекта Offset_table_shape_representation имеются данные вида items, определяемые одним или несколькими объектами Offset_point_table_model. Каждый объект Offset_point_table_model определяет данные вида items для нулевого, единичного или нескольких объектов Offset_table_shape_representation.

##### <a id="p103068"></a>4.3.77 Объекты Owner_designation и Derived_unit

<a id="p103069"></a>Для каждого объекта Owner_designation имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные вида units только для нулевого объекта Owner_designation.
<a id="p103070"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p103071"></a>4.3.78 Объекты Owner_designation и Named_unit

<a id="p103072"></a>Для каждого объекта Change_definition имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Owner_designation.
<a id="p103073"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p103074"></a>4.3.79 Объекты Propeller_location и Centre_location

<a id="p103075"></a>Для каждого объекта Propeller_location имеются данные вида propeller_location, определяемые только одним объектом Centre_location. Каждый объект Centre_location определяет данные вида propeller_location для нулевого, единичного или множественных объектов Propeller_location.
<a id="p103076"></a>Для каждого объекта Propeller_location имеются данные вида shaft_line_location, определяемые только одним объектом Centre_location. Каждый объект Centre_location определяет данные вида shaft_line_location для нулевого, единичного или множественных объектов Propeller_location.

##### <a id="p103077"></a>4.3.80 Объекты Propeller_moulded_form_design_parameter и Propeller_location

<a id="p103078"></a>Для каждого объекта Propeller_moulded_form_design_parameter имеются данные вида location_of_the_propeller_at_the_ship_hull, определяемые нулевым или единичным объектом Propeller_location. Каждый объект Propeller_location определяет данные вида location_of_the_propeller_at_the_ship_hull для нулевого, единичного или множественных объектов Propeller_moulded_form_design_parameter.

##### <a id="p103079"></a>4.3.81 Regulation to External_reference

<a id="p103080"></a>Для каждого объекта Regulation имеются данные вида international_regulations, определяемые нулевым, единичным или множественными объектами External_reference. Каждый объект External_reference определяет данные вида international_regulations для нулевого, единичного или множественных объектов Regulation.
<a id="p103081"></a>Для каждого объекта Regulation имеются данные вида national_regulations, определяемые нулевым, единичным или множественными объектами External_reference. Каждый объект External_reference определяет данные вида national_regulations для нулевого, единичного или множественных объектов Regulation.
<a id="p103082"></a>Для каждого объекта Regulation имеются данные вида standards, определяемые нулевым, единичным или множественными объектами External_reference. Каждый объект External_reference определяет данные вида standards для нулевого, единичного или множественных объектов Regulation.

##### <a id="p103083"></a>4.3.82 Объекты Revision и Versionable_object

<a id="p103084"></a>Для каждого объекта Revision имеются данные вида members, определяемые одним или несколькими объектами Versionable_object. Каждый Versionable_object определяет данные вида Versionable_object для нулевого, единичного или нескольких объектов Revision.

##### <a id="p103085"></a>4.3.83 Объекты Revision_with_context и Definable_object

<a id="p103086"></a>Для каждого объекта Revision_with_context имеются данные вида context_of_revision, определяемые только одним объектом Definable_object. Каждый Definable_object определяет данные вида impact для нулевого, единичного или нескольких объектов Revision_with_context.

##### <a id="p103087"></a>4.3.84 Объекты Rudder_moulded_form_design_parameter и Centre_location

<a id="p103088"></a>Для каждого объекта Rudder_moulded_form_design_parameter имеются данные вида rudder_location, определяемые только одним объектом Centre_location. Каждый объект Centre_location определяет данные вида rudder_location для нулевого, единичного или нескольких объектов Rudder_moulded_form_design_parameter.

##### <a id="p103089"></a>4.3.85 Объекты Section_of_offset_point_table и Ship_point

<a id="p103090"></a>Для каждого объекта Section_of_offset_point_table имеются данные вида section_points, определяемые последовательным списком одного или нескольких объектов Ship_point. Каждый объект Ship_point определяет данные вида section_points для нулевого, единичного или нескольких объектов Section_of_offset_point_table.

##### <a id="p103091"></a>4.3.86 Объекты Ship и Derived_unit

<a id="p103092"></a>Для каждого объекта Ship имеются данные вида units, определяемые нулевым, единичным или несколькими объектами Derived_unit. Каждый Derived_unit определяет данные вида units для нулевого, единичного или нескольких объектов Ship.
<a id="p103093"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p103094"></a>4.3.87 Объекты Ship и Named_unit

<a id="p103095"></a>Для каждого объекта Ship имеются данные вида units, определяемые нулевым, единичным или несколькими объектами Named_unit. Каждый Named_unit определяет данные вида units для нулевого, единичного или нескольких объектов Ship.
<a id="p103096"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p103097"></a>4.3.88 Объекты Ship_curve_segment и Ship_curve

<a id="p103098"></a>Для каждого объекта Ship_curve_segment имеются данные вида part_of_ship_curve, определяемые только одним объектом Ship_curve. Каждый объект Ship_curve определяет данные вида part_of_ship_curve для нулевого, единичного или нескольких объектов Ship_curve_segment.

##### <a id="p103099"></a>4.3.89 Объекты Ship_curve_with_spacing_position и Spacing_position

<a id="p103100"></a>Для каждого объекта Ship_curve_with_spacing_position имеются данные вида location, определяемые только одним объектом Spacing_position. Каждый объект Spacing_position определяет данные вида location для нулевого, единичного или нескольких объектов Ship_curve_with_spacing_position.

##### <a id="p103101"></a>4.3.90 Объекты Ship_designation и Named_unit

<a id="p103102"></a>Для каждого объекта Ship_designation имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Ship_designation.
<a id="p103103"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p103104"></a>4.3.91 Объекты Ship_designation и Derived_unit

<a id="p103105"></a>Для каждого объекта Ship_designation имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные вида units только для нулевого объекта Ship_designation.
<a id="p103106"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p103107"></a>4.3.92 Объекты Ship_moulded_form и Moulded_form

<a id="p103108"></a>Для каждого объекта Ship_moulded_form есть данные вида items, определяемые одним или несколькими объектами Moulded_form. Каждый объект Moulded_form определяет данные вида items для нулевого, единичного или нескольких объектов Ship_moulded_form.

##### <a id="p103109"></a>4.3.93 Объекты Ship_moulded_form и Moulded_form_relationship

<a id="p103110"></a>Для каждого объекта Ship_moulded_form имеются данные вида relationships, определяемые нулевым, единичным или множественными объектами Moulded_form_relationship. Каждый объект Moulded_form_relationship определяет данные вида relationships для нулевого, единичного или множественных объектов Ship_moulded_form.

##### <a id="p103111"></a>4.3.94 Объекты Ship_moulded_form_revision и Moulded_form_design_definition

<a id="p103112"></a>Для каждого объекта Ship_moulded_form_revision имеются данные вида members, определяемые одним или несколькими объектами Moulded_form_design_definition. Каждый объект Moulded_form_design_definition представляет собой элемент для нулевого, единичного или нескольких объектов Ship_moulded_form_revision.

##### <a id="p103113"></a>4.3.95 Объекты Ship_moulded_form_revision и Ship_moulded_form

<a id="p103114"></a>Для каждого объекта Ship_moulded_form_revision имеются данные вида context_of_revision, определяемые только одним объектом Ship_moulded_form. Каждый объект Ship_moulded_form определяет данные вида context_of_revision для нулевого, единичного или нескольких объектов Ship_moulded_form_revision.

##### <a id="p103115"></a>4.3.96 Объекты Ship_overall_dimensions и Ship

<a id="p103116"></a>Для каждого объекта Ship_overall_dimensions имеются данные вида defined_for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined_for для нулевого, единичного или нескольких объектов Ship_overall_dimensions.

##### <a id="p103117"></a>4.3.97 Объекты Shiptype и Ship

<a id="p103118"></a>Для каждого объекта Shiptype имеются данные вида defined_for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined_for для нулевого, единичного или нескольких объектов Shiptype.

##### <a id="p103119"></a>4.3.98 Объекты Shipyard_designation и Named_unit

<a id="p103120"></a>Для каждого объекта Shipyard_designation имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Shipyard_designation.
<a id="p103121"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p103122"></a>4.3.99 Объекты Shipyard_designation и Derived_unit

<a id="p103123"></a>Для каждого объекта Shipyard_designation имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные вида units только для нулевого объекта Shipyard_designation.
<a id="p103124"></a>*Примечание* - Это утверждение вводится путем выбора unit.


##### <a id="p103125"></a>4.3.100 Объекты Spacing_position_with_offset и Spacing_position

<a id="p103126"></a>Для каждого объекта Spacing_position_with_offset имеются данные вида relating_spacing_position, определяемые только одним объектом Spacing_position. Каждый объект Spacing_position определяет данные вида relating_spacing_position для нулевого, единичного или нескольких объектов Spacing_position_with_offset.

##### <a id="p103127"></a>4.3.101 Объекты Spacing_table и Spacing_position

<a id="p103128"></a>Для каждого объекта Spacing_table имеются данные вида spacing_table_representations, определяемые нулевым или множественными объектами Spacing_position. Каждый объект Spacing_position определяет данные вида spacing_table_representations нулевым, единичным или множественными объектами Spacing_table.

##### <a id="p103129"></a>4.3.102 Объекты Stability_definition и Ship

<a id="p103130"></a>Для каждого объекта Stability_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined_for для нулевого, единичного или нескольких объектов Stability_definition.

##### <a id="p103131"></a>4.3.103 Объекты Stability_definition и Stability_table

<a id="p103132"></a>Для каждого объекта Stability_definition имеются данные вида representations, определяемые одним или несколькими объектами Stability_table. Каждый объект Stability_table определяет данные вида representations для нулевого, единичного или нескольких объектов Stability_definition.

##### <a id="p103133"></a>4.3.104 Объекты Stability_properties_for_one_floating_position и Centre_location

<a id="p103134"></a>Для каждого объекта Stability_properties_for_one_floating_position имеются данные вида centre_of_gravity_above_keel, определяемые только одним объектом Centre_location. Каждый объект Centre_location определяет данные вида centre_of_gravity_above_keel для нулевого, единичного или множественных объектов Stability_properties_for_one_floating_position.

##### <a id="p103135"></a>4.3.105 Объекты Stability_properties_for_one_floating_position и Floating_position

<a id="p103136"></a>Для каждого объекта Stability_properties_for_one_floating_position имеются данные вида definition_of_starting_floating_position, определяемые только одним объектом Floating_position. Каждый объект Floating_position определяет данные вида definition_of_starting_floating_position для нулевого, единичного или множественных объектов Stability_properties_for_one_floating_position.

##### <a id="p103137"></a>4.3.106 Объекты Stability_properties_for_one_floating_position и Stability_property

<a id="p103138"></a>Для каждого объекта Stability_properties_for_one_floating_position имеются данные вида stability_properties_for_different_angles_of_heel, определяемые одним или несколькими объектами Stability_property. Каждый объект Stability_property определяет данные вида stability_properties_for_different_angles_of_heel для нулевого, единичного или множественных объектов Stability_properties_for_one_floating_position.

##### <a id="p103139"></a>4.3.107 Объекты Stability_property и Centre_location

<a id="p103140"></a>Для каждого объекта Stability_property имеются данные вида centre_of_buoyancy, определяемые только одним объектом Centre_location. Каждый объект Centre_location определяет данные вида centre_of_buoyancy для нулевого, единичного или множественных объектов Stability_property.

##### <a id="p103141"></a>4.3.108 Объекты Stability_table и Stability_properties_for_one_floating_position

<a id="p103142"></a>Для каждого объекта Stability_table имеются данные вида items, определяемые одним или несколькими объектами Stability_properties_for_one_floating_position. Каждый объект Stability_properties_for_one_floating_position определяет последовательный список данных related_stability_table для одного или нескольких объектов Stability_table.

##### <a id="p103143"></a>4.3.109 Объект Surface_with_identifier в Global_id

<a id="p103144"></a>Для каждого идентификатора Surface_with_identifier есть id, определяемый точно одним глобальным идентификатором Global_id. Каждый Global_id определяет id для нулевого, одного или нескольких объектов Surface_with_identifier.

##### <a id="p103145"></a>4.3.110 Объекты Thruster_moulded_form_design_parameter и Centre_location

<a id="p103146"></a>Для каждого объекта Thruster_moulded_form_design_parameter имеются данные вида geometric_thruster_location, определяемые только одним объектом Centre_location. Каждый объект Centre_location определяет данные вида geometric_thruster_location для нулевого, единичного или множественных объектов Thruster_moulded_form_design_parameter.

##### <a id="p103147"></a>4.3.111 Объекты Thruster_moulded_form_design_parameter и Propeller_moulded_form_design_parameter

<a id="p103148"></a>Для каждого объекта Thruster_moulded_form_design_parameter имеются данные вида thruster_propeller_parameter, определяемые только одним объектом Propeller_moulded_form_design_parameter. Каждый объект Propeller_moulded_form_design_parameter определяет данные вида thruster_propeller_parameter для нулевого, единичного или множественных объектов Thruster_moulded_form_design_parameter.

##### <a id="p103149"></a>4.3.112 Объекты Transversal_table и Transversal_position

<a id="p103150"></a>Для каждого объекта Transversal_table имеются данные вида spacing_table_representations, определяемые нулевым, единичным или множественными объектами Transversal_position. Каждый объект Transversal_position определяет данные вида spacing_table_representations для нулевого, единичного или множественного объектов Transversal_table.

##### <a id="p103151"></a>4.3.113 Объекты Version_creation и Versionable_object

<a id="p103152"></a>Для каждого объекта Version_creation имеются данные вида base, определяемые нулевым, единичным или несколькими объектами Versionable_object. Каждый Versionable_object определяет данные вида base для нулевого, единичного или нескольких объектов Version_creation.
<a id="p103153"></a>Для каждого объекта Version_creation имеются данные вида subject, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида base для нулевого, единичного или нескольких объектов Version_creation.

##### <a id="p103154"></a>4.3.114 Объекты Version_deletion и Versionable_object

<a id="p103155"></a>Для каждого объекта Version_deletion имеются данные вида subject, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида subject для нулевого, единичного или нескольких объектов Version_deletion.

##### <a id="p103156"></a>4.3.115 Объекты Version_history и Version_relationship

<a id="p103157"></a>Для каждого объекта Version_history имеются данные вида relationships, определяемые нулевым, единичным или несколькими объектами Versionable_relationship. Каждый Versionable_relationship определяет данные вида relationships для нулевого, единичного или нескольких объектов Version_history.

##### <a id="p103158"></a>4.3.116 Объекты Version_history и Versionable_object

<a id="p103159"></a>Для каждого объекта Version_history имеются данные вида versions, определяемые одним или несколькими объектами Versionable_object. Каждый Versionable_object определяет данные вида versions для нулевого, единичного или нескольких объектов Version_history.
<a id="p103160"></a>Для каждого объекта Version_history имеются данные вида current_version, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида current_version для нулевого, единичного или нескольких объектов Version_history.

##### <a id="p103161"></a>4.3.117 Объекты Version_modification и Versionable_object

<a id="p103162"></a>Для каждого объекта Version_modification имеются данные вида base, определяемые одним или несколькими объектами Versionable_object. Каждый Versionable_object определяет данные вида base для нулевого, единичного или нескольких объектов Version_modification.
<a id="p103163"></a>Для каждого объекта Version_modification имеются данные вида subject, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида subject для нулевого, единичного или нескольких объектов Version_modification.

##### <a id="p103164"></a>4.3.118 Объекты Version_relationship и Versionable_object

<a id="p103165"></a>Для каждого объекта Version_relationship имеются данные вида predecessor, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида predecessor для нулевого, единичного или нескольких объектов Version_relationship.
<a id="p103166"></a>Для каждого объекта Version_relationship имеются данные вида successor, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида successor для нулевого, единичного или нескольких объектов Version_relationship.

##### <a id="p103167"></a>4.3.119 Объекты Vertical_table и Vertical_position

<a id="p103168"></a>Для каждого объекта Vertical_table имеются данные вида spacing_table_representations, определяемые нулевым, единичным или множественными объектами Vertical_position. Каждый объект Vertical_position определяет данные вида spacing_table_representations нулевым, единичным или множественными объектами Vertical_table.

##### <a id="p103169"></a>4.3.120 Объекты Wireframe_shape_representation и Ship_curve

<a id="p103170"></a>Для каждого объекта Wireframe_shape_representation имеются данные вида items, определяемые одним или несколькими объектами Ship_curve. Каждый объект Ship_curve определяет данные вида items для нулевого, единичного или множественных объектов Wireframe_shape_representation.


### <a id="p103171"></a>5 Прикладная интерпретированная модель



#### <a id="p103172"></a>5.1 Спецификация отображения

<a id="p103173"></a>Данный раздел содержит спецификацию отображения, показывающую, как каждая функциональная единица и прикладной объект настоящего стандарта (см. [раздел 4](#p100258)) отображается в одну или несколько структур ПИМ (см. [приложение A](#p119878)). В каждом отображении указано до пяти элементов.
<a id="p103174"></a>Прикладной элемент: Отображение каждого прикладного элемента указано в отдельном подпункте ниже. Наименования прикладных объектов выделены заглавными буквами. Наименования атрибутов и утверждения приведены после прикладного объекта, к которому они принадлежат, строчными буквами.
<a id="p103175"></a>Элемент ПИМ: Наименование одного или нескольких типов данных объектов ПИМ, приведенных в [приложении A](#p119878), термин "IDENTICAL MAPPING" (ИДЕНТИЧНОЕ ОТОБРАЖЕНИЕ) или термин "PATH" (ПУТЬ). Наименования типов данных объектов ПИМ приведены строчным буквами. Атрибуты типов данных объектов ПИМ указывают как <entity name>.. Отображение прикладного элемента может быть выражено несколькими элементами ПИМ. Каждый из этих элементов ПИМ представлен в спецификации отображения отдельной строкой. Термин "IDENTICAL MAPPING" указывает, что оба прикладных элемента, участвующие в прикладном утверждении, отображаются в тот же самый экземпляр типа данных объекта ПИМ. Термин "PATH" указывает, что прикладное утверждение отображается в набор соответствующих элементов объекта ПИМ, заданный полным ссылочным путем.
<a id="p103176"></a>Источник: Для элементов ПИМ, интерпретируемых из любого общего ресурса, в этой графе указывается обозначение стандарта ИСО и части, в которой определен этот ресурс. Для элементов ПИМ, введенных в настоящий стандарт, это обозначение будет "ИСО 10303", после которого указывается обозначение настоящей части.
<a id="p103177"></a>Правила: Здесь могут быть приведены одно или несколько глобальных правил, применяемых к множеству типов данных объектов ПИМ, заданных в виде элемента ПИМ или в ссылочном пути. Для правил, полученных из отношений между прикладными объектами, то же правило определяет вхождения отображений для всех элементов ПИМ, используемых в правиле. К ссылке на глобальное правило может быть добавлена ссылка на подпункт, в котором определено данное правило.
<a id="p103178"></a>Ссылочный путь: Чтобы полностью описать отображение прикладного объекта, может потребоваться определение ссылочного пути через несколько связанных элементов ПИМ. В каждой строке ссылочного пути указывается роль элемента ПИМ относительно элемента ПИМ, приведенного в следующей строке. Два или более таких связанных элемента ПИМ определяют интерпретацию интегрированных ресурсов, удовлетворяющих требованиям, заданным этим прикладным объектом.
<a id="p103179"></a>Для каждого элемента ПИМ, введенного для использования в данной части настоящего стандарта, определяется ссылочный путь к его супертипу от интегрированного источника. Для записи ссылочных путей и отношений между элементами ПИМ используют следующие условные обозначения:
<a id="p103180"></a>[ ] заключенная в скобки секция ограничивает разнородные элементы ПИМ или секции ссылочного пути с целью выполнения информационного требования;
<a id="p103181"></a>( ) заключенная в скобки секция ограничивает разнородные элементы ПИМ или секции ссылочного пути, обозначаемые как альтернативные в пределах данного отображения, с целью выполнения информационного требования;
<a id="p103182"></a>{ } заключенная в фигурные скобки секция ограничивает ссылочный путь с целью выполнения информационного требования;
<a id="p103183"></a>< > заключенная в скобки секция ограничивает один или несколько ссылочных путей;
<a id="p103184"></a>| | заключенная в скобки секция ограничивает объект супертипа;
<a id="p103185"></a>-> атрибут ссылается на объект или выбранный тип данных, указанный в следующей строке;
<a id="p103186"></a><- ссылка атрибута на объект или выбранный тип данных приведена в следующей строке;
<a id="p103187"></a>[i] атрибут представлен агрегированным типом, единственный член которого указан в следующей строке;
<a id="p103188"></a>[n] атрибут представлен агрегированным типом, член n которого указан в следующей строке;
<a id="p103189"></a>=> объект является супертипом объекта, указанного в следующей строке;
<a id="p103190"></a><= объект является подтипом объекта, указанного в следующей строке;
<a id="p103191"></a>= для ограничения выбора или значения используют данные следующих типов: строкового (string), выбранного (select) или перечисления (enumeration);
<a id="p103192"></a>\ запись ссылочного пути продолжается на следующей строке;
* <a id="p103193"></a>используется совместно со скобками, чтобы указать, что любое количество типов отношений данных объектов может быть собрано в структуру древа отношений;
<a id="p103194"></a>// заключенная в скобки секция является приложением одного из шаблонов отображения, определенных в [5.1.1](#p103284) ниже;
<a id="p103195"></a>-- следующий текст является комментарием (обычно ссылка на пункт).
<a id="p103196"></a>Ключевые отображения для данной части настоящего стандарта представлены в [таблице 1](#p103198).

<a id="p103197"></a>Таблица 1

<a id="p103198"></a>Ключевые отображения для AP216


| <a id="p103199"></a>Ключевые объекты ПЭМ AP216 | <a id="p103200"></a>Отображение в объектах части 40 |
| --- | --- |
| <a id="p103201"></a>Shiptype | <a id="p103202"></a>product_related_product_category |
| <a id="p103203"></a>Ship | <a id="p103204"></a>product |
| <a id="p103205"></a><a id="p103206"></a><a id="p103207"></a><a id="p103208"></a><a id="p103209"></a><a id="p103210"></a><a id="p103211"></a><a id="p103212"></a><a id="p103213"></a>Ship_moulded_form<br>Moulded_form<br>Principal_characteristics<br>Class_and_statutory_designation<br>Class_parameters<br>Ship_designation<br>Shipyard_designation<br>Owner_designation<br>Global_axis_placement | <a id="p103214"></a>product_definition |
| <a id="p103215"></a>Moulded_form_relationship | <a id="p103216"></a>product_definition_relationship |
| <a id="p103217"></a><a id="p103218"></a><a id="p103219"></a><a id="p103220"></a><a id="p103221"></a><a id="p103222"></a><a id="p103223"></a><a id="p103224"></a><a id="p103225"></a><a id="p103226"></a><a id="p103227"></a>Moulded_form_functional_definition<br>Class_notation<br>Regulation<br>Displacement_operation<br>Hydrostatic_definition<br>Stability_definition<br>Moulded_form_characteristics<br>Definition (and Subtypes)<br>Local_co_ordinate_system<br>Local_co_ordinate_system_with_position_reference<br>Spacing_table | <a id="p103228"></a>property_definition |
| <a id="p103229"></a>Moulded_form_design_definition | <a id="p103230"></a>product_definition_shape |
| <a id="p103231"></a>Wireframe_shape_representation | <a id="p103232"></a>shape_representation |
| <a id="p103233"></a>Surface_shape_representation | <a id="p103234"></a>non_manifold_surface_shape_representation |
| <a id="p103235"></a><a id="p103236"></a><a id="p103237"></a><a id="p103238"></a>Hydrostatic_table<br>Stability_table<br>Midship_tumble<br>Propeller_location | <a id="p103239"></a>representation |
| <a id="p103240"></a>Offset_table_shape_representation | <a id="p103241"></a>shape_representation |
| <a id="p103242"></a><a id="p103243"></a><a id="p103244"></a><a id="p103245"></a><a id="p103246"></a><a id="p103247"></a><a id="p103248"></a><a id="p103249"></a><a id="p103250"></a><a id="p103251"></a><a id="p103252"></a>Hydrostatic_property<br>Hydrostatic_property_for_constant_floating_position<br>Floating_position<br>Stability_properties_for_one_floating_position<br>Stability_property<br>Offset_point_table_model<br>Section_of_offset_point_table<br>Ship_point<br>Ship_curve<br>Ship_surface<br>Spacing_position | <a id="p103253"></a>compound_representation_item |


<a id="p103254"></a>Для определения шаблонов отображения используются следующие сокращения:
<a id="p103255"></a>ACT - action;
<a id="p103256"></a>ASSGN - assignment;
<a id="p103257"></a>CART - cartesian;
<a id="p103258"></a>CAT - category;
<a id="p103259"></a>CD - context_dependent;
<a id="p103260"></a>DEF - definition;
<a id="p103261"></a>DESC - description;
<a id="p103262"></a>DO - definable_object;
<a id="p103263"></a>DOC - document;
<a id="p103264"></a>EXT - external;
<a id="p103265"></a>FUNC - function;
<a id="p103266"></a>GEO - geometry;
<a id="p103267"></a>INST - instance;
<a id="p103268"></a>ORG - organization;
<a id="p103269"></a>PD - product_definition;
<a id="p103270"></a>PDCD - product_definition to characterized_definition;
<a id="p103271"></a>PDR - product_definition_representation;
<a id="p103272"></a>PERS - person;
<a id="p103273"></a>PROD - product;
<a id="p103274"></a>PROP - property;
<a id="p103275"></a>REF - reference;
<a id="p103276"></a>REL - relationship;
<a id="p103277"></a>REP - representation;
<a id="p103278"></a>SA - shape_aspect;
<a id="p103279"></a>SAR - shape_aspect_relationship;
<a id="p103280"></a>SDR - shape_definition_representation;
<a id="p103281"></a>SRC - source;
<a id="p103282"></a>VAL - value;
<a id="p103283"></a>VO - versionable_object.

##### <a id="p103284"></a>5.1.1 Шаблоны отображения

<a id="p103285"></a>Данная спецификация отображения включает шаблоны отображения. Шаблон отображения - это повторно используемая часть ссылочного пути, которая определяет часто используемую часть структуры прикладной интерпретируемой модели. Шаблон отображения похож на макрос языка программирования.
<a id="p103286"></a>В данном подпункте определены шаблоны отображения, используемые в этой части настоящего стандарта. Каждое определение шаблона отображения состоит из трех компонентов:
- <a id="p103287"></a>сигнатура шаблона, указывающая имя шаблона; может также указывать имена и порядок формальных параметров шаблона;
- <a id="p103288"></a>описания формальных параметров шаблона, если есть;
- <a id="p103289"></a>тело шаблона, которое определяет многократно используемую часть ссылочного пути и может указывать путем использования имен формальных параметров, включенных в сигнатуру шаблона, точки, в которые доставляются параметры, передаваемые по значению, в каждом приложении шаблона.
<a id="p103290"></a>Каждый шаблон отображения используется в ссылочных путях, указанных в [5.1.2](#p104153) - [5.1.16](#p111692) как минимум один раз. Каждый такой прикладной шаблон является ссылкой на определение шаблона на основе образа, установленного сигнатурой шаблона, и доставляет параметры, передаваемые по значению, которые должны быть заменены формальными параметрами, указанными в определении шаблона. Полный ссылочный путь можно получить, заменив любые формальные параметры в теле шаблона параметрами, передаваемыми по значению, указанными в прикладном шаблоне, а затем заменив заполненное тело шаблона приложением шаблона.
<a id="p103291"></a>Непустые символы, следующие за первым знаком "/", определяют имя шаблона отображения. Имя шаблона отображения указывается заглавными буквами. За именем шаблона следует список параметров, передаваемых по значению, отделенных запятыми и заключенных в круглые скобки. Значения параметров задаются строчными буквами, за исключением случая, когда параметр, передаваемый по значению, является строковым литералом, включающим символы верхнего регистра.
<a id="p103292"></a>В определениях и приложениях шаблонов применяются следующие условные обозначения:
<a id="p103293"></a>/ отмечает начало и конец сигнатуры шаблона или приложения шаблона;
<a id="p103294"></a>& присоединяет имя формального параметра в определении тела шаблона;
<a id="p103295"></a>( ) заключают в себя формальные параметры в сигнатуре шаблона или параметры, передаваемые по значению, в приложении шаблона;
<a id="p103296"></a>, отделяет формальные параметры в сигнатуре шаблона или параметры, передаваемые по значению, в приложении шаблона;
<a id="p103297"></a>' ' обозначает строковый литерал, который используется в качестве параметра, передаваемого по значению, в приложении шаблона.
<a id="p103298"></a>Параметры, передаваемые по значению, не заключенные в кавычки, являются идентификаторами вида данных языка EXPRESS.
<a id="p103299"></a>В приведенных ниже подпунктах указаны шаблоны, используемые в настоящем стандарте.

###### <a id="p103300"></a>5.1.1.1 Шаблон APPROVES

<a id="p103301"></a>Шаблон отображения APPROVES указывает ограничение ссылочного пути, в котором экземплярами вида ENTITY являются approval_items в экземплярах вида applied_approval_assignment с заданным для присвоения именем роли ARM_ROLE.
<a id="p103302"></a>*Пример* - Пример использования шаблона APPROVES для присвоения значения approval данным вида product_definition_shape в роли 'subject':
<a id="p103303"></a>    approval <-
<a id="p103304"></a>    /APPROVES(product_definition_shape,'subject')/
<a id="p103305"></a>Сигнатура:
<a id="p103306"></a>**/APPROVES(ENTITY, ARM_ROLE)/**
<a id="p103307"></a>Определения параметров:
<a id="p103308"></a>ENTITY: идентификатор вида данных экземпляра ПИМ, которому присваивается значение
<a id="p103309"></a>ARM_ROLE: значение атрибута имени для object_role
<a id="p103310"></a>Тело шаблона:
<a id="p103311"></a>    approval_assignment.assigned_approval
<a id="p103312"></a>    approval_assignment =>
<a id="p103313"></a>    {/ROLE_ASSGN(approval_assignment)/
<a id="p103314"></a>    [object_role.name = &ARM_ROLE]}
<a id="p103315"></a>    applied_approval_assignment
<a id="p103316"></a>    applied_approval_assignment.items[i] ->
<a id="p103317"></a>    approval_item
<a id="p103318"></a>    approval_item = &ENTITY

###### <a id="p103319"></a>5.1.1.2 Шаблон CLASS

<a id="p103320"></a>Шаблон отображения CLASS задает ограничение ссылочного пути, в котором экземплярами типа T являются classification_items в экземплярах applied_classification_assignment, где имя роли, указанное для присвоения, имеет значение 'class membership', а назначенная классификация имеет значение group, атрибуту имени которого присвоено значение ID. Экземпляр group также связан с родительским экземпляром group (через экземпляр group_relationship), атрибуту имени которого присвоено значение S_ID.
<a id="p103321"></a>*Пример* - Иллюстрация использования шаблона CLASS для присвоения группы с именем 'plate' данным вида product_definition:
<a id="p103322"></a>/CLASS(product_definition, 'plate', 'structural part')/
<a id="p103323"></a>Сигнатура:
<a id="p103324"></a>**/CLASS(T, ID, S_ID)/**
<a id="p103325"></a>Определения параметров:
<a id="p103326"></a>T: тип классифицируемого экземпляра
<a id="p103327"></a>ID: имя группы, тип классифицируемого экземпляра
<a id="p103328"></a>S_ID: имя группы прямого предка
<a id="p103329"></a>Тело шаблона:
<a id="p103330"></a>    &T
<a id="p103331"></a>    classification_item = &T
<a id="p103332"></a>    classification_item <-
<a id="p103333"></a>    applied_classification_assignment.items[i]
<a id="p103334"></a>    applied_classification_assignment <=
<a id="p103335"></a>    classification_assignment
<a id="p103336"></a>       {classification_assignment.role ->
<a id="p103337"></a>    classification_role
<a id="p103338"></a>       classification_role.name = 'class membership'}
<a id="p103339"></a>    classification_assignment
<a id="p103340"></a>    classification_assignment.assigned_classification ->
<a id="p103341"></a>    group
<a id="p103342"></a>    {[group.name = &ID]
<a id="p103343"></a>       [group <-
<a id="p103344"></a>          group_relationship.related_group
<a id="p103345"></a>          group_relationship
<a id="p103346"></a>          {group_relationship.name = 'specialisation'}
<a id="p103347"></a>          group_relationship
<a id="p103348"></a>          group_relationship.relating_group ->
<a id="p103349"></a>          group
<a id="p103350"></a>          {group.name = &S_ID} ]}
<a id="p103351"></a>    group =>
<a id="p103352"></a>    class

###### <a id="p103353"></a>5.1.1.3 Шаблон CLASS_HELP

<a id="p103354"></a>Шаблон отображения CLASS_HELP задает ограничение ссылочного пути, в котором экземплярами типа T являются classification_items в экземплярах applied_classification_assignment, где имя роли, указанное для присвоения, имеет значение 'class membership', а назначенной классификацией является супертип экземпляра group.
<a id="p103355"></a>Сигнатура:
<a id="p103356"></a>**CLASS_HELP(T)**
<a id="p103357"></a>Определения параметров:
<a id="p103358"></a>T: тип классифицируемого экземпляра
<a id="p103359"></a>Тело шаблона:
<a id="p103360"></a>    {&T
<a id="p103361"></a>    classification_item = &T
<a id="p103362"></a>    classification_item <-
<a id="p103363"></a>    applied_classification_assignment.items[i]
<a id="p103364"></a>    applied_classification_assignment <=
<a id="p103365"></a>    classification_assignment
<a id="p103366"></a>    {classification_assignment.role ->
<a id="p103367"></a>    classification_role
<a id="p103368"></a>    classification_role.name = 'class membership'}
<a id="p103369"></a>    classification_assignment.assigned_classification ->
<a id="p103370"></a>    group =>

###### <a id="p103371"></a>5.1.1.4 Шаблон CLASS_ID

<a id="p103372"></a>Шаблон отображения CLASS_ID задает ограничение ссылочного пути, в котором экземплярами типа T являются classification_items в экземплярах applied_classification_assignment, где имя роли, указанное для присвоения, имеет значение 'class membership', а назначенная классификация имеет значение group, атрибуту имени которого присвоено значение ID.
<a id="p103373"></a>*Примечание* - Семантика шаблона заключается в выборе экземпляра с именем группы ID.

<a id="p103374"></a>*Пример* - Иллюстрация использования шаблона CLASS_ID, подтверждающего, что у экземпляра изделия есть имя класса 'ship':
<a id="p103375"></a>action_item = product product
<a id="p103376"></a>{/CLASS_ID(product, 'ship')/}
<a id="p103377"></a>Сигнатура:
<a id="p103378"></a>**/CLASS_ID(T, ID)/**
<a id="p103379"></a>Определения параметров:
<a id="p103380"></a>T: тип классифицируемого экземпляра
<a id="p103381"></a>ID: имя группы
<a id="p103382"></a>Тело шаблона:
<a id="p103383"></a>    &T
<a id="p103384"></a>    classification_item = &T
<a id="p103385"></a>    classification_item <-
<a id="p103386"></a>    applied_classification_assignment.items[i]
<a id="p103387"></a>    applied_classification_assignment <=
<a id="p103388"></a>    classification_assignment
<a id="p103389"></a>    {classification_assignment.role ->
<a id="p103390"></a>    classification_role
<a id="p103391"></a>    classification_role.name = 'class membership'}
<a id="p103392"></a>    classification_assignment.assigned_classification ->
<a id="p103393"></a>    group =>
<a id="p103394"></a>    {group.name = &ID}
<a id="p103395"></a>    class

###### <a id="p103396"></a>5.1.1.5 Шаблон COMPOUND

<a id="p103397"></a>Шаблон отображения COMPOUND указывает ограничение ссылочного пути, в котором путь от compound_representation_item до representation_item присваивает значение атрибуту representation_item.name.
<a id="p103398"></a>Сигнатура:
<a id="p103399"></a>**/COMPOUND(NAME)/**
<a id="p103400"></a>Определения параметров:
<a id="p103401"></a>NAME: значение атрибута имени для representation_item
<a id="p103402"></a>Тело шаблона:
<a id="p103403"></a>    compound_representation_item
<a id="p103404"></a>    compound_representation_item.item_element ->
<a id="p103405"></a>    compound_item_definition = list_representation_item
<a id="p103406"></a>    list_representation_item[i] ->
<a id="p103407"></a>    representation_item =>
<a id="p103408"></a>    {representation_item.name = &NAME}

###### <a id="p103409"></a>5.1.1.6 Шаблон DATE_TIME_ASSGN

<a id="p103410"></a>Шаблон отображения DATE_TIME_ASSGN задает ограничение ссылочного пути, в котором экземпляру типа T присвоено значение date_and_time, и у этого присваивания имеется роль ROLE.
<a id="p103411"></a>Сигнатура:
<a id="p103412"></a>**/DATE_TIME_ASSGN(T, ROLE)/**
<a id="p103413"></a>Определения параметров:
<a id="p103414"></a>T: тип экземпляра, у которого есть присваивание date_and_time
<a id="p103415"></a>ROLE: значение атрибута имени для date_time_role
<a id="p103416"></a>Тело шаблона:
<a id="p103417"></a>    &T
<a id="p103418"></a>    {date_and_time_item = &T} date_and_time_item <-
<a id="p103419"></a>    applied_date_and_time_assignment.items[i]
<a id="p103420"></a>    applied_date_and_time_assignment <=
<a id="p103421"></a>    date_and_time_assignment
<a id="p103422"></a>    {date_and_time_assignment.role ->
<a id="p103423"></a>    date_time_role
<a id="p103424"></a>    [date_time_role.name = &ROLE]}
<a id="p103425"></a>    date_and_time_assignment.assigned_date_and_time ->
<a id="p103426"></a>    date_and_time

###### <a id="p103427"></a>5.1.1.7 Шаблон DESCRIPTION_ASSGN

<a id="p103428"></a>Шаблон отображения The DESCRIPTION_ASSGN задает ограничение ссылочного пути, в котором description_attribute присваивается экземпляру ENTITY, содержащему полученный атрибут описания. Создание атрибута описания основывается на объекте Basic_attribute_schema согласно ИСО 10303-41.
<a id="p103429"></a>*Примечание* - Шаблон DESCRIPTION_ASSGN используется следующими видами данных объекта для совокупности их атрибута описания:
- <a id="p103430"></a>action_request_solution;
- <a id="p103431"></a>application_context;
- <a id="p103432"></a>approval_role;
- <a id="p103433"></a>configuration_design;
- <a id="p103434"></a>date_role;
- <a id="p103435"></a>date_time_role;
- <a id="p103436"></a>context_dependent_shape_representation;
- <a id="p103437"></a>effectivity;
- <a id="p103438"></a>external_source;
- <a id="p103439"></a>organization_role;
- <a id="p103440"></a>person_and_organization_role;
- <a id="p103441"></a>person_and_organization;
- <a id="p103442"></a>person_role;
- <a id="p103443"></a>property_definition_representation;
- <a id="p103444"></a>representation;
- <a id="p103445"></a>time_role.

<a id="p103446"></a>Сигнатура:
<a id="p103447"></a>**/DESCRIPTION_ASSGN(ENTITY)/**
<a id="p103448"></a>Определения параметров:
<a id="p103449"></a>ENTITY: тип объекта, которому присваивается description_attribute
<a id="p103450"></a>Тело шаблона:
<a id="p103451"></a>    &ENTITY
<a id="p103452"></a>    description_attribute_select = &ENTITY
<a id="p103453"></a>    description_attribute_select <-
<a id="p103454"></a>    description_attribute.described_item
<a id="p103455"></a>    description_attribute
<a id="p103456"></a>    description_attribute.attribute_value

###### <a id="p103457"></a>5.1.1.8 Шаблон DESCRIPTION_ASSGN_WITH_VAL

<a id="p103458"></a>Шаблон отображения DESCRIPTION_ASSGN_WITH_VAL задает ограничение ссылочного пути, в котором экземпляру ENTITY присваивается атрибут description_attribute, содержащий созданный атрибут описания, а значение этого атрибута описания присвоено шаблоном DESC_VALUE.
<a id="p103459"></a>*Примечание* - Шаблон DESCRIPTION_ASSGN_WITH_VAL используется следующими видами данных сущности для совокупности их атрибута описания:
- <a id="p103460"></a>action_request_solution;
- <a id="p103461"></a>application_context;
- <a id="p103462"></a>approval_role;
- <a id="p103463"></a>configuration_design;
- <a id="p103464"></a>date_role;
- <a id="p103465"></a>date_time_role;
- <a id="p103466"></a>context_dependent_shape_representation;
- <a id="p103467"></a>effectivity;
- <a id="p103468"></a>external_source;
- <a id="p103469"></a>organization_role;
- <a id="p103470"></a>person_and_organization_role;
- <a id="p103471"></a>person_and_organization;
- <a id="p103472"></a>person_role;
- <a id="p103473"></a>property_definition_representation;
- <a id="p103474"></a>representation;
- <a id="p103475"></a>time_role.

<a id="p103476"></a>Сигнатура:
<a id="p103477"></a>**/DESCRIPTION_ASSGN_WITH_VAL(ENTITY, DESC_VALUE)/**
<a id="p103478"></a>Определения параметров:
<a id="p103479"></a>ENTITY: тип объекта, которому присваивается description_attribute
<a id="p103480"></a>DESC_VALUE: значение, присваиваемое объекту description_attribute.attribute_value
<a id="p103481"></a>Тело шаблона:
<a id="p103482"></a>    &ENTITY
<a id="p103483"></a>    description_attribute_select = &ENTITY
<a id="p103484"></a>    description_attribute_select <-
<a id="p103485"></a>    description_attribute.described_item
<a id="p103486"></a>    description_attribute
<a id="p103487"></a>    description_attribute.attribute_value
<a id="p103488"></a>    {description_attribute.attribute_value = &DESC_VALUE}

###### <a id="p103489"></a>5.1.1.9 Шаблон DOC_REF

<a id="p103490"></a>Шаблон отображения DOC_REF задает ограничение ссылочного пути, в котором экземпляр типа T ссылается на document или document_usage_constraint, который играет роль ID.
<a id="p103491"></a>Сигнатура:
<a id="p103492"></a>**/DOC_REF(T, ID)/**
<a id="p103493"></a>Определения параметров:
<a id="p103494"></a>T: тип объекта, который указывает document
<a id="p103495"></a>ID: значение атрибута name для object_role
<a id="p103496"></a>Тело шаблона:
<a id="p103497"></a>    &T
<a id="p103498"></a>    document_reference_item = &T
<a id="p103499"></a>    document_reference_item <-
<a id="p103500"></a>    applied_document_reference. items [i]
<a id="p103501"></a>    applied_document_reference <=
<a id="p103502"></a>    document_reference
<a id="p103503"></a>    {/ROLE_ASSGN(document_reference)/
<a id="p103504"></a>    [object_role.name = &ID]}
<a id="p103505"></a>    document_reference
<a id="p103506"></a>    document_reference. assigned_document ->
<a id="p103507"></a>    (document)
<a id="p103508"></a>    (document <-
<a id="p103509"></a>    document_usage_constraint.source
<a id="p103510"></a>    document_usage_constraint)

###### <a id="p103511"></a>5.1.1.10 Шаблон EXT_INST_REF

<a id="p103512"></a>Шаблон отображения EXT_INST_REF задает ограничение ссылочного пути, в котором объекту типа LT присваивается объект external_identification_assignment в роли 'external instance reference'. Объект external_identification_assignment ссылается на объект external_source, атрибуту source_id которого присваивается значение SN. Этот объект external_source будет отнесен к другому объекту external_source, атрибуту source_id которого присваивается значение ET.
<a id="p103513"></a>Сигнатура:
<a id="p103514"></a>**/EXT_INST_REF(LT, SN, ET)/**
<a id="p103515"></a>Определения параметров:
<a id="p103516"></a>LT: тип, экземпляр которого представляет внешний экземпляр в локальной модели экземпляра
<a id="p103517"></a>SN: имя внешней схемы
<a id="p103518"></a>ET: тип внешнего объекта
<a id="p103519"></a>Тело шаблона:
<a id="p103520"></a>    [&LT.description = 'external instance reference target']
<a id="p103521"></a>    [&LT = external_identification_item
<a id="p103522"></a>    external_identification_item <-
<a id="p103523"></a>    applied_external_identification_assignment.items[i]
<a id="p103524"></a>    applied_external_identification_assignment <=
<a id="p103525"></a>    external_identification_assignment <=
<a id="p103526"></a>    ID_ROLE('external instance reference')
<a id="p103527"></a>    external_identification_assignment.source ->
<a id="p103528"></a>    external_source
<a id="p103529"></a>    [external_source. source_id->
<a id="p103530"></a>    source_item = identifier
<a id="p103531"></a>    {identifier = &SN}]
<a id="p103532"></a>    [{DESCRIPTION_ASSGN_WITH_VAL(external_source, 'schema name')}]
<a id="p103533"></a>    [EXT_SRC_REL('entity type')
<a id="p103534"></a>    {identifier = &ET}]]

###### <a id="p103535"></a>5.1.1.11 Шаблон EXT_SRC_REL

<a id="p103536"></a>Шаблон отображения EXT_SRC_REL задает ограничение ссылочного пути, в котором объект external_source связан с другим объектом external_source, при этом у последнего объекта будет иметься определение DESCR. Эта концепция может использоваться в основном в двух местах:
- <a id="p103537"></a>для отнесения различных компонентов объекта external_source к одному объекту на следующем более высоком уровне;
- <a id="p103538"></a>для отображения External_instance_reference.
<a id="p103539"></a>Сигнатура:
<a id="p103540"></a>**/EXT_SRC_REL(DESCR)/**
<a id="p103541"></a>Определения параметров:
<a id="p103542"></a>DESCR: значение атрибута description для external_source
<a id="p103543"></a>Тело шаблона:
<a id="p103544"></a>    external_source <-
<a id="p103545"></a>    external_source_relationship. relating_source
<a id="p103546"></a>    external_source_relationship
<a id="p103547"></a>    {external_source_relationship.name = 'composition'}
<a id="p103548"></a>    external_source_relationship. related_source external_source
<a id="p103549"></a>    {DESCRIPTION_ASSGN_WITH_VAL(external_source, &DESCR)}
<a id="p103550"></a>    external_source
<a id="p103551"></a>    external_source.source_id ->
<a id="p103552"></a>    source_item
<a id="p103553"></a>    source_item = identifier

###### <a id="p103554"></a>5.1.1.12 Шаблон GROUPS

<a id="p103555"></a>Шаблон GROUPS задает ограничение ссылочного пути, в котором экземплярами типа ENTITY являются group_items в applied_group_assignment, при этом роль присваивания имеет значение ARM_ROLE.
<a id="p103556"></a>*Пример* - Иллюстрация использования шаблона GROUPS для добавления product_definition к группе с ролью 'item structure':
<a id="p103557"></a>group <-
<a id="p103558"></a>/GROUPS(product_definition, 'item structure')/
<a id="p103559"></a>Сигнатура:
<a id="p103560"></a>**/GROUPS(ENTITY, ARM_ROLE)/**
<a id="p103561"></a>Определения параметров:
<a id="p103562"></a>ENTITY: группируемые объекты, играющие роль ARM_ROLE
<a id="p103563"></a>ARM_ROLE: значение атрибута name для object_role
<a id="p103564"></a>Тело шаблона:
<a id="p103565"></a>    group_assignment.assigned_group
<a id="p103566"></a>    group_assignment =>
<a id="p103567"></a>    {/ROLE_ASSGN(group_assignment)/
<a id="p103568"></a>    [object_role.name = &ARM_ROLE]}
<a id="p103569"></a>    applied_group_assignment
<a id="p103570"></a>    applied_group_assignment.items[i] ->
<a id="p103571"></a>    group_item
<a id="p103572"></a>    group_item = &ENTITY

###### <a id="p103573"></a>5.1.1.13 Шаблон HAS_ID_1_ROLE

<a id="p103574"></a>Шаблон отображения HAS_ID_1_ROLE задает ограничение ссылочного пути, в котором экземпляру объекта типа T присваивается идентификатор, играющий одну роль ROLE.
<a id="p103575"></a>Сигнатура:
<a id="p103576"></a>**/HAS_ID_1_ROLE(T, ROLE)/**
<a id="p103577"></a>Определения параметров:
<a id="p103578"></a>T: тип объекта, которому присваивается identification_assignment
<a id="p103579"></a>ROLE: значение атрибута name для identification_role
<a id="p103580"></a>Тело шаблона:
<a id="p103581"></a>    IDENTIFICATION(&T)
<a id="p103582"></a>    [identification_role.name = &ROLE]}
<a id="p103583"></a>    identification_assignment
<a id="p103584"></a>    identification_assignment.assigned_id

###### <a id="p103585"></a>5.1.1.14 Шаблон HAS_ID_2_ROLES

<a id="p103586"></a>Шаблон отображения HAS_ID_2_ROLE задает ограничение ссылочного пути, в котором экземпляру типа T присваивается идентификатор, и он играет одну из двух заданных ролей.
<a id="p103587"></a>Сигнатура:
<a id="p103588"></a>**/HAS_ID_2_ROLES(T, ROLE1, ROLE2)/**
<a id="p103589"></a>Определения параметров:
<a id="p103590"></a>T: тип объекта, которому присваивается identification_assignment
<a id="p103591"></a>ROLE1: значение атрибута name для identification_role
<a id="p103592"></a>ROLE2: значение атрибута name для identification_role
<a id="p103593"></a>Тело шаблона:
<a id="p103594"></a>    IDENTIFICATION(&T)
<a id="p103595"></a>    [(identification_role.name = &ROLE1)
<a id="p103596"></a>    (identification_role.name = &ROLE2)]}
<a id="p103597"></a>    identification_assignment
<a id="p103598"></a>    identification_assignment.assigned_id

###### <a id="p103599"></a>5.1.1.15 Шаблон ID_ASSGN

<a id="p103600"></a>Шаблон отображения ID_ASSGN задает ограничение ссылочного пути, в котором id_attribute присваивается экземпляру ENTITY, содержащему полученный атрибут id. Создание атрибута id основывается на объекте Basic_attribute_schema согласно ИСО 10303-41.
<a id="p103601"></a>*Примечание* - Шаблон ID_ASSGN используется следующими видами данных объекта для совокупности их атрибута id:
- <a id="p103602"></a>action;
- <a id="p103603"></a>address;
- <a id="p103604"></a>product_category;
- <a id="p103605"></a>property_definition;
- <a id="p103606"></a>shape_aspect;
- <a id="p103607"></a>shape_aspect_relationship;
- <a id="p103608"></a>application_context;
- <a id="p103609"></a>group;
- <a id="p103610"></a>organizational_project;
- <a id="p103611"></a>representation.

<a id="p103612"></a>Сигнатура:
<a id="p103613"></a>**/ID_ASSGN(ENTITY)/**
<a id="p103614"></a>Определения параметров:
<a id="p103615"></a>ENTITY: тип объекта, которому присваивается атрибут id_attribute
<a id="p103616"></a>Тело шаблона:
<a id="p103617"></a>    &ENTITY
<a id="p103618"></a>    id_attribute_select = &ENTITY
<a id="p103619"></a>    id_attribute_select <-
<a id="p103620"></a>    id_attribute.identified_item
<a id="p103621"></a>    id_attributeid_attribute.attribute_value

###### <a id="p103622"></a>5.1.1.16 Шаблон ID_ROLE

<a id="p103623"></a>Шаблон отображения ID_ROLE задает ограничение ссылочного пути, в котором у присваивания identification_assignment имеется роль ROLE.
<a id="p103624"></a>Сигнатура:
<a id="p103625"></a>**/ID_ROLE(ROLE)/**
<a id="p103626"></a>Определения параметров:
<a id="p103627"></a>ROLE: значение атрибута name для identification_role
<a id="p103628"></a>Тело шаблона:
<a id="p103629"></a>    identification_assignment
<a id="p103630"></a>    {identification_assignment.role ->
<a id="p103631"></a>    identification_role
<a id="p103632"></a>    [identification_role.name = &ROLE]}

###### <a id="p103633"></a>5.1.1.17 Шаблон IDENTIFICATION

<a id="p103634"></a>Шаблон отображения IDENTIFICATION задает ограничение ссылочного пути, в котором объекту типа T присваивается identification_assignment. Этот шаблон отображения используется главным образом в других макросах.
<a id="p103635"></a>Сигнатура:
<a id="p103636"></a>**/IDENTIFICATION(T)/**
<a id="p103637"></a>T: тип объекта, которому присваивается identification_assignment
<a id="p103638"></a>Тело шаблона:
<a id="p103639"></a>    &T
<a id="p103640"></a>    identification_item = &T
<a id="p103641"></a>    identification_item <-
<a id="p103642"></a>    applied_identification_assignment.items[i]
<a id="p103643"></a>    applied_identification_assignment <=
<a id="p103644"></a>    identification_assignment
<a id="p103645"></a>    {identification_assignment.role -> identification_role

###### <a id="p103646"></a>5.1.1.18 Шаблон LINK_TO_GROUP

<a id="p103647"></a>Шаблон отображения LINK_TO_GROUP задает ограничение ссылочного пути, в котором экземпляр типа T привязан к объекту group через applied_group_assignment.
<a id="p103648"></a>Примечание - Используется для всех типов прикладных объектов, представляющих собой подтипы объекта Item (см. [4.2.52](#p101348)) и объекта Item_structure (см. [4.2.54](#p101378)).

<a id="p103649"></a>Сигнатура:
<a id="p103650"></a>**/LINK_TO_GROUP(T)/**
<a id="p103651"></a>Определения параметров:
<a id="p103652"></a>T: группируемый объект
<a id="p103653"></a>Тело шаблона:
<a id="p103654"></a>    group_item = &T <-
<a id="p103655"></a>    applied_group_assignment.items[i]
<a id="p103656"></a>    applied_group_assignment <=
<a id="p103657"></a>    group_assignment
<a id="p103658"></a>    {ROLE_ASSGN(group_assignment)
<a id="p103659"></a>    object_role.name = 'equivalence')
<a id="p103660"></a>    group_assignment
<a id="p103661"></a>    group_assignment.assigned_group ->
<a id="p103662"></a>    group
<a id="p103663"></a>    group.name = 'item and item_structure'

###### <a id="p103664"></a>5.1.1.19 Шаблон NAME_ASSGN

<a id="p103665"></a>Шаблон отображения NAME_ASSGN задает ограничение ссылочного пути, в котором name_attribute присваивается экземпляру ENTITY, содержащему полученный атрибут name. Создание атрибута name основывается на объекте Basic_attribute_schema согласно ИСО 10303-41.
<a id="p103666"></a>*Примечание* - Шаблон NAME_ASSGN используется следующими видами данных объекта для совокупности их атрибута name:
- <a id="p103667"></a>action_request_solution;
- <a id="p103668"></a>address;
- <a id="p103669"></a>configuration_design;
- <a id="p103670"></a>context_dependent_shape_representation;
- <a id="p103671"></a>derived_unit;
- <a id="p103672"></a>effectivity;
- <a id="p103673"></a>person_and_organization;
- <a id="p103674"></a>product_definition;
- <a id="p103675"></a>product_definition_substitute;
- <a id="p103676"></a>property_definition_representation.

<a id="p103677"></a>Сигнатура:
<a id="p103678"></a>**/NAME_ASSGN(ENTITY)/**
<a id="p103679"></a>Определения параметров:
<a id="p103680"></a>ENTITY: тип объекта, которому присваивается атрибут name_attribute
<a id="p103681"></a>Тело шаблона:
<a id="p103682"></a>    &ENTITY
<a id="p103683"></a>    name_attribute_select = &ENTITY
<a id="p103684"></a>    name_attribute_select <-
<a id="p103685"></a>    name_attribute.named_item
<a id="p103686"></a>    name_attribute
<a id="p103687"></a>    name_attribute.attribute_value

###### <a id="p103688"></a>5.1.1.20 Шаблон NAME_ASSGN_WITH_VAL

<a id="p103689"></a>Шаблон отображения NAME_ASSGN_WITH_VAL задает ограничение ссылочного пути, в котором экземпляру ENTITY присваивается атрибут name_attribute, содержащий созданный атрибут name, а значение этого атрибута name присвоено шаблоном NAME_VALUE.
<a id="p103690"></a>*Примечание* - Шаблон NAME_ASSGN используется следующими видами данных объекта для совокупности их атрибута name:
- <a id="p103691"></a>action_request_solution;
- <a id="p103692"></a>address;
- <a id="p103693"></a>configuration_design;
- <a id="p103694"></a>context_dependent_shape_representation;
- <a id="p103695"></a>derived_unit;
- <a id="p103696"></a>effectivity;
- <a id="p103697"></a>person_and_organization;
- <a id="p103698"></a>product_definition;
- <a id="p103699"></a>product_definition_substitute;
- <a id="p103700"></a>property_definition_representation.

<a id="p103701"></a>Сигнатура:
<a id="p103702"></a>**/NAME_ASSGN_WITH_VAL(ENTITY,NAME_VALUE)/**
<a id="p103703"></a>Определения параметров:
<a id="p103704"></a>ENTITY: тип объекта, которому присваивается атрибут name_attribute
<a id="p103705"></a>NAME_VALUE: значение, присваиваемое для name_attribute.attribute_value
<a id="p103706"></a>Тело шаблона:
<a id="p103707"></a>    &ENTITY
<a id="p103708"></a>    name_attribute_select = &ENTITY
<a id="p103709"></a>    name_attribute_select <-
<a id="p103710"></a>    name_attribute.named_item
<a id="p103711"></a>    name_attribute
<a id="p103712"></a>    {name_attribute.attribute_value = '&NAME_VALUE'}

###### <a id="p103713"></a>5.1.1.21 Шаблон ORG_ASSGN_PART

<a id="p103714"></a>Шаблон отображения ORG_ASSGN_PART задает ограничение ссылочного пути, в котором экземпляру типа T присваивается identification_assignment.
<a id="p103715"></a>Сигнатура:
<a id="p103716"></a>**/ORG_ASSGN_PART(T)/**
<a id="p103717"></a>Определения параметров:
<a id="p103718"></a>T: тип объекта, которому присваивается organization_assignment
<a id="p103719"></a>Тело шаблона:
<a id="p103720"></a>    &T
<a id="p103721"></a>    organization_item = &T
<a id="p103722"></a>    organization_item <-
<a id="p103723"></a>    applied_organization_assignment.items [i]
<a id="p103724"></a>    applied_organization_assignment <=
<a id="p103725"></a>    organization_assignment

###### <a id="p103726"></a>5.1.1.22 Шаблон ORG_ASSGN

<a id="p103727"></a>Шаблон отображения ORG_ASSGN задает ограничение ссылочного пути, в котором экземпляру типа T присваивается объект organization, где роль этого присваивания имеет значение ROLE.
<a id="p103728"></a>Сигнатура:
<a id="p103729"></a>**/ORG_ASSGN(T, ROLE)/**
<a id="p103730"></a>Определения параметров:
<a id="p103731"></a>T: объект, присваиваемый для organization
<a id="p103732"></a>ROLE: значение атрибута name для organization_role
<a id="p103733"></a>Тело шаблона:
<a id="p103734"></a>    &T
<a id="p103735"></a>    organization_item = &T
<a id="p103736"></a>    organization_item <-
<a id="p103737"></a>    applied_organization_assignment.items[i]
<a id="p103738"></a>    applied_organization_assignment <=
<a id="p103739"></a>    organization_assignment
<a id="p103740"></a>    {organization_assignment.role ->
<a id="p103741"></a>    organization_role
<a id="p103742"></a>    [organization_role.name = &ROLE]}
<a id="p103743"></a>    organization_assignment
<a id="p103744"></a>    organization_assignment.assigned_organization ->
<a id="p103745"></a>    organization

###### <a id="p103746"></a>5.1.1.23 Шаблон PDR_NAME

<a id="p103747"></a>Шаблон отображения PDR_NAME задает ограничение ссылочного пути, в котором для property_definition_representation.name присваивается значение NAME.
<a id="p103748"></a>Сигнатура:
<a id="p103749"></a>**/PDR_NAME(NAME)/**
<a id="p103750"></a>Определения параметров:
<a id="p103751"></a>NAME: значение атрибута name для property_definition_representation
<a id="p103752"></a>Тело шаблона:
<a id="p103753"></a>    property_definition_representation.definition
<a id="p103754"></a>    property_definition_representation
<a id="p103755"></a>    {[NAME_ASSGN_WITH_VAL(property_definition_representation, '&NAME')]}
<a id="p103756"></a>    property_definition_representation.used_representation

###### <a id="p103757"></a>5.1.1.24 Шаблон PERS_ASSGN

<a id="p103758"></a>Шаблон отображения PERS_ASSGN задает ограничение ссылочного пути, в котором объекту типа T присваивается лицо с ролью ROLE.
<a id="p103759"></a>Сигнатура:
<a id="p103760"></a>**/PERS_ASSGN(T, ROLE)/**
<a id="p103761"></a>Определения параметров:
<a id="p103762"></a>T: объект, которому присваивается person
<a id="p103763"></a>ROLE: значение атрибута name для organization_role
<a id="p103764"></a>Тело шаблона:
<a id="p103765"></a>    &T
<a id="p103766"></a>    person_item = &T
<a id="p103767"></a>    person_item <-
<a id="p103768"></a>    applied_person_assignment.items[i]
<a id="p103769"></a>    applied_person_assignment <=
<a id="p103770"></a>    person_assignment
<a id="p103771"></a>    {person_assignment.role ->
<a id="p103772"></a>    person_role
<a id="p103773"></a>    person_role.name = &ROLE}
<a id="p103774"></a>    person_assignment
<a id="p103775"></a>    person_assignment.assigned_person ->
<a id="p103776"></a>    person

###### <a id="p103777"></a>5.1.1.25 Шаблон PERS_ORG_ASSGN

<a id="p103778"></a>Шаблон отображения PERS_ORG_ASSGN задает ограничение ссылочного пути, в котором объекту типа T присваивается лицо и организация с ролью ROLE.
<a id="p103779"></a>Сигнатура:
<a id="p103780"></a>**/PERS_ORG_ASSGN(T, ROLE)/**
<a id="p103781"></a>Определения параметров:
<a id="p103782"></a>T: объект, которому присваивается person_and_organization
<a id="p103783"></a>ROLE: значение атрибута name для person_and_organization_role
<a id="p103784"></a>Тело шаблона:
<a id="p103785"></a>    &T
<a id="p103786"></a>    person_and_organization_item = &T
<a id="p103787"></a>    person_and_organisation_item <-
<a id="p103788"></a>    applied_person_and_organization_assignment.items[i]
<a id="p103789"></a>    applied_person_and_organization_assignment <=
<a id="p103790"></a>    person_and_organization_assignment
<a id="p103791"></a>    {person_and_organization_assignment.role ->
<a id="p103792"></a>    person_and_organization_role
<a id="p103793"></a>    person_and_organization_role.name = &ROLE}
<a id="p103794"></a>    person_and_organization_assignment
<a id="p103795"></a>    person_and_organization_assignment.assigned_person_and_organization
<a id="p103796"></a>    person_and_organization

###### <a id="p103797"></a>5.1.1.26 Шаблон PROD_CAT_NAME

<a id="p103798"></a>Шаблон отображения PROD_CAT_NAME задает ограничение ссылочного пути, в котором для property_category.name присваивается значение NAME.
<a id="p103799"></a>Сигнатура:
<a id="p103800"></a>**/PROD_CAT_NAME(NAME)/**
<a id="p103801"></a>Определения параметров:
<a id="p103802"></a>NAME: значение, задаваемое для атрибута name для product_category
<a id="p103803"></a>Тело шаблона:
<a id="p103804"></a>    product_related_product_category <=
<a id="p103805"></a>    product_category
<a id="p103806"></a>    {product_category.name = &NAME}

###### <a id="p103807"></a>5.1.1.27 Шаблон PROD_DEF_PRODUCT

<a id="p103808"></a>Шаблон отображения PROD_DEF_PRODUCT задает ограничение ссылочного пути, в котором product_definition связан с product.
<a id="p103809"></a>Сигнатура:
<a id="p103810"></a>**/PROD_DEF_PRODUCT/**
<a id="p103811"></a>Определения параметров:
<a id="p103812"></a>нет
<a id="p103813"></a>Тело шаблона:
<a id="p103814"></a>    product_definition
<a id="p103815"></a>    product_definition.formation ->
<a id="p103816"></a>    product_definition_formation
<a id="p103817"></a>    product_definition_formation.of_product ->
<a id="p103818"></a>    product

###### <a id="p103819"></a>5.1.1.28 Шаблон PROD_DEF_PROP_DEF

<a id="p103820"></a>Шаблон отображения PROD_DEF_PROP_DEF задает ограничение ссылочного пути, в котором product_definition связан с property_definition.
<a id="p103821"></a>Сигнатура:
<a id="p103822"></a>**/PROD_DEF_PROP_DEF/**
<a id="p103823"></a>Определения параметров:
<a id="p103824"></a>нет
<a id="p103825"></a>Тело шаблона:
<a id="p103826"></a>    PROD_DEF_PROP_DEF_HELP
<a id="p103827"></a>    property_definition

###### <a id="p103828"></a>5.1.1.29 Шаблон PROD_DEF_PROP_DEF_HELP

<a id="p103829"></a>Шаблон отображения PROD_DEF_PROP_DEF_HELP задает ограничение ссылочного пути, в котором product_definition связан с property_definition.definition. Шаблон PROD_DEF_PROP_DEF_HELP предназначен для использования другими шаблонами отображения.
<a id="p103830"></a>Сигнатура:
<a id="p103831"></a>**/PROD_DEF_PROP_DEF_HELP/**
<a id="p103832"></a>Определения параметров:
<a id="p103833"></a>нет
<a id="p103834"></a>Тело шаблона:
<a id="p103835"></a>    product_definition
<a id="p103836"></a>    characterized_product_definition = product_definition
<a id="p103837"></a>    characterized_product_definition
<a id="p103838"></a>    characterized_definition = characterized_product_definition
<a id="p103839"></a>    characterized_definition <-
<a id="p103840"></a>    property_definition.definition

###### <a id="p103841"></a>5.1.1.30 Шаблон PROD_DEF_TO_DESC_REP_ITEM

<a id="p103842"></a>Шаблон отображения PROD_DEF_TO_DESC_REP_ITEM задает ограничение ссылочного пути, в котором product_definition связан с descriptive_representation_item. Для descriptive_representation_item.name будет присвоено значение ID2. Связь реализуется через property_definition_representation, у которого имеется атрибут name, которому присвоено значение ID1. Шаблон PROD_DEF_TO_DESC_REP_ITEM предназначен для использования другими шаблонами отображения.
<a id="p103843"></a>Сигнатура:
<a id="p103844"></a>**/PROD_DEF_TO_DESC_REP_ITEM(ID1, ID2)/**
<a id="p103845"></a>Определения параметров:
<a id="p103846"></a>ID1: значение атрибута name для property_definition_representation
<a id="p103847"></a>ID2: значение атрибута name для descriptive_representation_item
<a id="p103848"></a>Тело шаблона:
<a id="p103849"></a>    PROD_DEF_PROP_DEF_HELP
<a id="p103850"></a>    PROP_DEF_TO_DESC_REP_ITEM(&ID1, &ID2)

###### <a id="p103851"></a>5.1.1.31 Шаблон PROD_DEF_TO_REP

<a id="p103852"></a>Шаблон отображения PROD_DEF_TO_REP задает ограничение ссылочного пути, в котором product_definition связан с property_definition_representation с атрибутом name со значением ID. Шаблон PROD_DEF_TO_REP предназначен для использования другими шаблонами отображения.
<a id="p103853"></a>Сигнатура:
<a id="p103854"></a>**/PROD_DEF_TO_REP(ID)/**
<a id="p103855"></a>Определения параметров:
<a id="p103856"></a>ID: значение атрибута name для property_definition_representation
<a id="p103857"></a>Тело шаблона:
<a id="p103858"></a>    PROD_DEF_PROP_DEF_HELP
<a id="p103859"></a>    PROP_DEF_REP_HELP(&ID)

###### <a id="p103860"></a>5.1.1.32 Шаблон PROD_DEF_TO_SPECIAL_VAL_REP_ITEM

<a id="p103861"></a>Шаблон отображения PROD_DEF_TO_SPECIAL_VAL_REP_ITEM задает ограничение ссылочного пути, в котором product_definition связан с value_representation_item, который ссылается на measure_value, представляющий собой context_dependent_measure. Эта связь выполняется через property_definition_representation, атрибуту name которого будет присвоено значение ID1. Атрибуту name параметра value_representation_item будет присвоено значение ID2. Единицы для context_dependent_measure будут определены данными вида derived_unit с атрибутом name со значением DER_UNIT_NAME. Шаблон PROD_DEF_TO_SPECIAL_VAL_REP_ITEM предназначен для использования другими шаблонами отображения.
<a id="p103862"></a>Сигнатура:
<a id="p103863"></a>**/PROD_DEF_TO_SPECIAL_VAL_REP_ITEM(ID1, ID2, DER_UNIT_NAME)/**
<a id="p103864"></a>Определения параметров:
<a id="p103865"></a>ID1: значение атрибута name для property_definition_representation
<a id="p103866"></a>ID2: значение атрибута name для value_representation_item
<a id="p103867"></a>DER_UNIT_NAME: значение атрибута name для derived_unit
<a id="p103868"></a>Тело шаблона:
<a id="p103869"></a>    PROD_DEF_PROP_DEF_HELP
<a id="p103870"></a>    PROP_DEF_TO_SPECIAL_VAL_REP_ITEM(&ID1, &ID2, &DER_UNIT_NAME)

###### <a id="p103871"></a>5.1.1.33 Шаблон PROD_DEF_TO_UNITS

<a id="p103872"></a>Шаблон отображения PROD_DEF_TO_UNITS задает ограничение ссылочного пути, в котором product_definition связан с global_unit_assigned_context. Эта связь выполняется через property_definition_representation с атрибутом name со значением ID. Шаблон PROD_DEF_TO_UNITS предназначен для использования другими шаблонами отображения.
<a id="p103873"></a>Сигнатура:
<a id="p103874"></a>**/PROD_DEF_TO_UNITS(ID)/**
<a id="p103875"></a>Определения параметров:
<a id="p103876"></a>ID: значение атрибута name для property_definition_representation
<a id="p103877"></a>Тело шаблона:
<a id="p103878"></a>    PROD_DEF_PROP_DEF_HELP
<a id="p103879"></a>    PROP_DEF_TO_UNITS(&ID)

###### <a id="p103880"></a>5.1.1.34 Шаблон PROD_DEF_TO_VAL_REP_ITEM

<a id="p103881"></a>Шаблон отображения PROD_DEF_TO_VAL_REP_ITEM задает ограничение ссылочного пути, в котором product_definition связан с value_representation_item, который ссылается на measure_value, тип которого задан параметром MEAS. Эта связь осуществляется через property_definition_representation с атрибутом name со значением ID1. Атрибуту name параметра value_representation_item будет присвоено значение ID2. Шаблон PROD_DEF_TO_VAL_REP_ITEM предназначен для использования другими шаблонами отображения.
<a id="p103882"></a>Сигнатура:
<a id="p103883"></a>**/PROD_DEF_TO_VAL_REP_ITEM(ID1, ID2, MEAS)/**
<a id="p103884"></a>Определения параметров:
<a id="p103885"></a>ID1: значение атрибута name для property_definition_representation
<a id="p103886"></a>ID2: значение атрибута name для value_representation_item
<a id="p103887"></a>MEAS: заданный тип для measure_value
<a id="p103888"></a>Тело шаблона:
<a id="p103889"></a>    PROD_DEF_PROP_DEF_HELP
<a id="p103890"></a>    PROP_DEF_TO_VAL_REP_ITEM(&ID1, &ID2, &MEAS)

###### <a id="p103891"></a>5.1.1.35 Шаблон PROP_DEF_REP_HELP

<a id="p103892"></a>Шаблон отображения PROP_DEF_REP_HELP задает ограничение ссылочного пути, в котором product_definition связан с property_definition_representation. Атрибуту name для property_definition_representation дано значение ID. Шаблон PROP_DEF_REP_HELP предназначен для использования другими шаблонами отображения.
<a id="p103893"></a>Сигнатура:
<a id="p103894"></a>**/PROP_DEF_REP_HELP(ID)/**
<a id="p103895"></a>Определения параметров:
<a id="p103896"></a>ID: значение атрибута name для property_definition_representation
<a id="p103897"></a>Тело шаблона:
<a id="p103898"></a>    property_definition
<a id="p103899"></a>    represented_definition = property_definition
<a id="p103900"></a>    represented_definition <-
<a id="p103901"></a>    {[PDR_NAME('&ID')]}

###### <a id="p103902"></a>5.1.1.36 Шаблон PROP_DEF_TO_DESC_REP_ITEM

<a id="p103903"></a>Шаблон отображения PROP_DEF_TO_DESC_REP_ITEM задает ограничение ссылочного пути, в котором property_definition связан с descriptive_representation_item, у которого имеется атрибут name с конкретным значением ID2. Эта связь осуществляется через property_definition_representation с атрибутом name с конкретным значением ID1.
<a id="p103904"></a>Сигнатура:
<a id="p103905"></a>**/PROP_DEF_TO_DESC_REP_ITEM(ID1, ID2)/**
<a id="p103906"></a>Определения параметров:
<a id="p103907"></a>ID1: значение атрибута name для property_definition_representation
<a id="p103908"></a>ID2: значение атрибута name для descriptive_representation_item
<a id="p103909"></a>Тело шаблона:
<a id="p103910"></a>    PROP_DEF_REP_HELP(&ID1)
<a id="p103911"></a>    REP_ITEM(&ID2)
<a id="p103912"></a>    descriptive_representation_item
<a id="p103913"></a>    descriptive_representation_item.description

###### <a id="p103914"></a>5.1.1.37 Шаблон PROP_DEF_TO_REP

<a id="p103915"></a>Шаблон отображения PROP_DEF_TO_REP задает ограничение ссылочного пути, в котором product_definition связан с representation через property_definition_representation.
<a id="p103916"></a>Сигнатура:
<a id="p103917"></a>**/PROP_DEF_TO_REP/**
<a id="p103918"></a>Определения параметров: нет
<a id="p103919"></a>Тело шаблона:
<a id="p103920"></a>    property_definition
<a id="p103921"></a>    represented_definition = property_definition
<a id="p103922"></a>    represented_definition <-
<a id="p103923"></a>    property_definition_representation.definition
<a id="p103924"></a>    property_definition_representation
<a id="p103925"></a>    property_definition_representation.used_representation ->
<a id="p103926"></a>    representation

###### <a id="p103927"></a>5.1.1.38 Шаблон PROP_DEF_TO_SPECIAL_VAL_REP_ITEM

<a id="p103928"></a>Шаблон отображения PROP_DEF_TO_SPECIAL_VAL_REP_ITEM задает ограничение ссылочного пути, в котором property_definition связан с value_representation_item, который ссылается на measure_value, представляющий собой context_dependent_measure. Эта связь выполняется через property_definition_representation, атрибуту name которого будет присвоено значение ID1. Атрибуту name объекта value_representation_item будет присвоено значение ID2. Единицы для context_dependent_measure будут определены данными вида derived_unit с атрибутом name со значением DER_UNIT_NAME.
<a id="p103929"></a>Сигнатура:
<a id="p103930"></a>**/PROP_DEF_TO_SPECIAL_VAL_REP_ITEM(ID1, ID2, DER_UNIT_NAME)/**
<a id="p103931"></a>Определения параметров:
<a id="p103932"></a>ID1: значение атрибута name для property_definition_representation
<a id="p103933"></a>ID2: значение атрибута name для value_representation_item
<a id="p103934"></a>DER_UNIT_NAME: значение атрибута name для derived_unit
<a id="p103935"></a>Тело шаблона:
<a id="p103936"></a>    PROP_DEF_REP_HELP(&ID 1)
<a id="p103937"></a>    REP_TO_SPECIAL_VAL_REP_ITEM(&ID2, &DER_UNIT_NAME)

###### <a id="p103938"></a>5.1.1.39 Шаблон PROP_DEF_TO_UNITS

<a id="p103939"></a>Шаблон отображения PROP_DEF_TO_UNITS задает ограничение ссылочного пути, в котором property_definition связан с global_unit_assigned_context через property_definition_representation, атрибут name которого имеет значение ID. Параметр property_definition_representation ссылается на global_unit_assigned_context через экземпляр representation.
<a id="p103940"></a>Сигнатура:
<a id="p103941"></a>**/PROP_DEF_TO_UNITS(ID)/**
<a id="p103942"></a>Определения параметров:
<a id="p103943"></a>ID: значение атрибута name для property_definition_representation
<a id="p103944"></a>Тело шаблона:
<a id="p103945"></a>    PROP_DEF_REP_HELP(&ID)
<a id="p103946"></a>    representation
<a id="p103947"></a>    representation.context_of_items ->
<a id="p103948"></a>    representation_context =>
<a id="p103949"></a>    global_unit_assigned_context
<a id="p103950"></a>    global_unit_assigned_context.units

###### <a id="p103951"></a>5.1.1.40 Шаблон PROP_DEF_TO_VAL_REP_ITEM

<a id="p103952"></a>Шаблон отображения PROP_DEF_TO_VAL_REP_ITEM задает ограничение ссылочного пути, в котором property_definition связан с value_representation_item, который ссылается на measure_value, тип которого задан параметром MEAS. Эта связь осуществляется через property_definition_representation с атрибутом name со значением ID1. Атрибуту name параметра value_representation_item будет присвоено значение ID2.
<a id="p103953"></a>Сигнатура:
<a id="p103954"></a>**/PROP_DEF_TO_VAL_REP_ITEM(ID1, ID2, MEAS)/**
<a id="p103955"></a>Определения параметров:
<a id="p103956"></a>ID1: значение атрибута name для property_definition_representation
<a id="p103957"></a>ID2: значение атрибута name для value_representation_item
<a id="p103958"></a>MEAS: заданный тип для measure_value
<a id="p103959"></a>Тело шаблона:
<a id="p103960"></a>    PROP_DEF_REP_HELP(&ID1)
<a id="p103961"></a>    REP_ITEM(&ID2)
<a id="p103962"></a>    value_representation_item
<a id="p103963"></a>    value_representation_item.value_component -> measure_value
<a id="p103964"></a>    {measure_value = &MEAS}

###### <a id="p103965"></a>5.1.1.41 Шаблон PROP_TO_PROD_DEF

<a id="p103966"></a>Шаблон отображения PROP_TO_PROD_DEF задает ограничение ссылочного пути, в котором property_definition связан с product_definition.
<a id="p103967"></a>Сигнатура:
<a id="p103968"></a>**/PROP_TO_PROD_DEF/**
<a id="p103969"></a>Определения параметров: нет
<a id="p103970"></a>Тело шаблона:
<a id="p103971"></a>    property_definition
<a id="p103972"></a>    property_definition.definition -> characterized_definition
<a id="p103973"></a>    characterized_definition = characterized_product_definition
<a id="p103974"></a>    characterized_product_definition = product_definition

###### <a id="p103975"></a>5.1.1.42 Шаблон RELATE_ACT_2_VO

<a id="p103976"></a>Шаблон отображения RELATE_ACT_2_VO задает ограничение ссылочного пути, в котором у объекта типа T, которому присваивается action, должна быть присвоенная классификация типа 'versionable object'.
<a id="p103977"></a>Сигнатура:
<a id="p103978"></a>**/RELATE_ACT_2_VO(T)/**
<a id="p103979"></a>Определения параметров:
<a id="p103980"></a>T: тип объекта, которому присваивается action
<a id="p103981"></a>Тело шаблона:
<a id="p103982"></a>    applied_action_assignment
<a id="p103983"></a>    applied_action_assignment.items[i] ->
<a id="p103984"></a>    (action_item = &T
<a id="p103985"></a>    {CLASS_ID(&T, 'versionable object')})

###### <a id="p103986"></a>5.1.1.43 Шаблон RELATE_GROUP_2_VO

<a id="p103987"></a>Шаблон отображения RELATE_GROUP_2_VO задает ограничение ссылочного пути, в котором объекту типа T присваивается group с ролью ROLE, при этом у объекта типа T должна быть присвоенная классификация типа 'versionable object'.
<a id="p103988"></a>Сигнатура:
<a id="p103989"></a>**/RELATE_GROUP_2_VO(T, ROLE)/**
<a id="p103990"></a>Определения параметров:
<a id="p103991"></a>T: тип объекта, присваиваемого объекту group
<a id="p103992"></a>ROLE: имя, даваемое роли присваивания
<a id="p103993"></a>Тело шаблона:
<a id="p103994"></a>    GROUPS(&T, &ROLE)
<a id="p103995"></a>    {CLASS_ID(&T,'versionable object')}

###### <a id="p103996"></a>5.1.1.44 Шаблон RELATE_GROUP_2_DO

<a id="p103997"></a>Шаблон отображения RELATE_GROUP_2_DO задает ограничение ссылочного пути, в котором объекту типа T присваивается group с ролью ROLE, при этом у объекта типа T должна быть присвоенная классификация типа 'definable object'.
<a id="p103998"></a>Сигнатура:
<a id="p103999"></a>**/RELATE_GROUP_2_DO(T, ROLE)/**
<a id="p104000"></a>Определения параметров:
<a id="p104001"></a>T: тип объекта, присваиваемого объекту group
<a id="p104002"></a>ROLE: имя, даваемое роли присваивания
<a id="p104003"></a>Тело шаблона:
<a id="p104004"></a>**GROUPS(&T, &ROLE)**
<a id="p104005"></a>{CLASS_ID(&T,'definable object')}

###### <a id="p104006"></a>5.1.1.45 Шаблон RELATE_ID_2_VO

<a id="p104007"></a>Шаблон отображения RELATE_ID_2_VO задает ограничение ссылочного пути, в котором объекту типа T присваивается identification_assignment с именем роли 'version identifier', при этом у объекта типа T должна быть присвоенная классификация типа 'versionable object'. Этот шаблон отображения может пониматься как "обратный" шаблон отображения для шаблона VERSION_ID(T).
<a id="p104008"></a>Сигнатура:
<a id="p104009"></a>**/RELATE_ID_2_VO(T)/**
<a id="p104010"></a>Определения параметров:
<a id="p104011"></a>T: тип объекта, у которого есть identification_assignment
<a id="p104012"></a>Тело шаблона:
<a id="p104013"></a>    identification_assignment
<a id="p104014"></a>    {identification_assignment.role ->
<a id="p104015"></a>    identification_role
<a id="p104016"></a>    [identification_role.name = 'version identifier']} =>
<a id="p104017"></a>    applied_identification_assignment
<a id="p104018"></a>    applied_identification_assignment.items[i] ->
<a id="p104019"></a>    identification_item = &T
<a id="p104020"></a>    {CLASS_ID(&T, 'versionable object')}

###### <a id="p104021"></a>5.1.1.46 Шаблон REP_ITEM

<a id="p104022"></a>Шаблон отображения REP_ITEM задает ограничение ссылочного пути, в котором representation связан с representation_item. Для representation_item.name присваивается значение ID. Шаблон REP_ITEM предназначен для использования другими шаблонами отображения.
<a id="p104023"></a>Сигнатура:
<a id="p104024"></a>**/REP_ITEM(ID)/**
<a id="p104025"></a>Определения параметров:
<a id="p104026"></a>ID: значение атрибута name для representation_item
<a id="p104027"></a>Тело шаблона:
<a id="p104028"></a>    representation
<a id="p104029"></a>    representation.items [i] ->
<a id="p104030"></a>    representation_item =>
<a id="p104031"></a>    {representation_item.name = &ID}

###### <a id="p104032"></a>5.1.1.47 Шаблон REP_TO_SPECIAL_VAL_REP_ITEM

<a id="p104033"></a>Шаблон отображения REP_TO_SPECIAL_VAL_REP_ITEM задает ограничение ссылочного пути, в котором representation связан с value_representation_item, который ссылается на measure_value, представляющий собой context_dependent_measure. Атрибуту name для value_representation_item будет присвоено значение ID. Единицы для context_dependent_measure будут определяться данными вида derived_unit с атрибутом name со значением DER_UNIT_NAME.
<a id="p104034"></a>Сигнатура:
<a id="p104035"></a>**/REP_TO_SPECIAL_VAL_REP_ITEM(ID, DER_UNIT_NAME)/**
<a id="p104036"></a>Определения параметров:
<a id="p104037"></a>ID: значение атрибута name для value_representation_item
<a id="p104038"></a>DER_UNIT_NAME: значение атрибута name для derived_unit
<a id="p104039"></a>Тело шаблона:
<a id="p104040"></a>    representation
<a id="p104041"></a>    {representation.context_of_items ->
<a id="p104042"></a>    representation_context =>
<a id="p104043"></a>    global_unit_assigned_context
<a id="p104044"></a>    global_unit_assigned_context.units[i] ->
<a id="p104045"></a>    unit =
<a id="p104046"></a>    derived_unit
<a id="p104047"></a>    [NAME_ASSGN_WITH_VAL(derived_unit, ' &DER_UNIT_NAME')]}
<a id="p104048"></a>    representation.items [i] ->
<a id="p104049"></a>    representation_item =>
<a id="p104050"></a>    {representation_item.name = &ID}
<a id="p104051"></a>    value_representation_item
<a id="p104052"></a>    value_representation_item.value_component -> measure_value
<a id="p104053"></a>    {measure_value = context_dependent_measure}

###### <a id="p104054"></a>5.1.1.48 Шаблон REP_TO_VAL_REP_ITEM

<a id="p104055"></a>Шаблон отображения REP_TO_VAL_REP_ITEM задает ограничение ссылочного пути, в котором representation связан с value_representation_item. Атрибуту name объекта value_representation_item присвоено значение ID, при этом value_component представляет собой measure_value, заданное с помощью MEAS.
<a id="p104056"></a>Сигнатура:
<a id="p104057"></a>**/REP_TO_VAL_REP_ITEM(ID, MEAS)/**
<a id="p104058"></a>Определения параметров:
<a id="p104059"></a>ID: значение, данное атрибуту name для value_representation_item
<a id="p104060"></a>MEAS: заданный тип для measure_value
<a id="p104061"></a>Тело шаблона:
<a id="p104062"></a>    REP_ITEM(&ID)
<a id="p104063"></a>    value_representation_item
<a id="p104064"></a>    value_representation_item.value_component -> measure_value
<a id="p104065"></a>    {measure_value = &MEAS}

###### <a id="p104066"></a>5.1.1.49 Шаблон ROLE_ASSGN

<a id="p104067"></a>Шаблон отображения ROLE_ASSGN задает ограничение ссылочного пути, в котором role_association присваивается экземпляру ENTITY, содержащему полученный атрибут роли. Создание атрибута роли основывается на объекте Basic_attribute_schema согласно ИСО 10303-41.
<a id="p104068"></a>*Примечание* - Шаблон ROLE_ASSGN используется следующими видами данных экземпляра Entity для совокупности их атрибута name:
- <a id="p104069"></a>action_assignment;
- <a id="p104070"></a>action_request_assignment;
- <a id="p104071"></a>approval_assignment;
- <a id="p104072"></a>approval_date_time;
- <a id="p104073"></a>certification_assignment;
- <a id="p104074"></a>contract_assignment;
- <a id="p104075"></a>document_reference;
- <a id="p104076"></a>effectivity_assignment;
- <a id="p104077"></a>external_referent_assignment;
- <a id="p104078"></a>group_assignment;
- <a id="p104079"></a>name_assignment;
- <a id="p104080"></a>security_classification_assignment.

<a id="p104081"></a>Сигнатура:
<a id="p104082"></a>**/ROLE_ASSGN(ENTITY)/**
<a id="p104083"></a>Определения параметров:
<a id="p104084"></a>ENTITY: тип объекта, которому присваивается role_association
<a id="p104085"></a>Тело шаблона:
<a id="p104086"></a>**&ENTITY**
<a id="p104087"></a>    role_select = &ENTITY
<a id="p104088"></a>    role_select <-
<a id="p104089"></a>    role_association.item_with_role
<a id="p104090"></a>    role_association
<a id="p104091"></a>    role_association.role ->
<a id="p104092"></a>    object_role

###### <a id="p104093"></a>5.1.1.50 Шаблон ROOT_CLASS

<a id="p104094"></a>Шаблон отображения ROOT_CLASS задает ограничение ссылочного пути, в котором экземплярами типа T являются classification_items в экземплярах applied_classification_assignment, где имя роли, указанное для присваивания, имеет значение 'class membership', а присваиваемая классификация имеет значение group, атрибуту name которого присвоено значение ID.
<a id="p104095"></a>*Примечание* - Семантика шаблона заключается в присвоении имени класса экземпляру.

<a id="p104096"></a>Сигнатура:
<a id="p104097"></a>**/ROOT_CLASS(T, ID)/**
<a id="p104098"></a>Определения параметров:
<a id="p104099"></a>T: тип классифицируемого экземпляра
<a id="p104100"></a>ID: имя класса
<a id="p104101"></a>Тело шаблона:
<a id="p104102"></a>    &T
<a id="p104103"></a>    classification_item = &T
<a id="p104104"></a>    classification_item <-
<a id="p104105"></a>    applied_classification_assignment.items[i]
<a id="p104106"></a>    applied_classification_assignment <=
<a id="p104107"></a>    classification_assignment
<a id="p104108"></a>    {classification_assignment.role ->
<a id="p104109"></a>    classification_role
<a id="p104110"></a>    classification_role.name = 'class membership'}
<a id="p104111"></a>    classification_assignment.assigned_classification ->
<a id="p104112"></a>    group =>
<a id="p104113"></a>    {group.name = &ID}
<a id="p104114"></a>    class

###### <a id="p104115"></a>5.1.1.51 Шаблон SDR_NAME

<a id="p104116"></a>Шаблон отображения SDR_NAME задает ограничения ссылочного пути, в котором для shape_definition_representation.name присваивается значение NAME.
<a id="p104117"></a>Сигнатура:
<a id="p104118"></a>**/SDR_NAME(NAME)/**
<a id="p104119"></a>Определения параметров:
<a id="p104120"></a>NAME: значение атрибута name для shape_definition_representation
<a id="p104121"></a>Тело шаблона:
<a id="p104122"></a>    property_definition_representation.definition
<a id="p104123"></a>    property_definition_representation
<a id="p104124"></a>    {property_definition_representation=>
<a id="p104125"></a>    shape_definition_representation}
<a id="p104126"></a>    {NAME_ASSGN_WITH_VAL(property_definition_representation, '&NAME')}
<a id="p104127"></a>    property_definition_representation.used_representation

###### <a id="p104128"></a>5.1.1.52 Шаблон SUBTYPE

<a id="p104129"></a>Шаблон отображения SUBTYPE задает ссылку на отображение подтипа действующего прикладного объекта. Для одного прикладного объекта супертипа может быть указано несколько таких ссылок.
<a id="p104130"></a>*Примечание* - Определение данного шаблона состоит только из сигнатуры шаблона, совпадающего тела шаблона нет. Этот шаблон приведен для упрощения автоматической обработки спецификации отображения.

<a id="p104131"></a>Сигнатура шаблона:
<a id="p104132"></a>/SUBTYPE(application_object)/
<a id="p104133"></a>Определения параметров:
<a id="p104134"></a>application_object: прикладной объект, который является подтипом действующего прикладного объекта супертипа и у которого есть полная или частичная спецификация отображения данного супертипа.

###### <a id="p104135"></a>5.1.1.53 Шаблон SUPERTYPE

<a id="p104136"></a>Шаблон отображения SUPERTYPE задает ссылку на отображение супертипа действующего прикладного объекта. Для прикладного объекта подтипа может быть указано несколько таких ссылок.
<a id="p104137"></a>*Примечание* - Данный шаблон состоит только из сигнатуры, совпадающего тела нет. Этот шаблон приведен для упрощения автоматической обработки спецификации отображения.

<a id="p104138"></a>Сигнатура шаблона:
<a id="p104139"></a>/SUPERTYPE(application_object)/
<a id="p104140"></a>Определение параметров:
<a id="p104141"></a>application_object: прикладной объект, который является супертипом действующего прикладного объекта подтипа и у которого есть полная или частичная спецификация отображения данного подтипа.

###### <a id="p104142"></a>5.1.1.54 Шаблон VERSION_ID

<a id="p104143"></a>Шаблон отображения VERSION_ID задает ограничение ссылочного пути, в котором объекту типа T присваивается идентификатор версии.
<a id="p104144"></a>Сигнатура:
<a id="p104145"></a>**/VERSION_ID(T)/**
<a id="p104146"></a>Определения параметров:
<a id="p104147"></a>T: тип объекта, которому присвоен идентификатор версии.
<a id="p104148"></a>Тело шаблона:
<a id="p104149"></a>    IDENTIFICATION(&T)
<a id="p104150"></a>    [identification_role.name = 'version identifier']}
<a id="p104151"></a>    identification_assignment
<a id="p104152"></a>    identification_assignment.assigned_id

##### <a id="p104153"></a>5.1.2 Функциональная единица basic_geometry


###### <a id="p104154"></a>5.1.2.1 SHIP_CURVE



| <a id="p104155"></a>Элемент ПИМ: | <a id="p104156"></a>compound_representation_item |
| --- | --- |
| <a id="p104157"></a>Источник: | <a id="p104158"></a>ИСО 10303-43 |
| <a id="p104159"></a>Ссылочный путь: | <a id="p104160"></a>{/ROOT_CLASS(compound_representation_item, 'ship curve')/} |


<a id="p104161"></a>5.1.2.1.1 curve_class


| <a id="p104162"></a>Элемент ПИМ: | <a id="p104163"></a>representation_item.name |
| --- | --- |
| <a id="p104164"></a>Источник: | <a id="p104165"></a>ИСО 10303-43 |
| <a id="p104166"></a>Ссылочный путь: | <a id="p104167"></a><a id="p104168"></a><a id="p104169"></a><a id="p104170"></a><a id="p104171"></a><a id="p104172"></a><a id="p104173"></a><a id="p104174"></a><a id="p104175"></a><a id="p104176"></a><a id="p104177"></a><a id="p104178"></a><a id="p104179"></a><a id="p104180"></a><a id="p104181"></a>compound_representation_item <=<br>representation_item<br>{(representation_item.name = 'buttock line')<br>(representation_item.name = 'centreline')<br>(representation_item.name = 'camber')<br>(representation_item.name = 'sheer')<br>(representation_item.name = 'flat of bottom')<br>(representation_item.name = 'flat of side')<br>(representation_item.name = 'intersection line')<br>(representation_item.name = 'station line')<br>(representation_item.name = 'bounding line')<br>(representation_item.name = 'rise of floor')<br>(representation_item.name = 'trace line')<br>(representation_item.name = 'waterline')<br>(representation_item.name = 'unspecified')} |


<a id="p104182"></a>5.1.2.1.2 side_condition


| <a id="p104183"></a>Элемент ПИМ: | <a id="p104184"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p104185"></a>Источник: | <a id="p104186"></a>ИСО 10303-45 |
| <a id="p104187"></a>Правила: | <a id="p104188"></a>[5.2.4.135](#p117540) |
| <a id="p104189"></a>Ссылочный путь: | <a id="p104190"></a><a id="p104191"></a><a id="p104192"></a><a id="p104193"></a><a id="p104194"></a><a id="p104195"></a>/COMPOUND('side condition')/<br>descriptive_representation_item<br>{(descriptive_representation_item.description = 'knuckle')<br>(descriptive_representation_item.description = 'smooth')<br>(descriptive_representation_item.description = 'tangent')<br>(descriptive_representation_item.description = 'unspecified')} |


<a id="p104196"></a>5.1.2.1.3 ship_curve для curve (как curve_shape)


| <a id="p104197"></a>Элемент ПИМ: | <a id="p104198"></a>PATH |
| --- | --- |
| <a id="p104199"></a>Правила: | <a id="p104200"></a>[5.2.4.114](#p116755), [5.2.4.135](#p117540) |
| <a id="p104201"></a>Ссылочный путь: | <a id="p104202"></a><a id="p104203"></a><a id="p104204"></a><a id="p104205"></a><a id="p104206"></a>/COMPOUND('curve shape')/<br>geometric_representation_item =><br>edge =><br>(edge_curve)<br>(oriented_edge) |



###### <a id="p104207"></a>5.1.2.2 SHIP_CURVE_WITH_SPACING_POSITION



| <a id="p104208"></a>Элемент ПИМ: | <a id="p104209"></a>compound_representation_item |
| --- | --- |
| <a id="p104210"></a>Источник: | <a id="p104211"></a>ИСО 10303-43 |
| <a id="p104212"></a>Ссылочный путь: | <a id="p104213"></a>{/ROOT_CLASS(compound_representation_item, 'ship curve with spacing position')/} |


<a id="p104214"></a>5.1.2.2.1 curve_class
<a id="p104215"></a>Примечание - Атрибут унаследован из супертипа Ship_curve (см. [5.1.2.1](#p104154)).


| <a id="p104216"></a>Элемент ПИМ: | <a id="p104217"></a>PATH |
| --- | --- |
| <a id="p104218"></a>Ссылочный путь: | <a id="p104219"></a>/SUPERTYPE(Ship_curve)/ (см. [5.1.2.1.1](#p104161)) |


<a id="p104220"></a>5.1.2.2.2 side_condition
<a id="p104221"></a>Примечание - Атрибут унаследован из супертипа Ship_curve (см. [5.1.2.1](#p104154)).


| <a id="p104222"></a>Элемент ПИМ: | <a id="p104223"></a>PATH |
| --- | --- |
| <a id="p104224"></a>Ссылочный путь: | <a id="p104225"></a>/SUPERTYPE(Ship_curve)/ (см. [5.1.2.1.2](#p104182)) |


<a id="p104226"></a>5.1.2.2.3 ship_curve_with_spacing_position для curve (как curve_shape)
<a id="p104227"></a>Примечание - Атрибут унаследован из супертипа Ship_curve (см. [5.1.2.1](#p104154)).


| <a id="p104228"></a>Элемент ПИМ: | <a id="p104229"></a>PATH |
| --- | --- |
| <a id="p104230"></a>Ссылочный путь: | <a id="p104231"></a>/SUPERTYPE(Ship_curve)/ (см. [5.1.2.1.3](#p104196)) |


<a id="p104232"></a>5.1.2.2.4 ship_curve_with_spacing_position для spacing_position (как location)


| <a id="p104233"></a>Элемент ПИМ: | <a id="p104234"></a>PATH |
| --- | --- |
| <a id="p104235"></a>Правила: | <a id="p104236"></a>[5.2.4.137](#p117627) |
| <a id="p104237"></a>Ссылочный путь: | <a id="p104238"></a><a id="p104239"></a><a id="p104240"></a>/COMPOUND('location')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'spacing position')/} |



###### <a id="p104241"></a>5.1.2.3 SHIP_POINT



| <a id="p104242"></a>Элемент ПИМ: | <a id="p104243"></a>compound_representation_item |
| --- | --- |
| <a id="p104244"></a>Источник: | <a id="p104245"></a>ИСО 10303-43 |
| <a id="p104246"></a>Ссылочный путь: | <a id="p104247"></a>{/ROOT_CLASS(compound_representation_item, 'ship point')/} |


<a id="p104248"></a>5.1.2.3.1 point_class


| <a id="p104249"></a>Элемент ПИМ: | <a id="p104250"></a>representation_item.name |
| --- | --- |
| <a id="p104251"></a>Источник: | <a id="p104252"></a>ИСО 10303-43 |
| <a id="p104253"></a>Ссылочный путь: | <a id="p104254"></a><a id="p104255"></a><a id="p104256"></a><a id="p104257"></a><a id="p104258"></a><a id="p104259"></a>compound_representation_item <=<br>representation_item<br>{(representation_item.name = 'ordinary')<br>(representation_item.name = 'tangent')<br>(representation_item.name = 'knuckle')<br>(representation_item.name = 'unspecified')} |


<a id="p104260"></a>5.1.2.3.2 ship_point для point (как point_shape)


| <a id="p104261"></a>Элемент ПИМ: | <a id="p104262"></a>PATH |
| --- | --- |
| <a id="p104263"></a>Правила: | <a id="p104264"></a>[5.2.4.114](#p116755), [5.2.4.141](#p117772) |
| <a id="p104265"></a>Ссылочный путь: | <a id="p104266"></a><a id="p104267"></a><a id="p104268"></a>/COMPOUND('point shape')/<br>geometric_representation_item =><br>vertex_point |



###### <a id="p104269"></a>5.1.2.4 SHIP_SURFACE



| <a id="p104270"></a>Элемент ПИМ: | <a id="p104271"></a>compound_representation_item |
| --- | --- |
| <a id="p104272"></a>Источник: | <a id="p104273"></a>ИСО 10303-43 |
| <a id="p104274"></a>Ссылочный путь: | <a id="p104275"></a>{/ROOT_CLASS(compound_representation_item, 'ship surface')/} |


<a id="p104276"></a>5.1.2.4.1 surface_class


| <a id="p104277"></a>Элемент ПИМ: | <a id="p104278"></a>representation_item.name |
| --- | --- |
| <a id="p104279"></a>Источник: | <a id="p104280"></a>ИСО 10303-43 |
| <a id="p104281"></a>Ссылочный путь: | <a id="p104282"></a><a id="p104283"></a><a id="p104284"></a><a id="p104285"></a><a id="p104286"></a><a id="p104287"></a><a id="p104288"></a><a id="p104289"></a><a id="p104290"></a><a id="p104291"></a><a id="p104292"></a><a id="p104293"></a><a id="p104294"></a><a id="p104295"></a><a id="p104296"></a><a id="p104297"></a><a id="p104298"></a><a id="p104299"></a><a id="p104300"></a><a id="p104301"></a><a id="p104302"></a><a id="p104303"></a><a id="p104304"></a><a id="p104305"></a><a id="p104306"></a><a id="p104307"></a><a id="p104308"></a><a id="p104309"></a><a id="p104310"></a><a id="p104311"></a><a id="p104312"></a><a id="p104313"></a><a id="p104314"></a><a id="p104315"></a><a id="p104316"></a><a id="p104317"></a><a id="p104318"></a><a id="p104319"></a><a id="p104320"></a><a id="p104321"></a>compound_representation_item <=<br>representation_item<br>{(representation_item.name = 'accommodation area')<br>(representation_item.name = 'accommodation deck')<br>(representation_item.name = 'aft ship')<br>(representation_item.name = 'blending surface')<br>(representation_item.name = 'bottom')<br>(representation_item.name = 'bracket')<br>(representation_item.name = 'bulkhead')<br>(representation_item.name = 'cargo area')<br>(representation_item.name = 'collision bulkhead')<br>(representation_item.name = 'cross tie')<br>(representation_item.name = 'deck')<br>(representation_item.name = 'deck beam')<br>(representation_item.name = 'deck house')<br>(representation_item.name = 'deck in superstructure')<br>(representation_item.name = 'double bottom')<br>(representation_item.name = 'double shell')<br>(representation_item.name = 'duct keel')<br>(representation_item.name = 'engine area')<br>(representation_item.name = 'engine foundation')<br>(representation_item.name = 'external surface')<br>(representation_item.name = 'floor')<br>(representation_item.name = 'fore ship')<br>(representation_item.name = 'frame')<br>(representation_item.name = 'girder')<br>(representation_item.name = 'hatch cover')<br>(representation_item.name = 'hatchway coaming')<br>(representation_item.name = 'hatchway endcoaming')<br>(representation_item.name = 'hatchway sidecoaming')<br>(representation_item.name = 'hold bulkhead')<br>(representation_item.name = 'hopper')<br>(representation_item.name = 'inner bottom')<br>(representation_item.name = 'inner shell')<br>(representation_item.name = 'internal surface')<br>(representation_item.name = 'keel')<br>(representation_item.name = 'longitudinal bulkhead')<br>(representation_item.name = 'longitudinal girder')<br>(representation_item.name = 'lower boom')<br>(representation_item.name = 'machinery casing') |
|  | <a id="p104322"></a><a id="p104323"></a><a id="p104324"></a><a id="p104325"></a><a id="p104326"></a><a id="p104327"></a><a id="p104328"></a><a id="p104329"></a><a id="p104330"></a><a id="p104331"></a><a id="p104332"></a><a id="p104333"></a><a id="p104334"></a><a id="p104335"></a><a id="p104336"></a><a id="p104337"></a><a id="p104338"></a><a id="p104339"></a><a id="p104340"></a><a id="p104341"></a><a id="p104342"></a><a id="p104343"></a><a id="p104344"></a><a id="p104345"></a><a id="p104346"></a><a id="p104347"></a><a id="p104348"></a><a id="p104349"></a><a id="p104350"></a><a id="p104351"></a><a id="p104352"></a><a id="p104353"></a><a id="p104354"></a>(representation_item.name = 'main deck')<br>(representation_item.name = 'mid ship')<br>(representation_item.name = 'navigation deck')<br>(representation_item.name = 'outer shell')<br>(representation_item.name = 'platform deck')<br>(representation_item.name = 'plating')<br>(representation_item.name = 'sheer strake')<br>(representation_item.name = 'ship structure')<br>(representation_item.name = 'stern frame')<br>(representation_item.name = 'stool')<br>(representation_item.name = 'strength bulkhead')<br>(representation_item.name = 'strength deck')<br>(representation_item.name = 'stringer')<br>(representation_item.name = 'superstructure')<br>(representation_item.name = 'superstructure aft bulkhead')<br>(representation_item.name = 'superstructure front bulkhead')<br>(representation_item.name = 'superstructure side bulkhead')<br>(representation_item.name = 'tank bottom')<br>(representation_item.name = 'tank bulkhead')<br>(representation_item.name = 'tank side')<br>(representation_item.name = 'tank top')<br>(representation_item.name = 'transom')<br>(representation_item.name = 'transversal bulkhead')<br>(representation_item.name = 'transverse floor')<br>(representation_item.name = 'transverse web frame')<br>(representation_item.name = 'upper boom')<br>(representation_item.name = 'user defined')<br>(representation_item.name = 'vertical web frame')<br>(representation_item.name = 'wall')<br>(representation_item.name = 'wash bulkhead')<br>(representation_item.name = 'weather deck')<br>(representation_item.name = 'web frame')<br>(representation_item.name = 'wing bulkhead')} |


<a id="p104355"></a>5.1.2.4.2 ship_surface для surface (как surface_shape)


| <a id="p104356"></a>Элемент ПИМ: | <a id="p104357"></a>PATH |
| --- | --- |
| <a id="p104358"></a>Правила: | <a id="p104359"></a>[5.2.4.114](#p116755), [5.2.4.142](#p117809) |
| <a id="p104360"></a>Ссылочный путь: | <a id="p104361"></a><a id="p104362"></a><a id="p104363"></a><a id="p104364"></a><a id="p104365"></a><a id="p104366"></a>/COMPOUND('surface shape')/<br>topological_representation_item =><br>face=><br>(face_surface)<br>(subface)<br>(oriented_face) |



##### <a id="p104367"></a>5.1.3 Отображение функциональной единицы configuration_management


###### <a id="p104368"></a>5.1.3.1 Прикладной элемент ALTERNATIVE_VERSION_RELATIONSHIP



| <a id="p104369"></a>Элемент ПИМ: | <a id="p104370"></a>identification_assignment_relationship |
| --- | --- |
| <a id="p104371"></a>Источник: | <a id="p104372"></a>ИСО 10303-41 |
| <a id="p104373"></a>Правила: | <a id="p104374"></a>[5.2.4.5](#p113025), [5.2.4.6](#p113051) |
| <a id="p104375"></a>Ссылочный путь: | <a id="p104376"></a>/ROOT_CLASS(identification_assignment_relationship, 'alternative version relationship')/ |


<a id="p104377"></a>5.1.3.1.1 reason


| <a id="p104378"></a>Элемент ПИМ: | <a id="p104379"></a>identification_assignment_relationship.description |
| --- | --- |
| <a id="p104380"></a>Источник: | <a id="p104381"></a>ИСО 10303-41 |
| <a id="p104382"></a>Правила: | <a id="p104383"></a>[5.2.4.4](#p113001) |


<a id="p104384"></a>5.1.3.1.2 alternative_version_relationship для versionable_object (как alternative 1)


| <a id="p104385"></a>Элемент ПИМ: | <a id="p104386"></a>PATH |
| --- | --- |
| <a id="p104387"></a>Ссылочный путь: | <a id="p104388"></a><a id="p104389"></a><a id="p104390"></a><a id="p104391"></a><a id="p104392"></a><a id="p104393"></a><a id="p104394"></a><a id="p104395"></a><a id="p104396"></a>identification_assignment_relationship<br>identification_assignment_relationship.related_assignment -><br>(/RELATE_ID_2_VO(document)/)<br>(/RELATE_ID_2_VO(group)/)<br>(/RELATE_ID_2_VO(product_definition)/)<br>(/RELATE_ID_2_VO(product_definition_relationship)/)<br>(/RELATE_ID_2_VO(product_definition_shape)/)<br>(/RELATE_ID_2_VO(product_related_product_category)/)<br>(/RELATE_ID_2_VO(property_definition)/) |


<a id="p104397"></a>5.1.3.1.3 alternative_version_relationship для versionable_object (как alternative 2)


| <a id="p104398"></a>Элемент ПИМ: | <a id="p104399"></a>PATH |
| --- | --- |
| <a id="p104400"></a>Ссылочный путь: | <a id="p104401"></a><a id="p104402"></a><a id="p104403"></a><a id="p104404"></a><a id="p104405"></a><a id="p104406"></a><a id="p104407"></a><a id="p104408"></a><a id="p104409"></a>identification_assignment_relationship<br>identification_assignment_relationship.relating_assignment -><br>(/RELATE_ID_2_VO(document)/)<br>(/RELATE_ID_2_VO(group)/)<br>(/RELATE_ID_2_VO(product_definition)/)<br>(/RELATE_ID_2_VO(product_definition_relationship)/)<br>(/RELATE_ID_2_VO(product_definition_shape)/)<br>(/RELATE_ID_2_VO(product_related_product_category)/)<br>(/RELATE_ID_2_VO(property_definition)/) |



###### <a id="p104410"></a>5.1.3.2 Прикладной элемент APPROVAL_EVENT



| <a id="p104411"></a>Элемент ПИМ: | <a id="p104412"></a>approval |
| --- | --- |
| <a id="p104413"></a>Источник: | <a id="p104414"></a>ИСО 10303-41 |
| <a id="p104415"></a>Ссылочный путь: | <a id="p104416"></a><a id="p104417"></a>{[/CLASS(approval, 'approval event', 'event')/]<br>[/ROOT_CLASS(approval, 'event')/]} |


<a id="p104418"></a>5.1.3.2.1 caused_by
<a id="p104419"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)).


| <a id="p104420"></a>Элемент ПИМ: | <a id="p104421"></a>person_and_organization |
| --- | --- |
| <a id="p104422"></a>Источник: | <a id="p104423"></a>ИСО 10303-41 |
| <a id="p104424"></a>Правила: | <a id="p104425"></a>[5.2.4.7](#p113082) |
| <a id="p104426"></a>Ссылочный путь: | <a id="p104427"></a><a id="p104428"></a><a id="p104429"></a><a id="p104430"></a><a id="p104431"></a><a id="p104432"></a>approval <-<br>approval_person_organization.authorized_approval<br>approval_person_organization<br>approval_person_organization.person_organization -><br>person_organization_select = person_and_organization<br>person_and_organization |


<a id="p104433"></a>5.1.3.2.2 caused_when
<a id="p104434"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)).


| <a id="p104435"></a>Элемент ПИМ: | <a id="p104436"></a>approval_date_time.date_time |
| --- | --- |
| <a id="p104437"></a>Источник: | <a id="p104438"></a>ИСО 10303-41 |
| <a id="p104439"></a>Правила: | <a id="p104440"></a>[5.2.4.8](#p113109) |
| <a id="p104441"></a>Ссылочный путь: | <a id="p104442"></a><a id="p104443"></a><a id="p104444"></a><a id="p104445"></a><a id="p104446"></a><a id="p104447"></a><a id="p104448"></a><a id="p104449"></a>approval <-<br>approval_date_time.dated_approval<br>approval_date_time<br>approval_date_time.date_time -><br>{(date_time_select = date_and_time<br>date_and_time)<br>(date_time_select = calendar_date<br>calendar_date)} |


<a id="p104450"></a>5.1.3.2.3 description
<a id="p104451"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)).


| <a id="p104452"></a>Элемент ПИМ: | <a id="p104453"></a>approval.level |
| --- | --- |
| <a id="p104454"></a>Источник: | <a id="p104455"></a>ИСО 10303-41 |


<a id="p104456"></a>5.1.3.2.4 result


| <a id="p104457"></a>Элемент ПИМ: | <a id="p104458"></a>approval_status.name |
| --- | --- |
| <a id="p104459"></a>Источник: | <a id="p104460"></a>ИСО 10303-41 |
| <a id="p104461"></a>Ссылочный путь: | <a id="p104462"></a><a id="p104463"></a><a id="p104464"></a><a id="p104465"></a><a id="p104466"></a><a id="p104467"></a>approval<br>approval.status -><br>approval_status approval_status.name<br>{(approval_status.name = 'unapproved')<br>(approval_status.name = 'approved')<br>(approval_status.name = 'rejected')} |


<a id="p104468"></a>5.1.3.2.5 user_defined_result


| <a id="p104469"></a>Элемент ПИМ: | <a id="p104470"></a>approval_status.name |
| --- | --- |
| <a id="p104471"></a>Источник: | <a id="p104472"></a>ИСО 10303-41 |
| <a id="p104473"></a>Ссылочный путь: | <a id="p104474"></a><a id="p104475"></a><a id="p104476"></a><a id="p104477"></a>approval<br>approval.status -><br>approval_status<br>approval_status.name |


<a id="p104478"></a>5.1.3.2.6 approval_event для approval_history (как approval_reference)
<a id="p104479"></a>Примечание - Атрибут является обратным отношением для атрибута approvals для Approval_history (см. [5.1.3.3.2](#p104516)).


| <a id="p104480"></a>Элемент ПИМ: | <a id="p104481"></a>PATH |
| --- | --- |
| <a id="p104482"></a>Правила: | <a id="p104483"></a>[5.2.4.53](#p114504) |
| <a id="p104484"></a>Ссылочный путь: | <a id="p104485"></a><a id="p104486"></a><a id="p104487"></a><a id="p104488"></a><a id="p104489"></a><a id="p104490"></a><a id="p104491"></a><a id="p104492"></a><a id="p104493"></a><a id="p104494"></a><a id="p104495"></a>approval<br>group_item = approval<br>group_item <-<br>applied_group_assignment.items[i]<br>applied_group_assignment <=<br>group_assignment<br>/ROLE_ASSGN(group_assignment)/<br>{[object_role.name = 'approvals']}<br>group_assignment.assigned_group -><br>group<br>{/CLASS_ID(group, 'approval history')/} |



###### <a id="p104496"></a>5.1.3.3 Прикладной элемент APPROVAL_HISTORY



| <a id="p104497"></a>Элемент ПИМ: | <a id="p104498"></a>group |
| --- | --- |
| <a id="p104499"></a>Источник: | <a id="p104500"></a>ИСО 10303-41 |
| <a id="p104501"></a>Ссылочный путь: | <a id="p104502"></a>/ROOT_CLASS(group, 'approval history')/ |


<a id="p104503"></a>5.1.3.3.1 status


| <a id="p104504"></a>Элемент ПИМ: | <a id="p104505"></a>PATH |
| --- | --- |
| <a id="p104506"></a>Ссылочный путь: | <a id="p104507"></a><a id="p104508"></a><a id="p104509"></a><a id="p104510"></a><a id="p104511"></a><a id="p104512"></a><a id="p104513"></a><a id="p104514"></a><a id="p104515"></a>group <-<br>/GROUPS(approval, 'approvals')/<br>approval<br>approval.status -><br>approval_status<br>approval_status.name<br>{(approval_status.name = 'unapproved')<br>(approval_status.name = 'approved')<br>(approval_status.name = 'rejected')} |


<a id="p104516"></a>5.1.3.3.2 approval_history для approval_event (как approvals)


| <a id="p104517"></a>Элемент ПИМ: | <a id="p104518"></a>PATH |
| --- | --- |
| <a id="p104519"></a>Правила: | <a id="p104520"></a>[5.2.4.10](#p113173), [5.2.4.150](#p118127), [5.2.4.11](#p113201) |
| <a id="p104521"></a>Ссылочный путь: | <a id="p104522"></a><a id="p104523"></a>group <-<br>/GROUPS(approval, 'approvals')/ approval |


<a id="p104524"></a>5.1.3.3.3 approval_history для definition (как subject)


| <a id="p104525"></a>Элемент ПИМ: | <a id="p104526"></a>PATH |
| --- | --- |
| <a id="p104527"></a>Правила: | <a id="p104528"></a>[5.2.4.9](#p113135) |
| <a id="p104529"></a>Ссылочный путь: | <a id="p104530"></a><a id="p104531"></a><a id="p104532"></a><a id="p104533"></a><a id="p104534"></a><a id="p104535"></a><a id="p104536"></a><a id="p104537"></a><a id="p104538"></a><a id="p104539"></a><a id="p104540"></a><a id="p104541"></a><a id="p104542"></a><a id="p104543"></a><a id="p104544"></a>group <-<br>/GROUPS(approval, 'approvals')/<br>approval <-<br>(/APPROVES(product_definition, 'subject')/<br>product_definition<br>{/CLASS_ID(product_definition, 'definition')/})<br>(/APPROVES(property_definition, 'subject')/<br>property_definition<br>{/CLASS_ID(property_definition, 'definition')})<br>(/APPROVES(product_definition_shape, 'subject')/<br>product_definition_shape<br>{/CLASS_ID(product_definition_shape, 'definition')/})<br>(/APPROVES(product_related_product_category, 'subject')/<br>product_related_product_category<br>{/CLASS_ID(product_related_product_category, 'definition')/}) |



###### <a id="p104545"></a>5.1.3.4 Прикладной элемент CHANGE



| <a id="p104546"></a>Элемент ПИМ: | <a id="p104547"></a>action |
| --- | --- |
| <a id="p104548"></a>Источник: | <a id="p104549"></a>ИСО 10303-41 |
| <a id="p104550"></a>Ссылочный путь: | <a id="p104551"></a><a id="p104552"></a><a id="p104553"></a>{[/CLASS(action,'change', 'item')/]<br>[/CLASS(action,'item', 'definable object')/]<br>[/ROOT_CLASS(action, 'definable object')/]} |


<a id="p104554"></a>5.1.3.4.1 description
<a id="p104555"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p104556"></a>Элемент ПИМ: | <a id="p104557"></a>action.description |
| --- | --- |
| <a id="p104558"></a>Источник: | <a id="p104559"></a>ИСО 10303-41 |


<a id="p104560"></a>5.1.3.4.2 name
<a id="p104561"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p104562"></a>Элемент ПИМ: | <a id="p104563"></a>action.name |
| --- | --- |
| <a id="p104564"></a>Источник: | <a id="p104565"></a>ИСО 10303-41 |


<a id="p104566"></a>5.1.3.4.3 the_class


| <a id="p104567"></a>Элемент ПИМ: | <a id="p104568"></a>group.name |
| --- | --- |
| <a id="p104569"></a>Источник: | <a id="p104570"></a>ИСО 10303-41 |
| <a id="p104571"></a>Ссылочный путь: | <a id="p104572"></a><a id="p104573"></a><a id="p104574"></a><a id="p104575"></a><a id="p104576"></a><a id="p104577"></a><a id="p104578"></a><a id="p104579"></a><a id="p104580"></a><a id="p104581"></a><a id="p104582"></a><a id="p104583"></a>action<br>classification_item = action<br>classification_item <-<br>applied_classification_assignment.items[i]<br>applied_classification_assignment<br>applied_classification_assignment <=<br>classification_assignment<br>{classification_assignment.role -><br>classification_role<br>classification_role.name = 'change class'}<br>classification_assignment.assigned_classification -><br>group |


<a id="p104584"></a>5.1.3.4.4 change для external_reference (как documentation)
<a id="p104585"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).

<a id="p104586"></a>#1: Если "как documentation" относится к External_reference


| <a id="p104587"></a>Элемент ПИМ: | <a id="p104588"></a>PATH |
| --- | --- |
| <a id="p104589"></a>Ссылочный путь: | <a id="p104590"></a><a id="p104591"></a><a id="p104592"></a><a id="p104593"></a><a id="p104594"></a>action<br>action = external_identification_item<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment |


<a id="p104595"></a>#2: Если "как documentation" относится к Document_reference_with_address


| <a id="p104596"></a>Элемент ПИМ: | <a id="p104597"></a>PATH |
| --- | --- |
| <a id="p104598"></a>Ссылочный путь: | <a id="p104599"></a><a id="p104600"></a><a id="p104601"></a><a id="p104602"></a>action<br>/DOC_REF(action,'documentation')/<br>document<br>{/CLASS_ID(document, 'document reference with address')/} |


<a id="p104603"></a>5.1.3.4.5 change для global_id (как id)
<a id="p104604"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)), который наследуется из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p104605"></a>Элемент ПИМ: | <a id="p104606"></a>PATH |
| --- | --- |
| <a id="p104607"></a>Правила: | <a id="p104608"></a>[5.2.4.45](#p114249), [5.2.4.3](#p112965) |
| <a id="p104609"></a>Ссылочный путь: | <a id="p104610"></a><a id="p104611"></a><a id="p104612"></a><a id="p104613"></a><a id="p104614"></a>action<br>identification_item = action<br>identification_item <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p104615"></a>5.1.3.4.6 change для ship (as ship_context)
<a id="p104616"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p104617"></a>Элемент ПИМ: | <a id="p104618"></a>PATH |
| --- | --- |
| <a id="p104619"></a>Источник: | <a id="p104620"></a>ИСО 10303-41 |
| <a id="p104621"></a>Ссылочный путь: | <a id="p104622"></a><a id="p104623"></a><a id="p104624"></a><a id="p104625"></a><a id="p104626"></a><a id="p104627"></a><a id="p104628"></a><a id="p104629"></a>action <-<br>applied_action_assignment.assigned_action<br>applied_action_assignment<br>applied_action_assignment.items [i] -><br>action_item<br>action_item = product<br>product<br>{/CLASS_ID(product, 'ship')/} |



###### <a id="p104630"></a>5.1.3.5 Прикладной элемент CHANGE_DEFINITION



|  | <a id="p104631"></a><a id="p104632"></a><a id="p104633"></a>#1: Значением элемента Change_definition является change_request<br>#2: Значением элемента Change_definition является change_plan<br>#3: Значением элемента Change_definition является change_realization |
| --- | --- |
| <a id="p104634"></a>Элемент ПИМ: | <a id="p104635"></a><a id="p104636"></a><a id="p104637"></a>#1: (version_action_request)<br>#2: (action_request_solution)<br>#3: (executed_action) |
| <a id="p104638"></a>Источник: | <a id="p104639"></a>ИСО 10303-41 |


<a id="p104640"></a>5.1.3.5.1 author


| <a id="p104641"></a>Элемент ПИМ: | <a id="p104642"></a><a id="p104643"></a><a id="p104644"></a>#1: /SUBTYPE(Change_request)/ (см. [5.1.3.9.2](#p104907))<br>#2: /SUBTYPE(Change_plan)/ (см. [5.1.3.7.1](#p104696))<br>#3: /SUBTYPE(Change_realization)/ (см. [5.1.3.8.1](#p104802)) |
| --- | --- |


<a id="p104645"></a>5.1.3.5.2 date_time


| <a id="p104646"></a>Элемент ПИМ: | <a id="p104647"></a><a id="p104648"></a><a id="p104649"></a>#1: /SUBTYPE(Change_request)/ (см. [5.1.3.9.3](#p104917))<br>#2: /SUBTYPE(Change_plan)/ (см. [5.1.3.7.2](#p104706))<br>#3: /SUBTYPE(Change_realization)/ (см. [5.1.3.8.2](#p104812)) |
| --- | --- |


<a id="p104650"></a>5.1.3.5.3 description


| <a id="p104651"></a>Элемент ПИМ: | <a id="p104652"></a><a id="p104653"></a><a id="p104654"></a>#1: /SUBTYPE(Change_request)/ (см. [5.1.3.9.4](#p104927))<br>#2: /SUBTYPE(Change_plan)/ (см. [5.1.3.7.3](#p104716))<br>#3: /SUBTYPE(Change_realization)/ (см. [5.1.3.8.3](#p104822)) |
| --- | --- |


<a id="p104655"></a>5.1.3.5.4 version_id


| <a id="p104656"></a>Элемент ПИМ: | <a id="p104657"></a><a id="p104658"></a><a id="p104659"></a>#1: /SUBTYPE(Change_request)/ (см. [5.1.3.9.8](#p104957))<br>#2: /SUBTYPE(Change_plan)/ (см. [5.1.3.7.4](#p104724))<br>#3: /SUBTYPE(Change_realization)/ (см. [5.1.3.8.4](#p104828)) |
| --- | --- |


<a id="p104660"></a>5.1.3.5.5 change_definition для change (как defined_for)
<a id="p104661"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p104662"></a>Элемент ПИМ: | <a id="p104663"></a><a id="p104664"></a><a id="p104665"></a>#1: /SUBTYPE(Change_request)/ (см. [5.1.3.9.9](#p104967))<br>#2: /SUBTYPE(Change_plan)/ (см. [5.1.3.7.7](#p104755))<br>#3: /SUBTYPE(Change_realization)/ (см. [5.1.3.8.6](#p104851)) |
| --- | --- |


<a id="p104666"></a>5.1.3.5.6 change_definition для global_id (as id)


| <a id="p104667"></a>Элемент ПИМ: | <a id="p104668"></a><a id="p104669"></a><a id="p104670"></a>#1: /SUBTYPE(Change_request)/ (см. [5.1.3.9.10](#p104980))<br>#2: /SUBTYPE(Change_plan)/ (см. [5.1.3.7.8](#p104767))<br>#3: /SUBTYPE(Change_realization)/ (см. [5.1.3.8.7](#p104863)) |
| --- | --- |



###### <a id="p104671"></a>5.1.3.6 Прикладной элемент CHANGE_IMPACT



| <a id="p104672"></a>Элемент ПИМ: | <a id="p104673"></a>applied_action_request_assignment |
| --- | --- |
| <a id="p104674"></a>Источник: | <a id="p104675"></a>ИСО 10303-216 |
| <a id="p104676"></a>Ссылочный путь: | <a id="p104677"></a>{/ROOT_CLASS(applied_action_request_assignment, 'change impact')/} |


<a id="p104678"></a>5.1.3.6.1 change_impact для versionable_object_change_event (как impact)


| <a id="p104679"></a>Элемент ПИМ: | <a id="p104680"></a>PATH |
| --- | --- |
| <a id="p104681"></a>Правила: | <a id="p104682"></a>[5.2.4.26](#p113634) |
| <a id="p104683"></a>Ссылочный путь: | <a id="p104684"></a><a id="p104685"></a><a id="p104686"></a><a id="p104687"></a><a id="p104688"></a>applied_action_request_assignment<br>applied_action_request_assignment.items [i] -><br>action_request_item<br>action_request_item = action<br>{/CLASS_ID(action, 'versionable object change event')/} |



###### <a id="p104689"></a>5.1.3.7 Прикладной элемент CHANGE_PLAN



| <a id="p104690"></a>Элемент ПИМ: | <a id="p104691"></a>action_request_solution |
| --- | --- |
| <a id="p104692"></a>Источник: | <a id="p104693"></a>ИСО 10303-41 |
| <a id="p104694"></a>Ссылочный путь: | <a id="p104695"></a>{[/CLASS(action_request_solution, 'change plan', 'change definition')/]<br>[/CLASS(action_request_solution,'change definition','definition')/]<br>[/CLASS(action_request_solution,'definition','versionable object')/]<br>[/ROOT_CLASS(action_request_solution, 'versionable object')/]} |


<a id="p104696"></a>5.1.3.7.1 author
<a id="p104697"></a>Примечание - Атрибут унаследован из супертипа Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104698"></a>Элемент ПИМ: | <a id="p104699"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p104700"></a>Источник: | <a id="p104701"></a>ИСО 10303-216 |
| <a id="p104702"></a>Правила: | <a id="p104703"></a>[5.2.4.12](#p113226) |
| <a id="p104704"></a>Ссылочный путь: | <a id="p104705"></a>/PERS_ORG_ASSGN(action_request_solution, 'author')/ |


<a id="p104706"></a>5.1.3.7.2 date_time
<a id="p104707"></a>Примечание - Атрибут унаследован из супертипа Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104708"></a>Элемент ПИМ: | <a id="p104709"></a>applied_date_and_time_assignment.assigned_date_and_time |
| --- | --- |
| <a id="p104710"></a>Источник: | <a id="p104711"></a>ИСО 10303-216 |
| <a id="p104712"></a>Правила: | <a id="p104713"></a>[5.2.4.1](#p112899) |
| <a id="p104714"></a>Ссылочный путь: | <a id="p104715"></a>/DAT_TIME_ASSGN(action_request_solution,'date time')/ |


<a id="p104716"></a>5.1.3.7.3 description
<a id="p104717"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p104718"></a>Элемент ПИМ: | <a id="p104719"></a>action_request_solution.description |
| --- | --- |
| <a id="p104720"></a>Источник: | <a id="p104721"></a>ИСО 10303-41 |
| <a id="p104722"></a>Ссылочный путь: | <a id="p104723"></a>/DESCRIPTION_ASSGN(action_request_solution)/ |


<a id="p104724"></a>5.1.3.7.4 version_id
<a id="p104725"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через супертип Change_definition (см. [5.1.3.5](#p104630)), который наследуется от супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p104726"></a>Элемент ПИМ: | <a id="p104727"></a>applied_identification_assignment.assigned_id |
| --- | --- |
| <a id="p104728"></a>Источник: | <a id="p104729"></a>ИСО 10303-216 |
| <a id="p104730"></a>Правила: | <a id="p104731"></a>[5.2.4.164](#p118524) |
| <a id="p104732"></a>Ссылочный путь: | <a id="p104733"></a>/VERSION_ID(action_request_solution)/ |


<a id="p104734"></a>5.1.3.7.5 change_plan для check (как checks)


| <a id="p104735"></a>Элемент ПИМ: | <a id="p104736"></a>PATH |
| --- | --- |
| <a id="p104737"></a>Ссылочный путь: | <a id="p104738"></a><a id="p104739"></a><a id="p104740"></a><a id="p104741"></a><a id="p104742"></a><a id="p104743"></a><a id="p104744"></a><a id="p104745"></a><a id="p104746"></a>action_request_solution<br>action_item = action_request_solution<br>action_item <-<br>applied_action_assignment.items [i]<br>applied_action_assignment <=<br>action_assignment<br>action_assignment.assigned_action -><br>action<br>{/CLASS_ID(action, 'check')} |


<a id="p104747"></a>5.1.3.7.6 change_plan для change_request (как chosen_solution_for)


| <a id="p104748"></a>Элемент ПИМ: | <a id="p104749"></a>PATH |
| --- | --- |
| <a id="p104750"></a>Ссылочный путь: | <a id="p104751"></a><a id="p104752"></a><a id="p104753"></a><a id="p104754"></a>action_request_solution<br>action_request_solution.request -><br>versioned_action_request<br>{/CLASS_ID(versioned_action_request, 'change request')/} |


<a id="p104755"></a>5.1.3.7.7 change_plan для change (как defined_for)
<a id="p104756"></a>Примечание - Атрибут унаследован из супертипа Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104757"></a>Элемент ПИМ: | <a id="p104758"></a>PATH |
| --- | --- |
| <a id="p104759"></a>Правила: | <a id="p104760"></a>[5.2.4.1](#p112899) |
| <a id="p104761"></a>Ссылочный путь: | <a id="p104762"></a><a id="p104763"></a><a id="p104764"></a><a id="p104765"></a><a id="p104766"></a>action_request_solution<br>action_request_solution.method -><br>action_method <-<br>action.chosen_method action<br>{/CLASS_ID(action, 'change')/} |


<a id="p104767"></a>5.1.3.7.8 change_plan для global_id (как id)
<a id="p104768"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104769"></a>Элемент ПИМ: | <a id="p104770"></a>PATH |
| --- | --- |
| <a id="p104771"></a>Правила: | <a id="p104772"></a>[5.2.4.45](#p114249), [5.2.4.2](#p112930) |
| <a id="p104773"></a>Ссылочный путь: | <a id="p104774"></a><a id="p104775"></a><a id="p104776"></a><a id="p104777"></a><a id="p104778"></a>action_request_solution<br>identification_item = action_request_solution<br>identification_item <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p104779"></a>5.1.3.7.9 change_plan для change_impact (как planned_impact)


| <a id="p104780"></a>Элемент ПИМ: | <a id="p104781"></a>PATH |
| --- | --- |
| <a id="p104782"></a>Правила: | <a id="p104783"></a>[5.2.4.27](#p113662) |
| <a id="p104784"></a>Ссылочный путь: | <a id="p104785"></a><a id="p104786"></a><a id="p104787"></a><a id="p104788"></a><a id="p104789"></a><a id="p104790"></a><a id="p104791"></a>action_request_solution<br>action_request_solution.request -><br>versioned_action_request <-<br>action_request_assignment.assigned_action_request<br>action_request_assignment =><br>applied_action_request_assignment<br>{/CLASS_ID(applied_action_request_assignment, 'change impact')/} |



###### <a id="p104792"></a>5.1.3.8 Прикладной элемент CHANGE_REALIZATION



| <a id="p104793"></a>Элемент ПИМ: | <a id="p104794"></a>executed_action |
| --- | --- |
| <a id="p104795"></a>Источник: | <a id="p104796"></a>ИСО 10303-41 |
| <a id="p104797"></a>Ссылочный путь: | <a id="p104798"></a><a id="p104799"></a><a id="p104800"></a><a id="p104801"></a>{[/CLASS(executed_action, 'change realization', 'change definition')/]<br>[/CLASS(executed_action,'change definition','definition')/]<br>[/CLASS(executed_action,'definition','versionable object')/]<br>[/ROOT_CLASS(executed_action, 'versionable object')/]} |


<a id="p104802"></a>5.1.3.8.1 author
<a id="p104803"></a>Примечание - Атрибут унаследован из супертипа Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104804"></a>Элемент ПИМ: | <a id="p104805"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p104806"></a>Источник: | <a id="p104807"></a>ИСО 10303-216 |
| <a id="p104808"></a>Правила: | <a id="p104809"></a>[5.2.4.13](#p113255) |
| <a id="p104810"></a>Ссылочный путь: | <a id="p104811"></a>/PERS_ORG_ASSGN(executed_action, 'author')/ |


<a id="p104812"></a>5.1.3.8.2 date_time
<a id="p104813"></a>Примечание - Атрибут унаследован из супертипа Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104814"></a>Элемент ПИМ: | <a id="p104815"></a>applied_date_and_time_assignment.assigned_date_and_time |
| --- | --- |
| <a id="p104816"></a>Источник: | <a id="p104817"></a>ИСО 10303-216 |
| <a id="p104818"></a>Правила: | <a id="p104819"></a>[5.2.4.36](#p113978) |
| <a id="p104820"></a>Ссылочный путь: | <a id="p104821"></a>/DAT_TIME_ASSGN(executed_action,'date time')/ |


<a id="p104822"></a>5.1.3.8.3 description
<a id="p104823"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.8.3](#p107924)).


| <a id="p104824"></a>Элемент ПИМ: | <a id="p104825"></a>executed_action.description |
| --- | --- |
| <a id="p104826"></a>Источник: | <a id="p104827"></a>ИСО 10303-41 |


<a id="p104828"></a>5.1.3.8.4 version_id
<a id="p104829"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через супертип Change_definition (см. [5.1.3.5](#p104630)), который наследуется от супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p104830"></a>Элемент ПИМ: | <a id="p104831"></a>applied_identification_assignment.assigned_id |
| --- | --- |
| <a id="p104832"></a>Источник: | <a id="p104833"></a>ИСО 10303-216 |
| <a id="p104834"></a>Правила: | <a id="p104835"></a>[5.2.4.164](#p118524) |
| <a id="p104836"></a>Ссылочный путь: | <a id="p104837"></a>/VERSION_ID(executed_action)/ |


<a id="p104838"></a>5.1.3.8.5 change_realization для check (как checks)


| <a id="p104839"></a>Элемент ПИМ: | <a id="p104840"></a>PATH |
| --- | --- |
| <a id="p104841"></a>Ссылочный путь: | <a id="p104842"></a><a id="p104843"></a><a id="p104844"></a><a id="p104845"></a><a id="p104846"></a><a id="p104847"></a><a id="p104848"></a><a id="p104849"></a><a id="p104850"></a>executed_action<br>action_item = executed_action<br>action_item <-<br>applied_action_assignment.items[i]<br>applied_action_assignment <=<br>action_assignment<br>action_assignment.assigned_action -><br>action<br>{/CLASS_ID(action, 'check')/} |


<a id="p104851"></a>5.1.3.8.6 change_realization для change (как defined_for)
<a id="p104852"></a>Примечание - Атрибут унаследован из супертипа Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104853"></a>Элемент ПИМ: | <a id="p104854"></a>PATH |
| --- | --- |
| <a id="p104855"></a>Ссылочный путь: | <a id="p104856"></a><a id="p104857"></a><a id="p104858"></a><a id="p104859"></a><a id="p104860"></a><a id="p104861"></a><a id="p104862"></a>executed_action <=<br>action <-<br>action_relationship.related_action<br>action_relationship<br>action_relationship.relating_action -><br>action<br>{/CLASS_ID(action, 'change')/} |


<a id="p104863"></a>5.1.3.8.7 change_realization для global_id (как id)
<a id="p104864"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104865"></a>Элемент ПИМ: | <a id="p104866"></a>PATH |
| --- | --- |
| <a id="p104867"></a>Правила: | <a id="p104868"></a>[5.2.4.45](#p114249), [5.2.4.41](#p114110) |
| <a id="p104869"></a>Ссылочный путь: | <a id="p104870"></a><a id="p104871"></a><a id="p104872"></a><a id="p104873"></a><a id="p104874"></a>executed_action<br>identification_item = executed_action<br>identification_item <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p104875"></a>5.1.3.8.8 change_realization для change_impact (как impact)


| <a id="p104876"></a>Элемент ПИМ: | <a id="p104877"></a>PATH |
| --- | --- |
| <a id="p104878"></a>Ссылочный путь: | <a id="p104879"></a><a id="p104880"></a><a id="p104881"></a><a id="p104882"></a><a id="p104883"></a><a id="p104884"></a>executed_action<br>action_request_item = executed_action<br>action_request_item <-<br>applied_action_request_assignment.items[i]<br>applied_action_request_assignment<br>{/CLASS_ID(applied_action_request_assignment, 'change impact')/} |


<a id="p104885"></a>5.1.3.8.9 change_realization для change_plan (как realization_of)


| <a id="p104886"></a>Элемент ПИМ: | <a id="p104887"></a>PATH |
| --- | --- |
| <a id="p104888"></a>Ссылочный путь: | <a id="p104889"></a>executed_action <=<br>action<br>action.chosen_method -><br>action_method <-<br>action_request_solution.method action_request_solution<br>{/CLASS_ID(action_request_solution, 'change plan')/} |



###### <a id="p104890"></a>5.1.3.9 Прикладной объект CHANGE_REQUEST



| <a id="p104891"></a>Элемент ПИМ: | <a id="p104892"></a>versioned_action_request |
| --- | --- |
| <a id="p104893"></a>Источник: | <a id="p104894"></a>ИСО 10303-41 |
| <a id="p104895"></a>Ссылочный путь: | <a id="p104896"></a><a id="p104897"></a><a id="p104898"></a><a id="p104899"></a>{[/CLASS(versioned_action_request, 'change request', 'change definition')/]<br>[/CLASS(versioned_action_request,'change definition','definition')/]<br>[/CLASS(versioned_action_request,'definition',versionable object')/]<br>[/ROOT_CLASS(versioned_action_request, 'versionable object')/]} |


<a id="p104900"></a>5.1.3.9.1 addressee


| <a id="p104901"></a>Элемент ПИМ: | <a id="p104902"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p104903"></a>Источник: | <a id="p104904"></a>ИСО 10303-216 |
| <a id="p104905"></a>Ссылочный путь: | <a id="p104906"></a>/PERS_ORG_ASSGN(versioned_action_request, 'addressee')/ |


<a id="p104907"></a>5.1.3.9.2 author
<a id="p104908"></a>Примечание - Атрибут унаследован из супертипа Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104909"></a>Элемент ПИМ: | <a id="p104910"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p104911"></a>Источник: | <a id="p104912"></a>ИСО 10303-216 |
| <a id="p104913"></a>Правила: | <a id="p104914"></a>[5.2.4.14](#p113284) |
| <a id="p104915"></a>Ссылочный путь: | <a id="p104916"></a>/PERS_ORG_ASSGN(versioned_action_request, 'author')/ |


<a id="p104917"></a>5.1.3.9.3 date_time
<a id="p104918"></a>Примечание - Атрибут унаследован из супертипа Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104919"></a>Элемент ПИМ: | <a id="p104920"></a>applied_date_and_time_assignment.assigned_date_and_time |
| --- | --- |
| <a id="p104921"></a>Источник: | <a id="p104922"></a>ИСО 10303-216 |
| <a id="p104923"></a>Правила: | <a id="p104924"></a>[5.2.4.35](#p113949) |
| <a id="p104925"></a>Ссылочный путь: | <a id="p104926"></a>DAT_TIME_ASSGN(versioned_action_request,'date time')/ |


<a id="p104927"></a>5.1.3.9.4 description
<a id="p104928"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.8.3](#p107924)).


| <a id="p104929"></a>Элемент ПИМ: | <a id="p104930"></a>versioned_action_request.description |
| --- | --- |
| <a id="p104931"></a>Источник: | <a id="p104932"></a>ИСО 10303-41 |


<a id="p104933"></a>5.1.3.9.5 initiator


| <a id="p104934"></a>Элемент ПИМ: | <a id="p104935"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p104936"></a>Источник: | <a id="p104937"></a>ИСО 10303-216 |
| <a id="p104938"></a>Правила: | <a id="p104939"></a>[5.2.4.50](#p114424) |
| <a id="p104940"></a>Ссылочный путь: | <a id="p104941"></a>/PERS_ORG_ASSGN(versioned_action_request, 'initiator')/ |


<a id="p104942"></a>5.1.3.9.6 problem


| <a id="p104943"></a>Элемент ПИМ: | <a id="p104944"></a>versioned_action_request.purpose |
| --- | --- |
| <a id="p104945"></a>Источник: | <a id="p104946"></a>ИСО 10303-41 |


<a id="p104947"></a>5.1.3.9.7 solution_description


| <a id="p104948"></a>Элемент ПИМ: | <a id="p104949"></a>action_request_solution.description |
| --- | --- |
| <a id="p104950"></a>Источник: | <a id="p104951"></a>ИСО 10303-41 |
| <a id="p104952"></a>Ссылочный путь: | <a id="p104953"></a><a id="p104954"></a><a id="p104955"></a><a id="p104956"></a>versioned_action_request <-<br>action_request_solution.request<br>action_request_solution<br>/DESCRIPTION_ASSGN(action_request_solution)/ |


<a id="p104957"></a>5.1.3.9.8 version_id
<a id="p104958"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через супертип Change_definition (см. [5.1.3.5](#p104630)), который наследуется от супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p104959"></a>Элемент ПИМ: | <a id="p104960"></a>applied_identification_assignment.assigned_id |
| --- | --- |
| <a id="p104961"></a>Источник: | <a id="p104962"></a>ИСО 10303-216 |
| <a id="p104963"></a>Правила: | <a id="p104964"></a>[5.2.4.164](#p118524) |
| <a id="p104965"></a>Ссылочный путь: | <a id="p104966"></a>/VERSION_ID(versioned_action_request )/ |


<a id="p104967"></a>5.1.3.9.9 change_request для change (как defined_for)
<a id="p104968"></a>Примечание - Атрибут унаследован из супертипа Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104969"></a>Элемент ПИМ: | <a id="p104970"></a>PATH |
| --- | --- |
| <a id="p104971"></a>Ссылочный путь: | <a id="p104972"></a><a id="p104973"></a><a id="p104974"></a><a id="p104975"></a><a id="p104976"></a><a id="p104977"></a><a id="p104978"></a><a id="p104979"></a>versioned_action_request <-<br>action_request_solution.request<br>action_request_solution<br>action_request_solution.method -><br>action_method <-<br>action.chosen_method<br>action<br>{/CLASS_ID(action, 'change')/} |


<a id="p104980"></a>5.1.3.9.10 change_request для global_id (как id)
<a id="p104981"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Change_definition (см. [5.1.3.5](#p104630)).


| <a id="p104982"></a>Элемент ПИМ: | <a id="p104983"></a>PATH |
| --- | --- |
| <a id="p104984"></a>Правила: | <a id="p104985"></a>[5.2.4.45](#p114249), [5.2.4.165](#p118559) |
| <a id="p104986"></a>Ссылочный путь: | <a id="p104987"></a><a id="p104988"></a><a id="p104989"></a><a id="p104990"></a><a id="p104991"></a>versioned_action_request<br>identification_item = versioned_action_request<br>identification_item <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p104992"></a>5.1.3.9.11 change_request для change_impact (как solution_alternatives)


| <a id="p104993"></a>Элемент ПИМ: | <a id="p104994"></a>PATH |
| --- | --- |
| <a id="p104995"></a>Ссылочный путь: | <a id="p104996"></a><a id="p104997"></a><a id="p104998"></a><a id="p104999"></a><a id="p105000"></a>versioned_action_request <-<br>action_request_assignment.assigned_action_request<br>action_request_assignment =><br>applied_action_request_assignment<br>{/CLASS_ID(applied_action_request_assignment, 'change impact')/} |



###### <a id="p105001"></a>5.1.3.10 Прикладной объект CHECK



| <a id="p105002"></a>Элемент ПИМ: | <a id="p105003"></a>action |
| --- | --- |
| <a id="p105004"></a>Источник: | <a id="p105005"></a>ИСО 10303-41 |
| <a id="p105006"></a>Ссылочный путь: | <a id="p105007"></a><a id="p105008"></a>{[/CLASS(action, 'check', 'event')/]<br>[/ROOT_CLASS(action, 'event')/]} |


<a id="p105009"></a>5.1.3.10.1 caused_by
<a id="p105010"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)).


| <a id="p105011"></a>Элемент ПИМ: | <a id="p105012"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p105013"></a>Источник: | <a id="p105014"></a>ИСО 10303-216 |
| <a id="p105015"></a>Правила: | <a id="p105016"></a>[5.2.4.15](#p113313) |
| <a id="p105017"></a>Ссылочный путь: | <a id="p105018"></a><a id="p105019"></a><a id="p105020"></a><a id="p105021"></a>/PERS_ORG_ASSGN(action, 'caused by')/<br>action.chosen_method<br>action<br>{/CLASS_ID(action, 'change')/} |


<a id="p105022"></a>5.1.3.10.2 caused_when
<a id="p105023"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)).


| <a id="p105024"></a>Элемент ПИМ: | <a id="p105025"></a>applied_date_and_time_assignment.assigned_date_and_time |
| --- | --- |
| <a id="p105026"></a>Источник: | <a id="p105027"></a>ИСО 10303-216 |
| <a id="p105028"></a>Правила: | <a id="p105029"></a>[5.2.4.20](#p113456) |
| <a id="p105030"></a>Ссылочный путь: | <a id="p105031"></a>/DAT_TIME_ASSGN(action, 'caused when')/ |


<a id="p105032"></a>5.1.3.10.3 description
<a id="p105033"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)).


| <a id="p105034"></a>Элемент ПИМ: | <a id="p105035"></a>action.description |
| --- | --- |
| <a id="p105036"></a>Источник: | <a id="p105037"></a>ИСО 10303-41 |



###### <a id="p105038"></a>5.1.3.11 Прикладной объект ENVISAGED_VERSION_CREATION



| <a id="p105039"></a>Элемент ПИМ: | <a id="p105040"></a>action |
| --- | --- |
| <a id="p105041"></a>Источник: | <a id="p105042"></a>ИСО 10303-41 |
| <a id="p105043"></a>Ссылочный путь: | <a id="p105044"></a><a id="p105045"></a>{[/CLASS(action, 'envisaged version creation', 'versionable object change event')/]<br>[/CLASS(action, 'versionable object change event', 'event')/] [/ROOT_CLASS(action, 'event')/]} |


<a id="p105046"></a>5.1.3.11.1 category


| <a id="p105047"></a>Элемент ПИМ: | <a id="p105048"></a>action.name |
| --- | --- |
| <a id="p105049"></a>Источник: | <a id="p105050"></a>ИСО 10303-41 |


<a id="p105051"></a>5.1.3.11.2 caused_by
<a id="p105052"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105053"></a>Элемент ПИМ: | <a id="p105054"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p105055"></a>Источник: | <a id="p105056"></a>ИСО 10303-41 |
| <a id="p105057"></a>Правила: | <a id="p105058"></a>[5.2.4.16](#p113341) |
| <a id="p105059"></a>Ссылочный путь: | <a id="p105060"></a>/PERS_ORG_ASSGN(action, 'caused by')/ |


<a id="p105061"></a>5.1.3.11.3 caused_when
<a id="p105062"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105063"></a>Элемент ПИМ: | <a id="p105064"></a>applied_date_and_time_assignment.assigned_date_and_time |
| --- | --- |
| <a id="p105065"></a>Источник: | <a id="p105066"></a>ИСО 10303-216 |
| <a id="p105067"></a>Правила: | <a id="p105068"></a>[5.2.4.21](#p113484) |
| <a id="p105069"></a>Ссылочный путь: | <a id="p105070"></a>/DAT_TIME_ASSGN(action,'causedwhen')/ |


<a id="p105071"></a>5.1.3.11.4 description
<a id="p105072"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105073"></a>Элемент ПИМ: | <a id="p105074"></a>action.description |
| --- | --- |
| <a id="p105075"></a>Источник: | <a id="p105076"></a>ИСО 10303-41 |
| <a id="p105077"></a>Правила: | <a id="p105078"></a>[5.2.4.40](#p114087) |


<a id="p105079"></a>5.1.3.11.5 envisaged_version_creation для versionable_object (как base)


| <a id="p105080"></a>Элемент ПИМ: | <a id="p105081"></a>PATH |
| --- | --- |
| <a id="p105082"></a>Ссылочный путь: | <a id="p105083"></a><a id="p105084"></a><a id="p105085"></a><a id="p105086"></a><a id="p105087"></a><a id="p105088"></a><a id="p105089"></a><a id="p105090"></a><a id="p105091"></a><a id="p105092"></a><a id="p105093"></a><a id="p105094"></a>action <-<br>action_assignment.assigned_action<br>action_assignment<br>/ROLE_ASSGN(action_assignment)/<br>{object_role.name = 'base'}<br>action_assignment =><br>(/RELATE_ACT_2_VO(product_definition)/)<br>(/RELATE_ACT_2_VO(property_definition)/)<br>(/RELATE_ACT_2_VO(product_definition_relationship)/)<br>(/RELATE_ACT_2_VO(product_definition_shape)/)<br>(/RELATE_ACT_2_VO(product_related_product_category)/)<br>(/RELATE_ACT_2_VO(document)/) |



###### <a id="p105095"></a>5.1.3.12 Прикладной элемент EVENT



|  | <a id="p105096"></a><a id="p105097"></a><a id="p105098"></a>#1: Если значением элемента Event является Versionable_object_change_event<br>#2: Если значением элемента Event является Approval_event<br>#3: Если значением элемента Event является Check |
| --- | --- |
| <a id="p105099"></a>Элемент ПИМ: | <a id="p105100"></a><a id="p105101"></a><a id="p105102"></a>#1: (action)<br>#2: (approval)<br>#3: (action) |
| <a id="p105103"></a>Источник: | <a id="p105104"></a>ИСО 10303-41 |


<a id="p105105"></a>5.1.3.12.1 caused_by


| <a id="p105106"></a>Элемент ПИМ: | <a id="p105107"></a><a id="p105108"></a><a id="p105109"></a>/SUBTYPE(Versionable_object_change_event)/ (см. [5.1.3.20](#p105489))<br>/SUBTYPE(Approval_event)/ (см. [5.1.3.2](#p104410))<br>/SUBTYPE(Check)/ (см. [5.1.3.10](#p105001)) |
| --- | --- |


<a id="p105110"></a>5.1.3.12.2 caused_when


| <a id="p105111"></a>Элемент ПИМ: | <a id="p105112"></a><a id="p105113"></a><a id="p105114"></a>/SUBTYPE(Versionable_object_change_event)/ (см. [5.1.3.20](#p105489))<br>/SUBTYPE(Approval_event)/ (см. [5.1.3.2](#p104410))<br>/SUBTYPE(Check)/ (см. [5.1.3.10](#p105001)) |
| --- | --- |


<a id="p105115"></a>5.1.3.12.3 description


| <a id="p105116"></a>Элемент ПИМ: | <a id="p105117"></a><a id="p105118"></a><a id="p105119"></a>/SUBTYPE(Versionable_object_change_event)/ (см. [5.1.3.20](#p105489))<br>/SUBTYPE(Approval_event)/ (см. [5.1.3.2](#p104410))<br>/SUBTYPE(Check)/ (см. [5.1.3.10](#p105001)) |
| --- | --- |



###### <a id="p105120"></a>5.1.3.13 Прикладной элемент REVISION



| <a id="p105121"></a>Элемент ПИМ: | <a id="p105122"></a>group |
| --- | --- |
| <a id="p105123"></a>Источник: | <a id="p105124"></a>ИСО 10303-41 |
| <a id="p105125"></a>Правила: | <a id="p105126"></a>[5.2.4.52](#p114479) |
| <a id="p105127"></a>Ссылочный путь: | <a id="p105128"></a><a id="p105129"></a>{[/CLASS(group, 'revision', 'versionable object')/]<br>[/ROOT_CLASS(group, 'versionable object')/]} |


<a id="p105130"></a>5.1.3.13.1 description
<a id="p105131"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p105132"></a>Элемент ПИМ: | <a id="p105133"></a>group.description |
| --- | --- |
| <a id="p105134"></a>Источник: | <a id="p105135"></a>ИСО 10303-41 |
| <a id="p105136"></a>Правила: | <a id="p105137"></a>[5.2.4.133](#p117490) |


<a id="p105138"></a>5.1.3.13.2 name


| <a id="p105139"></a>Элемент ПИМ: | <a id="p105140"></a>group.name |
| --- | --- |
| <a id="p105141"></a>Источник: | <a id="p105142"></a>ИСО 10303-41 |


<a id="p105143"></a>5.1.3.13.3 version_id
<a id="p105144"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p105145"></a>Элемент ПИМ: | <a id="p105146"></a>applied_identification_assignment.assigned_id |
| --- | --- |
| <a id="p105147"></a>Источник: | <a id="p105148"></a>ИСО 10303-216 |
| <a id="p105149"></a>Правила: | <a id="p105150"></a>[5.2.4.164](#p118524) |
| <a id="p105151"></a>Ссылочный путь: | <a id="p105152"></a>/VERSION_ID(group)/ |


<a id="p105153"></a>5.1.3.13.4 revision для versionable_object (как members)


| <a id="p105154"></a>Элемент ПИМ: | <a id="p105155"></a>PATH |
| --- | --- |
| <a id="p105156"></a>Правила: | <a id="p105157"></a>[5.2.4.52](#p114479) |
| <a id="p105158"></a>Ссылочный путь: | <a id="p105159"></a><a id="p105160"></a><a id="p105161"></a><a id="p105162"></a><a id="p105163"></a><a id="p105164"></a><a id="p105165"></a>group <-<br>(/RELATE_GROUP_2_VO(product_definition, 'members')/)<br>(/RELATE_GROUP_2_VO(property_definition, 'members')/)<br>(/RELATE_GROUP_2_VO(product_definition_relationship, 'members' )/)<br>(/RELATE_GROUP_2_VO(product_definition_shape, 'members')/)<br>(/RELATE_GROUP_2_VO(product_related_product_category, 'members' )/)<br>(/RELATE_GROUP_2_VO(document, 'members' )/) |



###### <a id="p105166"></a>5.1.3.14 Прикладной элемент REVISION_WITH_CONTEXT



| <a id="p105167"></a>Элемент ПИМ: | <a id="p105168"></a>group |
| --- | --- |
| <a id="p105169"></a>Источник: | <a id="p105170"></a>ИСО 10303-41 |
| <a id="p105171"></a>Ссылочный путь: | <a id="p105172"></a><a id="p105173"></a><a id="p105174"></a>{[/CLASS(group, 'revision with context', 'revision')/]<br>[/CLASS(group, 'revision', 'versionable object')/]<br>[/ROOT_CLASS(group, 'versionable object')/]} |


<a id="p105175"></a>5.1.3.14.1 description
<a id="p105176"></a>Примечание - Атрибут унаследован из супертипа Revision (см. [5.1.3.13](#p105120)).


| <a id="p105177"></a>Элемент ПИМ: | <a id="p105178"></a>group.description |
| --- | --- |
| <a id="p105179"></a>Источник: | <a id="p105180"></a>ИСО 10303-41 |
| <a id="p105181"></a>Правила: | <a id="p105182"></a>[5.2.4.133](#p117490) |


<a id="p105183"></a>5.1.3.14.2 name
<a id="p105184"></a>Примечание - Атрибут унаследован из супертипа Revision (см. [5.1.3.13](#p105120)).


| <a id="p105185"></a>Элемент ПИМ: | <a id="p105186"></a>group.name |
| --- | --- |
| <a id="p105187"></a>Источник: | <a id="p105188"></a>ИСО 10303-41 |


<a id="p105189"></a>5.1.3.14.3 version_id
<a id="p105190"></a>Примечание - Атрибут унаследован из супертипа Revision (см. [5.1.3.13](#p105120)), который наследуется из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p105191"></a>Элемент ПИМ: | <a id="p105192"></a>applied_identification_assignment.assigned_id |
| --- | --- |
| <a id="p105193"></a>Источник: | <a id="p105194"></a>ИСО 10303-216 |
| <a id="p105195"></a>Правила: | <a id="p105196"></a>[5.2.4.164](#p118524) |
| <a id="p105197"></a>Ссылочный путь: | <a id="p105198"></a>/VERSION_ID(group)/ |


<a id="p105199"></a>5.1.3.14.4 revision_with_context для definable_object (как context_of_revision)


| <a id="p105200"></a>Элемент ПИМ: | <a id="p105201"></a>PATH |
| --- | --- |
| <a id="p105202"></a>Правила: | <a id="p105203"></a>[5.2.4.134](#p117512) |
| <a id="p105204"></a>Ссылочный путь: | <a id="p105205"></a><a id="p105206"></a><a id="p105207"></a><a id="p105208"></a>group <-<br>(/RELATE_GROUP_2_DO(product, 'context of revision')/)<br>(/RELATE_GROUP_2_DO(product_definition, 'context of revision')/)<br>(/RELATE_GROUP_2_DO(product_definition_relationship, 'context of revision')/) |


<a id="p105209"></a>5.1.3.14.5 revision_with_context для versionable_object (как members)
<a id="p105210"></a>Примечание - Атрибут унаследован из супертипа Revision (см. [5.1.3.13](#p105120)).


| <a id="p105211"></a>Элемент ПИМ: | <a id="p105212"></a>/SUPERTYPE(revision)/ (см. [5.1.3.13](#p105120)) |
| --- | --- |



###### <a id="p105213"></a>5.1.3.15 Прикладной элемент VERSION_CREATION



| <a id="p105214"></a>Элемент ПИМ: | <a id="p105215"></a>action |
| --- | --- |
| <a id="p105216"></a>Источник: | <a id="p105217"></a>ИСО 10303-41 |
| <a id="p105218"></a>Ссылочный путь: | <a id="p105219"></a><a id="p105220"></a><a id="p105221"></a>{[/CLASS(action, 'version creation', 'versionable object change event')/]<br>[/CLASS(action, 'versionable object change event', 'event')/]<br>[/ROOT_CLASS(action, 'event')/]} |


<a id="p105222"></a>5.1.3.15.1 caused_by
<a id="p105223"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105224"></a>Элемент ПИМ: | <a id="p105225"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p105226"></a>Источник: | <a id="p105227"></a>ИСО 10303-216 |
| <a id="p105228"></a>Правила: | <a id="p105229"></a>[5.2.4.17](#p113369) |
| <a id="p105230"></a>Ссылочный путь: | <a id="p105231"></a>/PERS_ORG_ASSGN(action, 'caused by')/ |


<a id="p105232"></a>5.1.3.15.2 caused_when
<a id="p105233"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105234"></a>Элемент ПИМ: | <a id="p105235"></a>applied_date_and_time_assignment.assigned_date_and_time |
| --- | --- |
| <a id="p105236"></a>Источник: | <a id="p105237"></a>ИСО 10303-216 |
| <a id="p105238"></a>Правила: | <a id="p105239"></a>[5.2.4.22](#p113512) |
| <a id="p105240"></a>Ссылочный путь: | <a id="p105241"></a>/DAT_TIME_ASSGN(action, 'caused when')/ |


<a id="p105242"></a>5.1.3.15.3 description
<a id="p105243"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [1.3.20](#p105489)).


| <a id="p105244"></a>Элемент ПИМ: | <a id="p105245"></a>action.description |
| --- | --- |
| <a id="p105246"></a>Источник: | <a id="p105247"></a>ИСО 10303-41 |
| <a id="p105248"></a>Правила: | <a id="p105249"></a>[5.2.4.154](#p118260) |


<a id="p105250"></a>5.1.3.15.4 version_creation для versionable_object (как base)


| <a id="p105251"></a>Элемент ПИМ: | <a id="p105252"></a>PATH |
| --- | --- |
| <a id="p105253"></a>Ссылочный путь: | <a id="p105254"></a><a id="p105255"></a><a id="p105256"></a><a id="p105257"></a><a id="p105258"></a><a id="p105259"></a><a id="p105260"></a><a id="p105261"></a><a id="p105262"></a><a id="p105263"></a><a id="p105264"></a><a id="p105265"></a>action <-<br>action_assignment.assigned_action<br>action_assignment<br>/ROLE_ASSGN(action_assignment)/<br>{object_role.name = 'base'}<br>action_assignment =><br>(/RELATE_ACT_2_VO(product_definition)/)<br>(/RELATE_ACT_2_VO(property_definition)/)<br>(/RELATE_ACT_2_VO(product_definition_relationship)/)<br>(/RELATE_ACT_2_VO(product_definition_shape)/)<br>(/RELATE_ACT_2_VO(product_related_product_category)/)<br>(/RELATE_ACT_2_VO(document)/) |


<a id="p105266"></a>5.1.3.15.5 version_creation для versionable_object (как subject)


| <a id="p105267"></a>Элемент ПИМ: | <a id="p105268"></a>PATH |
| --- | --- |
| <a id="p105269"></a>Ссылочный путь: | <a id="p105270"></a><a id="p105271"></a><a id="p105272"></a><a id="p105273"></a><a id="p105274"></a><a id="p105275"></a><a id="p105276"></a><a id="p105277"></a><a id="p105278"></a><a id="p105279"></a><a id="p105280"></a><a id="p105281"></a>action <-<br>action_assignment.assigned_action<br>action_assignment<br>/ROLE_ASSGN(action_assignment)/<br>{object_role.name = 'subject'}<br>action_assignment =><br>(/RELATE_ACT_2_VO(product_definition)/)<br>(/RELATE_ACT_2_VO(property_definition)/)<br>(/RELATE_ACT_2_VO(product_definition_relationship)/)<br>(/RELATE_ACT_2_VO(product_definition_shape)/)<br>(/RELATE_ACT_2_VO(product_related_product_category)/)<br>(/RELATE_ACT_2_VO(document)/) |



###### <a id="p105282"></a>5.1.3.16 Прикладной элемент VERSION_DELETION



| <a id="p105283"></a>Элемент ПИМ: | <a id="p105284"></a>action |
| --- | --- |
| <a id="p105285"></a>Источник: | <a id="p105286"></a>ИСО 10303-41 |
| <a id="p105287"></a>Ссылочный путь: | <a id="p105288"></a><a id="p105289"></a><a id="p105290"></a>{[/CLASS(action, 'version deletion', 'versionable object change event')/]<br>[/CLASS(action, 'versionable object change event', 'event')/]<br>[/ROOT_CLASS(action, 'event')/]} |


<a id="p105291"></a>5.1.3.16.1 caused_by
<a id="p105292"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105293"></a>Элемент ПИМ: | <a id="p105294"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p105295"></a>Источник: | <a id="p105296"></a>ИСО 10303-216 |
| <a id="p105297"></a>Правила: | <a id="p105298"></a>[5.2.4.18](#p113398) |
| <a id="p105299"></a>Ссылочный путь: | <a id="p105300"></a>/PERS_ORG_ASSGN(action, 'caused by')/ |


<a id="p105301"></a>5.1.3.16.2 caused_when
<a id="p105302"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105303"></a>Элемент ПИМ: | <a id="p105304"></a>applied_date_and_time_assignment.assigned_date_and_time |
| --- | --- |
| <a id="p105305"></a>Источник: | <a id="p105306"></a>ИСО 10303-216 |
| <a id="p105307"></a>Правила: | <a id="p105308"></a>[5.2.4.24](#p113569) |
| <a id="p105309"></a>Ссылочный путь: | <a id="p105310"></a>/DAT_TIME_ASSGN(action, 'caused when')/ |


<a id="p105311"></a>5.1.3.16.3 description
<a id="p105312"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105313"></a>Элемент ПИМ: | <a id="p105314"></a>action.description |
| --- | --- |
| <a id="p105315"></a>Источник: | <a id="p105316"></a>ИСО 10303-41 |
| <a id="p105317"></a>Правила: | <a id="p105318"></a>[5.2.4.155](#p118283) |


<a id="p105319"></a>5.1.3.16.4 version_deletion для versionable_object (как subject)


| <a id="p105320"></a>Элемент ПИМ: | <a id="p105321"></a>PATH |
| --- | --- |
| <a id="p105322"></a>Ссылочный путь: | <a id="p105323"></a><a id="p105324"></a><a id="p105325"></a><a id="p105326"></a><a id="p105327"></a><a id="p105328"></a><a id="p105329"></a><a id="p105330"></a><a id="p105331"></a><a id="p105332"></a><a id="p105333"></a><a id="p105334"></a>action <-<br>action_assignment.assigned_action<br>action_assignment<br>/ROLE_ASSGN(action_assignment)/<br>{object_role.name = 'subject'}<br>action_assignment =><br>(/RELATE_ACT_2_VO(product_definition)/)<br>(/RELATE_ACT_2_VO(property_definition)/)<br>(/RELATE_ACT_2_VO(product_definition_relationship)/)<br>(/RELATE_ACT_2_VO(product_definition_shape)/)<br>(/RELATE_ACT_2_VO(product_related_product_category)/)<br>(/RELATE_ACT_2_VO(document)/) |



###### <a id="p105335"></a>5.1.3.17 Прикладной элемент VERSION_HISTORY



| <a id="p105336"></a>Элемент ПИМ: | <a id="p105337"></a>group |
| --- | --- |
| <a id="p105338"></a>Источник: | <a id="p105339"></a>ИСО 10303-41 |
| <a id="p105340"></a>Правила: | <a id="p105341"></a>[5.2.4.159](#p118401) |
| <a id="p105342"></a>Ссылочный путь: | <a id="p105343"></a>/ROOT_CLASS(group, 'version history')/ |


<a id="p105344"></a>5.1.3.17.1 version_history для versionable_object (как current_version)


| <a id="p105345"></a>Элемент ПИМ: | <a id="p105346"></a>PATH |
| --- | --- |
| <a id="p105347"></a>Правила: | <a id="p105348"></a>[5.2.4.158](#p118375), [5.2.4.156](#p118317) |
| <a id="p105349"></a>Ссылочный путь: | <a id="p105350"></a><a id="p105351"></a><a id="p105352"></a><a id="p105353"></a><a id="p105354"></a><a id="p105355"></a><a id="p105356"></a>group <-<br>(/RELATE_GROUP_2_VO(product_definition, 'versions')/)<br>(/RELATE_GROUP_2_VO(property_definition, 'versions')/)<br>(/RELATE_GROUP_2_VO(product_definition_relationship, 'versions' )/)<br>(/RELATE_GROUP_2_VO(product_definition_shape, 'versions')/)<br>(/RELATE_GROUP_2_VO(product_related_product_category, 'versions' )/)<br>(/RELATE_GROUP_2_VO(document, 'versions' )/) |


<a id="p105357"></a>5.1.3.17.2 version_history для version_relationship (как relationships)


| <a id="p105358"></a>Элемент ПИМ: | <a id="p105359"></a>PATH |
| --- | --- |
| <a id="p105360"></a>Ссылочный путь: | <a id="p105361"></a><a id="p105362"></a><a id="p105363"></a><a id="p105364"></a>group <-<br>/GROUPS(identification_assignment_relationship, 'relationships')/<br>identification_assignment_relationship<br>{/CLASS_ID(identification_assignment_relationship, 'version relationship')/} |



<table>
<colgroup><col width="23%"><col width="77%"></colgroup>
<tr><td><a id="p105365"></a>5.1.3.17.3 version_history для versionable_object (как versions)</td><td></td></tr>
<tr><td colspan="2"><a id="p105366"></a><a id="p105367"></a>Элемент ПИМ:<br>PATH</td></tr>
<tr><td><a id="p105368"></a>Правила:</td><td><a id="p105369"></a><a href="#p118559">5.2.4.166</a></td></tr>
<tr><td><a id="p105370"></a>Ссылочный путь:</td><td><a id="p105371"></a><a id="p105372"></a><a id="p105373"></a><a id="p105374"></a><a id="p105375"></a><a id="p105376"></a><a id="p105377"></a>group &lt;-<br>(/RELATE_GROUP_2_VO(product_definition, 'versions')/)<br>(/RELATE_GROUP_2_VO(property_definition, 'versions')/)<br>(/RELATE_GROUP_2_VO(product_definition_relationship, 'versions' )/)<br>(/RELATE_GROUP_2_VO(product_definition_shape, 'versions')/)<br>(/RELATE_GROUP_2_VO(product_related_product_category, 'versions' )/)<br>(/RELATE_GROUP_2_VO(document, 'versions' )/)</td></tr>
</table>



###### <a id="p105378"></a>5.1.3.18 Прикладной элемент VERSION_MODIFICATION



| <a id="p105379"></a>Элемент ПИМ: | <a id="p105380"></a>action |
| --- | --- |
| <a id="p105381"></a>Источник: | <a id="p105382"></a>ИСО 10303-41 |
| <a id="p105383"></a>Ссылочный путь: | <a id="p105384"></a><a id="p105385"></a><a id="p105386"></a>{[/CLASS(action, 'version modification', 'versionable object change event')/]<br>[/CLASS(action, 'versionable object change event', 'event')/]<br>[/ROOT_CLASS(action, 'event')/]} |


<a id="p105387"></a>5.1.3.18.1 caused_by
<a id="p105388"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105389"></a>Элемент ПИМ: | <a id="p105390"></a>applied_person_and_organization_assignment.assigned_person_and_organization |
| --- | --- |
| <a id="p105391"></a>Источник: | <a id="p105392"></a>ИСО 10303-216 |
| <a id="p105393"></a>Правила: | <a id="p105394"></a>[5.2.4.19](#p113427) |
| <a id="p105395"></a>Ссылочный путь: | <a id="p105396"></a>/PERS_ORG_ASSGN(action, 'caused by')/ |


<a id="p105397"></a>5.1.3.18.2 caused_when
<a id="p105398"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105399"></a>Элемент ПИМ: | <a id="p105400"></a>applied_date_and_time_assignment.assigned_date_and_time |
| --- | --- |
| <a id="p105401"></a>Источник: | <a id="p105402"></a>ИСО 10303-216 |
| <a id="p105403"></a>Правила: | <a id="p105404"></a>[5.2.4.23](#p113541) |
| <a id="p105405"></a>Ссылочный путь: | <a id="p105406"></a>/DAT_TIME_ASSGN(action,'caused when')/ |


<a id="p105407"></a>5.1.3.18.3 description
<a id="p105408"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)), через супертип Versionable_object_change_event (см. [5.1.3.20](#p105489)).


| <a id="p105409"></a>Элемент ПИМ: | <a id="p105410"></a>action.description |
| --- | --- |
| <a id="p105411"></a>Источник: | <a id="p105412"></a>ИСО 10303-41 |
| <a id="p105413"></a>Правила: | <a id="p105414"></a>[5.2.4.160](#p118423) |


<a id="p105415"></a>5.1.3.18.4 version_modification для versionable_object (как base)


| <a id="p105416"></a>Элемент ПИМ: | <a id="p105417"></a>PATH |
| --- | --- |
| <a id="p105418"></a>Ссылочный путь: | <a id="p105419"></a><a id="p105420"></a><a id="p105421"></a><a id="p105422"></a><a id="p105423"></a><a id="p105424"></a><a id="p105425"></a><a id="p105426"></a><a id="p105427"></a><a id="p105428"></a><a id="p105429"></a><a id="p105430"></a>action <-<br>action_assignment.assigned_action<br>action_assignment<br>/ROLE_ASSGN(action_assignment)/<br>{object_role.name = 'base'}<br>action_assignment =><br>(/RELATE_ACT_2_VO(product_definition)/)<br>(/RELATE_ACT_2_VO(property_definition)/)<br>(/RELATE_ACT_2_VO(product_definition_relationship)/)<br>(/RELATE_ACT_2_VO(product_definition_shape)/)<br>(/RELATE_ACT_2_VO(product_related_product_category)/)<br>(/RELATE_ACT_2_VO(document)/) |


<a id="p105431"></a>5.1.3.18.5 version_modification для versionable_object (как subject)


| <a id="p105432"></a>Элемент ПИМ: | <a id="p105433"></a>PATH |
| --- | --- |
| <a id="p105434"></a>Ссылочный путь: | <a id="p105435"></a><a id="p105436"></a><a id="p105437"></a><a id="p105438"></a><a id="p105439"></a><a id="p105440"></a><a id="p105441"></a><a id="p105442"></a><a id="p105443"></a><a id="p105444"></a><a id="p105445"></a><a id="p105446"></a>action <-<br>action_assignment.assigned_action<br>action_assignment<br>/ROLE_ASSGN(action_assignment)/<br>{object_role.name = 'subject'}<br>action_assignment =><br>(/RELATE_ACT_2_VO(product_definition)/)<br>(/RELATE_ACT_2_VO(property_definition)/)<br>(/RELATE_ACT_2_VO(product_definition_relationship)/)<br>(/RELATE_ACT_2_VO(product_definition_shape)/)<br>(/RELATE_ACT_2_VO(product_related_product_category)/)<br>(/RELATE_ACT_2_VO(document)/) |



###### <a id="p105447"></a>5.1.3.19 Прикладной объект VERSION_RELATIONSHIP



| <a id="p105448"></a>Элемент ПИМ: | <a id="p105449"></a>identification_assignment_relationship |
| --- | --- |
| <a id="p105450"></a>Источник: | <a id="p105451"></a>ИСО 10303-41 |
| <a id="p105452"></a>Правила: | <a id="p105453"></a>[5.2.4.161](#p118451), [5.2.4.163](#p118496) |
| <a id="p105454"></a>Ссылочный путь: | <a id="p105455"></a>/ROOT_CLASS(identification_assignment_relationship, 'version relationship')/ |


<a id="p105456"></a>5.1.3.19.1 reason


| <a id="p105457"></a>Элемент ПИМ: | <a id="p105458"></a>identification_assignment_relationship.description |
| --- | --- |
| <a id="p105459"></a>Источник: | <a id="p105460"></a>ИСО 10303-41 |
| <a id="p105461"></a>Правила: | <a id="p105462"></a>[5.2.4.162](#p118472) |


<a id="p105463"></a>5.1.3.19.2 version_relationship для versionable_object (как predecessor)


| <a id="p105464"></a>Элемент ПИМ: | <a id="p105465"></a>PATH |
| --- | --- |
| <a id="p105466"></a>Ссылочный путь: | <a id="p105467"></a><a id="p105468"></a><a id="p105469"></a><a id="p105470"></a><a id="p105471"></a><a id="p105472"></a><a id="p105473"></a><a id="p105474"></a><a id="p105475"></a>identification_assignment_relationship<br>identification_assignment_relationship.related_assignment -><br>(/RELATE_ID_2_VO(product_definition)/)<br>(/RELATE_ID_2_VO(property_definition)/)<br>(/RELATE_ID_2_VO(product_definition_relationship)/)<br>(/RELATE_ID_2_VO(product_definition_shape)/)<br>(/RELATE_ID_2_VO(product_related_product_category)/)<br>(/RELATE_ID_2_VO(document)/)<br>(/RELATE_ID_2_VO(group)/) |


<a id="p105476"></a>5.1.3.19.3 version_relationship для versionable_object (как successor)


| <a id="p105477"></a>Элемент ПИМ: | <a id="p105478"></a>PATH |
| --- | --- |
| <a id="p105479"></a>Ссылочный путь: | <a id="p105480"></a><a id="p105481"></a><a id="p105482"></a><a id="p105483"></a><a id="p105484"></a><a id="p105485"></a><a id="p105486"></a><a id="p105487"></a><a id="p105488"></a>identification_assignment_relationship<br>identification_assignment_relationship.relating_assignment -><br>(/RELATE_ID_2_VO(product_definition)/)<br>(/RELATE_ID_2_VO(property_definition)/)<br>(/RELATE_ID_2_VO(product_definition_relationship)/)<br>(/RELATE_ID_2_VO(product_definition_shape)/)<br>(/RELATE_ID_2_VO(product_related_product_category)/)<br>(/RELATE_ID_2_VO(document)/)<br>(/RELATE_ID_2_VO(group)/) |



###### <a id="p105489"></a>5.1.3.20 Прикладной элемент VERSIONABLE_OBJECT_CHANGE_EVENT



|  | <a id="p105490"></a><a id="p105491"></a><a id="p105492"></a><a id="p105493"></a>#1: Значением элемента Versionable_object_change_event является envisaged_version_creation<br>#2: Значением элемента Versionable_object_change_event является version_creation<br>#3: Значением элемента Versionable_object_change_event является version_modification<br>#4: Значением элемента Versionable_object_change_event является version_deletion |
| --- | --- |
| Элемент ПИМ: | <a id="p105494"></a><a id="p105495"></a><a id="p105496"></a><a id="p105497"></a>#1: (action)<br>#2: (action)<br>#3: (action)<br>#4: (action) |
| <a id="p105498"></a>Источник: | <a id="p105499"></a>ИСО 10303-41 |


<a id="p105500"></a>5.1.3.20.1 caused_by
<a id="p105501"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)).


| <a id="p105502"></a>Элемент ПИМ: | <a id="p105503"></a><a id="p105504"></a><a id="p105505"></a><a id="p105506"></a>#1: /SUBTYPE(Envisaged_version_creation)/ (см. [5.1.3.11.2](#p105051))<br>#2: /SUBTYPE(Version_creation)/ (см. [5.1.3.15.1](#p105222))<br>#3: /SUBTYPE(Version_modification)/ (см. [5.1.3.18.1](#p105387))<br>#4: /SUBTYPE(Version_deletion)/ (см. [5.1.3.16.1](#p105291)) |
| --- | --- |


<a id="p105507"></a>5.1.3.20.2 caused_when
<a id="p105508"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)).


| <a id="p105509"></a>Элемент ПИМ: | <a id="p105510"></a><a id="p105511"></a><a id="p105512"></a><a id="p105513"></a>#1: /SUBTYPE(Envisaged_version_creation)/ (см. [5.1.3.11.3](#p105061))<br>#2: /SUBTYPE(Version_creation)/ (см. [5.1.3.15.2](#p105232))<br>#3: /SUBTYPE(Version_modification)/ (см. [5.1.3.18.2](#p105397))<br>#4: /SUBTYPE(Version_deletion)/ (см. [5.1.3.16.2](#p105301)) |
| --- | --- |


<a id="p105514"></a>5.1.3.20.3 description
<a id="p105515"></a>Примечание - Атрибут унаследован из супертипа Event (см. [5.1.3.12](#p105095)).


| <a id="p105516"></a>Элемент ПИМ: | <a id="p105517"></a><a id="p105518"></a><a id="p105519"></a><a id="p105520"></a>#1: /SUBTYPE(Envisaged_version_creation)/ (см. [5.1.3.11.4](#p105071))<br>#2: /SUBTYPE(Version_creation)/ (см. [5.1.3.15.3](#p105242))<br>#3: /SUBTYPE(Version_modification)/ (см. [5.1.3.18.3](#p105407))<br>#4: /SUBTYPE(Version_deletion)/ (см. [5.1.3.16.3](#p105311)) |
| --- | --- |



##### <a id="p105521"></a>5.1.4 Функциональная единица definitions


###### <a id="p105522"></a>5.1.4.1 Прикладной элемент DEFINITION



|  | <a id="p105523"></a><a id="p105524"></a><a id="p105525"></a><a id="p105526"></a><a id="p105527"></a><a id="p105528"></a><a id="p105529"></a>#1: Значением элемента definition является change_definition<br>#2: Значением элемента definition является design_definition<br>#3: Значением элемента definition является functional_definition<br>#4: Значением элемента definition является general_characteristics_definition<br>#5: Значением элемента definition является local_coordinate_system<br>#6: Значением элемента definition является moulded_form_characteristics_definition<br>#7: Значением элемента definition является spacing_table |
| --- | --- |
| <a id="p105530"></a>Элемент ПИМ: | <a id="p105531"></a><a id="p105532"></a><a id="p105533"></a><a id="p105534"></a><a id="p105535"></a><a id="p105536"></a><a id="p105537"></a>#1: /SUBTYPE(change_definition)/ (см. [5.1.3.5](#p104630))<br>#2: /SUBTYPE(design_definition)/ (см. [5.1.4.2](#p105590))<br>#3: /SUBTYPE(functional_definition)/ (см. [5.1.4.3](#p105638))<br>#4: /SUBTYPE(general_characteristics_definition)/ (см. [5.1.4.4](#p105667))<br>#5: /SUBTYPE(local_co_ordinate_system)/ (см. [5.1.9.4](#p107097))<br>#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. [5.1.11.7](#p108746))<br>#7: /SUBTYPE(spacing_table)/ (см. [5.1.9.10](#p107602)) |


<a id="p105538"></a>5.1.4.1.1 description
<a id="p105539"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p105540"></a>Элемент ПИМ: | <a id="p105541"></a><a id="p105542"></a><a id="p105543"></a><a id="p105544"></a><a id="p105545"></a><a id="p105546"></a><a id="p105547"></a>#1: /SUBTYPE(change_definition)/ (см. [5.1.3.5.3](#p104650))<br>#2: /SUBTYPE(design_definition)/ (см. [5.1.4.2.1](#p105598))<br>#3: /SUBTYPE(functional_definition)/ (см. [5.1.4.3.1](#p105644))<br>#4: /SUBTYPE(general_characteristics_definition)/ (см. [5.1.4.4.1](#p105685))<br>#5: /SUBTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.1](#p107121))<br>#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. [5.1.11.7.1](#p108764))<br>#7: /SUBTYPE(spacing_table)/ (см. [5.1.9.10.1](#p107611)) |
| --- | --- |


<a id="p105548"></a>5.1.4.1.2 version_id
<a id="p105549"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p105550"></a>Элемент ПИМ: | <a id="p105551"></a><a id="p105552"></a><a id="p105553"></a><a id="p105554"></a><a id="p105555"></a><a id="p105556"></a><a id="p105557"></a>#1: /SUBTYPE(change_definition)/ (см. [5.1.3.5.4](#p104655))<br>#2: /SUBTYPE(design_definition)/ (см. [5.1.4.2.3](#p105608))<br>#3: /SUBTYPE(functional_definition)/ (см. [5.1.4.3.2](#p105648))<br>#4: /SUBTYPE(general_characteristics_definition)/ (см. [5.1.4.4.2](#p105695))<br>#5: /SUBTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.2](#p107127))<br>#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. [5.1.11.7.4](#p108790))<br>#7: /SUBTYPE(spacing_table)/ (см. [5.1.9.10.3](#p107621)) |
| --- | --- |


<a id="p105558"></a>5.1.4.1.3 definition для definable_object (как defined_for)


| <a id="p105559"></a>Элемент ПИМ: | <a id="p105560"></a><a id="p105561"></a><a id="p105562"></a><a id="p105563"></a><a id="p105564"></a><a id="p105565"></a><a id="p105566"></a>#1: /SUBTYPE(change_definition)/ (см. [5.1.3.5.5](#p104660))<br>#2: /SUBTYPE(design_definition)/ (см. [5.1.4.2.4](#p105614))<br>#3: /SUBTYPE(functional_definition)/ (см. [5.1.4.3.4](#p105657))<br>#4: /SUBTYPE(general_characteristics_definition)/ (см. [5.1.4.4.3](#p105706))<br>#5: /SUBTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.3](#p107137))<br>#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. [5.1.11.7.5](#p108800))<br>#7: /SUBTYPE(spacing_table)/ (см. [5.1.9.10.4](#p107631)) |
| --- | --- |


<a id="p105567"></a>5.1.4.1.4 definition для global_id (как id)


| <a id="p105568"></a>Элемент ПИМ: | <a id="p105569"></a><a id="p105570"></a><a id="p105571"></a><a id="p105572"></a><a id="p105573"></a><a id="p105574"></a><a id="p105575"></a>#1: /SUBTYPE(change_definition)/ (см. [5.1.3.5.6](#p104666))<br>#2: /SUBTYPE(design_definition)/ (см. [5.1.4.2.5](#p105620))<br>#3: /SUBTYPE(functional_definition)/ (см. [5.1.4.3.5](#p105662))<br>#4: /SUBTYPE(general_characteristics_definition)/ (см. [5.1.4.4.4](#p105716))<br>#5: /SUBTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.4](#p107143))<br>#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. [5.1.11.7.6](#p108807))<br>#7: /SUBTYPE(spacing_table)/ (см. [5.1.9.10.5](#p107647)) |
| --- | --- |


<a id="p105576"></a>5.1.4.1.5 definition для derived_unit (как local_units)


| <a id="p105577"></a>Элемент ПИМ: | <a id="p105578"></a><a id="p105579"></a><a id="p105580"></a><a id="p105581"></a><a id="p105582"></a>#2: /SUBTYPE(design_definition)/ (см. [5.1.4.2.6](#p105626))<br>#4: /SUBTYPE(general_characteristics_definition)/ (см. [5.1.4.4.5](#p105727))<br>#5: /SUBTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.5](#p107154))<br>#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. [5.1.11.7.7](#p108818))<br>#7: /SUBTYPE(spacing_table)/ (см. [5.1.9.10.6](#p107658)) |
| --- | --- |


<a id="p105583"></a>5.1.4.1.6 definition для named_unit (как local_units)


| <a id="p105584"></a>Элемент ПИМ: | <a id="p105585"></a><a id="p105586"></a><a id="p105587"></a><a id="p105588"></a><a id="p105589"></a>#2: /SUBTYPE(design_definition)/ (см. [5.1.4.2.7](#p105632))<br>#4: /SUBTYPE(general_characteristics_definition)/ (см. [5.1.4.4.6](#p105739))<br>#5: /SUBTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.6](#p107163))<br>#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. [5.1.11.7.8](#p108827))<br>#7: /SUBTYPE(spacing_table)/ (см. [5.1.9.10.7](#p107667)) |
| --- | --- |



###### <a id="p105590"></a>5.1.4.2 Прикладной элемент DESIGN_DEFINITION



|  | <a id="p105591"></a><a id="p105592"></a><a id="p105593"></a>#1: если значением design_definition является hydrostatic_definition<br>#2: если значением design_definition является moulded_form_design_definition<br>#3: если значением design_definition является stability_definition |
| --- | --- |
| <a id="p105594"></a>Элемент ПИМ: | <a id="p105595"></a><a id="p105596"></a><a id="p105597"></a>#1: /SUBTYPE(hydrostatic_definition)/ (см. [5.1.7.4](#p106228))<br>#2: /SUBTYPE(moulded_form_design_definition)/ (см. [5.1.14.3](#p110969))<br>#3: /SUBTYPE(stability_definition)/ (см. [5.1.7.11](#p106469)) |


<a id="p105598"></a>5.1.4.2.1 description


| <a id="p105599"></a>Элемент ПИМ: | <a id="p105600"></a><a id="p105601"></a><a id="p105602"></a>#1: /SUBTYPE(hydrostatic_definition)/ (см. [5.1.7.4.1](#p106238))<br>#2: /SUBTYPE(moulded_form_design_definition)/ (см. [5.1.14.3.1](#p110979))<br>#3: /SUBTYPE(stability_definition)/ (см. [5.1.7.11.1](#p106479)) |
| --- | --- |


<a id="p105603"></a>5.1.4.2.2 representations


| <a id="p105604"></a>Элемент ПИМ: | <a id="p105605"></a><a id="p105606"></a><a id="p105607"></a>#1: /SUBTYPE(hydrostatic_definition)/ (см. [5.1.7.4.8](#p106304))<br>#2: /SUBTYPE(moulded_form_design_definition)/ (см. [5.1.14.3.15](#p111146), [5.1.14.3.16](#p111158))<br>#3: /SUBTYPE(stability_definition)/ (см. [5.1.7.11.7](#p106533)) |
| --- | --- |


<a id="p105608"></a>5.1.4.2.3 version_id
<a id="p105609"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через Definition (см. [5.1.4.1](#p105522)).


| <a id="p105610"></a>Элемент ПИМ: | <a id="p105611"></a><a id="p105612"></a><a id="p105613"></a>#1: /SUBTYPE(hydrostatic_definition)/ (см. [5.1.7.4.2](#p106243))<br>#2: /SUBTYPE(moulded_form_design_definition)/ (см. [5.1.14.3.2](#p110985))<br>#3: /SUBTYPE(stability_definition)/ (см. [5.1.7.11.2](#p106484)) |
| --- | --- |


<a id="p105614"></a>5.1.4.2.4 design_definition для definable_object (как defined_for)
<a id="p105615"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p105616"></a>Элемент ПИМ: | <a id="p105617"></a><a id="p105618"></a><a id="p105619"></a>#1: /SUBTYPE(hydrostatic_definition)/ (см. [5.1.7.4.3](#p106253))<br>#2: /SUBTYPE(moulded_form_design_definition)/ (см. [5.1.14.3.7](#p111052))<br>#3: /SUBTYPE(stability_definition)/ (см. [5.1.7.11.3](#p106494)) |
| --- | --- |


<a id="p105620"></a>5.1.4.2.5 design_definition для global_id (как id)
<a id="p105621"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p105622"></a>Элемент ПИМ: | <a id="p105623"></a><a id="p105624"></a><a id="p105625"></a>#1: /SUBTYPE(hydrostatic_definition)/ (см. [5.1.7.4.5](#p106273))<br>#2: /SUBTYPE(moulded_form_design_definition)/ (см. [5.1.14.3.8](#p111060))<br>#3: /SUBTYPE(stability_definition)/ (см. [5.1.7.11.4](#p106502)) |
| --- | --- |


<a id="p105626"></a>5.1.4.2.6 design_definition для derived_unit (как local_units)
<a id="p105627"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p105628"></a>Элемент ПИМ: | <a id="p105629"></a><a id="p105630"></a><a id="p105631"></a>#1: /SUBTYPE(hydrostatic_definition)/ (см. [5.1.7.4.6](#p106286))<br>#2: /SUBTYPE(moulded_form_design_definition)/ (см. [5.1.14.3.9](#p111071))<br>#3: /SUBTYPE(stability_definition)/ (см. [5.1.7.11.5](#p106515)) |
| --- | --- |


<a id="p105632"></a>5.1.4.2.7 design_definition для named_unit (как local_units)
<a id="p105633"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p105634"></a>Элемент ПИМ: | <a id="p105635"></a><a id="p105636"></a><a id="p105637"></a>#1: /SUBTYPE(hydrostatic_definition)/ (см. [5.1.7.4.7](#p106295))<br>#2: /SUBTYPE(moulded_form_design_definition)/ (см. [5.1.14.3.10](#p111082))<br>#3: /SUBTYPE(stability_definition)/ (см. [5.1.7.11.6](#p106524)) |
| --- | --- |



###### <a id="p105638"></a>5.1.4.3 Прикладной элемент FUNCTIONAL_DEFINITION



|  | <a id="p105639"></a><a id="p105640"></a>#1: значением functional definition является moulded_form_functional_definition<br>#2: значением functional definition является Shiptype |
| --- | --- |
| <a id="p105641"></a>Элемент ПИМ: | <a id="p105642"></a><a id="p105643"></a>#1: /SUBTYPE(moulded_form_functional_definition)/ (см. [5.1.14.4](#p111188))<br>#2: /SUBTYPE(Shiptype)/ (см. [5.1.12.11](#p110327)) |


<a id="p105644"></a>5.1.4.3.1 description


| <a id="p105645"></a>Элемент ПИМ: | <a id="p105646"></a><a id="p105647"></a>#1: /SUBTYPE(moulded_form_functional_definition)/ (см. [5.1.14.4.1](#p111200))<br>#2: /SUBTYPE(Shiptype)/ (см. [5.1.12.11.1](#p110337)) |
| --- | --- |


<a id="p105648"></a>5.1.4.3.2 version_id
<a id="p105649"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через Definition (см. [5.1.4.1](#p105522)).


| <a id="p105650"></a>Элемент ПИМ: | <a id="p105651"></a><a id="p105652"></a>#1: /SUBTYPE(moulded_form_functional_definition)/ (см. [5.1.14.4.4](#p111258))<br>#2: /SUBTYPE(Shiptype)/ (см. [5.1.12.11.3](#p110362)) |
| --- | --- |


<a id="p105653"></a>5.1.4.3.3 user_def_function


| <a id="p105654"></a>Элемент ПИМ: | <a id="p105655"></a><a id="p105656"></a>#1: /SUBTYPE(moulded_form_functional_definition)/ (см. [5.1.14.4.3](#p111242))<br>#2: /SUBTYPE(Shiptype)/ (см. [5.1.12.11.2](#p110346)) |
| --- | --- |


<a id="p105657"></a>5.1.4.3.4 functional_definition для definable_object (как defined_for)
<a id="p105658"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p105659"></a>Элемент ПИМ: | <a id="p105660"></a><a id="p105661"></a>#1: /SUBTYPE(moulded_form_functional_definition)/ (см. [5.1.14.4.5](#p111268))<br>#2: /SUBTYPE(Shiptype)/ (см. [5.1.12.11.4](#p110372)) |
| --- | --- |


<a id="p105662"></a>5.1.4.3.5 functional_definition для global_id (как id)
<a id="p105663"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p105664"></a>Элемент ПИМ: | <a id="p105665"></a><a id="p105666"></a>#1: /SUBTYPE(moulded_form_functional_definition)/ (см. [5.1.14.4.6](#p111275))<br>#2: /SUBTYPE(Shiptype)/ (см. [5.1.12.11.5](#p110380)) |
| --- | --- |



###### <a id="p105667"></a>5.1.4.4 Прикладной элемент GENERAL_CHARACTERISTICS_DEFINITION



|  | <a id="p105668"></a><a id="p105669"></a><a id="p105670"></a><a id="p105671"></a><a id="p105672"></a><a id="p105673"></a><a id="p105674"></a><a id="p105675"></a>#1: если значением элемента general_characteristics_definition является class and_statutory_designation<br>#2: если значением элемента general_characteristics_definition является class_parameters<br>#3: если значением элемента general_characteristics_definition является global_axis_placement<br>#4: если значением элемента general_characteristics_definition является owner_designation<br>#5: если значением элемента general_characteristics_definition является principal_characteristics<br>#6: если значением элемента general_characteristics_definition является ship_designation<br>#7: если значением элемента general_characteristics_definition является shipyard_designation<br>#8: если значением элемента general_characteristics_definition является ship_overall_dimensions |
| --- | --- |
| <a id="p105676"></a>Элемент ПИМ: | <a id="p105677"></a><a id="p105678"></a><a id="p105679"></a><a id="p105680"></a><a id="p105681"></a><a id="p105682"></a><a id="p105683"></a><a id="p105684"></a>#1: /SUBTYPE(class_and_statutory_designation)/ (см. [5.1.12.2](#p109521))<br>#2: /SUBTYPE(class_parameters)/ (см. [5.1.12.4](#p109700))<br>#3: /SUBTYPE(global_axis_placement)/ (см. [5.1.9.3](#p106986))<br>#4: /SUBTYPE(owner_designation)/ (см. [5.1.12.6](#p109882))<br>#5: /SUBTYPE(principal_characteristics)/ (см. [5.1.12.7](#p109958))<br>#6: /SUBTYPE(ship_designation)/ (см. [5.1.12.10](#p110238))<br>#7: /SUBTYPE(shipyard_designation)/ (см. [5.1.12.12](#p110391))<br>#8: /SUBTYPE(ship_overall_dimensions)/ (см. [5.1.11.11](#p109214)) |


<a id="p105685"></a>5.1.4.4.1 description


| <a id="p105686"></a>Элемент ПИМ: | <a id="p105687"></a><a id="p105688"></a><a id="p105689"></a><a id="p105690"></a><a id="p105691"></a><a id="p105692"></a><a id="p105693"></a><a id="p105694"></a>#1: /SUBTYPE(class_and_statutory_designation)/ (см. [5.1.12.2.2](#p109542))<br>#2: /SUBTYPE(class_parameters)/ (см. [5.1.12.4.2](#p109721))<br>#3: /SUBTYPE(global_axis_placement)/ (см. [5.1.9.3.2](#p107028))<br>#4: /SUBTYPE(owner_designation)/ (см. [5.1.12.6.1](#p109892))<br>#5: /SUBTYPE(principal_characteristics)/ (см. [5.1.12.7.2](#p109979))<br>#6: /SUBTYPE(ship_designation)/ (см. [5.1.12.10.2](#p110257))<br>#7: /SUBTYPE(shipyard_designation)/ (см. [5.1.12.12.1](#p110401))<br>#8: /SUBTYPE(ship_overall_dimensions)/ (см. [5.1.11.11.1](#p109226)) |
| --- | --- |


<a id="p105695"></a>5.1.4.4.2 version_id
<a id="p105696"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через Definition (см. [5.1.4.1](#p105522)).


| <a id="p105697"></a>Элемент ПИМ: | <a id="p105698"></a><a id="p105699"></a><a id="p105700"></a><a id="p105701"></a><a id="p105702"></a><a id="p105703"></a><a id="p105704"></a><a id="p105705"></a>#1: /SUBTYPE(class_and_statutory_designation)/ (см. [5.1.12.2.3](#p109548))<br>#2: /SUBTYPE(class_parameters)/ (см. [5.1.12.4.8](#p109772))<br>#3: /SUBTYPE(global_axis_placement)/ (см. [5.1.9.3.4](#p107053))<br>#4: /SUBTYPE(owner_designation)/ (см. [5.1.12.6.6](#p109928))<br>#5: /SUBTYPE(principal_characteristics)/ (см. [5.1.12.7.12](#p110066))<br>#6: /SUBTYPE(ship_designation)/ (см. [5.1.12.10.7](#p110297))<br>#7: /SUBTYPE(shipyard_designation)/ (см. [5.1.12.12.6](#p110448))<br>#8: /SUBTYPE(ship_overall_dimensions)/ (см. [5.1.11.11.7](#p109277)) |
| --- | --- |


<a id="p105706"></a>5.1.4.4.3 general_characteristics_definition для ship (как defined_for)


| <a id="p105707"></a>Элемент ПИМ: | <a id="p105708"></a><a id="p105709"></a><a id="p105710"></a><a id="p105711"></a><a id="p105712"></a><a id="p105713"></a><a id="p105714"></a><a id="p105715"></a>#1: /SUBTYPE(class_and_statutory_designation)/ (см. [5.1.12.2.4](#p109558))<br>#2: /SUBTYPE(class_parameters)/ (см. [5.1.12.4.9](#p109782))<br>#3: /SUBTYPE(global_axis_placement)/ (см. [5.1.9.3.5](#p107063))<br>#4: /SUBTYPE(owner_designation)/ (см. [5.1.12.6.7](#p109938))<br>#5: /SUBTYPE(principal_characteristics)/ (см. [5.1.12.7.13](#p110076))<br>#6: /SUBTYPE(ship_designation)/ (см. [5.1.12.10.8](#p110307))<br>#7: /SUBTYPE(shipyard_designation)/ (см. [5.1.12.12.7](#p110458))<br>#8: /SUBTYPE(ship_overall_dimensions)/ (см. [5.1.11.11.8](#p109287)) |
| --- | --- |


<a id="p105716"></a>5.1.4.4.4 general_characteristics_definition для global_id (как id)
<a id="p105717"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p105718"></a>Элемент ПИМ: | <a id="p105719"></a><a id="p105720"></a><a id="p105721"></a><a id="p105722"></a><a id="p105723"></a><a id="p105724"></a><a id="p105725"></a><a id="p105726"></a>#1: /SUBTYPE(class_and_statutory_designation)/ (см. [5.1.12.2.5](#p109565))<br>#2: /SUBTYPE(class_parameters)/ (см. [5.1.12.4.10](#p109789))<br>#3: /SUBTYPE(global_axis_placement)/ (см. [5.1.9.3.6](#p107070))<br>#4: /SUBTYPE(owner_designation)/ (см. [5.1.12.6.8](#p109945))<br>#5: /SUBTYPE(principal_characteristics)/ (см. [5.1.12.7.14](#p110083))<br>#6: /SUBTYPE(ship_designation)/ (см. [5.1.12.10.9](#p110314))<br>#7: /SUBTYPE(shipyard_designation)/ (см. [5.1.12.12.8](#p110465))<br>#8: /SUBTYPE(ship_overall_dimensions)/ (см. [5.1.11.11.9](#p109293)) |
| --- | --- |


<a id="p105727"></a>5.1.4.4.5 general_characteristics_definition для derived_unit (как local_units)
<a id="p105728"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p105729"></a>Элемент ПИМ: | <a id="p105730"></a><a id="p105731"></a><a id="p105732"></a><a id="p105733"></a><a id="p105734"></a><a id="p105735"></a><a id="p105736"></a><a id="p105737"></a>#1: /SUBTYPE(class_and_statutory_designation)/ (см. [примечание](#p105738))<br>#2: /SUBTYPE(class_parameters)/ (см. [5.1.12.4.11](#p109802))<br>#3: /SUBTYPE(global_axis_placement)/ (см. [5.1.9.3.7](#p107080))<br>#4: /SUBTYPE(owner_designation)/ (см. [примечание](#p105738))<br>#5: /SUBTYPE(principal_characteristics)/ (см. [5.1.12.7.15](#p110096))<br>#6: /SUBTYPE(ship_designation)/ (см. [примечание](#p105738))<br>#7: /SUBTYPE(shipyard_designation)/ (см. [примечание](#p105738))<br>#8: /SUBTYPE(ship_overall_dimensions)/ (см. [5.1.11.11.10](#p109306)) |
| --- | --- |


<a id="p105738"></a>*Примечание* - Для этого супертипа атрибут был переопределен в ПЭМ как совокупность нуля, что интерпретируется как отсутствие необходимости атрибута.

<a id="p105739"></a>5.1.4.4.6 general_characteristics_definition для named_unit (как local_units)
<a id="p105740"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p105741"></a>Элемент ПИМ: | <a id="p105742"></a><a id="p105743"></a><a id="p105744"></a><a id="p105745"></a><a id="p105746"></a><a id="p105747"></a><a id="p105748"></a><a id="p105749"></a>#1: /SUBTYPE(class_and_statutory_designation)/ (см. [примечание](#p105750))<br>#2: /SUBTYPE(class_parameters)/ (см. [5.1.12.4.12](#p109811))<br>#3: /SUBTYPE(global_axis_placement)/ (см. [5.1.9.3.8](#p107089))<br>#4: /SUBTYPE(owner_designation)/ (см. [примечание](#p105750))<br>#5: /SUBTYPE(principal_characteristics)/ (см. [5.1.12.7.16](#p110105))<br>#6: /SUBTYPE(ship_designation)/ (см. [примечание](#p105750))<br>#7: /SUBTYPE(shipyard_designation)/ (см. [примечание](#p105750))<br>#8: /SUBTYPE(ship_overall_dimensions)/ (см. [5.1.11.11.11](#p109315)) |
| --- | --- |


<a id="p105750"></a>*Примечание* - Для этого супертипа атрибут был переопределен в ПЭМ как совокупность нуля, что интерпретируется как отсутствие необходимости атрибута.


##### <a id="p105751"></a>5.1.5 Функциональная единица external_references


###### <a id="p105752"></a>5.1.5.1 Прикладной элемент DOCUMENT



| <a id="p105753"></a>Элемент ПИМ: | <a id="p105754"></a>document |
| --- | --- |
| <a id="p105755"></a>Источник: | <a id="p105756"></a>ИСО 10303-41 |
| <a id="p105757"></a>Правила: | <a id="p105758"></a>[5.2.4.38](#p114033) |
| <a id="p105759"></a>Ссылочный путь: | <a id="p105760"></a><a id="p105761"></a>{[/CLASS(document,'document', 'versionable object')/]<br>[/ROOT_CLASS(document,'versionable object')/]} |


<a id="p105762"></a>5.1.5.1.1 author


|  | <a id="p105763"></a><a id="p105764"></a><a id="p105765"></a>#1: если значением элемента author является person<br>#2: если значением элемента author является organization<br>#3: если значением элемента author является person_and_organization |
| --- | --- |
| <a id="p105766"></a>Элемент ПИМ: | <a id="p105767"></a><a id="p105768"></a><a id="p105769"></a>#1: applied_person_assignment.assigned_person<br>#2: applied_organization_assignment.assigned_organization<br>#3: applied_person_and_organization_assignment.assigned_person_and_organization |
| <a id="p105770"></a>Источник: | <a id="p105771"></a><a id="p105772"></a><a id="p105773"></a>#1: ИСО 10303-216<br>#2: ИСО 10303-216<br>#3: ИСО 10303-216 |
| <a id="p105774"></a>Ссылочный путь: | <a id="p105775"></a><a id="p105776"></a><a id="p105777"></a>#1: /PERS_ASSGN(document,'author')/<br>#2: /ORG_ASSGN (document,'author')/<br>#3: /PERS_ORG_ASSGN(document,'author')/ |


<a id="p105778"></a>5.1.5.1.2 description


| <a id="p105779"></a>Элемент ПИМ: | <a id="p105780"></a>document.description |
| --- | --- |
| <a id="p105781"></a>Источник: | <a id="p105782"></a>ИСО 10303-41 |


<a id="p105783"></a>5.1.5.1.3 source_type


| <a id="p105784"></a>Элемент ПИМ: | <a id="p105785"></a>document_representation_type.name |
| --- | --- |
| <a id="p105786"></a>Источник: | <a id="p105787"></a>ИСО 10303-41 |
| <a id="p105788"></a>Правила: | <a id="p105789"></a>[5.2.4.37](#p114007) |
| <a id="p105790"></a>Ссылочный путь: | <a id="p105791"></a><a id="p105792"></a><a id="p105793"></a><a id="p105794"></a>document <-<br>document_representation_type.represented_document<br>document_representation_type<br>document_representation_type.name |


<a id="p105795"></a>5.1.5.1.4 title


| <a id="p105796"></a>Элемент ПИМ: | <a id="p105797"></a>document.name |
| --- | --- |
| <a id="p105798"></a>Источник: | <a id="p105799"></a>ИСО 10303-41 |


<a id="p105800"></a>5.1.5.1.5 version_id


| <a id="p105801"></a>Элемент ПИМ: | <a id="p105802"></a>applied_identification_assignment.assigned_id |
| --- | --- |
| <a id="p105803"></a>Источник: | <a id="p105804"></a>ИСО 10303-216 |
| <a id="p105805"></a>Правила: | <a id="p105806"></a>[5.2.4.164](#p118524) |
| <a id="p105807"></a>Ссылочный путь: | <a id="p105808"></a>/VERSION_ID(document)/ |



###### <a id="p105809"></a>5.1.5.2 Прикладной элемент DOCUMENT_PORTION



| <a id="p105810"></a>Элемент ПИМ: | <a id="p105811"></a>document_usage_constraint |
| --- | --- |
| <a id="p105812"></a>Источник: | <a id="p105813"></a>ИСО 10303-41 |


<a id="p105814"></a>5.1.5.2.1 element_type


| <a id="p105815"></a>Элемент ПИМ: | <a id="p105816"></a>document_usage_constraint.subject_element |
| --- | --- |
| <a id="p105817"></a>Источник: | <a id="p105818"></a>ИСО 10303-41 |


<a id="p105819"></a>5.1.5.2.2 element_value


| <a id="p105820"></a>Элемент ПИМ: | <a id="p105821"></a>document_usage_constraint.subject_element_value |
| --- | --- |
| <a id="p105822"></a>Источник: | <a id="p105823"></a>ИСО 10303-41 |


<a id="p105824"></a>5.1.5.2.3 document_portion для document (как source)


| <a id="p105825"></a>Элемент ПИМ: | <a id="p105826"></a>document_usage_constraint.source |
| --- | --- |
| <a id="p105827"></a>Ссылочный путь: | <a id="p105828"></a><a id="p105829"></a>document_usage_constraint<br>document_usage_constraint.source -> document |



###### <a id="p105830"></a>5.1.5.3 Прикладной элемент DOCUMENT_REFERENCE



| <a id="p105831"></a>Элемент ПИМ: | <a id="p105832"></a>document |
| --- | --- |
| <a id="p105833"></a>Источник: | <a id="p105834"></a>ИСО 10303-41 |
| <a id="p105835"></a>Ссылочный путь: | <a id="p105836"></a>{/ROOT_CLASS(document,'document reference')/} |


<a id="p105837"></a>5.1.5.3.1 document_reference для document (как assigned_document)


| <a id="p105838"></a>Элемент ПИМ: | <a id="p105839"></a>PATH |
| --- | --- |
| <a id="p105840"></a>Ссылочный путь: | <a id="p105841"></a>document |


<a id="p105842"></a>5.1.5.3.2 document_reference для document_portion (как assigned_document)


| <a id="p105843"></a>Элемент ПИМ: | <a id="p105844"></a>PATH |
| --- | --- |
| <a id="p105845"></a>Ссылочный путь: | <a id="p105846"></a><a id="p105847"></a><a id="p105848"></a>document <-<br>document_usage_constraint.source<br>document_usage_constraint |



###### <a id="p105849"></a>5.1.5.4 Прикладной элемент DOCUMENT_REFERENCE_WITH_ADDRESS



| <a id="p105850"></a>Элемент ПИМ: | <a id="p105851"></a>document |
| --- | --- |
| <a id="p105852"></a>Источник: | <a id="p105853"></a>ИСО 10303-41 |
| <a id="p105854"></a>Правила: | <a id="p105855"></a>[5.2.4.39](#p114062) |
| <a id="p105856"></a>Ссылочный путь: | <a id="p105857"></a><a id="p105858"></a><a id="p105859"></a><a id="p105860"></a>{[/CLASS(document,'document reference with address','document reference')/]<br>[/ROOT_CLASS(document,'document reference')/]<br>[/CLASS(document,'document reference with address','external reference')/]<br>[/ROOT_CLASS(document,'external reference')/]} |


<a id="p105861"></a>5.1.5.4.1 description
<a id="p105862"></a>Примечание - Атрибут унаследован из супертипа External_reference (см. [5.1.5.6](#p105989)).


| <a id="p105863"></a>Элемент ПИМ: | <a id="p105864"></a>identification_role.description |
| --- | --- |
| <a id="p105865"></a>Источник: | <a id="p105866"></a>ИСО 10303-41 |
| <a id="p105867"></a>Ссылочный путь: | <a id="p105868"></a><a id="p105869"></a><a id="p105870"></a><a id="p105871"></a><a id="p105872"></a><a id="p105873"></a><a id="p105874"></a><a id="p105875"></a><a id="p105876"></a><a id="p105877"></a><a id="p105878"></a>document<br>external_identification_item = document<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment <=<br>external_identification_assignment <=<br>identification_assignment<br>identification_assignment.role -><br>identification_role<br>{identification_role.name = 'external reference'}<br>identification_role.description |


<a id="p105879"></a>5.1.5.4.2 document_reference_with_address для document (как assigned_document)
<a id="p105880"></a>Примечание - Атрибут унаследован из супертипа Document_reference (см. [5.1.5.3](#p105830)).


| <a id="p105881"></a>Элемент ПИМ: | <a id="p105882"></a>PATH |
| --- | --- |
| <a id="p105883"></a>Ссылочный путь: | <a id="p105884"></a>document |


<a id="p105885"></a>5.1.5.4.3 document_reference_with_address для document_portion (как assigned_document)
<a id="p105886"></a>Примечание - Атрибут унаследован из супертипа Document_reference (см. [5.1.5.3](#p105830)).


| <a id="p105887"></a>Элемент ПИМ: | <a id="p105888"></a>PATH |
| --- | --- |
| <a id="p105889"></a>Ссылочный путь: | <a id="p105890"></a><a id="p105891"></a><a id="p105892"></a>document <-<br>document_usage_constraint.source<br>document_usage_constraint |


<a id="p105893"></a>5.1.5.4.4 document_reference_with_address для external_storage (как location)
<a id="p105894"></a>Примечание - Атрибут унаследован из супертипа External_reference (см. [5.1.5.6](#p105989)).


| <a id="p105895"></a>Элемент ПИМ: | <a id="p105896"></a>PATH |
| --- | --- |
| <a id="p105897"></a>Ссылочный путь: | <a id="p105898"></a><a id="p105899"></a><a id="p105900"></a><a id="p105901"></a><a id="p105902"></a><a id="p105903"></a><a id="p105904"></a><a id="p105905"></a><a id="p105906"></a><a id="p105907"></a><a id="p105908"></a><a id="p105909"></a><a id="p105910"></a><a id="p105911"></a>document<br>external_identification_item = document<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment <=<br>external_identification_assignment<br>[external_identification_assignment.source -><br>external_source<br>{/CLASS_ID(external_source,'external storage')/}]<br>[external_identification_assignment <=<br>identification_assignment<br>identification_assignment.role -><br>identification_role<br>{identification_role.name = 'external reference'}] |


<a id="p105912"></a>5.1.5.4.5 document_reference_with_address для universal_resource_locator (как location)
<a id="p105913"></a>Примечание - Атрибут унаследован из супертипа External_reference (см. [5.1.5.6](#p105989)).


| <a id="p105914"></a>Элемент ПИМ: | <a id="p105915"></a>PATH |
| --- | --- |
| <a id="p105916"></a>Ссылочный путь: | <a id="p105917"></a><a id="p105918"></a><a id="p105919"></a><a id="p105920"></a><a id="p105921"></a><a id="p105922"></a><a id="p105923"></a><a id="p105924"></a><a id="p105925"></a><a id="p105926"></a><a id="p105927"></a><a id="p105928"></a><a id="p105929"></a><a id="p105930"></a>document<br>external_identification_item = document<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment <=<br>external_identification_assignment<br>[external_identification_assignment.source -><br>external_source<br>{/CLASS_ID(external_source,'universal resource locator')/}]<br>[external_identification_assignment <=<br>identification_assignment<br>identification_assignment.role -><br>identification_role<br>{identification_role.name = 'external reference'}] |



###### <a id="p105931"></a>5.1.5.5 Прикладной элемент EXTERNAL_INSTANCE_REFERENCE



| <a id="p105932"></a>Элемент ПИМ: | <a id="p105933"></a>applied_external_identification_assignment |
| --- | --- |
| <a id="p105934"></a>Источник: | <a id="p105935"></a>ИСО 10303-216 |
| <a id="p105936"></a>Ссылочный путь: | <a id="p105937"></a><a id="p105938"></a><a id="p105939"></a>applied_external_identification_assignment <=<br>external_identification_assignment <=<br>{/ID_ROLE('external instance reference')/} |


<a id="p105940"></a>5.1.5.5.1 entity_type


| <a id="p105941"></a>Элемент ПИМ: | <a id="p105942"></a>external_source.source_id |
| --- | --- |
| <a id="p105943"></a>Источник: | <a id="p105944"></a>ИСО 10303-41 |
| <a id="p105945"></a>Правила: | <a id="p105946"></a>[5.2.4.51](#p114454) |
| <a id="p105947"></a>Ссылочный путь: | <a id="p105948"></a><a id="p105949"></a><a id="p105950"></a><a id="p105951"></a><a id="p105952"></a><a id="p105953"></a><a id="p105954"></a><a id="p105955"></a><a id="p105956"></a><a id="p105957"></a><a id="p105958"></a><a id="p105959"></a><a id="p105960"></a><a id="p105961"></a><a id="p105962"></a><a id="p105963"></a>applied_external_identification_assignment <=<br>external_identification_assignment<br>external_identification_assignment.source -><br>external_source<br>{/DESCRIPTION_ASSGN(external_source)/<br>description_attribute.attribute_value = 'schema name'}<br>external_source_relationship.relating_source <-<br>external_source_relationship<br>{external_source_relationship.name = 'composition'}<br>external_source_relationship.related_source -><br>external_source<br>{/DESCRIPTION_ASSGN(external_source)/<br>description_attribute.attribute_value = 'entity type'}<br>external_source.source_id<br>{-> source_item<br>source_item = identifier} |


<a id="p105964"></a>5.1.5.5.2 schema_name


| <a id="p105965"></a>Элемент ПИМ: | <a id="p105966"></a>external_source.source_id |
| --- | --- |
| <a id="p105967"></a>Источник: | <a id="p105968"></a>ИСО 10303-41 |
| <a id="p105969"></a>Ссылочный путь: | <a id="p105970"></a><a id="p105971"></a><a id="p105972"></a><a id="p105973"></a><a id="p105974"></a><a id="p105975"></a><a id="p105976"></a><a id="p105977"></a><a id="p105978"></a>applied_external_identification_assignment <=<br>external_identification_assignment<br>external_identification_assignment.source -><br>external_source<br>{/DESCRIPTION_ASSGN(external_source)/<br>description_attribute.attribute_value = 'schema name'}<br>external_source.source_id<br>{-> source_item<br>source_item = identifier} |


<a id="p105979"></a>5.1.5.5.3 external_instance_reference для global_id (как target_guid)


| <a id="p105980"></a>Элемент ПИМ: | <a id="p105981"></a>PATH |
| --- | --- |
| <a id="p105982"></a>Правила: | <a id="p105983"></a>[5.2.4.42](#p114145) |
| <a id="p105984"></a>Ссылочный путь: | <a id="p105985"></a><a id="p105986"></a><a id="p105987"></a><a id="p105988"></a>applied_external_identification_assignment <=<br>external_identification_assignment <=<br>identification_assignment<br>identification_assignment.assigned_id |



###### <a id="p105989"></a>5.1.5.6 Прикладной элемент EXTERNAL_REFERENCE



| <a id="p105990"></a>Элемент ПИМ: | <a id="p105991"></a>applied_external_identification_assignment |
| --- | --- |
| <a id="p105992"></a>Источник: | <a id="p105993"></a>ИСО 10303-216 |
| <a id="p105994"></a>Ссылочный путь: | <a id="p105995"></a><a id="p105996"></a><a id="p105997"></a><a id="p105998"></a><a id="p105999"></a><a id="p106000"></a>applied_external_identification_assignment <=<br>external_identification_assignment <=<br>identification_assignment<br>identification_assignment.role -><br>identification_role<br>{identification_role.name ='external reference'} |


<a id="p106001"></a>5.1.5.6.1 description


| <a id="p106002"></a>Элемент ПИМ: | <a id="p106003"></a>identification_role.description |
| --- | --- |
| <a id="p106004"></a>Источник: | <a id="p106005"></a>ИСО 10303-41 |
| <a id="p106006"></a>Правила: | <a id="p106007"></a>[5.2.4.49](#p114408) |
| <a id="p106008"></a>Ссылочный путь: | <a id="p106009"></a><a id="p106010"></a><a id="p106011"></a><a id="p106012"></a><a id="p106013"></a><a id="p106014"></a>applied_external_identification_assignment <=<br>external_identification_assignment <=<br>identification_assignment<br>identification_assignment.role -><br>identification_role<br>identification_role.description |


<a id="p106015"></a>5.1.5.6.2 external_reference для external_storage (как location)


| <a id="p106016"></a>Элемент ПИМ: | <a id="p106017"></a>PATH |
| --- | --- |
| <a id="p106018"></a>Ссылочный путь: | <a id="p106019"></a><a id="p106020"></a><a id="p106021"></a><a id="p106022"></a><a id="p106023"></a>applied_external_identification_assignment <=<br>external_identification_assignment<br>external_identification_assignment.source -><br>external_source<br>{/CLASS_ID(external_source,'external storage')/} |


<a id="p106024"></a>5.1.5.6.3 external_reference для universal_resource_locator (как location)


| <a id="p106025"></a>Элемент ПИМ: | <a id="p106026"></a>PATH |
| --- | --- |
| <a id="p106027"></a>Ссылочный путь: | <a id="p106028"></a><a id="p106029"></a><a id="p106030"></a><a id="p106031"></a><a id="p106032"></a>applied_external_identification_assignment <=<br>external_identification_assignment<br>external_identification_assignment.source -><br>external_source<br>{/CLASS_ID(external_source,'universal resource locator')/} |



###### <a id="p106033"></a>5.1.5.7 Прикладной элемент EXTERNAL_STORAGE



| <a id="p106034"></a>Элемент ПИМ: | <a id="p106035"></a>external_source |
| --- | --- |
| <a id="p106036"></a>Источник: | <a id="p106037"></a>ИСО 10303-41 |
| <a id="p106038"></a>Ссылочный путь: | <a id="p106039"></a>{/ROOT_CLASS(external_source, 'external storage')/} |


<a id="p106040"></a>5.1.5.7.1 location


| <a id="p106041"></a>Элемент ПИМ: | <a id="p106042"></a>external_source.source_id |
| --- | --- |
| <a id="p106043"></a>Источник: | <a id="p106044"></a>ИСО 10303-41 |
| <a id="p106045"></a>Ссылочный путь: | <a id="p106046"></a><a id="p106047"></a><a id="p106048"></a><a id="p106049"></a>external_source<br>external_source.source_id<br>{-> source_item<br>source_item = identifier} |



###### <a id="p106050"></a>5.1.5.8 Прикладной элемент UNIVERSAL_RESOURCE_LOCATOR



| <a id="p106051"></a>Элемент ПИМ: | <a id="p106052"></a>external_source |
| --- | --- |
| <a id="p106053"></a>Источник: | <a id="p106054"></a>ИСО 10303-41 |
| <a id="p106055"></a>Ссылочный путь: | <a id="p106056"></a>{/ROOT_CLASS(external_source, 'universal resource locator')/} |


<a id="p106057"></a>5.1.5.8.1 location


| <a id="p106058"></a>Элемент ПИМ: | <a id="p106059"></a>external_source.source_id |
| --- | --- |
| <a id="p106060"></a>Источник: | <a id="p106061"></a>ИСО 10303-41 |
| <a id="p106062"></a>Ссылочный путь: | <a id="p106063"></a><a id="p106064"></a><a id="p106065"></a><a id="p106066"></a>external_source<br>external_source.source_id<br>{-> source_item<br>source_item = identifier} |



##### <a id="p106067"></a>5.1.6 Функциональная единица Hull_class_applicability


###### <a id="p106068"></a>5.1.6.1 Прикладной элемент HULL_APPLICABILITY



| <a id="p106069"></a>Элемент ПИМ: | <a id="p106070"></a>serial_numbered_effectivity |
| --- | --- |
| <a id="p106071"></a>Источник: | <a id="p106072"></a>ИСО 10303-41 |


<a id="p106073"></a>5.1.6.1.1 end_hull


| <a id="p106074"></a>Элемент ПИМ: | <a id="p106075"></a>serial_numbered_effectivity.effectivity_end_id |
| --- | --- |
| <a id="p106076"></a>Источник: | <a id="p106077"></a>ИСО 10303-41 |


<a id="p106078"></a>5.1.6.1.2 start_hull


| <a id="p106079"></a>Элемент ПИМ: | <a id="p106080"></a>serial_numbered_effectivity.effectivity_start_id |
| --- | --- |
| <a id="p106081"></a>Источник: | <a id="p106082"></a>ИСО 10303-41 |


<a id="p106083"></a>5.1.6.1.3 hull_applicability для definition (как definitions_for_hulls)


| <a id="p106084"></a>Элемент ПИМ: | <a id="p106085"></a>PATH |
| --- | --- |
| <a id="p106086"></a>Ссылочный путь: | <a id="p106087"></a><a id="p106088"></a><a id="p106089"></a><a id="p106090"></a><a id="p106091"></a><a id="p106092"></a><a id="p106093"></a><a id="p106094"></a><a id="p106095"></a><a id="p106096"></a><a id="p106097"></a><a id="p106098"></a><a id="p106099"></a><a id="p106100"></a><a id="p106101"></a><a id="p106102"></a><a id="p106103"></a><a id="p106104"></a><a id="p106105"></a><a id="p106106"></a>serial_numbered_effectivity <=<br>effectivity<br>{effectivity.id = 'hull applicability'}<br>effectivity <-<br>effectivity_assignment.assigned_effectivity<br>effectivity_assignment<br>/ROLE_ASSGN(effectivity_assignment)/<br>{object_role.name = 'definitions for hulls'}<br>effectivity_assignment =><br>applied_effectivity_assignment<br>applied_effectivity_assignment.items [i] -><br>effectivity_item<br>(effectivity_item = product_definition<br>{/CLASS_ID(product_definition, 'definition')/})<br>(effectivity_item = property_definition<br>{/CLASS_ID(property_definition, 'definition')/})<br>(effectivity_item = product_definition_shape<br>{/CLASS_ID(product_definition_shape, 'definition')/})<br>(effectivity_item = product_related_product_category<br>{/CLASS_ID(product_related_product_category, 'definition')/}) |


<a id="p106107"></a>5.1.6.1.4 hull_applicability для item (как items_for_hulls)


| <a id="p106108"></a>Элемент ПИМ: | <a id="p106109"></a>PATH |
| --- | --- |
| <a id="p106110"></a>Ссылочный путь: | <a id="p106111"></a><a id="p106112"></a><a id="p106113"></a><a id="p106114"></a><a id="p106115"></a><a id="p106116"></a><a id="p106117"></a><a id="p106118"></a><a id="p106119"></a><a id="p106120"></a><a id="p106121"></a><a id="p106122"></a><a id="p106123"></a><a id="p106124"></a>serial_numbered_effectivity <=<br>effectivity<br>{effectivity.id = 'hull applicability'}<br>effectivity <-<br>effectivity_assignment.assigned_effectivity<br>effectivity_assignment<br>/ROLE_ASSGN(effectivity_assignment)/<br>{object_role.name = 'items for hulls'}<br>effectivity_assignment =><br>applied_effectivity_assignment<br>applied_effectivity_assignment.items [i] -><br>effectivity_item<br>(effectivity_item = product_definition<br>{/CLASS_ID(product_definition, 'item')/}) |



##### <a id="p106125"></a>5.1.7 Функциональная единица hydrostatics


###### <a id="p106126"></a>5.1.7.1 Прикладной элемент ADDITION_OF_MOULDED_FORM



| <a id="p106127"></a>Элемент ПИМ: | <a id="p106128"></a>property_definition |
| --- | --- |
| <a id="p106129"></a>Источник: | <a id="p106130"></a>ИСО 10303-41 |
| <a id="p106131"></a>Ссылочный путь: | <a id="p106132"></a>/ROOT_CLASS(property_definition, 'addition of moulded form')/ |


<a id="p106133"></a>5.1.7.1.1 addition_of_moulded_form для moulded_form (как displacement_of_moulded_form_to_add_or_subtract)
<a id="p106134"></a>Примечание - Атрибут унаследован из супертипа Displacement_operation (см. [5.1.7.2](#p106137)).


| <a id="p106135"></a>Элемент ПИМ: | <a id="p106136"></a>/SUPERTYPE(Displacement_operation)/ (см. [5.1.7.2](#p106137)) |
| --- | --- |



###### <a id="p106137"></a>5.1.7.2 Прикладной элемент DISPLACEMENT_OPERATION



|  | <a id="p106138"></a><a id="p106139"></a>#1: значением элемента displacement_operation является Addition_of_moulded_form<br>#2: значением элемента displacement_operation является Subtraction_of_moulded_form |
| --- | --- |
| <a id="p106140"></a>Элемент ПИМ: | <a id="p106141"></a><a id="p106142"></a>#1: /SUBTYPE(Addition_of_moulded_form)/ (см. [5.1.7.1](#p106126))<br>#2: /SUBTYPE(Subtraction_of_moulded_form)/ (см. [5.1.7.15](#p106658)) |


<a id="p106143"></a>5.1.7.2.1 displacement_operation для moulded_form (как displacement_of_moulded_form_to_add_or_subtract)


| <a id="p106144"></a>Элемент ПИМ: | <a id="p106145"></a>PATH |
| --- | --- |
| <a id="p106146"></a>Ссылочный путь: | <a id="p106147"></a><a id="p106148"></a>/PROP_TO_PROD_DEF/<br>{/CLASS_ID(product_definition, 'moulded_form')/} |



###### <a id="p106149"></a>5.1.7.3 Прикладной элемент FLOATING_POSITION



| <a id="p106150"></a>Элемент ПИМ: | <a id="p106151"></a>compound_representation_item |
| --- | --- |
| <a id="p106152"></a>Источник: | <a id="p106153"></a>ИСО 10303-43 |
| <a id="p106154"></a>Ссылочный путь: | <a id="p106155"></a>/ROOT_CLASS(compound_representation_item, 'floating position')/ |


<a id="p106156"></a>5.1.7.3.1 angle_of_heel


| <a id="p106157"></a>Элемент ПИМ: | <a id="p106158"></a>plane_angle_measure |
| --- | --- |
| <a id="p106159"></a>Источник: | <a id="p106160"></a>ИСО 10303-43 |
| <a id="p106161"></a>Правила: | <a id="p106162"></a>[5.2.4.114](#p116755), [5.2.4.43](#p114171) |
| <a id="p106163"></a>Ссылочный путь: | <a id="p106164"></a><a id="p106165"></a><a id="p106166"></a><a id="p106167"></a>/COMPOUND('angle of heel')/<br>value_representation_item<br>value_representation_item.value_component<br>{-> measure_value = plane_angle_measure} |


<a id="p106168"></a>5.1.7.3.2 angle_of_trim


| <a id="p106169"></a>Элемент ПИМ: | <a id="p106170"></a>plane_angle_measure |
| --- | --- |
| <a id="p106171"></a>Источник: | <a id="p106172"></a>ИСО 10303-43 |
| <a id="p106173"></a>Правила: | <a id="p106174"></a>[5.2.4.114](#p116755), [5.2.4.43](#p114171) |
| <a id="p106175"></a>Ссылочный путь: | <a id="p106176"></a><a id="p106177"></a><a id="p106178"></a><a id="p106179"></a>/COMPOUND('angle of trim')/<br>value_representation_item<br>value_representation_item.value_component<br>{-> measure_value = plane_angle_measure} |


<a id="p106180"></a>5.1.7.3.3 breadth_of_waterline


| <a id="p106181"></a>Элемент ПИМ: | <a id="p106182"></a>positive_length_measure |
| --- | --- |
| <a id="p106183"></a>Источник: | <a id="p106184"></a>ИСО 10303-43 |
| <a id="p106185"></a>Правила: | <a id="p106186"></a>[5.2.4.114](#p116755), [5.2.4.43](#p114171) |
| <a id="p106187"></a>Ссылочный путь: | <a id="p106188"></a><a id="p106189"></a><a id="p106190"></a><a id="p106191"></a>/COMPOUND('breadth of waterline')/<br>value_representation_item<br>value_representation_item.value_component<br>{-> measure_value = positive_length_measure} |


<a id="p106192"></a>5.1.7.3.4 draught_at_amidships


| <a id="p106193"></a>Элемент ПИМ: | <a id="p106194"></a>positive_length_measure |
| --- | --- |
| <a id="p106195"></a>Источник: | <a id="p106196"></a>ИСО 10303-43 |
| <a id="p106197"></a>Правила: | <a id="p106198"></a>[5.2.4.114](#p116755), [5.2.4.43](#p114171) |
| <a id="p106199"></a>Ссылочный путь: | <a id="p106200"></a><a id="p106201"></a><a id="p106202"></a><a id="p106203"></a>/COMPOUND('draught at amidships')/<br>value_representation_item<br>value_representation_item.value_component<br>{-> measure_value = positive_length_measure} |


<a id="p106204"></a>5.1.7.3.5 length_of_waterline


| <a id="p106205"></a>Элемент ПИМ: | <a id="p106206"></a>positive_length_measure |
| --- | --- |
| <a id="p106207"></a>Источник: | <a id="p106208"></a>ИСО 10303-43 |
| <a id="p106209"></a>Правила: | <a id="p106210"></a>[5.2.4.114](#p116755), [5.2.4.43](#p114171) |
| <a id="p106211"></a>Ссылочный путь: | <a id="p106212"></a><a id="p106213"></a><a id="p106214"></a><a id="p106215"></a>/COMPOUND('length of waterline')/<br>value_representation_item<br>value_representation_item.value_component<br>{-> measure_value = positive_length_measure} |


<a id="p106216"></a>5.1.7.3.6 moulded_form_displacement


| <a id="p106217"></a>Элемент ПИМ: | <a id="p106218"></a>volume_measure |
| --- | --- |
| <a id="p106219"></a>Источник: | <a id="p106220"></a>ИСО 10303-43 |
| <a id="p106221"></a>Правила: | <a id="p106222"></a>[5.2.4.114](#p116755), [5.2.4.43](#p114171) |
| <a id="p106223"></a>Ссылочный путь: | <a id="p106224"></a><a id="p106225"></a><a id="p106226"></a><a id="p106227"></a>/COMPOUND('moulded form displacement')/<br>value_representation_item<br>value_representation_item.value_component<br>{-> measure_value = volume_measure} |



###### <a id="p106228"></a>5.1.7.4 Прикладной элемент HYDROSTATIC_DEFINITION



| <a id="p106229"></a>Элемент ПИМ: | <a id="p106230"></a>property_definition |
| --- | --- |
| <a id="p106231"></a>Источник: | <a id="p106232"></a>ИСО 10303-41 |
| <a id="p106233"></a>Ссылочный путь: | <a id="p106234"></a><a id="p106235"></a><a id="p106236"></a><a id="p106237"></a>{[/CLASS(property_definition, 'hydrostatic definition', 'design definition')/]<br>[/CLASS(property_definition, 'design definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p106238"></a>5.1.7.4.1 description


| <a id="p106239"></a>Элемент ПИМ: | <a id="p106240"></a>property_definition.description |
| --- | --- |
| <a id="p106241"></a>Источник: | <a id="p106242"></a>ИСО 10303-41 |


<a id="p106243"></a>5.1.7.4.2 version_id
<a id="p106244"></a>Примечание - Атрибут унаследован из супертипа Versionable_object в [5.1.9.17](#p107924) через супертип Design_definition (см. [5.1.4.2](#p105590)), который наследуется от супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106245"></a>Элемент ПИМ: | <a id="p106246"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p106247"></a>Источник: | <a id="p106248"></a>ИСО 10303-41 |
| <a id="p106249"></a>Правила: | <a id="p106250"></a>[5.2.4.164](#p118524) |
| <a id="p106251"></a>Ссылочный путь: | <a id="p106252"></a>/VERSION_ID(property_definition)/ |


<a id="p106253"></a>5.1.7.4.3 hydrostatic_definition для ship (как defined_for)
<a id="p106254"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106255"></a>Элемент ПИМ: | <a id="p106256"></a>PATH |
| --- | --- |
| <a id="p106257"></a>Ссылочный путь: | <a id="p106258"></a><a id="p106259"></a><a id="p106260"></a>/PROP_TO_PROD_DEF/<br>/PROD_DEF_PRODUCT/<br>{/CLASS_ID(product, 'ship')/} |


<a id="p106261"></a>5.1.7.4.4 hydrostatic_definition для displacement_operation (как displacement_changes)


| <a id="p106262"></a>Элемент ПИМ: | <a id="p106263"></a>PATH |
| --- | --- |
| <a id="p106264"></a>Ссылочный путь: | <a id="p106265"></a><a id="p106266"></a><a id="p106267"></a><a id="p106268"></a><a id="p106269"></a><a id="p106270"></a><a id="p106271"></a><a id="p106272"></a>property_definition <-<br>property_definition_relationship.related_property_definition<br>property_definition_relationship<br>{property_definition_relationship.name = 'displacement change'}<br>property_definition_relationship.relating_property_definition -><br>property_definition<br>{(/CLASS_ID(property_definition, 'addition of moulded form')/)<br>(/CLASS_ID(property_definition, 'subtraction of moulded form')/)} |


<a id="p106273"></a>5.1.7.4.5 hydrostatic_definition для global_id (как id)
<a id="p106274"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106275"></a>Элемент ПИМ: | <a id="p106276"></a>PATH |
| --- | --- |
| <a id="p106277"></a>Источник: | <a id="p106278"></a>ИСО 10303-41 |
| <a id="p106279"></a>Правила: | <a id="p106280"></a>[5.2.4.45](#p114249), [5.2.4.89](#p115801) |
| <a id="p106281"></a>Ссылочный путь: | <a id="p106282"></a><a id="p106283"></a><a id="p106284"></a><a id="p106285"></a>property_definition<br>identification_item = property_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p106286"></a>5.1.7.4.6 hydrostatic_definition для derived_unit (как local_units)
<a id="p106287"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106288"></a>Элемент ПИМ: | <a id="p106289"></a>PATH |
| --- | --- |
| <a id="p106290"></a>Ссылочный путь: | <a id="p106291"></a><a id="p106292"></a><a id="p106293"></a><a id="p106294"></a>/PROP_DEF_TO_UNITS('local units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p106295"></a>5.1.7.4.7 hydrostatic_definition для named_unit (как local_units)
<a id="p106296"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106297"></a>Элемент ПИМ: | <a id="p106298"></a>PATH |
| --- | --- |
| <a id="p106299"></a>Ссылочный путь: | <a id="p106300"></a><a id="p106301"></a><a id="p106302"></a><a id="p106303"></a>/PROP_DEF_TO_UNITS('local units')/<br>unit<br>unit = named_unit<br>named_unit |


<a id="p106304"></a>5.1.7.4.8 hydrostatic_definition для hydrostatic_table (как representations)
<a id="p106305"></a>Примечание - Атрибут унаследован из супертипа Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106306"></a>Элемент ПИМ: | <a id="p106307"></a>PATH |
| --- | --- |
| <a id="p106308"></a>Правила: | <a id="p106309"></a>[5.2.4.59](#p114712) |
| <a id="p106310"></a>Ссылочный путь: | <a id="p106311"></a><a id="p106312"></a>/PROP_DEF_TO_REP/<br>{/CLASS_ID(representation, 'hydrostatic table')/} |



###### <a id="p106313"></a>5.1.7.5 Прикладной элемент HYDROSTATIC_POSITION_VALUE



| <a id="p106314"></a>Элемент ПИМ: | <a id="p106315"></a>compound_representation_item |
| --- | --- |
| <a id="p106316"></a>Источник: | <a id="p106317"></a>ИСО 10303-43 |
| <a id="p106318"></a>Ссылочный путь: | <a id="p106319"></a>/CLASS_ID(compound_representation_item, 'centre location')/ |


<a id="p106320"></a>5.1.7.5.1 hydrostatic_position_value для centre_location (как position)


| <a id="p106321"></a>Элемент ПИМ: | <a id="p106322"></a>IDENTICAL MAPPING |
| --- | --- |



###### <a id="p106323"></a>5.1.7.6 Прикладной элемент HYDROSTATIC_PROPERTIES_FOR_CONSTANT_FLOATING_POSITION



| <a id="p106324"></a>Элемент ПИМ: | <a id="p106325"></a>compound_representation_item |
| --- | --- |
| <a id="p106326"></a>Источник: | <a id="p106327"></a>ИСО 10303-43 |
| <a id="p106328"></a>Ссылочный путь: | <a id="p106329"></a>/ROOT_CLASS(compound_representation_item, 'hydrostatic properties for constant floating position')/ |


<a id="p106330"></a>5.1.7.6.1 hydrostatic_properties_for_constant_floating_position для floating_position (как definition_of_floating_position)


| <a id="p106331"></a>Элемент ПИМ: | <a id="p106332"></a>PATH |
| --- | --- |
| <a id="p106333"></a>Правила: | <a id="p106334"></a>[5.2.4.47](#p114318) |
| <a id="p106335"></a>Ссылочный путь: | <a id="p106336"></a><a id="p106337"></a><a id="p106338"></a>/COMPOUND('definition of floating position')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'floating position')/} |


<a id="p106339"></a>5.1.7.6.2 hydrostatic_properties_for_constant_floating_position для hydrostatic_property_value (как hydrostatic_property_values)


| <a id="p106340"></a>Элемент ПИМ: | <a id="p106341"></a>PATH |
| --- | --- |
| <a id="p106342"></a>Правила: | <a id="p106343"></a>[5.2.4.31](#p113798) |
| <a id="p106344"></a>Ссылочный путь: | <a id="p106345"></a><a id="p106346"></a><a id="p106347"></a><a id="p106348"></a>/COMPOUND('hydrostatic property value')/<br>(compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'centre_location)/})<br>(value_representation_item) |


<a id="p106349"></a>5.1.7.6.3 hydrostatic_properties_for_constant_floating_position для hydrostatic_table (как related_hydrostatic_table)
<a id="p106350"></a>Примечание - Атрибут является обратным отношением для элементов атрибута Hydrostatic_table (см. [5.1.7.10.3](#p106447)).


| <a id="p106351"></a>Элемент ПИМ: | <a id="p106352"></a>PATH |
| --- | --- |
| <a id="p106353"></a>Ссылочный путь: | <a id="p106354"></a><a id="p106355"></a><a id="p106356"></a><a id="p106357"></a><a id="p106358"></a>compound_representation_item <=<br>representation_item <-<br>representation.items [i]<br>representation<br>{/CLASS_ID(representation, 'hydrostatic table')/} |



###### <a id="p106359"></a>5.1.7.7 Прикладной элемент HYDROSTATIC_PROPERTY



| <a id="p106360"></a>Элемент ПИМ: | <a id="p106361"></a>compound_representation_item |
| --- | --- |
| <a id="p106362"></a>Источник: | <a id="p106363"></a>ИСО 10303-43 |
| <a id="p106364"></a>Ссылочный путь: | <a id="p106365"></a>/ROOT_CLASS(compound_representation_item, 'hydrostatic property')/ |


<a id="p106366"></a>5.1.7.7.1 property_measure


|  | <a id="p106367"></a><a id="p106368"></a><a id="p106369"></a><a id="p106370"></a><a id="p106371"></a>#1: значением элемента property_measure является area_measure<br>#2: значением элемента property_measure является inertia_moment_measure<br>#3: значением элемента property_measure является length_measure<br>#4: значением элемента property_measure является moment_measure<br>#5: значением элемента property_measure является centre_location |
| --- | --- |
| <a id="p106372"></a>Элемент ПИМ: | <a id="p106373"></a><a id="p106374"></a><a id="p106375"></a><a id="p106376"></a><a id="p106377"></a>#1: area_measure<br>#2: context_dependent_measure<br>#3: length_measure<br>#4: moment_measure<br>#5: compound_representation_item |
| <a id="p106378"></a>Источник: | <a id="p106379"></a>ИСО 10303-43 |
| <a id="p106380"></a>Ссылочный путь: | <a id="p106381"></a><a id="p106382"></a><a id="p106383"></a><a id="p106384"></a><a id="p106385"></a>#1: /COMPOUND('property measure')/<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = area_measure}<br>#2: /COMPOUND('property measure')/<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = context_dependent_measure}<br>#3: /COMPOUND('property measure')/<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = length_measure}<br>#4: /COMPOUND('property measure')/<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = moment_measure}<br>#5: /COMPOUND('property measure')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'centre_location')/} |


<a id="p106386"></a>5.1.7.7.2 property_type


| <a id="p106387"></a>Элемент ПИМ: | <a id="p106388"></a>descriptive_representation_item |
| --- | --- |
| <a id="p106389"></a>Источник: | <a id="p106390"></a>ИСО 10303-45 |
| <a id="p106391"></a>Правила: | <a id="p106392"></a>[5.2.4.48](#p114371) |
| <a id="p106393"></a>Ссылочный путь: | <a id="p106394"></a><a id="p106395"></a><a id="p106396"></a><a id="p106397"></a><a id="p106398"></a><a id="p106399"></a><a id="p106400"></a><a id="p106401"></a><a id="p106402"></a><a id="p106403"></a><a id="p106404"></a><a id="p106405"></a><a id="p106406"></a>/COMPOUND('property type')/<br>descriptive_representation_item<br>{(descriptive_representation_item.description = 'waterplane area')<br>(descriptive_representation_item.description = 'midship section area')<br>(descriptive_representation_item.description = 'wetted surface area')<br>(descriptive_representation_item.description = 'moment for unit change of trim')<br>(descriptive_representation_item.description = 'longitudinal second moment of area of waterplane')<br>(descriptive_representation_item.description = 'longitudinal metacentric height')<br>(descriptive_representation_item.description = 'transverse second moment of area of waterplane')<br>(descriptive_representation_item.description = 'transverse metacentric height')<br>(descriptive_representation_item.description = 'centre of buoyancy')<br>(descriptive_representation_item.description = 'centre of flotation')<br>(descriptive_representation_item.description = 'centre of lateral resistance')} |



###### <a id="p106407"></a>5.1.7.8 Прикладной элемент HYDROSTATIC_PROPERTY_VALUE



| <a id="p106408"></a>Элемент ПИМ: | <a id="p106409"></a><a id="p106410"></a>(compound_representation_item)<br>(value_representation_item.value_component) |
| --- | --- |
| <a id="p106411"></a>Источник: | <a id="p106412"></a>ИСО 10303-43 |
| <a id="p106413"></a>Ссылочный путь: | <a id="p106414"></a><a id="p106415"></a>/SUBTYPE(Hydrostatic_position_value)/ (см. [5.1.7.5](#p106313))<br>/SUBTYPE(Hydrostatic_scalar_value)/ (см. [5.1.7.9](#p106416)) |



###### <a id="p106416"></a>5.1.7.9 Прикладной элемент HYDROSTATIC_SCALAR_VALUE



| <a id="p106417"></a>Элемент ПИМ: | <a id="p106418"></a>value_representation_item.value_component |
| --- | --- |
| <a id="p106419"></a>Источник: | <a id="p106420"></a>ИСО 10303-43 |
| <a id="p106421"></a>Ссылочный путь: | <a id="p106422"></a>{value_representation_item value_representation_item.value_component -> measure_value = ratio_measure} |


<a id="p106423"></a>5.1.7.9.1 scalar


| <a id="p106424"></a>Элемент ПИМ: | <a id="p106425"></a>IDENTICAL MAPPING |
| --- | --- |



###### <a id="p106426"></a>5.1.7.10 Прикладной элемент HYDROSTATIC_TABLE



| <a id="p106427"></a>Элемент ПИМ: | <a id="p106428"></a>representation |
| --- | --- |
| <a id="p106429"></a>Источник: | <a id="p106430"></a>ИСО 10303-43 |
| <a id="p106431"></a>Ссылочный путь: | <a id="p106432"></a>/ROOT_CLASS(representation, 'hydrostatic table')/ |


<a id="p106433"></a>5.1.7.10.1 name


| <a id="p106434"></a>Элемент ПИМ: | <a id="p106435"></a>representation.name |
| --- | --- |
| <a id="p106436"></a>Источник: | <a id="p106437"></a>ИСО 10303-43 |


<a id="p106438"></a>5.1.7.10.2 mean_shell_thickness


| <a id="p106439"></a>Элемент ПИМ: | <a id="p106440"></a>positive_length_measure |
| --- | --- |
| <a id="p106441"></a>Источник: | <a id="p106442"></a>ИСО 10303-43 |
| <a id="p106443"></a>Правила: | <a id="p106444"></a>[5.2.4.114](#p116755), [5.2.4.99](#p116202) |
| <a id="p106445"></a>Ссылочный путь: | <a id="p106446"></a>/REP_TO_VAL_REP_ITEM('mean shell thickness', positive_length_measure)/ |


<a id="p106447"></a>5.1.7.10.3 hydrostatic_table для hydrostatic_properties_for_constant_floating_position (как items)


| <a id="p106448"></a>Элемент ПИМ: | <a id="p106449"></a>PATH |
| --- | --- |
| <a id="p106450"></a>Правила: | <a id="p106451"></a>[5.2.4.97](#p116104) |
| <a id="p106452"></a>Ссылочный путь: | <a id="p106453"></a><a id="p106454"></a><a id="p106455"></a><a id="p106456"></a><a id="p106457"></a>representation<br>representation.items [i] -><br>representation_item =><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'hydrostatic properties for constant floating position')/} |


<a id="p106458"></a>5.1.7.10.4 hydrostatic_table для hydrostatic_property (как properties_in_the_hydrostatic_table)


| <a id="p106459"></a>Элемент ПИМ: | <a id="p106460"></a>PATH |
| --- | --- |
| <a id="p106461"></a>Правила: | <a id="p106462"></a>[5.2.4.98](#p116153) |
| <a id="p106463"></a>Ссылочный путь: | <a id="p106464"></a><a id="p106465"></a><a id="p106466"></a><a id="p106467"></a><a id="p106468"></a>representation<br>representation.items [i] -><br>representation_item =><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'hydrostatic property')/} |



###### <a id="p106469"></a>5.1.7.11 Прикладной элемент STABILITY_DEFINITION



| <a id="p106470"></a>Элемент ПИМ: | <a id="p106471"></a>property_definition |
| --- | --- |
| <a id="p106472"></a>Источник: | <a id="p106473"></a>ИСО 10303-41 |
| <a id="p106474"></a>Ссылочный путь: | <a id="p106475"></a><a id="p106476"></a><a id="p106477"></a><a id="p106478"></a>{[/CLASS(property_definition, 'stability definition', 'design definition')/]<br>[/CLASS(property_definition, 'design definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p106479"></a>5.1.7.11.1 description


| <a id="p106480"></a>Элемент ПИМ: | <a id="p106481"></a>property_definition.description |
| --- | --- |
| <a id="p106482"></a>Источник: | <a id="p106483"></a>ИСО 10303-41 |


<a id="p106484"></a>5.1.7.11.2 version_id
<a id="p106485"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через супертип Design_definition (см. [5.1.4.2](#p105590)), который наследуется от супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106486"></a>Элемент ПИМ: | <a id="p106487"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p106488"></a>Источник: | <a id="p106489"></a>ИСО 10303-41 |
| <a id="p106490"></a>Правила: | <a id="p106491"></a>[5.2.4.164](#p118524) |
| <a id="p106492"></a>Ссылочный путь: | <a id="p106493"></a>/VERSION_ID(property_definition)/ |


<a id="p106494"></a>5.1.7.11.3 stability_definition для ship (как defined_for)
<a id="p106495"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106496"></a>Элемент ПИМ: | <a id="p106497"></a>PATH |
| --- | --- |
| <a id="p106498"></a>Ссылочный путь: | <a id="p106499"></a><a id="p106500"></a><a id="p106501"></a>/PROP_TO_PROD_DEF/<br>/PROD_DEF_PRODUCT/<br>{/CLASS_ID(product, 'ship')/} |


<a id="p106502"></a>5.1.7.11.4 stability_definition для global_id (как id)
<a id="p106503"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106504"></a>Элемент ПИМ: | <a id="p106505"></a>PATH |
| --- | --- |
| <a id="p106506"></a>Источник: | <a id="p106507"></a>ИСО 10303-41 |
| <a id="p106508"></a>Правила: | <a id="p106509"></a>[5.2.4.45](#p114249), [5.2.4.89](#p115801) |
| <a id="p106510"></a>Ссылочный путь: | <a id="p106511"></a><a id="p106512"></a><a id="p106513"></a><a id="p106514"></a>property_definition<br>identification_item = property_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p106515"></a>5.1.7.11.5 stability_definition для derived_unit (как local_units)
<a id="p106516"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106517"></a>Элемент ПИМ: | <a id="p106518"></a>PATH |
| --- | --- |
| <a id="p106519"></a>Ссылочный путь: | <a id="p106520"></a><a id="p106521"></a><a id="p106522"></a><a id="p106523"></a>/PROP_DEF_TO_UNITS('local units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p106524"></a>5.1.7.11.6 stability_definition для named_unit (как local_units)
<a id="p106525"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106526"></a>Элемент ПИМ: | <a id="p106527"></a>PATH |
| --- | --- |
| <a id="p106528"></a>Ссылочный путь: | <a id="p106529"></a><a id="p106530"></a><a id="p106531"></a><a id="p106532"></a>/PROP_DEF_TO_UNITS('local units')/<br>unit<br>unit = named_unit<br>named_unit |


<a id="p106533"></a>5.1.7.11.7 stability_definition для stability_table (как representations)
<a id="p106534"></a>Примечание - Атрибут унаследован из супертипа Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p106535"></a>Элемент ПИМ: | <a id="p106536"></a>PATH |
| --- | --- |
| <a id="p106537"></a>Правила: | <a id="p106538"></a>[5.2.4.66](#p114967) |
| <a id="p106539"></a>Ссылочный путь: | <a id="p106540"></a><a id="p106541"></a>/PROP_DEF_TO_REP/<br>{/CLASS_ID(representation, 'stability table')/} |



###### <a id="p106542"></a>5.1.7.12 Прикладной элемент STABILITY_PROPERTIES_FOR_ONE_FLOATING_POSITION



| <a id="p106543"></a>Элемент ПИМ: | <a id="p106544"></a>compound_representation_item |
| --- | --- |
| <a id="p106545"></a>Источник: | <a id="p106546"></a>ИСО 10303-43 |
| <a id="p106547"></a>Ссылочный путь: | <a id="p106548"></a>/ROOT_CLASS(compound_representation_item, 'stability properties for one floating position')/ |


<a id="p106549"></a>5.1.7.12.1 stability_properties_for_one_floating_position для centre_location (как centre_of_gravity_above_keel)


| <a id="p106550"></a>Элемент ПИМ: | <a id="p106551"></a>PATH |
| --- | --- |
| <a id="p106552"></a>Правила: | <a id="p106553"></a>[5.2.4.114](#p116755), [5.2.4.147](#p118013) |
| <a id="p106554"></a>Ссылочный путь: | <a id="p106555"></a><a id="p106556"></a><a id="p106557"></a>/COMPOUND('centre of gravity above keel')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'centre location')/} |


<a id="p106558"></a>5.1.7.12.2 stability_properties_for_one_floating_position для floating_position (как definition_of_starting_floating_position)


| <a id="p106559"></a>Элемент ПИМ: | <a id="p106560"></a>PATH |
| --- | --- |
| <a id="p106561"></a>Правила: | <a id="p106562"></a>[5.2.4.47](#p114318) |
| <a id="p106563"></a>Ссылочный путь: | <a id="p106564"></a><a id="p106565"></a><a id="p106566"></a>/COMPOUND('definition of starting floating position')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'floating position')/} |


<a id="p106567"></a>5.1.7.12.3 stability_properties_for_constant_floating_position для stability_table (как related_stability_table)
<a id="p106568"></a>Примечание - Атрибут является обратным отношением для элементов атрибута Stability_table (см. [5.1.7.14.3](#p106647)).


| <a id="p106569"></a>Элемент ПИМ: | <a id="p106570"></a>PATH |
| --- | --- |
| <a id="p106571"></a>Ссылочный путь: | <a id="p106572"></a><a id="p106573"></a><a id="p106574"></a><a id="p106575"></a><a id="p106576"></a>compound_representation_item <=<br>representation_item <-<br>representation.items [i]<br>representation<br>{/CLASS_ID(representation, 'stability table')/} |


<a id="p106577"></a>5.1.7.12.4 stability_properties_for_one_floating_position для stability_property (как stability_properties_for_different_angles_of_heel)


| <a id="p106578"></a>Элемент ПИМ: | <a id="p106579"></a>PATH |
| --- | --- |
| <a id="p106580"></a>Правила: | <a id="p106581"></a>[5.2.4.146](#p117962) |
| <a id="p106582"></a>Ссылочный путь: | <a id="p106583"></a><a id="p106584"></a><a id="p106585"></a>/COMPOUND('stability properties for different angles of heel')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'stability property')/} |



###### <a id="p106586"></a>5.1.7.13 Прикладной элемент STABILITY_PROPERTY



| <a id="p106587"></a>Элемент ПИМ: | <a id="p106588"></a>compound_representation_item |
| --- | --- |
| <a id="p106589"></a>Источник: | <a id="p106590"></a>ИСО 10303-43 |
| <a id="p106591"></a>Ссылочный путь: | <a id="p106592"></a>/ROOT_CLASS(compound_representation_item, 'stability property')/ |


<a id="p106593"></a>5.1.7.13.1 angle_of_heel


| <a id="p106594"></a>Элемент ПИМ: | <a id="p106595"></a>plane_angle_measure |
| --- | --- |
| <a id="p106596"></a>Источник: | <a id="p106597"></a>ИСО 10303-43 |
| <a id="p106598"></a>Правила: | <a id="p106599"></a>[5.2.4.114](#p116755), [5.2.4.148](#p118051) |
| <a id="p106600"></a>Ссылочный путь: | <a id="p106601"></a><a id="p106602"></a><a id="p106603"></a><a id="p106604"></a>/COMPOUND('angle of heel')/<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = plane_angle_measure} |


<a id="p106605"></a>5.1.7.13.2 righting arm


| <a id="p106606"></a>Элемент ПИМ: | <a id="p106607"></a>positive_length_measure |
| --- | --- |
| <a id="p106608"></a>Источник: | <a id="p106609"></a>ИСО 10303-43 |
| <a id="p106610"></a>Правила: | <a id="p106611"></a>[5.2.4.114](#p116755), [5.2.4.148](#p118051) |
| <a id="p106612"></a>Ссылочный путь: | <a id="p106613"></a><a id="p106614"></a><a id="p106615"></a><a id="p106616"></a>/COMPOUND('righting arm')/<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = positive_length_measure |


<a id="p106617"></a>5.1.7.13.3 stability_property для centre_location (как centre_of_buoyancy)


| <a id="p106618"></a>Элемент ПИМ: | <a id="p106619"></a>PATH |
| --- | --- |
| <a id="p106620"></a>Правила: | <a id="p106621"></a>[5.2.4.114](#p116755), [5.2.4.148](#p118051) |
| <a id="p106622"></a>Ссылочный путь: | <a id="p106623"></a><a id="p106624"></a><a id="p106625"></a>/COMPOUND('centre of buoyancy')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'centre location')/} |



###### <a id="p106626"></a>5.1.7.14 Прикладной элемент STABILITY_TABLE



| <a id="p106627"></a>Элемент ПИМ: | <a id="p106628"></a>representation |
| --- | --- |
| <a id="p106629"></a>Источник: | <a id="p106630"></a>ИСО 10303-41 |
| <a id="p106631"></a>Ссылочный путь: | <a id="p106632"></a>/ROOT_CLASS(representation, 'stability table')/ |


<a id="p106633"></a>5.1.7.14.1 mean_shell_thickness


| <a id="p106634"></a>Элемент ПИМ: | <a id="p106635"></a>positive_length_measure |
| --- | --- |
| <a id="p106636"></a>Источник: | <a id="p106637"></a>ИСО 10303-43 |
| <a id="p106638"></a>Правила: | <a id="p106639"></a>[5.2.4.114](#p116755), [5.2.4.111](#p116662) |
| <a id="p106640"></a>Ссылочный путь: | <a id="p106641"></a>/REP_TO_VAL_REP_ITEM('mean shell thickness', positive_length_measure)/ |


<a id="p106642"></a>5.1.7.14.2 name


| <a id="p106643"></a>Элемент ПИМ: | <a id="p106644"></a>representation.name |
| --- | --- |
| <a id="p106645"></a>Источник: | <a id="p106646"></a>ИСО 10303-43 |


<a id="p106647"></a>5.1.7.14.3 stability_table для stability_properties_for_one_floating_position (как items)


| <a id="p106648"></a>Элемент ПИМ: | <a id="p106649"></a>PATH |
| --- | --- |
| <a id="p106650"></a>Правила: | <a id="p106651"></a>[5.2.4.110](#p116612) |
| <a id="p106652"></a>Ссылочный путь: | <a id="p106653"></a><a id="p106654"></a><a id="p106655"></a><a id="p106656"></a><a id="p106657"></a>representation<br>representation.items [i] -><br>representation_item =><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'stability properties for one floating position')/} |



###### <a id="p106658"></a>5.1.7.15 Прикладной элемент SUBTRACTION_OF_MOULDED_FORM



| <a id="p106659"></a>Элемент ПИМ: | <a id="p106660"></a>property_definition |
| --- | --- |
| <a id="p106661"></a>Источник: | <a id="p106662"></a>ИСО 10303-41 |
| <a id="p106663"></a>Ссылочный путь: | <a id="p106664"></a>/ROOT_CLASS(property_definition, 'subtraction of moulded form')/ |


<a id="p106665"></a>5.1.7.15.1 subtraction_of_moulded_form для moulded_form (как displacement_of_moulded_form_to_add_or_subtract)
<a id="p106666"></a>Примечание - Атрибут унаследован из супертипа Displacement_operation (см. [5.1.7.2](#p106137)).


| <a id="p106667"></a>Элемент ПИМ: | <a id="p106668"></a>/SUPERTYPE(Displacement_operation)/ (см. [5.1.7.2](#p106137)) |
| --- | --- |



##### <a id="p106669"></a>5.1.8 Функциональная единица items


###### <a id="p106670"></a>5.1.8.1 Прикладной элемент DEFINABLE_OBJECT



|  | <a id="p106671"></a><a id="p106672"></a><a id="p106673"></a>#1: если значением элемента definable_object является item<br>#2: если значением элемента definable_object является item_relationship<br>#3: если значением элемента definable_object является item_structure |
| --- | --- |
| <a id="p106674"></a>Элемент ПИМ: | <a id="p106675"></a><a id="p106676"></a><a id="p106677"></a>#1: /SUBTYPE(item)/ (см. [5.1.8.3](#p106703))<br>#2: /SUBTYPE(item_relationship)/ (см. [5.1.8.4](#p106743))<br>#3: /SUBTYPE(item_structure)/ (см. [5.1.8.5](#p106769)) |


<a id="p106678"></a>5.1.8.1.1 definable_object для global_id (как id)


| <a id="p106679"></a>Элемент ПИМ: | <a id="p106680"></a><a id="p106681"></a><a id="p106682"></a>#1: /SUBTYPE(item)/(см. [5.1.8.3](#p106703))<br>#2: /SUBTYPE(item_relationship)/ (см. [5.1.8.4](#p106743))<br>#3: /SUBTYPE(item_structure)/ (см. [5.1.8.5](#p106769)) |
| --- | --- |



###### <a id="p106683"></a>5.1.8.2 Прикладной элемент GLOBAL_ID



| <a id="p106684"></a>Элемент ПИМ: | <a id="p106685"></a>applied_identification_assignment |
| --- | --- |
| <a id="p106686"></a>Источник: | <a id="p106687"></a>ИСО 10303-216 |
| <a id="p106688"></a>Ссылочный путь: | <a id="p106689"></a><a id="p106690"></a><a id="p106691"></a><a id="p106692"></a><a id="p106693"></a>applied_identification_assignment <=<br>identification_assignment<br>{identification_assignment.role-><br>identification_role<br>identification_role.name = 'globally unambiguous identifier'} |


<a id="p106694"></a>5.1.8.2.1 id


| <a id="p106695"></a>Элемент ПИМ: | <a id="p106696"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p106697"></a>Источник: | <a id="p106698"></a>ИСО 10303-41 |
| <a id="p106699"></a>Ссылочный путь: | <a id="p106700"></a><a id="p106701"></a><a id="p106702"></a>applied_identification_assignment <=<br>identification_assignment<br>identification_assignment.assigned_id |



###### <a id="p106703"></a>5.1.8.3 Прикладной элемент ITEM



|  | <a id="p106704"></a><a id="p106705"></a><a id="p106706"></a><a id="p106707"></a>#1: если значением элемента item является change<br>#2: если значением элемента item является moulded_form<br>#3: если значением элемента item является ship<br>#4: если значением элемента item является ship_moulded_form |
| --- | --- |
| <a id="p106708"></a>Элемент ПИМ: | <a id="p106709"></a><a id="p106710"></a><a id="p106711"></a><a id="p106712"></a>#1: /SUBTYPE(change)/ (см. [5.1.3.4](#p104545))<br>#2: /SUBTYPE(moulded_form)/ (см. [5.1.14.1](#p110819))<br>#3: /SUBTYPE(ship)/ (см. [5.1.8.6](#p106795))<br>#4: /SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11](#p111461)) |


<a id="p106713"></a>5.1.8.3.1 description


| <a id="p106714"></a>Элемент ПИМ: | <a id="p106715"></a><a id="p106716"></a><a id="p106717"></a><a id="p106718"></a>#1: /SUBTYPE(change)/ (см. [5.1.3.4.1](#p104554))<br>#2: /SUBTYPE(moulded_form)/ (см. [5.1.14.1.1](#p110828))<br>#3: /SUBTYPE(ship)/ (см. [5.1.8.6.1](#p106803))<br>#4: /SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.1](#p111477)) |
| --- | --- |


<a id="p106719"></a>5.1.8.3.2 name


| <a id="p106720"></a>Элемент ПИМ: | <a id="p106721"></a><a id="p106722"></a><a id="p106723"></a><a id="p106724"></a>#1: /SUBTYPE(change)/ (см. [5.1.3.4.2](#p104560))<br>#2: /SUBTYPE(moulded_form)/ (см. [5.1.14.1.2](#p110834))<br>#3: /SUBTYPE(ship)/ (см. [5.1.8.6.2](#p106809))<br>#4: /SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.2](#p111483)) |
| --- | --- |


<a id="p106725"></a>5.1.8.3.3 item для external_reference (как documentation)


| <a id="p106726"></a>Элемент ПИМ: | <a id="p106727"></a><a id="p106728"></a><a id="p106729"></a><a id="p106730"></a>#1: /SUBTYPE(change)/ (см. [5.1.3.4.4](#p104584))<br>#2: /SUBTYPE(moulded_form)/ (см. [5.1.14.1.3](#p110842))<br>#3: /SUBTYPE(ship)/ (см. [5.1.8.6.3](#p106815))<br>#4: /SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.4](#p111501)) |
| --- | --- |


<a id="p106731"></a>5.1.8.3.4 item для global_id (как id)
<a id="p106732"></a>Примечание - Атрибут унаследован из супертипа Definable_object (см. [5.1.8.1](#p106670)).


| <a id="p106733"></a>Элемент ПИМ: | <a id="p106734"></a><a id="p106735"></a><a id="p106736"></a><a id="p106737"></a>#1: /SUBTYPE(change)/ (см. [5.1.3.4.5](#p104603))<br>#2: /SUBTYPE(moulded_form)/ (см. [5.1.14.1.4](#p110861))<br>#3: /SUBTYPE(ship)/ (см. [5.1.8.6.4](#p106834))<br>#4: /SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.7](#p111538)) |
| --- | --- |


<a id="p106738"></a>5.1.8.3.5 item для ship (как ship_context)


| <a id="p106739"></a>Элемент ПИМ: | <a id="p106740"></a><a id="p106741"></a><a id="p106742"></a>#1: /SUBTYPE(change)/ (см. [5.1.3.4.6](#p104615))<br>#2: /SUBTYPE(moulded_form)/ (см. [5.1.14.1.5](#p110872))<br>#4: /SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.10](#p111569)) |
| --- | --- |



###### <a id="p106743"></a>5.1.8.4 Прикладной элемент ITEM_RELATIONSHIP



| <a id="p106744"></a>Элемент ПИМ: | <a id="p106745"></a>/SUBTYPE(moulded_form_relationship)/ (см. [5.1.14.5](#p111287)) |
| --- | --- |


<a id="p106746"></a>5.1.8.4.1 description


| <a id="p106747"></a>Элемент ПИМ: | <a id="p106748"></a>/SUBTYPE(moulded_form_relationship)/ (см. [5.1.14.5.1](#p111300)) |
| --- | --- |


<a id="p106749"></a>5.1.8.4.2 version_id
<a id="p106750"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p106751"></a>Элемент ПИМ: | <a id="p106752"></a>/SUBTYPE(moulded_form_relationship)/ (см. [5.1.14.5.2](#p111306)) |
| --- | --- |


<a id="p106753"></a>5.1.8.4.3 item_relationship для external_instance_reference (как external_item_1)


| <a id="p106754"></a>Элемент ПИМ: | <a id="p106755"></a>/SUBTYPE(moulded_form_relationship)/ (см. [5.1.14.5.3](#p111316)) |
| --- | --- |


<a id="p106756"></a>5.1.8.4.4 item_relationship для external_instance_reference (как external_item_2)


| <a id="p106757"></a>Элемент ПИМ: | <a id="p106758"></a>/SUBTYPE(moulded_form_relationship)/ (см. [5.1.14.5.4](#p111326)) |
| --- | --- |


<a id="p106759"></a>5.1.8.4.5 item_relationship для global_id (как id)
<a id="p106760"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.8.1](#p106670))


| <a id="p106761"></a>Элемент ПИМ: | <a id="p106762"></a>/SUBTYPE(moulded_form_relationship)/ (см. [5.1.14.5.5](#p111336)) |
| --- | --- |


<a id="p106763"></a>5.1.8.4.6 item_relationship для item (как item_1)


| <a id="p106764"></a>Элемент ПИМ: | <a id="p106765"></a>/SUBTYPE(moulded_form_relationship)/ (см. [5.1.14.5.6](#p111347)) |
| --- | --- |


<a id="p106766"></a>5.1.8.4.7 item_relationship для item (как item_2)


| <a id="p106767"></a>Элемент ПИМ: | <a id="p106768"></a>/SUBTYPE(moulded_form_relationship)/ (см. [5.1.14.5.7](#p111358)) |
| --- | --- |



###### <a id="p106769"></a>5.1.8.5 Прикладной элемент ITEM_STRUCTURE



| <a id="p106770"></a>Элемент ПИМ: | <a id="p106771"></a>/SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11](#p111461)) |
| --- | --- |


<a id="p106772"></a>5.1.8.5.1 description


| <a id="p106773"></a>Элемент ПИМ: | <a id="p106774"></a>/SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.1](#p111477)) |
| --- | --- |


<a id="p106775"></a>5.1.8.5.2 version_id
<a id="p106776"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p106777"></a>Элемент ПИМ: | <a id="p106778"></a>/SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.3](#p111491)) |
| --- | --- |


<a id="p106779"></a>5.1.8.5.3 item_structure для external_instance_reference (как external_items)


| <a id="p106780"></a>Элемент ПИМ: | <a id="p106781"></a>/SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.5](#p111520)) |
| --- | --- |


<a id="p106782"></a>5.1.8.5.4 item_structure для external_instance_reference (как external_relationships)


| <a id="p106783"></a>Элемент ПИМ: | <a id="p106784"></a>/SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.6](#p111529)) |
| --- | --- |


<a id="p106785"></a>5.1.8.5.5 item_structure для global_id (как id)
<a id="p106786"></a>Примечание - Атрибут унаследован из супертипа Definable_object (см. [5.1.8.1](#p106670)).


| <a id="p106787"></a>Элемент ПИМ: | <a id="p106788"></a>/SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.7](#p111538)) |
| --- | --- |


<a id="p106789"></a>5.1.8.5.6 item_structure для item (как items)


| <a id="p106790"></a>Элемент ПИМ: | <a id="p106791"></a>/SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.8](#p111549)) |
| --- | --- |


<a id="p106792"></a>5.1.8.5.7 item_structure для item_relationship (как relationships)


| <a id="p106793"></a>Элемент ПИМ: | <a id="p106794"></a>/SUBTYPE(ship_moulded_form)/ (см. [5.1.14.11.9](#p111559)) |
| --- | --- |



###### <a id="p106795"></a>5.1.8.6 Прикладной элемент SHIP



| <a id="p106796"></a>Элемент ПИМ: | <a id="p106797"></a>product |
| --- | --- |
| <a id="p106798"></a>Источник: | <a id="p106799"></a>ИСО 10303-41 |
| <a id="p106800"></a>Ссылочный путь: | <a id="p106801"></a><a id="p106802"></a>{[/CLASS(product, 'ship', 'item')/]<br>[/CLASS(product, 'item', 'definable object')/] [/ROOT_CLASS(product, 'definable object')/]} |


<a id="p106803"></a>5.1.8.6.1 description
<a id="p106804"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p106805"></a>Элемент ПИМ: | <a id="p106806"></a>product.description |
| --- | --- |
| <a id="p106807"></a>Источник: | <a id="p106808"></a>ИСО 10303-41 |


<a id="p106809"></a>5.1.8.6.2 name
<a id="p106810"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p106811"></a>Элемент ПИМ: | <a id="p106812"></a>product.name |
| --- | --- |
| <a id="p106813"></a>Источник: | <a id="p106814"></a>ИСО 10303-41 |


<a id="p106815"></a>5.1.8.6.3 ship для external_reference (как documentation)
<a id="p106816"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


|  | <a id="p106817"></a>#1: Если "как documentation" ссылается на External_reference |
| --- | --- |
| <a id="p106818"></a>Элемент ПИМ: | <a id="p106819"></a>PATH |
| <a id="p106820"></a>Ссылочный путь: | <a id="p106821"></a><a id="p106822"></a><a id="p106823"></a><a id="p106824"></a><a id="p106825"></a>product<br>product = external_identification_item<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment |
|  | <a id="p106826"></a>#2: Если "как documentation" ссылается на Document_reference_with_address |
| <a id="p106827"></a>Элемент ПИМ: | <a id="p106828"></a>PATH |
| <a id="p106829"></a>Ссылочный путь: | <a id="p106830"></a><a id="p106831"></a><a id="p106832"></a><a id="p106833"></a>product<br>/DOC_REF(product,'documentation')/<br>document<br>{/CLASS_ID(document, 'document reference with address')/} |


<a id="p106834"></a>5.1.8.6.4 ship для global_id (как id)
<a id="p106835"></a>Примечание - Атрибут унаследован из супертипа Definable_object (см. [5.1.8.1](#p106670)).


| <a id="p106836"></a>Элемент ПИМ: | <a id="p106837"></a>PATH |
| --- | --- |
| <a id="p106838"></a>Правила: | <a id="p106839"></a>[5.2.4.45](#p114249), [5.2.4.73](#p115241) |
| <a id="p106840"></a>Ссылочный путь: | <a id="p106841"></a><a id="p106842"></a><a id="p106843"></a><a id="p106844"></a>product<br>identification_item = product<-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p106845"></a>5.1.8.6.5 ship для item (как ship_items)


|  | <a id="p106846"></a><a id="p106847"></a>#1: если значением элемента item является moulded_form or ship_moulded_form<br>#2: если значением элемента item является change |
| --- | --- |
| <a id="p106848"></a>Элемент ПИМ: | <a id="p106849"></a><a id="p106850"></a>#1: PATH<br>#2: PATH |
| <a id="p106851"></a>Ссылочный путь: | <a id="p106852"></a><a id="p106853"></a><a id="p106854"></a><a id="p106855"></a><a id="p106856"></a><a id="p106857"></a><a id="p106858"></a><a id="p106859"></a><a id="p106860"></a><a id="p106861"></a><a id="p106862"></a><a id="p106863"></a>#1: product <-<br>product_definition_formation.of_product<br>product_definition_formation <-<br>product_definition.formation<br>product_definition<br>#2: product<br>action_item = product<br>action_item <-<br>applied_action_assignment.items[i]<br>applied_action_assignment<br>applied_action_assignment.assigned_action -><br>action |


<a id="p106864"></a>5.1.8.6.6 single_hull_or_class


| <a id="p106865"></a>Элемент ПИМ: | <a id="p106866"></a>product_context |
| --- | --- |
| <a id="p106867"></a>Источник: | <a id="p106868"></a>ИСО 10303-41 |
| <a id="p106869"></a>Ссылочный путь: | <a id="p106870"></a><a id="p106871"></a><a id="p106872"></a><a id="p106873"></a><a id="p106874"></a>product<br>product.frame_of_reference -><br>product_context<br>{(product_context.discipline_type = 'design for single hull')<br>(product_context.discipline_type = 'design for multiple hulls')} |


<a id="p106875"></a>5.1.8.6.7 ship для derived_unit (как units)


| <a id="p106876"></a>Элемент ПИМ: | <a id="p106877"></a>PATH |
| --- | --- |
| <a id="p106878"></a>Ссылочный путь: | <a id="p106879"></a><a id="p106880"></a><a id="p106881"></a><a id="p106882"></a><a id="p106883"></a><a id="p106884"></a><a id="p106885"></a><a id="p106886"></a>product <-<br>product_definition_formation.of_product<br>product_definition_formation<-<br>product_definition.formation<br>/PROD_DEF_TO_UNITS('global units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p106887"></a>5.1.8.6.8 ship для named_unit (как units)


| <a id="p106888"></a>Элемент ПИМ: | <a id="p106889"></a>PATH |
| --- | --- |
| <a id="p106890"></a>Ссылочный путь: | <a id="p106891"></a><a id="p106892"></a><a id="p106893"></a><a id="p106894"></a><a id="p106895"></a><a id="p106896"></a><a id="p106897"></a><a id="p106898"></a>product <-<br>product_definition_formation.of_product<br>product_definition_formation<-<br>product_definition.formation<br>/PROD_DEF_TO_UNITS('global units')/<br>unit<br>unit = named_unit<br>named_unit |



##### <a id="p106899"></a>5.1.9 Функциональная единица location_concepts


###### <a id="p106900"></a>5.1.9.1 Прикладной элемент BUTTOCK_TABLE



| <a id="p106901"></a>Элемент ПИМ: | <a id="p106902"></a>property_definition |
| --- | --- |
| <a id="p106903"></a>Источник: | <a id="p106904"></a>ИСО 10303-41 |
| <a id="p106905"></a>Ссылочный путь: | <a id="p106906"></a><a id="p106907"></a><a id="p106908"></a><a id="p106909"></a><a id="p106910"></a>{[/CLASS(property_definition, 'buttock table', 'transversal table')/]<br>[/CLASS(property_definition, 'transversal table', 'spacing table')/]<br>[/CLASS(property_definition, 'spacing table', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p106911"></a>5.1.9.1.1 description
<a id="p106912"></a>Примечание - Атрибут унаследован из супертипа Spacing_table (см. [5.1.9.10](#p107602)).


| <a id="p106913"></a>Элемент ПИМ: | <a id="p106914"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.1](#p107611)) |
| --- | --- |


<a id="p106915"></a>5.1.9.1.2 name
<a id="p106916"></a>Примечание - Атрибут унаследован из супертипа Spacing_table (см. [5.1.9.10](#p107602)).


| <a id="p106917"></a>Элемент ПИМ: | <a id="p106918"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.2](#p107616)) |
| --- | --- |


<a id="p106919"></a>5.1.9.1.3 version_id
<a id="p106920"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p106921"></a>Элемент ПИМ: | <a id="p106922"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.3](#p107621)) |
| --- | --- |


<a id="p106923"></a>5.1.9.1.4 buttock_table для definable_object (как defined_for)
<a id="p106924"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106925"></a>Элемент ПИМ: | <a id="p106926"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.4](#p107631)) |
| --- | --- |


<a id="p106927"></a>5.1.9.1.5 buttock_table для global_id (как id)
<a id="p106928"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106929"></a>Элемент ПИМ: | <a id="p106930"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.5](#p107647)) |
| --- | --- |


<a id="p106931"></a>5.1.9.1.6 buttock_table для derived_unit (как local_units)
<a id="p106932"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106933"></a>Элемент ПИМ: | <a id="p106934"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.6](#p107658)) |
| --- | --- |


<a id="p106935"></a>5.1.9.1.7 buttock_table для named_unit (как local_units)
<a id="p106936"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106937"></a>Элемент ПИМ: | <a id="p106938"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.7](#p107667)) |
| --- | --- |


<a id="p106939"></a>5.1.9.1.8 buttock_table для transversal_position (как spacing_table_representations)
<a id="p106940"></a>Примечание - Атрибут унаследован из супертипа Transversal_table (см. [5.1.9.13](#p107759)).


| <a id="p106941"></a>Элемент ПИМ: | <a id="p106942"></a>/SUPERTYPE(transversal_table)/ (см. [5.1.9.13.8](#p107797)) |
| --- | --- |



###### <a id="p106943"></a>5.1.9.2 Прикладной элемент FRAME_TABLE



| <a id="p106944"></a>Элемент ПИМ: | <a id="p106945"></a>property_definition |
| --- | --- |
| <a id="p106946"></a>Источник: | <a id="p106947"></a>ИСО 10303-41 |
| <a id="p106948"></a>Ссылочный путь: | <a id="p106949"></a><a id="p106950"></a><a id="p106951"></a><a id="p106952"></a><a id="p106953"></a>{[/CLASS(property_definition, 'frame table', 'longitudinal table')/]<br>[/CLASS(property_definition, 'longitudinal table', 'spacing table')/]<br>[/CLASS(property_definition, 'spacing table', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p106954"></a>5.1.9.2.1 description
<a id="p106955"></a>Примечание - Атрибут унаследован из супертипа Spacing_table (см. [5.1.9.10](#p107602)).


| <a id="p106956"></a>Элемент ПИМ: | <a id="p106957"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.1](#p107457)) |
| --- | --- |


<a id="p106958"></a>5.1.9.2.2 name
<a id="p106959"></a>Примечание - Атрибут унаследован из супертипа Spacing_table (см. [5.1.9.10](#p107602)).


| <a id="p106960"></a>Элемент ПИМ: | <a id="p106961"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.2](#p107461)) |
| --- | --- |


<a id="p106962"></a>5.1.9.2.3 version_id
<a id="p106963"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p106964"></a>Элемент ПИМ: | <a id="p106965"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.3](#p107465)) |
| --- | --- |


<a id="p106966"></a>5.1.9.2.4 frame_table для definable_object (как defined_for)
<a id="p106967"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106968"></a>Элемент ПИМ: | <a id="p106969"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.4](#p107469)) |
| --- | --- |


<a id="p106970"></a>5.1.9.2.5 frame_table для global_id (как id)
<a id="p106971"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106972"></a>Элемент ПИМ: | <a id="p106973"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.5](#p107473)) |
| --- | --- |


<a id="p106974"></a>5.1.9.2.6 frame_table для derived_unit (как local_units)
<a id="p106975"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106976"></a>Элемент ПИМ: | <a id="p106977"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.6](#p107475)) |
| --- | --- |


<a id="p106978"></a>5.1.9.2.7 frame_table для named_unit (как local_units)
<a id="p106979"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p106980"></a>Элемент ПИМ: | <a id="p106981"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.7](#p107479)) |
| --- | --- |


<a id="p106982"></a>5.1.9.2.8 frame_table для longitudinal_position (как spacing_table_representations)
<a id="p106983"></a>Примечание - Атрибут унаследован из супертипа Longitudinal_table (см. [5.1.9.7](#p107447)).


| <a id="p106984"></a>Элемент ПИМ: | <a id="p106985"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.8](#p107483)) |
| --- | --- |



###### <a id="p106986"></a>5.1.9.3 Прикладной элемент GLOBAL_AXIS_PLACEMENT



| <a id="p106987"></a>Элемент ПИМ: | <a id="p106988"></a><a id="p106989"></a>[product_definition]<br>[axis2_placement_3d] |
| --- | --- |
| <a id="p106990"></a>Источник: | <a id="p106991"></a>ИСО 10303-41, ИСО 10303-42 |
| <a id="p106992"></a>Правила: | <a id="p106993"></a>[5.2.4.44](#p114208), [5.2.4.95](#p116031), [5.2.4.114](#p116755) |
| <a id="p106994"></a>Ссылочный путь: | <a id="p106995"></a><a id="p106996"></a><a id="p106997"></a><a id="p106998"></a><a id="p106999"></a><a id="p107000"></a><a id="p107001"></a><a id="p107002"></a><a id="p107003"></a><a id="p107004"></a><a id="p107005"></a><a id="p107006"></a><a id="p107007"></a><a id="p107008"></a><a id="p107009"></a><a id="p107010"></a>{[/CLASS(product_definition, 'global axis placement', 'general characteristics definition')/]<br>[/CLASS(product_definition, 'general characteristics definition', 'definition')/]<br>[/CLASS(product_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_definition, 'versionable object')/]}<br>/PROD_DEF_TO_REP('global axis placement')/<br>representation<br>{{representation.name = 'global axis representation'}<br>representation.context_of_items -><br>representation_context =><br>{representation_context.context_type = 'global coordinate space'}<br>geometric_representation_context<br>{geometric_representation_context.coordinate_space_dimension = 3}}<br>/REP_ITEM('global axes and origin')/<br>geometric_representation_item =><br>placement =><br>axis2_placement_3d |


<a id="p107011"></a>5.1.9.3.1 after_perpendicular_offset


| <a id="p107012"></a>Элемент ПИМ: | <a id="p107013"></a>value_representation_item.value_component |
| --- | --- |
| <a id="p107014"></a>Источник: | <a id="p107015"></a>ИСО 10303-41 |
| <a id="p107016"></a>Правила: | <a id="p107017"></a>[5.2.4.95](#p116031), [5.2.4.114](#p116755) |
| <a id="p107018"></a>Ссылочный путь: | <a id="p107019"></a><a id="p107020"></a><a id="p107021"></a><a id="p107022"></a><a id="p107023"></a><a id="p107024"></a><a id="p107025"></a><a id="p107026"></a><a id="p107027"></a>/PROD_DEF_TO_REP('global axis placement')/<br>representation<br>{{representation.name = 'global axis representation'}<br>representation.context_of_items -><br>representation_context =><br>{representation_context.context_type = 'global coordinate space'}<br>geometric_representation_context<br>{geometric_representation_context.coordinate_space_dimension = 3}}<br>/REP_TO_VAL_REP_ITEM('after perpendicular offset', length_measure)/ |


<a id="p107028"></a>5.1.9.3.2 description
<a id="p107029"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p107030"></a>Элемент ПИМ: | <a id="p107031"></a>product_definition.description |
| --- | --- |
| <a id="p107032"></a>Источник: | <a id="p107033"></a>ИСО 10303-41 |


<a id="p107034"></a>5.1.9.3.3 orientation


| <a id="p107035"></a>Элемент ПИМ: | <a id="p107036"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p107037"></a>Источник: | <a id="p107038"></a>ИСО 10303-45 |
| <a id="p107039"></a>Правила: | <a id="p107040"></a>[5.2.4.95](#p116031), [5.2.4.114](#p116755) |
| <a id="p107041"></a>Ссылочный путь: | <a id="p107042"></a><a id="p107043"></a><a id="p107044"></a><a id="p107045"></a><a id="p107046"></a><a id="p107047"></a><a id="p107048"></a><a id="p107049"></a><a id="p107050"></a><a id="p107051"></a><a id="p107052"></a>/PROD_DEF_TO_REP('global axis placement')/<br>representation<br>{{representation.name = 'global axis representation'}<br>representation.context_of_items -><br>representation_context =><br>{representation_context.context_type = 'global coordinate space'}}<br>/REP_ITEM('orientation')/<br>descriptive_representation_item<br>descriptive_representation_item.description<br>{(descriptive_representation_item.description = 'forward pointing')<br>(descriptive_representation_item.description = 'aft pointing')} |


<a id="p107053"></a>5.1.9.3.4 version_id
<a id="p107054"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p107055"></a>Элемент ПИМ: | <a id="p107056"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p107057"></a>Источник: | <a id="p107058"></a>ИСО 10303-41 |
| <a id="p107059"></a>Правила: | <a id="p107060"></a>[5.2.4.164](#p118524) |
| <a id="p107061"></a>Ссылочный путь: | <a id="p107062"></a>/VERSION_ID(product_definition)/ |


<a id="p107063"></a>5.1.9.3.5 global_axis_placement для ship (как defined_for)
<a id="p107064"></a>Примечание - Атрибут унаследован из супертипа General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p107065"></a>Элемент ПИМ: | <a id="p107066"></a>PATH |
| --- | --- |
| <a id="p107067"></a>Ссылочный путь: | <a id="p107068"></a><a id="p107069"></a>/PROD_DEF_PRODUCT/<br>{/CLASS_ID(product, 'ship')/} |


<a id="p107070"></a>5.1.9.3.6 global_axis_placement для global_id (как id)
<a id="p107071"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107072"></a>Элемент ПИМ: | <a id="p107073"></a>PATH |
| --- | --- |
| <a id="p107074"></a>Правила: | <a id="p107075"></a>[5.2.4.45](#p114249), [5.2.4.70](#p115126) |
| <a id="p107076"></a>Ссылочный путь: | <a id="p107077"></a><a id="p107078"></a><a id="p107079"></a>product_definition<br>identification_item = product_definition <- applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p107080"></a>5.1.9.3.7 global_axis_placement для derived_unit (как local_units)
<a id="p107081"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107082"></a>Элемент ПИМ: | <a id="p107083"></a>PATH |
| --- | --- |
| <a id="p107084"></a>Ссылочный путь: | <a id="p107085"></a><a id="p107086"></a><a id="p107087"></a><a id="p107088"></a>/PROD_DEF_TO_UNITS('local_units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p107089"></a>5.1.9.3.8 global_axis_placement для named_unit (как local_units)
<a id="p107090"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107091"></a>Элемент ПИМ: | <a id="p107092"></a>PATH |
| --- | --- |
| <a id="p107093"></a>Ссылочный путь: | <a id="p107094"></a><a id="p107095"></a><a id="p107096"></a>/PROD_DEF_TO_UNITS('local_units')/<br>unit<br>unit = named_unit named_unit |



###### <a id="p107097"></a>5.1.9.4 Прикладной элемент LOCAL_CO_ORDINATE_SYSTEM



| <a id="p107098"></a>Элемент ПИМ: | <a id="p107099"></a><a id="p107100"></a>[property_definition]<br>[axis2_placement_3d] |
| --- | --- |
| <a id="p107101"></a>Источник: | <a id="p107102"></a>ИСО 10303-41, ИСО 10303-42 |
| <a id="p107103"></a>Правила: | <a id="p107104"></a>[5.2.4.114](#p116755), [5.2.4.82](#p115558), [5.2.4.100](#p116237) |
| <a id="p107105"></a>Ссылочный путь: | <a id="p107106"></a><a id="p107107"></a><a id="p107108"></a><a id="p107109"></a><a id="p107110"></a><a id="p107111"></a><a id="p107112"></a><a id="p107113"></a><a id="p107114"></a><a id="p107115"></a><a id="p107116"></a><a id="p107117"></a><a id="p107118"></a><a id="p107119"></a><a id="p107120"></a>{[/CLASS(property_definition, 'local coordinate system', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]}<br>/PROP_DEF_REP_HELP('local coordinate system')/<br>representation<br>{{representation.name = 'local axis representation'}<br>representation.context_of_items -><br>representation_context =><br>{representation_context.context_type = 'local coordinate space'}<br>geometric_representation_context<br>{geometric_representation_context.coordinate_space_dimension = 3}}<br>/REP_ITEM('local axes and origin')/<br>geometric_representation_item =><br>placement =><br>axis2_placement_3d |


<a id="p107121"></a>5.1.9.4.1 description
<a id="p107122"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p107123"></a>Элемент ПИМ: | <a id="p107124"></a>property_definition.description |
| --- | --- |
| <a id="p107125"></a>Источник: | <a id="p107126"></a>ИСО 10303-41 |


<a id="p107127"></a>5.1.9.4.2 version_id
<a id="p107128"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p107129"></a>Элемент ПИМ: | <a id="p107130"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p107131"></a>Источник: | <a id="p107132"></a>ИСО 10303-41 |
| <a id="p107133"></a>Правила: | <a id="p107134"></a>[5.2.4.164](#p118524) |
| <a id="p107135"></a>Ссылочный путь: | <a id="p107136"></a>/VERSION_ID(property_definition)/ |


<a id="p107137"></a>5.1.9.4.3 local_co_ordinate_system для definable_object (как defined_for)
<a id="p107138"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107139"></a>Элемент ПИМ: | <a id="p107140"></a>PATH |
| --- | --- |
| <a id="p107141"></a>Ссылочный путь: | <a id="p107142"></a>/PROP_TO_PROD_DEF/ |


<a id="p107143"></a>5.1.9.4.4 local_co_ordinate_system для global_id (как id)
<a id="p107144"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107145"></a>Элемент ПИМ: | <a id="p107146"></a>PATH |
| --- | --- |
| <a id="p107147"></a>Правила: | <a id="p107148"></a>[5.2.4.45](#p114249), [5.2.4.89](#p115801) |
| <a id="p107149"></a>Ссылочный путь: | <a id="p107150"></a><a id="p107151"></a><a id="p107152"></a><a id="p107153"></a>property_definition<br>identification_item = property_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p107154"></a>5.1.9.4.5 local_co_ordinate_system для derived_unit (как local_units)
<a id="p107155"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107156"></a>Элемент ПИМ: | <a id="p107157"></a>PATH |
| --- | --- |
| <a id="p107158"></a>Ссылочный путь: | <a id="p107159"></a><a id="p107160"></a><a id="p107161"></a><a id="p107162"></a>/PROP_DEF_TO_UNITS('local_units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p107163"></a>5.1.9.4.6 local_co_ordinate_system для named_unit (как local_units)
<a id="p107164"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107165"></a>Элемент ПИМ: | <a id="p107166"></a>PATH |
| --- | --- |
| <a id="p107167"></a>Ссылочный путь: | <a id="p107168"></a><a id="p107169"></a><a id="p107170"></a><a id="p107171"></a>/PROP_DEF_TO_UNITS('local_units')/<br>unit<br>unit = named_unit<br>named_unit |


<a id="p107172"></a>5.1.9.4.7 local_co_ordinate_system для global_axis_placement (как parent)


| <a id="p107173"></a>Элемент ПИМ: | <a id="p107174"></a>PATH |
| --- | --- |
| <a id="p107175"></a>Правила: | <a id="p107176"></a>[5.2.4.125](#p117180) |
| <a id="p107177"></a>Ссылочный путь: | <a id="p107178"></a><a id="p107179"></a><a id="p107180"></a><a id="p107181"></a><a id="p107182"></a><a id="p107183"></a><a id="p107184"></a><a id="p107185"></a><a id="p107186"></a><a id="p107187"></a><a id="p107188"></a><a id="p107189"></a><a id="p107190"></a><a id="p107191"></a><a id="p107192"></a><a id="p107193"></a><a id="p107194"></a><a id="p107195"></a>axis2_placement_3d <=<br>placement <=<br>geometric_representation_item <=<br>representation_item <-<br>representation_map.mapping_origin<br>representation_map<br>{[representation_map.mapped_representation -><br>representation<br>representation.name = 'local axis representation']}<br>representation_map <-<br>mapped_item.mapping_source<br>mapped_item<br>{mapped_item.name = 'local coordinate system position in global coordinate system'}<br>mapped_item.mapping_target -><br>representation_item =><br>geometric_representation_item =><br>placement =><br>axis2_placement_3d |


<a id="p107196"></a>5.1.9.4.8 local_co_ordinate_system для local_co_ordinate_system (как parent)


| <a id="p107197"></a>Элемент ПИМ: | <a id="p107198"></a>PATH |
| --- | --- |
| <a id="p107199"></a>Правила: | <a id="p107200"></a>[5.2.4.125](#p117180) |
| <a id="p107201"></a>Ссылочный путь: | <a id="p107202"></a><a id="p107203"></a><a id="p107204"></a><a id="p107205"></a><a id="p107206"></a><a id="p107207"></a><a id="p107208"></a><a id="p107209"></a><a id="p107210"></a><a id="p107211"></a><a id="p107212"></a><a id="p107213"></a><a id="p107214"></a><a id="p107215"></a><a id="p107216"></a><a id="p107217"></a><a id="p107218"></a><a id="p107219"></a><a id="p107220"></a>axis2_placement_3d <=<br>placement <=<br>geometric_representation_item <=<br>representation_item <-<br>representation_map.mapping_origin<br>representation_map<br>{[representation_map.mapped_representation -><br>representation<br>representation.name = 'local axis representation']}<br>representation_map <-<br>mapped_item.mapping_source<br>mapped_item<br>{mapped_item.name = 'local coordinate system position in parent local<br>coordinate system'}<br>mapped_item.mapping_target -><br>representation_item =><br>geometric_representation_item =><br>placement =><br>axis2_placement_3d |


<a id="p107221"></a>5.1.9.4.9 local_co_ordinate_system для local_co_ordinate_system_with_position_reference (как parent)


| <a id="p107222"></a>Элемент ПИМ: | <a id="p107223"></a>PATH |
| --- | --- |
| <a id="p107224"></a>Правила: | <a id="p107225"></a>[5.2.4.125](#p117180) |
| <a id="p107226"></a>Ссылочный путь: | <a id="p107227"></a><a id="p107228"></a><a id="p107229"></a><a id="p107230"></a><a id="p107231"></a><a id="p107232"></a><a id="p107233"></a><a id="p107234"></a><a id="p107235"></a><a id="p107236"></a><a id="p107237"></a><a id="p107238"></a><a id="p107239"></a><a id="p107240"></a><a id="p107241"></a><a id="p107242"></a><a id="p107243"></a><a id="p107244"></a><a id="p107245"></a>axis2_placement_3d <=<br>placement <=<br>geometric_representation_item <=<br>representation_item <-<br>representation_map.mapping_origin<br>representation_map<br>{[representation_map.mapped_representation -><br>representation<br>representation.name = 'local axis representation']}<br>representation_map <-<br>mapped_item.mapping_source<br>mapped_item<br>{mapped_item.name = 'local coordinate system position in parent local<br>coordinate system with position reference'}<br>mapped_item.mapping_target -><br>representation_item =><br>geometric_representation_item =><br>placement =><br>axis2_placement_3d |



###### <a id="p107246"></a>5.1.9.5 Прикладной элемент LOCAL_CO_ORDINATE_SYSTEM_WITH_POSITION_REFERENCE



| <a id="p107247"></a>Элемент ПИМ: | <a id="p107248"></a><a id="p107249"></a>[property_definition]<br>[axis2_placement_3d] |
| --- | --- |
| <a id="p107250"></a>Источник: | <a id="p107251"></a>ИСО 10303-41, ИСО 10303-42 |
| <a id="p107252"></a>Правила: | <a id="p107253"></a>[5.2.4.114](#p116755), [5.2.4.83](#p115592), [5.2.4.101](#p116272) |
| <a id="p107254"></a>Ссылочный путь: | <a id="p107255"></a><a id="p107256"></a><a id="p107257"></a><a id="p107258"></a><a id="p107259"></a><a id="p107260"></a><a id="p107261"></a><a id="p107262"></a><a id="p107263"></a><a id="p107264"></a><a id="p107265"></a><a id="p107266"></a><a id="p107267"></a><a id="p107268"></a><a id="p107269"></a><a id="p107270"></a>{[/CLASS(property_definition, 'local coordinate system with position reference', 'local coordinate system')/]<br>[/CLASS(property_definition, 'local coordinate system', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]}<br>/PROP_DEF_REP_HELP('local coordinate system with position reference')/<br>representation<br>{{representation.name = 'local axis with position reference representation'}<br>representation.context_of_items -><br>representation_context =><br>{representation_context.context_type = 'local coordinate space'}<br>geometric_representation_context<br>{geometric_representation_context.coordinate_space_dimension = 3}}<br>/REP_ITEM('local axes and origin')/<br>geometric_representation_item =><br>placement =><br>axis2_placement_3d |


<a id="p107271"></a>5.1.9.5.1 description
<a id="p107272"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p107273"></a>Элемент ПИМ: | <a id="p107274"></a>/SUPERTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.1](#p107121)) |
| --- | --- |


<a id="p107275"></a>5.1.9.5.2 version_id
<a id="p107276"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p107277"></a>Элемент ПИМ: | <a id="p107278"></a>/SUPERTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.2](#p107127)) |
| --- | --- |


<a id="p107279"></a>5.1.9.5.3 local_co_ordinate_system_with_position_reference для definable_object (как defined_for)
<a id="p107280"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107281"></a>Элемент ПИМ: | <a id="p107282"></a>/SUPERTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.3](#p107137)) |
| --- | --- |


<a id="p107283"></a>5.1.9.5.4 local_co_ordinate_system_with_position_reference для global_id (как id)
<a id="p107284"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107285"></a>Элемент ПИМ: | <a id="p107286"></a>/SUPERTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.4](#p107143)) |
| --- | --- |


<a id="p107287"></a>5.1.9.5.5 local_co_ordinate_system_with_position_reference для derived_unit (как local_units)
<a id="p107288"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107289"></a>Элемент ПИМ: | <a id="p107290"></a>/SUPERTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.5](#p107154)) |
| --- | --- |


<a id="p107291"></a>5.1.9.5.6 local_co_ordinate_system_with_position_reference для named_unit (как local_units)
<a id="p107292"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107293"></a>Элемент ПИМ: | <a id="p107294"></a>/SUPERTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.6](#p107163)) |
| --- | --- |


<a id="p107295"></a>5.1.9.5.7 local_co_ordinate_system_with_position_reference для length_measure (как longitudinal_ref)


| <a id="p107296"></a>Элемент ПИМ: | <a id="p107297"></a>length_measure |
| --- | --- |
| <a id="p107298"></a>Источник: | <a id="p107299"></a>ИСО 10303-43 |
| <a id="p107300"></a>Ссылочный путь: | <a id="p107301"></a><a id="p107302"></a><a id="p107303"></a><a id="p107304"></a><a id="p107305"></a><a id="p107306"></a><a id="p107307"></a><a id="p107308"></a>/PROP_DEF_REP_HELP('local coordinate system with position reference')/<br>representation<br>{representation.name = 'local axis with position reference representation'}<br>representation.items [i] -><br>representation_item<br>representation_item =><br>{representation_item.name = 'longitudinal ref} value_representation_item {value_representation_item.value_component -><br>measure_value = length_measure} |


<a id="p107309"></a>5.1.9.5.8 local_co_ordinate_system_with_position_reference для spacing_position (как longitudinal_ref)


| <a id="p107310"></a>Элемент ПИМ: | <a id="p107311"></a>compound_representation_item |
| --- | --- |
| <a id="p107312"></a>Источник: | <a id="p107313"></a>ИСО 10303-43 |
| <a id="p107314"></a>Ссылочный путь: | <a id="p107315"></a><a id="p107316"></a><a id="p107317"></a><a id="p107318"></a><a id="p107319"></a><a id="p107320"></a><a id="p107321"></a><a id="p107322"></a><a id="p107323"></a><a id="p107324"></a><a id="p107325"></a>/PROP_DEF_REP_HELP('local coordinate system with position reference')/<br>representation<br>{representation.name = 'local axis with position reference representation'}<br>representation.items [i] -><br>representation_item<br>(representation_item =><br>compound_representation_item<br>{/CLASS_HELP(compound_representation_item)/<br>(group.name = 'longitudinal position')<br>(group.name = 'spacing position with offset')<br>class}} |


<a id="p107326"></a>5.1.9.5.9 local_co_ordinate_system_with_position_reference для global_axis_placement (как parent)


| <a id="p107327"></a>Элемент ПИМ: | <a id="p107328"></a>PATH |
| --- | --- |
| <a id="p107329"></a>Правила: | <a id="p107330"></a>[5.2.4.125](#p117180) |
| <a id="p107331"></a>Ссылочный путь: | <a id="p107332"></a><a id="p107333"></a><a id="p107334"></a><a id="p107335"></a><a id="p107336"></a><a id="p107337"></a><a id="p107338"></a><a id="p107339"></a><a id="p107340"></a><a id="p107341"></a><a id="p107342"></a><a id="p107343"></a><a id="p107344"></a><a id="p107345"></a><a id="p107346"></a><a id="p107347"></a><a id="p107348"></a><a id="p107349"></a>axis2_placement_3d <=<br>placement <=<br>geometric_representation_item <=<br>representation_item <-<br>representation_map.mapping_origin<br>representation_map<br>{[representation_map.mapped_representation -><br>representation<br>representation.name = 'local axis with position reference representation']}<br>representation_map <-<br>mapped_item.mapping_source<br>mapped_item<br>{mapped_item.name = 'local coordinate system position in global coordinate system'}<br>mapped_item.mapping_target -><br>representation_item =><br>geometric_representation_item =><br>placement =><br>axis2_placement_3d |


<a id="p107350"></a>5.1.9.5.10 local_co_ordinate_system_with_position_reference для local_co_ordinate_system (как parent)


| <a id="p107351"></a>Элемент ПИМ: | <a id="p107352"></a>/SUPERTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.8](#p107196)) |
| --- | --- |


<a id="p107353"></a>5.1.9.5.11 local_co_ordinate_system_with_position_reference для local_co_ordinate_system_with_position_reference (как parent)


| <a id="p107354"></a>Элемент ПИМ: | <a id="p107355"></a>/SUPERTYPE(local_co_ordinate_system)/ (см. [5.1.9.4.9](#p107221)) |
| --- | --- |


<a id="p107356"></a>5.1.9.5.12 local_co_ordinate_system_with_position_reference для length_measure (как transversal_ref)


| <a id="p107357"></a>Элемент ПИМ: | <a id="p107358"></a>length_measure |
| --- | --- |
| <a id="p107359"></a>Источник: | <a id="p107360"></a>ИСО 10303-43 |
| <a id="p107361"></a>Ссылочный путь: | <a id="p107362"></a><a id="p107363"></a><a id="p107364"></a><a id="p107365"></a><a id="p107366"></a><a id="p107367"></a><a id="p107368"></a><a id="p107369"></a><a id="p107370"></a><a id="p107371"></a>/PROP_DEF_REP_HELP('local coordinate system with position reference')/<br>representation<br>{representation.name = 'local axis with position reference representation'}<br>representation.items [i] -><br>representation_item<br>representation_item =><br>{representation_item.name = 'transversal ref}<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = length_measure} |


<a id="p107372"></a>5.1.9.5.13 local_co_ordinate_system_with_position_reference для spacing_position (как transversal_ref)


| <a id="p107373"></a>Элемент ПИМ: | <a id="p107374"></a>compound_representation_item |
| --- | --- |
| <a id="p107375"></a>Источник: | <a id="p107376"></a>ИСО 10303-43 |
| <a id="p107377"></a>Ссылочный путь: | <a id="p107378"></a><a id="p107379"></a><a id="p107380"></a><a id="p107381"></a><a id="p107382"></a><a id="p107383"></a><a id="p107384"></a><a id="p107385"></a><a id="p107386"></a><a id="p107387"></a>/PROP_DEF_REP_HELP('local coordinate system with position reference')/<br>representation<br>{representation.name = 'local axis with position reference representation'}<br>representation.items [i] -><br>representation_item<br>representation_item =><br>compound_representation_item<br>{/CLASS_HELP(compound_representation_item)/<br>(group.name = 'transversal position')<br>(group.name = 'spacing position with offset') class}} |


<a id="p107388"></a>5.1.9.5.14 local_co_ordinate_system_with_position_reference для length_measure (как vertical_ref)


| <a id="p107389"></a>Элемент ПИМ: | <a id="p107390"></a>length_measure |
| --- | --- |
| <a id="p107391"></a>Источник: | <a id="p107392"></a>ИСО 10303-43 |
| <a id="p107393"></a>Ссылочный путь: | <a id="p107394"></a><a id="p107395"></a><a id="p107396"></a><a id="p107397"></a><a id="p107398"></a><a id="p107399"></a><a id="p107400"></a><a id="p107401"></a><a id="p107402"></a>/PROP_DEF_REP_HELP('local coordinate system with position reference')/<br>representation<br>{representation.name = 'local axis with position reference representation'}<br>representation.items [i] -><br>representation_item<br>representation_item =><br>{representation_item.name = 'vertical ref}<br>value_representation_item {value_representation_item.value_component -><br>measure_value = length_measure} |


<a id="p107403"></a>5.1.9.5.15 local_co_ordinate_system_with_position_reference для spacing_position (как vertical_ref)


| <a id="p107404"></a>Элемент ПИМ: | <a id="p107405"></a>compound_representation_item |
| --- | --- |
| <a id="p107406"></a>Источник: | <a id="p107407"></a>ИСО 10303-43 |
| <a id="p107408"></a>Ссылочный путь: | <a id="p107409"></a><a id="p107410"></a><a id="p107411"></a><a id="p107412"></a><a id="p107413"></a><a id="p107414"></a><a id="p107415"></a><a id="p107416"></a><a id="p107417"></a><a id="p107418"></a><a id="p107419"></a>/PROP_DEF_REP_HELP('local coordinate system with position reference')/<br>representation<br>{representation.name = 'local axis with position reference representation'}<br>representation.items [i] -><br>representation_item<br>representation_item =><br>compound_representation_item<br>{/CLASS_HELP(compound_representation_item)/<br>(group.name = 'vertical position')<br>(group.name = 'spacing position with offset')<br>class}} |



###### <a id="p107420"></a>5.1.9.6 Прикладной элемент LONGITUDINAL_POSITION



| <a id="p107421"></a>Элемент ПИМ: | <a id="p107422"></a>compound_representation_item |
| --- | --- |
| <a id="p107423"></a>Источник: | <a id="p107424"></a>ИСО 10303-43 |
| <a id="p107425"></a>Ссылочный путь: | <a id="p107426"></a><a id="p107427"></a><a id="p107428"></a><a id="p107429"></a><a id="p107430"></a><a id="p107431"></a><a id="p107432"></a><a id="p107433"></a><a id="p107434"></a>{[/CLASS(compound_representation_item, 'longitudinal position', 'spacing position')/]<br>[/ROOT_CLASS(compound_representation_item, 'spacing position')/]}<br>{compound_representation_item <-<br>representation.items[i]<br>representation<br>representation.context_of_items -><br>representation_context =><br>{representation_context.context_type = 'global coordinate space'}<br>geometric_representation_context} |


<a id="p107435"></a>5.1.9.6.1 name
<a id="p107436"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.8](#p107492)).


| <a id="p107437"></a>Элемент ПИМ: | <a id="p107438"></a>/SUPERTYPE(spacing_position)/ (см. [5.1.9.8.1](#p107506)) |
| --- | --- |
| <a id="p107439"></a>Ссылочный путь: | <a id="p107440"></a>см. отображения супертипа |


<a id="p107441"></a>5.1.9.6.2 position
<a id="p107442"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.8](#p107492)).

<a id="p107443"></a>5.1.9.6.3 position_number
<a id="p107444"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.8](#p107492)).


| <a id="p107445"></a>Элемент ПИМ: | <a id="p107446"></a>/SUPERTYPE(spacing_position)/ (см. [5.1.9.8.3](#p107522)) |
| --- | --- |



###### <a id="p107447"></a>5.1.9.7 Прикладной элемент LONGITUDINAL_TABLE



| <a id="p107448"></a>Элемент ПИМ: | <a id="p107449"></a>property_definition |
| --- | --- |
| <a id="p107450"></a>Источник: | <a id="p107451"></a>ИСО 10303-41 |
| <a id="p107452"></a>Ссылочный путь: | <a id="p107453"></a><a id="p107454"></a><a id="p107455"></a><a id="p107456"></a>{[/CLASS(property_definition, 'longitudinal table', 'spacing table')/]<br>[/CLASS(property_definition, 'spacing table', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p107457"></a>5.1.9.7.1 description
<a id="p107458"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.10](#p107492)).


| <a id="p107459"></a>Элемент ПИМ: | <a id="p107460"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.1](#p107611)) |
| --- | --- |


<a id="p107461"></a>5.1.9.7.2 name
<a id="p107462"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.10](#p107492)).


| <a id="p107463"></a>Элемент ПИМ: | <a id="p107464"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.2](#p107616)) |
| --- | --- |


<a id="p107465"></a>5.1.9.7.3 version_id
<a id="p107466"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p107467"></a>Элемент ПИМ: | <a id="p107468"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.3](#p107621)) |
| --- | --- |


<a id="p107469"></a>5.1.9.7.4 longitudinal_table для definable_object (как defined_for)
<a id="p107470"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107471"></a>Элемент ПИМ: | <a id="p107472"></a>/SUPERTYPE(spacing_table/ (см. [5.1.9.10.4](#p107631)) |
| --- | --- |


<a id="p107473"></a>5.1.9.7.5 longitudinal_table для global_id (as id)
<a id="p107474"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).

<a id="p107475"></a>5.1.9.7.6 longitudinal_table для derived_unit (как local_units)
<a id="p107476"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107477"></a>Элемент ПИМ: | <a id="p107478"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.6](#p107658)) |
| --- | --- |


<a id="p107479"></a>5.1.9.7.7 longitudinal_table для named_unit (как local_units)
<a id="p107480"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107481"></a>Элемент ПИМ: | <a id="p107482"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.7](#p107667)) |
| --- | --- |


<a id="p107483"></a>5.1.9.7.8 longitudinal_table для longitudinal_position (как spacing_table_representations)


| <a id="p107484"></a>Элемент ПИМ: | <a id="p107485"></a>PATH |
| --- | --- |
| <a id="p107486"></a>Ссылочный путь: | <a id="p107487"></a><a id="p107488"></a><a id="p107489"></a><a id="p107490"></a><a id="p107491"></a>/PROP_DEF_TO_REP/<br>representation.items [i] -><br>representation_item =><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'longitudinal position')/} |



###### <a id="p107492"></a>5.1.9.8 Прикладной элемент SPACING_POSITION



| <a id="p107493"></a>Элемент ПИМ: | <a id="p107494"></a>compound_representation_item |
| --- | --- |
| <a id="p107495"></a>Источник: | <a id="p107496"></a>ИСО 10303-43 |
| <a id="p107497"></a>Ссылочный путь: | <a id="p107498"></a><a id="p107499"></a><a id="p107500"></a><a id="p107501"></a><a id="p107502"></a><a id="p107503"></a><a id="p107504"></a><a id="p107505"></a>{/ROOT_CLASS(compound_representation_item, 'spacing position')/}<br>{compound_representation_item <-<br>representation.items[i]<br>representation<br>representation.context_of_items -><br>representation_context<br>{representation_context.context_type = 'global coordinate space'}<br>=> geometric_representation_context} |


<a id="p107506"></a>5.1.9.8.1 name


| <a id="p107507"></a>Элемент ПИМ: | <a id="p107508"></a>compound_representation_item.name |
| --- | --- |
| <a id="p107509"></a>Источник: | <a id="p107510"></a>ИСО 10303-43 |


<a id="p107511"></a>5.1.9.8.2 position


| <a id="p107512"></a>Элемент ПИМ: | <a id="p107513"></a>length_measure |
| --- | --- |
| <a id="p107514"></a>Источник: | <a id="p107515"></a>ИСО 10303-43 |
| <a id="p107516"></a>Правила: | <a id="p107517"></a>[5.2.4.114](#p116755), [5.2.4.143](#p117846) |
| <a id="p107518"></a>Ссылочный путь: | <a id="p107519"></a><a id="p107520"></a><a id="p107521"></a>/COMPOUND('position')/<br>value_representation_item {value_representation_item.value_component -><br>measure_value = length_measure} |


<a id="p107522"></a>5.1.9.8.3 position_number


| <a id="p107523"></a>Элемент ПИМ: | <a id="p107524"></a>count_measure |
| --- | --- |
| <a id="p107525"></a>Источник: | <a id="p107526"></a>ИСО 10303-43 |
| <a id="p107527"></a>Правила: | <a id="p107528"></a>[5.2.4.114](#p116755), [5.2.4.143](#p117846) |
| <a id="p107529"></a>Ссылочный путь: | <a id="p107530"></a><a id="p107531"></a><a id="p107532"></a>/COMPOUND('position number')/<br>value_representation_item {value_representation_item.value_component -><br>measure_value = count_measure} |



###### <a id="p107533"></a>5.1.9.9 Прикладной элемент SPACING_POSITION_WITH_OFFSET



| <a id="p107534"></a>Элемент ПИМ: | <a id="p107535"></a>compound_representation_item |
| --- | --- |
| <a id="p107536"></a>Источник: | <a id="p107537"></a>ИСО 10303-43 |
| <a id="p107538"></a>Ссылочный путь: | <a id="p107539"></a><a id="p107540"></a><a id="p107541"></a><a id="p107542"></a><a id="p107543"></a><a id="p107544"></a><a id="p107545"></a><a id="p107546"></a><a id="p107547"></a><a id="p107548"></a>{[/CLASS(compound_representation_item, 'spacing position with offset',<br>'spacing position')/]<br>[/ROOT_CLASS(compound_representation_item, 'spacing position')/]}<br>{compound_representation_item <-<br>representation.items[i]<br>representation<br>representation.context_of_items -><br>representation_context =><br>{representation_context.context_type = 'global coordinate space'}<br>geometric_representation_context} |


<a id="p107549"></a>5.1.9.9.1 name
<a id="p107550"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.8](#p107492)).


| <a id="p107551"></a>Элемент ПИМ: | <a id="p107552"></a>compound_representation_item.name |
| --- | --- |
| <a id="p107553"></a>Источник: | <a id="p107554"></a>ИСО 10303-43 |


<a id="p107555"></a>5.1.9.9.2 offset


| <a id="p107556"></a>Элемент ПИМ: | <a id="p107557"></a>length_measure |
| --- | --- |
| <a id="p107558"></a>Источник: | <a id="p107559"></a>ИСО 10303-43 |
| <a id="p107560"></a>Правила: | <a id="p107561"></a>[5.2.4.114](#p116755), [5.2.4.145](#p117926) |
| <a id="p107562"></a>Ссылочный путь: | <a id="p107563"></a><a id="p107564"></a><a id="p107565"></a><a id="p107566"></a>/COMPOUND('offset')/<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = length_measure} |


<a id="p107567"></a>5.1.9.9.3 position


| <a id="p107568"></a>Элемент ПИМ: | <a id="p107569"></a>length_measure |
| --- | --- |
| <a id="p107570"></a>Источник: | <a id="p107571"></a>ИСО 10303-43 |
| <a id="p107572"></a>Ссылочный путь: | <a id="p107573"></a><a id="p107574"></a><a id="p107575"></a><a id="p107576"></a>/COMPOUND('position')/<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = length_measure} |


<a id="p107577"></a>5.1.9.9.4 position_number
<a id="p107578"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.8](#p107492)).


| <a id="p107579"></a>Элемент ПИМ: | <a id="p107580"></a>length_measure |
| --- | --- |
| <a id="p107581"></a>Источник: | <a id="p107582"></a>ИСО 10303-43 |
| <a id="p107583"></a>Правила: | <a id="p107584"></a>[5.2.4.114](#p116755), [5.2.4.143](#p117846) |
| <a id="p107585"></a>Ссылочный путь: | <a id="p107586"></a><a id="p107587"></a><a id="p107588"></a><a id="p107589"></a>/COMPOUND('position number')/<br>value_representation_item<br>{value_representation_item.value_component -><br>measure_value = count_measure} |


<a id="p107590"></a>5.1.9.9.5 spacing_position_with_offset для spacing_position (как relating_spacing_position)


| <a id="p107591"></a>Элемент ПИМ: | <a id="p107592"></a>PATH |
| --- | --- |
| <a id="p107593"></a>Правила: | <a id="p107594"></a>[5.2.4.144](#p117881) |
| <a id="p107595"></a>Ссылочный путь: | <a id="p107596"></a><a id="p107597"></a><a id="p107598"></a><a id="p107599"></a><a id="p107600"></a><a id="p107601"></a>/COMPOUND('relating spacing position')/<br>{/CLASS_HELP(compound_representation_item)/<br>(group.name = 'longitudinal position')<br>(group.name = 'transversal position')<br>(group.name = 'vertical position')<br>class}} |



###### <a id="p107602"></a>5.1.9.10 Прикладной элемент SPACING_TABLE



| <a id="p107603"></a>Элемент ПИМ: | <a id="p107604"></a>property_definition |
| --- | --- |
| <a id="p107605"></a>Источник: | <a id="p107606"></a>ИСО 10303-41 |
| <a id="p107607"></a>Ссылочный путь: | <a id="p107608"></a><a id="p107609"></a><a id="p107610"></a>{[/CLASS(property_definition, 'spacing table', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p107611"></a>5.1.9.10.1 description


| <a id="p107612"></a>Элемент ПИМ: | <a id="p107613"></a>property_definition.description |
| --- | --- |
| <a id="p107614"></a>Источник: | <a id="p107615"></a>ИСО 10303-43 |


<a id="p107616"></a>5.1.9.10.2 name


| <a id="p107617"></a>Элемент ПИМ: | <a id="p107618"></a>property_definition.name |
| --- | --- |
| <a id="p107619"></a>Источник: | <a id="p107620"></a>ИСО 10303-43 |


<a id="p107621"></a>5.1.9.10.3 version_id
<a id="p107622"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p107623"></a>Элемент ПИМ: | <a id="p107624"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p107625"></a>Источник: | <a id="p107626"></a>ИСО 10303-41 |
| <a id="p107627"></a>Правила: | <a id="p107628"></a>[5.2.4.164](#p118524) |
| <a id="p107629"></a>Ссылочный путь: | <a id="p107630"></a>/VERSION_ID(property_definition)/ |


<a id="p107631"></a>5.1.9.10.4 spacing_table для definable_object (как defined_for)
<a id="p107632"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107633"></a>Элемент ПИМ: | <a id="p107634"></a>PATH |
| --- | --- |
| <a id="p107635"></a>Ссылочный путь: | <a id="p107636"></a><a id="p107637"></a><a id="p107638"></a><a id="p107639"></a><a id="p107640"></a><a id="p107641"></a><a id="p107642"></a><a id="p107643"></a><a id="p107644"></a><a id="p107645"></a><a id="p107646"></a>property_definition<br>property_definition.definition -><br>characterized_definition<br>characterized_definition = characterized_product_definition<br>characterized_product_definition = product_definition<br>product_definition<br>product_definition.formation -><br>product_definition_formation<br>product_definition_formation.of_product -><br>product<br>{/CLASS_ID(product, 'ship')} |


<a id="p107647"></a>5.1.9.10.5 spacing_table для global_id (как id)
<a id="p107648"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107649"></a>Элемент ПИМ: | <a id="p107650"></a>PATH |
| --- | --- |
| <a id="p107651"></a>Правила: | <a id="p107652"></a>[5.2.4.45](#p114249), [5.2.4.89](#p115801) |
| <a id="p107653"></a>Ссылочный путь: | <a id="p107654"></a><a id="p107655"></a><a id="p107656"></a><a id="p107657"></a>property_definition<br>identification_item = property_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p107658"></a>5.1.9.10.6 spacing_table для derived_unit (как local_units)
<a id="p107659"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107660"></a>Элемент ПИМ: | <a id="p107661"></a>PATH |
| --- | --- |
| <a id="p107662"></a>Ссылочный путь: | <a id="p107663"></a><a id="p107664"></a><a id="p107665"></a><a id="p107666"></a>/PROP_DEF_TO_UNITS('local units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p107667"></a>5.1.9.10.7 spacing_table для named_unit (как local_units)
<a id="p107668"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107669"></a>Элемент ПИМ: | <a id="p107670"></a>PATH |
| --- | --- |
| <a id="p107671"></a>Ссылочный путь: | <a id="p107672"></a><a id="p107673"></a><a id="p107674"></a><a id="p107675"></a>/PROP_DEF_TO_UNITS('local units')/<br>unit<br>unit = named_unit<br>named_unit |


<a id="p107676"></a>5.1.9.10.8 spacing_table для spacing_position (как spacing_table_representations)


| <a id="p107677"></a>Элемент ПИМ: | <a id="p107678"></a>PATH |
| --- | --- |
| <a id="p107679"></a>Ссылочный путь: | <a id="p107680"></a><a id="p107681"></a><a id="p107682"></a><a id="p107683"></a><a id="p107684"></a><a id="p107685"></a><a id="p107686"></a><a id="p107687"></a><a id="p107688"></a>/PROP_DEF_TO_REP/<br>representation.items [i] -><br>representation_item =><br>compound_representation_item {/CLASS_HELP(compound_representation_item)/<br>(group.name = 'longitudinal position')<br>(group.name = 'transversal position')<br>(group.name = 'vertical position')<br>(group.name = 'spacing position with offset')<br>class}} |



###### <a id="p107689"></a>5.1.9.11 Прикладной элемент STATION_TABLE



| <a id="p107690"></a>Элемент ПИМ: | <a id="p107691"></a>property_definition |
| --- | --- |
| <a id="p107692"></a>Источник: | <a id="p107693"></a>ИСО 10303-41 |
| <a id="p107694"></a>Ссылочный путь: | <a id="p107695"></a><a id="p107696"></a><a id="p107697"></a><a id="p107698"></a><a id="p107699"></a>{[/CLASS(property_definition, 'station table', 'longitudinal table')/]<br>[/CLASS(property_definition, 'longitudinal table', 'spacing table')/]<br>[/CLASS(property_definition, 'spacing table', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p107700"></a>5.1.9.11.1 description
<a id="p107701"></a>Примечание - Атрибут унаследован из супертипа Spacing_table (см. [5.1.9.10](#p107602)).


| <a id="p107702"></a>Элемент ПИМ: | <a id="p107703"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.1](#p107457)) |
| --- | --- |


<a id="p107704"></a>5.1.9.11.2 name
<a id="p107705"></a>Примечание - Атрибут унаследован из супертипа Spacing_table (см. [5.1.9.10](#p107602)).


| <a id="p107706"></a>Элемент ПИМ: | <a id="p107707"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.2](#p107461)) |
| --- | --- |


<a id="p107708"></a>5.1.9.11.3 version_id
<a id="p107709"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p107710"></a>Элемент ПИМ: | <a id="p107711"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.3](#p107621)) |
| --- | --- |


<a id="p107712"></a>5.1.9.11.4 station_table для definable_object (как defined_for)
<a id="p107713"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107714"></a>Элемент ПИМ: | <a id="p107715"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.4](#p107631)) |
| --- | --- |


<a id="p107716"></a>5.1.9.11.5 station_table для global_id (как id)
<a id="p107717"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107718"></a>Элемент ПИМ: | <a id="p107719"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.5](#p107473)) |
| --- | --- |


<a id="p107720"></a>5.1.9.11.6 station_table для derived_unit (как local_units)
<a id="p107721"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107722"></a>Элемент ПИМ: | <a id="p107723"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.6](#p107475)) |
| --- | --- |


<a id="p107724"></a>5.1.9.11.7 station_table для named_unit (как local_units)
<a id="p107725"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107726"></a>Элемент ПИМ: | <a id="p107727"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.7.7](#p107479)) |
| --- | --- |


<a id="p107728"></a>5.1.9.11.8 station_table для longitudinal_position (как spacing_table_representations)
<a id="p107729"></a>Примечание - Атрибут унаследован из супертипа Longitudinal_table (см. [5.1.9.7](#p107447)).


| <a id="p107730"></a>Элемент ПИМ: | <a id="p107731"></a>/SUPERTYPE(longitudinal_table)/ (см. [5.1.9.7.8](#p107483)) |
| --- | --- |



###### <a id="p107732"></a>5.1.9.12 Прикладной элемент TRANSVERSAL_POSITION



| <a id="p107733"></a>Элемент ПИМ: | <a id="p107734"></a>compound_representation_item |
| --- | --- |
| <a id="p107735"></a>Источник: | <a id="p107736"></a>ИСО 10303-43 |
| <a id="p107737"></a>Ссылочный путь: | <a id="p107738"></a><a id="p107739"></a><a id="p107740"></a><a id="p107741"></a><a id="p107742"></a><a id="p107743"></a><a id="p107744"></a><a id="p107745"></a><a id="p107746"></a>{[/CLASS(compound_representation_item, 'transversal position', 'spacing position')/]<br>[/ROOT_CLASS(compound_representation_item, 'spacing position')/]}<br>{compound_representation_item <-<br>representation.items[i]<br>representation<br>representation.context_of_items<br>representation_context =><br>{representation_context.context_type = 'global coordinate space'}<br>geometric_representation_context} |


<a id="p107747"></a>5.1.9.12.1 name
<a id="p107748"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.8](#p107492)).


| <a id="p107749"></a>Элемент ПИМ: | <a id="p107750"></a>/SUPERTYPE(spacing_position)/ (см. [5.1.9.8.1](#p107506)) |
| --- | --- |


<a id="p107751"></a>5.1.9.12.2 position
<a id="p107752"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.8](#p107492)).


| <a id="p107753"></a>Элемент ПИМ: | <a id="p107754"></a>/SUPERTYPE(spacing_position)/ (см. [5.1.9.8.2](#p107511)) |
| --- | --- |


<a id="p107755"></a>5.1.9.12.3 position_number
<a id="p107756"></a>Примечание - Атрибут унаследован из супертипа Spacing_position (см. [5.1.9.8](#p107492)).


| <a id="p107757"></a>Элемент ПИМ: | <a id="p107758"></a>/SUPERTYPE(spacing_position)/ (см. [5.1.9.8.3](#p107522)) |
| --- | --- |



###### <a id="p107759"></a>5.1.9.13 Прикладной элемент TRANSVERSAL_TABLE



| <a id="p107760"></a>Элемент ПИМ: | <a id="p107761"></a>property_definition |
| --- | --- |
| <a id="p107762"></a>Источник: | <a id="p107763"></a>ИСО 10303-41 |
| <a id="p107764"></a>Ссылочный путь: | <a id="p107765"></a><a id="p107766"></a><a id="p107767"></a><a id="p107768"></a>{[/CLASS(property_definition, 'transversal table', 'spacing table')/]<br>[/CLASS(property_definition, 'spacing table', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p107769"></a>5.1.9.13.1 description
<a id="p107770"></a>Примечание - Атрибут унаследован из супертипа Spacing_table (см. [5.1.9.10](#p107602)).


| <a id="p107771"></a>Элемент ПИМ: | <a id="p107772"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.1](#p107611)) |
| --- | --- |


<a id="p107773"></a>5.1.9.13.2 name
<a id="p107774"></a>Примечание - Атрибут унаследован из супертипа Spacing_table (см. [5.1.9.10](#p107602)).


| <a id="p107775"></a>Элемент ПИМ: | <a id="p107776"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.2](#p107616)) |
| --- | --- |


<a id="p107777"></a>5.1.9.13.3 version_id
<a id="p107778"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p107779"></a>Элемент ПИМ: | <a id="p107780"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.3](#p107621)) |
| --- | --- |


<a id="p107781"></a>5.1.9.13.4 transversal_table для definable_object (как defined_for)
<a id="p107782"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107783"></a>Элемент ПИМ: | <a id="p107784"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.4](#p107631)) |
| --- | --- |


<a id="p107785"></a>5.1.9.13.5 transversal_table для global_id (как id)
<a id="p107786"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107787"></a>Элемент ПИМ: | <a id="p107788"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.5](#p107647)) |
| --- | --- |


<a id="p107789"></a>5.1.9.13.6 transversal_table для derived_unit (как local_units)
<a id="p107790"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107791"></a>Элемент ПИМ: | <a id="p107792"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.6](#p107658)) |
| --- | --- |


<a id="p107793"></a>5.1.9.13.7 transversal_table для named_unit (как local_units)
<a id="p107794"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p107795"></a>Элемент ПИМ: | <a id="p107796"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.7](#p107667)) |
| --- | --- |


<a id="p107797"></a>5.1.9.13.8 transversal_table для transversal_position (как spacing_table_representations)


| <a id="p107798"></a>Элемент ПИМ: | <a id="p107799"></a>PATH |
| --- | --- |
| <a id="p107800"></a>Ссылочный путь: | <a id="p107801"></a><a id="p107802"></a><a id="p107803"></a><a id="p107804"></a><a id="p107805"></a><a id="p107806"></a>property_definition<=<br>/PROP_DEF_TO_REP/<br>representation.items [i] -><br>representation_item =><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'transversal position')/} |



###### <a id="p107807"></a>5.1.9.14 Прикладной элемент VERTICAL_POSITION



| <a id="p107808"></a>Элемент ПИМ: | <a id="p107809"></a>compound_representation_item |
| --- | --- |
| <a id="p107810"></a>Источник: | <a id="p107811"></a>ИСО 10303-43 |
| <a id="p107812"></a>Ссылочный путь: | <a id="p107813"></a><a id="p107814"></a><a id="p107815"></a><a id="p107816"></a><a id="p107817"></a><a id="p107818"></a><a id="p107819"></a><a id="p107820"></a><a id="p107821"></a>{[/CLASS(compound_representation_item, 'vertical position', 'spacing position')/]<br>[/ROOT_CLASS(compound_representation_item, 'spacing position')/]}<br>{compound_representation_item <-<br>representation.items[i]<br>representation<br>representation.context_of_items<br>representation_context =><br>{representation_context.context_type = 'global coordinate space'}<br>geometric_representation_context} |


<a id="p107822"></a>5.1.9.14.1 name
<a id="p107823"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.9.8](#p107492)).


| <a id="p107824"></a>Элемент ПИМ: | <a id="p107825"></a>/SUPERTYPE(spacing_position)/ (см. [5.1.9.8.1](#p107506)) |
| --- | --- |


<a id="p107826"></a>5.1.9.14.2 position
<a id="p107827"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.9.8](#p107492)).


| <a id="p107828"></a>Элемент ПИМ: | <a id="p107829"></a>/SUPERTYPE(spacing_position)/ (см. [5.1.9.8.2](#p107511)) |
| --- | --- |


<a id="p107830"></a>5.1.9.14.3 position_number
<a id="p107831"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.9.8](#p107492)).


| <a id="p107832"></a>Элемент ПИМ: | <a id="p107833"></a>/SUPERTYPE(spacing_position)/ (см. [5.1.9.8.3](#p107522)) |
| --- | --- |



###### <a id="p107834"></a>5.1.9.15 Прикладной элемент VERTICAL_TABLE



| <a id="p107835"></a>Элемент ПИМ: | <a id="p107836"></a>property_definition |
| --- | --- |
| <a id="p107837"></a>Источник: | <a id="p107838"></a>ИСО 10303-41 |
| <a id="p107839"></a>Ссылочный путь: | <a id="p107840"></a><a id="p107841"></a><a id="p107842"></a><a id="p107843"></a>{[/CLASS(property_definition, 'vertical table', 'spacing table')/]<br>[/CLASS(property_definition, 'spacing table', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p107844"></a>5.1.9.15.1 description
<a id="p107845"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.9.10](#p107602)).


| <a id="p107846"></a>Элемент ПИМ: | <a id="p107847"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.1](#p107611)) |
| --- | --- |


<a id="p107848"></a>5.1.9.15.2 name
<a id="p107849"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.9.10](#p107602)).


| <a id="p107850"></a>Элемент ПИМ: | <a id="p107851"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.2](#p107616)) |
| --- | --- |


<a id="p107852"></a>5.1.9.15.3 version_id
<a id="p107853"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p107854"></a>Элемент ПИМ: | <a id="p107855"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.3](#p107621)) |
| --- | --- |


<a id="p107856"></a>5.1.9.15.4 vertical_table для definable_object (как defined_for)
<a id="p107857"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107858"></a>Элемент ПИМ: | <a id="p107859"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.4](#p107631)) |
| --- | --- |


<a id="p107860"></a>5.1.9.15.5 vertical_table для global_id (как id)
<a id="p107861"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107862"></a>Элемент ПИМ: | <a id="p107863"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.5](#p107647)) |
| --- | --- |


<a id="p107864"></a>5.1.9.15.6 vertical_table для derived_unit (как local_units)
<a id="p107865"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107866"></a>Элемент ПИМ: | <a id="p107867"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.6](#p107658)) |
| --- | --- |


<a id="p107868"></a>5.1.9.15.7 vertical_table для named_unit (как local_units)
<a id="p107869"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107870"></a>Элемент ПИМ: | <a id="p107871"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.7](#p107667)) |
| --- | --- |


<a id="p107872"></a>5.1.9.15.8 vertical_table для vertical_position (как spacing_table_representations)


| <a id="p107873"></a>Элемент ПИМ: | <a id="p107874"></a>PATH |
| --- | --- |
| <a id="p107875"></a>Ссылочный путь: | <a id="p107876"></a><a id="p107877"></a><a id="p107878"></a><a id="p107879"></a><a id="p107880"></a>/PROP_DEF_TO_REP/<br>representation.items [i] -><br>representation_item =><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'vertical position')/} |



###### <a id="p107881"></a>5.1.9.16 Прикладной элемент WATERLINE_TABLE



| <a id="p107882"></a>Элемент ПИМ: | <a id="p107883"></a>property_definition |
| --- | --- |
| <a id="p107884"></a>Источник: | <a id="p107885"></a>ИСО 10303-41 |
| <a id="p107886"></a>Ссылочный путь: | <a id="p107887"></a><a id="p107888"></a><a id="p107889"></a><a id="p107890"></a><a id="p107891"></a>{[/CLASS(property_definition, 'waterline table', 'vertical table')/]<br>[/CLASS(property_definition, 'vertical table', 'spacing table')/]<br>[/CLASS(property_definition, 'spacing table', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p107892"></a>5.1.9.16.1 description
<a id="p107893"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.9.10](#p107602)).


| <a id="p107894"></a>Элемент ПИМ: | <a id="p107895"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.1](#p107611)) |
| --- | --- |


<a id="p107896"></a>5.1.9.16.2 name
<a id="p107897"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.9.10](#p107602)).


| <a id="p107898"></a>Элемент ПИМ: | <a id="p107899"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.2](#p107616)) |
| --- | --- |


<a id="p107900"></a>5.1.9.16.3 version_id
<a id="p107901"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p107902"></a>Элемент ПИМ: | <a id="p107903"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.3](#p107621)) |
| --- | --- |


<a id="p107904"></a>5.1.9.16.4 waterline_table для definable_object (как defined_for)
<a id="p107905"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107906"></a>Элемент ПИМ: | <a id="p107907"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.4](#p107631)) |
| --- | --- |


<a id="p107908"></a>5.1.9.16.5 waterline_table для global_id (как id)
<a id="p107909"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107910"></a>Элемент ПИМ: | <a id="p107911"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.5](#p107647)) |
| --- | --- |


<a id="p107912"></a>5.1.9.16.6 waterline_table для derived_unit (как local_units)
<a id="p107913"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107914"></a>Элемент ПИМ: | <a id="p107915"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.6](#p107658)) |
| --- | --- |


<a id="p107916"></a>5.1.9.16.7 waterline_table для named_unit (как local_units)
<a id="p107917"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.4.1](#p105522)).


| <a id="p107918"></a>Элемент ПИМ: | <a id="p107919"></a>/SUPERTYPE(spacing_table)/ (см. [5.1.9.10.7](#p107667)) |
| --- | --- |


<a id="p107920"></a>5.1.9.16.8 waterline_table для vertical_position (как spacing_table_representations)
<a id="p107921"></a>Примечание - Атрибут унаследован из супертипа (см. [5.1.9.15](#p107834)).


| <a id="p107922"></a>Элемент ПИМ: | <a id="p107923"></a>/SUPERTYPE(vertical_table)/ (см. [5.1.9.15.8](#p107872)) |
| --- | --- |



###### <a id="p107924"></a>5.1.9.17 Прикладной элемент VERSIONABLE_OBJECT



|  | <a id="p107925"></a><a id="p107926"></a><a id="p107927"></a><a id="p107928"></a><a id="p107929"></a>#1: если значением элемента versionable_object является definition<br>#2: если значением элемента versionable_object является document<br>#3: если значением элемента versionable_object является item_relationship<br>#4: если значением элемента versionable_object является item_structure<br>#5: если значением элемента versionable_object является revision |
| --- | --- |
| <a id="p107930"></a>Элемент ПИМ: | <a id="p107931"></a><a id="p107932"></a><a id="p107933"></a><a id="p107934"></a><a id="p107935"></a>#1: /SUBTYPE(definition)/ (см. [5.1.4.1](#p105522))<br>#2: /SUBTYPE(document)/ (см. [5.1.5.1](#p105752))<br>#3: /SUBTYPE(item_relationship)/ (см. [5.1.8.4](#p106743))<br>#4: /SUBTYPE(item_structure)/ (см. [5.1.8.5](#p106769))<br>#5: /SUBTYPE(revision)/ (см. [5.1.3.13](#p105120)) |


<a id="p107936"></a>5.1.9.17.1 version_id


| <a id="p107937"></a>Элемент ПИМ: | <a id="p107938"></a><a id="p107939"></a><a id="p107940"></a><a id="p107941"></a><a id="p107942"></a>#1: /SUBTYPE(definition)/ (см. [5.1.4.1.2](#p105548))<br>#2: /SUBTYPE(document)/ (см. [5.1.5.1.5](#p105800))<br>#3: /SUBTYPE(item_relationship)/ (см. [5.1.8.4.2](#p106749))<br>#4: /SUBTYPE(item_structure)/ (см. [5.1.8.5.2](#p106775))<br>#5: /SUBTYPE(revision)/ (см. [5.1.3.13.3](#p105143)) |
| --- | --- |



##### <a id="p107943"></a>5.1.10 Функциональная единица offset_table_representations


###### <a id="p107944"></a>5.1.10.1 Прикладной элемент OFFSET_POINT_TABLE_MODEL



| <a id="p107945"></a>Элемент ПИМ: | <a id="p107946"></a>compound_representation_item |
| --- | --- |
| <a id="p107947"></a>Источник: | <a id="p107948"></a>ИСО 10303-43 |
| <a id="p107949"></a>Ссылочный путь: | <a id="p107950"></a>/ROOT_CLASS(compound_representation_item, 'offset point table model')/ |


<a id="p107951"></a>5.1.10.1.1 offset_point_table_type


| <a id="p107952"></a>Элемент ПИМ: | <a id="p107953"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p107954"></a>Источник: | <a id="p107955"></a>ИСО 10303-45 |
| <a id="p107956"></a>Правила: | <a id="p107957"></a>[5.2.4.54](#p114533) |
| <a id="p107958"></a>Ссылочный путь: | <a id="p107959"></a><a id="p107960"></a><a id="p107961"></a><a id="p107962"></a><a id="p107963"></a><a id="p107964"></a>/COMPOUND('offset point table type')/<br>descriptive_representation_item<br>{(descriptive_representation_item.name = 'waterline table')<br>(descriptive_representation_item.name = 'station table')<br>(descriptive_representation_item.name = 'buttock table')<br>(descriptive_representation_item.name = 'user defined table')} |


<a id="p107965"></a>5.1.10.1.2 offset_point_table_model для section_of_offset_point_table (как offset_point_table_sections)


| <a id="p107966"></a>Элемент ПИМ: | <a id="p107967"></a>PATH |
| --- | --- |
| <a id="p107968"></a>Правила: | <a id="p107969"></a>[5.2.4.105](#p116417) |
| <a id="p107970"></a>Ссылочный путь: | <a id="p107971"></a><a id="p107972"></a><a id="p107973"></a>/COMPOUND('offset point table section')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'section of offset point table')/} |



###### <a id="p107974"></a>5.1.10.2 Прикладной элемент OFFSET_TABLE_SHAPE_REPRESENTATION



| <a id="p107975"></a>Элемент ПИМ: | <a id="p107976"></a>shape_representation |
| --- | --- |
| <a id="p107977"></a>Источник: | <a id="p107978"></a>ИСО 10303-41 |
| <a id="p107979"></a>Ссылочный путь: | <a id="p107980"></a><a id="p107981"></a>{[/CLASS(shape_representation,'offset table shape representation','moulded form shape representation')/]<br>[/ROOT_CLASS(shape_representation, 'moulded form shape representation')/} |


<a id="p107982"></a>5.1.10.2.1 moulded_form_representation_id
<a id="p107983"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_shape_representation (см. [5.1.14.8](#p111413))


| <a id="p107984"></a>Элемент ПИМ: | <a id="p107985"></a>PATH |
| --- | --- |
| <a id="p107986"></a>Ссылочный путь: | <a id="p107987"></a>/SUPERTYPE(Moulded_form_shape_representation)/ (см. [5.1.14.8.1](#p111421)) |


<a id="p107988"></a>5.1.10.2.2 offset_table_shape_representation для offset_point_table_model (как items)


| <a id="p107989"></a>Элемент ПИМ: | <a id="p107990"></a>PATH |
| --- | --- |
| <a id="p107991"></a>Правила: | <a id="p107992"></a>[5.2.4.106](#p116452) |
| <a id="p107993"></a>Ссылочный путь: | <a id="p107994"></a><a id="p107995"></a><a id="p107996"></a><a id="p107997"></a><a id="p107998"></a><a id="p107999"></a>shape_representation <=<br>representation<br>representation.items[i] -><br>representation_item =><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'offset point table model')/} |


<a id="p108000"></a>5.1.10.2.3 offset_table_shape_representation для symmetry (как moulded_form_symmetry)
<a id="p108001"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_shape_representation (см. [5.1.14.8](#p111413))


| <a id="p108002"></a>Элемент ПИМ: | <a id="p108003"></a>PATH |
| --- | --- |
| <a id="p108004"></a>Ссылочный путь: | <a id="p108005"></a>/SUPERTYPE(Moulded_form_shape_representation)/ (см. [5.1.14.8.2](#p111428)) |



###### <a id="p108006"></a>5.1.10.3 Прикладной элемент SECTION_OF_OFFSET_POINT_TABLE



| <a id="p108007"></a>Элемент ПИМ: | <a id="p108008"></a>compound_representation_item |
| --- | --- |
| <a id="p108009"></a>Источник: | <a id="p108010"></a>ИСО 10303-43 |
| <a id="p108011"></a>Ссылочный путь: | <a id="p108012"></a>/ROOT_CLASS(compound_representation_item, 'section of offset point table')/ |


<a id="p108013"></a>5.1.10.3.1 section_identifier


| <a id="p108014"></a>Элемент ПИМ: | <a id="p108015"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p108016"></a>Источник: | <a id="p108017"></a>ИСО 10303-41 |
| <a id="p108018"></a>Правила: | <a id="p108019"></a>[5.2.4.33](#p113885) |
| <a id="p108020"></a>Ссылочный путь: | <a id="p108021"></a>/HAS_ID_1_ROLE(compound_representation_item, 'section identifier')/ |


<a id="p108022"></a>5.1.10.3.2 section_of_offset_point_table для offset_point_table_model (как for_table)
<a id="p108023"></a>Примечание - Атрибут является обратным отношением для атрибута Offset_point_table_model attribute объекта offset_point_table_sections (см. [5.1.10.1.2](#p107965)).


| <a id="p108024"></a>Элемент ПИМ: | <a id="p108025"></a>PATH |
| --- | --- |
| <a id="p108026"></a>Ссылочный путь: | <a id="p108027"></a><a id="p108028"></a><a id="p108029"></a><a id="p108030"></a><a id="p108031"></a><a id="p108032"></a><a id="p108033"></a><a id="p108034"></a>compound_representation_item <=<br>representation_item <-<br>list_representation_item[i]<br>compound_item_definition =<br>list_representation_item <-<br>compound_representation_item.item_element<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'offset point table model')/} |


<a id="p108035"></a>5.1.10.3.3 section_of_offset_point_table для ship_point (как section_points)


| <a id="p108036"></a>Элемент ПИМ: | <a id="p108037"></a>PATH |
| --- | --- |
| <a id="p108038"></a>Правила: | <a id="p108039"></a>[5.2.4.104](#p116382) |
| <a id="p108040"></a>Ссылочный путь: | <a id="p108041"></a><a id="p108042"></a><a id="p108043"></a>/COMPOUND('section point')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'ship point')/} |



##### <a id="p108044"></a>5.1.11 Функциональная единица ship_design_parameter


###### <a id="p108045"></a>5.1.11.1 Прикладной элемент APPENDAGE_MOULDED_FORM_DESIGN_PARAMETER



| <a id="p108046"></a>Элемент ПИМ: | <a id="p108047"></a>property_definition |
| --- | --- |
| <a id="p108048"></a>Источник: | <a id="p108049"></a>ИСО 10303-41 |
| <a id="p108050"></a>Правила: | <a id="p108051"></a>[5.2.4.75](#p115317) |
| <a id="p108052"></a>Ссылочный путь: | <a id="p108053"></a><a id="p108054"></a><a id="p108055"></a><a id="p108056"></a>{[/CLASS(property_definition, 'appendage moulded form design parameter','moulded form characteristics definition')/]<br>[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p108057"></a>5.1.11.1.1 appendage_breadth


| <a id="p108058"></a>Элемент ПИМ: | <a id="p108059"></a>positive_length_measure |
| --- | --- |
| <a id="p108060"></a>Источник: | <a id="p108061"></a>ИСО 10303-43 |
| <a id="p108062"></a>Правила: | <a id="p108063"></a>[5.2.4.114](#p116755), [5.2.4.77](#p115387) |
| <a id="p108064"></a>Ссылочный путь: | <a id="p108065"></a>/PROP_DEF_TO_VAL_REP_ITEM('appendage moulded form design parameter', 'appendage breadth', positive_length_measure)/ |


<a id="p108066"></a>5.1.11.1.2 appendage_depth


| <a id="p108067"></a>Элемент ПИМ: | <a id="p108068"></a>positive_length_measure |
| --- | --- |
| <a id="p108069"></a>Источник: | <a id="p108070"></a>ИСО 10303-43 |
| <a id="p108071"></a>Правила: | <a id="p108072"></a>[5.2.4.114](#p116755), [5.2.4.77](#p115387) |
| <a id="p108073"></a>Ссылочный путь: | <a id="p108074"></a>/PROP_DEF_TO_VAL_REP_ITEM('appendage moulded form design parameter', 'appendage depth', positive_length_measure)/ |


<a id="p108075"></a>5.1.11.1.3 appendage_length


| <a id="p108076"></a>Элемент ПИМ: | <a id="p108077"></a>positive_length_measure |
| --- | --- |
| <a id="p108078"></a>Источник: | <a id="p108079"></a>ИСО 10303-43 |
| <a id="p108080"></a>Правила: | <a id="p108081"></a>[5.2.4.114](#p116755), [5.2.4.77](#p115387) |
| <a id="p108082"></a>Ссылочный путь: | <a id="p108083"></a>/PROP_DEF_TO_VAL_REP_ITEM('appendage moulded form design parameter', 'appendage length', positive_length_measure)/ |


<a id="p108084"></a>5.1.11.1.4 description
<a id="p108085"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108086"></a>Элемент ПИМ: | <a id="p108087"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.1](#p108764)) |
| --- | --- |


<a id="p108088"></a>5.1.11.1.5 moulded_form_displacement


| <a id="p108089"></a>Элемент ПИМ: | <a id="p108090"></a>volume_measure |
| --- | --- |
| <a id="p108091"></a>Источник: | <a id="p108092"></a>ИСО 10303-43 |
| <a id="p108093"></a>Правила: | <a id="p108094"></a>[5.2.4.90](#p115843), [5.2.4.114](#p116755) |
| <a id="p108095"></a>Ссылочный путь: | <a id="p108096"></a>/PROP_DEF_TO_VAL_REP_ITEM('appendage moulded form design parameter', 'moulded form displacement', volume_measure)/ |


<a id="p108097"></a>5.1.11.1.6 moulded_form_outer_surface


| <a id="p108098"></a>Элемент ПИМ: | <a id="p108099"></a>area_measure |
| --- | --- |
| <a id="p108100"></a>Источник: | <a id="p108101"></a>ИСО 10303-43 |
| <a id="p108102"></a>Правила: | <a id="p108103"></a>[5.2.4.115](#p116783), [5.2.4.114](#p116755) |
| <a id="p108104"></a>Ссылочный путь: | <a id="p108105"></a>/PROP_DEF_TO_VAL_REP_ITEM('appendage moulded form design parameter', 'moulded form outer surface', area_measure)/ |


<a id="p108106"></a>5.1.11.1.7 type_of_appendage


| <a id="p108107"></a>Элемент ПИМ: | <a id="p108108"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p108109"></a>Источник: | <a id="p108110"></a>ИСО 10303-45 |
| <a id="p108111"></a>Правила: | <a id="p108112"></a>[5.2.4.77](#p115387), [5.2.4.151](#p118154) |
| <a id="p108113"></a>Ссылочный путь: | <a id="p108114"></a><a id="p108115"></a><a id="p108116"></a><a id="p108117"></a><a id="p108118"></a><a id="p108119"></a><a id="p108120"></a><a id="p108121"></a><a id="p108122"></a><a id="p108123"></a><a id="p108124"></a><a id="p108125"></a><a id="p108126"></a><a id="p108127"></a><a id="p108128"></a><a id="p108129"></a><a id="p108130"></a><a id="p108131"></a>/PROP_DEF_TO_DESC_REP_ITEM('appendage moulded form design parameter', 'type of appendage')/<br>{(descriptive_representation_item.description = 'active fin')<br>(descriptive_representation_item.description = 'air emitter')<br>(descriptive_representation_item.description = 'arrays')<br>(descriptive_representation_item.description = 'bilge keel')<br>(descriptive_representation_item.description = 'bow thruster')<br>(descriptive_representation_item.description = 'cathodic protection anode')<br>(descriptive_representation_item.description = 'duck tail')<br>(descriptive_representation_item.description = 'passive fin')<br>(descriptive_representation_item.description = 'rudder')<br>(descriptive_representation_item.description = 'sea chest')<br>(descriptive_representation_item.description = 'shaft bossings')<br>(descriptive_representation_item.description = 'shaft strut')<br>(descriptive_representation_item.description = 'skeg')<br>(descriptive_representation_item.description = 'spray rail')<br>(descriptive_representation_item.description = 'stern flap')<br>(descriptive_representation_item.description = 'stern thruster')<br>(descriptive_representation_item.description = 'user defined')} |


<a id="p108132"></a>5.1.11.1.8 usr_def_appendage_type


| <a id="p108133"></a>Элемент ПИМ: | <a id="p108134"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p108135"></a>Источник: | <a id="p108136"></a>ИСО 10303-45 |
| <a id="p108137"></a>Правила: | <a id="p108138"></a>[5.2.4.151](#p118154), [5.2.4.115](#p116783) |
| <a id="p108139"></a>Ссылочный путь: | <a id="p108140"></a><a id="p108141"></a>/PROP_DEF_TO_DESC_REP_ITEM('appendage moulded form design parameter', 'type of appendage')/<br>descriptive_representation_item.description |


<a id="p108142"></a>5.1.11.1.9 version_id
<a id="p108143"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108144"></a>Элемент ПИМ: | <a id="p108145"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.4](#p108790)) |
| --- | --- |


<a id="p108146"></a>5.1.11.1.10 appendage_moulded_form_design_parameter для moulded_form (как defined_for)
<a id="p108147"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108148"></a>Элемент ПИМ: | <a id="p108149"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.5](#p108800)) |
| --- | --- |


<a id="p108150"></a>5.1.11.1.11 appendage_moulded_form_design_parameter для global_id (как id)
<a id="p108151"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p108152"></a>Элемент ПИМ: | <a id="p108153"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.6](#p108807)) |
| --- | --- |


<a id="p108154"></a>5.1.11.1.12 appendage_moulded_form_design_parameter для derived_unit (как local_units)
<a id="p108155"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p108156"></a>Элемент ПИМ: | <a id="p108157"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.7](#p108818)) |
| --- | --- |


<a id="p108158"></a>5.1.11.1.13 appendage_moulded_form_design_parameter для named_unit (как local_units)
<a id="p108159"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p108160"></a>Элемент ПИМ: | <a id="p108161"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.8](#p108827)) |
| --- | --- |



###### <a id="p108162"></a>5.1.11.2 Прикладной элемент BOTTOM_MOULDED_FORM_DESIGN_PARAMETER



| <a id="p108163"></a>Элемент ПИМ: | <a id="p108164"></a>property_definition |
| --- | --- |
| <a id="p108165"></a>Источник: | <a id="p108166"></a>ИСО 10303-41 |
| <a id="p108167"></a>Правила: | <a id="p108168"></a>[5.2.4.76](#p115352) |
| <a id="p108169"></a>Ссылочный путь: | <a id="p108170"></a><a id="p108171"></a><a id="p108172"></a><a id="p108173"></a>{[/CLASS(property_definition, 'bottom moulded form design parameter', 'moulded form characteristics definition')/]<br>[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p108174"></a>5.1.11.2.1 aft_end_of_flat_of_bottom


| <a id="p108175"></a>Элемент ПИМ: | <a id="p108176"></a>positive_length_measure |
| --- | --- |
| <a id="p108177"></a>Источник: | <a id="p108178"></a>ИСО 10303-43 |
| <a id="p108179"></a>Правила: | <a id="p108180"></a>[5.2.4.114](#p116755), [5.2.4.91](#p115882) |
| <a id="p108181"></a>Ссылочный путь: | <a id="p108182"></a>/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'aft end of flat of bottom', positive_length_measure)/ |


<a id="p108183"></a>5.1.11.2.2 bilge_radius


| <a id="p108184"></a>Элемент ПИМ: | <a id="p108185"></a>positive_length_measure |
| --- | --- |
| <a id="p108186"></a>Источник: | <a id="p108187"></a>ИСО 10303-43 |
| <a id="p108188"></a>Правила: | <a id="p108189"></a>[5.2.4.114](#p116755), [5.2.4.91](#p115882) |
| <a id="p108190"></a>Ссылочный путь: | <a id="p108191"></a>/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'bilge radius', positive_length_measure)/ |


<a id="p108192"></a>5.1.11.2.3 description
<a id="p108193"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108194"></a>Элемент ПИМ: | <a id="p108195"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.1](#p108764)) |
| --- | --- |


<a id="p108196"></a>5.1.11.2.4 flat_of_bottom_breadth


| <a id="p108197"></a>Элемент ПИМ: | <a id="p108198"></a>positive_length_measure |
| --- | --- |
| <a id="p108199"></a>Источник: | <a id="p108200"></a>ИСО 10303-43 |
| <a id="p108201"></a>Правила: | <a id="p108202"></a>[5.2.4.114](#p116755), [5.2.4.91](#p115882) |
| <a id="p108203"></a>Ссылочный путь: | <a id="p108204"></a>/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'flat of bottom breadth', positive_length_measure)/ |


<a id="p108205"></a>5.1.11.2.5 front_end_of_flat_of_bottom


| <a id="p108206"></a>Элемент ПИМ: | <a id="p108207"></a>positive_length_measure |
| --- | --- |
| <a id="p108208"></a>Источник: | <a id="p108209"></a>ИСО 10303-43 |
| <a id="p108210"></a>Правила: | <a id="p108211"></a>[5.2.4.114](#p116755), [5.2.4.91](#p115882) |
| <a id="p108212"></a>Ссылочный путь: | <a id="p108213"></a>/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'front end of flat of bottom', positive_length_measure)/ |


<a id="p108214"></a>5.1.11.2.6 length_of_flat_of_bottom


| <a id="p108215"></a>Элемент ПИМ: | <a id="p108216"></a>positive_length_measure |
| --- | --- |
| <a id="p108217"></a>Источник: | <a id="p108218"></a>ИСО 10303-43 |
| <a id="p108219"></a>Правила: | <a id="p108220"></a>[5.2.4.114](#p116755), [5.2.4.91](#p115882) |
| <a id="p108221"></a>Ссылочный путь: | <a id="p108222"></a>/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'length of flat of bottom', positive_length_measure)/ |


<a id="p108223"></a>5.1.11.2.7 moulded_form_displacement


| <a id="p108224"></a>Элемент ПИМ: | <a id="p108225"></a>volume_measure |
| --- | --- |
| <a id="p108226"></a>Источник: | <a id="p108227"></a>ИСО 10303-43 |
| <a id="p108228"></a>Правила: | <a id="p108229"></a>[5.2.4.116](#p116821), [5.2.4.114](#p116755) |
| <a id="p108230"></a>Ссылочный путь: | <a id="p108231"></a><a id="p108232"></a>property_definition <=<br>/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'moulded form displacement', volume_measure)/ |


<a id="p108233"></a>5.1.11.2.8 moulded_form_outer_surface


| <a id="p108234"></a>Элемент ПИМ: | <a id="p108235"></a>area_measure |
| --- | --- |
| <a id="p108236"></a>Источник: | <a id="p108237"></a>ИСО 10303-43 |
| <a id="p108238"></a>Правила: | <a id="p108239"></a>[5.2.4.116](#p116821), [5.2.4.114](#p116755) |
| <a id="p108240"></a>Ссылочный путь: | <a id="p108241"></a>/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'moulded form outer surface', area_measure)/ |


<a id="p108242"></a>5.1.11.2.9 rake_of_keel


| <a id="p108243"></a>Элемент ПИМ: | <a id="p108244"></a>plane_angle_measure |
| --- | --- |
| <a id="p108245"></a>Источник: | <a id="p108246"></a>ИСО 10303-43 |
| <a id="p108247"></a>Правила: | <a id="p108248"></a>[5.2.4.114](#p116755), [5.2.4.91](#p115882) |
| <a id="p108249"></a>Ссылочный путь: | <a id="p108250"></a>/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'rake of keel', plane_angle_measure)/ |


<a id="p108251"></a>5.1.11.2.10 rise_of_floor


| <a id="p108252"></a>Элемент ПИМ: | <a id="p108253"></a>positive_length_measure |
| --- | --- |
| <a id="p108254"></a>Источник: | <a id="p108255"></a>ИСО 10303-43 |
| <a id="p108256"></a>Правила: | <a id="p108257"></a>[5.2.4.114](#p116755), [5.2.4.91](#p115882) |
| <a id="p108258"></a>Ссылочный путь: | <a id="p108259"></a>/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'rise of floor', positive_length_measure)/ |


<a id="p108260"></a>5.1.11.2.11 version_id
<a id="p108261"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108262"></a>Элемент ПИМ: | <a id="p108263"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.4](#p108790)) |
| --- | --- |


<a id="p108264"></a>5.1.11.2.12 bottom_moulded_form_design_parameter для moulded_form (как defined_for)
<a id="p108265"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108266"></a>Элемент ПИМ: | <a id="p108267"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.5](#p108800)) |
| --- | --- |


<a id="p108268"></a>5.1.11.2.13 bottom_moulded_form_design_parameter для global_id (как id)
<a id="p108269"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108270"></a>Элемент ПИМ: | <a id="p108271"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.6](#p108807)) |
| --- | --- |


<a id="p108272"></a>5.1.11.2.14 bottom_moulded_form_design_parameter для derived_unit (как local_units)
<a id="p108273"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108274"></a>Элемент ПИМ: | <a id="p108275"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.7](#p108818)) |
| --- | --- |


<a id="p108276"></a>5.1.11.2.15 bottom_moulded_form_design_parameter для named_unit (как local_units)
<a id="p108277"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108278"></a>Элемент ПИМ: | <a id="p108279"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.8](#p108827)) |
| --- | --- |



###### <a id="p108280"></a>5.1.11.3 Прикладной элемент BULB_MOULDED_FORM_DESIGN_PARAMETER



| <a id="p108281"></a>Элемент ПИМ: | <a id="p108282"></a>property_definition |
| --- | --- |
| <a id="p108283"></a>Источник: | <a id="p108284"></a>ИСО 10303-41 |
| <a id="p108285"></a>Правила: | <a id="p108286"></a>[5.2.4.77](#p115387) |
| <a id="p108287"></a>Ссылочный путь: | <a id="p108288"></a><a id="p108289"></a><a id="p108290"></a><a id="p108291"></a>{[/CLASS(property_definition, 'bulb moulded form design parameter', 'moulded form characteristics definition')/]<br>[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p108292"></a>5.1.11.3.1 bulb_breadth


| <a id="p108293"></a>Элемент ПИМ: | <a id="p108294"></a>positive_length_measure |
| --- | --- |
| <a id="p108295"></a>Источник: | <a id="p108296"></a>ИСО 10303-43 |
| <a id="p108297"></a>Правила: | <a id="p108298"></a>[5.2.4.114](#p116755), [5.2.4.92](#p115919) |
| <a id="p108299"></a>Ссылочный путь: | <a id="p108300"></a>/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb breadth', positive_length_measure)/ |


<a id="p108301"></a>5.1.11.3.2 bulb_breadth_pp


| <a id="p108302"></a>Элемент ПИМ: | <a id="p108303"></a>positive_length_measure |
| --- | --- |
| <a id="p108304"></a>Источник: | <a id="p108305"></a>ИСО 10303-43 |
| <a id="p108306"></a>Правила: | <a id="p108307"></a>[5.2.4.114](#p116755), [5.2.4.92](#p115919) |
| <a id="p108308"></a>Ссылочный путь: | <a id="p108309"></a>/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb breadth pp', positive_length_measure)/ |


<a id="p108310"></a>5.1.11.3.3 bulb_depth


| <a id="p108311"></a>Элемент ПИМ: | <a id="p108312"></a>positive_length_measure |
| --- | --- |
| <a id="p108313"></a>Источник: | <a id="p108314"></a>ИСО 10303-43 |
| <a id="p108315"></a>Правила: | <a id="p108316"></a>[5.2.4.114](#p116755), [5.2.4.92](#p115919) |
| <a id="p108317"></a>Ссылочный путь: | <a id="p108318"></a>/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb depth', positive_length_measure)/ |


<a id="p108319"></a>5.1.11.3.4 bulb_depth_pp


| <a id="p108320"></a>Элемент ПИМ: | <a id="p108321"></a>positive_length_measure |
| --- | --- |
| <a id="p108322"></a>Источник: | <a id="p108323"></a>ИСО 10303-43 |
| <a id="p108324"></a>Правила: | <a id="p108325"></a>[5.2.4.114](#p116755), [5.2.4.92](#p115919) |
| <a id="p108326"></a>Ссылочный путь: | <a id="p108327"></a>/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb depth pp', positive_length_measure)/ |


<a id="p108328"></a>5.1.11.3.5 bulb_frame_section_area_at_pp


| <a id="p108329"></a>Элемент ПИМ: | <a id="p108330"></a>area_measure |
| --- | --- |
| <a id="p108331"></a>Источник: | <a id="p108332"></a>ИСО 10303-43 |
| <a id="p108333"></a>Правила: | <a id="p108334"></a>[5.2.4.114](#p116755), [5.2.4.92](#p115919) |
| <a id="p108335"></a>Ссылочный путь: | <a id="p108336"></a>/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb frame section area at pp', area_measure)/ |


<a id="p108337"></a>5.1.11.3.6 bulb_length


| <a id="p108338"></a>Элемент ПИМ: | <a id="p108339"></a>positive_length_measure |
| --- | --- |
| <a id="p108340"></a>Источник: | <a id="p108341"></a>ИСО 10303-43 |
| <a id="p108342"></a>Правила: | <a id="p108343"></a>[5.2.4.114](#p116755), [5.2.4.92](#p115919) |
| <a id="p108344"></a>Ссылочный путь: | <a id="p108345"></a>/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb length', positive_length_measure)/ |


<a id="p108346"></a>5.1.11.3.7 bulb_length_from_pp


| <a id="p108347"></a>Элемент ПИМ: | <a id="p108348"></a>positive_length_measure |
| --- | --- |
| <a id="p108349"></a>Источник: | <a id="p108350"></a>ИСО 10303-43 |
| <a id="p108351"></a>Правила: | <a id="p108352"></a>[5.2.4.114](#p116755), [5.2.4.92](#p115919) |
| <a id="p108353"></a>Ссылочный путь: | <a id="p108354"></a>/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb length from pp', positive_length_measure)/ |


<a id="p108355"></a>5.1.11.3.8 bulb_location


| <a id="p108356"></a>Элемент ПИМ: | <a id="p108357"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p108358"></a>Источник: | <a id="p108359"></a>ИСО 10303-43 |
| <a id="p108360"></a>Правила: | <a id="p108361"></a>[5.2.4.114](#p116755), [5.2.4.92](#p115919) |
| <a id="p108362"></a>Ссылочный путь: | <a id="p108363"></a><a id="p108364"></a><a id="p108365"></a>/PROP_DEF_TO_DESC_REP_ITEM('bulb moulded form design parameter', 'bulb location')/<br>{(descriptive_representation_item.description = 'bow')<br>(descriptive_representation_item.description = 'stern')} |


<a id="p108366"></a>5.1.11.3.9 description
<a id="p108367"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108368"></a>Элемент ПИМ: | <a id="p108369"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.1](#p108764)) |
| --- | --- |


<a id="p108370"></a>5.1.11.3.10 moulded_form_displacement


| <a id="p108371"></a>Элемент ПИМ: | <a id="p108372"></a>volume_measure |
| --- | --- |
| <a id="p108373"></a>Источник: | <a id="p108374"></a>ИСО 10303-43 |
| <a id="p108375"></a>Правила: | <a id="p108376"></a>[5.2.4.117](#p116861), [5.2.4.114](#p116755) |
| <a id="p108377"></a>Ссылочный путь: | <a id="p108378"></a>/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'moulded form displacement', volume_measure)/ |


<a id="p108379"></a>5.1.11.3.11 moulded_form_outer_surface


| <a id="p108380"></a>Элемент ПИМ: | <a id="p108381"></a>area_measure |
| --- | --- |
| <a id="p108382"></a>Источник: | <a id="p108383"></a>ИСО 10303-43 |
| <a id="p108384"></a>Правила: | <a id="p108385"></a>[5.2.4.117](#p116861), [5.2.4.114](#p116755) |
| <a id="p108386"></a>Ссылочный путь: | <a id="p108387"></a>/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'moulded form outer surface', area_measure)/ |


<a id="p108388"></a>5.1.11.3.12 version_id
<a id="p108389"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108390"></a>Элемент ПИМ: | <a id="p108391"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.4](#p108790)) |
| --- | --- |


<a id="p108392"></a>5.1.11.3.13 bulb_moulded_form_design_parameter для moulded_form (как defined_for)
<a id="p108393"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108394"></a>Элемент ПИМ: | <a id="p108395"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.5](#p108800)) |
| --- | --- |


<a id="p108396"></a>5.1.11.3.14 bulb_moulded_form_design_parameter для global_id (как id)
<a id="p108397"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108398"></a>Элемент ПИМ: | <a id="p108399"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.6](#p108807)) |
| --- | --- |


<a id="p108400"></a>5.1.11.3.15 bulb_moulded_form_design_parameter для derived_unit (как local_units)
<a id="p108401"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108402"></a>Элемент ПИМ: | <a id="p108403"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.7](#p108818)) |
| --- | --- |


<a id="p108404"></a>5.1.11.3.16 bulb_moulded_form_design_parameter для named_unit (как local_units)
<a id="p108405"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108406"></a>Элемент ПИМ: | <a id="p108407"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.8](#p108827)) |
| --- | --- |



###### <a id="p108408"></a>5.1.11.4 Прикладной элемент DECK_MOULDED_FORM_DESIGN_PARAMETER



| <a id="p108409"></a>Элемент ПИМ: | <a id="p108410"></a>property_definition |
| --- | --- |
| <a id="p108411"></a>Источник: | <a id="p108412"></a>ИСО 10303-41 |
| <a id="p108413"></a>Правила: | <a id="p108414"></a>[5.2.4.80](#p115489) |
| <a id="p108415"></a>Ссылочный путь: | <a id="p108416"></a><a id="p108417"></a><a id="p108418"></a><a id="p108419"></a>{[/CLASS(property_definition, 'deck moulded form design parameter', 'moulded form characteristics definition')/]<br>[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p108420"></a>5.1.11.4.1 camber


| <a id="p108421"></a>Элемент ПИМ: | <a id="p108422"></a>positive_length_measure |
| --- | --- |
| <a id="p108423"></a>Источник: | <a id="p108424"></a>ИСО 10303-43 |
| <a id="p108425"></a>Правила: | <a id="p108426"></a>[5.2.4.114](#p116755), [5.2.4.94](#p115994) |
| <a id="p108427"></a>Ссылочный путь: | <a id="p108428"></a>/PROP_DEF_TO_VAL_REP_ITEM('deck moulded form design parameter', 'camber', positive_length_measure)/ |


<a id="p108429"></a>5.1.11.4.2 description
<a id="p108430"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108431"></a>Элемент ПИМ: | <a id="p108432"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.1](#p108764)) |
| --- | --- |


<a id="p108433"></a>5.1.11.4.3 moulded_form_outer_surface


| <a id="p108434"></a>Элемент ПИМ: | <a id="p108435"></a>area_measure |
| --- | --- |
| <a id="p108436"></a>Источник: | <a id="p108437"></a>ИСО 10303-43 |
| <a id="p108438"></a>Правила: | <a id="p108439"></a>[5.2.4.118](#p116900), [5.2.4.114](#p116755) |
| <a id="p108440"></a>Ссылочный путь: | <a id="p108441"></a>/PROP_DEF_TO_VAL_REP_ITEM('deck moulded form design parameter', 'moulded form outer surface', area_measure)/ |


<a id="p108442"></a>5.1.11.4.4 moulded_form_displacement


| <a id="p108443"></a>Элемент ПИМ: | <a id="p108444"></a>volume_measure |
| --- | --- |
| <a id="p108445"></a>Источник: | <a id="p108446"></a>ИСО 10303-43 |
| <a id="p108447"></a>Правила: | <a id="p108448"></a>[5.2.4.118](#p116900), [5.2.4.114](#p116755) |
| <a id="p108449"></a>Ссылочный путь: | <a id="p108450"></a>/PROP_DEF_TO_VAL_REP_ITEM('deck moulded form design parameter', 'moulded form displacement', volume_measure)/ |


<a id="p108451"></a>5.1.11.4.5 sheer_at_AP


| <a id="p108452"></a>Элемент ПИМ: | <a id="p108453"></a>positive_length_measure |
| --- | --- |
| <a id="p108454"></a>Источник: | <a id="p108455"></a>ИСО 10303-43 |
| <a id="p108456"></a>Правила: | <a id="p108457"></a>[5.2.4.114](#p116755), [5.2.4.94](#p115994) |
| <a id="p108458"></a>Ссылочный путь: | <a id="p108459"></a>/PROP_DEF_TO_VAL_REP_ITEM('deck moulded form design parameter', 'sheer at AP', positive_length_measure)/ |


<a id="p108460"></a>5.1.11.4.6 sheer_at_FP


| <a id="p108461"></a>Элемент ПИМ: | <a id="p108462"></a>positive_length_measure |
| --- | --- |
| <a id="p108463"></a>Источник: | <a id="p108464"></a>ИСО 10303-43 |
| <a id="p108465"></a>Правила: | <a id="p108466"></a>[5.2.4.114](#p116755), [5.2.4.94](#p115994) |
| <a id="p108467"></a>Ссылочный путь: | <a id="p108468"></a>/PROP_DEF_TO_VAL_REP_ITEM('deck moulded form design parameter', 'sheer at FP', positive_length_measure)/ |


<a id="p108469"></a>5.1.11.4.7 version_id
<a id="p108470"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108471"></a>Элемент ПИМ: | <a id="p108472"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.4](#p108790)) |
| --- | --- |


<a id="p108473"></a>5.1.11.4.8 deck_moulded_form_design_parameter для moulded_form (как defined_for)
<a id="p108474"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108475"></a>Элемент ПИМ: | <a id="p108476"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.5](#p108800)) |
| --- | --- |


<a id="p108477"></a>5.1.11.4.9 deck_moulded_form_design_parameter для global_id (как id)
<a id="p108478"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108479"></a>Элемент ПИМ: | <a id="p108480"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.6](#p108807)) |
| --- | --- |


<a id="p108481"></a>5.1.11.4.10 deck_moulded_form_design_parameter для derived_unit (как local_units)
<a id="p108482"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108483"></a>Элемент ПИМ: | <a id="p108484"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.7](#p108818)) |
| --- | --- |


<a id="p108485"></a>5.1.11.4.11 deck_moulded_form_design_parameter для named_unit (как local_units)
<a id="p108486"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108487"></a>Элемент ПИМ: | <a id="p108488"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.8](#p108827)) |
| --- | --- |



###### <a id="p108489"></a>5.1.11.5 Прикладной элемент HULL_MOULDED_FORM_DESIGN_PARAMETER



| <a id="p108490"></a>Элемент ПИМ: | <a id="p108491"></a>property_definition |
| --- | --- |
| <a id="p108492"></a>Источник: | <a id="p108493"></a>ИСО 10303-41 |
| <a id="p108494"></a>Правила: | <a id="p108495"></a>[5.2.4.81](#p115523) |
| <a id="p108496"></a>Ссылочный путь: | <a id="p108497"></a><a id="p108498"></a><a id="p108499"></a><a id="p108500"></a>{[/CLASS property_definition, 'hull moulded form design parameter', 'moulded form characteristics definition')/]<br>[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p108501"></a>5.1.11.5.1 aft_end_of_flat_of_side


| <a id="p108502"></a>Элемент ПИМ: | <a id="p108503"></a>positive_length_measure |
| --- | --- |
| <a id="p108504"></a>Источник: | <a id="p108505"></a>ИСО 10303-43 |
| <a id="p108506"></a>Правила: | <a id="p108507"></a>[5.2.4.114](#p116755), [5.2.4.96](#p116067) |
| <a id="p108508"></a>Ссылочный путь: | <a id="p108509"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'aft end of flat of side', positive_length_measure)/ |


<a id="p108510"></a>5.1.11.5.2 aft_end_of_parallel_midbody_at_design_draught


| <a id="p108511"></a>Элемент ПИМ: | <a id="p108512"></a>positive_length_measure |
| --- | --- |
| <a id="p108513"></a>Источник: | <a id="p108514"></a>ИСО 10303-43 |
| <a id="p108515"></a>Правила: | <a id="p108516"></a>[5.2.4.114](#p116755), [5.2.4.96](#p116067) |
| <a id="p108517"></a>Ссылочный путь: | <a id="p108518"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'aft end of parallel midbody at design draught', positive_length_measure)/ |


<a id="p108519"></a>5.1.11.5.3 block_coefficient


| <a id="p108520"></a>Элемент ПИМ: | <a id="p108521"></a>ratio_measure |
| --- | --- |
| <a id="p108522"></a>Источник: | <a id="p108523"></a>ИСО 10303-43 |
| <a id="p108524"></a>Правила: | <a id="p108525"></a>[5.2.4.114](#p116755), [5.2.4.96](#p116067) |
| <a id="p108526"></a>Ссылочный путь: | <a id="p108527"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'block coefficient', ratio_measure)/ |


<a id="p108528"></a>5.1.11.5.4 description
<a id="p108529"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108530"></a>Элемент ПИМ: | <a id="p108531"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.1](#p108764)) |
| --- | --- |


<a id="p108532"></a>5.1.11.5.5 front_end_of_flat_of_side


| <a id="p108533"></a>Элемент ПИМ: | <a id="p108534"></a>positive_length_measure |
| --- | --- |
| <a id="p108535"></a>Источник: | <a id="p108536"></a>ИСО 10303-43 |
| <a id="p108537"></a>Правила: | <a id="p108538"></a>[5.2.4.114](#p116755), [5.2.4.96](#p116067) |
| <a id="p108539"></a>Ссылочный путь: | <a id="p108540"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'front end of flat of side', positive_length_measure)/ |


<a id="p108541"></a>5.1.11.5.6 front_end_of_parallel_midbody_at_design_draught


| <a id="p108542"></a>Элемент ПИМ: | <a id="p108543"></a>positive_length_measure |
| --- | --- |
| <a id="p108544"></a>Источник: | <a id="p108545"></a>ИСО 10303-43 |
| <a id="p108546"></a>Правила: | <a id="p108547"></a>[5.2.4.114](#p116755), [5.2.4.96](#p116067) |
| <a id="p108548"></a>Ссылочный путь: | <a id="p108549"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'front end of parallel midbody at design draught', positive_length_measure)/ |


<a id="p108550"></a>5.1.11.5.7 gunwale_radius


| <a id="p108551"></a>Элемент ПИМ: | <a id="p108552"></a>positive_length_measure |
| --- | --- |
| <a id="p108553"></a>Источник: | <a id="p108554"></a>ИСО 10303-43 |
| <a id="p108555"></a>Правила: | <a id="p108556"></a>[5.2.4.114](#p116755), [5.2.4.119](#p116939) |
| <a id="p108557"></a>Ссылочный путь: | <a id="p108558"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'gunwale radius', positive_length_measure)/ |


<a id="p108559"></a>5.1.11.5.8 hull_breadth


| <a id="p108560"></a>Элемент ПИМ: | <a id="p108561"></a>positive_length_measure |
| --- | --- |
| <a id="p108562"></a>Источник: | <a id="p108563"></a>ИСО 10303-43 |
| <a id="p108564"></a>Правила: | <a id="p108565"></a>[5.2.4.114](#p116755), [5.2.4.119](#p116939) |
| <a id="p108566"></a>Ссылочный путь: | <a id="p108567"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull breadth', positive_length_measure)/ |


<a id="p108568"></a>5.1.11.5.9 hull_depth


| <a id="p108569"></a>Элемент ПИМ: | <a id="p108570"></a>positive_length_measure |
| --- | --- |
| <a id="p108571"></a>Источник: | <a id="p108572"></a>ИСО 10303-43 |
| <a id="p108573"></a>Правила: | <a id="p108574"></a>[5.2.4.114](#p116755), [5.2.4.119](#p116939) |
| <a id="p108575"></a>Ссылочный путь: | <a id="p108576"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull depth', positive_length_measure)/ |


<a id="p108577"></a>5.1.11.5.10 hull_design_draught


| <a id="p108578"></a>Элемент ПИМ: | <a id="p108579"></a>positive_length_measure |
| --- | --- |
| <a id="p108580"></a>Источник: | <a id="p108581"></a>ИСО 10303-43 |
| <a id="p108582"></a>Правила: | <a id="p108583"></a>[5.2.4.114](#p116755), [5.2.4.119](#p116939) |
| <a id="p108584"></a>Ссылочный путь: | <a id="p108585"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull design draught', positive_length_measure)/ |


<a id="p108586"></a>5.1.11.5.11 hull_length_pp


| <a id="p108587"></a>Элемент ПИМ: | <a id="p108588"></a>positive_length_measure |
| --- | --- |
| <a id="p108589"></a>Источник: | <a id="p108590"></a>ИСО 10303-43 |
| <a id="p108591"></a>Правила: | <a id="p108592"></a>[5.2.4.114](#p116755), [5.2.4.119](#p116939) |
| <a id="p108593"></a>Ссылочный путь: | <a id="p108594"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull length pp', positive_length_measure)/ |


<a id="p108595"></a>5.1.11.5.12 hull_length_waterline


| <a id="p108596"></a>Элемент ПИМ: | <a id="p108597"></a>positive_length_measure |
| --- | --- |
| <a id="p108598"></a>Источник: | <a id="p108599"></a>ИСО 10303-43 |
| <a id="p108600"></a>Правила: | <a id="p108601"></a>[5.2.4.114](#p116755), [5.2.4.119](#p116939) |
| <a id="p108602"></a>Ссылочный путь: | <a id="p108603"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull length waterline', positive_length_measure) |


<a id="p108604"></a>5.1.11.5.13 max_frame_section_area_location


| <a id="p108605"></a>Элемент ПИМ: | <a id="p108606"></a>positive_length_measure |
| --- | --- |
| <a id="p108607"></a>Источник: | <a id="p108608"></a>ИСО 10303-43 |
| <a id="p108609"></a>Правила: | <a id="p108610"></a>[5.2.4.114](#p116755), [5.2.4.119](#p116939) |
| <a id="p108611"></a>Ссылочный путь: | <a id="p108612"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'max frame section area location', positive_length_measure)/ |


<a id="p108613"></a>5.1.11.5.14 max_wetted_frame_section_area


| <a id="p108614"></a>Элемент ПИМ: | <a id="p108615"></a>area_measure |
| --- | --- |
| <a id="p108616"></a>Источник: | <a id="p108617"></a>ИСО 10303-43 |
| <a id="p108618"></a>Правила: | <a id="p108619"></a>[5.2.4.114](#p116755), [5.2.4.96](#p116067) |
| <a id="p108620"></a>Ссылочный путь: | <a id="p108621"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'max wetted frame section area', area_measure)/ |


<a id="p108622"></a>5.1.11.5.15 moulded_form_displacement


| <a id="p108623"></a>Элемент ПИМ: | <a id="p108624"></a>volume_measure |
| --- | --- |
| <a id="p108625"></a>Источник: | <a id="p108626"></a>ИСО 10303-43 |
| <a id="p108627"></a>Правила: | <a id="p108628"></a>[5.2.4.119](#p116939), [5.2.4.114](#p116755) |
| <a id="p108629"></a>Ссылочный путь: | <a id="p108630"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'moulded form displacement', volume_measure)/ |


<a id="p108631"></a>5.1.11.5.16 moulded_form_outer_surface


| <a id="p108632"></a>Элемент ПИМ: | <a id="p108633"></a>area_measure |
| --- | --- |
| <a id="p108634"></a>Источник: | <a id="p108635"></a>ИСО 10303-43 |
| <a id="p108636"></a>Правила: | <a id="p108637"></a>[5.2.4.119](#p116939), [5.2.4.114](#p116755) |
| <a id="p108638"></a>Ссылочный путь: | <a id="p108639"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'moulded form outer surface', area_measure)/ |


<a id="p108640"></a>5.1.11.5.17 prismatic_coefficient


| <a id="p108641"></a>Элемент ПИМ: | <a id="p108642"></a>ratio_measure |
| --- | --- |
| <a id="p108643"></a>Источник: | <a id="p108644"></a>ИСО 10303-43 |
| <a id="p108645"></a>Правила: | <a id="p108646"></a>[5.2.4.114](#p116755), [5.2.4.96](#p116067) |
| <a id="p108647"></a>Ссылочный путь: | <a id="p108648"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'prismatic coefficient', ratio_measure)/ |


<a id="p108649"></a>5.1.11.5.18 version_id
<a id="p108650"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108651"></a>Элемент ПИМ: | <a id="p108652"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.4](#p108790)) |
| --- | --- |


<a id="p108653"></a>5.1.11.5.19 waterline_angle_of_entrance_at_bow


| <a id="p108654"></a>Элемент ПИМ: | <a id="p108655"></a>plane_angle_measure |
| --- | --- |
| <a id="p108656"></a>Источник: | <a id="p108657"></a>ИСО 10303-43 |
| <a id="p108658"></a>Правила: | <a id="p108659"></a>[5.2.4.114](#p116755), [5.2.4.119](#p116939) |
| <a id="p108660"></a>Ссылочный путь: | <a id="p108661"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'waterline angle of entrance at bow', plane_angle_measure)/ |


<a id="p108662"></a>5.1.11.5.20 waterline_angle_of_entrance_at_stern


| <a id="p108663"></a>Элемент ПИМ: | <a id="p108664"></a>plane_angle_measure |
| --- | --- |
| <a id="p108665"></a>Источник: | <a id="p108666"></a>ИСО 10303-43 |
| <a id="p108667"></a>Правила: | <a id="p108668"></a>[5.2.4.114](#p116755), [5.2.4.119](#p116939) |
| <a id="p108669"></a>Ссылочный путь: | <a id="p108670"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'waterline angle of entrance at stern', plane_angle_measure)/ |


<a id="p108671"></a>5.1.11.5.21 waterplane_coefficient


| <a id="p108672"></a>Элемент ПИМ: | <a id="p108673"></a>ratio_measure |
| --- | --- |
| <a id="p108674"></a>Источник: | <a id="p108675"></a>ИСО 10303-43 |
| <a id="p108676"></a>Правила: | <a id="p108677"></a>[5.2.4.114](#p116755), [5.2.4.96](#p116067) |
| <a id="p108678"></a>Ссылочный путь: | <a id="p108679"></a>/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'waterplane coefficient', ratio_measure)/ |


<a id="p108680"></a>5.1.11.5.22 hull_moulded_form_design_parameter для moulded_form (как defined_for)
<a id="p108681"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108682"></a>Элемент ПИМ: | <a id="p108683"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.5](#p108800)) |
| --- | --- |


<a id="p108684"></a>5.1.11.5.23 hull_moulded_form_design_parameter для global_id (как id)
<a id="p108685"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108686"></a>Элемент ПИМ: | <a id="p108687"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.6](#p108807)) |
| --- | --- |


<a id="p108688"></a>5.1.11.5.24 hull_moulded_form_design_parameter для derived_unit (как local_units)
<a id="p108689"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108690"></a>Элемент ПИМ: | <a id="p108691"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.7](#p108818)) |
| --- | --- |


<a id="p108692"></a>5.1.11.5.25 hull_moulded_form_design_parameter для named_unit (как local_units)
<a id="p108693"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p108694"></a>Элемент ПИМ: | <a id="p108695"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.8](#p108827)) |
| --- | --- |


<a id="p108696"></a>5.1.11.5.26 hull_moulded_form_design_parameter для midship_tumble (как midship_tumble_data)


| <a id="p108697"></a>Элемент ПИМ: | <a id="p108698"></a>PATH |
| --- | --- |
| <a id="p108699"></a>Правила: | <a id="p108700"></a>[5.2.4.46](#p114277) |
| <a id="p108701"></a>Ссылочный путь: | <a id="p108702"></a>/PROP_DEF_TO_REP/ {/CLASS_ID(representation, 'midship tumble')/} |



###### <a id="p108703"></a>5.1.11.6 Прикладной элемент MIDSHIP_TUMBLE



| <a id="p108704"></a>Элемент ПИМ: | <a id="p108705"></a>representation |
| --- | --- |
| <a id="p108706"></a>Источник: | <a id="p108707"></a>ИСО 10303-43 |
| <a id="p108708"></a>Ссылочный путь: | <a id="p108709"></a>/ROOT_CLASS(representation, 'midship tumble')/ |


<a id="p108710"></a>5.1.11.6.1 tumble_in_at_side


| <a id="p108711"></a>Элемент ПИМ: | <a id="p108712"></a>positive_length_measure |
| --- | --- |
| <a id="p108713"></a>Источник: | <a id="p108714"></a>ИСО 10303-43 |
| <a id="p108715"></a>Правила: | <a id="p108716"></a>[5.2.4.114](#p116755), [5.2.4.102](#p116309) |
| <a id="p108717"></a>Ссылочный путь: | <a id="p108718"></a>REP_TO_VAL_REP_ITEM('tumble in at side', positive_length_measure) |


<a id="p108719"></a>5.1.11.6.2 tumble_in_at_top


| <a id="p108720"></a>Элемент ПИМ: | <a id="p108721"></a>positive_length_measure |
| --- | --- |
| <a id="p108722"></a>Источник: | <a id="p108723"></a>ИСО 10303-43 |
| <a id="p108724"></a>Правила: | <a id="p108725"></a>[5.2.4.114](#p116755), [5.2.4.102](#p116309) |
| <a id="p108726"></a>Ссылочный путь: | <a id="p108727"></a>/REP_TO_VAL_REP_ITEM('tumble in at top', positive_length_measure)/ |


<a id="p108728"></a>5.1.11.6.3 tumble_out_at_bottom


| <a id="p108729"></a>Элемент ПИМ: | <a id="p108730"></a>positive_length_measure |
| --- | --- |
| <a id="p108731"></a>Источник: | <a id="p108732"></a>ИСО 10303-43 |
| <a id="p108733"></a>Правила: | <a id="p108734"></a>[5.2.4.114](#p116755), [5.2.4.102](#p116309) |
| <a id="p108735"></a>Ссылочный путь: | <a id="p108736"></a>/REP_TO_VAL_REP_ITEM('tumble out at bottom', positive_length_measure)/ |


<a id="p108737"></a>5.1.11.6.4 tumble_out_at_side


| <a id="p108738"></a>Элемент ПИМ: | <a id="p108739"></a>positive_length_measure |
| --- | --- |
| <a id="p108740"></a>Источник: | <a id="p108741"></a>ИСО 10303-43 |
| <a id="p108742"></a>Правила: | <a id="p108743"></a>[5.2.4.114](#p116755), [5.2.4.102](#p116309) |
| <a id="p108744"></a>Ссылочный путь: | <a id="p108745"></a>/REP_TO_VAL_REP_ITEM('tumble out at side', positive_length_measure)/ |



###### <a id="p108746"></a>5.1.11.7 Прикладной элемент MOULDED_FORM_CHARACTERISTICS_DEFINITION



|  | <a id="p108747"></a><a id="p108748"></a><a id="p108749"></a><a id="p108750"></a><a id="p108751"></a><a id="p108752"></a><a id="p108753"></a><a id="p108754"></a>#1: Значением элемента Moulded_form_characteristics_definition является Appendage_moulded_form_design_parameter<br>#2: Значением элемента Moulded_form_characteristics_definition является Bottom_moulded_form_design_parameter<br>#3: Значением элемента Moulded_form_characteristics_definition является Bulb_moulded_form_design_parameter<br>#4: Значением элемента Moulded_form_characteristics_definition является Hull_moulded_form_design_parameter<br>#5: Значением элемента Moulded_form_characteristics_definition является Propeller_moulded_form_design_parameter<br>#6: Значением элемента Moulded_form_characteristics_definition является Rudder_moulded_form_design_parameter<br>#7: Значением элемента Moulded_form_characteristics_definition является Thruster_moulded_form_design_parameter<br>#8: Значением элемента Moulded_form_characteristics_definition является Deck_moulded_form_design_parameter |
| --- | --- |
| <a id="p108755"></a>Элемент ПИМ: | <a id="p108756"></a><a id="p108757"></a><a id="p108758"></a><a id="p108759"></a><a id="p108760"></a><a id="p108761"></a><a id="p108762"></a><a id="p108763"></a>#1/SUBTYPE(Appendage_moulded_form_design_parameter)/ (см. [5.1.11.1](#p108045))<br>#2/SUBTYPE(Bottom_moulded_form_design_parameter)/ (см. [5.1.11.2](#p108162))<br>#3/SUBTYPE(Bulb_moulded_form_design_parameter)/ (см. [5.1.11.3](#p108280))<br>#4/SUBTYPE(Hull_moulded_form_design_parameter)/ (см. [5.1.11.5](#p108489))<br>#5/SUBTYPE(Propeller_moulded_form_design_parameter)/ (см. [5.1.11.9](#p108890))<br>#6/SUBTYPE(Rudder_moulded_form_design_parameter)/ (см. [5.1.11.10](#p109080))<br>#7/SUBTYPE(Thruster_moulded_form_design_parameter)/ (см. [5.1.11.12](#p109322))<br>#8/SUBTYPE(Deck_moulded_form_design_parameter)/ (см. [5.1.11.4](#p108408)) |


<a id="p108764"></a>5.1.11.7.1 description
<a id="p108765"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108766"></a>Элемент ПИМ: | <a id="p108767"></a>property_definition.description |
| --- | --- |
| <a id="p108768"></a>Источник: | <a id="p108769"></a>ИСО 10303-41 |


<a id="p108770"></a>5.1.11.7.2 moulded_form_displacement


| <a id="p108771"></a>Элемент ПИМ: | <a id="p108772"></a><a id="p108773"></a><a id="p108774"></a><a id="p108775"></a><a id="p108776"></a><a id="p108777"></a><a id="p108778"></a><a id="p108779"></a>#1 /SUBTYPE(Appendage_moulded_form_design_parameter)/ (см. [5.1.11.1.5](#p108088))<br>#2 /SUBTYPE(Bottom_moulded_form_design_parameter)/ (см. [5.1.11.2.7](#p108223))<br>#3 /SUBTYPE(Bulb_moulded_form_design_parameter)/ (см. [5.1.11.3.10](#p108370))<br>#4 /SUBTYPE(Hull_moulded_form_design_parameter)/ (см. [5.1.11.5.15](#p108622))<br>#5 /SUBTYPE(Propeller_moulded_form_design_parameter)/ (см. [5.1.11.9.7](#p108953))<br>#6 /SUBTYPE(Rudder_moulded_form_design_parameter)/ (см. [5.1.11.10.2](#p109096))<br>#7 /SUBTYPE(Thruster_moulded_form_design_parameter)/ (см. [5.1.11.12.2](#p109338))<br>#8 /SUBTYPE(Deck_moulded_form_design_parameter)/ (см. [5.1.11.4.4](#p108442)) |
| --- | --- |


<a id="p108780"></a>5.1.11.7.3 moulded_form_outer_surface


| <a id="p108781"></a>Элемент ПИМ: | <a id="p108782"></a><a id="p108783"></a><a id="p108784"></a><a id="p108785"></a><a id="p108786"></a><a id="p108787"></a><a id="p108788"></a><a id="p108789"></a>#1 /SUBTYPE(Appendage_moulded_form_design_parameter)/ (см. [5.1.11.1.6](#p108097))<br>#2 /SUBTYPE(Bottom_moulded_form_design_parameter)/ (см. [5.1.11.2.8](#p108233))<br>#3 /SUBTYPE(Bulb_moulded_form_design_parameter)/ (см. [5.1.11.3.11](#p108379))<br>#4 /SUBTYPE(Hull_moulded_form_design_parameter)/ (см. [5.1.11.5.16](#p108631))<br>#5 /SUBTYPE(Propeller_moulded_form_design_parameter)/ (см. [5.1.11.9.8](#p108962))<br>#6 /SUBTYPE(Rudder_moulded_form_design_parameter)/ (см. [5.1.11.10.3](#p109105))<br>#7/SUBTYPE(Thruster_moulded_form_design_parameter)/ (см. [5.1.11.12.3](#p109347))<br>#8 /SUBTYPE(Deck_moulded_form_design_parameter)/ (см. [5.1.11.4.3](#p108433)) |
| --- | --- |


<a id="p108790"></a>5.1.11.7.4 version_id
<a id="p108791"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108792"></a>Элемент ПИМ: | <a id="p108793"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p108794"></a>Источник: | <a id="p108795"></a>ИСО 10303-41 |
| <a id="p108796"></a>Правила: | <a id="p108797"></a>[5.2.4.164](#p118524) |
| <a id="p108798"></a>Ссылочный путь: | <a id="p108799"></a>/VERSION_ID(property_definition)/ |


<a id="p108800"></a>5.1.11.7.5 moulded_form_characteristics_definition для moulded_form (как defined_for)
<a id="p108801"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p108802"></a>Элемент ПИМ: | <a id="p108803"></a>PATH |
| --- | --- |
| <a id="p108804"></a>Ссылочный путь: | <a id="p108805"></a><a id="p108806"></a>/PROP_TO_PROD_DEF/<br>{/CLASS_ID(product_definition, 'moulded_form')/} |


<a id="p108807"></a>5.1.11.7.6 moulded_form_characteristics_definition для global_id (как id)
<a id="p108808"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p108809"></a>Элемент ПИМ: | <a id="p108810"></a>PATH |
| --- | --- |
| <a id="p108811"></a>Правила: | <a id="p108812"></a>[5.2.4.45](#p114249), [5.2.4.89](#p115801) |
| <a id="p108813"></a>Ссылочный путь: | <a id="p108814"></a><a id="p108815"></a><a id="p108816"></a><a id="p108817"></a>property_definition<br>identification_item = property_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p108818"></a>5.1.11.7.7 moulded_form_characteristics_definition для derived_unit (как local_units)
<a id="p108819"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p108820"></a>Элемент ПИМ: | <a id="p108821"></a>PATH |
| --- | --- |
| <a id="p108822"></a>Ссылочный путь: | <a id="p108823"></a><a id="p108824"></a><a id="p108825"></a><a id="p108826"></a>/PROP_DEF_TO_UNITS('local units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p108827"></a>5.1.11.7.8 moulded_form_characteristics_definition для named_unit (как local_units)
<a id="p108828"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p108829"></a>Элемент ПИМ: | <a id="p108830"></a>PATH |
| --- | --- |
| <a id="p108831"></a>Ссылочный путь: | <a id="p108832"></a><a id="p108833"></a><a id="p108834"></a>/PROP_DEF_TO_UNITS('local units')/ unit<br>unit = named_unit<br>named_unit |



###### <a id="p108835"></a>5.1.11.8 Прикладной элемент PROPELLER_LOCATION



| <a id="p108836"></a>Элемент ПИМ: | <a id="p108837"></a>representation |
| --- | --- |
| <a id="p108838"></a>Источник: | <a id="p108839"></a>ИСО 10303-43 |
| <a id="p108840"></a>Ссылочный путь: | <a id="p108841"></a>/ROOT_CLASS(representation, 'propeller location')/ |


<a id="p108842"></a>5.1.11.8.1 shaft_line_inclination_x


| <a id="p108843"></a>Элемент ПИМ: | <a id="p108844"></a>plane_angle_measure |
| --- | --- |
| <a id="p108845"></a>Источник: | <a id="p108846"></a>ИСО 10303-43 |
| <a id="p108847"></a>Правила: | <a id="p108848"></a>[5.2.4.114](#p116755), [5.2.4.107](#p116502) |
| <a id="p108849"></a>Ссылочный путь: | <a id="p108850"></a>/REP_TO_VAL_REP_ITEM('shaft line inclination x', plane_angle_measure)/ |


<a id="p108851"></a>5.1.11.8.2 shaft_line_inclination_y


| <a id="p108852"></a>Элемент ПИМ: | <a id="p108853"></a>plane_angle_measure |
| --- | --- |
| <a id="p108854"></a>Источник: | <a id="p108855"></a>ИСО 10303-43 |
| <a id="p108856"></a>Правила: | <a id="p108857"></a>[5.2.4.114](#p116755), [5.2.4.107](#p116502) |
| <a id="p108858"></a>Ссылочный путь: | <a id="p108859"></a>/REP_TO_VAL_REP_ITEM('shaft line inclination y', plane_angle_measure)/ |


<a id="p108860"></a>5.1.11.8.3 propeller_location для centre_location (как propeller_location)


| <a id="p108861"></a>Элемент ПИМ: | <a id="p108862"></a>PATH |
| --- | --- |
| <a id="p108863"></a>Правила: | <a id="p108864"></a>[5.2.4.114](#p116755), [5.2.4.107](#p116502) |
| <a id="p108865"></a>Ссылочный путь: | <a id="p108866"></a><a id="p108867"></a><a id="p108868"></a><a id="p108869"></a><a id="p108870"></a><a id="p108871"></a><a id="p108872"></a><a id="p108873"></a><a id="p108874"></a>property_definition<br>represented_definition = property_definition<br>represented_definition <-<br>property_definition_representation.definition<br>property_definition_representation<br>property_definition_representation.used_representation -><br>/REP_ITEM('propeller location')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'centre_location')/} |


<a id="p108875"></a>5.1.11.8.4 propeller_location для centre_location (как shaft_line_location)


| <a id="p108876"></a>Элемент ПИМ: | <a id="p108877"></a>PATH |
| --- | --- |
| <a id="p108878"></a>Правила: | <a id="p108879"></a>[5.2.4.114](#p116755), [5.2.4.107](#p116502) |
| <a id="p108880"></a>Ссылочный путь: | <a id="p108881"></a><a id="p108882"></a><a id="p108883"></a><a id="p108884"></a><a id="p108885"></a><a id="p108886"></a><a id="p108887"></a><a id="p108888"></a><a id="p108889"></a>property_definition<br>represented_definition = property_definition<br>represented_definition <-<br>property_definition_representation.definition<br>property_definition_representation<br>property_definition_representation.used_representation -><br>/REP_ITEM('shaft line location')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'centre_location')/} |



###### <a id="p108890"></a>5.1.11.9 Прикладной элемент PROPELLER_MOULDED_FORM_DESIGN_PARAMETER



| <a id="p108891"></a>Элемент ПИМ: | <a id="p108892"></a>property_definition |
| --- | --- |
| <a id="p108893"></a>Источник: | <a id="p108894"></a>ИСО 10303-41 |
| <a id="p108895"></a>Правила: | <a id="p108896"></a>[5.2.4.85](#p115662) |
| <a id="p108897"></a>Ссылочный путь: | <a id="p108898"></a><a id="p108899"></a><a id="p108900"></a><a id="p108901"></a>{[/CLASS(property_definition, 'propeller moulded form design parameter', 'moulded form characteristics definition')/]<br>[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p108902"></a>5.1.11.9.1 blade_mean_height


| <a id="p108903"></a>Элемент ПИМ: | <a id="p108904"></a>positive_length_measure |
| --- | --- |
| <a id="p108905"></a>Источник: | <a id="p108906"></a>ИСО 10303-43 |
| <a id="p108907"></a>Правила: | <a id="p108908"></a>[5.2.4.114](#p116755), [5.2.4.122](#p117062) |
| <a id="p108909"></a>Ссылочный путь: | <a id="p108910"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'blade mean height', positive_length_measure)/ |


<a id="p108911"></a>5.1.11.9.2 chord_length_at_0_7_radius


| <a id="p108912"></a>Элемент ПИМ | <a id="p108913"></a>positive_length_measure |
| --- | --- |
| <a id="p108914"></a>Источник: | <a id="p108915"></a>ИСО 10303-43 |
| <a id="p108916"></a>Правила: | <a id="p108917"></a>[5.2.4.114](#p116755), [5.2.4.108](#p116538) |
| <a id="p108918"></a>Ссылочный путь: | <a id="p108919"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'chord length at 0 7 radius', positive_length_measure)/ |


<a id="p108920"></a>5.1.11.9.3 description
<a id="p108921"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p108922"></a>Элемент ПИМ: | <a id="p108923"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.1](#p108764)) |
| --- | --- |


<a id="p108924"></a>5.1.11.9.4 design_sense_of_rotation


| <a id="p108925"></a>Элемент ПИМ: | <a id="p108926"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p108927"></a>Источник: | <a id="p108928"></a>ИСО 10303-45 |
| <a id="p108929"></a>Правила: | <a id="p108930"></a>[5.2.4.108](#p116538) |
| <a id="p108931"></a>Ссылочный путь: | <a id="p108932"></a><a id="p108933"></a><a id="p108934"></a>/PROP_DEF_TO_DESC_REP_ITEM('propeller moulded form design parameter', 'design sense of rotation')/<br>{(descriptive_representation_item.description = 'right')<br>(descriptive_representation_item.description = 'left')} |


<a id="p108935"></a>5.1.11.9.5 expanded_area_ratio


| <a id="p108936"></a>Элемент ПИМ: | <a id="p108937"></a>ratio_measure |
| --- | --- |
| <a id="p108938"></a>Источник: | <a id="p108939"></a>ИСО 10303-43 |
| <a id="p108940"></a>Правила: | <a id="p108941"></a>[5.2.4.114](#p116755), [5.2.4.108](#p116538) |
| <a id="p108942"></a>Ссылочный путь: | <a id="p108943"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'expanded area ratio', ratio_measure)/ |


<a id="p108944"></a>5.1.11.9.6 hub_diameter_ratio


| <a id="p108945"></a>Элемент ПИМ: | <a id="p108946"></a>ratio_measure |
| --- | --- |
| <a id="p108947"></a>Источник: | <a id="p108948"></a>ИСО 10303-43 |
| <a id="p108949"></a>Правила: | <a id="p108950"></a>[5.2.4.114](#p116755), [5.2.4.108](#p116538) |
| <a id="p108951"></a>Ссылочный путь: | <a id="p108952"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'hub diameter ratio', ratio_measure)/ |


<a id="p108953"></a>5.1.11.9.7 moulded_form_displacement


| <a id="p108954"></a>Элемент ПИМ: | <a id="p108955"></a>volume_measure |
| --- | --- |
| <a id="p108956"></a>Источник: | <a id="p108957"></a>ИСО 10303-43 |
| <a id="p108958"></a>Правила: | <a id="p108959"></a>[5.2.4.122](#p117062), [5.2.4.114](#p116755) |
| <a id="p108960"></a>Ссылочный путь: | <a id="p108961"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'moulded form displacement', volume_measure)/ |


<a id="p108962"></a>5.1.11.9.8 moulded_form_outer_surface


| <a id="p108963"></a>Элемент ПИМ: | <a id="p108964"></a>area_measure |
| --- | --- |
| <a id="p108965"></a>Источник: | <a id="p108966"></a>ИСО 10303-43 |
| <a id="p108967"></a>Правила: | <a id="p108968"></a>[5.2.4.122](#p117062), [5.2.4.114](#p116755) |
| <a id="p108969"></a>Ссылочный путь: | <a id="p108970"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'moulded form outer surface', area_measure)/ |


<a id="p108971"></a>5.1.11.9.9 nominal_design_pitch_ratio


| <a id="p108972"></a>Элемент ПИМ: | <a id="p108973"></a>ratio_measure |
| --- | --- |
| <a id="p108974"></a>Источник: | <a id="p108975"></a>ИСО 10303-43 |
| <a id="p108976"></a>Правила: | <a id="p108977"></a>[5.2.4.114](#p116755), [5.2.4.108](#p116538) |
| <a id="p108978"></a>Ссылочный путь: | <a id="p108979"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'nominal design pitch ratio', ratio_measure)/ |


<a id="p108980"></a>5.1.11.9.10 number_of_propeller_blades


| <a id="p108981"></a>Элемент ПИМ: | <a id="p108982"></a>count_measure |
| --- | --- |
| <a id="p108983"></a>Источник: | <a id="p108984"></a>ИСО 10303-43 |
| <a id="p108985"></a>Правила: | <a id="p108986"></a>[5.2.4.114](#p116755), [5.2.4.108](#p116538) |
| <a id="p108987"></a>Ссылочный путь: | <a id="p108988"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'number of propeller blades', count_measure)/ |


<a id="p108989"></a>5.1.11.9.11 propeller_diameter


| <a id="p108990"></a>Элемент ПИМ: | <a id="p108991"></a>positive_length_measure |
| --- | --- |
| <a id="p108992"></a>Источник: | <a id="p108993"></a>ИСО 10303-43 |
| <a id="p108994"></a>Правила: | <a id="p108995"></a>[5.2.4.114](#p116755), [5.2.4.108](#p116538) |
| <a id="p108996"></a>Ссылочный путь: | <a id="p108997"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'propeller diameter', positive_length_measure)/ |


<a id="p108998"></a>5.1.11.9.12 rake


| <a id="p108999"></a>Элемент ПИМ: | <a id="p109000"></a>plane_angle_measure |
| --- | --- |
| <a id="p109001"></a>Источник: | <a id="p109002"></a>ИСО 10303-43 |
| <a id="p109003"></a>Правила: | <a id="p109004"></a>[5.2.4.114](#p116755), [5.2.4.108](#p116538) |
| <a id="p109005"></a>Ссылочный путь: | <a id="p109006"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'rake', plane_angle_measure)/ |


<a id="p109007"></a>5.1.11.9.13 skew


| <a id="p109008"></a>Элемент ПИМ: | <a id="p109009"></a>plane_angle_measure |
| --- | --- |
| <a id="p109010"></a>Источник: | <a id="p109011"></a>ИСО 10303-43 |
| <a id="p109012"></a>Правила: | <a id="p109013"></a>[5.2.4.114](#p116755), [5.2.4.108](#p116538) |
| <a id="p109014"></a>Ссылочный путь: | <a id="p109015"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'skew', plane_angle_measure)/ |


<a id="p109016"></a>5.1.11.9.14 thickness_at_0_7_radius


| <a id="p109017"></a>Элемент ПИМ: | <a id="p109018"></a>positive_length_measure |
| --- | --- |
| <a id="p109019"></a>Источник: | <a id="p109020"></a>ИСО 10303-43 |
| <a id="p109021"></a>Правила: | <a id="p109022"></a>[5.2.4.114](#p116755), [5.2.4.108](#p116538) |
| <a id="p109023"></a>Ссылочный путь: | <a id="p109024"></a>/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'thickness at 0 7 radius', positive_length_measure)/ |


<a id="p109025"></a>5.1.11.9.15 type_of_propeller_blades


| <a id="p109026"></a>Элемент ПИМ: | <a id="p109027"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109028"></a>Источник: | <a id="p109029"></a>ИСО 10303-45 |
| <a id="p109030"></a>Правила: | <a id="p109031"></a>[5.2.4.108](#p116538) |
| <a id="p109032"></a>Ссылочный путь: | <a id="p109033"></a><a id="p109034"></a><a id="p109035"></a><a id="p109036"></a>/PROP_DEF_TO_DESC_REP_ITEM('propeller moulded form design parameter', 'type of propeller blades')/<br>{(descriptive_representation_item.description = 'fixed blade')<br>(descriptive_representation_item.description = 'adjustable blade')<br>(descriptive_representation_item.description = 'controllable blade')} |


<a id="p109037"></a>5.1.11.9.16 type_of_propulsion


| <a id="p109038"></a>Элемент ПИМ: | <a id="p109039"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109040"></a>Источник: | <a id="p109041"></a>ИСО 10303-45 |
| <a id="p109042"></a>Правила: | <a id="p109043"></a>[5.2.4.108](#p116538) |
| <a id="p109044"></a>Ссылочный путь: | <a id="p109045"></a><a id="p109046"></a><a id="p109047"></a><a id="p109048"></a><a id="p109049"></a><a id="p109050"></a><a id="p109051"></a><a id="p109052"></a>/PROP_DEF_TO_DESC_REP_ITEM('propeller moulded form design parameter', 'type of propulsion')/<br>{(descriptive_representation_item.description = 'water jet')<br>(descriptive_representation_item.description = 'paddle wheel')<br>(descriptive_representation_item. description = 'vertical axis propeller')<br>(descriptive_representation_item.description = 'screw propeller')<br>(descriptive_representation_item.description = 'ducted propeller')<br>(descriptive_representation_item.description = 'thruster')<br>(descriptive_representation_item.description = 'user defined')} |


<a id="p109053"></a>5.1.11.9.17 version_id
<a id="p109054"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109055"></a>Элемент ПИМ: | <a id="p109056"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.4](#p108790)) |
| --- | --- |


<a id="p109057"></a>5.1.11.9.18 propeller_moulded_form_design_parameter для moulded_form (как defined_for)
<a id="p109058"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109059"></a>Элемент ПИМ: | <a id="p109060"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.5](#p108800)) |
| --- | --- |


<a id="p109061"></a>5.1.11.9.19 propeller_moulded_form_design_parameter для global_id (как id)
<a id="p109062"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109063"></a>Элемент ПИМ: | <a id="p109064"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.6](#p108807)) |
| --- | --- |


<a id="p109065"></a>5.1.11.9.20 propeller_moulded_form_design_parameter для derived_unit (как local_units)
<a id="p109066"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109067"></a>Элемент ПИМ: | <a id="p109068"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.7](#p108818)) |
| --- | --- |


<a id="p109069"></a>5.1.11.9.21 propeller_moulded_form_design_parameter для named_unit (как local_units)
<a id="p109070"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109071"></a>Элемент ПИМ: | <a id="p109072"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.8](#p108827)) |
| --- | --- |


<a id="p109073"></a>5.1.11.9.22 propeller_moulded_form_design_parameter для propeller_location (как location_of_the_propeller_at_the_ship_hull)


| <a id="p109074"></a>Элемент ПИМ: | <a id="p109075"></a>PATH |
| --- | --- |
| <a id="p109076"></a>Правила: | <a id="p109077"></a>[5.2.4.74](#p115278) |
| <a id="p109078"></a>Ссылочный путь: | <a id="p109079"></a>/PROP_DEF_TO_REP/ {/CLASS_ID(representation, 'propeller location')/} |



###### <a id="p109080"></a>5.1.11.10 Прикладной элемент RUDDER_MOULDED_FORM_DESIGN_PARAMETER



| <a id="p109081"></a>Элемент ПИМ: | <a id="p109082"></a>property_definition |
| --- | --- |
| <a id="p109083"></a>Источник: | <a id="p109084"></a>ИСО 10303-41 |
| <a id="p109085"></a>Правила: | <a id="p109086"></a>[5.2.4.86](#p115696) |
| <a id="p109087"></a>Ссылочный путь: | <a id="p109088"></a><a id="p109089"></a><a id="p109090"></a><a id="p109091"></a>{[/CLASS(property_definition, 'rudder moulded form design parameter', 'moulded form characteristics definition')/]<br>[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p109092"></a>5.1.11.10.1 description
<a id="p109093"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109094"></a>Элемент ПИМ: | <a id="p109095"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.1](#p108764)) |
| --- | --- |


<a id="p109096"></a>5.1.11.10.2 moulded_form_displacement


| <a id="p109097"></a>Элемент ПИМ: | <a id="p109098"></a>volume_measure |
| --- | --- |
| <a id="p109099"></a>Источник: | <a id="p109100"></a>ИСО 10303-43 |
| <a id="p109101"></a>Правила: | <a id="p109102"></a>[5.2.4.123](#p117102), [5.2.4.114](#p116755) |
| <a id="p109103"></a>Ссылочный путь: | <a id="p109104"></a>/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'moulded form displacement', volume_measure)/ |


<a id="p109105"></a>5.1.11.10.3 moulded_form_outer_surface


| <a id="p109106"></a>Элемент ПИМ: | <a id="p109107"></a>area_measure |
| --- | --- |
| <a id="p109108"></a>Источник: | <a id="p109109"></a>ИСО 10303-43 |
| <a id="p109110"></a>Правила: | <a id="p109111"></a>[5.2.4.123](#p117102), [5.2.4.114](#p116755) |
| <a id="p109112"></a>Ссылочный путь: | <a id="p109113"></a>/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'moulded form outer surface', area_measure)/ |


<a id="p109114"></a>5.1.11.10.4 projected_rudder_area


| <a id="p109115"></a>Элемент ПИМ: | <a id="p109116"></a>positive_length_measure |
| --- | --- |
| <a id="p109117"></a>Источник: | <a id="p109118"></a>ИСО 10303-43 |
| <a id="p109119"></a>Правила: | <a id="p109120"></a>[5.2.4.114](#p116755), [5.2.4.109](#p116575) |
| <a id="p109121"></a>Ссылочный путь: | <a id="p109122"></a>/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'projected rudder area', positive_length_measure)/ |


<a id="p109123"></a>5.1.11.10.5 rudder_height


| <a id="p109124"></a>Элемент ПИМ: | <a id="p109125"></a>positive_length_measure |
| --- | --- |
| <a id="p109126"></a>Источник: | <a id="p109127"></a>ИСО 10303-43 |
| <a id="p109128"></a>Правила: | <a id="p109129"></a>[5.2.4.114](#p116755), [5.2.4.109](#p116575) |
| <a id="p109130"></a>Ссылочный путь: | <a id="p109131"></a>/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'rudder height', positive_length_measure)/ |


<a id="p109132"></a>5.1.11.10.6 rudder_length


| <a id="p109133"></a>Элемент ПИМ: | <a id="p109134"></a>positive_length_measure |
| --- | --- |
| <a id="p109135"></a>Источник: | <a id="p109136"></a>ИСО 10303-43 |
| <a id="p109137"></a>Правила: | <a id="p109138"></a>[5.2.4.114](#p116755), [5.2.4.109](#p116575) |
| <a id="p109139"></a>Ссылочный путь: | <a id="p109140"></a>/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'rudder length', positive_length_measure)/ |


<a id="p109141"></a>5.1.11.10.7 rudder_mean_height


| <a id="p109142"></a>Элемент ПИМ: | <a id="p109143"></a>positive_length_measure |
| --- | --- |
| <a id="p109144"></a>Источник: | <a id="p109145"></a>ИСО 10303-43 |
| <a id="p109146"></a>Правила: | <a id="p109147"></a>[5.2.4.114](#p116755), [5.2.4.109](#p116575) |
| <a id="p109148"></a>Ссылочный путь: | <a id="p109149"></a>/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'rudder mean height', positive_length_measure)/ |


<a id="p109150"></a>5.1.11.10.8 rudder_mean_length


| <a id="p109151"></a>Элемент ПИМ: | <a id="p109152"></a>positive_length_measure |
| --- | --- |
| <a id="p109153"></a>Источник: | <a id="p109154"></a>ИСО 10303-43 |
| <a id="p109155"></a>Правила: | <a id="p109156"></a>[5.2.4.114](#p116755), [5.2.4.109](#p116575) |
| <a id="p109157"></a>Ссылочный путь: | <a id="p109158"></a>/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'rudder mean length', positive_length_measure)/ |


<a id="p109159"></a>5.1.11.10.9 rudder_thickness


| <a id="p109160"></a>Элемент ПИМ: | <a id="p109161"></a>positive_length_measure |
| --- | --- |
| <a id="p109162"></a>Источник: | <a id="p109163"></a>ИСО 10303-43 |
| <a id="p109164"></a>Правила: | <a id="p109165"></a>[5.2.4.114](#p116755), [5.2.4.109](#p116575) |
| <a id="p109166"></a>Ссылочный путь: | <a id="p109167"></a>/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'rudder thickness', positive_length_measure)/ |


<a id="p109168"></a>5.1.11.10.10 type_of_the_rudder


| <a id="p109169"></a>Элемент ПИМ: | <a id="p109170"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109171"></a>Источник: | <a id="p109172"></a>ИСО 10303-45 |
| <a id="p109173"></a>Правила: | <a id="p109174"></a>[5.2.4.109](#p116575) |
| <a id="p109175"></a>Ссылочный путь: | <a id="p109176"></a><a id="p109177"></a><a id="p109178"></a>/PROP_DEF_TO_DESC_REP_ITEM('rudder moulded form design parameter', 'type of the rudder')/<br>{(descriptive_representation_item.description = 'balanced')<br>(descriptive_representation_item.description = 'unbalanced')} |


<a id="p109179"></a>5.1.11.10.11 version_id
<a id="p109180"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109181"></a>Элемент ПИМ: | <a id="p109182"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.4](#p108790)) |
| --- | --- |


<a id="p109183"></a>5.1.11.10.12 rudder_moulded_form_design_parameter для moulded_form (как defined_for)
<a id="p109184"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746))


| <a id="p109185"></a>Элемент ПИМ: | <a id="p109186"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.5](#p108800)) |
| --- | --- |


<a id="p109187"></a>5.1.11.10.13 rudder_moulded_form_design_parameter для global_id (как id)
<a id="p109188"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109189"></a>Элемент ПИМ: | <a id="p109190"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.6](#p108807)) |
| --- | --- |


<a id="p109191"></a>5.1.11.10.14 rudder_moulded_form_design_parameter для derived_unit (как local_units)
<a id="p109192"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109193"></a>Элемент ПИМ: | <a id="p109194"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.7](#p108818)) |
| --- | --- |


<a id="p109195"></a>5.1.11.10.15 rudder_moulded_form_design_parameter для named_unit (как local_units)
<a id="p109196"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109197"></a>Элемент ПИМ: | <a id="p109198"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.8](#p108827)) |
| --- | --- |


<a id="p109199"></a>5.1.11.10.16 rudder_moulded_form_design_parameter для centre_location (как rudder_location)


| <a id="p109200"></a>Элемент ПИМ: | <a id="p109201"></a>PATH |
| --- | --- |
| <a id="p109202"></a>Правила: | <a id="p109203"></a>[5.2.4.114](#p116755), [5.2.4.109](#p116575) |
| <a id="p109204"></a>Ссылочный путь: | <a id="p109205"></a><a id="p109206"></a><a id="p109207"></a><a id="p109208"></a><a id="p109209"></a><a id="p109210"></a><a id="p109211"></a><a id="p109212"></a><a id="p109213"></a>property_definition<br>represented_definition = property_definition<br>represented_definition <-<br>property_definition_representation.definition<br>property_definition_representation<br>property_definition_representation.used_representation -><br>/REP_ITEM('rudder location')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'centre_location')/} |



###### <a id="p109214"></a>5.1.11.11 Прикладной элемент SHIP_OVERALL_DIMENSIONS



| <a id="p109215"></a>Элемент ПИМ: | <a id="p109216"></a>product_definition |
| --- | --- |
| <a id="p109217"></a>Источник: | <a id="p109218"></a>ИСО 10303-41 |
| <a id="p109219"></a>Правила: | <a id="p109220"></a>[5.2.4.140](#p117732) |
| <a id="p109221"></a>Ссылочный путь: | <a id="p109222"></a><a id="p109223"></a><a id="p109224"></a><a id="p109225"></a>{[/CLASS(product_definition, 'ship overall dimensions', 'general characteristics definition')/]<br>[/CLASS(product_definition, 'general characteristics definition', 'definition')/]<br>[/CLASS(product_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_definition, 'versionable object')/]} |


<a id="p109226"></a>5.1.11.11.1 description
<a id="p109227"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109228"></a>Элемент ПИМ: | <a id="p109229"></a>product_definition.description |
| --- | --- |
| <a id="p109230"></a>Источник: | <a id="p109231"></a>ИСО 10303-41 |


<a id="p109232"></a>5.1.11.11.2 overall_breadth


| <a id="p109233"></a>Элемент ПИМ: | <a id="p109234"></a>positive_length_measure |
| --- | --- |
| <a id="p109235"></a>Источник: | <a id="p109236"></a>ИСО 10303-43 |
| <a id="p109237"></a>Правила: | <a id="p109238"></a>[5.2.4.114](#p116755), [5.2.4.132](#p117454) |
| <a id="p109239"></a>Ссылочный путь: | <a id="p109240"></a>/PROD_DEF_TO_VAL_REP_ITEM('ship overall dimensions', 'overall breadth', positive_length_measure)/ |


<a id="p109241"></a>5.1.11.11.3 overall_depth


| <a id="p109242"></a>Элемент ПИМ: | <a id="p109243"></a>positive_length_measure |
| --- | --- |
| <a id="p109244"></a>Источник: | <a id="p109245"></a>ИСО 10303-43 |
| <a id="p109246"></a>Правила: | <a id="p109247"></a>[5.2.4.114](#p116755), [5.2.4.132](#p117454) |
| <a id="p109248"></a>Ссылочный путь: | <a id="p109249"></a>/PROD_DEF_TO_VAL_REP_ITEM('ship overall dimensions', 'overall depth', positive_length_measure)/ |


<a id="p109250"></a>5.1.11.11.4 overall_length


| <a id="p109251"></a>Элемент ПИМ: | <a id="p109252"></a>positive_length_measure |
| --- | --- |
| <a id="p109253"></a>Источник: | <a id="p109254"></a>ИСО 10303-43 |
| <a id="p109255"></a>Правила: | <a id="p109256"></a>[5.2.4.114](#p116755), [5.2.4.132](#p117454) |
| <a id="p109257"></a>Ссылочный путь: | <a id="p109258"></a>/PROD_DEF_TO_VAL_REP_ITEM('ship overall dimensions', 'overall length', positive_length_measure)/ |


<a id="p109259"></a>5.1.11.11.5 stem_overhang


| <a id="p109260"></a>Элемент ПИМ: | <a id="p109261"></a>positive_length_measure |
| --- | --- |
| <a id="p109262"></a>Источник: | <a id="p109263"></a>ИСО 10303-43 |
| <a id="p109264"></a>Правила: | <a id="p109265"></a>[5.2.4.114](#p116755), [5.2.4.132](#p117454) |
| <a id="p109266"></a>Ссылочный путь: | <a id="p109267"></a>/PROD_DEF_TO_VAL_REP_ITEM('ship overall dimensions', 'stem overhang', positive_length_measure)/ |


<a id="p109268"></a>5.1.11.11.6 stern_overhang


| <a id="p109269"></a>Элемент ПИМ: | <a id="p109270"></a>positive_length_measure |
| --- | --- |
| <a id="p109271"></a>Источник: | <a id="p109272"></a>ИСО 10303-43 |
| <a id="p109273"></a>Правила: | <a id="p109274"></a>[5.2.4.114](#p116755), [5.2.4.132](#p117454) |
| <a id="p109275"></a>Ссылочный путь: | <a id="p109276"></a>/PROD_DEF_TO_VAL_REP_ITEM('ship overall dimensions', 'stern overhang', positive_length_measure)/ |


<a id="p109277"></a>5.1.11.11.7 version_id
<a id="p109278"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109279"></a>Элемент ПИМ: | <a id="p109280"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p109281"></a>Источник: | <a id="p109282"></a>ИСО 10303-41 |
| <a id="p109283"></a>Правила: | <a id="p109284"></a>[5.2.4.164](#p118524) |
| <a id="p109285"></a>Ссылочный путь: | <a id="p109286"></a>/VERSION_ID(product_definition)/ |


<a id="p109287"></a>5.1.11.11.8 ship_overall_dimensions для ship (как defined_for)
<a id="p109288"></a>Примечание - Атрибут унаследован из супертипа General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p109289"></a>Элемент ПИМ: | <a id="p109290"></a>PATH |
| --- | --- |
| <a id="p109291"></a>Ссылочный путь: | <a id="p109292"></a>/PROD_DEF_PRODUCT/ {/CLASS_ID(product, 'ship')/} |


<a id="p109293"></a>5.1.11.11.9 ship_overall_dimensions для global_id (как id)
<a id="p109294"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p109295"></a>Элемент ПИМ: | <a id="p109296"></a>PATH |
| --- | --- |
| <a id="p109297"></a>Источник: | <a id="p109298"></a>ИСО 10303-41 |
| <a id="p109299"></a>Правила: | <a id="p109300"></a>[5.2.4.45](#p114249), [5.2.4.71](#p115165) |
| <a id="p109301"></a>Ссылочный путь: | <a id="p109302"></a><a id="p109303"></a><a id="p109304"></a><a id="p109305"></a>product_definition<br>identification_item = product_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p109306"></a>5.1.11.11.10 ship_overall_dimensions для derived_unit (как local_units)
<a id="p109307"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p109308"></a>Элемент ПИМ: | <a id="p109309"></a>PATH |
| --- | --- |
| <a id="p109310"></a>Ссылочный путь: | <a id="p109311"></a><a id="p109312"></a><a id="p109313"></a><a id="p109314"></a>/PROD_DEF_TO_UNITS('local units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p109315"></a>5.1.11.11.11 ship_overall_dimensions для named_unit (как local_units)
<a id="p109316"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип General_characteristics_definition (см. [5.1.4.4](#p105667)).


<table>
<colgroup><col width="23%"><col width="77%"></colgroup>
<tr><td><a id="p109317"></a>Элемент ПИМ:</td><td><a id="p109318"></a>PATH</td></tr>
<tr><td><a id="p109319"></a>Ссылочный путь:</td><td><a id="p109320"></a>/PROD_DEF_TO_UNITS('local units')/ unit unit = named_unit</td></tr>
<tr><td colspan="2"><a id="p109321"></a>named_unit</td></tr>
</table>



###### <a id="p109322"></a>5.1.11.12 Прикладной элемент THRUSTER_MOULDED_FORM_DESIGN_PARAMETER



| <a id="p109323"></a>Элемент ПИМ: | <a id="p109324"></a>property_definition |
| --- | --- |
| <a id="p109325"></a>Источник: | <a id="p109326"></a>ИСО 10303-41 |
| <a id="p109327"></a>Правила: | <a id="p109328"></a>[5.2.4.87](#p115731) |
| <a id="p109329"></a>Ссылочный путь: | <a id="p109330"></a><a id="p109331"></a><a id="p109332"></a><a id="p109333"></a>{[/CLASS(property_definition, 'thruster moulded form design parameter', 'moulded form characteristics definition')/]<br>[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p109334"></a>5.1.11.12.1 description
<a id="p109335"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109336"></a>Элемент ПИМ: | <a id="p109337"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.1](#p108764)) |
| --- | --- |


<a id="p109338"></a>5.1.11.12.2 moulded_form_displacement


| <a id="p109339"></a>Элемент ПИМ: | <a id="p109340"></a>volume_measure |
| --- | --- |
| <a id="p109341"></a>Источник: | <a id="p109342"></a>ИСО 10303-43 |
| <a id="p109343"></a>Правила: | <a id="p109344"></a>[5.2.4.124](#p117141), [5.2.4.114](#p116755) |
| <a id="p109345"></a>Ссылочный путь: | <a id="p109346"></a>/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'moulded form displacement', volume_measure)/ |


<a id="p109347"></a>5.1.11.12.3 moulded_form_outer_surface


| <a id="p109348"></a>Элемент ПИМ: | <a id="p109349"></a>area_measure |
| --- | --- |
| <a id="p109350"></a>Источник: | <a id="p109351"></a>ИСО 10303-43 |
| <a id="p109352"></a>Правила: | <a id="p109353"></a>[5.2.4.124](#p117141), [5.2.4.114](#p116755) |
| <a id="p109354"></a>Ссылочный путь: | <a id="p109355"></a>/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'moulded form outer surface', area_measure)/ |


<a id="p109356"></a>5.1.11.12.4 thruster_location


| <a id="p109357"></a>Элемент ПИМ: | <a id="p109358"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109359"></a>Источник: | <a id="p109360"></a>ИСО 10303-45 |
| <a id="p109361"></a>Правила: | <a id="p109362"></a>[5.2.4.112](#p116698) |
| <a id="p109363"></a>Ссылочный путь: | <a id="p109364"></a><a id="p109365"></a><a id="p109366"></a>/PROP_DEF_TO_DESC_REP_ITEM('thruster moulded form design parameter', 'thruster location')/<br>{(descriptive_representation_item.description = 'bow')<br>(descriptive_representation_item.description = 'stern')} |


<a id="p109367"></a>5.1.11.12.5 thruster_tunnel_diameter


| <a id="p109368"></a>Элемент ПИМ: | <a id="p109369"></a>positive_length_measure |
| --- | --- |
| <a id="p109370"></a>Источник: | <a id="p109371"></a>ИСО 10303-43 |
| <a id="p109372"></a>Правила: | <a id="p109373"></a>[5.2.4.114](#p116755), [5.2.4.112](#p116698) |
| <a id="p109374"></a>Ссылочный путь: | <a id="p109375"></a>/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'thruster tunnel diameter', positive_length_measure)/ |


<a id="p109376"></a>5.1.11.12.6 thruster_tunnel_max_length


| <a id="p109377"></a>Элемент ПИМ: | <a id="p109378"></a>positive_length_measure |
| --- | --- |
| <a id="p109379"></a>Источник: | <a id="p109380"></a>ИСО 10303-43 |
| <a id="p109381"></a>Правила: | <a id="p109382"></a>[5.2.4.114](#p116755), [5.2.4.112](#p116698) |
| <a id="p109383"></a>Ссылочный путь: | <a id="p109384"></a>/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'thruster tunnel max length', positive_length_measure)/ |


<a id="p109385"></a>5.1.11.12.7 thruster_tunnel_min_length


| <a id="p109386"></a>Элемент ПИМ: | <a id="p109387"></a>positive_length_measure |
| --- | --- |
| <a id="p109388"></a>Источник: | <a id="p109389"></a>ИСО 10303-43 |
| <a id="p109390"></a>Правила: | <a id="p109391"></a>[5.2.4.114](#p116755), [5.2.4.112](#p116698) |
| <a id="p109392"></a>Ссылочный путь: | <a id="p109393"></a>/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'thruster tunnel min length', positive_length_measure)/ |


<a id="p109394"></a>5.1.11.12.8 version_id
<a id="p109395"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109396"></a>Элемент ПИМ: | <a id="p109397"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.4](#p108790)) |
| --- | --- |


<a id="p109398"></a>5.1.11.12.9 thruster_moulded_form_design_parameter для moulded_form (как defined_for)
<a id="p109399"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109400"></a>Элемент ПИМ: | <a id="p109401"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.5](#p108800)) |
| --- | --- |


<a id="p109402"></a>5.1.11.12.10 thruster_moulded_form_design_parameter для centre_location (как geometric_thruster_location)


| <a id="p109403"></a>Элемент ПИМ: | <a id="p109404"></a>PATH |
| --- | --- |
| <a id="p109405"></a>Правила: | <a id="p109406"></a>[5.2.4.114](#p116755), [5.2.4.112](#p116698) |
| <a id="p109407"></a>Ссылочный путь: | <a id="p109408"></a><a id="p109409"></a><a id="p109410"></a><a id="p109411"></a><a id="p109412"></a><a id="p109413"></a><a id="p109414"></a><a id="p109415"></a><a id="p109416"></a>property_definition<br>represented_definition = property_definition<br>represented_definition <-<br>property_definition_representation.definition<br>property_definition_representation<br>property_definition_representation.used_representation -><br>/REP_ITEM('geometric thruster location')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'centre_location')/} |


<a id="p109417"></a>5.1.11.12.11 thruster_moulded_form_design_parameter для global_id (как id)
<a id="p109418"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109419"></a>Элемент ПИМ: | <a id="p109420"></a>SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.6](#p108807)) |
| --- | --- |


<a id="p109421"></a>5.1.11.12.12 thruster_moulded_form_design_parameter для derived_unit (как local_units)
<a id="p109422"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109423"></a>Элемент ПИМ: | <a id="p109424"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.7](#p108818)) |
| --- | --- |


<a id="p109425"></a>5.1.11.12.13 thruster_moulded_form_design_parameter для named_unit (как local_units)
<a id="p109426"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Moulded_form_characteristics_definition (см. [5.1.11.7](#p108746)).


| <a id="p109427"></a>Элемент ПИМ: | <a id="p109428"></a>/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. [5.1.11.7.8](#p108827)) |
| --- | --- |


<a id="p109429"></a>5.1.11.12.14 thruster_moulded_form_design_parameter для propeller_moulded_form_design_parameter (как thruster_propeller_parameter)


| <a id="p109430"></a>Элемент ПИМ: | <a id="p109431"></a>PATH |
| --- | --- |
| <a id="p109432"></a>Правила: | <a id="p109433"></a>[5.2.4.88](#p115766) |
| <a id="p109434"></a>Ссылочный путь: | <a id="p109435"></a><a id="p109436"></a><a id="p109437"></a><a id="p109438"></a><a id="p109439"></a><a id="p109440"></a><a id="p109441"></a><a id="p109442"></a><a id="p109443"></a>property_definition <-<br>property_definition_relationship.relating_property_definition<br>property_definition_relationship<br>{property_definition_relationship.name = 'thruster propeller parameter'}<br>property_definition_relationship<br>property_definition_relationship.related_property_definition -><br>property_definition=><br>property_definition<br>{/CLASS_ID(property_definition, 'propeller moulded form design parameter')/} |



##### <a id="p109444"></a>5.1.12 Функциональная единица ship_general_characteristics


###### <a id="p109445"></a>5.1.12.1 Прикладной элемент CARRIER



| <a id="p109446"></a>Элемент ПИМ: | <a id="p109447"></a>product_related_product_category |
| --- | --- |
| <a id="p109448"></a>Источник: | <a id="p109449"></a>ИСО 10303-41 |
| <a id="p109450"></a>Ссылочный путь: | <a id="p109451"></a><a id="p109452"></a><a id="p109453"></a><a id="p109454"></a><a id="p109455"></a><a id="p109456"></a>{[/PROD_CAT_NAME('carrier')/]<br>[/CLASS(product_related_product_category, 'carrier','Shiptype')/]<br>[/CLASS(product_related_product_category, 'Shiptype', 'functional definition')/]<br>[/CLASS(product_related_product_category,'functional definition', 'definition')/]<br>[/CLASS(product_related_product_category, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_related_product_category,'versionable object')/]} |


<a id="p109457"></a>5.1.12.1.1 description
<a id="p109458"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109459"></a>Элемент ПИМ: | <a id="p109460"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.1](#p110337)) |
| --- | --- |


<a id="p109461"></a>5.1.12.1.2 has_type


| <a id="p109462"></a>Элемент ПИМ: | <a id="p109463"></a>product_category.name |
| --- | --- |
| <a id="p109464"></a>Источник: | <a id="p109465"></a>ИСО 10303-41 |
| <a id="p109466"></a>Ссылочный путь: | <a id="p109467"></a><a id="p109468"></a><a id="p109469"></a><a id="p109470"></a><a id="p109471"></a><a id="p109472"></a><a id="p109473"></a><a id="p109474"></a><a id="p109475"></a><a id="p109476"></a><a id="p109477"></a><a id="p109478"></a><a id="p109479"></a><a id="p109480"></a><a id="p109481"></a><a id="p109482"></a><a id="p109483"></a><a id="p109484"></a><a id="p109485"></a><a id="p109486"></a><a id="p109487"></a><a id="p109488"></a><a id="p109489"></a><a id="p109490"></a><a id="p109491"></a><a id="p109492"></a><a id="p109493"></a><a id="p109494"></a><a id="p109495"></a><a id="p109496"></a><a id="p109497"></a><a id="p109498"></a><a id="p109499"></a><a id="p109500"></a><a id="p109501"></a><a id="p109502"></a><a id="p109503"></a><a id="p109504"></a>/PROD_CAT_NAME('carrier')/<br>product_category <-<br>product_category_relationship.category<br>product_category_relationship<br>{product_category_relationship.name = 'carrier types'}<br>product_category_relationship.sub_category -><br>product_category<br>{(product_category.name ='Container carrier')<br>(product_category.name = 'Bulk carrier')<br>(product_category.name = 'Ore carrier')<br>(product_category.name = 'Oil tanker')<br>(product_category.name = 'Roro vessel')<br>(product_category.name = 'Ferry')<br>(product_category.name = 'Car ferry')<br>(product_category.name = 'Cruise liner')<br>(product_category.name = 'Passenger vessel')<br>(product_category.name = 'Cargo ship carrying passengers')<br>(product_category.name = 'Product tanker')<br>(product_category.name = 'Gas carrier')<br>(product_category.name = 'Liquefied gas tanker')<br>(product_category.name = 'Chemical tanker')<br>(product_category.name = 'Chemical tanker Type 1')<br>(product_category.name = 'Tanker for refrigerated fruit juice')<br>(product_category.name = 'General cargo carrier')<br>(product_category.name = 'Dry cargo vessel')<br>(product_category.name = 'Refrigerated cargo carrying ship')<br>(product_category.name = 'High speed craft passenger')<br>(product_category.name = 'High speed craft cargo')<br>(product_category.name = 'Hydrofoil')<br>(product_category.name = 'Car carrier')<br>(product_category.name = 'Barge')<br>(product_category.name = 'Barge for deck loading')<br>(product_category.name = 'Barge for liquefied gas')<br>(product_category.name = 'Barge for oil')<br>(product_category.name = 'Barge pontoon')<br>(product_category.name = 'LNG carrier')<br>(product_category.name = 'LPG carrier')<br>(product_category.name = 'user defined')} |


<a id="p109505"></a>5.1.12.1.3 user_def_function
<a id="p109506"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109507"></a>Элемент ПИМ: | <a id="p109508"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.2](#p110346)) |
| --- | --- |


<a id="p109509"></a>5.1.12.1.4 version_id
<a id="p109510"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109511"></a>Элемент ПИМ: | <a id="p109512"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.3](#p110362)) |
| --- | --- |


<a id="p109513"></a>5.1.12.1.5 carrier для ship (как defined_for)
<a id="p109514"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109515"></a>Элемент ПИМ: | <a id="p109516"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.4](#p110372)) |
| --- | --- |


<a id="p109517"></a>5.1.12.1.6 carrier для global_id (как id)
<a id="p109518"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109519"></a>Элемент ПИМ: | <a id="p109520"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11](#p110327)) |
| --- | --- |



###### <a id="p109521"></a>5.1.12.2 Прикладной элемент CLASS_AND_STATUTORY_DESIGNATION



| <a id="p109522"></a>Элемент ПИМ: | <a id="p109523"></a>product_definition |
| --- | --- |
| <a id="p109524"></a>Источник: | <a id="p109525"></a>ИСО 10303-41 |
| <a id="p109526"></a>Правила: | <a id="p109527"></a>[5.2.4.28](#p113685) |
| <a id="p109528"></a>Ссылочный путь: | <a id="p109529"></a><a id="p109530"></a><a id="p109531"></a><a id="p109532"></a>{[/CLASS(product_definition, 'class and statutory designation', 'general characteristics definition')/]<br>[/CLASS(product_definition, 'general characteristics definition', 'definition')/]<br>[/CLASS(product_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_definition, 'versionable object')/]} |


<a id="p109533"></a>5.1.12.2.1 class_number


| <a id="p109534"></a>Элемент ПИМ: | <a id="p109535"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109536"></a>Источник: | <a id="p109537"></a>ИСО 10303-45 |
| <a id="p109538"></a>Правила: | <a id="p109539"></a>[5.2.4.93](#p115956) |
| <a id="p109540"></a>Ссылочный путь: | <a id="p109541"></a>/PROD_DEF_TO_DESC_REP_ITEM('class and statutory designation', 'class number')/ |


<a id="p109542"></a>5.1.12.2.2 description
<a id="p109543"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109544"></a>Элемент ПИМ: | <a id="p109545"></a>product_definition.description |
| --- | --- |
| <a id="p109546"></a>Источник: | <a id="p109547"></a>ИСО 10303-41 |


<a id="p109548"></a>5.1.12.2.3 version_id
<a id="p109549"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109550"></a>Элемент ПИМ: | <a id="p109551"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p109552"></a>Источник: | <a id="p109553"></a>ИСО 10303-41 |
| <a id="p109554"></a>Правила: | <a id="p109555"></a>[5.2.4.164](#p118524) |
| <a id="p109556"></a>Ссылочный путь: | <a id="p109557"></a>/VERSION_ID(product_definition)/ |


<a id="p109558"></a>5.1.12.2.4 class_and_statutory_designation для ship (как defined_for)
<a id="p109559"></a>Примечание - Атрибут унаследован из супертипа General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p109560"></a>Элемент ПИМ: | <a id="p109561"></a>PATH |
| --- | --- |
| <a id="p109562"></a>Ссылочный путь: | <a id="p109563"></a><a id="p109564"></a>/PROD_DEF_PRODUCT/<br>{/CLASS_ID(product,'ship')/} |


<a id="p109565"></a>5.1.12.2.5 class_and_statutory_designation для global_id (как id)
<a id="p109566"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109567"></a>Элемент ПИМ: | <a id="p109568"></a>PATH |
| --- | --- |
| <a id="p109569"></a>Источник: | <a id="p109570"></a>ИСО 10303-41 |
| <a id="p109571"></a>Правила: | <a id="p109572"></a>[5.2.4.45](#p114249), [5.2.4.71](#p115165) |
| <a id="p109573"></a>Ссылочный путь: | <a id="p109574"></a><a id="p109575"></a><a id="p109576"></a><a id="p109577"></a>product_definition<br>identification_item = product_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p109578"></a>5.1.12.2.6 class_and_statutory_designation для class_notation (как the_class)


| <a id="p109579"></a>Элемент ПИМ: | <a id="p109580"></a>PATH |
| --- | --- |
| <a id="p109581"></a>Правила: | <a id="p109582"></a>[5.2.4.57](#p114644) |
| <a id="p109583"></a>Ссылочный путь: | <a id="p109584"></a><a id="p109585"></a>/PROD_DEF_PROP_DEF/<br>{/CLASS_ID(property_definition, 'class notation')/} |


<a id="p109586"></a>5.1.12.2.7 class_and_statutory_designation для regulation (как the_statutory)


| <a id="p109587"></a>Элемент ПИМ: | <a id="p109588"></a>PATH |
| --- | --- |
| <a id="p109589"></a>Правила: | <a id="p109590"></a>[5.2.4.64](#p114898) |
| <a id="p109591"></a>Ссылочный путь: | <a id="p109592"></a><a id="p109593"></a>/PROD_DEF_PROP_DEF/<br>{/CLASS_ID(property_definition, 'regulation')/} |



###### <a id="p109594"></a>5.1.12.3 Прикладной элемент CLASS_NOTATION



| <a id="p109595"></a>Элемент ПИМ: | <a id="p109596"></a>property_definition |
| --- | --- |
| <a id="p109597"></a>Источник: | <a id="p109598"></a>ИСО 10303-41 |
| <a id="p109599"></a>Правила: | <a id="p109600"></a>[5.2.4.78](#p115422) |
| <a id="p109601"></a>Ссылочный путь: | <a id="p109602"></a>/ROOT_CLASS(property_definition, 'class notation')/ |


<a id="p109603"></a>5.1.12.3.1 approval_required_for_heavy_cargo


| <a id="p109604"></a>Элемент ПИМ: | <a id="p109605"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109606"></a>Источник: | <a id="p109607"></a>ИСО 10303-45 |
| <a id="p109608"></a>Правила: | <a id="p109609"></a>[5.2.4.126](#p117235) |
| <a id="p109610"></a>Ссылочный путь: | <a id="p109611"></a><a id="p109612"></a><a id="p109613"></a><a id="p109614"></a>/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'approval required for heavy cargo')/<br>{(descriptive_representation_item.description = 'HC')<br>(descriptive_representation_item.description = 'HC_E')<br>(descriptive_representation_item.description = 'HC_EA')} |


<a id="p109615"></a>5.1.12.3.2 approval_required_for_oil_cargo


| <a id="p109616"></a>Элемент ПИМ: | <a id="p109617"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109618"></a>Источник: | <a id="p109619"></a>ИСО 10303-45 |
| <a id="p109620"></a>Правила: | <a id="p109621"></a>[5.2.4.129](#p117342) |
| <a id="p109622"></a>Ссылочный путь: | <a id="p109623"></a><a id="p109624"></a><a id="p109625"></a>/PROP_DEF_TO_DESC_REP_ITEM('class notation','approval required for oil cargo')/<br>{(descriptive_representation_item.description = 'TRUE')<br>(descriptive_representation_item.description = 'FALSE')} |


<a id="p109626"></a>5.1.12.3.3 approval_required_loading_unloading_aground


| <a id="p109627"></a>Элемент ПИМ: | <a id="p109628"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109629"></a>Источник: | <a id="p109630"></a>ИСО 10303-45 |
| <a id="p109631"></a>Правила: | <a id="p109632"></a>[5.2.4.129](#p117342) |
| <a id="p109633"></a>Ссылочный путь: | <a id="p109634"></a><a id="p109635"></a><a id="p109636"></a>/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'approval required for loading unloading aground')/<br>{(descriptive_representation_item.description = 'TRUE')<br>(descriptive_representation_item.description = 'FALSE')} |


<a id="p109637"></a>5.1.12.3.4 approval required loading unloading grabs


| <a id="p109638"></a>Элемент ПИМ: | <a id="p109639"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109640"></a>Источник: | <a id="p109641"></a>ИСО 10303-45 |
| <a id="p109642"></a>Правила: | <a id="p109643"></a>[5.2.4.129](#p117342) |
| <a id="p109644"></a>Ссылочный путь: | <a id="p109645"></a><a id="p109646"></a><a id="p109647"></a>/PROP_DEF_TO_DESC_REP_ITEM('class notation','approval required for unloading grabs')/<br>{(descriptive_representation_item.description = 'TRUE')<br>(descriptive_representation_item.description = 'FALSE')} |


<a id="p109648"></a>5.1.12.3.5 class_notations_hull


| <a id="p109649"></a>Элемент ПИМ: | <a id="p109650"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109651"></a>Источник: | <a id="p109652"></a>ИСО 10303-45 |
| <a id="p109653"></a>Правила: | <a id="p109654"></a>[5.2.4.29](#p113724) |
| <a id="p109655"></a>Ссылочный путь: | <a id="p109656"></a>/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'class notations hull')/ |


<a id="p109657"></a>5.1.12.3.6 class_notations_machinery


| <a id="p109658"></a>Элемент ПИМ: | <a id="p109659"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109660"></a>Источник: | <a id="p109661"></a>ИСО 10303-45 |
| <a id="p109662"></a>Правила: | <a id="p109663"></a>[5.2.4.29](#p113724) |
| <a id="p109664"></a>Ссылочный путь: | <a id="p109665"></a>/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'class notations machinery') / |


<a id="p109666"></a>5.1.12.3.7 class_notations_machinery


| <a id="p109667"></a>Элемент ПИМ: | <a id="p109668"></a>organization_assignment.assigned_organization |
| --- | --- |
| <a id="p109669"></a>Источник: | <a id="p109670"></a>ИСО 10303-41 |
| <a id="p109671"></a>Правила: | <a id="p109672"></a>[5.2.4.79](#p115455) |
| <a id="p109673"></a>Ссылочный путь: | <a id="p109674"></a>/ORG_ASSGN(property_definition,'class society')/ |


<a id="p109675"></a>5.1.12.3.8 ice_class_notation


| <a id="p109676"></a>Элемент ПИМ: | <a id="p109677"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109678"></a>Источник: | <a id="p109679"></a>ИСО 10303-45 |
| <a id="p109680"></a>Правила: | <a id="p109681"></a>[5.2.4.126](#p117235) |
| <a id="p109682"></a>Ссылочный путь: | <a id="p109683"></a>/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'ice class notation')/ |


<a id="p109684"></a>5.1.12.3.9 service_area


| <a id="p109685"></a>Элемент ПИМ: | <a id="p109686"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109687"></a>Источник: | <a id="p109688"></a>ИСО 10303-45 |
| <a id="p109689"></a>Правила: | <a id="p109690"></a>[5.2.4.129](#p117342) |
| <a id="p109691"></a>Ссылочный путь: | <a id="p109692"></a>/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'service area')/ |


<a id="p109693"></a>5.1.12.3.10 service_factor


| <a id="p109694"></a>Элемент ПИМ: | <a id="p109695"></a>count_measure |
| --- | --- |
| <a id="p109696"></a>Правила: | <a id="p109697"></a>[5.2.4.114](#p116755), [5.2.4.126](#p117235) |
| <a id="p109698"></a>Ссылочный путь: | <a id="p109699"></a>/PROP_DEF_TO_VAL_REP_ITEM('class notation', 'service factor', count_measure)/ |



###### <a id="p109700"></a>5.1.12.4 Прикладной элемент CLASS_PARAMETERS



| <a id="p109701"></a>Элемент ПИМ: | <a id="p109702"></a>product_definition |
| --- | --- |
| <a id="p109703"></a>Источник: | <a id="p109704"></a>ИСО 10303-41 |
| <a id="p109705"></a>Правила: | <a id="p109706"></a>[5.2.4.30](#p113759) |
| <a id="p109707"></a>Ссылочный путь: | <a id="p109708"></a><a id="p109709"></a><a id="p109710"></a><a id="p109711"></a>{[/CLASS(product_definition, 'class parameters', 'general characteristics definition')/]<br>[/CLASS(product_definition, 'general characteristics definition', 'definition')/]<br>[/CLASS(product_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_definition, 'versionable object')/]} |


<a id="p109712"></a>5.1.12.4.1 block_coefficient_class


| <a id="p109713"></a>Элемент ПИМ: | <a id="p109714"></a>ratio_measure |
| --- | --- |
| <a id="p109715"></a>Источник: | <a id="p109716"></a>ИСО 10303-43 |
| <a id="p109717"></a>Правила: | <a id="p109718"></a>[5.2.4.114](#p116755), [5.2.4.130](#p117380) |
| <a id="p109719"></a>Ссылочный путь: | <a id="p109720"></a>/PROD_DEF_TO_VAL_REP_ITEM('class parameters', 'block coefficient class', ratio_measure)/ |


<a id="p109721"></a>5.1.12.4.2 description
<a id="p109722"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109723"></a>Элемент ПИМ: | <a id="p109724"></a>product_definition.description |
| --- | --- |
| <a id="p109725"></a>Источник: | <a id="p109726"></a>ИСО 10303-41 |


<a id="p109727"></a>5.1.12.4.3 design_speed_ahead


| <a id="p109728"></a>Элемент ПИМ: | <a id="p109729"></a>context_dependent_measure |
| --- | --- |
| <a id="p109730"></a>Источник: | <a id="p109731"></a>ИСО 10303-43 |
| <a id="p109732"></a>Правила: | <a id="p109733"></a>[5.2.4.114](#p116755), [5.2.4.130](#p117380) |
| <a id="p109734"></a>Ссылочный путь: | <a id="p109735"></a>/PROD_DEF_TO_SPECIAL_VAL_REP_ITEM('class parameters', 'design speed ahead', 'speed unit')/ |


<a id="p109736"></a>5.1.12.4.4 design_speed_astern


| <a id="p109737"></a>Элемент ПИМ: | <a id="p109738"></a>context_dependent_measure |
| --- | --- |
| <a id="p109739"></a>Источник: | <a id="p109740"></a>ИСО 10303-43 |
| <a id="p109741"></a>Правила: | <a id="p109742"></a>[5.2.4.114](#p116755), [5.2.4.130](#p117380) |
| <a id="p109743"></a>Ссылочный путь: | <a id="p109744"></a>/PROD_DEF_TO_SPECIAL_VAL_REP_ITEM('class parameters', 'design speed astern', 'speed unit')/ |


<a id="p109745"></a>5.1.12.4.5 length_class


| <a id="p109746"></a>Элемент ПИМ: | <a id="p109747"></a>positive_length_measure |
| --- | --- |
| <a id="p109748"></a>Источник: | <a id="p109749"></a>ИСО 10303-43 |
| <a id="p109750"></a>Правила: | <a id="p109751"></a>[5.2.4.114](#p116755), [5.2.4.130](#p117380) |
| <a id="p109752"></a>Ссылочный путь: | <a id="p109753"></a>/PROD_DEF_TO_VAL_REP_ITEM('class parameters', 'length class', positive_length_measure)/ |


<a id="p109754"></a>5.1.12.4.6 length_solas


| <a id="p109755"></a>Элемент ПИМ: | <a id="p109756"></a>positive_length_measure |
| --- | --- |
| <a id="p109757"></a>Источник: | <a id="p109758"></a>ИСО 10303-43 |
| <a id="p109759"></a>Правила: | <a id="p109760"></a>[5.2.4.114](#p116755), [5.2.4.130](#p117380) |
| <a id="p109761"></a>Ссылочный путь: | <a id="p109762"></a>/PROD_DEF_TO_VAL_REP_ITEM('class parameters', 'length solas', positive_length_measure)/ |


<a id="p109763"></a>5.1.12.4.7 scantlings_draught


| <a id="p109764"></a>Элемент ПИМ: | <a id="p109765"></a>positive_length_measure |
| --- | --- |
| <a id="p109766"></a>Источник: | <a id="p109767"></a>ИСО 10303-43 |
| <a id="p109768"></a>Правила: | <a id="p109769"></a>[5.2.4.114](#p116755), [5.2.4.130](#p117380) |
| <a id="p109770"></a>Ссылочный путь: | <a id="p109771"></a>/PROD_DEF_TO_VAL_REP_ITEM('class parameters', 'scantlings draught', positive_length_measure)/ |


<a id="p109772"></a>5.1.12.4.8 version_id
<a id="p109773"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109774"></a>Элемент ПИМ: | <a id="p109775"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p109776"></a>Источник: | <a id="p109777"></a>ИСО 10303-41 |
| <a id="p109778"></a>Правила: | <a id="p109779"></a>[5.2.4.164](#p118524) |
| <a id="p109780"></a>Ссылочный путь: | <a id="p109781"></a>/VERSION_ID(product_definition)/ |


<a id="p109782"></a>5.1.12.4.9 class_parameters для ship (как defined_for)
<a id="p109783"></a>Примечание - Атрибут унаследован из супертипа General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p109784"></a>Элемент ПИМ: | <a id="p109785"></a>PATH |
| --- | --- |
| <a id="p109786"></a>Ссылочный путь: | <a id="p109787"></a><a id="p109788"></a>/PROD_DEF_PRODUCT/<br>{/CLASS_ID(product,'ship')/} |


<a id="p109789"></a>5.1.12.4.10 class_parameters для global_id (как id)
<a id="p109790"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109791"></a>Элемент ПИМ: | <a id="p109792"></a>PATH |
| --- | --- |
| <a id="p109793"></a>Источник: | <a id="p109794"></a>ИСО 10303-41 |
| <a id="p109795"></a>Правила: | <a id="p109796"></a>[5.2.4.45](#p114249), [5.2.4.70](#p115126) |
| <a id="p109797"></a>Ссылочный путь: | <a id="p109798"></a><a id="p109799"></a><a id="p109800"></a><a id="p109801"></a>product_definition<br>identification_item = product_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p109802"></a>5.1.12.4.11 class_parameters для derived_unit (как local_units)
<a id="p109803"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109804"></a>Элемент ПИМ: | <a id="p109805"></a>PATH |
| --- | --- |
| <a id="p109806"></a>Ссылочный путь: | <a id="p109807"></a><a id="p109808"></a><a id="p109809"></a><a id="p109810"></a>/PROD_DEF_TO_UNITS('local units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p109811"></a>5.1.12.4.12 class_parameters для named_unit (как local_units)
<a id="p109812"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109813"></a>Элемент ПИМ: | <a id="p109814"></a>PATH |
| --- | --- |
| <a id="p109815"></a>Ссылочный путь: | <a id="p109816"></a><a id="p109817"></a><a id="p109818"></a><a id="p109819"></a>/PROD_DEF_TO_UNITS('local units')/<br>unit<br>unit = named_unit<br>named_unit |



###### <a id="p109820"></a>5.1.12.5 Прикладной элемент NAVY_SHIP



| <a id="p109821"></a>Элемент ПИМ: | <a id="p109822"></a>product_related_product_category |
| --- | --- |
| <a id="p109823"></a>Источник: | <a id="p109824"></a>ИСО 10303-41 |
| <a id="p109825"></a>Ссылочный путь: | <a id="p109826"></a><a id="p109827"></a><a id="p109828"></a><a id="p109829"></a><a id="p109830"></a><a id="p109831"></a>{[/PROD_CAT_NAME('navy ship')/]<br>[/CLASS(product_related_product_category,'navy ship','Shiptype')/]<br>[/CLASS(product_related_product_category, 'Shiptype', 'functional definition')/]<br>[/CLASS(product_related_product_category,'functional definition', 'definition')/]<br>[/CLASS(product_related_product_category, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_related_product_category,'versionable object')/]} |


<a id="p109832"></a>5.1.12.5.1 description
<a id="p109833"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109834"></a>Элемент ПИМ: | <a id="p109835"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.1](#p110337)) |
| --- | --- |


<a id="p109836"></a>5.1.12.5.2 has_type


| <a id="p109837"></a>Элемент ПИМ: | <a id="p109838"></a>product_category.name |
| --- | --- |
| <a id="p109839"></a>Источник: | <a id="p109840"></a>ИСО 10303-41 |
| <a id="p109841"></a>Ссылочный путь: | <a id="p109842"></a><a id="p109843"></a><a id="p109844"></a><a id="p109845"></a><a id="p109846"></a><a id="p109847"></a><a id="p109848"></a><a id="p109849"></a><a id="p109850"></a><a id="p109851"></a><a id="p109852"></a><a id="p109853"></a><a id="p109854"></a><a id="p109855"></a><a id="p109856"></a><a id="p109857"></a><a id="p109858"></a><a id="p109859"></a><a id="p109860"></a><a id="p109861"></a><a id="p109862"></a><a id="p109863"></a><a id="p109864"></a><a id="p109865"></a>/PROD_CAT_NAME('navy ship')/<br>product_category <-<br>product_category_relationship.category<br>product_category_relationship<br>{product_category_relationship.name = 'navy ship types'}<br>product_category_relationship.category -><br>product_category<br>product_category_relationship<br>product_category_relationship.sub_category -><br>product_category<br>{(product_category.name = 'Aircraft carrier')<br>(product_category.name = 'Corvette')<br>(product_category.name = 'Cruiser')<br>(product_category.name = 'Destroyer')<br>(product_category.name = 'Fleet auxiliary vessel')<br>(product_category.name = 'Frigate')<br>(product_category.name = 'Mine warfare ship')<br>(product_category.name = 'Patrol force vessel')<br>(product_category.name = 'Service craft')<br>(product_category.name = 'Submarine')<br>(product_category.name = 'Auxiliary oiler')<br>(product_category.name = 'Landing platform dock')<br>(product_category.name = 'Landing platform helicopter')<br>(product_category.name = 'user defined')} |


<a id="p109866"></a>5.1.12.5.3 user_def_function
<a id="p109867"></a>Примечание - Атрибут унаследован из супертипа Shiptype (см. [5.1.12.11](#p110327)).


| <a id="p109868"></a>Элемент ПИМ: | <a id="p109869"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.2](#p110346)) |
| --- | --- |


<a id="p109870"></a>5.1.12.5.4 version_id
<a id="p109871"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109872"></a>Элемент ПИМ: | <a id="p109873"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.3](#p110362)) |
| --- | --- |


<a id="p109874"></a>5.1.12.5.5 navy_ship для ship (как defined_for)
<a id="p109875"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109876"></a>Элемент ПИМ: | <a id="p109877"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.4](#p110372)) |
| --- | --- |


<a id="p109878"></a>5.1.12.5.6 navy_ship для global_id (как id)
<a id="p109879"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109880"></a>Элемент ПИМ: | <a id="p109881"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.5](#p110380)) |
| --- | --- |



###### <a id="p109882"></a>5.1.12.6 Прикладной элемент OWNER_DESIGNATION



| <a id="p109883"></a>Элемент ПИМ: | <a id="p109884"></a>product_definition |
| --- | --- |
| <a id="p109885"></a>Источник: | <a id="p109886"></a>ИСО 10303-41 |
| <a id="p109887"></a>Ссылочный путь: | <a id="p109888"></a><a id="p109889"></a><a id="p109890"></a><a id="p109891"></a>{[/CLASS(product_definition, 'owner designation', 'general characteristics definition')/]<br>[/CLASS(product_definition, 'general characteristics definition', 'definition')/]<br>[/CLASS(product_definition, 'definition', 'versionable object')/]<br>/ROOT_CLASS(product_definition, 'versionable object')/]} |


<a id="p109892"></a>5.1.12.6.1 description
<a id="p109893"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109894"></a>Элемент ПИМ: | <a id="p109895"></a>product_definition.description |
| --- | --- |
| <a id="p109896"></a>Источник: | <a id="p109897"></a>ИСО 10303-41 |


<a id="p109898"></a>5.1.12.6.2 managing_company


| <a id="p109899"></a>Элемент ПИМ: | <a id="p109900"></a>organization_assignment.assigned_organization |
| --- | --- |
| <a id="p109901"></a>Источник: | <a id="p109902"></a>ИСО 10303-41 |
| <a id="p109903"></a>Ссылочный путь: | <a id="p109904"></a>/ORG_ASSGN(product_definition,'managing company')/ |


<a id="p109905"></a>5.1.12.6.3 ordering_company


| <a id="p109906"></a>Элемент ПИМ: | <a id="p109907"></a>organization_assignment.assigned_organization |
| --- | --- |
| <a id="p109908"></a>Источник: | <a id="p109909"></a>ИСО 10303-41 |
| <a id="p109910"></a>Ссылочный путь: | <a id="p109911"></a>/ORG_ASSGN(product_definition,'ordering company')/ |


<a id="p109912"></a>5.1.12.6.4 owner_approval


| <a id="p109913"></a>Элемент ПИМ: | <a id="p109914"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p109915"></a>Источник: | <a id="p109916"></a>ИСО 10303-45 |
| <a id="p109917"></a>Правила: | <a id="p109918"></a>[5.2.4.127](#p117270) |
| <a id="p109919"></a>Ссылочный путь: | <a id="p109920"></a>/PROD_DEF_TO_DESC_REP_ITEM('owner designation', 'owner approval')/ |


<a id="p109921"></a>5.1.12.6.5 owning_company


| <a id="p109922"></a>Элемент ПИМ: | <a id="p109923"></a>organization_assignment.assigned_organization |
| --- | --- |
| <a id="p109924"></a>Источник: | <a id="p109925"></a>ИСО 10303-41 |
| <a id="p109926"></a>Ссылочный путь: | <a id="p109927"></a>/ORG_ASSGN(product_definition,'owning company')/ |


<a id="p109928"></a>5.1.12.6.6 version_id
<a id="p109929"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109930"></a>Элемент ПИМ: | <a id="p109931"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p109932"></a>Источник: | <a id="p109933"></a>ИСО 10303-41 |
| <a id="p109934"></a>Правила: | <a id="p109935"></a>[5.2.4.164](#p118524) |
| <a id="p109936"></a>Ссылочный путь: | <a id="p109937"></a>/VERSION_ID(product_definition)/ |


<a id="p109938"></a>5.1.12.6.7 owner_designation для ship (как defined_for)
<a id="p109939"></a>Примечание - Атрибут унаследован из супертипа General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p109940"></a>Элемент ПИМ: | <a id="p109941"></a>PATH |
| --- | --- |
| <a id="p109942"></a>Ссылочный путь: | <a id="p109943"></a><a id="p109944"></a>/PROD_DEF_PRODUCT/<br>{/CLASS_ID(product,'ship')/} |


<a id="p109945"></a>5.1.12.6.8 owner_designation для global_id (как id)
<a id="p109946"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p109947"></a>Элемент ПИМ: | <a id="p109948"></a>PATH |
| --- | --- |
| <a id="p109949"></a>Источник: | <a id="p109950"></a>ИСО 10303-41 |
| <a id="p109951"></a>Правила: | <a id="p109952"></a>[5.2.4.45](#p114249), [5.2.4.70](#p115126) |
| <a id="p109953"></a>Ссылочный путь: | <a id="p109954"></a><a id="p109955"></a><a id="p109956"></a><a id="p109957"></a>product_definition<br>identification_item= product_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |



###### <a id="p109958"></a>5.1.12.7 Прикладной элемент PRINCIPAL_CHARACTERISTICS



| <a id="p109959"></a>Элемент ПИМ: | <a id="p109960"></a>product_definition |
| --- | --- |
| <a id="p109961"></a>Источник: | <a id="p109962"></a>ИСО 10303-41 |
| <a id="p109963"></a>Правила: | <a id="p109964"></a>[5.2.4.55](#p114570) |
| <a id="p109965"></a>Ссылочный путь: | <a id="p109966"></a><a id="p109967"></a><a id="p109968"></a><a id="p109969"></a>{[/CLASS(product_definition, 'principal characteristics','general characteristics definition')/]<br>[/CLASS(product_definition, 'general characteristics definition', 'definition')/]<br>[/CLASS(product_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_definition, 'versionable object')/]} |


<a id="p109970"></a>5.1.12.7.1 block_coefficient


| <a id="p109971"></a>Элемент ПИМ: | <a id="p109972"></a>ratio_measure |
| --- | --- |
| <a id="p109973"></a>Источник: | <a id="p109974"></a>ИСО 10303-43 |
| <a id="p109975"></a>Правила: | <a id="p109976"></a>[5.2.4.114](#p116755), [5.2.4.128](#p117301) |
| <a id="p109977"></a>Ссылочный путь: | <a id="p109978"></a>/PROD_DEF_TO_VAL_REP_ITEM('principal characteristics','block coefficient', ratio_measure)/ |


<a id="p109979"></a>5.1.12.7.2 description
<a id="p109980"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p109981"></a>Элемент ПИМ: | <a id="p109982"></a>product_definition.description |
| --- | --- |
| <a id="p109983"></a>Источник: | <a id="p109984"></a>ИСО 10303-41 |


<a id="p109985"></a>5.1.12.7.3 design_deadweight


| <a id="p109986"></a>Элемент ПИМ: | <a id="p109987"></a>mass_measure |
| --- | --- |
| <a id="p109988"></a>Источник: | <a id="p109989"></a>ИСО 10303-43 |
| <a id="p109990"></a>Правила: | <a id="p109991"></a>[5.2.4.114](#p116755), [5.2.4.128](#p117301) |
| <a id="p109992"></a>Ссылочный путь: | <a id="p109993"></a>/PROD_DEF_TO_VAL_REP_ITEM ('principal characteristics', 'design deadweight', mass_measure)/ |


<a id="p109994"></a>5.1.12.7.4 design_draught


| <a id="p109995"></a>Элемент ПИМ: | <a id="p109996"></a>positive_length_measure |
| --- | --- |
| <a id="p109997"></a>Источник: | <a id="p109998"></a>ИСО 10303-43 |
| <a id="p109999"></a>Правила: | <a id="p110000"></a>[5.2.4.114](#p116755), [5.2.4.128](#p117301) |
| <a id="p110001"></a>Ссылочный путь: | <a id="p110002"></a>/PROD_DEF_TO_VAL_REP_ITEM ('principal characteristics', 'design draught', positive_length_measure)/ |


<a id="p110003"></a>5.1.12.7.5 length_between_perpendiculars


| <a id="p110004"></a>Элемент ПИМ: | <a id="p110005"></a>positive_length_measure |
| --- | --- |
| <a id="p110006"></a>Источник: | <a id="p110007"></a>ИСО 10303-43 |
| <a id="p110008"></a>Правила: | <a id="p110009"></a>[5.2.4.114](#p116755), [5.2.4.131](#p117417) |
| <a id="p110010"></a>Ссылочный путь: | <a id="p110011"></a>/PROD_DEF_TO_VAL_REP_ITEM ('principal characteristics', 'length between perpendiculars', positive_length_measure)/ |


<a id="p110012"></a>5.1.12.7.6 max_draught_at_ap


| <a id="p110013"></a>Элемент ПИМ: | <a id="p110014"></a>positive_length_measure |
| --- | --- |
| <a id="p110015"></a>Источник: | <a id="p110016"></a>ИСО 10303-43 |
| <a id="p110017"></a>Правила: | <a id="p110018"></a>[5.2.4.114](#p116755), [5.2.4.128](#p117301) |
| <a id="p110019"></a>Ссылочный путь: | <a id="p110020"></a>/PROD_DEF_TO_VAL_REP_ITEM('principal characteristics', 'max draught at ap', positive_length_measure)/ |


<a id="p110021"></a>5.1.12.7.7 max_draught_at_fp


| <a id="p110022"></a>Элемент ПИМ: | <a id="p110023"></a>positive_length_measure |
| --- | --- |
| <a id="p110024"></a>Источник: | <a id="p110025"></a>ИСО 10303-43 |
| <a id="p110026"></a>Правила: | <a id="p110027"></a>[5.2.4.114](#p116755), [5.2.4.128](#p117301) |
| <a id="p110028"></a>Ссылочный путь: | <a id="p110029"></a>/PROD_DEF_TO_VAL_REP_ITEM('principal characteristics', 'max draught at fp', positive_length_measure)/ |


<a id="p110030"></a>5.1.12.7.8 min_draught_at_ap


| <a id="p110031"></a>Элемент ПИМ: | <a id="p110032"></a>positive_length_measure |
| --- | --- |
| <a id="p110033"></a>Источник: | <a id="p110034"></a>ИСО 10303-43 |
| <a id="p110035"></a>Правила: | <a id="p110036"></a>[5.2.4.114](#p116755), [5.2.4.128](#p117301) |
| <a id="p110037"></a>Ссылочный путь: | <a id="p110038"></a>/PROD_DEF_TO_VAL_REP_ITEM('principal characteristics', 'min draught at ap', positive_length_measure)/ |


<a id="p110039"></a>5.1.12.7.9 min_draught_at_fp


| <a id="p110040"></a>Элемент ПИМ: | <a id="p110041"></a>positive_length_measure |
| --- | --- |
| <a id="p110042"></a>Источник: | <a id="p110043"></a>ИСО 10303-43 |
| <a id="p110044"></a>Правила: | <a id="p110045"></a>[5.2.4.114](#p116755), [5.2.4.128](#p117301) |
| <a id="p110046"></a>Ссылочный путь: | <a id="p110047"></a>/PROD_DEF_TO_VAL_REP_ITEM('principal characteristics', 'min draught at fp', positive_length_measure)/ |


<a id="p110048"></a>5.1.12.7.10 moulded_breadth


| <a id="p110049"></a>Элемент ПИМ: | <a id="p110050"></a>positive_length_measure |
| --- | --- |
| <a id="p110051"></a>Источник: | <a id="p110052"></a>ИСО 10303-43 |
| <a id="p110053"></a>Правила: | <a id="p110054"></a>[5.2.4.114](#p116755), [5.2.4.131](#p117417) |
| <a id="p110055"></a>Ссылочный путь: | <a id="p110056"></a>/PROD_DEF_TO_VAL_REP_ITEM('principal characteristics', 'moulded breadth', positive_length_measure)/ |


<a id="p110057"></a>5.1.12.7.11 moulded_depth


| <a id="p110058"></a>Элемент ПИМ: | <a id="p110059"></a>positive_length_measure |
| --- | --- |
| <a id="p110060"></a>Источник: | <a id="p110061"></a>ИСО 10303-43 |
| <a id="p110062"></a>Правила: | <a id="p110063"></a>[5.2.4.114](#p116755), [5.2.4.131](#p117417) |
| <a id="p110064"></a>Ссылочный путь: | <a id="p110065"></a>/PROD_DEF_TO_VAL_REP_ITEM('principal characteristics', 'moulded depth', positive_length_measure)/ |


<a id="p110066"></a>5.1.12.7.12 version_id
<a id="p110067"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110068"></a>Элемент ПИМ: | <a id="p110069"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110070"></a>Источник: | <a id="p110071"></a>ИСО 10303-41 |
| <a id="p110072"></a>Правила: | <a id="p110073"></a>[5.2.4.164](#p118524) |
| <a id="p110074"></a>Ссылочный путь: | <a id="p110075"></a>/VERSION_ID(product_definition)/ |


<a id="p110076"></a>5.1.12.7.13 principal_characteristics для ship (как defined_for)
<a id="p110077"></a>Примечание - Атрибут унаследован из супертипа General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p110078"></a>Элемент ПИМ: | <a id="p110079"></a>PATH |
| --- | --- |
| <a id="p110080"></a>Ссылочный путь: | <a id="p110081"></a><a id="p110082"></a>/PROD_DEF_PRODUCT/<br>{/CLASS_ID(product,'ship')/} |


<a id="p110083"></a>5.1.12.7.14 principal_characteristics для global_id (как id)
<a id="p110084"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110085"></a>Элемент ПИМ: | <a id="p110086"></a>PATH |
| --- | --- |
| <a id="p110087"></a>Источник: | <a id="p110088"></a>ИСО 10303-41 |
| <a id="p110089"></a>Правила: | <a id="p110090"></a>[5.2.4.45](#p114249), [5.2.4.70](#p115126) |
| <a id="p110091"></a>Ссылочный путь: | <a id="p110092"></a><a id="p110093"></a><a id="p110094"></a><a id="p110095"></a>product_definition<br>identification_item = product_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p110096"></a>5.1.12.7.15 principal_characteristics для derived_unit (как local_units)
<a id="p110097"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110098"></a>Элемент ПИМ: | <a id="p110099"></a>PATH |
| --- | --- |
| <a id="p110100"></a>Ссылочный путь: | <a id="p110101"></a><a id="p110102"></a><a id="p110103"></a><a id="p110104"></a>/PROD_DEF_TO_UNITS('local units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p110105"></a>5.1.12.7.16 principal_characteristics для named_unit (как local_units)
<a id="p110106"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110107"></a>Элемент ПИМ: | <a id="p110108"></a>PATH |
| --- | --- |
| <a id="p110109"></a>Ссылочный путь: | <a id="p110110"></a><a id="p110111"></a><a id="p110112"></a><a id="p110113"></a>/PROD_DEF_TO_UNITS('local units')/<br>unit<br>unit = named_unit<br>named_unit |



###### <a id="p110114"></a>5.1.12.8 Прикладной элемент REGULATION



| <a id="p110115"></a>Элемент ПИМ: | <a id="p110116"></a>property_definition |
| --- | --- |
| <a id="p110117"></a>Источник: | <a id="p110118"></a>ИСО 10303-41 |
| <a id="p110119"></a>Ссылочный путь: | <a id="p110120"></a>{/ROOT_CLASS(property_definition, 'regulation')/} |


<a id="p110121"></a>5.1.12.8.1 regulation для external_reference (как international_regulations)


|  | <a id="p110122"></a>#1: Если значением элемента international_regulations является External_reference |
| --- | --- |
| <a id="p110123"></a>Элемент ПИМ: | <a id="p110124"></a>PATH |
| <a id="p110125"></a>Ссылочный путь: | <a id="p110126"></a><a id="p110127"></a><a id="p110128"></a><a id="p110129"></a><a id="p110130"></a><a id="p110131"></a><a id="p110132"></a><a id="p110133"></a><a id="p110134"></a><a id="p110135"></a><a id="p110136"></a>property_definition<br>external_identification_item = property_definition<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment <=<br>external_identification_assignment <=<br>identification_assignment<br>identification_assignment.role -><br>identification_role<br>{[identification_role.name = 'external reference']<br>[identification_role.description = 'international regulations']} |
|  | <a id="p110137"></a>#2: Если значением элемента international_regulations является Document_reference_with_address |
| <a id="p110138"></a>Элемент ПИМ: | <a id="p110139"></a>PATH |
| <a id="p110140"></a>Ссылочный путь: | <a id="p110141"></a><a id="p110142"></a><a id="p110143"></a><a id="p110144"></a>property_definition<br>/DOC_REF(property_definition,'international regulations')/<br>document<br>{/CLASS_ID(document, 'document reference with address')/} |


<a id="p110145"></a>5.1.12.8.2 regulation для external_reference (как national_regulations)


|  | <a id="p110146"></a>#1: Если значением элемента national_regulations является External_reference |
| --- | --- |
| <a id="p110147"></a>Элемент ПИМ: | <a id="p110148"></a>PATH |
| <a id="p110149"></a>Ссылочный путь: | <a id="p110150"></a><a id="p110151"></a><a id="p110152"></a><a id="p110153"></a><a id="p110154"></a><a id="p110155"></a><a id="p110156"></a><a id="p110157"></a><a id="p110158"></a><a id="p110159"></a><a id="p110160"></a>property_definition<br>external_identification_item = property_definition<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment <=<br>external_identification_assignment <=<br>identification_assignment<br>identification_assignment.role -><br>identification_role<br>{[identification_role.name = 'external reference']<br>[identification_role.description = 'national regulations']} |
|  | <a id="p110161"></a>#2: Если значением элемента national_regulations является Document_reference_with_address |
| <a id="p110162"></a>Элемент ПИМ: | <a id="p110163"></a>PATH |
| <a id="p110164"></a>Ссылочный путь: | <a id="p110165"></a><a id="p110166"></a><a id="p110167"></a><a id="p110168"></a>property_definition<br>/DOC_REF(property_definition,'national regulations')/<br>document<br>{/CLASS_ID(document, 'document reference with address')/} |


<a id="p110169"></a>5.1.12.8.3 regulation для external_reference (как standards)


|  | <a id="p110170"></a>#1: Если значением элемента standards является External_reference |
| --- | --- |
| <a id="p110171"></a>Элемент ПИМ: | <a id="p110172"></a>PATH |
| <a id="p110173"></a>Ссылочный путь: | <a id="p110174"></a><a id="p110175"></a><a id="p110176"></a><a id="p110177"></a><a id="p110178"></a><a id="p110179"></a><a id="p110180"></a><a id="p110181"></a><a id="p110182"></a><a id="p110183"></a><a id="p110184"></a>property_definition<br>external_identification_item = property_definition<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment <=<br>external_identification_assignment <=<br>identification_assignment<br>identification_assignment.role -><br>identification_role<br>{[identification_role.name = 'external reference']<br>[identification_role.description = 'standards']} |
|  | <a id="p110185"></a>#2: Если значением элемента standards является Document_reference_with_address |
| <a id="p110186"></a>Элемент ПИМ: | <a id="p110187"></a>PATH |
| <a id="p110188"></a>Ссылочный путь: | <a id="p110189"></a><a id="p110190"></a><a id="p110191"></a><a id="p110192"></a>property_definition<br>/DOC_REF(property_definition,'standards')/<br>document<br>{/CLASS_ID(document, 'document reference with address')/} |



###### <a id="p110193"></a>5.1.12.9 Прикладной элемент RESEARCH_SHIP



| <a id="p110194"></a>Элемент ПИМ: | <a id="p110195"></a>product_related_product_category |
| --- | --- |
| <a id="p110196"></a>Источник: | <a id="p110197"></a>ИСО 10303-41 |
| <a id="p110198"></a>Ссылочный путь: | <a id="p110199"></a><a id="p110200"></a><a id="p110201"></a><a id="p110202"></a><a id="p110203"></a><a id="p110204"></a>{[/PROD_CAT_NAME('research ship')/]<br>[/CLASS(product_related_product_category,'research ship','Shiptype')/]<br>[/CLASS(product_related_product_category, 'Shiptype', 'functional definition')/]<br>[/CLASS(product_related_product_category,'functional definition', 'definition')/]<br>[/CLASS(product_related_product_category, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_related_product_category,'versionable object')/]} |


<a id="p110205"></a>5.1.12.9.1 description
<a id="p110206"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110207"></a>Элемент ПИМ: | <a id="p110208"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.1](#p110337)) |
| --- | --- |


<a id="p110209"></a>5.1.12.9.2 has_type


| <a id="p110210"></a>Элемент ПИМ: | <a id="p110211"></a>product_category.name |
| --- | --- |
| <a id="p110212"></a>Источник: | <a id="p110213"></a>ИСО 10303-41 |
| <a id="p110214"></a>Ссылочный путь: | <a id="p110215"></a><a id="p110216"></a><a id="p110217"></a><a id="p110218"></a><a id="p110219"></a><a id="p110220"></a><a id="p110221"></a>/PROD_CAT_NAME('research ship')/<br>product_category <-<br>product_category_relationship.category product_category_relationship<br>{product_category_relationship.name = 'research ship types'}<br>product_category_relationship.sub_category -><br>product_category<br>{product_category.name = 'user defined'} |


<a id="p110222"></a>5.1.12.9.3 user_def_function
<a id="p110223"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110224"></a>Элемент ПИМ: | <a id="p110225"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.2](#p110346)) |
| --- | --- |


<a id="p110226"></a>5.1.12.9.4 version_id
<a id="p110227"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110228"></a>Элемент ПИМ: | <a id="p110229"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.3](#p110362)) |
| --- | --- |


<a id="p110230"></a>5.1.12.9.5 research_ship для ship (как defined_for)
<a id="p110231"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110232"></a>Элемент ПИМ: | <a id="p110233"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.4](#p110372)) |
| --- | --- |


<a id="p110234"></a>5.1.12.9.6 research_ship для global_id (как id)
<a id="p110235"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110236"></a>Элемент ПИМ: | <a id="p110237"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.5](#p110380)) |
| --- | --- |



###### <a id="p110238"></a>5.1.12.10 Прикладной элемент SHIP_DESIGNATION



| <a id="p110239"></a>Элемент ПИМ: | <a id="p110240"></a>product_definition |
| --- | --- |
| <a id="p110241"></a>Источник: | <a id="p110242"></a>ИСО 10303-41 |
| <a id="p110243"></a>Ссылочный путь: | <a id="p110244"></a><a id="p110245"></a><a id="p110246"></a><a id="p110247"></a>{[/CLASS(product_definition, 'ship designation', 'general characteristics definition')/]<br>[/CLASS(product_definition, 'general characteristics definition', 'definition')/]<br>[/CLASS(product_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_definition,'versionable object')/]} |


<a id="p110248"></a>5.1.12.10.1 call_sign


| <a id="p110249"></a>Элемент ПИМ: | <a id="p110250"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110251"></a>Источник: | <a id="p110252"></a>ИСО 10303-41 |
| <a id="p110253"></a>Правила: | <a id="p110254"></a>[5.2.4.56](#p114610) |
| <a id="p110255"></a>Ссылочный путь: | <a id="p110256"></a>/HAS_ID_1_ROLE(product_definition, 'call sign')/ |


<a id="p110257"></a>5.1.12.10.2 description
<a id="p110258"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110259"></a>Элемент ПИМ: | <a id="p110260"></a>product_definition.description |
| --- | --- |
| <a id="p110261"></a>Источник: | <a id="p110262"></a>ИСО 10303-41 |


<a id="p110263"></a>5.1.12.10.3 flag_state


| <a id="p110264"></a>Элемент ПИМ: | <a id="p110265"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110266"></a>Источник: | <a id="p110267"></a>ИСО 10303-41 |
| <a id="p110268"></a>Правила: | <a id="p110269"></a>[5.2.4.58](#p114679) |
| <a id="p110270"></a>Ссылочный путь: | <a id="p110271"></a>/HAS_ID_1_ROLE(product_definition, 'flag state')/ |


<a id="p110272"></a>5.1.12.10.4 port_of_registration


| <a id="p110273"></a>Элемент ПИМ: | <a id="p110274"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110275"></a>Источник: | <a id="p110276"></a>ИСО 10303-41 |
| <a id="p110277"></a>Правила: | <a id="p110278"></a>[5.2.4.63](#p114864) |
| <a id="p110279"></a>Ссылочный путь: | <a id="p110280"></a>/HAS_ID_1_ROLE(product_definition, 'port of registration')/ |


<a id="p110281"></a>5.1.12.10.5 ship_identification


| <a id="p110282"></a>Элемент ПИМ: | <a id="p110283"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110284"></a>Источник: | <a id="p110285"></a>ИСО 10303-41 |
| <a id="p110286"></a>Правила: | <a id="p110287"></a>[5.2.4.138](#p117677) |
| <a id="p110288"></a>Ссылочный путь: | <a id="p110289"></a>/HAS_ID_2_ROLES(product_definition, 'IMO number', 'pennant hull number')/ |


<a id="p110290"></a>5.1.12.10.6 ship_name


| <a id="p110291"></a>Элемент ПИМ: | <a id="p110292"></a>product_definition.name |
| --- | --- |
| <a id="p110293"></a>Источник: | <a id="p110294"></a>ИСО 10303-41 |
| <a id="p110295"></a>Ссылочный путь: | <a id="p110296"></a>/NAME_ASSGN(product_definition)/ |


<a id="p110297"></a>5.1.12.10.7 version_id
<a id="p110298"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110299"></a>Элемент ПИМ: | <a id="p110300"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110301"></a>Источник: | <a id="p110302"></a>ИСО 10303-41 |
| <a id="p110303"></a>Правила: | <a id="p110304"></a>[5.2.4.164](#p118524) |
| <a id="p110305"></a>Ссылочный путь: | <a id="p110306"></a>/VERSION_ID(product_definition)/ |


<a id="p110307"></a>5.1.12.10.8 ship_designation для ship (как defined_for)
<a id="p110308"></a>Примечание - Атрибут унаследован из супертипа General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p110309"></a>Элемент ПИМ: | <a id="p110310"></a>PATH |
| --- | --- |
| <a id="p110311"></a>Ссылочный путь: | <a id="p110312"></a><a id="p110313"></a>/PROD_DEF_PRODUCT/<br>{/CLASS_ID(product,'ship')/} |


<a id="p110314"></a>5.1.12.10.9 ship_designation для global_id (как id)
<a id="p110315"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110316"></a>Элемент ПИМ: | <a id="p110317"></a>PATH |
| --- | --- |
| <a id="p110318"></a>Источник: | <a id="p110319"></a>ИСО 10303-41 |
| <a id="p110320"></a>Правила: | <a id="p110321"></a>[5.2.4.45](#p114249), [5.2.4.70](#p115126) |
| <a id="p110322"></a>Ссылочный путь: | <a id="p110323"></a><a id="p110324"></a><a id="p110325"></a><a id="p110326"></a>product_definition<br>identification_item= product_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |



###### <a id="p110327"></a>5.1.12.11 Прикладной элемент Shiptype



|  | <a id="p110328"></a><a id="p110329"></a><a id="p110330"></a><a id="p110331"></a>#1: Значением элемента Shiptype является carrier<br>#2: Значением элемента Shiptype является navy_ship<br>#3: Значением элемента Shiptype является research_ship<br>#4: Значением элемента Shiptype является working_ship |
| --- | --- |
| <a id="p110332"></a>Элемент ПИМ: | <a id="p110333"></a><a id="p110334"></a><a id="p110335"></a><a id="p110336"></a>#1: /SUBTYPE(carrier)/ (см. [5.1.12.1](#p109445))<br>#2: /SUBTYPE(navy_ship)/ (см. [5.1.12.5](#p109820))<br>#3: /SUBTYPE(research_ship)/ (см. [5.1.12.9](#p110193))<br>#4: /SUBTYPE(working_ship)/ (см. [5.1.12.13](#p110478)) |


<a id="p110337"></a>5.1.12.11.1 description


| <a id="p110338"></a>Элемент ПИМ: | <a id="p110339"></a>product_category.description |
| --- | --- |
| <a id="p110340"></a>Источник: | <a id="p110341"></a>ИСО 10303-41 |
| <a id="p110342"></a>Ссылочный путь: | <a id="p110343"></a><a id="p110344"></a><a id="p110345"></a>product_related_product_category <=<br>product_category<br>product_category.description |


<a id="p110346"></a>5.1.12.11.2 user_def_function
<a id="p110347"></a>Примечание - Атрибут унаследован из супертипа Function_definition (см. [5.1.4.3](#p105638)).


| <a id="p110348"></a>Элемент ПИМ: | <a id="p110349"></a>PATH |
| --- | --- |
| <a id="p110350"></a>Источник: | <a id="p110351"></a>ИСО 10303-41 |
| <a id="p110352"></a>Ссылочный путь: | <a id="p110353"></a><a id="p110354"></a><a id="p110355"></a><a id="p110356"></a><a id="p110357"></a><a id="p110358"></a><a id="p110359"></a><a id="p110360"></a><a id="p110361"></a>product_related_product_category <=<br>product_category<br>{product_category.name = 'user defined'}<br>product_category<-<br>product_category_relationship.category<br>product_category_relationship<br>product_category_relationship.sub_category -><br>product_category<br>product_category.name |


<a id="p110362"></a>5.1.12.11.3 version_id
<a id="p110363"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110364"></a>Элемент ПИМ: | <a id="p110365"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110366"></a>Источник: | <a id="p110367"></a>ИСО 10303-41 |
| <a id="p110368"></a>Правила: | <a id="p110369"></a>[5.2.4.164](#p118524) |
| <a id="p110370"></a>Ссылочный путь: | <a id="p110371"></a>/VERSION_ID(product_related_product_category)/ |



###### <a id="p110372"></a>5.1.12.11.4 Shiptype для ship (как defined_for)



| <a id="p110373"></a>Элемент ПИМ: | <a id="p110374"></a>PATH |
| --- | --- |
| <a id="p110375"></a>Ссылочный путь: | <a id="p110376"></a><a id="p110377"></a><a id="p110378"></a><a id="p110379"></a>product_related_product_category<br>product_related_product_category.products[i] -><br>product<br>{/CLASS_ID(product,'ship')/} |



###### <a id="p110380"></a>5.1.12.11.5 Shiptype для global_id (как id)

<a id="p110381"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110382"></a>Элемент ПИМ: | <a id="p110383"></a>PATH |
| --- | --- |
| <a id="p110384"></a>Правила: | <a id="p110385"></a>[5.2.4.45](#p114249), [5.2.4.72](#p115203) |
| <a id="p110386"></a>Ссылочный путь: | <a id="p110387"></a><a id="p110388"></a><a id="p110389"></a><a id="p110390"></a>product_related_product_category<br>identification_item = product_related_product_category <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |



###### <a id="p110391"></a>5.1.12.12 Прикладной элемент SHIPYARD_DESIGNATION



| <a id="p110392"></a>Элемент ПИМ: | <a id="p110393"></a>product_definition |
| --- | --- |
| <a id="p110394"></a>Источник: | <a id="p110395"></a>ИСО 10303-41 |
| <a id="p110396"></a>Ссылочный путь: | <a id="p110397"></a><a id="p110398"></a><a id="p110399"></a><a id="p110400"></a>{[/CLASS(product_definition, 'shipyard designation','general characteristics definition')/]<br>[/CLASS(product_definition, 'general characteristics definition', 'definition')/]<br>[/CLASS(product_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_definition, 'versionable object')/]} |


<a id="p110401"></a>5.1.12.12.1 description
<a id="p110402"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110403"></a>Элемент ПИМ: | <a id="p110404"></a>product_definition.description |
| --- | --- |
| <a id="p110405"></a>Источник: | <a id="p110406"></a>ИСО 10303-41 |


<a id="p110407"></a>5.1.12.12.2 role


| <a id="p110408"></a>Элемент ПИМ: | <a id="p110409"></a>organization_assignment.role |
| --- | --- |
| <a id="p110410"></a>Источник: | <a id="p110411"></a>ИСО 10303-41 |
| <a id="p110412"></a>Ссылочный путь: | <a id="p110413"></a><a id="p110414"></a><a id="p110415"></a><a id="p110416"></a><a id="p110417"></a><a id="p110418"></a><a id="p110419"></a>/ORG_ASSGN_PART(product_definition)/<br>{organization_assignment.role -> organization_role<br>{(organization_role.name = 'prime design')<br>(organization_role.name ='prime build')<br>(organization_role.name ='prime repair')<br>(organization_role.name ='prime')<br>(organization_role.name ='subcontractor')}} |


<a id="p110420"></a>5.1.12.12.3 shipyard


| <a id="p110421"></a>Элемент ПИМ: | <a id="p110422"></a>organization_assignment.assigned_organization |
| --- | --- |
| <a id="p110423"></a>Источник: | <a id="p110424"></a>ИСО 10303-41 |
| <a id="p110425"></a>Правила: | <a id="p110426"></a>[5.2.4.65](#p114933) |
| <a id="p110427"></a>Ссылочный путь: | <a id="p110428"></a>/ORG_ASSGN(product_definition,'shipyard')/ |


<a id="p110429"></a>5.1.12.12.4 shipyard_new_building_id


| <a id="p110430"></a>Элемент ПИМ: | <a id="p110431"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110432"></a>Источник: | <a id="p110433"></a>ИСО 10303-41 |
| <a id="p110434"></a>Ссылочный путь: | <a id="p110435"></a>/HAS_ID_1_ROLE(product_definition, 'shipyard new building id')/ |


<a id="p110436"></a>5.1.12.12.5 shipyard_project_name


| <a id="p110437"></a>Элемент ПИМ: | <a id="p110438"></a>organizational_project.name |
| --- | --- |
| <a id="p110439"></a>Источник: | <a id="p110440"></a>ИСО 10303-41 |
| <a id="p110441"></a>Ссылочный путь: | <a id="p110442"></a><a id="p110443"></a><a id="p110444"></a><a id="p110445"></a><a id="p110446"></a><a id="p110447"></a>/ORG_ASSGN(product_definition,'shipyard')/ <-<br>organizational_project.responsible_organizations[i]<br>organizational_project<br>{organizational_project.description = 'shipyard project name'}<br>organizational_project<br>organizational_project.name |


<a id="p110448"></a>5.1.12.12.6 version_id
<a id="p110449"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110450"></a>Элемент ПИМ: | <a id="p110451"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110452"></a>Источник: | <a id="p110453"></a>ИСО 10303-41 |
| <a id="p110454"></a>Правила: | <a id="p110455"></a>[5.2.4.164](#p118524) |
| <a id="p110456"></a>Ссылочный путь: | <a id="p110457"></a>/VERSION_ID(product_definition)/ |


<a id="p110458"></a>5.1.12.12.7 shipyard_designation для ship (как defined_for)
<a id="p110459"></a>Примечание - Атрибут унаследован из супертипа General_characteristics_definition (см. [5.1.4.4](#p105667)).


| <a id="p110460"></a>Элемент ПИМ: | <a id="p110461"></a>PATH |
| --- | --- |
| <a id="p110462"></a>Ссылочный путь: | <a id="p110463"></a><a id="p110464"></a>/PROD_DEF_PRODUCT/<br>{/CLASS_ID(product,'ship')/} |


<a id="p110465"></a>5.1.12.12.8 shipyard_designation для global_id (как id)
<a id="p110466"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110467"></a>Элемент ПИМ: | <a id="p110468"></a>PATH |
| --- | --- |
| <a id="p110469"></a>Источник: | <a id="p110470"></a>ИСО 10303-41 |
| <a id="p110471"></a>Правила: | <a id="p110472"></a>[5.2.4.45](#p114249), [5.2.4.70](#p115126) |
| <a id="p110473"></a>Ссылочный путь: | <a id="p110474"></a><a id="p110475"></a><a id="p110476"></a><a id="p110477"></a>product_definition<br>identification_item= product_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |



###### <a id="p110478"></a>5.1.12.13 Прикладной элемент WORKING_SHIP



| <a id="p110479"></a>Элемент ПИМ: | <a id="p110480"></a>product_related_product_category |
| --- | --- |
| <a id="p110481"></a>Источник: | <a id="p110482"></a>ИСО 10303-41 |
| <a id="p110483"></a>Ссылочный путь: | <a id="p110484"></a><a id="p110485"></a><a id="p110486"></a><a id="p110487"></a><a id="p110488"></a><a id="p110489"></a>{[/PROD_CAT_NAME('working ship')/]<br>[/CLASS(product_related_product_category,'working ship,'Shiptype')/]<br>[/CLASS(product_related_product_category, 'Shiptype', 'functional definition')/]<br>[/CLASS(product_related_product_category,'functional definition', 'definition')/]<br>[/CLASS(product_related_product_category,'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_related_product_category,'versionable object')/]} |


<a id="p110490"></a>5.1.12.13.1 description
<a id="p110491"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110492"></a>Элемент ПИМ: | <a id="p110493"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.1](#p110337)) |
| --- | --- |


<a id="p110494"></a>5.1.12.13.2 has_type


| <a id="p110495"></a>Элемент ПИМ: | <a id="p110496"></a>product_category.name |
| --- | --- |
| <a id="p110497"></a>Источник: | <a id="p110498"></a>ИСО 10303-41 |
| <a id="p110499"></a>Ссылочный путь: | <a id="p110500"></a><a id="p110501"></a><a id="p110502"></a><a id="p110503"></a><a id="p110504"></a><a id="p110505"></a><a id="p110506"></a><a id="p110507"></a><a id="p110508"></a><a id="p110509"></a><a id="p110510"></a><a id="p110511"></a><a id="p110512"></a><a id="p110513"></a><a id="p110514"></a><a id="p110515"></a><a id="p110516"></a><a id="p110517"></a><a id="p110518"></a><a id="p110519"></a><a id="p110520"></a><a id="p110521"></a><a id="p110522"></a><a id="p110523"></a><a id="p110524"></a><a id="p110525"></a><a id="p110526"></a><a id="p110527"></a><a id="p110528"></a><a id="p110529"></a><a id="p110530"></a><a id="p110531"></a>/PROD_CAT_NAME('working ship')/<br>product_category <-<br>product_category_relationship.category<br>product_category_relationship<br>{product_category_relationship.name = 'working ship types'}<br>product_category_relationship.sub_category -><br>product_category<br>{(product_category.name = 'Tug')<br>(product_category.name = 'Sealer')<br>(product_category.name = 'Fire fighter')<br>(product_category.name = 'Drilling vessel')<br>(product_category.name = 'Pipe laying vessel')<br>(product_category.name = 'Crane vessel')<br>(product_category.name = 'Dredger')<br>(product_category.name = 'Supply vessel')<br>(product_category.name = 'Ice breaker')<br>(product_category.name = 'Fishing vessel')<br>(product_category.name = 'Floating dock')<br>(product_category.name = 'Pilot boat')<br>(product_category.name = 'Floating hotel')<br>(product_category.name = 'Well stimulation vessel')<br>(product_category.name = 'Pusher')<br>(product_category.name = 'Stern trawler')<br>(product_category.name = 'Reefer')<br>(product_category.name = 'Offshore supply vessel')<br>(product_category.name = 'Oil production vessel')<br>(product_category.name = 'Oil storage vessel')<br>(product_category.name = 'Oil production and storage vessel')<br>(product_category.name = 'Shuttle tanker')<br>(product_category.name = 'FPSO')<br>(product_category.name = 'FPGO')<br>(product_category.name = 'user defined')} |


<a id="p110532"></a>5.1.12.13.3 user_def_function
<a id="p110533"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110534"></a>Элемент ПИМ: | <a id="p110535"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.2](#p110346)) |
| --- | --- |


<a id="p110536"></a>5.1.12.13.4 version_id
<a id="p110537"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110538"></a>Элемент ПИМ: | <a id="p110539"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.3](#p110362)) |
| --- | --- |


<a id="p110540"></a>5.1.12.13.5 working_ship для ship (как defined_for)
<a id="p110541"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110542"></a>Элемент ПИМ: | <a id="p110543"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.4](#p110372)) |
| --- | --- |


<a id="p110544"></a>5.1.12.13.6 working_ship для global_id (как id)
<a id="p110545"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p110546"></a>Элемент ПИМ: | <a id="p110547"></a>/SUPERTYPE(Shiptype)/ (см. [5.1.12.11.5](#p110380)) |
| --- | --- |



##### <a id="p110548"></a>5.1.13 Функциональная единица ship_measures


###### <a id="p110549"></a>5.1.13.1 Прикладной элемент CENTRE_LOCATION



| <a id="p110550"></a>Элемент ПИМ: | <a id="p110551"></a>compound_representation_item |
| --- | --- |
| <a id="p110552"></a>Источник: | <a id="p110553"></a>ИСО 10303-43 |
| <a id="p110554"></a>Правила: | <a id="p110555"></a>[5.2.4.114](#p116755), [5.2.4.25](#p113597) |
| <a id="p110556"></a>Ссылочный путь: | <a id="p110557"></a>/ROOT_CLASS(compound_representation_item, 'centre location')/ |


<a id="p110558"></a>5.1.13.1.1 longitudinal_location


| <a id="p110559"></a>Элемент ПИМ: | <a id="p110560"></a>length_measure |
| --- | --- |
| <a id="p110561"></a>Источник: | <a id="p110562"></a>ИСО 10303-43 |
| <a id="p110563"></a>Ссылочный путь: | <a id="p110564"></a><a id="p110565"></a><a id="p110566"></a><a id="p110567"></a><a id="p110568"></a><a id="p110569"></a><a id="p110570"></a><a id="p110571"></a><a id="p110572"></a>compound_representation_item<br>compound_representation_item. item_element -><br>compound_item_definition = list_representation_item<br>list_representation_item[ i] -><br>representation_item =><br>{representation_item. name = 'longitudinal location'}<br>value_representation_item<br>{value_representation_item. value_component -><br>measure_value = length_measure} |


<a id="p110573"></a>5.1.13.1.2 transversal_location


| <a id="p110574"></a>Элемент ПИМ: | <a id="p110575"></a>length_measure |
| --- | --- |
| <a id="p110576"></a>Источник: | <a id="p110577"></a>ИСО 10303-43 |
| <a id="p110578"></a>Ссылочный путь: | <a id="p110579"></a><a id="p110580"></a><a id="p110581"></a><a id="p110582"></a><a id="p110583"></a><a id="p110584"></a><a id="p110585"></a><a id="p110586"></a>compound_representation_item<br>compound_representation_item. item_element -><br>compound_item_definition = list_representation_item<br>list_representation_item[ i] -> representation_item =><br>{representation_item. name = 'transversal location'}<br>value_representation_item<br>{value_representation_item. value_component -><br>measure_value = length_measure} |


<a id="p110587"></a>5.1.13.1.3 vertical_location


| <a id="p110588"></a>Элемент ПИМ: | <a id="p110589"></a>length_measure |
| --- | --- |
| <a id="p110590"></a>Источник: | <a id="p110591"></a>ИСО 10303-43 |
| <a id="p110592"></a>Ссылочный путь: | <a id="p110593"></a><a id="p110594"></a><a id="p110595"></a><a id="p110596"></a><a id="p110597"></a><a id="p110598"></a><a id="p110599"></a><a id="p110600"></a><a id="p110601"></a>compound_representation_item<br>compound_representation_item. item_element -><br>compound_item_definition = list_representation_item<br>list_representation_item[ i] -><br>representation_item =><br>{representation_item. name = 'vertical location'}<br>value_representation_item<br>{value_representation_item. value_component -><br>measure_value = length_measure} |



###### <a id="p110602"></a>5.1.13.2 Прикладной элемент DERIVED_UNIT

<a id="p110603"></a>Примечание - Дополнительное описание использования параметров и единиц приведено в [L.7](#p127322).


| <a id="p110604"></a>Элемент ПИМ: | <a id="p110605"></a>derived_unit |
| --- | --- |
| <a id="p110606"></a>Источник: | <a id="p110607"></a>ИСО 10303-41 |
| <a id="p110608"></a>Ссылочный путь: | <a id="p110609"></a><a id="p110610"></a><a id="p110611"></a><a id="p110612"></a><a id="p110613"></a><a id="p110614"></a><a id="p110615"></a><a id="p110616"></a><a id="p110617"></a><a id="p110618"></a><a id="p110619"></a><a id="p110620"></a><a id="p110621"></a><a id="p110622"></a><a id="p110623"></a><a id="p110624"></a><a id="p110625"></a><a id="p110626"></a><a id="p110627"></a><a id="p110628"></a><a id="p110629"></a><a id="p110630"></a><a id="p110631"></a><a id="p110632"></a><a id="p110633"></a><a id="p110634"></a><a id="p110635"></a><a id="p110636"></a><a id="p110637"></a><a id="p110638"></a><a id="p110639"></a><a id="p110640"></a><a id="p110641"></a><a id="p110642"></a>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit, 'airflow volume unit')/}<br>derived_unit.elements[i] -><br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 3]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([time_unit] [si_unit])<br>([time_unit] [conversion_based_unit])<br>([time_unit] [context_dependent_unit])]<br>([time_unit][context_dependent_unit])]<br>[derived_unit_element.exponent = -1]}])<br>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit, 'area unit')/}<br>derived_unit.elements[i] -><br>derived_unit_element<br>derived_unit_element.unit -><br>[([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 2]<br>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit, 'volume unit')/}<br>derived_unit.elements[i] -><br>derived_unit_element<br>derived_unit_element.unit -><br>[([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 3] |
|  | <a id="p110643"></a><a id="p110644"></a><a id="p110645"></a><a id="p110646"></a><a id="p110647"></a><a id="p110648"></a><a id="p110649"></a><a id="p110650"></a><a id="p110651"></a><a id="p110652"></a><a id="p110653"></a><a id="p110654"></a><a id="p110655"></a><a id="p110656"></a><a id="p110657"></a><a id="p110658"></a><a id="p110659"></a><a id="p110660"></a><a id="p110661"></a><a id="p110662"></a><a id="p110663"></a><a id="p110664"></a><a id="p110665"></a><a id="p110666"></a><a id="p110667"></a><a id="p110668"></a><a id="p110669"></a><a id="p110670"></a><a id="p110671"></a><a id="p110672"></a><a id="p110673"></a><a id="p110674"></a><a id="p110675"></a><a id="p110676"></a><a id="p110677"></a>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit,<br>'coefficient of thermal expansion unit')/}<br>derived_unit.elements[i] -><br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 1]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([length_unit] [si unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -1]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([thermodynamic_temperature_unit] [si_unit])<br>([thermodynamic_temperature_unit] [conversion_based_unit])<br>([thermodynamic_temperature_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -1]}])<br>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit, 'coefficient of vicosity unit')/}<br>derived_unit.elements[i] -><br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([mass_unit] [si_unit])<br>([mass_unit] [conversion_based_unit])<br>([mass_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 1]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit]) |
|  | <a id="p110678"></a><a id="p110679"></a><a id="p110680"></a><a id="p110681"></a><a id="p110682"></a><a id="p110683"></a><a id="p110684"></a><a id="p110685"></a><a id="p110686"></a><a id="p110687"></a><a id="p110688"></a><a id="p110689"></a><a id="p110690"></a><a id="p110691"></a><a id="p110692"></a><a id="p110693"></a><a id="p110694"></a><a id="p110695"></a><a id="p110696"></a><a id="p110697"></a><a id="p110698"></a><a id="p110699"></a><a id="p110700"></a><a id="p110701"></a><a id="p110702"></a><a id="p110703"></a><a id="p110704"></a><a id="p110705"></a><a id="p110706"></a><a id="p110707"></a><a id="p110708"></a><a id="p110709"></a><a id="p110710"></a><a id="p110711"></a>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -1]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([time_unit] [si_unit])<br>([time_unit] [conversion_based_unit])<br>([time_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -1]}])<br>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit, 'specific heat capacity unit')/}<br>derived_unit.elements[i] -><br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 2]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([time_unit] [si_unit])<br>([time_unit] [conversion_based_unit])<br>([time_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -2]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([thermodynamic_temperature_unit] [si_unit])<br>([thermodynamic_temperature_unit] [conversion_based_unit])<br>([thermodynamic_temperature_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -1]}])<br>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit, 'thermal conductivity unit')/}<br>derived_unit.elements[i] -><br>[derived_unit_element<br>{[derived_unit_element.unit -> |
|  | <a id="p110712"></a><a id="p110713"></a><a id="p110714"></a><a id="p110715"></a><a id="p110716"></a><a id="p110717"></a><a id="p110718"></a><a id="p110719"></a><a id="p110720"></a><a id="p110721"></a><a id="p110722"></a><a id="p110723"></a><a id="p110724"></a><a id="p110725"></a><a id="p110726"></a><a id="p110727"></a><a id="p110728"></a><a id="p110729"></a><a id="p110730"></a><a id="p110731"></a><a id="p110732"></a><a id="p110733"></a><a id="p110734"></a><a id="p110735"></a><a id="p110736"></a><a id="p110737"></a><a id="p110738"></a><a id="p110739"></a><a id="p110740"></a><a id="p110741"></a><a id="p110742"></a><a id="p110743"></a><a id="p110744"></a><a id="p110745"></a><a id="p110746"></a>([mass_unit] [si_unit])<br>([mass_unit] [conversion_based_unit])<br>([mass_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 1]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 1]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([time_unit] [si_unit])<br>([time_unit] [conversion_based_unit])<br>([time_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -3]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([thermodynamic_temperature_unit] [si_unit])<br>([thermodynamic_temperature_unit] [conversion_based_unit])<br>([thermodynamic_temperature_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -1]}])<br>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit, 'inertia moment unit')/}<br>derived_unit.elements[i] -><br>derived_unit_element<br>{[derived_unit_element.unit -><br>([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 4]})<br>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit, 'moment unit')/}<br>derived_unit.elements[i] -><br>[derived_unit_element |
|  | <a id="p110747"></a><a id="p110748"></a><a id="p110749"></a><a id="p110750"></a><a id="p110751"></a><a id="p110752"></a><a id="p110753"></a><a id="p110754"></a><a id="p110755"></a><a id="p110756"></a><a id="p110757"></a><a id="p110758"></a><a id="p110759"></a><a id="p110760"></a><a id="p110761"></a><a id="p110762"></a><a id="p110763"></a><a id="p110764"></a><a id="p110765"></a><a id="p110766"></a><a id="p110767"></a><a id="p110768"></a><a id="p110769"></a><a id="p110770"></a><a id="p110771"></a><a id="p110772"></a><a id="p110773"></a><a id="p110774"></a><a id="p110775"></a><a id="p110776"></a>{[derived_unit_element.unit -><br>([mass_unit] [si_unit])<br>([mass_unit] [conversion_based_unit])<br>([mass_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 1]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 2]}]<br>[derived_unit_element<br>{[derived_unit_element.unit -><br>([time_unit] [si_unit])<br>([time_unit] [conversion_based_unit])<br>([time_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -2]}])<br>(derived_unit<br>{/NAME_ASSGN_WITH_VAL(derived_unit, 'speed unit')/}<br>derived_unit.elements[i] -><br>[derived_unit_element {[derived_unit_element.unit -><br>([length_unit] [si_unit])<br>([length_unit] [conversion_based_unit])<br>([length_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = 1]}]<br>[derived_unit_element {[derived_unit_element.unit -><br>([time_unit] [si_unit])<br>([time_unit] [conversion_based_unit])<br>([time_unit] [context_dependent_unit])]<br>[derived_unit_element.exponent = -1]}]) |



###### <a id="p110777"></a>5.1.13.3 Прикладной элемент NAMED_UNIT

<a id="p110778"></a>Примечание - Дополнительное описание использования параметров и единиц приведено в [L.7](#p127322).


| <a id="p110779"></a>Элемент ПИМ: | <a id="p110780"></a>named_unit |
| --- | --- |
| <a id="p110781"></a>Источник: | <a id="p110782"></a>ИСО 10303-41 |
| <a id="p110783"></a>Ссылочный путь: | <a id="p110784"></a><a id="p110785"></a><a id="p110786"></a><a id="p110787"></a><a id="p110788"></a><a id="p110789"></a><a id="p110790"></a><a id="p110791"></a><a id="p110792"></a><a id="p110793"></a>named_unit =><br>[(si_unit)<br>(conversion_based_unit)<br>(context_dependent_unit)]<br>[(length_unit)<br>(luminous_intensity_unit)<br>(mass_unit)<br>(plane_angle_unit)<br>(ratio_unit)<br>(thermodynamic_temperature_unit)] |



###### <a id="p110794"></a>5.1.13.4 Прикладной элемент PRECISION



| <a id="p110795"></a>Элемент ПИМ: | <a id="p110796"></a>uncertainty_measure_with_unit |
| --- | --- |
| <a id="p110797"></a>Источник: | <a id="p110798"></a>ИСО 10303-43 |


<a id="p110799"></a>5.1.13.4.1 minimum_point_spacing


| <a id="p110800"></a>Элемент ПИМ: | <a id="p110801"></a>measure_with_unit.value_component |
| --- | --- |
| <a id="p110802"></a>Источник: | <a id="p110803"></a>ИСО 10303-43 |
| <a id="p110804"></a>Ссылочный путь: | <a id="p110805"></a><a id="p110806"></a><a id="p110807"></a><a id="p110808"></a><a id="p110809"></a><a id="p110810"></a><a id="p110811"></a><a id="p110812"></a><a id="p110813"></a><a id="p110814"></a><a id="p110815"></a><a id="p110816"></a><a id="p110817"></a>uncertainty_measure_with_unit<br>{uncertainty_measure_with_unit.name = 'distance_accuracy_value'}<br>uncertainty_measure_with_unit <=<br>measure_with_unit<br>{[measure_with_unit.unit_component -><br>unit<br>unit = named_unit<br>named_unit =><br>([length_unit][si_unit])<br>([length_unit][conversion_based_unit])<br>([length_unit][context_dependent_unit])]<br>[measure_with_unit.value_component ><br>measure_value = positive_length_measure]} |



##### <a id="p110818"></a>5.1.14 Функциональная единица ship_moulded_form


###### <a id="p110819"></a>5.1.14.1 Прикладной элемент MOULDED_FORM



| <a id="p110820"></a>Элемент ПИМ: | <a id="p110821"></a>product_definition |
| --- | --- |
| <a id="p110822"></a>Источник: | <a id="p110823"></a>ИСО 10303-41 |
| <a id="p110824"></a>Ссылочный путь: | <a id="p110825"></a><a id="p110826"></a><a id="p110827"></a>{[/CLASS(product_definition, 'moulded form', 'item')/]<br>[/CLASS(product_definition, 'item', 'definable object')/]<br>[/ROOT_CLASS(product_definition, 'definable object')/]} |


<a id="p110828"></a>5.1.14.1.1 description
<a id="p110829"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p110830"></a>Элемент ПИМ: | <a id="p110831"></a>product_definition.description |
| --- | --- |
| <a id="p110832"></a>Источник: | <a id="p110833"></a>ИСО 10303-41 |


<a id="p110834"></a>5.1.14.1.2 name
<a id="p110835"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p110836"></a>Элемент ПИМ: | <a id="p110837"></a>product_definition.name |
| --- | --- |
| <a id="p110838"></a>Источник: | <a id="p110839"></a>ИСО 10303-41 |
| <a id="p110840"></a>Ссылочный путь: | <a id="p110841"></a>/NAME_ASSGN(product_definition)/ |


<a id="p110842"></a>5.1.14.1.3 moulded_form для external_reference (как documentation)
<a id="p110843"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


|  | <a id="p110844"></a>#1: Если "как documentation" относится к External_reference |
| --- | --- |
| <a id="p110845"></a>Элемент ПИМ: | <a id="p110846"></a>PATH |
| <a id="p110847"></a>Ссылочный путь: | <a id="p110848"></a><a id="p110849"></a><a id="p110850"></a><a id="p110851"></a><a id="p110852"></a>product_definition<br>product_definition = external_identification_item<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment |
|  | <a id="p110853"></a>#2: Если "как documentation" относится к Document_reference_with_address |
| <a id="p110854"></a>Элемент ПИМ: | <a id="p110855"></a>PATH |
| <a id="p110856"></a>Ссылочный путь: | <a id="p110857"></a><a id="p110858"></a><a id="p110859"></a><a id="p110860"></a>product_definition<br>/DOC_REF(product_definition,'documentation')/<br>document<br>{/CLASS_ID(document, 'document reference with address')/} |


<a id="p110861"></a>5.1.14.1.4 moulded_form для global_id (как id)
<a id="p110862"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)) или Item_structure (см. [5.1.8.5](#p106769)).


| <a id="p110863"></a>Элемент ПИМ: | <a id="p110864"></a>PATH |
| --- | --- |
| <a id="p110865"></a>Правила: | <a id="p110866"></a>[5.2.4.45](#p114249), [5.2.4.70](#p115126) |
| <a id="p110867"></a>Ссылочный путь: | <a id="p110868"></a><a id="p110869"></a><a id="p110870"></a><a id="p110871"></a>product_definition<br>identification_item = product_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p110872"></a>5.1.14.1.5 moulded_form для ship (как ship_context)
<a id="p110873"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p110874"></a>Элемент ПИМ: | <a id="p110875"></a>PATH |
| --- | --- |
| <a id="p110876"></a>Ссылочный путь: | <a id="p110877"></a><a id="p110878"></a><a id="p110879"></a><a id="p110880"></a><a id="p110881"></a><a id="p110882"></a><a id="p110883"></a>product_definition<br>product_definition.formation-><br>product_definition_formation<br>{product_definition_formation.id= 'moulded form'}<br>product_definition_formation.of_product -><br>product<br>{/CLASS_ID(product, 'ship')/} |



###### <a id="p110884"></a>5.1.14.2 Прикладной элемент MOULDED_FORM_BOUNDARY_RELATIONSHIP



| <a id="p110885"></a>Элемент ПИМ: | <a id="p110886"></a>product_definition_relationship |
| --- | --- |
| <a id="p110887"></a>Источник: | <a id="p110888"></a>ИСО 10303-41 |
| <a id="p110889"></a>Ссылочный путь: | <a id="p110890"></a><a id="p110891"></a><a id="p110892"></a><a id="p110893"></a><a id="p110894"></a><a id="p110895"></a>{[/CLASS(product_definition_relationship, 'moulded form boundary relationship', 'moulded form relationship')/]<br>[/CLASS(product_definition_relationship, 'moulded form relationship', 'item relationship')/]<br>[/CLASS(product_definition_relationship, 'item relationship', 'definable object')/]<br>[/ROOT_CLASS(product_definition_relationship, 'definable object')/]<br>[/CLASS(product_definition_relationship, 'item relationship', 'versionable object')/]<br>[/ROOT_CLASS(product_definition_relationship, 'versionable object')/]} |


<a id="p110896"></a>5.1.14.2.1 description
<a id="p110897"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_relationship (см. [5.1.14.5](#p111287)).


| <a id="p110898"></a>Элемент ПИМ: | <a id="p110899"></a>product_definition_relationship.description |
| --- | --- |
| <a id="p110900"></a>Источник: | <a id="p110901"></a>ИСО 10303-41 |


<a id="p110902"></a>5.1.14.2.2 version_id
<a id="p110903"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_relationship (см. [5.1.14.5](#p111287)).


| <a id="p110904"></a>Элемент ПИМ: | <a id="p110905"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110906"></a>Источник: | <a id="p110907"></a>ИСО 10303-41 |
| <a id="p110908"></a>Правила: | <a id="p110909"></a>[5.2.4.164](#p118524) |
| <a id="p110910"></a>Ссылочный путь: | <a id="p110911"></a>/VERSION_ID(product_definition_relationship)/ |


<a id="p110912"></a>5.1.14.2.3 moulded_form_boundary_relationship для external_instance_reference (как external_item_1)
<a id="p110913"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_relationship (см. [5.1.14.5](#p111287)).


| <a id="p110914"></a>Элемент ПИМ: | <a id="p110915"></a>PATH |
| --- | --- |
| <a id="p110916"></a>Источник: | <a id="p110917"></a>ИСО 10303-41 |
| <a id="p110918"></a>Ссылочный путь: | <a id="p110919"></a><a id="p110920"></a><a id="p110921"></a><a id="p110922"></a><a id="p110923"></a>product_definition_relationship<br>{product_definition_relationship.relating_product_definition -><br>product_definition<br>[/CLASS_ID(product_definition, 'moulded form')/]<br>[/EXT_INST_REF(product_definition, 'ship moulded form schema', 'moulded form')/]} |


<a id="p110924"></a>5.1.14.2.4 moulded_form_boundary_relationship для external_instance_reference (как external_item_2)
<a id="p110925"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_relationship (см. [5.1.14.5](#p111287)).


| <a id="p110926"></a>Элемент ПИМ: | <a id="p110927"></a>PATH |
| --- | --- |
| <a id="p110928"></a>Источник: | <a id="p110929"></a>ИСО 10303-41 |
| <a id="p110930"></a>Ссылочный путь: | <a id="p110931"></a><a id="p110932"></a><a id="p110933"></a><a id="p110934"></a><a id="p110935"></a>product_definition_relationship<br>{product_definition_relationship. related_product_definition -><br>product_definition<br>[/CLASS_ID(product_definition, 'moulded form')/]<br>[/EXT_INST_REF(product_definition, 'ship moulded form schema', 'moulded form')/]} |


<a id="p110936"></a>5.1.14.2.5 moulded_form_boundary_relationship для global_id (как id)
<a id="p110937"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_relationship (см. [5.1.14.5](#p111287)).


| <a id="p110938"></a>Элемент ПИМ: | <a id="p110939"></a>PATH |
| --- | --- |
| <a id="p110940"></a>Правила: | <a id="p110941"></a>[5.2.4.45](#p114249), [5.2.4.69](#p115089) |
| <a id="p110942"></a>Ссылочный путь: | <a id="p110943"></a><a id="p110944"></a><a id="p110945"></a><a id="p110946"></a>product_definition_relationship<br>identification_item = product_definition_relationship <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p110947"></a>5.1.14.2.6 moulded_form_boundary_relationship для moulded_form (как item_1)
<a id="p110948"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_relationship (см. [5.1.14.5](#p111287)).


| <a id="p110949"></a>Элемент ПИМ: | <a id="p110950"></a>PATH |
| --- | --- |
| <a id="p110951"></a>Правила: | <a id="p110952"></a>[5.2.4.68](#p115042) |
| <a id="p110953"></a>Ссылочный путь: | <a id="p110954"></a><a id="p110955"></a><a id="p110956"></a><a id="p110957"></a>product_definition_relationship<br>product_definition_relationship.relating_product_definition -><br>product_definition<br>{/CLASS_ID(product_definition, 'moulded form')/} |


<a id="p110958"></a>5.1.14.2.7 moulded_form_boundary_relationship для moulded_form (как item_2)
<a id="p110959"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_relationship (см. [5.1.14.5](#p111287)).


| <a id="p110960"></a>Элемент ПИМ: | <a id="p110961"></a>PATH |
| --- | --- |
| <a id="p110962"></a>Правила: | <a id="p110963"></a>[5.2.4.68](#p115042) |
| <a id="p110964"></a>Ссылочный путь: | <a id="p110965"></a><a id="p110966"></a><a id="p110967"></a><a id="p110968"></a>product_definition_relationship<br>product_definition_relationship.related_product_definition -><br>product_definition<br>{/CLASS_ID(product_definition, 'moulded form')/} |



###### <a id="p110969"></a>5.1.14.3 Прикладной элемент MOULDED_FORM_DESIGN_DEFINITION



| <a id="p110970"></a>Элемент ПИМ: | <a id="p110971"></a>product_definition_shape |
| --- | --- |
| <a id="p110972"></a>Источник: | <a id="p110973"></a>ИСО 10303-41 |
| <a id="p110974"></a>Ссылочный путь: | <a id="p110975"></a><a id="p110976"></a><a id="p110977"></a><a id="p110978"></a>{[/CLASS(product_definition_shape, 'moulded form design definition', 'design definition')/]<br>[/CLASS(product_definition_shape, 'design definition', 'definition')/]<br>[/CLASS(product_definition_shape, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(product_definition_shape, 'versionable object')/]} |


<a id="p110979"></a>5.1.14.3.1 description
<a id="p110980"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110981"></a>Элемент ПИМ: | <a id="p110982"></a>property_definition.description |
| --- | --- |
| <a id="p110983"></a>Источник: | <a id="p110984"></a>ИСО 10303-41 |


<a id="p110985"></a>5.1.14.3.2 version_id
<a id="p110986"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)).


| <a id="p110987"></a>Элемент ПИМ: | <a id="p110988"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p110989"></a>Источник: | <a id="p110990"></a>ИСО 10303-41 |
| <a id="p110991"></a>Правила: | <a id="p110992"></a>[5.2.4.164](#p118524) |
| <a id="p110993"></a>Ссылочный путь: | <a id="p110994"></a>/VERSION_ID(product_definition_shape)/ |


<a id="p110995"></a>5.1.14.3.3 moulded_form_design_definition для moulded_form_boundary_relationship (как borders)


| <a id="p110996"></a>Элемент ПИМ: | <a id="p110997"></a>PATH |
| --- | --- |
| <a id="p110998"></a>Ссылочный путь: | <a id="p110999"></a><a id="p111000"></a><a id="p111001"></a><a id="p111002"></a><a id="p111003"></a><a id="p111004"></a><a id="p111005"></a><a id="p111006"></a><a id="p111007"></a>product_definition_shape =><br>property_definition<br>property_definition.definitions-><br>characterized_definition = characterized_product_definition<br>characterized_product_definition = product_definition<br>product_definition <-<br>product_definition_relationship.relating_product_definition<br>product_definition_relationship<br>{/CLASS_ID(product_definition_relationship, 'moulded form boundary relationship')/} |


<a id="p111008"></a>5.1.14.3.4 moulded_form_design_definition для plane (как borders)


| <a id="p111009"></a>Элемент ПИМ: | <a id="p111010"></a>PATH |
| --- | --- |
| <a id="p111011"></a>Ссылочный путь: | <a id="p111012"></a><a id="p111013"></a><a id="p111014"></a><a id="p111015"></a><a id="p111016"></a><a id="p111017"></a><a id="p111018"></a><a id="p111019"></a><a id="p111020"></a><a id="p111021"></a><a id="p111022"></a><a id="p111023"></a>product_definition_shape <-<br>shape_aspect.of_shape<br>shape_aspect<br>{shape_aspect.name = 'border'}<br>shape_aspect = represented_definition <-<br>/PDR_NAME('border representation')/ -><br>representation<br>representation.items[i] -><br>representation_item =><br>{representation_item.name = '.UNUSED.'}<br>geometric_representation_item =><br>plane |


<a id="p111024"></a>5.1.14.3.5 moulded_form_design_definition для ship_curve (как borders)


| <a id="p111025"></a>Элемент ПИМ: | <a id="p111026"></a>PATH |
| --- | --- |
| <a id="p111027"></a>Ссылочный путь: | <a id="p111028"></a><a id="p111029"></a><a id="p111030"></a><a id="p111031"></a><a id="p111032"></a><a id="p111033"></a><a id="p111034"></a><a id="p111035"></a><a id="p111036"></a><a id="p111037"></a>product_definition_shape <-<br>shape_aspect.of_shape<br>shape_aspect<br>{shape_aspect.name = 'border'}<br>shape_aspect = represented_definition <-<br>/PDR_NAME('border representation')/ -><br>representation<br>representation.items[i] -><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'ship curve')/} |


<a id="p111038"></a>5.1.14.3.6 moulded_form_design_definition для spacing_position (как borders)


| <a id="p111039"></a>Элемент ПИМ: | <a id="p111040"></a>PATH |
| --- | --- |
| <a id="p111041"></a>Ссылочный путь: | <a id="p111042"></a><a id="p111043"></a><a id="p111044"></a><a id="p111045"></a><a id="p111046"></a><a id="p111047"></a><a id="p111048"></a><a id="p111049"></a><a id="p111050"></a><a id="p111051"></a>product_definition_shape <-<br>shape_aspect.of_shape<br>shape_aspect<br>{shape_aspect.name = 'border'}<br>shape_aspect = represented_definition <-<br>/PDR_NAME('border representation')/ -><br>representation<br>representation.items[i] -><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'spacing position')/} |


<a id="p111052"></a>5.1.14.3.7 moulded_form_design_definition для moulded_form (как defined_for)
<a id="p111053"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p111054"></a>Элемент ПИМ: | <a id="p111055"></a>PATH |
| --- | --- |
| <a id="p111056"></a>Ссылочный путь: | <a id="p111057"></a><a id="p111058"></a><a id="p111059"></a>product_definition_shape <=<br>/PROP_TO_PROD_DEF/<br>{/CLASS_ID(product_definition, 'moulded form')/} |


<a id="p111060"></a>5.1.14.3.8 moulded_form_design_definition для global_id (как id)
<a id="p111061"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p111062"></a>Элемент ПИМ: | <a id="p111063"></a>PATH |
| --- | --- |
| <a id="p111064"></a>Правила: | <a id="p111065"></a>[5.2.4.45](#p114249), [5.2.4.70](#p115126) |
| <a id="p111066"></a>Ссылочный путь: | <a id="p111067"></a><a id="p111068"></a><a id="p111069"></a><a id="p111070"></a>product_definition_shape<br>identification_item = product_definition_shape <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p111071"></a>5.1.14.3.9 moulded_form_design_definition для derived_unit (как local_units)
<a id="p111072"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p111073"></a>Элемент ПИМ: | <a id="p111074"></a>PATH |
| --- | --- |
| <a id="p111075"></a>Ссылочный путь: | <a id="p111076"></a><a id="p111077"></a><a id="p111078"></a><a id="p111079"></a><a id="p111080"></a><a id="p111081"></a>product_definition_shape <=<br>property_definition<br>/PROP_DEF_TO_UNITS('local units')/<br>unit<br>unit = derived_unit<br>derived_unit |


<a id="p111082"></a>5.1.14.3.10 moulded_form_design_definition для named_unit (как local_units)
<a id="p111083"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p111084"></a>Элемент ПИМ: | <a id="p111085"></a>PATH |
| --- | --- |
| <a id="p111086"></a>Ссылочный путь: | <a id="p111087"></a><a id="p111088"></a><a id="p111089"></a><a id="p111090"></a><a id="p111091"></a><a id="p111092"></a>product_definition_shape <=<br>property_definition<br>/PROP_DEF_TO_UNITS('local units')/<br>unit<br>unit = named_unit<br>named_unit |


<a id="p111093"></a>5.1.14.3.11 moulded_form_design_definition для edge_based_wireframe_shape (как moulded_surface)


| <a id="p111094"></a>Элемент ПИМ: | <a id="p111095"></a>PATH |
| --- | --- |
| <a id="p111096"></a>Ссылочный путь: | <a id="p111097"></a><a id="p111098"></a><a id="p111099"></a><a id="p111100"></a><a id="p111101"></a><a id="p111102"></a><a id="p111103"></a><a id="p111104"></a><a id="p111105"></a>product_definition_shape <-<br>shape_aspect.of_shape<br>shape_aspect<br>{shape_aspect.name = 'moulded surface'}<br>shape_aspect = represented_definition <-<br>/PDR_NAME('surface representation')/ -><br>representation=><br>shape_representation =><br>edge_based_wireframe_shape_representation |


<a id="p111106"></a>5.1.14.3.12 moulded_form_design_definition для moulded_form_shape_representation (как moulded_surface)


| <a id="p111107"></a>Элемент ПИМ: | <a id="p111108"></a>PATH |
| --- | --- |
| <a id="p111109"></a>Ссылочный путь: | <a id="p111110"></a><a id="p111111"></a><a id="p111112"></a><a id="p111113"></a><a id="p111114"></a><a id="p111115"></a><a id="p111116"></a><a id="p111117"></a><a id="p111118"></a>product_definition_shape <-<br>shape_aspect.of_shape<br>shape_aspect<br>{shape_aspect.name = 'moulded surface'}<br>shape_aspect = represented_definition <-<br>/PDR_NAME('surface representation')/ -><br>representation =><br>shape_representation<br>{/CLASS_ID(shape_representation, 'moulded form shape representation')/} |


<a id="p111119"></a>5.1.14.3.13 moulded_form_design_definition для non_manifold_surface_shape (как moulded_surface)


| <a id="p111120"></a>Элемент ПИМ: | <a id="p111121"></a>PATH |
| --- | --- |
| <a id="p111122"></a>Ссылочный путь: | <a id="p111123"></a><a id="p111124"></a><a id="p111125"></a><a id="p111126"></a><a id="p111127"></a><a id="p111128"></a><a id="p111129"></a><a id="p111130"></a><a id="p111131"></a>product_definition_shape <-<br>shape_aspect.of_shape<br>shape_aspect<br>{shape_aspect.name = 'moulded surface'}<br>shape_aspect = represented_definition <-<br>/PDR_NAME('surface representation')/ -><br>representation =><br>shape_representation =><br>non_manifold_surface_shape_representation |


<a id="p111132"></a>5.1.14.3.14 moulded_form_design_definition для ship_surface (как moulded_surface)


| <a id="p111133"></a>Элемент ПИМ: | <a id="p111134"></a>PATH |
| --- | --- |
| <a id="p111135"></a>Ссылочный путь: | <a id="p111136"></a><a id="p111137"></a><a id="p111138"></a><a id="p111139"></a><a id="p111140"></a><a id="p111141"></a><a id="p111142"></a><a id="p111143"></a><a id="p111144"></a><a id="p111145"></a>product_definition_shape <-<br>shape_aspect.of_shape<br>shape_aspect<br>{shape_aspect.name = 'moulded surface'}<br>shape_aspect = represented_definition <-<br>/PDR_NAME('surface representation')/ -><br>representation<br>representation.items[i] -><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, ship_surface)/} |


<a id="p111146"></a>5.1.14.3.15 moulded_form_design_definition для edge_based_wireframe_shape (как representations)
<a id="p111147"></a>Примечание - Атрибут унаследован из супертипа Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p111148"></a>Элемент ПИМ: | <a id="p111149"></a>PATH |
| --- | --- |
| <a id="p111150"></a>Ссылочный путь: | <a id="p111151"></a><a id="p111152"></a><a id="p111153"></a><a id="p111154"></a><a id="p111155"></a><a id="p111156"></a><a id="p111157"></a>product_definition_shape <=<br>property_definition <- represented_definition <-<br>/SDR_NAME('moulded form design representation')/<br>property_definition_representation.used_representation -><br>representation =><br>shape_representation =><br>edge_based_wireframe_shape_representation |


<a id="p111158"></a>5.1.14.3.16 moulded_form_design_definition для non_manifold_surface_shape (как representations)
<a id="p111159"></a>Примечание - Атрибут унаследован из супертипа Design_definition (см. [5.1.4.2](#p105590)).


| <a id="p111160"></a>Элемент ПИМ: | <a id="p111161"></a>PATH |
| --- | --- |
| <a id="p111162"></a>Ссылочный путь: | <a id="p111163"></a><a id="p111164"></a><a id="p111165"></a><a id="p111166"></a><a id="p111167"></a><a id="p111168"></a><a id="p111169"></a><a id="p111170"></a>product_definition_shape <=<br>property_definition <-<br>represented_definition <-<br>/SDR_NAME('moulded form design representation')/<br>property_definition_representation.used_representation -><br>representation =><br>shape_representation =><br>non_manifold_surface_shape_representation |


<a id="p111171"></a>5.1.14.3.17 status


| <a id="p111172"></a>Элемент ПИМ: | <a id="p111173"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p111174"></a>Источник: | <a id="p111175"></a>ИСО 10303-45 |
| <a id="p111176"></a>Правила: | <a id="p111177"></a>[5.2.4.120](#p116987) |
| <a id="p111178"></a>Ссылочный путь: | <a id="p111179"></a><a id="p111180"></a><a id="p111181"></a><a id="p111182"></a><a id="p111183"></a><a id="p111184"></a><a id="p111185"></a><a id="p111186"></a><a id="p111187"></a>product_definition_shape <=<br>/PROP_DEF_REP_HELP('moulded form design parameters')/<br>representation<br>representation.items [i] -><br>representation_item =><br>{representation_item.name = 'status'}<br>descriptive_representation_item<br>{(descriptive_representation_item.description = 'partial')<br>(descriptive_representation_item.description = 'complete')} |



###### <a id="p111188"></a>5.1.14.4 Прикладной элемент MOULDED_FORM_FUNCTIONAL_DEFINITION



| <a id="p111189"></a>Элемент ПИМ: | <a id="p111190"></a>property_definition |
| --- | --- |
| <a id="p111191"></a>Источник: | <a id="p111192"></a>ИСО 10303-41 |
| <a id="p111193"></a>Правила: | <a id="p111194"></a>[5.2.4.84](#p115626) |
| <a id="p111195"></a>Ссылочный путь: | <a id="p111196"></a><a id="p111197"></a><a id="p111198"></a><a id="p111199"></a>{[/CLASS(property_definition, 'moulded form functional definition', 'functional definition')/]<br>[/CLASS(property_definition, 'functional definition', 'definition')/]<br>[/CLASS(property_definition, 'definition', 'versionable object')/]<br>[/ROOT_CLASS(property_definition, 'versionable object')/]} |


<a id="p111200"></a>5.1.14.4.1 description
<a id="p111201"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через супертип Functional_definition (см. [5.1.4.3](#p105638)), который наследуется из супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p111202"></a>Элемент ПИМ: | <a id="p111203"></a>property_definition.description |
| --- | --- |
| <a id="p111204"></a>Источник: | <a id="p111205"></a>ИСО 10303-41 |


<a id="p111206"></a>5.1.14.4.2 the_function


| <a id="p111207"></a>Элемент ПИМ: | <a id="p111208"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p111209"></a>Источник: | <a id="p111210"></a>ИСО 10303-45 |
| <a id="p111211"></a>Правила: | <a id="p111212"></a>[5.2.4.152](#p118181), [5.2.4.103](#p116345) |
| <a id="p111213"></a>Ссылочный путь: | <a id="p111214"></a><a id="p111215"></a><a id="p111216"></a><a id="p111217"></a><a id="p111218"></a><a id="p111219"></a><a id="p111220"></a><a id="p111221"></a><a id="p111222"></a><a id="p111223"></a><a id="p111224"></a><a id="p111225"></a><a id="p111226"></a><a id="p111227"></a><a id="p111228"></a><a id="p111229"></a><a id="p111230"></a><a id="p111231"></a><a id="p111232"></a><a id="p111233"></a><a id="p111234"></a><a id="p111235"></a><a id="p111236"></a><a id="p111237"></a><a id="p111238"></a><a id="p111239"></a><a id="p111240"></a><a id="p111241"></a>/PROP_DEF_REP_HELP('moulded form function parameters')/<br>representation<br>representation.items [i] -><br>representation_item =><br>{representation_item.name = 'function'}<br>descriptive_representation_item<br>{(descriptive_representation_item.description = 'ship hull')<br>(descriptive_representation_item.description = 'propeller')<br>(descriptive_representation_item.description = 'rudder')<br>(descriptive_representation_item.description = 'bulbous bow')<br>(descriptive_representation_item.description = 'bulbous stern')<br>(descriptive_representation_item.description = 'appendage')<br>(descriptive_representation_item.description = 'thruster')<br>(descriptive_representation_item.description = 'keel')<br>(descriptive_representation_item.description = 'transom')<br>(descriptive_representation_item.description = 'double bottom')<br>(descriptive_representation_item.description = 'double ship hull')<br>(descriptive_representation_item.description = 'deck')<br>(descriptive_representation_item.description = 'superstructure')<br>(descriptive_representation_item.description = 'horizontal girder')<br>(descriptive_representation_item.description = 'longitudinal girder')<br>(descriptive_representation_item.description = 'longitudinal bulkhead')<br>(descriptive_representation_item.description = 'transverse bulkhead')<br>(descriptive_representation_item.description = 'frame')<br>(descriptive_representation_item.description = 'pressure hull')<br>(descriptive_representation_item.description = 'non-structural bulkhead')<br>(descriptive_representation_item.description = 'grating')<br>(descriptive_representation_item.description = 'user defined')} |


<a id="p111242"></a>5.1.14.4.3 user_def_function
<a id="p111243"></a>Примечание - Атрибут унаследован из супертипа Functional_definition (см. [5.1.4.3](#p105638)).


| <a id="p111244"></a>Элемент ПИМ: | <a id="p111245"></a>descriptive_representation_item.description |
| --- | --- |
| <a id="p111246"></a>Источник: | <a id="p111247"></a>ИСО 10303-41 |
| <a id="p111248"></a>Правила: | <a id="p111249"></a>[5.2.4.121](#p117025) |
| <a id="p111250"></a>Ссылочный путь: | <a id="p111251"></a><a id="p111252"></a><a id="p111253"></a><a id="p111254"></a><a id="p111255"></a><a id="p111256"></a><a id="p111257"></a>/PROP_DEF_REP_HELP('moulded form function parameters')/<br>representation<br>representation.items [i] -><br>representation_item =><br>{representation_item.name = 'user def function'}<br>descriptive_representation_item<br>descriptive_representation_item.description |


<a id="p111258"></a>5.1.14.4.4 version_id
<a id="p111259"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через супертип Functional_definition (см. [5.1.4.3](#p105638)), который наследуется от супертипа Definition (см. [5.1.4.1](#p105522)).


| <a id="p111260"></a>Элемент ПИМ: | <a id="p111261"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p111262"></a>Источник: | <a id="p111263"></a>ИСО 10303-41 |
| <a id="p111264"></a>Правила: | <a id="p111265"></a>[5.2.4.164](#p118524) |
| <a id="p111266"></a>Ссылочный путь: | <a id="p111267"></a>/VERSION_ID(property_definition)/ |


<a id="p111268"></a>5.1.14.4.5 moulded_form_functional_definition для moulded_form (как defined_for)
<a id="p111269"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Functional_definition (см. [5.1.4.3](#p105638)).


| <a id="p111270"></a>Элемент ПИМ: | <a id="p111271"></a>PATH |
| --- | --- |
| <a id="p111272"></a>Ссылочный путь: | <a id="p111273"></a><a id="p111274"></a>/PROP_TO_PROD_DEF/<br>{/CLASS_ID(product_definition, 'moulded form')/} |


<a id="p111275"></a>5.1.14.4.6 moulded_form_functional_definition для global_id (как id)
<a id="p111276"></a>Примечание - Атрибут унаследован из супертипа Definition (см. [5.1.4.1](#p105522)) через супертип Functional_definition (см. [5.1.4.3](#p105638)).


| <a id="p111277"></a>Элемент ПИМ: | <a id="p111278"></a>PATH |
| --- | --- |
| <a id="p111279"></a>Правила: | <a id="p111280"></a>[5.2.4.45](#p114249), [5.2.4.89](#p115801) |
| <a id="p111281"></a>Ссылочный путь: | <a id="p111282"></a><a id="p111283"></a><a id="p111284"></a><a id="p111285"></a><a id="p111286"></a>property_definition<br>identification_item = product_definition <-<br>property_definition<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |



###### <a id="p111287"></a>5.1.14.5 Прикладной элемент MOULDED_FORM_RELATIONSHIP



| <a id="p111288"></a>Элемент ПИМ: | <a id="p111289"></a>product_definition_relationship |
| --- | --- |
| <a id="p111290"></a>Источник: | <a id="p111291"></a>ИСО 10303-41 |
| <a id="p111292"></a>Правила: | <a id="p111293"></a>[5.2.4.67](#p115019) |
| <a id="p111294"></a>Ссылочный путь: | <a id="p111295"></a><a id="p111296"></a><a id="p111297"></a><a id="p111298"></a><a id="p111299"></a>{[/CLASS(product_definition_relationship, 'moulded form relationship', 'item relationship')/]<br>[/CLASS(product_definition_relationship, 'item relationship', 'definable object')/]<br>[/ROOT_CLASS(product_definition_relationship, 'definable object')/]<br>[/CLASS(product_definition_relationship, 'item relationship', 'versionable object')/]<br>[/ROOT_CLASS(product_definition_relationship, 'versionable object')/]} |


<a id="p111300"></a>5.1.14.5.1 description
<a id="p111301"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через Item_relationship (см. [5.1.8.4](#p106743)).


| <a id="p111302"></a>Элемент ПИМ: | <a id="p111303"></a>product_definition_relationship.description |
| --- | --- |
| <a id="p111304"></a>Источник: | <a id="p111305"></a>ИСО 10303-41 |


<a id="p111306"></a>5.1.14.5.2 version_id
<a id="p111307"></a>Примечание - Атрибут унаследован из супертипа Item_relationship (см. [5.1.8.4](#p106743)).


| <a id="p111308"></a>Элемент ПИМ: | <a id="p111309"></a>applied_identification_assignment.assigned_id |
| --- | --- |
| <a id="p111310"></a>Источник: | <a id="p111311"></a>ИСО 10303-41 |
| <a id="p111312"></a>Правила: | <a id="p111313"></a>[5.2.4.164](#p118524) |
| <a id="p111314"></a>Ссылочный путь: | <a id="p111315"></a>/VERSION_ID(product_definition_relationship)/ |


<a id="p111316"></a>5.1.14.5.3 moulded_form_relationship для external_instance_reference (как external_item_1)
<a id="p111317"></a>Примечание - Атрибут унаследован из супертипа Item_relationship (см. [5.1.8.4](#p106743)).


| <a id="p111318"></a>Элемент ПИМ: | <a id="p111319"></a>PATH |
| --- | --- |
| <a id="p111320"></a>Ссылочный путь: | <a id="p111321"></a><a id="p111322"></a><a id="p111323"></a><a id="p111324"></a><a id="p111325"></a>product_definition_relationship<br>{product_definition_relationship.relating_product_definition -><br>product_definition<br>[/CLASS_ID(product_definition, 'moulded form')/]<br>[/EXT_INST_REF(product_definition, 'ship moulded form schema', 'moulded form')/]} |


<a id="p111326"></a>5.1.14.5.4 moulded_form_relationship для external_instance_reference (как external_item_2)
<a id="p111327"></a>Примечание - Атрибут унаследован из супертипа Item_relationship (см. [5.1.8.4](#p106743)).


| <a id="p111328"></a>Элемент ПИМ: | <a id="p111329"></a>PATH |
| --- | --- |
| <a id="p111330"></a>Ссылочный путь: | <a id="p111331"></a><a id="p111332"></a><a id="p111333"></a><a id="p111334"></a><a id="p111335"></a>product_definition_relationship<br>{product_definition_relationship.related_product_definition -><br>product_definition<br>[/CLASS_ID(product_definition, 'moulded form')/]<br>[/EXT_INST_REF(product_definition, 'ship moulded form schema', 'moulded form')/]} |


<a id="p111336"></a>5.1.14.5.5 moulded_form_relationship для global_id (как id)
<a id="p111337"></a>Примечание - Атрибут унаследован из супертипа Item_relationship (см. [5.1.8.4](#p106743)).


| <a id="p111338"></a>Элемент ПИМ: | <a id="p111339"></a>PATH |
| --- | --- |
| <a id="p111340"></a>Правила: | <a id="p111341"></a>[5.2.4.45](#p114249), [5.2.4.69](#p115089) |
| <a id="p111342"></a>Ссылочный путь: | <a id="p111343"></a><a id="p111344"></a><a id="p111345"></a><a id="p111346"></a>product_definition_relationship<br>identification_item = product_definition_relationship <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p111347"></a>5.1.14.5.6 moulded_form_relationship для moulded_form (как item_1)
<a id="p111348"></a>Примечание - Атрибут унаследован из супертипа Item_relationship (см. [5.1.8.4](#p106743)).


| <a id="p111349"></a>Элемент ПИМ: | <a id="p111350"></a>PATH |
| --- | --- |
| <a id="p111351"></a>Правила: | <a id="p111352"></a>[5.2.4.68](#p115042) |
| <a id="p111353"></a>Ссылочный путь: | <a id="p111354"></a><a id="p111355"></a><a id="p111356"></a><a id="p111357"></a>product_definition_relationship<br>product_definition_relationship.relating_product_definition -><br>product_definition<br>{/CLASS_ID(product_definition, 'moulded form')/} |


<a id="p111358"></a>5.1.14.5.7 moulded_form_relationship для moulded_form (как item_2)
<a id="p111359"></a>Примечание - Атрибут унаследован из супертипа Item_relationship (см. [5.1.8.4](#p106743)).


| <a id="p111360"></a>Элемент ПИМ: | <a id="p111361"></a>PATH |
| --- | --- |
| <a id="p111362"></a>Правила: | <a id="p111363"></a>[5.2.4.68](#p115042) |
| <a id="p111364"></a>Ссылочный путь: | <a id="p111365"></a><a id="p111366"></a><a id="p111367"></a><a id="p111368"></a>product_definition_relationship<br>product_definition_relationship.related_product_definition -><br>product_definition<br>{/CLASS_ID(product_definition, 'moulded form')/} |



###### <a id="p111369"></a>5.1.14.6 Прикладной элемент MOULDED_FORM_REPRESENTATION_ITEM



|  | <a id="p111370"></a><a id="p111371"></a><a id="p111372"></a>#1: значением элемента moulded form representation item является ship_curve<br>#2: значением элемента moulded form representation item является ship_point<br>#3: значением элемента moulded form representation item является ship_surface |
| --- | --- |
| <a id="p111373"></a>Элемент ПИМ: | <a id="p111374"></a><a id="p111375"></a><a id="p111376"></a>#1: /SUBTYPE(ship_curve)/ (см. [5.1.2.1](#p104154))<br>#2: /SUBTYPE(ship_point)/ (см. [5.1.2.3](#p104241))<br>#3: /SUBTYPE(ship_surface)/ (см. [5.1.2.4](#p104269)) |



###### <a id="p111377"></a>5.1.14.7 Прикладной элемент MOULDED_FORM_REPRESENTATION_RELATIONSHIP



| <a id="p111378"></a>Элемент ПИМ: | <a id="p111379"></a>representation_relationship |
| --- | --- |
| <a id="p111380"></a>Источник: | <a id="p111381"></a>ИСО 10303-43 |
| <a id="p111382"></a>Ссылочный путь: | <a id="p111383"></a><a id="p111384"></a>/ROOT_CLASS(representation_relationship,<br>'moulded form representation relationship')/ |


<a id="p111385"></a>5.1.14.7.1 description


| <a id="p111386"></a>Элемент ПИМ: | <a id="p111387"></a>representation_relationship.description |
| --- | --- |
| <a id="p111388"></a>Источник: | <a id="p111389"></a>ИСО 10303-43 |


<a id="p111390"></a>5.1.14.7.2 id


| <a id="p111391"></a>Элемент ПИМ: | <a id="p111392"></a>representation_relationship.name |
| --- | --- |
| <a id="p111393"></a>Источник: | <a id="p111394"></a>ИСО 10303-43 |


<a id="p111395"></a>5.1.14.7.3 moulded_form_representation_relationship для moulded_form_representation (как rep_1)


| <a id="p111396"></a>Элемент ПИМ: | <a id="p111397"></a>PATH |
| --- | --- |
| <a id="p111398"></a>Ссылочный путь: | <a id="p111399"></a><a id="p111400"></a><a id="p111401"></a><a id="p111402"></a><a id="p111403"></a>representation_relationship<br>representation_relationship.rep_1 -><br>representation =><br>shape_representation<br>{CLASS_ID<shape_representation, 'moulded form shape representation'> |


<a id="p111404"></a>5.1.14.7.4 moulded_form_representation_relationship для moulded_form_representation (как rep_2)


| <a id="p111405"></a>Элемент ПИМ: | <a id="p111406"></a>PATH |
| --- | --- |
| <a id="p111407"></a>Ссылочный путь: | <a id="p111408"></a><a id="p111409"></a><a id="p111410"></a><a id="p111411"></a><a id="p111412"></a>representation_relationship<br>representation_relationship.rep_2 -><br>representation =><br>shape_representation<br>{CLASS_ID<shape_representation, 'moulded form shape representation'> |



###### <a id="p111413"></a>5.1.14.8 Прикладной элемент MOULDED_FORM_SHAPE_REPRESENTATION



|  | <a id="p111414"></a><a id="p111415"></a><a id="p111416"></a>#1: Значением элемента Moulded_form_shape_representation является Offset_table_shape_representation<br>#2: Значением элемента Moulded_form_shape_representation является Surface_shape_representation<br>#3: Значением элемента Moulded_form_shape_representation является Wireframe_shape_representation |
| --- | --- |
| <a id="p111417"></a>Элемент ПИМ: |  |
|  | <a id="p111418"></a><a id="p111419"></a><a id="p111420"></a>#1: /SUBTYPE(Offset_table_shape_representation)/ (см. [5.1.10.2](#p107974))<br>#2: /SUBTYPE(Surface_shape_representation)/ (см. [5.1.15.2](#p111648))<br>#3: /SUBTYPE(Wireframe_shape_representation)/ (см. [5.1.16.4](#p111743)) |


<a id="p111421"></a>5.1.14.8.1 moulded_form_representation_id


| <a id="p111422"></a>Элемент ПИМ: | <a id="p111423"></a>representation.id |
| --- | --- |
| <a id="p111424"></a>Источник: | <a id="p111425"></a>ИСО 10303-43 |
| <a id="p111426"></a>Ссылочный путь: | <a id="p111427"></a>/ID_ASSGN(representation)/ |


<a id="p111428"></a>5.1.14.8.2 moulded_form_shape_representation для symmetry (как moulded_form_symmetry)


| <a id="p111429"></a>Элемент ПИМ: | <a id="p111430"></a>PATH |
| --- | --- |
| <a id="p111431"></a>Ссылочный путь: | <a id="p111432"></a><a id="p111433"></a><a id="p111434"></a><a id="p111435"></a><a id="p111436"></a><a id="p111437"></a><a id="p111438"></a><a id="p111439"></a><a id="p111440"></a><a id="p111441"></a><a id="p111442"></a><a id="p111443"></a><a id="p111444"></a>shape_representation <=<br>representation<br>representation.items[i] -><br>representation_item =><br>({representation_item.name = 'rotational axis'}<br>geometric_representation_item =><br>placement =><br>axis1_placement)<br>({representation_item.name = 'symmetry plane'}<br>geometric_representation_item =><br>surface =><br>elementary_surface =><br>plane) |



###### <a id="p111445"></a>5.1.14.9 Прикладной элемент PLANAR_SYMMETRY



| <a id="p111446"></a>Элемент ПИМ: | <a id="p111447"></a>plane |
| --- | --- |
| <a id="p111448"></a>Источник: | <a id="p111449"></a>ИСО 10303-42 |


<a id="p111450"></a>5.1.14.9.1 planar_symmetry для plane (как the_symmetry_plane)


| <a id="p111451"></a>Элемент ПИМ: | <a id="p111452"></a>IDENTICAL MAPPING |
| --- | --- |



###### <a id="p111453"></a>5.1.14.10 Прикладной элемент ROTATIONAL_SYMMETRY



| <a id="p111454"></a>Элемент ПИМ: | <a id="p111455"></a>axis1_placement |
| --- | --- |
| <a id="p111456"></a>Источник: | <a id="p111457"></a>ИСО 10303-42 |


<a id="p111458"></a>5.1.14.10.1 rotational_symmetry для axis1_placement (как the_rotational_axis)


| <a id="p111459"></a>Элемент ПИМ: | <a id="p111460"></a>IDENTICAL MAPPING |
| --- | --- |



###### <a id="p111461"></a>5.1.14.11 Прикладной элемент SHIP_MOULDED_FORM



| <a id="p111462"></a>Элемент ПИМ: | <a id="p111463"></a><a id="p111464"></a>[product_definition]<br>[group] |
| --- | --- |
| <a id="p111465"></a>Источник: | <a id="p111466"></a>ИСО 10303-41, ИСО 10303-41 |
| <a id="p111467"></a>Ссылочный путь: | <a id="p111468"></a><a id="p111469"></a><a id="p111470"></a><a id="p111471"></a><a id="p111472"></a><a id="p111473"></a><a id="p111474"></a><a id="p111475"></a><a id="p111476"></a>{[/CLASS(product_definition, 'ship moulded form', 'item structure')/]<br>[/CLASS(product_definition, 'item structure ', 'definable object')/]<br>[/CLASS(product_definition, 'item structure', 'versionable object')/]<br>[/CLASS(product_definition, 'ship moulded form', 'item')/]<br>[/CLASS(product_definition, 'item','definable object')/]<br>[/ROOT_CLASS(product_definition, 'definable object')/]<br>[/ROOT_CLASS(product_definition, 'versionable object')/]<br>[product_definition<br>/LINK_TO_GROUP(product_definition)/]} |


<a id="p111477"></a>5.1.14.11.1 description
<a id="p111478"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p111479"></a>Элемент ПИМ: | <a id="p111480"></a>product_definition.description |
| --- | --- |
| <a id="p111481"></a>Источник: | <a id="p111482"></a>ИСО 10303-41 |


<a id="p111483"></a>5.1.14.11.2 name
<a id="p111484"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p111485"></a>Элемент ПИМ: | <a id="p111486"></a>product_definition.name |
| --- | --- |
| <a id="p111487"></a>Источник: | <a id="p111488"></a>ИСО 10303-41 |
| <a id="p111489"></a>Ссылочный путь: | <a id="p111490"></a>/NAME_ASSGN(product_definition)/ |


<a id="p111491"></a>5.1.14.11.3 version_id
<a id="p111492"></a>Примечание - Атрибут унаследован из супертипа Item_structure (см. [5.1.8.5](#p106769)).


| <a id="p111493"></a>Элемент ПИМ: | <a id="p111494"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p111495"></a>Источник: | <a id="p111496"></a>ИСО 10303-41 |
| <a id="p111497"></a>Правила: | <a id="p111498"></a>[5.2.4.164](#p118524) |
| <a id="p111499"></a>Ссылочный путь: | <a id="p111500"></a>/VERSION_ID(group)/ |


<a id="p111501"></a>5.1.14.11.4 ship_moulded_form для external_reference (как documentation)
<a id="p111502"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


|  | <a id="p111503"></a>#1: Если "как documentation" относится к External_reference |
| --- | --- |
| <a id="p111504"></a>Элемент ПИМ: | <a id="p111505"></a>PATH |
| <a id="p111506"></a>Ссылочный путь: | <a id="p111507"></a><a id="p111508"></a><a id="p111509"></a><a id="p111510"></a><a id="p111511"></a>product definition<br>product_definition = external_identification_item<br>external_identification_item <-<br>applied_external_identification_assignment.items[i]<br>applied_external_identification_assignment |
|  | <a id="p111512"></a>#2: Если "как documentation" относится к Document_reference_with_address |
| <a id="p111513"></a>Элемент ПИМ: | <a id="p111514"></a>PATH |
| <a id="p111515"></a>Ссылочный путь: | <a id="p111516"></a><a id="p111517"></a><a id="p111518"></a><a id="p111519"></a>product_definition<br>/DOC_REF(product_definition,'documentation')/<br>document<br>{/CLASS_ID(document, 'document reference with address')/} |


<a id="p111520"></a>5.1.14.11.5 ship_moulded_form для external_instance_reference (как external_items)
<a id="p111521"></a>Примечание - Атрибут унаследован из супертипа Item_structure (см. [5.1.8.5](#p106769)).


| <a id="p111522"></a>Элемент ПИМ: | <a id="p111523"></a>PATH |
| --- | --- |
| <a id="p111524"></a>Ссылочный путь: | <a id="p111525"></a><a id="p111526"></a><a id="p111527"></a><a id="p111528"></a>group <-<br>/GROUPS(product_definition, 'item structure')/<br>([/CLASS_ID(product_definition, 'moulded form')/]<br>[/EXT_INST_REF(product_definition, 'ship moulded form schema','moulded form')/]) |


<a id="p111529"></a>5.1.14.11.6 ship_moulded_form для external_instance_reference (как external_relationships)
<a id="p111530"></a>Примечание - Атрибут унаследован из супертипа Item_structure (см. [5.1.8.5](#p106769)).


| <a id="p111531"></a>Элемент ПИМ: | <a id="p111532"></a>PATH |
| --- | --- |
| <a id="p111533"></a>Ссылочный путь: | <a id="p111534"></a><a id="p111535"></a><a id="p111536"></a><a id="p111537"></a>group <-<br>/GROUPS(product_definition_relationship, 'item structure')/<br>([/CLASS_ID(product_definition_relationship, 'moulded form relationship')/]<br>[/EXT_INST_REF(product_definition_relationship, 'ship moulded form schema', 'moulded form relationship')/]) |


<a id="p111538"></a>5.1.14.11.7 ship_moulded_form для global_id (как id)
<a id="p111539"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)) или Item_structure (см. [5.1.8.5](#p106769)).


| <a id="p111540"></a>Элемент ПИМ: | <a id="p111541"></a>PATH |
| --- | --- |
| <a id="p111542"></a>Правила: | <a id="p111543"></a>[5.2.4.45](#p114249), [5.2.4.70](#p115126) |
| <a id="p111544"></a>Ссылочный путь: | <a id="p111545"></a><a id="p111546"></a><a id="p111547"></a><a id="p111548"></a>product_definition<br>identification_item = product_definition <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |


<a id="p111549"></a>5.1.14.11.8 ship_moulded_form для moulded_form (как items)
<a id="p111550"></a>Примечание - Атрибут унаследован из супертипа Item_structure (см. [5.1.8.5](#p106769)).


| <a id="p111551"></a>Элемент ПИМ: | <a id="p111552"></a>PATH |
| --- | --- |
| <a id="p111553"></a>Правила: | <a id="p111554"></a>[5.2.4.153](#p118237) |
| <a id="p111555"></a>Ссылочный путь: | <a id="p111556"></a><a id="p111557"></a><a id="p111558"></a>group <-<br>/GROUPS(product_definition, 'item structure')/<br>{/CLASS_ID(product_definition, 'moulded form')/} |


<a id="p111559"></a>5.1.14.11.9 ship_moulded_form для moulded_form_relationship (как relationships)
<a id="p111560"></a>Примечание - Атрибут унаследован из супертипа Item_structure (см. [5.1.8.5](#p106769)).


| <a id="p111561"></a>Элемент ПИМ: | <a id="p111562"></a>PATH |
| --- | --- |
| <a id="p111563"></a>Правила: | <a id="p111564"></a>[5.2.4.153](#p118237) |
| <a id="p111565"></a>Ссылочный путь: | <a id="p111566"></a><a id="p111567"></a><a id="p111568"></a>group <-<br>/GROUPS(product_definition_relationship, 'item structure')/<br>{/CLASS_ID(product_definition_relationship, 'moulded form relationship')/} |


<a id="p111569"></a>5.1.14.11.10 ship_moulded_form для ship (как ship_context)
<a id="p111570"></a>Примечание - Атрибут унаследован из супертипа Item (см. [5.1.8.3](#p106703)).


| <a id="p111571"></a>Элемент ПИМ: | <a id="p111572"></a>PATH |
| --- | --- |
| <a id="p111573"></a>Ссылочный путь: | <a id="p111574"></a><a id="p111575"></a><a id="p111576"></a><a id="p111577"></a><a id="p111578"></a><a id="p111579"></a><a id="p111580"></a>product_definition<br>product_definition.formation-><br>product_definition_formation<br>{product_definition_formation.id = 'ship moulded form'}<br>product_definition_formation.of_product -><br>product<br>{/CLASS_ID(product, 'ship')/} |



###### <a id="p111581"></a>5.1.14.12 Прикладной элемент SHIP_MOULDED_FORM_REVISION



| <a id="p111582"></a>Элемент ПИМ: | <a id="p111583"></a>group |
| --- | --- |
| <a id="p111584"></a>Источник: | <a id="p111585"></a>ИСО 10303-41 |
| <a id="p111586"></a>Ссылочный путь: | <a id="p111587"></a><a id="p111588"></a><a id="p111589"></a><a id="p111590"></a>{[/CLASS(group,'ship moulded form revision', 'revision with context')/]<br>[/CLASS(group, 'revision with context', 'revision')/]<br>[/CLASS(group, 'revision', 'versionable_object')/]<br>[/ROOT_CLASS(group, 'versionable_object')/]} |


<a id="p111591"></a>5.1.14.12.1 description
<a id="p111592"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через супертип Revision (см. [5.1.3.14](#p105166)), который наследуется из супертипа Revision (см. [5.1.3.13](#p105120)).


| <a id="p111593"></a>Элемент ПИМ: | <a id="p111594"></a>group.description |
| --- | --- |
| <a id="p111595"></a>Источник: | <a id="p111596"></a>ИСО 10303-41 |
| <a id="p111597"></a>Правила: | <a id="p111598"></a>[5.2.4.139](#p117709) |


<a id="p111599"></a>5.1.14.12.2 name
<a id="p111600"></a>Примечание - Атрибут унаследован из супертипа Revision (см. [5.1.3.14](#p105166)), который наследуется из супертипа Revision (см. [5.1.3.13](#p105120)).


| <a id="p111601"></a>Элемент ПИМ: | <a id="p111602"></a>group.name |
| --- | --- |
| <a id="p111603"></a>Источник: | <a id="p111604"></a>ИСО 10303-41 |


<a id="p111605"></a>5.1.14.12.3 version_id
<a id="p111606"></a>Примечание - Атрибут унаследован из супертипа Versionable_object (см. [5.1.9.17](#p107924)) через супертип Revision (см. [5.1.3.14](#p105166)), который наследуется из супертипа Revision (см. [5.1.3.13](#p105120)).


| <a id="p111607"></a>Элемент ПИМ: | <a id="p111608"></a>identification_assignment.assigned_id |
| --- | --- |
| <a id="p111609"></a>Источник: | <a id="p111610"></a>ИСО 10303-41 |
| <a id="p111611"></a>Правила: | <a id="p111612"></a>[5.2.4.164](#p118524) |
| <a id="p111613"></a>Ссылочный путь: | <a id="p111614"></a>/VERSION_ID(group)/ |


<a id="p111615"></a>5.1.14.12.4 ship_moulded_form_revision для ship_moulded_form (как context_of_revision)
<a id="p111616"></a>Примечание - Атрибут унаследован из супертипа Revision_with_context (см. [5.1.3.14](#p105166)).


| <a id="p111617"></a>Элемент ПИМ: | <a id="p111618"></a>PATH |
| --- | --- |
| <a id="p111619"></a>Правила: | <a id="p111620"></a>[5.2.4.133](#p117490) |
| <a id="p111621"></a>Ссылочный путь: | <a id="p111622"></a><a id="p111623"></a>group <-<br>/(RELATE_GROUP_2_DO(product_definition, 'ship moulded form')/ |


<a id="p111624"></a>5.1.14.12.5 ship_moulded_form_revision для moulded_form_design_definition (как members)
<a id="p111625"></a>Примечание - Атрибут унаследован из супертипа Revision (см. [5.1.3.14](#p105166)), который наследуется из супертипа Revision (см. [5.1.3.13](#p105120)).


| <a id="p111626"></a>Элемент ПИМ: | <a id="p111627"></a>PATH |
| --- | --- |
| <a id="p111628"></a>Правила: | <a id="p111629"></a>[5.2.4.52](#p114479) |
| <a id="p111630"></a>Ссылочный путь: | <a id="p111631"></a><a id="p111632"></a><a id="p111633"></a>group <-<br>(/RELATE_GROUP_2_VO(product_definition_shape,'moulded form design definition')/)<br>(/RELATE_GROUP_2_VO(applied_external_identification_assignment,'external instance reference')/) |



###### <a id="p111634"></a>5.1.14.13 Прикладной элемент SYMMETRY



|  | <a id="p111635"></a><a id="p111636"></a>#1: если значением элемента symmetry является planar_symmetry<br>#2: если значением элемента symmetry является rotational_symmetry |
| --- | --- |
| <a id="p111637"></a>Элемент ПИМ: | <a id="p111638"></a><a id="p111639"></a>#1: /SUBTYPE(planar_symmetry)/ (см. [5.1.14.9](#p111445))<br>#2: /SUBTYPE(rotational_symmetry)/ (см. [5.1.14.10](#p111453)) |



##### <a id="p111640"></a>5.1.15 Функциональная единица surface_representations


###### <a id="p111641"></a>5.1.15.1 Прикладной элемент NON_MANIFOLD_SURFACE_SHAPE



| <a id="p111642"></a>Элемент ПИМ: | <a id="p111643"></a>non_manifold_surface_shape_representation |
| --- | --- |
| <a id="p111644"></a>Источник: | <a id="p111645"></a>ИСО 10303-508 |
| <a id="p111646"></a>Правила: | <a id="p111647"></a>[5.2.4.113](#p116735) |



###### <a id="p111648"></a>5.1.15.2 Прикладной элемент SURFACE_SHAPE_REPRESENTATION



| <a id="p111649"></a>Элемент ПИМ: | <a id="p111650"></a>non_manifold_surface_shape_representation |
| --- | --- |
| <a id="p111651"></a>Источник: | <a id="p111652"></a>ИСО 10303-508 |
| <a id="p111653"></a>Правила: | <a id="p111654"></a>[5.2.4.113](#p116735) |
| <a id="p111655"></a>Ссылочный путь: | <a id="p111656"></a><a id="p111657"></a>{[/CLASS(non_manifold_surface_shape_representation,'surface shape representation','moulded form shape representation')/]<br>[/ROOT_CLASS(non_manifold_surface_shape_representation,'moulded form shape representation')/]} |


<a id="p111658"></a>5.1.15.2.1 moulded_form_representation_id
<a id="p111659"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_shape_representation (см. [5.1.14.8](#p111413))


| <a id="p111660"></a>Элемент ПИМ: | <a id="p111661"></a>/SUPERTYPE(Moulded_form_shape_representation)/ (см. [5.1.14.8.1](#p111421)) |
| --- | --- |


<a id="p111662"></a>5.1.15.2.2 surface_shape_representation для face_based_surface_model (как items)


| <a id="p111663"></a>Элемент ПИМ: | <a id="p111664"></a>PATH |
| --- | --- |
| <a id="p111665"></a>Ссылочный путь: | <a id="p111666"></a><a id="p111667"></a><a id="p111668"></a><a id="p111669"></a><a id="p111670"></a>non_manifold_surface_shape_representation <=<br>shape_representation <=<br>representation<br>representation items[i] -><br>face_based_surface_model |


<a id="p111671"></a>5.1.15.2.3 surface_shape_representation для symmetry (как moulded_form_symmetry)
<a id="p111672"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_shape_representation (см. [5.1.14.8](#p111413)).


| <a id="p111673"></a>Элемент ПИМ: | <a id="p111674"></a>/SUPERTYPE(Moulded_form_shape_representation)/ (см. [5.1.14.8.2](#p111428)) |
| --- | --- |



###### <a id="p111675"></a>5.1.15.3 SURFACE_WITH_IDENTIFIER



| <a id="p111676"></a>элемент AIM: | <a id="p111677"></a>surface |
| --- | --- |
| <a id="p111678"></a>Источник: | <a id="p111679"></a>ИСО 10303-508 |
| <a id="p111680"></a>Ссылочный путь: | <a id="p111681"></a>/ROOT_CLASS(surface,'surface with identifier')/ |


<a id="p111682"></a>5.1.15.3.1 surface_with_identifier для global_id (как id)


| <a id="p111683"></a>Элемент AIM: | <a id="p111684"></a>PATH |
| --- | --- |
| <a id="p111685"></a>Правила: | <a id="p111686"></a>[5.2.4.45](#p114249), [5.2.4.149](#p118088) |
| <a id="p111687"></a>Ссылочный путь: | <a id="p111688"></a><a id="p111689"></a><a id="p111690"></a><a id="p111691"></a>surface<br>identification_item = surface <-<br>applied_identification_assignment.items[i]<br>applied_identification_assignment |



##### <a id="p111692"></a>5.1.16 Функциональная единица wireframe_representations


###### <a id="p111693"></a>5.1.16.1 Прикладной элемент DGE_BASED_WIREFRAME_SHAPE



| <a id="p111694"></a>Элемент ПИМ: | <a id="p111695"></a>edge_based_wireframe_shape_representation |
| --- | --- |
| <a id="p111696"></a>Источник: | <a id="p111697"></a>ИСО 10303-501 |
| <a id="p111698"></a>ИСО 10303-501 | <a id="p111699"></a>[5.2.4.113](#p116735) |



###### <a id="p111700"></a>5.1.16.2 Прикладной элемент KNOT



| <a id="p111701"></a>Элемент ПИМ: | <a id="p111702"></a><a id="p111703"></a>[vertex_point]<br>[compound_representation_item] |
| --- | --- |
| <a id="p111704"></a>Источник: | <a id="p111705"></a>ИСО 10303-42, ИСО 10303-42 |
| <a id="p111706"></a>Ссылочный путь: | <a id="p111707"></a><a id="p111708"></a>{[/ROOT_CLASS(vertex_point, 'knot')/]<br>[/ROOT_CLASS(compound_representation_item, 'knot')/]} |


<a id="p111709"></a>5.1.16.2.1 knot для ship_curve (как intersecting_ship_curves)


| <a id="p111710"></a>Элемент ПИМ: | <a id="p111711"></a>PATH |
| --- | --- |
| <a id="p111712"></a>Правила: | <a id="p111713"></a>[5.2.4.32](#p113836) |
| <a id="p111714"></a>Ссылочный путь: | <a id="p111715"></a><a id="p111716"></a><a id="p111717"></a>/COMPOUND('intersecting ship curve')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'ship curve')/} |


<a id="p111718"></a>5.1.16.2.2 knot для vector (как tangent_information)


| <a id="p111719"></a>Элемент ПИМ: | <a id="p111720"></a>PATH |
| --- | --- |
| <a id="p111721"></a>Ссылочный путь: | <a id="p111722"></a><a id="p111723"></a><a id="p111724"></a>/COMPOUND('tangent vector')/<br>geometric_representation_item =><br>vector |



###### <a id="p111725"></a>5.1.16.3 Прикладной элемент SHIP_CURVE_SEGMENT



| <a id="p111726"></a>Элемент ПИМ: | <a id="p111727"></a><a id="p111728"></a>[edge_curve]<br>[compound_representation_item] |
| --- | --- |
| <a id="p111729"></a>Источник: | <a id="p111730"></a>ИСО 10303-42, ИСО 10303-42 |
| <a id="p111731"></a>Ссылочный путь: | <a id="p111732"></a><a id="p111733"></a>{[/ROOT_CLASS(edge_curve, 'ship curve segment')/]<br>[/ROOT_CLASS(compound_representation_item, 'ship curve segment')/]} |


<a id="p111734"></a>5.1.16.3.1 ship_curve_segment для ship_curve (как part_of_ship_curve)


| <a id="p111735"></a>Элемент ПИМ: | <a id="p111736"></a>PATH |
| --- | --- |
| <a id="p111737"></a>Правила: | <a id="p111738"></a>[5.2.4.136](#p117577) |
| <a id="p111739"></a>Ссылочный путь: | <a id="p111740"></a><a id="p111741"></a><a id="p111742"></a>/COMPOUND('ship curve segment')/<br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'ship curve')/} |



###### <a id="p111743"></a>5.1.16.4 Прикладной элемент WIREFRAME_SHAPE_REPRESENTATION



| <a id="p111744"></a>Элемент ПИМ: | <a id="p111745"></a>shape_representation |
| --- | --- |
| <a id="p111746"></a>Источник: | <a id="p111747"></a>ИСО 10303-41 |
| <a id="p111748"></a>Правила: | <a id="p111749"></a>[5.2.4.113](#p116735) |
| <a id="p111750"></a>Ссылочный путь: | <a id="p111751"></a><a id="p111752"></a>{[/CLASS(shape_representation,'wireframe shape representation','moulded form shape representation')/]<br>[/ROOT_CLASS(shape_representation,'moulded form shape representation')/]} |


<a id="p111753"></a>5.1.16.4.1 moulded_form_representation_id
<a id="p111754"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_shape_representation (см. [5.1.14.8](#p111413)).


| <a id="p111755"></a>Элемент ПИМ: | <a id="p111756"></a>/SUPERTYPE(Moulded_form_shape_representation)/ (см. [5.1.14.8.1](#p111421)) |
| --- | --- |


<a id="p111757"></a>5.1.16.4.2 wireframe_shape_representation для ship_curve (как items)


| <a id="p111758"></a>Элемент ПИМ: | <a id="p111759"></a>PATH |
| --- | --- |
| <a id="p111760"></a>Ссылочный путь: | <a id="p111761"></a><a id="p111762"></a><a id="p111763"></a><a id="p111764"></a><a id="p111765"></a><a id="p111766"></a>shape_representation <=<br>representation<br>representation.items[i] -><br>representation_item =><br>compound_representation_item<br>{/CLASS_ID(compound_representation_item, 'ship curve')/} |


<a id="p111767"></a>5.1.16.4.3 wireframe_shape_representation для symmetry (как moulded_form_symmetry)
<a id="p111768"></a>Примечание - Атрибут унаследован из супертипа Moulded_form_shape_representation (см. [5.1.14.8](#p111413)).


| <a id="p111769"></a>Элемент ПИМ: | <a id="p111770"></a>/SUPERTYPE(Moulded_form_shape_representation)/ (см. [5.1.14.8.2](#p111428)) |
| --- | --- |



#### <a id="p111771"></a>5.2 Сокращенный EXPRESS-листинг прикладной интерпретированной модели

<a id="p111772"></a>В данном разделе определена EXPRESS-схема, использующая элементы из интегрированных ресурсов и AIC <1> и содержащая типы, специализированные объекты, правила и функции, относящиеся к настоящему стандарту. В данном разделе также определены модификации текстового материала для конструктивов, импортируемых из других интегрированных ресурсов и AIC. Определения и фрагменты языка EXPRESS, представленные в интегрированных ресурсах для конструктивов, используемых в ПИМ, могут включать в себя элементы списка выбора и подтипы, не импортируемые в ПИМ. Требования, установленные в интегрированных ресурсах, относящиеся к элементам списка выбора и подтипам, применяются исключительно к тем элементам, которые импортируются в ПИМ.

<a id="p111773"></a>

---

<a id="p111774"></a><1> Прикладные интерпретированные конструктивы.


<table>
<colgroup><col width="72%"><col width="28%"></colgroup>
<tr><td colspan="2"><a id="p111775"></a><a id="p111776"></a>*)<br>SCHEMA ship_moulded_form_SCHEMA;</td></tr>
<tr><td><a id="p111777"></a><a id="p111778"></a>USE FROM aic_non_manifold_surface<br>(non_manifold_surface_shape_representation);</td><td><a id="p111779"></a>-- ИСО 10303-508</td></tr>
<tr><td><a id="p111780"></a><a id="p111781"></a>USE FROM aic_edge_based_wireframe<br>(edge_based_wireframe_shape_representation);</td><td><a id="p111782"></a>-- ИСО 10303-501</td></tr>
<tr><td><a id="p111783"></a><a id="p111784"></a>USE FROM aic_topologically_bounded_surface<br>(advanced_face);</td><td><a id="p111785"></a>-- ИСО 10303-511</td></tr>
<tr><td><a id="p111786"></a><a id="p111787"></a><a id="p111788"></a><a id="p111789"></a><a id="p111790"></a><a id="p111791"></a><a id="p111792"></a>USE FROM action_schema<br>(action,<br>action_method,<br>action_relationship,<br>action_request_solution,<br>executed_action,<br>versioned_action_request);</td><td><a id="p111793"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111794"></a><a id="p111795"></a><a id="p111796"></a><a id="p111797"></a>USE FROM approval_schema<br>(approval,<br>approval_date_time,<br>approval_person_organization);</td><td><a id="p111798"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111799"></a><a id="p111800"></a><a id="p111801"></a>USE FROM application_context_schema<br>(application_context,<br>application_protocol_definition);</td><td><a id="p111802"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111803"></a><a id="p111804"></a>USE FROM basic_attribute_schema<br>(object_role);</td><td><a id="p111805"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111806"></a><a id="p111807"></a><a id="p111808"></a><a id="p111809"></a><a id="p111810"></a><a id="p111811"></a>USE FROM date_time_schema<br>(calendar_date,<br>date_and_time,<br>date_time_role,<br>ordinal_date,<br>week_of_year_and_day_date);</td><td><a id="p111812"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111813"></a><a id="p111814"></a><a id="p111815"></a><a id="p111816"></a>USE FROM document_schema<br>(document,<br>document_representation_type,<br>document_usage_constraint);</td><td><a id="p111817"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111818"></a><a id="p111819"></a><a id="p111820"></a><a id="p111821"></a>USE FROM external_reference_schema<br>(external_source,<br>external_source_relationship,<br>externally_defined_item);</td><td><a id="p111822"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111823"></a><a id="p111824"></a><a id="p111825"></a>USE FROM effectivity_schema<br>(effectivity,<br>serial_numbered_effectivity);</td><td><a id="p111826"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111827"></a><a id="p111828"></a>REFERENCE FROM geometry_schema<br>(dummy_gri);</td><td><a id="p111829"></a>-- ИСО 10303-42</td></tr>
<tr><td><a id="p111830"></a><a id="p111831"></a><a id="p111832"></a>USE FROM geometric_model_schema<br>(faceted_brep,<br>geometric_curve_set);</td><td></td></tr>
<tr><td><a id="p111833"></a><a id="p111834"></a><a id="p111835"></a><a id="p111836"></a><a id="p111837"></a><a id="p111838"></a><a id="p111839"></a><a id="p111840"></a><a id="p111841"></a><a id="p111842"></a><a id="p111843"></a><a id="p111844"></a><a id="p111845"></a><a id="p111846"></a><a id="p111847"></a><a id="p111848"></a><a id="p111849"></a><a id="p111850"></a><a id="p111851"></a><a id="p111852"></a><a id="p111853"></a><a id="p111854"></a><a id="p111855"></a><a id="p111856"></a>USE FROM geometry_schema<br>(axis1_placement,<br>axis2_placement_2d,<br>axis2_placement_3d,<br>b_spline_curve,<br>b_spline_surface,<br>b_spline_curve_with_knots,<br>b_spline_surface_with_knots,<br>bezier_curve,<br>bezier_surface,<br>bounded_curve,<br>bounded_pcurve,<br>bounded_surface_curve,<br>cartesian_point,<br>circle,<br>composite_curve_on_surface,<br>conical_surface,<br>curve,<br>cylindrical_surface,<br>degenerate_pcurve,<br>degenerate_toroidal_surface,<br>direction,<br>elementary_surface,<br>ellipse,</td><td><a id="p111857"></a>-- ИСО 10303-42</td></tr>
<tr><td><a id="p111858"></a><a id="p111859"></a><a id="p111860"></a><a id="p111861"></a><a id="p111862"></a><a id="p111863"></a><a id="p111864"></a><a id="p111865"></a><a id="p111866"></a><a id="p111867"></a><a id="p111868"></a><a id="p111869"></a><a id="p111870"></a><a id="p111871"></a><a id="p111872"></a><a id="p111873"></a><a id="p111874"></a><a id="p111875"></a><a id="p111876"></a><a id="p111877"></a><a id="p111878"></a><a id="p111879"></a><a id="p111880"></a>evaluated_degenerate_pcurve,<br>geometric_representation_item,<br>geometric_representation_context,<br>hyperbola,<br>intersection_curve,<br>line,<br>oriented_surface,<br>parabola,<br>plane,<br>point_on_curve,<br>point_on_surface,<br>quasi_uniform_curve,<br>quasi_uniform_surface,<br>rational_b_spline_curve,<br>rational_b_spline_surface,<br>seam_curve,<br>spherical_surface,<br>surface_of_linear_extrusion,<br>surface_of_revolution,<br>toroidal_surface,<br>uniform_curve,<br>uniform_surface,<br>vector);</td><td></td></tr>
<tr><td><a id="p111881"></a><a id="p111882"></a><a id="p111883"></a>USE FROM group_schema<br>(group,<br>group_relationship);</td><td><a id="p111884"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111885"></a><a id="p111886"></a><a id="p111887"></a><a id="p111888"></a><a id="p111889"></a><a id="p111890"></a><a id="p111891"></a><a id="p111892"></a><a id="p111893"></a><a id="p111894"></a><a id="p111895"></a><a id="p111896"></a><a id="p111897"></a><a id="p111898"></a><a id="p111899"></a><a id="p111900"></a><a id="p111901"></a>USE FROM management_resources_schema<br>(action_request_assignment,<br>action_assignment,<br>approval_assignment,<br>classification_assignment,<br>classification_role,<br>date_and_time_assignment,<br>document_reference,<br>effectivity_assignment,<br>external_identification_assignment,<br>group_assignment,<br>identification_assignment,<br>identification_role,<br>identification_assignment_relationship,<br>organization_assignment,<br>person_assignment,<br>person_and_organization_assignment);</td><td><a id="p111902"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111903"></a><a id="p111904"></a>USE FROM material_property_definition_schema<br>(property_definition_relationship);</td><td><a id="p111905"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111906"></a><a id="p111907"></a><a id="p111908"></a><a id="p111909"></a><a id="p111910"></a><a id="p111911"></a><a id="p111912"></a><a id="p111913"></a><a id="p111914"></a><a id="p111915"></a><a id="p111916"></a><a id="p111917"></a><a id="p111918"></a><a id="p111919"></a><a id="p111920"></a><a id="p111921"></a><a id="p111922"></a><a id="p111923"></a><a id="p111924"></a><a id="p111925"></a><a id="p111926"></a><a id="p111927"></a><a id="p111928"></a><a id="p111929"></a>USE FROM measure_schema<br>(amount_of_substance_measure,<br>amount_of_substance_unit,<br>area_measure,<br>celsius_temperature_measure,<br>conversion_based_unit,<br>context_dependent_measure,<br>context_dependent_unit,<br>count_measure,<br>derived_unit,<br>electric_current_measure,<br>electric_current_unit,<br>global_unit_assigned_context,<br>length_measure,<br>length_measure_with_unit,<br>length_unit,<br>luminous_intensity_measure,<br>luminous_intensity_unit,<br>mass_measure,<br>mass_measure_with_unit,<br>mass_unit,<br>measure_with_unit,<br>named_unit,<br>plane_angle_measure,</td><td><a id="p111930"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111931"></a><a id="p111932"></a><a id="p111933"></a><a id="p111934"></a><a id="p111935"></a><a id="p111936"></a><a id="p111937"></a><a id="p111938"></a><a id="p111939"></a><a id="p111940"></a><a id="p111941"></a><a id="p111942"></a><a id="p111943"></a><a id="p111944"></a><a id="p111945"></a>plane_angle_measure_with_unit,<br>plane_angle_unit,<br>positive_length_measure,<br>positive_plane_angle_measure,<br>ratio_measure,<br>ratio_unit,<br>si_unit,<br>solid_angle_measure,<br>solid_angle_measure_with_unit,<br>solid_angle_unit,<br>thermodynamic_temperature_measure,<br>thermodynamic_temperature_unit,<br>time_measure,<br>time_unit,<br>volume_measure);</td><td></td></tr>
<tr><td><a id="p111946"></a><a id="p111947"></a><a id="p111948"></a><a id="p111949"></a><a id="p111950"></a><a id="p111951"></a><a id="p111952"></a><a id="p111953"></a><a id="p111954"></a>USE FROM person_organization_schema<br>(address,<br>person,<br>person_and_organization,<br>person_and_organization_role,<br>personal_address,<br>organization,<br>organizational_address,<br>organizational_project);</td><td><a id="p111955"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111956"></a><a id="p111957"></a><a id="p111958"></a><a id="p111959"></a><a id="p111960"></a><a id="p111961"></a>USE FROM product_definition_schema<br>(product,<br>product_category_relationship,<br>product_definition,<br>product_definition_relationship,<br>product_related_product_category);</td><td><a id="p111962"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111963"></a><a id="p111964"></a><a id="p111965"></a><a id="p111966"></a><a id="p111967"></a><a id="p111968"></a>USE FROM product_property_definition_schema<br>(characterized_definition,<br>characterized_object,<br>product_definition_shape,<br>property_definition,<br>shape_aspect);</td><td><a id="p111969"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111970"></a><a id="p111971"></a><a id="p111972"></a><a id="p111973"></a>USE FROM product_property_representation_schema<br>(property_definition_representation,<br>shape_definition_representation,<br>shape_representation);</td><td><a id="p111974"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111975"></a><a id="p111976"></a>USE FROM qualified_measure_schema<br>(descriptive_representation_item);</td><td><a id="p111977"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111978"></a><a id="p111979"></a><a id="p111980"></a><a id="p111981"></a><a id="p111982"></a><a id="p111983"></a><a id="p111984"></a><a id="p111985"></a><a id="p111986"></a><a id="p111987"></a><a id="p111988"></a><a id="p111989"></a><a id="p111990"></a>USE FROM representation_schema<br>(compound_representation_item,<br>global_uncertainty_assigned_context,<br>item_defined_transformation,<br>list_representation_item,<br>mapped_item,<br>parametric_representation_context,<br>representation,<br>representation_item,<br>representation_map,<br>representation_relationship,<br>set_representation_item,<br>value_representation_item);</td><td><a id="p111991"></a>-- ИСО 10303-43</td></tr>
<tr><td><a id="p111992"></a><a id="p111993"></a>REFERENCE FROM support_resource_schema<br>(bag_to_set);</td><td><a id="p111994"></a>-- ИСО 10303-41</td></tr>
<tr><td><a id="p111995"></a><a id="p111996"></a>REFERENCE FROM topology_schema<br>(dummy_tri);</td><td><a id="p111997"></a>-- ИСО 10303-42</td></tr>
<tr><td><a id="p111998"></a><a id="p111999"></a><a id="p112000"></a><a id="p112001"></a><a id="p112002"></a><a id="p112003"></a><a id="p112004"></a><a id="p112005"></a><a id="p112006"></a><a id="p112007"></a><a id="p112008"></a><a id="p112009"></a>USE FROM topology_schema<br>(edge,<br>edge_curve,<br>edge_loop,<br>face,<br>face_surface,<br>oriented_edge,<br>oriented_face,<br>poly_loop,<br>subface,<br>vertex_point);<br>(*</td><td><a id="p112010"></a>-- ИСО 10303-42</td></tr>
</table>


<a id="p112011"></a>*Примечание* - Указанные выше схемы приведены в следующих частях ИСО 10303:


| <a id="p112012"></a>aic_non_manifold_surface | <a id="p112013"></a>ИСО 10303-508 |
| --- | --- |
| <a id="p112014"></a>aic_topological_bounded_surface | <a id="p112015"></a>ИСО 10303-511 |
| <a id="p112016"></a>aic_edge_based_wireframe | <a id="p112017"></a>ИСО 10303-501 |
| <a id="p112018"></a>action_schema | <a id="p112019"></a>ИСО 10303-41 |
| <a id="p112020"></a>approval_schema | <a id="p112021"></a>ИСО 10303-41 |
| <a id="p112022"></a>basic_attribute_schema | <a id="p112023"></a>ИСО 10303-41 |
| <a id="p112024"></a>date_time_schema | <a id="p112025"></a>ИСО 10303-41 |
| <a id="p112026"></a>document_schema | <a id="p112027"></a>ИСО 10303-41 |
| <a id="p112028"></a>external_reference_schema | <a id="p112029"></a>ИСО 10303-41 |
| <a id="p112030"></a>geometry_schema | <a id="p112031"></a>ИСО 10303-42 |
| <a id="p112032"></a>group_schema | <a id="p112033"></a>ИСО 10303-41 |
| <a id="p112034"></a>management_resources_schema | <a id="p112035"></a>ИСО 10303-41 |
| <a id="p112036"></a>material_property_definition_schema | <a id="p112037"></a>ИСО 10303-41 |
| <a id="p112038"></a>measure_schema | <a id="p112039"></a>ИСО 10303-41 |
| <a id="p112040"></a>person_organization_schema | <a id="p112041"></a>ИСО 10303-41 |
| <a id="p112042"></a>product_definition_schema | <a id="p112043"></a>ИСО 10303-41 |
| <a id="p112044"></a>product_property_definition_schema | <a id="p112045"></a>ИСО 10303-41 |
| <a id="p112046"></a>product_property_representation_schema | <a id="p112047"></a>ИСО 10303-41 |
| <a id="p112048"></a>qualified_measure_schema | <a id="p112049"></a>ИСО 10303-45 |
| <a id="p112050"></a>representation_schema | <a id="p112051"></a>ИСО 10303-43 |
| <a id="p112052"></a>support_resource_schema | <a id="p112053"></a>ИСО 10303-41 |
| <a id="p112054"></a>topology_schema | <a id="p112055"></a>ИСО 10303-42 |



##### <a id="p112056"></a>5.2.1 Фундаментальные понятия и допущения


##### <a id="p112057"></a>5.2.2 Типы теоретических обводов судна


###### <a id="p112058"></a>5.2.2.1 Тип action_item

<a id="p112059"></a>Тип action_item определяет объекты product, product_definition, property_definition, product_definition_relationship, product_definition_shape, product_related_product_category, action_request_solution и executed_action, которым может быть присвоен объект action.
<a id="p112060"></a>EXPRESS-спецификация:
<a id="p112061"></a>*)
<a id="p112062"></a>TYPE action_item = SELECT
<a id="p112063"></a>  (product,
<a id="p112064"></a>  product_definition,
<a id="p112065"></a>  property_definition,
<a id="p112066"></a>  product_definition_relationship,
<a id="p112067"></a>  product_definition_shape,
<a id="p112068"></a>  product_related_product_category,
<a id="p112069"></a>  action_request_solution,
<a id="p112070"></a>  executed_action);
<a id="p112071"></a>**END_TYPE;**
<a id="p112072"></a>(*

###### <a id="p112073"></a>5.2.2.2 Тип action_request_item

<a id="p112074"></a>Тип action_request_item определяет объекты action и executed_action, которым может быть присвоен объект action_request.
<a id="p112075"></a>*)
<a id="p112076"></a>TYPE action_request_item = SELECT
<a id="p112077"></a>  (action,
<a id="p112078"></a>  executed_action);
<a id="p112079"></a>**END_TYPE;**
<a id="p112080"></a>(*

###### <a id="p112081"></a>5.2.2.3 Тип approval_item

<a id="p112082"></a>Тип approval_item определяет объекты product_definition, product_definition_shape, property_definition и product_related_product_category, которым может быть присвоен объект approval.
<a id="p112083"></a>EXPRESS-спецификация:
<a id="p112084"></a>*)
<a id="p112085"></a>TYPE approval_item = SELECT
<a id="p112086"></a>  (product_definition,
<a id="p112087"></a>  product_definition_shape,
<a id="p112088"></a>  property_definition,
<a id="p112089"></a>  product_related_product_category);
<a id="p112090"></a>**END_TYPE;**
<a id="p112091"></a>(*

###### <a id="p112092"></a>5.2.2.4 Тип classification_item

<a id="p112093"></a>Тип classification_item идентифицирует action, action_request_solution, applied_action_request_assignment, approval, axis2_placement_3d, compound_representation_item, external_source, document, document_reference, edge_curve, executed_action, group, identification_assignment_relationship, measure_with_unit, product, product_definition, product_definition_relationship, product_definition_shape, product_related_product_category, property_definition, property_definition_representation, representation, representation_item, representation_relationship, shape_representation, surface, vertex_point и versioned_action_request, для которых может быть назначена классификация.
<a id="p112094"></a>EXPRESS-спецификация:
<a id="p112095"></a>*)
<a id="p112096"></a>TYPE classification item = SELECT
<a id="p112097"></a>  (action,
<a id="p112098"></a>  action_request_solution,
<a id="p112099"></a>  applied_action_request_assignment,
<a id="p112100"></a>  approval,
<a id="p112101"></a>  axis2_placement_3d,
<a id="p112102"></a>  compound_representation_item,
<a id="p112103"></a>  document,
<a id="p112104"></a>  document_reference,
<a id="p112105"></a>  edge_curve,
<a id="p112106"></a>  executed_action,
<a id="p112107"></a>  external_source,
<a id="p112108"></a>  group,
<a id="p112109"></a>  identification_assignment_relationship,
<a id="p112110"></a>  measure_with_unit,
<a id="p112111"></a>  product,
<a id="p112112"></a>  product_definition,
<a id="p112113"></a>  product_definition_relationship,
<a id="p112114"></a>  product_definition_shape,
<a id="p112115"></a>  product_related_product_category,
<a id="p112116"></a>  property_definition,
<a id="p112117"></a>  property_definition_representation,
<a id="p112118"></a>  representation,
<a id="p112119"></a>  representation_item,
<a id="p112120"></a>  representation_relationship,
<a id="p112121"></a>  shape_representation,
<a id="p112122"></a>  surface,
<a id="p112123"></a>  vertex_point,
<a id="p112124"></a>  versioned_action_request);
<a id="p112125"></a>**END_TYPE;**
<a id="p112126"></a>(*

###### <a id="p112127"></a>5.2.2.5 Тип date_and_time_item

<a id="p112128"></a>Объект date_and_time_item определяет объекты action, action_request_solution, product_definition, executed_action и versioned_action_request, которым может быть присвоена дата.
<a id="p112129"></a>EXPRESS-спецификация:
<a id="p112130"></a>*)
<a id="p112131"></a>TYPE date_and_time_item = SELECT
<a id="p112132"></a>  (action_request_solution,
<a id="p112133"></a>  executed_action,
<a id="p112134"></a>  versioned_action_request,
<a id="p112135"></a>  product_definition,
<a id="p112136"></a>  action);
<a id="p112137"></a>**END_TYPE;**
<a id="p112138"></a>(*

###### <a id="p112139"></a>5.2.2.6 Тип document_reference_item

<a id="p112140"></a>Тип document_reference_item определяет объекты action, product, property_definition или product_definition, которым может присваиваться объект document.
<a id="p112141"></a>EXPRESS-спецификация:
<a id="p112142"></a>*)
<a id="p112143"></a>TYPE document_reference_item = SELECT
<a id="p112144"></a>  (action, product,
<a id="p112145"></a>  property_definition,
<a id="p112146"></a>  product_definition);
<a id="p112147"></a>**END_TYPE;**
<a id="p112148"></a>(*

###### <a id="p112149"></a>5.2.2.7 Тип effectivity_item

<a id="p112150"></a>Тип effectivity_item определяет объекты product_definition, property_definition, product_definition_shape и product_related_product_category, которым может присваиваться объект effectivity.
<a id="p112151"></a>EXPRESS-спецификация:
<a id="p112152"></a>*)
<a id="p112153"></a>TYPE effectivity_item = SELECT
<a id="p112154"></a>  (product_definition,
<a id="p112155"></a>  property_definition,
<a id="p112156"></a>  product_definition_shape,
<a id="p112157"></a>  product_related_product_category);
<a id="p112158"></a>**END_TYPE;**
<a id="p112159"></a>(*

###### <a id="p112160"></a>5.2.2.8 Тип external_identification_item

<a id="p112161"></a>Тип external_identification_item определяет объекты action, document, product, product_definition, product_definition_relationship и property_definition, которым может присваиваться объект external_identification.
<a id="p112162"></a>EXPRESS-спецификация:
<a id="p112163"></a>*)
<a id="p112164"></a>TYPE external_identification_item = SELECT
<a id="p112165"></a>  (action,
<a id="p112166"></a>  document,
<a id="p112167"></a>  product,
<a id="p112168"></a>  product_definition,
<a id="p112169"></a>  product_definition_relationship,
<a id="p112170"></a>  property_definition);
<a id="p112171"></a>**END_TYPE;**
<a id="p112172"></a>(*

###### <a id="p112173"></a>5.2.2.9 Тип group_item

<a id="p112174"></a>Тип group_item определяет объекты approval, identification_assignment_relationship, product_definition, product_definition_relationship и shape_aspect, которым может присваиваться объект group.
<a id="p112175"></a>EXPRESS-спецификация:
<a id="p112176"></a>*)
<a id="p112177"></a>TYPE group_item = SELECT
<a id="p112178"></a>  (approval,
<a id="p112179"></a>  identification_assignment_relationship,
<a id="p112180"></a>  product_definition,
<a id="p112181"></a>  product_definition_relationship);
<a id="p112182"></a>**END_TYPE;**
<a id="p112183"></a>(*

###### <a id="p112184"></a>5.2.2.10 Тип identification_item

<a id="p112185"></a>Тип identification_item идентифицирует action, action_request_solution, executed_action, property_definition, product_definition_shape, group, product, product_definition, product_definition_relationship, product_related_product_category, compound_representation_item, versioned_action_request, surface и document, которым может быть назначена идентификация.
<a id="p112186"></a>EXPRESS-спецификация:
<a id="p112187"></a>*)
<a id="p112188"></a>TYPE identification_item = SELECT
<a id="p112189"></a>  (action,
<a id="p112190"></a>  action_request_solution,
<a id="p112191"></a>  compound_representation_item,
<a id="p112192"></a>  document,
<a id="p112193"></a>  executed_action,
<a id="p112194"></a>  group,
<a id="p112195"></a>  product,
<a id="p112196"></a>  product_definition,
<a id="p112197"></a>  product_definition_relationship,
<a id="p112198"></a>  product_definition_shape,
<a id="p112199"></a>  product_related_product_category,
<a id="p112200"></a>  property_definition,
<a id="p112201"></a>  surface,
<a id="p112202"></a>  versioned_action_request);
<a id="p112203"></a>**END_TYPE;**
<a id="p112204"></a>(*

###### <a id="p112205"></a>5.2.2.11 Тип organization_item

<a id="p112206"></a>Тип organization_item определяет объекты document, product_definition, property_definition, которым может определяться объект organization.
<a id="p112207"></a>EXPRESS-спецификация:
<a id="p112208"></a>*)
<a id="p112209"></a>TYPE organization_item = SELECT (document,
<a id="p112210"></a>product_definition,
<a id="p112211"></a>property_definition);
<a id="p112212"></a>**END_TYPE;**
<a id="p112213"></a>(*

###### <a id="p112214"></a>5.2.2.12 Тип person_item

<a id="p112215"></a>Тип person_item определяет объект document, для которого может определяться объект person.
<a id="p112216"></a>EXPRESS-спецификация:
<a id="p112217"></a>*)
<a id="p112218"></a>TYPE person_item = SELECT
<a id="p112219"></a>  (document);
<a id="p112220"></a>**END_TYPE;**
<a id="p112221"></a>(*

###### <a id="p112222"></a>5.2.2.13 Тип person_and_organization_item

<a id="p112223"></a>Тип person_and_organization_item задает объект person_and_organization для объектов action, action_request_solution, executed_action, document и versioned_action_request, для которого может быть идентифицирован объект person_and_organization.
<a id="p112224"></a>EXPRESS-спецификация:
<a id="p112225"></a>*)
<a id="p112226"></a>TYPE person_and_organization_item = SELECT
<a id="p112227"></a>  (action_request_solution,
<a id="p112228"></a>  document,
<a id="p112229"></a>  executed_action,
<a id="p112230"></a>  versioned_action_request,
<a id="p112231"></a>  action);
<a id="p112232"></a>**END_TYPE;**
<a id="p112233"></a>(*

##### <a id="p112234"></a>5.2.3 Объекты теоретических обводов судна


###### <a id="p112235"></a>5.2.3.1 Определения объектов теоретических обводов судна


###### <a id="p112236"></a>5.2.3.1.1 Объект applied_action_assignment

<a id="p112237"></a>Объект applied_action_assignment задает те объекты action_items, которым присваивается объект action_assignment.
<a id="p112238"></a>EXPRESS-спецификация:
<a id="p112239"></a>*)
<a id="p112240"></a>ENTITY applied_action_assignment
<a id="p112241"></a>  SUBTYPE OF (action_assignment);
<a id="p112242"></a>  items : SET [1:?] OF action_item;
<a id="p112243"></a>**END_ENTITY;**
<a id="p112244"></a>(*
<a id="p112245"></a>Определение атрибута:
<a id="p112246"></a>items: набор объектов action_item, к которым применяется конкретный объект action_assignment.

###### <a id="p112247"></a>5.2.3.1.2 Объект applied_action_request_assignment

<a id="p112248"></a>Объект applied_action_request_assignment задает те объекты action_request_items, которым присваивается привязанный объект action_request_assignment.
<a id="p112249"></a>EXPRESS-спецификация:
<a id="p112250"></a>*)
<a id="p112251"></a>ENTITY applied_action_request_assignment
<a id="p112252"></a>  SUBTYPE OF (action_request_assignment);
<a id="p112253"></a>  items : SET [1:?] OF action_request_item;
<a id="p112254"></a>**END_ENTITY;**
<a id="p112255"></a>(*
<a id="p112256"></a>Определение атрибута:
<a id="p112257"></a>items: набор объектов action_request_item, для которых применяется конкретный объект action_request_assignment.
<a id="p112258"></a>Соответствующие глобальные правила:
<a id="p112259"></a>Для объекта applied_action_request_assignment применяется следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112260"></a>change_impact_with_versionable_object_change_event (см. [5.2.4.26](#p113634)).

###### <a id="p112261"></a>5.2.3.1.3 Объект applied_approval_assignment

<a id="p112262"></a>Объект applied_approval_assignment задает те объекты approval_items, которым присваивается объект approval_assignment.
<a id="p112263"></a>EXPRESS-спецификация:
<a id="p112264"></a>*)
<a id="p112265"></a>ENTITY applied_approval_assignment
<a id="p112266"></a>  SUBTYPE OF (approval_assignment);
<a id="p112267"></a>  items : SET [1:?] OF approval_item;
<a id="p112268"></a>**WHERE**
<a id="p112269"></a>  wr1: NOT((SELF\approval_assignment.role.name = 'proposed alternative')) OR
<a id="p112270"></a>    (SIZEOF(QUERY( app <*
<a id="p112271"></a>    USEDIN (SELF\approval_assignment.assigned_approval,
<a id="p112272"></a>    'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_ASSIGNMENT.ASSIGNED_APPROVAL') |
<a id="p112273"></a>    ('SHIP_MOULDED_FORM_SCHEMA.APPLIED_APPROVAL_ASSIGNMENT'
<a id="p112274"></a>  IN TYPEOF (app)) AND
<a id="p112275"></a>    (app\approval_assignment.role.name='subject')))=1);
<a id="p112276"></a>**END_ENTITY;**
<a id="p112277"></a>(*
<a id="p112278"></a>Определение атрибута:
<a id="p112279"></a>items: набор объектов approval_item, к которым применяется конкретный объект approval_assignment.
<a id="p112280"></a>Формальное высказывание:
<a id="p112281"></a>WR1: Каждый объект applied_approval_assignment с атрибутом role, определяющим объект object_role со значением атрибута name, равным 'proposed alternative', должен указывать объект approval через атрибут assigned_approval. Этот объект approval должен быть указан другим объектом applied_approval_assignment через атрибут assigned_approval с атрибутом role, определяющим объект object_role со значением атрибута name, равным 'subject'.
<a id="p112282"></a>Соответствующие глобальные правила:
<a id="p112283"></a>Для объекта applied_approval_assignment применяется следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112284"></a>approval_history_approves_same_definition (см. [5.2.4.9](#p113135)).

###### <a id="p112285"></a>5.2.3.1.4 Объект applied_classification_assignment

<a id="p112286"></a>Объект applied_classification_assignment задает те объекты classification_items, которым присваивается привязанный объект classification_assignment.
<a id="p112287"></a>EXPRESS-спецификация:
<a id="p112288"></a>*)
<a id="p112289"></a>ENTITY applied_classification_assignment
<a id="p112290"></a>  SUBTYPE OF (classification_assignment);
<a id="p112291"></a>  items : SET [1:?] OF classification_item;
<a id="p112292"></a>**END_ENTITY;**
<a id="p112293"></a>(*
<a id="p112294"></a>Определение атрибута:
<a id="p112295"></a>items: набор объектов classification_item, к которым применяется конкретный объект classification_assignment.
<a id="p112296"></a>Соответствующие глобальные правила:
<a id="p112297"></a>Для объекта applied_classification_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112298"></a>action_request_solution_with_identification_assignment (см. [5.2.4.2](#p112930));
- <a id="p112299"></a>action_with_identification_assignment (см. [5.2.4.3](#p112965));
- <a id="p112300"></a>centre_location_compound_representation_has_specified_name (см. [5.2.4.25](#p113597));
- <a id="p112301"></a>class_and_statutory_designation_has_properties (см. [5.2.4.28](#p113685));
- <a id="p112302"></a>class_parameters_has_properties (см. [5.2.4.30](#p113759));
- <a id="p112303"></a>compound_representation_item_with_class_id_knot (см. [5.2.4.32](#p113836));
- <a id="p112304"></a>compound_representation_item_with_section_identifier (см. [5.2.4.33](#p113885));
- <a id="p112305"></a>compound_representation_item_with_hydrostatic_properties (см. [5.2.4.31](#p113798));
- <a id="p112306"></a>floating_position_compound_representation_with_name (см. [5.2.4.43](#p114171));
- <a id="p112307"></a>global_axis_placement_has_properties (см. [5.2.4.44](#p114208));
- <a id="p112308"></a>global_id_is_unique (см. [5.2.4.45](#p114249));
- <a id="p112309"></a>hull_moulded_form_design_parameter_with_class_references (см. [5.2.4.46](#p114277));
- <a id="p112310"></a>hydrostatic_properties_with_specified_class (см. [5.2.4.47](#p114318));
- <a id="p112311"></a>hydrostatic_property_with_specified_name (см. [5.2.4.48](#p114371));
- <a id="p112312"></a>offset_point_table_model_compound_representation_has_name (см. [5.2.4.54](#p114533));
- <a id="p112313"></a>principal_characteristics_has_properties (см. [5.2.4.55](#p114570));
- <a id="p112314"></a>product_definition_for_regulation (см. [5.2.4.64](#p114898));
- <a id="p112315"></a>product_definition_for_class_notation (см. [5.2.4.57](#p114644));
- <a id="p112316"></a>product_definition_for_owning_company (см. [5.2.4.62](#p114829));
- <a id="p112317"></a>product_definition_relationship_with_identification_assignment (см. [5.2.4.69](#p115089));
- <a id="p112318"></a>product_definition_shape_with_identification_assignment (см. [5.2.4.70](#p115126));
- <a id="p112319"></a>product_definition_for_call_sign (см. [5.2.4.56](#p114610));
- <a id="p112320"></a>product_definition_for_flag_state (см. [5.2.4.58](#p114679));
- <a id="p112321"></a>product_definition_for_port_of_registration (см. [5.2.4.63](#p114864));
- <a id="p112322"></a>product_definition_for_shipyard (см. [5.2.4.65](#p114933));
- <a id="p112323"></a>product_definition_for_managing_company (см. [5.2.4.60](#p114764));
- <a id="p112324"></a>product_definition_for_ordering_company (см. [5.2.4.61](#p114797));
- <a id="p112325"></a>product_definition_for_stability_definition (см. [5.2.4.66](#p114967));
- <a id="p112326"></a>product_definition_for_hydrostatic_definition_requires_reference (см. [5.2.4.59](#p114712));
- <a id="p112327"></a>product_definition_with_identification_assignment (см. [5.2.4.71](#p115165));
- <a id="p112328"></a>product_definition_relationship_related_to_class_moulded_form (см. [5.2.4.68](#p115042));
- <a id="p112329"></a>product_related_product_category_with_identification_assignment (см. [5.2.4.72](#p115203));
- <a id="p112330"></a>product_with_identification_assignment (см. [5.2.4.73](#p115241));
- <a id="p112331"></a>propeller_moulded_form_design_parameter_with_class_references (см. [5.2.4.74](#p115278));
- <a id="p112332"></a>property_definition_for_class_notation (см. [5.2.4.78](#p115422));
- <a id="p112333"></a>property_definition_for_rudder_moulded_form_design_parameter (см. [5.2.4.86](#p115696));
- <a id="p112334"></a>property_definition_for_moulded_form_function_parameters (см. [5.2.4.84](#p115626));
- <a id="p112335"></a>property_definition_for_local_coordinate_system_with_position (см. [5.2.4.83](#p115592));
- <a id="p112336"></a>property_definition_for_class_society (см. [5.2.4.79](#p115455));
- <a id="p112337"></a>property_definition_for_thruster_moulded_form_design_parameter (см. [5.2.4.87](#p115731));
- <a id="p112338"></a>property_definition_with_identification_assignment (см. [5.2.4.89](#p115801));
- <a id="p112339"></a>property_definition_for_deck_moulded_form_design_parameter (см. [5.2.4.80](#p115489));
- <a id="p112340"></a>property_definition_for_thruster_propeller_parameter (см. [5.2.4.88](#p115766));
- <a id="p112341"></a>property_definition_for_appendage_moulded_form_design_parameter (см. [5.2.4.75](#p115317));
- <a id="p112342"></a>property_definition_for_bottom_moulded_form_design_parameter (см. [5.2.4.76](#p115352));
- <a id="p112343"></a>property_definition_for_bulb_moulded_form_design_parameter (см. [5.2.4.77](#p115387));
- <a id="p112344"></a>property_definition_for_local_coordinate_system (см. [5.2.4.82](#p115558));
- <a id="p112345"></a>property_definition_of_propeller_moulded_form_design_parameter (см. [5.2.4.85](#p115662));
- <a id="p112346"></a>property_definition_for_hull_moulded_form_design_parameter (см. [5.2.4.81](#p115523));
- <a id="p112347"></a>representation_for_stability_table_restricted_by_class_id (см. [5.2.4.111](#p116662));
- <a id="p112348"></a>representation_for_offset_point_table_model_for_section (см. [5.2.4.105](#p116417));
- <a id="p112349"></a>representation_for_hydrostatic_table_restricted (см. [5.2.4.98](#p116153));
- <a id="p112350"></a>representation_for_midship_tumble_restricted_by_class_id (см. [5.2.4.102](#p116309));
- <a id="p112351"></a>representation_for_hydrostatic_table_restricted_by_class_id (см. [5.2.4.99](#p116202));
- <a id="p112352"></a>representation_for_propeller_location_restricted_by_class_id (см. [5.2.4.107](#p116502));
- <a id="p112353"></a>representation_for_offset_table_shape_representation_restricted (см. [5.2.4.106](#p116452));
- <a id="p112354"></a>representation_for_hydrostatic_table_constrained (см. [5.2.4.97](#p116104));
- <a id="p112355"></a>representation_for_stability_table_restricted (см. [5.2.4.110](#p116612));
- <a id="p112356"></a>representation_item_for_transformation_to_parent (см. [5.2.4.125](#p117180));
- <a id="p112357"></a>ship_curve_has_name (см. [5.2.4.135](#p117540));
- <a id="p112358"></a>ship_curve_segment_has_class (см. [5.2.4.136](#p117577));
- <a id="p112359"></a>ship_curve_with_spacing_position_has_class (см. [5.2.4.137](#p117627));
- <a id="p112360"></a>ship_designation_has_one_specified_names (см. [5.2.4.138](#p117677));
- <a id="p112361"></a>ship_overall_dimensions_has_properties (см. [5.2.4.140](#p117732));
- <a id="p112362"></a>ship_point_compound_representation_has_name (см. [5.2.4.141](#p117772));
- <a id="p112363"></a>ship_surface_compound_representation_has_name (см. [5.2.4.142](#p117809));
- <a id="p112364"></a>spacing_position_compound_representation_has_name (см. [5.2.4.143](#p117846));
- <a id="p112365"></a>spacing_position_with_offset_compound_representation_has_class (см. [5.2.4.144](#p117881));
- <a id="p112366"></a>spacing_position_with_offset_compound_representation_has_name (см. [5.2.4.145](#p117926));
- <a id="p112367"></a>stability_properties_for_floating_position_has_name (см. [5.2.4.147](#p118013));
- <a id="p112368"></a>stability_properties_for_floating_position_has_class (см. [5.2.4.146](#p117962));
- <a id="p112369"></a>stability_property_has_name (см. [5.2.4.148](#p118051));
- <a id="p112370"></a>valid_product_definition_for_class_moulded_form (см. [5.2.4.153](#p118181));
- <a id="p112371"></a>versioned_action_request_with_identification_assignment (см. [5.2.4.165](#p118524)).

###### <a id="p112372"></a>5.2.3.1.5 Объект applied_date_and_time_assignment

<a id="p112373"></a>Объект applied_date_and_time_assignment задает те объекты date_and_time_items, которым присваивается указанный объект date_and_time_assignment.
<a id="p112374"></a>EXPRESS-спецификация:
<a id="p112375"></a>*)
<a id="p112376"></a>ENTITY applied_date_and_time_assignment
<a id="p112377"></a>  SUBTYPE OF (date_and_time_assignment);
<a id="p112378"></a>  items : SET [1:?] OF date_and_time_item;
<a id="p112379"></a>**END_ENTITY;**
<a id="p112380"></a>(*
<a id="p112381"></a>Определение атрибута:
<a id="p112382"></a>items: набор объектов date_and_time_item, для которых применяется конкретный объект date_and_time_assignment.
<a id="p112383"></a>Соответствующие глобальные правила:
<a id="p112384"></a>Для объекта applied_date_and_time_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112385"></a>caused_when_for_check (см. [5.2.4.20](#p113456));
- <a id="p112386"></a>caused_when_for_version_creation (см. [5.2.4.22](#p113512));
- <a id="p112387"></a>caused_when_for_version_deletion (см. [5.2.4.24](#p113569));
- <a id="p112388"></a>caused_when_for_version_modification (см. [5.2.4.23](#p113541));
- <a id="p112389"></a>caused_when_for_envisaged_version_creation (см. [5.2.4.21](#p113484));
- <a id="p112390"></a>date_time_for_change_plan (см. [5.2.4.34](#p113920));
- <a id="p112391"></a>date_time_for_change_realisation (см. [5.2.4.36](#p113978));
- <a id="p112392"></a>date_time_for_change_request (см. [5.2.4.35](#p113949)).

###### <a id="p112393"></a>5.2.3.1.6 Объект applied_document_reference

<a id="p112394"></a>Объект applied_document_reference задает те объекты document_reference_items, которым присваивается привязанный объект document_reference.
<a id="p112395"></a>EXPRESS-спецификация:
<a id="p112396"></a>*)
<a id="p112397"></a>ENTITY applied_document_reference
<a id="p112398"></a>  SUBTYPE OF (document_reference);
<a id="p112399"></a>  items : SET [1:?] OF document_reference_item;
<a id="p112400"></a>**END_ENTITY;**
<a id="p112401"></a>(*
<a id="p112402"></a>Определение атрибута:
<a id="p112403"></a>items: набор объектов document_reference_item, для которых применяется конкретный объект document_reference.

###### <a id="p112404"></a>5.2.3.1.7 Объект applied_effectivity_assignment

<a id="p112405"></a>Объект applied_effectivity_assignment задает те объекты effectivity_items, которым присваивается привязанный объект effectivity_assignment.
<a id="p112406"></a>EXPRESS-спецификация:
<a id="p112407"></a>*)
<a id="p112408"></a>ENTITY applied_effectivity_assignment
<a id="p112409"></a>  SUBTYPE OF (effectivity_assignment);
<a id="p112410"></a>  items : SET [1:?] OF effectivity_item;
<a id="p112411"></a>**END_ENTITY;**
<a id="p112412"></a>(*
<a id="p112413"></a>Определение атрибута:
<a id="p112414"></a>items: набор объектов effectivity_item, для которых применяется конкретный объект effectivity_assignment.

###### <a id="p112415"></a>5.2.3.1.8 Объект applied_external_identification_assignment

<a id="p112416"></a>Объект applied_external_identification_assignment задает те объекты external_identification_items, которым присваивается привязанный объект external_identification_assignment.
<a id="p112417"></a>EXPRESS-спецификация:
<a id="p112418"></a>*)
<a id="p112419"></a>ENTITY applied_external_identification_assignment
<a id="p112420"></a>  SUBTYPE OF (external_identification_assignment);
<a id="p112421"></a>  items : SET [1:?] OF external_identification_item;
<a id="p112422"></a>**END_ENTITY;**
<a id="p112423"></a>(*
<a id="p112424"></a>Определение атрибута:
<a id="p112425"></a>items: набор объектов external_identification_item, для которых применяется конкретный объект external_identification_assignment.
<a id="p112426"></a>Соответствующие глобальные правила:
<a id="p112427"></a>Для объекта applied_external_identification_assignment применяется следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112428"></a>document_reference_with_address_has_at_least_one_references (см. [5.2.4.39](#p114062)).

###### <a id="p112429"></a>5.2.3.1.9 Объект applied_group_assignment

<a id="p112430"></a>Объект applied_group_assignment задает те объекты group_items, которым присваивается привязанный объект group_assignment.
<a id="p112431"></a>EXPRESS-спецификация:
<a id="p112432"></a>*)
<a id="p112433"></a>ENTITY applied_group_assignment
<a id="p112434"></a>  SUBTYPE OF (group_assignment);
<a id="p112435"></a>  items : SET [1:?] OF group_item;
<a id="p112436"></a>**END_ENTITY;**
<a id="p112437"></a>(*
<a id="p112438"></a>Определение атрибута:
<a id="p112439"></a>items: набор объектов group_item, для которых применяется конкретный объект group_assignment.
<a id="p112440"></a>Соответствующие глобальные правила:
<a id="p112441"></a>Для объекта applied_group_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112442"></a>approval_history_approves_same_definition (см. [5.2.4.9](#p113135));
- <a id="p112443"></a>approval_history_has_at_least_one_member (см. [5.2.4.10](#p113173));
- <a id="p112444"></a>approvals_references_approval_history (см. [5.2.4.11](#p113201));
- <a id="p112445"></a>change_impact_with_versionable_object_change_event (см. [5.2.4.26](#p113634));
- <a id="p112446"></a>members_is_referenced_by_at_least_one_revision (см. [5.2.4.52](#p114479));
- <a id="p112447"></a>revision_with_context_referenced_for_context_of_revision (см. [5.2.4.134](#p117512));
- <a id="p112448"></a>version_history_referenced_by_multiple_roles (см. [5.2.4.159](#p118375));
- <a id="p112449"></a>version_history_is_referenced_by_at_least_one_versions (см. [5.2.4.157](#p118317));
- <a id="p112450"></a>unique_approvals_in_approval_history (см. [5.2.4.150](#p118127));
- <a id="p112451"></a>version_history_referenced_by_exactly_one_current_version (см. [5.2.4.158](#p118345));
- <a id="p112452"></a>version_history_has_exactly_one_assigned_group (см. [5.2.4.156](#p118283));
- <a id="p112453"></a>versions_is_referenced_by_at_least_one_version_history (см. [5.2.4.166](#p118559)).

###### <a id="p112454"></a>5.2.3.1.10 Объект applied_identification_assignment

<a id="p112455"></a>Объект applied_identification_assignment задает те объекты identification_items, которым присваивается привязанный объект identification_assignment.
<a id="p112456"></a>EXPRESS-спецификация:
<a id="p112457"></a>*)
<a id="p112458"></a>ENTITY applied_identification_assignment
<a id="p112459"></a>  SUBTYPE OF (identification_assignment);
<a id="p112460"></a>  items : SET [1:?] OF identification_item;
<a id="p112461"></a>**END_ENTITY;**
<a id="p112462"></a>(*
<a id="p112463"></a>Определение атрибута:
<a id="p112464"></a>items: набор объектов identification_item, для которых применяется конкретный объект identification_assignment.
<a id="p112465"></a>Соответствующие глобальные правила:
<a id="p112466"></a>Для объекта applied_identification_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112467"></a>compound_representation_item_with_section_identifier (см. [5.2.4.33](#p113885));
- <a id="p112468"></a>global_id_is_unique (см. [5.2.4.45](#p114249));
- <a id="p112469"></a>product_definition_for_port_of_registration (см. [5.2.4.63](#p114864));
- <a id="p112470"></a>product_definition_for_call_sign (см. [5.2.4.56](#p114610));
- <a id="p112471"></a>product_definition_for_flag_state (см. [5.2.4.58](#p114679));
- <a id="p112472"></a>representation_for_offset_point_table_model_for_point (см. [5.2.4.104](#p116382));
- <a id="p112473"></a>ship_designation_has_one_specified_names (см. [5.2.4.138](#p117677));
- <a id="p112474"></a>version_relationship_associates_with_versionable_object (см. [5.2.4.161](#p118423));
- <a id="p112475"></a>versionable_object_has_one_version_id (см. [5.2.4.164](#p118496)).

###### <a id="p112476"></a>5.2.3.1.11 Объект applied_organization_assignment

<a id="p112477"></a>Объект applied_organization_assignment задает те объекты organization_items, которым присваивается привязанный объект organization_assignment.
<a id="p112478"></a>EXPRESS-спецификация:
<a id="p112479"></a>*)
<a id="p112480"></a>ENTITY applied_organization_assignment
<a id="p112481"></a>  SUBTYPE OF (organization_assignment);
<a id="p112482"></a>  items : SET [1:?] OF organization_item;
<a id="p112483"></a>**END_ENTITY;**
<a id="p112484"></a>(*
<a id="p112485"></a>Определение атрибута:
<a id="p112486"></a>items: набор объектов organization_item, для которых применяется конкретный объект organization_assignment.
<a id="p112487"></a>Соответствующие глобальные правила:
<a id="p112488"></a>Для объекта applied_organization_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112489"></a>property_definition_for_class_society (см. [5.2.4.79](#p115455));
- <a id="p112490"></a>product_definition_for_managing_company (см. [5.2.4.60](#p114764));
- <a id="p112491"></a>product_definition_for_ordering_company (см. [5.2.4.61](#p114797));
- <a id="p112492"></a>product_definition_for_owning_company (см. [5.2.4.62](#p114829));
- <a id="p112493"></a>product_definition_for_shipyard (см. [5.2.4.65](#p114933)).

###### <a id="p112494"></a>5.2.3.1.12 Объект applied_person_assignment

<a id="p112495"></a>Объект applied_person_assignment задает те объекты person_items, которым присваивается привязанный объект person_assignment.
<a id="p112496"></a>EXPRESS-спецификация:
<a id="p112497"></a>*);
<a id="p112498"></a>ENTITY applied_person_assignment
<a id="p112499"></a>  SUBTYPE OF (person_assignment);
<a id="p112500"></a>  items : SET [1:?] OF person_item;
<a id="p112501"></a>**END_ENTITY;**
<a id="p112502"></a>(*
<a id="p112503"></a>Определение атрибута:
<a id="p112504"></a>items: набор объектов person_item, для которых применяется конкретный объект person_assignment.
<a id="p112505"></a>Соответствующие глобальные правила:
<a id="p112506"></a>Для объекта applied_organization_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112507"></a>document_has_exactly_one_author (см. [5.2.4.38](#p114033)).

###### <a id="p112508"></a>5.2.3.1.13 Объект applied_person_and_organization_assignment

<a id="p112509"></a>Объект applied_person_and_organization_assignment задает те объекты person_and_organization_items, которым присваивается объект person_and_organization_assignment.
<a id="p112510"></a>EXPRESS-спецификация:
<a id="p112511"></a>*)
<a id="p112512"></a>ENTITY applied_person_and_organization_assignment
<a id="p112513"></a>  SUBTYPE OF (person_and_organization_assignment);
<a id="p112514"></a>  items : SET [1:?] OF person_and_organization_item;
<a id="p112515"></a>**END_ENTITY;**
<a id="p112516"></a>(*
<a id="p112517"></a>Определение атрибута:
<a id="p112518"></a>items: набор объектов person_and_organization_item, для которых применяется конкретный объект person_and_organization_assignment.
<a id="p112519"></a>Определение атрибута:
<a id="p112520"></a>items: набор объектов person_item, для которых применяется конкретный объект person_assignment.
<a id="p112521"></a>Соответствующие глобальные правила:
<a id="p112522"></a>Для объекта applied_organization_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112523"></a>author_for_change_plan (см. [5.2.4.12](#p113226));
- <a id="p112524"></a>author_for_change_realisation (см. [5.2.4.13](#p113255));
- <a id="p112525"></a>author_for_change_request (см. [5.2.4.14](#p113284));
- <a id="p112526"></a>caused_by_for_check (см. [5.2.4.15](#p113313));
- <a id="p112527"></a>caused_by_for_envisaged_version_creation (см. [5.2.4.16](#p113341));
- <a id="p112528"></a>caused_by_for_version_creation (см. [5.2.4.17](#p113369));
- <a id="p112529"></a>caused_by_for_version_deletion (см. [5.2.4.18](#p113398));
- <a id="p112530"></a>caused_by_for_version_modification (см. [5.2.4.19](#p113427));
- <a id="p112531"></a>initiator_for_change_request (см. [5.2.4.50](#p114424)).

###### <a id="p112532"></a>5.2.3.1.14 Объект class

<a id="p112533"></a>Объект class является типом объекта group, который задает тип присвоения классификации.
<a id="p112534"></a>EXPRESS-спецификация:
<a id="p112535"></a>*)
<a id="p112536"></a>ENTITY class
<a id="p112537"></a>  SUBTYPE OF (group);
<a id="p112538"></a>**WHERE**
<a id="p112539"></a>  WR1: (SIZEOF(QUERY ( oa <* USEDIN(SELF,
<a id="p112540"></a>    'SHIP_MOULDED_FORM_SCHEMA.GROUP_ASSIGNMENT.ASSIGNED_GROUP')|
<a id="p112541"></a>      NOT ('SHIP_MOULDED_FORM_SCHEMA.APPLIED_GROUP_ASSIGNMENT'
<a id="p112542"></a>    IN TYPEOF(oa))
<a id="p112543"></a>    )) =0);
<a id="p112544"></a>**END_ENTITY;**
<a id="p112545"></a>(*
<a id="p112546"></a>Формальное высказывание:
<a id="p112547"></a>WR1: Каждый объект class не должен привязываться каким-либо объектом applied_group_assignment через атрибут assigned_group.

###### <a id="p112548"></a>5.2.3.2 Модификация (изменение) объектов, импортированных в теоретические обводы судна


###### <a id="p112549"></a>5.2.3.2.1 Изменение объекта action

<a id="p112550"></a>Основное описание объекта action дано в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112551"></a>Соответствующие глобальные правила:
<a id="p112552"></a>Для объекта action применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112553"></a>action_request_solution_connected_to_action (см. [5.2.4.1](#p112899));
- <a id="p112554"></a>caused_by_for_check (см. [5.2.4.15](#p113313));
- <a id="p112555"></a>caused_by_for_envisaged_version_creation (см. [5.2.4.16](#p113341));
- <a id="p112556"></a>caused_by_for_version_creation (см. [5.2.4.17](#p113369));
- <a id="p112557"></a>caused_by_for_version_modification (см. [5.2.4.19](#p113427));
- <a id="p112558"></a>caused_by_for_version_deletion (см. [5.2.4.18](#p113398));
- <a id="p112559"></a>caused_when_for_check (см. [5.2.4.20](#p113456));
- <a id="p112560"></a>caused_when_for_envisaged_version_creation (см. [5.2.4.21](#p113484));
- <a id="p112561"></a>caused_when_for_version_creation (см. [5.2.4.22](#p113512));
- <a id="p112562"></a>caused_when_for_version_deletion (см. [5.2.4.24](#p113569));
- <a id="p112563"></a>caused_when_for_version_modification (см. [5.2.4.23](#p113541));
- <a id="p112564"></a>envisaged_version_creation_has_mandatory_attribute_description (см. [5.2.4.40](#p114087));
- <a id="p112565"></a>version_creation_has_mandatory_attribute_description (см. [5.2.4.154](#p118237));
- <a id="p112566"></a>version_deletion_has_mandatory_attribute_description (см. [5.2.4.155](#p118260));
- <a id="p112567"></a>version_modification_has_mandatory_attribute_description (см. [5.2.4.160](#p118401)).

###### <a id="p112568"></a>5.2.3.2.2 Изменение объекта action_request_solution

<a id="p112569"></a>Основное описание объекта action_request_solution приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112570"></a>Соответствующие глобальные правила:
<a id="p112571"></a>Для объекта action_request_solution применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112572"></a>action_request_solution_connected_to_action (см. [5.2.4.1](#p112899));
- <a id="p112573"></a>change_plan_has_mandatory_attribute_description (см. [5.2.4.27](#p113662));
- <a id="p112574"></a>date_time_for_change_plan (см. [5.2.4.34](#p113920)).

###### <a id="p112575"></a>5.2.3.2.3 Изменение объекта approval

<a id="p112576"></a>Основное описание объекта approval приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112577"></a>Соответствующие глобальные правила:
<a id="p112578"></a>Для объекта action_request_solution применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112579"></a>approval_event_with_approval_date_time (см. [5.2.4.8](#p113109));
- <a id="p112580"></a>approval_event_with_approval_person_organization (см. [5.2.4.7](#p113082));
- <a id="p112581"></a>no_approvals_except_in_approval_history (см. [5.2.4.53](#p114504)).

###### <a id="p112582"></a>5.2.3.2.4 Изменение объекта approval_date_time

<a id="p112583"></a>Основное описание объекта approval_date_time приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112584"></a>Соответствующие глобальные правила:
<a id="p112585"></a>Для объекта approval_date_time применяется следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112586"></a>approval_event_with_approval_date_time (см. [5.2.4.8](#p113109)).

###### <a id="p112587"></a>5.2.3.2.5 Изменение объекта approval_person_organization

<a id="p112588"></a>Основное описание объекта approval_person_organization приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112589"></a>Соответствующие глобальные правила:
<a id="p112590"></a>Для объекта approval_person_organization применяется следующее глобальное правило, определенные в настоящем стандарте:
- <a id="p112591"></a>approval_event_with_approval_person_organization (см. [5.2.4.7](#p113082)).

###### <a id="p112592"></a>5.2.3.2.6 Изменение объекта compound_representation_item

<a id="p112593"></a>Основное описание объекта compound_representation_item приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112594"></a>Соответствующие глобальные правила:
<a id="p112595"></a>Для объекта compound_representation_item применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112596"></a>centre_location_compound_representation_has_specified_name (см. [5.2.4.25](#p113597));
- <a id="p112597"></a>compound_representation_item_with_section_identifier (см. [5.2.4.33](#p113885));
- <a id="p112598"></a>compound_representation_item_with_class_id_knot (см. [5.2.4.32](#p113836));
- <a id="p112599"></a>compound_representation_item_with_hydrostatic_properties (см. [5.2.4.31](#p113798));
- <a id="p112600"></a>floating_position_compound_representation_with_name (см. [5.2.4.43](#p114171));
- <a id="p112601"></a>hydrostatic_properties_with_specified_class (см. [5.2.4.47](#p114318));
- <a id="p112602"></a>hydrostatic_property_with_specified_name (см. [5.2.4.48](#p114371));
- <a id="p112603"></a>offset_point_table_model_compound_representation_has_name (см. [5.2.4.54](#p114533));
- <a id="p112604"></a>ship_curve_has_name (см. [5.2.4.135](#p117540));
- <a id="p112605"></a>ship_curve_segment_has_class (см. [5.2.4.136](#p117577));
- <a id="p112606"></a>ship_curve_with_spacing_position_has_class (см. [5.2.4.137](#p117627));
- <a id="p112607"></a>ship_point_compound_representation_has_name (см. [5.2.4.141](#p117772));
- <a id="p112608"></a>ship_surface_compound_representation_has_name (см. [5.2.4.142](#p117809));
- <a id="p112609"></a>spacing_position_compound_representation_has_name (см. [5.2.4.143](#p117846));
- <a id="p112610"></a>spacing_position_with_offset_compound_representation_has_name (см. [5.2.4.145](#p117926));
- <a id="p112611"></a>spacing_position_with_offset_compound_representation_has_class (см. [5.2.4.144](#p117881));
- <a id="p112612"></a>stability_properties_for_floating_position_has_name (см. [5.2.4.147](#p118013));
- <a id="p112613"></a>stability_properties_for_floating_position_has_class (см. [5.2.4.146](#p117962));
- <a id="p112614"></a>stability_property_has_name (см. [5.2.4.148](#p118051)).

###### <a id="p112615"></a>5.2.3.2.7 Изменение объекта date_time_role

<a id="p112616"></a>Основное описание объекта date_time_role приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112617"></a>Соответствующие глобальные правила:
<a id="p112618"></a>Для объекта date_time_role применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112619"></a>caused_when_for_check (см. [5.2.4.20](#p113456));
- <a id="p112620"></a>caused_when_for_envisaged_version_creation (см. [5.2.4.21](#p113484));
- <a id="p112621"></a>caused_when_for_version_creation (см. [5.2.4.22](#p113512));
- <a id="p112622"></a>caused_when_for_version_deletion (см. [5.2.4.24](#p113569));
- <a id="p112623"></a>caused_when_for_version_modification (см. [5.2.4.23](#p113541));
- <a id="p112624"></a>date_time_for_change_plan (см. [5.2.4.34](#p113920));
- <a id="p112625"></a>date_time_for_change_realisation (см. [5.2.4.36](#p113978));
- <a id="p112626"></a>date_time_for_change_request (см. [5.2.4.35](#p113949)).

###### <a id="p112627"></a>5.2.3.2.8 Изменение объекта document

<a id="p112628"></a>Основное описание объекта document приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112629"></a>Соответствующие глобальные правила:
<a id="p112630"></a>Для объекта document применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112631"></a>document_has_exactly_one_author (см. [5.2.4.38](#p114033));
- <a id="p112632"></a>document_reference_with_address_has_at_least_one_references (см. [5.2.4.39](#p114062)).

###### <a id="p112633"></a>5.2.3.2.9 Изменение объекта document_representation_type

<a id="p112634"></a>Основное описание объекта document_representation_type приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112635"></a>Соответствующие глобальные правила:
<a id="p112636"></a>Для объекта document_representation_type применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112637"></a>document_has_at_least_one_references (см. [5.2.4.37](#p114007));
- <a id="p112638"></a>document_has_exactly_one_author (см. [5.2.4.38](#p114033)).

###### <a id="p112639"></a>5.2.3.2.10 Изменение объекта executed_action

<a id="p112640"></a>Основное описание объекта executed_action приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112641"></a>Соответствующие глобальные правила:
<a id="p112642"></a>Для объекта executed_action применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112643"></a>author_for_change_realisation (см. [5.2.4.13](#p113255));
- <a id="p112644"></a>date_time_for_change_realisation (см. [5.2.4.36](#p113978)).

###### <a id="p112645"></a>5.2.3.2.11 Изменение объекта external_source

<a id="p112646"></a>Основное описание объекта external_source приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112647"></a>Соответствующие глобальные правила:
<a id="p112648"></a>Для объекта external_source применяется следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112649"></a>mandatory_entity_type_for_external_instance_reference (см. [5.2.4.51](#p114454)).

###### <a id="p112650"></a>5.2.3.2.12 Изменение объекта external_source_relationship

<a id="p112651"></a>Основное описание объекта external_source_relationship приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112652"></a>Для объекта external_source_relationship применяется следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112653"></a>mandatory_entity_type_for_external_instance_reference (см. [5.2.4.51](#p114454)).

###### <a id="p112654"></a>5.2.3.2.13 Изменение объекта group

<a id="p112655"></a>Основное описание объекта group приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112656"></a>Соответствующие глобальные правила:
<a id="p112657"></a>Для объекта group применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112658"></a>approval_history_has_at_least_one_member (см. [5.2.4.10](#p113173));
- <a id="p112659"></a>approvals_references_approval_history (см. [5.2.4.11](#p113201));
- <a id="p112660"></a>change_impact_with_versionable_object_change_event (см. [5.2.4.26](#p113634));
- <a id="p112661"></a>class_and_statutory_designation_has_properties (см. [5.2.4.28](#p113685));
- <a id="p112662"></a>class_parameters_has_properties (см. [5.2.4.30](#p113759));
- <a id="p112663"></a>global_axis_placement_has_properties (см. [5.2.4.44](#p114208));
- <a id="p112664"></a>members_is_referenced_by_at_least_one_revision (см. [5.2.4.52](#p114479));
- <a id="p112665"></a>principal_characteristics_has_properties (см. [5.2.4.55](#p114570)):
- <a id="p112666"></a>product_definition_for_regulation (см. [5.2.4.64](#p114898));
- <a id="p112667"></a>product_definition_for_shipyard (см. [5.2.4.65](#p114933));
- <a id="p112668"></a>product_definition_for_owning_company (см. [5.2.4.62](#p114829));
- <a id="p112669"></a>product_definition_for_ordering_company (см. [5.2.4.61](#p114797));
- <a id="p112670"></a>product_definition_for_managing_company (см. [5.2.4.60](#p114764));
- <a id="p112671"></a>product_definition_for_class_notation (см. [5.2.4.57](#p114644));
- <a id="p112672"></a>product_definition_for_port_of_registration (см. [5.2.4.63](#p114864));
- <a id="p112673"></a>product_definition_for_flag_state (см. [5.2.4.58](#p114679));
- <a id="p112674"></a>product_definition_for_call_sign (см. [5.2.4.56](#p114610));
- <a id="p112675"></a>product_related_product_category_with_identification_assignment (см. [5.2.4.72](#p115203));
- <a id="p112676"></a>property_definition_for_local_coordinate_system_with_position (см. [5.2.4.83](#p115592));
- <a id="p112677"></a>property_definition_for_class_notation (см. [5.2.4.78](#p115422));
- <a id="p112678"></a>property_definition_for_class_society (см. [5.2.4.79](#p115455));
- <a id="p112679"></a>representation_item_for_transformation_to_parent (см. [5.2.4.125](#p117180));
- <a id="p112680"></a>revision_has_mandatory_attribute_description (см. [5.2.4.133](#p117490));
- <a id="p112681"></a>revision_with_context_referenced_for_context_of_revision (см. [5.2.4.134](#p117512));
- <a id="p112682"></a>ship_designation_has_one_specified_names (см. [5.2.4.138](#p117677));
- <a id="p112683"></a>spacing_position_compound_representation_has_name (см. [5.2.4.143](#p117846));
- <a id="p112684"></a>spacing_position_with_offset_compound_representation_has_class (см. [5.2.4.144](#p117881));
- <a id="p112685"></a>spacing_position_with_offset_compound_representation_has_name (см. [5.2.4.145](#p117926));
- <a id="p112686"></a>unique_approvals_in_approval_history (см. [5.2.4.150](#p118127));
- <a id="p112687"></a>version_history_has_exactly_one_assigned_group (см. [5.2.4.156](#p118283));
- <a id="p112688"></a>version_history_is_referenced_by_at_least_one_versions (см. [5.2.4.157](#p118317));
- <a id="p112689"></a>version_history_referenced_by_exactly_one_current_version (см. [5.2.4.158](#p118345));
- <a id="p112690"></a>version_history_referenced_by_multiple_roles (см. [5.2.4.159](#p118375));
- <a id="p112691"></a>versions_is_referenced_by_at_least_one_version_history (см. [5.2.4.166](#p118559)).

###### <a id="p112692"></a>5.2.3.2.14 Изменение объекта group_assignment

<a id="p112693"></a>Основное описание объекта group_assignment приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112694"></a>Соответствующие глобальные правила:
<a id="p112695"></a>Для объекта group_assignment применяются следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112696"></a>valid_product_definition_for_class_moulded_form (см. [5.2.4.153](#p118181)).

###### <a id="p112697"></a>5.2.3.2.15 Изменение объекта identification_assignment_relationship

<a id="p112698"></a>Основное описание объекта identification_assignment_relationship приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112699"></a>Соответствующие глобальные правила:
<a id="p112700"></a>Для объекта identification_assignment_relationship применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112701"></a>alternative_version_relationship_has_mandatory_description (см. [5.2.4.4](#p113001));
- <a id="p112702"></a>alternative_version_relationship_has_unique_versions (см. [5.2.4.5](#p113025));
- <a id="p112703"></a>alternative_version_relationship_versionable_object (см. [5.2.4.6](#p113051));
- <a id="p112704"></a>version_relationship_has_mandatory_attribute_description (см. [5.2.4.162](#p118451));
- <a id="p112705"></a>version_relationship_has_unique_versions (см. [5.2.4.163](#p118472)).

###### <a id="p112706"></a>5.2.3.2.16 Изменение объекта identification_role

<a id="p112707"></a>Основное описание объекта identification_role приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112708"></a>Соответствующие глобальные правила:
<a id="p112709"></a>Для объекта identification_role применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112710"></a>global_id_is_unique (см. [5.2.4.45](#p114249));
- <a id="p112711"></a>identification_role_optional_attribute_description_required (см. [5.2.4.49](#p114408));
- <a id="p112712"></a>representation_has_global_unit_assigned_context (см. [5.2.4.114](#p116755)).

###### <a id="p112713"></a>5.2.3.2.17 Изменение объекта mapped_item

<a id="p112714"></a>Основное описание объекта identification_role приведено в ИСО 10303-43. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112715"></a>Соответствующие глобальные правила:
<a id="p112716"></a>Для объекта identification_role применяется следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112717"></a>representation_item_for_transformation_to_parent (см. [5.2.4.125](#p117180)).

###### <a id="p112718"></a>5.2.3.2.18 Изменение объекта object_role

<a id="p112719"></a>Основное описание объекта object_role приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112720"></a>Соответствующие глобальные правила:
<a id="p112721"></a>Для объекта object_role применяется следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112722"></a>approvals_references_approval_history (см. [5.2.4.11](#p113201)).

###### <a id="p112723"></a>5.2.3.2.19 Изменение объекта person_and_organization_role

<a id="p112724"></a>Основное описание объекта person_and_organization_role приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112725"></a>Соответствующие глобальные правила:
<a id="p112726"></a>Для объекта person_and_organization_role применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112727"></a>author_for_change_plan (см. [5.2.4.12](#p113226));
- <a id="p112728"></a>author_for_change_realisation (см. [5.2.4.13](#p113255));
- <a id="p112729"></a>author_for_change_request (см. [5.2.4.14](#p113284));
- <a id="p112730"></a>caused_by_for_check (см. [5.2.4.15](#p113313));
- <a id="p112731"></a>caused_by_for_envisaged_version_creation (см. [5.2.4.16](#p113341));
- <a id="p112732"></a>caused_by_for_version_creation (см. [5.2.4.17](#p113369));
- <a id="p112733"></a>caused_by_for_version_deletion (см. [5.2.4.18](#p113398));
- <a id="p112734"></a>caused_by_for_version_modification (см. [5.2.4.19](#p113427));
- <a id="p112735"></a>initiator_for_change_request (см. [5.2.4.50](#p114424)).

###### <a id="p112736"></a>5.2.3.2.20 Изменение объекта product_definition

<a id="p112737"></a>Основное описание объекта product_definition приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112738"></a>Соответствующие глобальные правила:
<a id="p112739"></a>Для объекта product_definition применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112740"></a>class_and_statutory_designation_has_properties (см. [5.2.4.28](#p113685));
- <a id="p112741"></a>class_parameters_has_properties (см. [5.2.4.30](#p113759));
- <a id="p112742"></a>product_definition_for_call_sign (см. [5.2.4.56](#p114610));
- <a id="p112743"></a>product_definition_for_flag_state (см. [5.2.4.58](#p114679));
- <a id="p112744"></a>product_definition_for_managing_company (см. [5.2.4.60](#p114764));
- <a id="p112745"></a>product_definition_for_ordering_company (см. [5.2.4.61](#p114797));
- <a id="p112746"></a>product_definition_for_owning_company (см. [5.2.4.62](#p114829));
- <a id="p112747"></a>product_definition_for_port_of_registration (см. [5.2.4.63](#p114864));
- <a id="p112748"></a>product_definition_for_regulation (см. [5.2.4.64](#p114898));
- <a id="p112749"></a>product_definition_for_shipyard (см. [5.2.4.65](#p114933));
- <a id="p112750"></a>property_definition_for_class_notation (см. [5.2.4.78](#p115422));
- <a id="p112751"></a>ship_designation_has_one_specified_names (см. [5.2.4.138](#p117677));
- <a id="p112752"></a>valid_product_definition_for_class_moulded_form (см. [5.2.4.153](#p118181)).

###### <a id="p112753"></a>5.2.3.2.21 Изменение объекта product_definition_shape

<a id="p112754"></a>Основное описание объекта product_definition_shape приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112755"></a>Соответствующие глобальные правила:
<a id="p112756"></a>Для объекта product_definition_shape применяется следующее глобальное правило, определенное в настоящем стандарте:
- <a id="p112757"></a>product_definition_shape_with_identification_assignment (см. [5.2.4.70](#p115126)).

###### <a id="p112758"></a>5.2.3.2.22 Изменение объекта product_definition_relationship

<a id="p112759"></a>Основное описание объекта product_definition_relationship приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112760"></a>Соответствующие глобальные правила:
<a id="p112761"></a>Для объекта product_definition_relationship применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112762"></a>product_definition_relationship_references_are_distinct (см. [5.2.4.67](#p115019));
- <a id="p112763"></a>product_definition_relationship_related_to_class_moulded_form (см. [5.2.4.68](#p115042));
- <a id="p112764"></a>ship_moulded_form_revision_has_description (см. [5.2.4.139](#p117709)).

###### <a id="p112765"></a>5.2.3.2.23 Изменение объекта property_definition

<a id="p112766"></a>Основное описание объекта property_definition приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112767"></a>Соответствующие глобальные правила:
<a id="p112768"></a>Для объекта property_definition применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112769"></a>class_and_statutory_designation_has_properties (см. [5.2.4.28](#p113685));
- <a id="p112770"></a>hull_moulded_form_design_parameter_with_class_references (см. [5.2.4.46](#p114277));
- <a id="p112771"></a>product_definition_for_hydrostatic_definition_requires_reference (см. [5.2.4.59](#p114712));
- <a id="p112772"></a>product_definition_for_regulation (см. [5.2.4.64](#p114898));
- <a id="p112773"></a>product_definition_for_stability_definition (см. [5.2.4.66](#p114967));
- <a id="p112774"></a>propeller_moulded_form_design_parameter_with_class_references (см. [5.2.4.74](#p115278));
- <a id="p112775"></a>property_definition_for_appendage_moulded_form_design_parameter (см. [5.2.4.75](#p115317));
- <a id="p112776"></a>property_definition_for_bottom_moulded_form_design_parameter (см. [5.2.4.76](#p115352));
- <a id="p112777"></a>property_definition_for_bulb_moulded_form_design_parameter (см. [5.2.4.77](#p115387));
- <a id="p112778"></a>property_definition_for_class_notation (см. [5.2.4.78](#p115422));
- <a id="p112779"></a>property_definition_for_class_society (см. [5.2.4.79](#p115455));
- <a id="p112780"></a>property_definition_for_hull_moulded_form_design_parameter (см. [5.2.4.81](#p115523));
- <a id="p112781"></a>property_definition_for_local_coordinate_system (см. [5.2.4.82](#p115558));
- <a id="p112782"></a>property_definition_for_local_coordinate_system_with_position (см. [5.2.4.83](#p115592));
- <a id="p112783"></a>property_definition_for_moulded_form_function_parameters (см. [5.2.4.84](#p115626));
- <a id="p112784"></a>property_definition_of_propeller_moulded_form_design_parameter (см. [5.2.4.85](#p115662));
- <a id="p112785"></a>property_definition_for_rudder_moulded_form_design_parameter (см. [5.2.4.86](#p115696));
- <a id="p112786"></a>property_definition_for_thruster_moulded_form_design_parameter (см. [5.2.4.87](#p115731));
- <a id="p112787"></a>property_definition_for_thruster_propeller_parameter (см. [5.2.4.88](#p115766));
- <a id="p112788"></a>representation_item_for_transformation_to_parent (см. [5.2.4.125](#p117180));
- <a id="p112789"></a>ship_overall_dimensions_has_properties (см. [5.2.4.140](#p117732)).

###### <a id="p112790"></a>5.2.3.2.24 Изменение объекта property_definition_representation

<a id="p112791"></a>Основное описание объекта property_definition_representation приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112792"></a>Соответствующие глобальные правила:
<a id="p112793"></a>Для объекта property_definition_representation применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112794"></a>class_and_statutory_designation_has_properties (см. [5.2.4.28](#p113685));
- <a id="p112795"></a>class_notation_with_named_representation_items (см. [5.2.4.29](#p113724));
- <a id="p112796"></a>class_parameters_has_properties (см. [5.2.4.30](#p113759));
- <a id="p112797"></a>global_axis_placement_has_properties (см. [5.2.4.44](#p114208));
- <a id="p112798"></a>hull_moulded_form_design_parameter_with_class_references (см. [5.2.4.46](#p114277));
- <a id="p112799"></a>principal_characteristics_has_properties (см. [5.2.4.55](#p114570)):
- <a id="p112800"></a>propeller_moulded_form_design_parameter_with_class_references (см. [5.2.4.74](#p115278));
- <a id="p112801"></a>property_definition_for_appendage_moulded_form_design_parameter (см. [5.2.4.75](#p115317));
- <a id="p112802"></a>property_definition_for_bottom_moulded_form_design_parameter (см. [5.2.4.76](#p115352));
- <a id="p112803"></a>property_definition_for_bulb_moulded_form_design_parameter (см. [5.2.4.77](#p115387));
- <a id="p112804"></a>property_definition_for_hull_moulded_form_design_parameter (см. [5.2.4.81](#p115523));
- <a id="p112805"></a>property_definition_for_local_coordinate_system (см. [5.2.4.82](#p115558));
- <a id="p112806"></a>property_definition_for_local_coordinate_system_with_position (см. [5.2.4.83](#p115592));
- <a id="p112807"></a>property_definition_for_moulded_form_function_parameters (см. [5.2.4.84](#p115626));
- <a id="p112808"></a>property_definition_of_propeller_moulded_form_design_parameter (см. [5.2.4.85](#p115662));
- <a id="p112809"></a>property_definition_for_rudder_moulded_form_design_parameter (см. [5.2.4.86](#p115696));
- <a id="p112810"></a>property_definition_for_thruster_moulded_form_design_parameter (см. [5.2.4.87](#p115731));
- <a id="p112811"></a>property_definition_for_thruster_propeller_parameter (см. [5.2.4.88](#p115766));
- <a id="p112812"></a>representation_for_class_and_statutory_designation (см. [5.2.4.93](#p115956));
- <a id="p112813"></a>representation_for_global_axis_placement (см. [5.2.4.95](#p116031));
- <a id="p112814"></a>representation_for_local_coordinate_system (см. [5.2.4.100](#p116237));
- <a id="p112815"></a>representation_of_local_coordinate_system_with_position_reference (см. [5.2.4.101](#p116272));
- <a id="p112816"></a>representation_items_optional_for_class_notation (см. [5.2.4.126](#p117235));
- <a id="p112817"></a>representation_items_optional_for_principal_characteristics (см. [5.2.4.128](#p117301));
- <a id="p112818"></a>representation_restricted_by_name_principal_characteristics (см. [5.2.4.131](#p117417));
- <a id="p112819"></a>representation_restricted_by_name_class_notation (см. [5.2.4.129](#p117342));
- <a id="p112820"></a>representation_restricted_by_name_class_parameters (см. [5.2.4.130](#p117380));
- <a id="p112821"></a>ship_overall_dimensions_has_properties (см. [5.2.4.140](#p117732)).

###### <a id="p112822"></a>5.2.3.2.25 Изменение объекта representation

<a id="p112823"></a>Основное описание объекта representation приведено в ИСО 10303-43. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112824"></a>Соответствующие глобальные правила:
<a id="p112825"></a>Для объекта representation применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112826"></a>class_notation_with_named_representation_items (см. [5.2.4.29](#p113724));
- <a id="p112827"></a>hull_moulded_form_design_parameter_with_class_references (см. [5.2.4.46](#p114277));
- <a id="p112828"></a>propeller_moulded_form_design_parameter_with_class_references (см. [5.2.4.74](#p115278));
- <a id="p112829"></a>representation_for_moulded_form_function_parameters (см. [5.2.4.103](#p116345));
- <a id="p112830"></a>representation_for_local_coordinate_system (см. [5.2.4.100](#p116237));
- <a id="p112831"></a>representation_for_offset_point_table_model_for_section (см. [5.2.4.105](#p116417));
- <a id="p112832"></a>representation_for_deck_moulded_form_design_parameter (см. [5.2.4.94](#p115994));
- <a id="p112833"></a>representation_for_class_and_statutory_designation (см. [5.2.4.93](#p115956));
- <a id="p112834"></a>representation_for_class_and_statutory_designation (см. [5.2.4.93](#p115956));
- <a id="p112835"></a>representation_for_global_axis_placement (см. [5.2.4.95](#p116031));
- <a id="p112836"></a>representation_for_rudder_moulded_form_design_parameter (см. [5.2.4.109](#p116575));
- <a id="p112837"></a>representation_for_propeller_moulded_form_design_parameter (см. [5.2.4.108](#p116538));
- <a id="p112838"></a>representation_for_propeller_location_restricted_by_class_id (см. [5.2.4.107](#p116502));
- <a id="p112839"></a>representation_for_hydrostatic_table_restricted_by_class_id (см. [5.2.4.99](#p116202));
- <a id="p112840"></a>representation_for_offset_point_table_model_for_point (см. [5.2.4.104](#p116382));
- <a id="p112841"></a>representation_for_hydrostatic_table_restricted (см. [5.2.4.98](#p116153));
- <a id="p112842"></a>representation_for_hydrostatic_table_constrained (см. [5.2.4.97](#p116104));
- <a id="p112843"></a>representation_for_stability_table_restricted_by_class_id (см. [5.2.4.111](#p116662));
- <a id="p112844"></a>representation_for_stability_table_restricted (см. [5.2.4.110](#p116612));
- <a id="p112845"></a>representation_for_offset_table_shape_representation_restricted (см. [5.2.4.106](#p116452));
- <a id="p112846"></a>representation_for_thruster_moulded_form_design_parameter (см. [5.2.4.112](#p116698));
- <a id="p112847"></a>representation_for_bottom_moulded_form_design_parameter (см. [5.2.4.91](#p115882));
- <a id="p112848"></a>representation_for_appendage_moulded_form_design_parameter (см. [5.2.4.90](#p115843));
- <a id="p112849"></a>representation_for_hull_moulded_form_design_parameter (см. [5.2.4.96](#p116067));
- <a id="p112850"></a>representation_for_midship_tumble_restricted_by_class_id (см. [5.2.4.102](#p116309));
- <a id="p112851"></a>representation_for_bulb_moulded_form_design_parameter (см. [5.2.4.92](#p115919));
- <a id="p112852"></a>representation_has_global_unit_assigned_context (см. [5.2.4.114](#p116755));
- <a id="p112853"></a>representation_has_global_uncertainty_assigned_context (см. [5.2.4.113](#p116735));
- <a id="p112854"></a>representation_items_for_deck_moulded_form_design_parameter (см. [5.2.4.118](#p116900));
- <a id="p112855"></a>representation_items_for_rudder_moulded_form_design_parameter (см. [5.2.4.123](#p117102));
- <a id="p112856"></a>representation_items_optional_for_owner_designation (см. [5.2.4.127](#p117270));
- <a id="p112857"></a>representation_items_propeller_moulded_form_design_parameter (см. [5.2.4.122](#p117062));
- <a id="p112858"></a>representation_items_for_hull_moulded_form_design_parameter (см. [5.2.4.119](#p116939));
- <a id="p112859"></a>representation_items_for_bulb_moulded_form_design_parameter (см. [5.2.4.117](#p116861));
- <a id="p112860"></a>representation_items_of_thruster_moulded_form_design_parameter (см. [5.2.4.124](#p117141));
- <a id="p112861"></a>representation_item_for_transformation_to_parent (см. [5.2.4.125](#p117180));
- <a id="p112862"></a>representation_items_optional_for_class_notation (см. [5.2.4.126](#p117235));
- <a id="p112863"></a>representation_items_optional_for_principal_characteristics (см. [5.2.4.128](#p117301));
- <a id="p112864"></a>representation_items_propeller_moulded_form_design_parameter (см. [5.2.4.122](#p117062));
- <a id="p112865"></a>representation_items_for_bottom_moulded_form_design_parameter (см. [5.2.4.116](#p116821));
- <a id="p112866"></a>representation_items_appendage_moulded_form_design_parameter (см. [5.2.4.115](#p116783));
- <a id="p112867"></a>representation_items_for_moulded_form_function_parameters (см. [5.2.4.121](#p117025));
- <a id="p112868"></a>representation_items_for_moulded_form_design_parameters (см. [5.2.4.120](#p116987));
- <a id="p112869"></a>representation_of_local_coordinate_system_with_position_reference (см. [5.2.4.101](#p116272));
- <a id="p112870"></a>representation_restricted_by_name_principal_characteristics (см. [5.2.4.131](#p117417));
- <a id="p112871"></a>representation_restricted_by_name_class_notation (см. [5.2.4.129](#p117342));
- <a id="p112872"></a>representation_restricted_by_name_class_parameters (см. [5.2.4.130](#p117380));
- <a id="p112873"></a>representation_restricted_by_name_ship_overall_dimensions (см. [5.2.4.132](#p117454));
- <a id="p112874"></a>user_def_appendage_type_description_required (см. [5.2.4.151](#p118154));
- <a id="p112875"></a>user_def_function_description_required (см. [5.2.4.152](#p118154)).

###### <a id="p112876"></a>5.2.3.2.26 Изменение объекта representation_item

<a id="p112877"></a>Основное описание объекта representation_item приведено в ИСО 10303-43. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112878"></a>Соответствующие глобальные правила:
<a id="p112879"></a>Для объекта representation_item применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112880"></a>class_notation_with_named_representation_items (см. [5.2.4.29](#p113724));
- <a id="p112881"></a>representation_for_class_and_statutory_designation (см. [5.2.4.93](#p115956));
- <a id="p112882"></a>representation_for_global_axis_placement (см. [5.2.4.95](#p116031));
- <a id="p112883"></a>representation_for_local_coordinate_system (см. [5.2.4.100](#p116237));
- <a id="p112884"></a>representation_of_local_coordinate_system_with_position_reference (см. [5.2.4.101](#p116272));
- <a id="p112885"></a>representation_items_optional_for_class_notation (см. [5.2.4.126](#p117235));
- <a id="p112886"></a>representation_items_optional_for_owner_designation (см. [5.2.4.127](#p117270));
- <a id="p112887"></a>representation_items_optional_for_principal_characteristics (см. [5.2.4.128](#p117301));
- <a id="p112888"></a>representation_restricted_by_name_class_notation (см. [5.2.4.129](#p117342));
- <a id="p112889"></a>representation_restricted_by_name_class_parameters (см. [5.2.4.130](#p117380));
- <a id="p112890"></a>representation_restricted_by_name_principal_characteristics (см. [5.2.4.131](#p117417)).

###### <a id="p112891"></a>5.2.3.2.27 Изменение объекта versioned_action_request

<a id="p112892"></a>Основное описание объекта versioned_action_request приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.
<a id="p112893"></a>Соответствующие глобальные правила:
<a id="p112894"></a>Для объекта versioned_action_request применяются следующие глобальные правила, определенные в настоящем стандарте:
- <a id="p112895"></a>author_for_change_request (см. [5.2.4.14](#p113284));
- <a id="p112896"></a>date_time_for_change_request (см. [5.2.4.35](#p113949));
- <a id="p112897"></a>initiator_for_change_request (см. [5.2.4.50](#p114424)).

##### <a id="p112898"></a>5.2.4 Определения правил в теоретических обводах судна


###### <a id="p112899"></a>5.2.4.1 Правило action_request_solution_connected_to_action

<a id="p112900"></a>Правило action_request_solution_connected_to_action определяет, что каждый экземпляр типа объекта action_request_solution с классификацией 'change plan' должен быть связан с экземпляром типа объекта action с классификацией 'change' через экземпляр объекта action_method.
<a id="p112901"></a>EXPRESS-спецификация:
<a id="p112902"></a>*)
<a id="p112903"></a>**RULE**
<a id="p112904"></a>action_request_solution_connected_to_action FOR(action_request_solution,
action);
<a id="p112905"></a>  LOCAL
<a id="p112906"></a>    t1_set: SET OF action_request_solution := [];
<a id="p112907"></a>    t2_set: SET OF action := [];
<a id="p112908"></a>    set_3 : SET OF ACTION_METHOD := [];
<a id="p112909"></a>    violate: LOGICAL := FALSE;
<a id="p112910"></a>  END_LOCAL;
<a id="p112911"></a>t1_set := QUERY(a <* action_request_solution |
<a id="p112912"></a>         VALUE_IN(WHICH_CLASS(a), 'change plan'));
<a id="p112913"></a>t2_set := QUERY(b <* action | VALUE_IN(WHICH_CLASS(b), 'change'));
<a id="p112914"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p112915"></a>  set_3 := [];
<a id="p112916"></a>REPEAT j := 1 TO HIINDEX(t2_set);
<a id="p112917"></a>  set_3 := set_3 + [t2_set[j].chosen_method];
<a id="p112918"></a>**END_REPEAT;**
<a id="p112919"></a>violate := VALUE_IN(set_3, t1_set[i].method);
<a id="p112920"></a>**END_REPEAT;**
<a id="p112921"></a>**WHERE**
<a id="p112922"></a>WR1: NOT violate;
<a id="p112923"></a>**END_RULE;**
<a id="p112924"></a>(*
<a id="p112925"></a>Определения аргументов:
<a id="p112926"></a>action_request_solution: набор всех экземпляров объектов action_request_solution.
<a id="p112927"></a>action: набор всех экземпляров объектов action.
<a id="p112928"></a>Формальные высказывания:
<a id="p112929"></a>WR1: Каждый экземпляр объекта action_method со значением chosen_method для экземпляра объекта action должен одновременно иметь значение method для экземпляра объекта action_request_solution.

###### <a id="p112930"></a>5.2.4.2 Правило action_request_solution_with_identification_assignment

<a id="p112931"></a>Правило action_request_solution_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется объектом applied_identification_assignment.
<a id="p112932"></a>EXPRESS-спецификация:
<a id="p112933"></a>*)
<a id="p112934"></a>RULE action_request_solution_with_identification_assignment FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);
<a id="p112935"></a>  LOCAL
<a id="p112936"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p112937"></a>    t1_set: SET OF action_request_solution := [];
<a id="p112938"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p112939"></a>    arg_list: LIST OF STRING := [ 'change plan'];
<a id="p112940"></a>    violation: LOGICAL := FALSE;
<a id="p112941"></a>  END_LOCAL;

<a id="p112942"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p112943"></a>      c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p112944"></a>                       i.assigned_class.NAME = arg_LIST[j]);
<a id="p112945"></a>    END_REPEAT;
<a id="p112946"></a>REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p112947"></a>  REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p112948"></a>    t1_set := t1_set + c_a_set[i].items[j];
<a id="p112949"></a>  END_REPEAT;
<a id="p112950"></a>**END_REPEAT;**

<a id="p112951"></a>  REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p112952"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p112953"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p112954"></a>    t2_set := QUERY ( j <* t2_set | j.role.name = 'globally unambiguous identifier');
<a id="p112955"></a>    violation := NOT (SIZEOF(t2_set) = 1);
<a id="p112956"></a>  END_REPEAT;
<a id="p112957"></a>  WHERE
<a id="p112958"></a>    wr1: NOT violation;
<a id="p112959"></a>**END_RULE;**
<a id="p112960"></a>(*
<a id="p112961"></a>Определения аргументов:
<a id="p112962"></a>applied_classification_assignment: набор всех экземпляров объекта applied_classification_assignment.
<a id="p112963"></a>Формальные высказывания:
<a id="p112964"></a>WR1: Для каждого экземпляра объекта action_request_solution, на который ссылается объект applied_classification_assignment с объектом assigned_class, чей атрибут name имеет значение 'change plan', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

###### <a id="p112965"></a>5.2.4.3 Правило action_with_identification_assignment

<a id="p112966"></a>Правило action_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется объектом applied_identification_assignment.
<a id="p112967"></a>EXPRESS-спецификация:
<a id="p112968"></a>*)
<a id="p112969"></a>RULE action_with_identification_assignment FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);
<a id="p112970"></a>  LOCAL
<a id="p112971"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p112972"></a>    t1_set:SET OF action := [];
<a id="p112973"></a>    t2_set:SET OF applied_identification_assignment := [];
<a id="p112974"></a>    arg_list: LIST OF STRING := [ 'change', 'versionable object change event', 'check'];
<a id="p112975"></a>    violation: LOGICAL := FALSE;
<a id="p112976"></a>  END_LOCAL;

<a id="p112977"></a>(* get all classification_assignment instances *)
<a id="p112978"></a>  REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p112979"></a>    c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p112980"></a>                     i.assigned_class.NAME = arg_LIST[j]);
<a id="p112981"></a>  END_REPEAT;
<a id="p112982"></a>REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p112983"></a>  REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p112984"></a>    t1_set := t1_set + c_a_set[i].items[j];
<a id="p112985"></a>  END_REPEAT;
<a id="p112986"></a>**END_REPEAT;**

<a id="p112987"></a>REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p112988"></a>  t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p112989"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p112990"></a>  t2_set := QUERY ( j <* t2_set | j.role.name = 'globally unambiguous identifier');
<a id="p112991"></a>  violation := NOT (SIZEOF(t2_set) = 1);
<a id="p112992"></a>  END_REPEAT;
<a id="p112993"></a>  WHERE
<a id="p112994"></a>    wr1: NOT violation;
<a id="p112995"></a>  END_RULE;
<a id="p112996"></a>(*
<a id="p112997"></a>Определения аргументов:
<a id="p112998"></a>applied_classification_assignment: набор всех экземпляров объекта applied_classification_assignment.
<a id="p112999"></a>Формальные высказывания:
<a id="p113000"></a>WR1: Для каждого экземпляра объекта action, на который ссылается объект applied_classification_assignment с объектом assigned_class, чей атрибут name имеет значение 'change', 'versionable object change event' или 'check', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

###### <a id="p113001"></a>5.2.4.4 Правило alternative_version_relationship_has_mandatory_description

<a id="p113002"></a>Правило alternative_version_relationship_has_mandatory_description определяет, что для экземпляра объекта identification_assignment_relationship с идентификатором класса 'alternative version relationship' приведен экземпляр необязательного атрибута description.
<a id="p113003"></a>EXPRESS-спецификация:
<a id="p113004"></a>*)
<a id="p113005"></a>RULE alternative_version_relationship_has_mandatory_description FOR
<a id="p113006"></a>(identification_assignment_relationship);
<a id="p113007"></a>**LOCAL**
<a id="p113008"></a>t1_set: SET OF identification_assignment_relationship := [];
<a id="p113009"></a>violate: LOGICAL := FALSE;
<a id="p113010"></a>**END_LOCAL;**
<a id="p113011"></a>  (* get all instances of identification_assignment_relationship *)
<a id="p113012"></a>  (* being classified as 'alternative version relationship' *)
<a id="p113013"></a>  t1_set := QUERY(i <* identification_assignment_relationship |
<a id="p113014"></a>    VALUE_IN(WHICH_CLASS(i), 'alternative version relationship'));
<a id="p113015"></a>  (* from all instances found above, find those for which attribute description
is not instantiated *)
<a id="p113016"></a>violate := (SIZEOF(QUERY(k <* t1_set | NOT EXISTS (k.description))) > 0);
<a id="p113017"></a>**WHERE**
<a id="p113018"></a>wr1: NOT violate;
<a id="p113019"></a>**END_RULE;**
<a id="p113020"></a>(*
<a id="p113021"></a>Определения аргументов:
<a id="p113022"></a>identification_assignment_relationship: набор всех экземпляров объектов identification_assignment_relationship.
<a id="p113023"></a>Формальные высказывания:
<a id="p113024"></a>WR1: Необязательный атрибут description должен существовать для каждого экземпляра объекта identification_assignment_relationship, у которого есть объект applied_classification_assignment со значением 'alternative version relationship' для assigned_class.name.

###### <a id="p113025"></a>5.2.4.5 Правило alternative_version_relationship_has_unique_versions

<a id="p113026"></a>Правило alternative_version_relationship_has_unique_versions определяет, что для всех экземпляров объекта identification_assignment_relationship с классификацией 'alternative version relationship', версифицируемые объекты (versionable objects) alternative_1 и alternative_2 должны быть разными, то есть у них должны быть разные version_ids.
<a id="p113027"></a>EXPRESS-спецификация:
<a id="p113028"></a>*)
<a id="p113029"></a>RULE alternative_version_relationship_has_unique_versions
<a id="p113030"></a>FOR (identification_assignment_relationship);
<a id="p113031"></a>**LOCAL**
<a id="p113032"></a>t1_set: SET OF identification_assignment_relationship := [];
<a id="p113033"></a>violate: LOGICAL := FALSE;
<a id="p113034"></a>**END_LOCAL;**
<a id="p113035"></a>(* get all instances of identification_assignment_relationship with *)
<a id="p113036"></a>(* class 'alternative version relationship' *)
<a id="p113037"></a>t1_set := QUERY(a <* identification_assignment_relationship |
<a id="p113038"></a>VALUE_IN(WHICH_CLASS(a), 'alternative version relationship'));
<a id="p113039"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113040"></a>violate :=
<a id="p113041"></a>( t1_set[i].relating_identification_assignment.assigned_id =
t1_set[i].related_identification_assignment.assigned_id );
<a id="p113042"></a>**END_REPEAT;**
<a id="p113043"></a>**WHERE**
<a id="p113044"></a>wr1: NOT violate;
<a id="p113045"></a>**END_RULE;**
<a id="p113046"></a>(*
<a id="p113047"></a>Определения аргументов:
<a id="p113048"></a>identification_assignment_relationship: набор всех экземпляров объектов identification_assignment_relationship.
<a id="p113049"></a>Формальные высказывания:
<a id="p113050"></a>WR1: Объекты assigned_ids объекта related_identification_assignment и объекта relating_identification_assignment каждого экземпляра объекта identification_assignment_relationship, у которого имеется объект applied_classification_assignment, значение applied_classification_assignment.assigned_class.name которого равно 'alternative version relationship', должны отличаться.

###### <a id="p113051"></a>5.2.4.6 Правило alternative_version_relationship_versionable_object

<a id="p113052"></a>Правило alternative_version_relationship_versionable_object задает экземпляр объекта identification_assignment_relationship с классификацией 'alternative version relationship', который связывает только экземпляры типа applied_identification_assignment, чей атрибут items указывает на экземпляры класса со значением 'versionable object'.
<a id="p113053"></a>EXPRESS-спецификация:
<a id="p113054"></a>*)
<a id="p113055"></a>RULE alternative_version_relationship_versionable_object
<a id="p113056"></a>FOR (applied_identification_assignment,
<a id="p113057"></a>     identification_assignment_relationship);
<a id="p113058"></a>**LOCAL**
<a id="p113059"></a>  violate: LOGICAL := FALSE;
<a id="p113060"></a>**END_LOCAL;**

<a id="p113061"></a>(* get all instances of applied_identification_assignment *)
<a id="p113062"></a>REPEAT i := 1 TO HIINDEX(applied_identification_assignment) BY 1 WHILE NOT violate;

<a id="p113063"></a>  IF ( (SIZEOF(USEDIN(applied_identification_assignment[i],

<a id="p113064"></a>**('SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'**
**+'RELATING_IDENTIFICATION_ASSIGNMENT'))) > 0) OR**
<a id="p113065"></a>(SIZEOF(USEDIN(applied_identification_assignment[i],

<a id="p113066"></a>**('SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'**
**+'RELATED_IDENTIFICATION_ASSIGNMENT'))) > 0) ) THEN**
<a id="p113067"></a>  REPEAT j := 1 to HIINDEX(applied_identification_assignment [i].items) BY 1
<a id="p113068"></a>WHILE NOT violate;
<a id="p113069"></a>  violate:=NOTVALUE_IN(which_class(applied_identification_assignment
[i].items[j]),'versionable object');
<a id="p113070"></a>    END_REPEAT;
<a id="p113071"></a>  END_IF;
<a id="p113072"></a>**END_REPEAT;**

<a id="p113073"></a>**WHERE**
<a id="p113074"></a>wr1: NOT violate;
<a id="p113075"></a>**END_RULE;**
<a id="p113076"></a>(*
<a id="p113077"></a>Определения аргументов:
<a id="p113078"></a>applied_identification_assignment: набор всех экземпляров объектов applied_identification_assignment.
<a id="p113079"></a>identification_assignment_relationship: набор всех экземпляров объектов identification_assignment_relationship.
<a id="p113080"></a>Формальные высказывания:
<a id="p113081"></a>WR1: Каждый экземпляр объекта identification_assignment_relationship, у которого имеется объект applied_classification_assignment со значением 'alternative version relationship' для атрибута assigned_class.name, должен указывать только экземпляры объекта applied_identification_assignment с атрибутом items, чье значение указывает на экземпляр, у которого есть объект applied_classification_assignment со значением 'versionable object' для assigned_class.name.

###### <a id="p113082"></a>5.2.4.7 Правило approval_event_with_approval_person_organization

<a id="p113083"></a>Правило approval_event_with_approval_person_organization определяет, что на экземпляр объекта approval с идентификатором класса 'approval event' приведена ссылка только из одного экземпляра объекта approval_person_organization через authorized_approval.
<a id="p113084"></a>EXPRESS-спецификация:
<a id="p113085"></a>*)
<a id="p113086"></a>**RULE**
<a id="p113087"></a>approval_event_with_approval_person_organization
<a id="p113088"></a>FOR(approval);
<a id="p113089"></a>**LOCAL**
<a id="p113090"></a>  t1_set:SET OF approval := [];
<a id="p113091"></a>  t2_set:SET OF approval_person_organization :=  [];
<a id="p113092"></a>  violate: LOGICAL := FALSE;
<a id="p113093"></a>**END_LOCAL;**
<a id="p113094"></a>  t1_set := QUERY(i <* approval |
<a id="p113095"></a>           VALUE_IN(WHICH_CLASS(i), 'approval event'));

<a id="p113096"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113097"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p113098"></a>      'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_PERSON_ORGANIZATION.' +
      'AUTHORIZED_APPROVAL'));
<a id="p113099"></a>    violate := NOT (SIZEOF(t2_set) = 1);
<a id="p113100"></a>  END_REPEAT;
<a id="p113101"></a>**WHERE**
<a id="p113102"></a>  WR1: NOT violate;
<a id="p113103"></a>**END_RULE;**
<a id="p113104"></a>(*
<a id="p113105"></a>Определения аргументов:
<a id="p113106"></a>approval: набор всех экземпляров объектов approval.
<a id="p113107"></a>Формальные высказывания:
<a id="p113108"></a>WR1: На каждый экземпляр объекта approval, у которого имеется объект applied_classification_assignment, чей assigned_class является group со значением 'approval event' для атрибута name, ссылается только экземпляр объекта approval_person_organization через authorized_approval.

###### <a id="p113109"></a>5.2.4.8 Правило approval_event_with_approval_date_time

<a id="p113110"></a>Правило approval_event_with_approval_date_time определяет, что на экземпляр объекта approval с идентификатором класса 'approval event' приведена ссылка только из одного экземпляра объекта approval_date_time через dated_approval.
<a id="p113111"></a>EXPRESS-спецификация:
<a id="p113112"></a>*)
<a id="p113113"></a>**RULE**
<a id="p113114"></a>approval_event_with_approval_date_time
<a id="p113115"></a>FOR(approval);
<a id="p113116"></a>**LOCAL**
<a id="p113117"></a>    t1_set: SET OF approval := [];
<a id="p113118"></a>    t2_set: SET OF approval_date_time := [];
<a id="p113119"></a>    violate: LOGICAL := FALSE;
<a id="p113120"></a>  END_LOCAL;
<a id="p113121"></a>  t1_set := QUERY(i <* approval |
<a id="p113122"></a>    VALUE_IN(WHICH_CLASS(i), 'approval event'));

<a id="p113123"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113124"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p113125"></a>    'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_DATE_TIME.' +
    'DATED_APPROVAL')); violate := NOT (SIZEOF(t2_set) = 1);
<a id="p113126"></a>  END_REPEAT;
<a id="p113127"></a>  WHERE
<a id="p113128"></a>    WR1: NOT violate;
<a id="p113129"></a>**END_RULE;**
<a id="p113130"></a>(*
<a id="p113131"></a>Определения аргументов:
<a id="p113132"></a>approval: набор всех экземпляров объектов approval.
<a id="p113133"></a>Формальные высказывания:
<a id="p113134"></a>WR1: На каждый экземпляр объекта approval, у которого имеется объект applied_classification_assignment, чей assigned_class является объектом group со значением 'approval event' для атрибута name, ссылается только экземпляр объекта approval_date_time через dated_approval.

###### <a id="p113135"></a>5.2.4.9 Правило approval_history_approves_same_definition

<a id="p113136"></a>Правило approval_history_approves_same_definition определяет, что все члены в объекте group с идентификатором класса 'approval history' должны утверждать один и тот же экземпляр с классификацией 'definition'.
<a id="p113137"></a>EXPRESS-спецификация:
<a id="p113138"></a>*)
<a id="p113139"></a>**RULE**
<a id="p113140"></a>approval_history_approves_same_definition
<a id="p113141"></a>FOR (applied_group_assignment, applied_approval_assignment);
<a id="p113142"></a>**LOCAL**
<a id="p113143"></a>  t2_set: SET OF APPLIED_GROUP_ASSIGNMENT := [];
<a id="p113144"></a>  t3_set: SET OF APPROVAL :=[];
<a id="p113145"></a>  t4_set: SET OF group_item :=[];
<a id="p113146"></a>  t5_set: SET OF APPLIED_APPROVAL_ASSIGNMENT := [];
<a id="p113147"></a>  violate: LOGICAL := FALSE;
<a id="p113148"></a>**END_LOCAL;**
<a id="p113149"></a>t2_set := QUERY(a <* APPLIED_GROUP_ASSIGNMENT |
<a id="p113150"></a>         VALUE_IN(WHICH_CLASS(a.ASSIGNED_GROUP),
<a id="p113151"></a>         'approval history'));
<a id="p113152"></a>t3_set := QUERY(b <* t2_set[1].items |
<a id="p113153"></a>  'SHIP_MOULDED_FORM_SCHEMA.APPROVAL' IN TYPEOF(b));
<a id="p113154"></a>t4_set := QUERY(b <* t2_set[1].items |
<a id="p113155"></a>  VALUE_IN(WHICH_CLASS(b), 'DEFINITION'));
<a id="p113156"></a>violate := NOT(SIZEOF(t4_set) = 1);

<a id="p113157"></a>REPEAT i := 1 TO HIINDEX(t3_set) WHILE NOT violate;
<a id="p113158"></a>  t5_set := QUERY(a <* APPLIED_APPROVAL_ASSIGNMENT |
<a id="p113159"></a>  (a.ASSIGNED_APPROVAL = t3_set[i]) AND
<a id="p113160"></a>  (NOT (VALUE_IN(a.items, t4_set[1]))));
<a id="p113161"></a>  violate := (SIZEOF(t5_set) > 0);
<a id="p113162"></a>**END_REPEAT;**
<a id="p113163"></a>**WHERE**
<a id="p113164"></a>  WR1: NOT violate;
<a id="p113165"></a>  wr2: (SIZEOF(t4_set) = 1);
<a id="p113166"></a>**END_RULE;**
<a id="p113167"></a>(*
<a id="p113168"></a>Определения аргументов:
<a id="p113169"></a>applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.
<a id="p113170"></a>applied_approval_assignment: набор всех экземпляров объектов applied_approval_assignment.
<a id="p113171"></a>Формальные высказывания:
<a id="p113172"></a>WR1: Каждый экземпляр объекта approval, входящий в состав атрибута items экземпляра объекта applied_group_assignment, чей объект assigned_group является экземпляром объекта group, у которого имеется объект applied_classification_assignment, чей объект assigned_classification представляет собой объект group со значением 'approval history' для атрибута name, должен представлять собой assigned_approval экземпляра объекта applied_approval_assignment, который собирает такой же экземпляр, имеющий объект applied_classification_assignment, чей объект assigned_classification представляет собой объект group со значением 'definition' для атрибута name в своем атрибуте items.

###### <a id="p113173"></a>5.2.4.10 Правило approval_history_has_at_least_one_member

<a id="p113174"></a>Правило approval_history_has_at_least_one_member определяет, что каждый объект group с идентификатором класса 'approval history' используется только одним объектом applied_group_assignment.
<a id="p113175"></a>EXPRESS-спецификация:
<a id="p113176"></a>*)
<a id="p113177"></a>**RULE**
<a id="p113178"></a>approval_history_has_at_least_one_member
<a id="p113179"></a>FOR (group, applied_group_assignment);
<a id="p113180"></a>**LOCAL**
<a id="p113181"></a>  t1_set: SET OF GROUP := [];
<a id="p113182"></a>  t2_set: SET OF APPLIED_GROUP_ASSIGNMENT := [];
<a id="p113183"></a>  violate: LOGICAL := FALSE;
<a id="p113184"></a>**END_LOCAL;**
<a id="p113185"></a>  T1_set := QUERY(i <* group | VALUE_IN(WHICH_CLASS(i),
<a id="p113186"></a>  'approval history'));

<a id="p113187"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113188"></a>  t2_set := QUERY(a <* APPLIED_GROUP_ASSIGNMENT |
<a id="p113189"></a>    a.ASSIGNED_GROUP = t1_set[i]);
<a id="p113190"></a>    violate := NOT(SIZEOF(t2_set) = 1);
<a id="p113191"></a>  END_REPEAT;
<a id="p113192"></a>**WHERE**
<a id="p113193"></a>  WR1: NOT violate;
<a id="p113194"></a>**END_RULE;**
<a id="p113195"></a>(*
<a id="p113196"></a>Определения аргументов:
<a id="p113197"></a>applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.
<a id="p113198"></a>group: набор всех экземпляров объектов group.
<a id="p113199"></a>Формальные высказывания:
<a id="p113200"></a>WR1: Каждый экземпляр объекта group, имеющий объект applied_classification_assignment, чей assigned_classification представляет собой объект group со значением 'approval history' для атрибута name, должен представлять собой объект assigned_group только в одном экземпляре объекта applied_group_assignment.

###### <a id="p113201"></a>5.2.4.11 Правило approvals_references_approval_history

<a id="p113202"></a>Правило approvals_references_approval_history определяет, что на каждый экземпляр типа group с классификацией 'approval history' должна быть дана ссылка только присваиваниями типа applied_group_assignment со значением роли 'approvals' через атрибут assigned_group.
<a id="p113203"></a>EXPRESS-спецификация:
<a id="p113204"></a>*)
<a id="p113205"></a>RULE approvals_references_approval_history FOR(applied_group_assignment, group);
<a id="p113206"></a>  LOCAL
<a id="p113207"></a>    t1_set: SET OF group := [];
<a id="p113208"></a>    a_set: SET OF applied_group_assignment := [];
<a id="p113209"></a>    violate: LOGICAL := FALSE;
<a id="p113210"></a>**END_LOCAL;**

<a id="p113211"></a>t1_set := QUERY(a <* group | VALUE_IN(WHICH_CLASS(a), 'approval history'));

<a id="p113212"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113213"></a>  a_set := QUERY(b <* applied_group_assignment |
<a id="p113214"></a>    NOT ((b.assigned_group = t1_set[i]) AND (b.role.name = 'approvals')));

<a id="p113215"></a>    violate := SIZEOF(a_set) > 0;
<a id="p113216"></a>**END_REPEAT;**
<a id="p113217"></a>**WHERE**
<a id="p113218"></a>  wr1: NOT violate;
<a id="p113219"></a>**END_RULE;**
<a id="p113220"></a>(*
<a id="p113221"></a>Определения аргументов:
<a id="p113222"></a>applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.
<a id="p113223"></a>group: набор всех экземпляров объектов group.
<a id="p113224"></a>Формальные высказывания:
<a id="p113225"></a>WR1: На каждый экземпляр объекта group, у которого имеется объект applied_classification_assignment, чей атрибут assigned_classification идентифицирует объект со значением 'approval history' для атрибута name, должна быть дана ссылка только из экземпляров типа applied_group_assignment со значением роли 'approvals', через атрибут assigned_group.

###### <a id="p113226"></a>5.2.4.12 Правило author_for_change_plan

<a id="p113227"></a>Правило author_for_change_plan определяет, что на экземпляр объекта action_request_solution с классификацией 'change plan' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment со значением роли (role) 'author'.
<a id="p113228"></a>EXPRESS-спецификация:
<a id="p113229"></a>*)
<a id="p113230"></a>**RULE**
<a id="p113231"></a>author_for_change_plan
<a id="p113232"></a>FOR(applied_person_and_organization_assignment, action_request_solution);
<a id="p113233"></a>  LOCAL
<a id="p113234"></a>    t1_set: SET OF action_request_solution := [];
<a id="p113235"></a>    a_set: SET OF applied_person_and_organization_assignment := [];
<a id="p113236"></a>      violate: LOGICAL := FALSE;
<a id="p113237"></a>  END_LOCAL;
<a id="p113238"></a>t1_set := QUERY(a <* action_request_solution |
<a id="p113239"></a>         VALUE_IN(WHICH_CLASS(a), 'change plan'));

<a id="p113240"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113241"></a>  a_set := QUERY(b <* applied_person_and_organization_assignment |
<a id="p113242"></a>           (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113243"></a>           (b.role.name = 'author')));
<a id="p113244"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113245"></a>  END_REPEAT;
<a id="p113246"></a>  WHERE
<a id="p113247"></a>    WR1: NOT violate;
<a id="p113248"></a>**END_RULE;**
<a id="p113249"></a>(*
<a id="p113250"></a>Определения аргументов:
<a id="p113251"></a>applied_person_and_organization_assignment: набор всех экземпляров объектов applied_person_and_organization_assignment.
<a id="p113252"></a>action_request_solution: набор всех экземпляров объектов action_request_solution.
<a id="p113253"></a>Формальные высказывания:
<a id="p113254"></a>WR1: На каждый экземпляр объекта action_request_solution с классификацией 'change plan' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'author'.

###### <a id="p113255"></a>5.2.4.13 Правило author_for_change_realisation

<a id="p113256"></a>Правило author_for_change_realisation определяет, что на экземпляр объекта executed_action с классификацией 'change realization' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment, у которого роль имеет значение 'author'.
<a id="p113257"></a>EXPRESS-спецификация:
<a id="p113258"></a>*)
<a id="p113259"></a>**RULE**
<a id="p113260"></a>author_for_change_realisation
<a id="p113261"></a>FOR(applied_person_and_organization_assignment,executed_action);
<a id="p113262"></a>  LOCAL
<a id="p113263"></a>    t1_set: SET OF executed_action := [];
<a id="p113264"></a>    a_set: SET OF applied_person_and_organization_assignment := [];
<a id="p113265"></a>    violate: LOGICAL := FALSE;
<a id="p113266"></a>  END_LOCAL;
<a id="p113267"></a>  t1_set := QUERY(a <* executed_action |
<a id="p113268"></a>           VALUE IN(WHICH_CLASS(a), 'change realization'));

<a id="p113269"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113270"></a>  a_set := QUERY(b <* applied_person_and_organization_assignment |
<a id="p113271"></a>         (VALUE IN(b.items, t1_set[i]) AND
<a id="p113272"></a>         (b.role.name = 'author')));
<a id="p113273"></a>  violate := SIZEOF(a_set) <> 1;
<a id="p113274"></a>  END_REPEAT;
<a id="p113275"></a>  WHERE
<a id="p113276"></a>    WR1: NOT violate;
<a id="p113277"></a>**END_RULE;**
<a id="p113278"></a>(*
<a id="p113279"></a>Определения аргументов:
<a id="p113280"></a>applied_person_and_organization_assignment: набор всех экземпляров объектов applied_person_and_organization_assignment.
<a id="p113281"></a>executed_action: набор всех экземпляров объектов executed_action.
<a id="p113282"></a>Формальные высказывания:
<a id="p113283"></a>WR1: На каждый экземпляр объекта executed_action с классификацией 'change realization' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'author'.

###### <a id="p113284"></a>5.2.4.14 Правило author_for_change_request

<a id="p113285"></a>Правило author_for_change_request определяет, что на экземпляр объекта versioned_action_request со значением 'change request' для class приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment, у которого role имеет значение 'author'.
<a id="p113286"></a>EXPRESS-спецификация:
<a id="p113287"></a>*)
<a id="p113288"></a>**RULE**
<a id="p113289"></a>author_for_change_request
<a id="p113290"></a>FOR(applied_person_and_organization_assignment, versioned_action_request);
<a id="p113291"></a>  LOCAL
<a id="p113292"></a>    t1_set: SET OF versioned_action_request := [];
<a id="p113293"></a>    a_set: SET OF applied_person_and_organization_assignment := [];
<a id="p113294"></a>    violate: LOGICAL := FALSE;
<a id="p113295"></a>  END_LOCAL;
<a id="p113296"></a>    t1_set := QUERY(a <* versioned_action_request |
<a id="p113297"></a>             VALUE_IN(WHICH_CLASS(a), 'change request'));

<a id="p113298"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113299"></a>  a_set := QUERY(b <* applied_person_and_organization_assignment |
<a id="p113300"></a>         (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113301"></a>         (b.role.name = 'author')));
<a id="p113302"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113303"></a>  END_REPEAT;
<a id="p113304"></a>  WHERE
<a id="p113305"></a>    WR1: NOT violate;
<a id="p113306"></a>**END_RULE;**
<a id="p113307"></a>(*
<a id="p113308"></a>Определения аргументов:
<a id="p113309"></a>applied_person_and_organization_assignment: набор экземпляров объектов applied_person_and_organization_assignment.
<a id="p113310"></a>versioned_action_request: набор всех экземпляров объектов versioned_action_request.
<a id="p113311"></a>Формальные высказывания:
<a id="p113312"></a>WR1: На каждый экземпляр объекта versioned_action_request с классификацией 'change request' для class приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'author'.

###### <a id="p113313"></a>5.2.4.15 Правило caused_by_for_check

<a id="p113314"></a>Правило caused_by_for_check определяет, что на экземпляр объекта action с классификацией 'check' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment со значением роли 'caused_by'.
<a id="p113315"></a>EXPRESS-спецификация:
<a id="p113316"></a>*)
<a id="p113317"></a>**RULE**
<a id="p113318"></a>caused_by_for_check
<a id="p113319"></a>FOR(applied_person_and_organization_assignment, action);
<a id="p113320"></a>  LOCAL
<a id="p113321"></a>    t1_set: SET OF action :=  [];
<a id="p113322"></a>    a_set: SET OF applied_person_and_organization_assignment := [];
<a id="p113323"></a>    violate: LOGICAL := FALSE;
<a id="p113324"></a>  END_LOCAL;
<a id="p113325"></a>    t1_set := QUERY(a <* action | VALUE_IN(WHICH_CLASS(a), 'check'));

<a id="p113326"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113327"></a>  a_set := QUERY(b <* applied_person_and_organization_assignment |
<a id="p113328"></a>         (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113329"></a>         (b.role.name = 'caused by')));
<a id="p113330"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113331"></a>  END_REPEAT;
<a id="p113332"></a>  WHERE
<a id="p113333"></a>    WR1: NOT violate;
<a id="p113334"></a>**END_RULE;**
<a id="p113335"></a>(*
<a id="p113336"></a>Определения аргументов:
<a id="p113337"></a>applied_person_and_organization_assignment: набор экземпляров объектов applied_person_and_organization_assignment.
<a id="p113338"></a>action: набор всех экземпляров объектов action.
<a id="p113339"></a>Формальные высказывания:
<a id="p113340"></a>WR1: На каждый экземпляр объекта action с классификацией 'check' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'caused by'.

###### <a id="p113341"></a>5.2.4.16 Правило caused_by_for_envisaged_version_creation

<a id="p113342"></a>Правило caused_by_for_envisaged_version_creation определяет, что на экземпляр объекта action с классификацией 'envisaged version creation' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment со значением роли 'caused_by'.
<a id="p113343"></a>EXPRESS-спецификация:
<a id="p113344"></a>*)
<a id="p113345"></a>**RULE**
<a id="p113346"></a>caused_by_for_envisaged_version_creation FOR(applied_person_and_organization_
assignment, action);
<a id="p113347"></a>  LOCAL
<a id="p113348"></a>    t1_set: SET OF action := [];
<a id="p113349"></a>    r a_set: SET OF applied_person_and_organization_assignment := [];
<a id="p113350"></a>    violate: LOGICAL := FALSE; f
<a id="p113351"></a>  END_LOCAL;
<a id="p113352"></a>    t1_set := QUERY(a <* action |
<a id="p113353"></a>             VALUE_IN(WHICH_CLASS(a), 'envisaged version creation'));

<a id="p113354"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113355"></a>  a_set := QUERY(b <* applied_person_and_organization_assignment |
<a id="p113356"></a>       (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113357"></a>       (b.role.name = 'caused by')));
<a id="p113358"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113359"></a>  END_REPEAT;
<a id="p113360"></a>  WHERE
<a id="p113361"></a>    WR1: NOT violate;
<a id="p113362"></a>**END_RULE;**
<a id="p113363"></a>(*
<a id="p113364"></a>Определения аргументов:
<a id="p113365"></a>applied_person_and_organization_assignment: набор всех экземпляров объектов applied_person_and_organization_assignment.
<a id="p113366"></a>action: набор всех экземпляров объектов action.
<a id="p113367"></a>Формальные высказывания:
<a id="p113368"></a>WR1: На каждый экземпляр объекта action с классификацией 'change realization' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'caused by'.

###### <a id="p113369"></a>5.2.4.17 Правило caused_by_for_version_creation

<a id="p113370"></a>Правило caused_by_for_version_creation определяет, что на экземпляр объекта action с классификацией 'version creation' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment со значением роли 'caused by'.
<a id="p113371"></a>EXPRESS-спецификация:
<a id="p113372"></a>*)
<a id="p113373"></a>**RULE**
<a id="p113374"></a>caused_by_for_version_creation
<a id="p113375"></a>FOR(applied_person_and_organization_assignment, action);
<a id="p113376"></a>  LOCAL
<a id="p113377"></a>    t1_set: SET OF action := [];
<a id="p113378"></a>    a_set: SET OF applied_person_and_organization_assignment := [];
<a id="p113379"></a>    violate: LOGICAL := FALSE;
<a id="p113380"></a>  END_LOCAL;
<a id="p113381"></a>    t1_set := QUERY(a <* action |
<a id="p113382"></a>             VALUE_IN(WHICH_CLASS(a), 'version creation'));

<a id="p113383"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113384"></a>  a_set := QUERY(b <* applied_person_and_organization_assignment |
<a id="p113385"></a>         (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113386"></a>         (b.role.name = 'caused by')));
<a id="p113387"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113388"></a>  END_REPEAT;
<a id="p113389"></a>  WHERE
<a id="p113390"></a>    WR1: NOT violate;
<a id="p113391"></a>**END_RULE;**
<a id="p113392"></a>(*
<a id="p113393"></a>Определения аргументов:
<a id="p113394"></a>applied_person_and_organization_assignment: набор всех экземпляров объектов applied_person_and_organization_assignment.
<a id="p113395"></a>action: набор всех экземпляров объектов action.
<a id="p113396"></a>Формальные высказывания:
<a id="p113397"></a>WR1: На каждый экземпляр объекта action с классификацией 'version creation' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'caused by'.

###### <a id="p113398"></a>5.2.4.18 Правило caused_by_for_version_deletion

<a id="p113399"></a>Правило caused_by_for_version_deletion определяет, что на экземпляр объекта action с классификацией 'version deletion' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment со значением роли 'caused_by'.
<a id="p113400"></a>EXPRESS-спецификация:
<a id="p113401"></a>*)
<a id="p113402"></a>**RULE**
<a id="p113403"></a>caused_by_for_version_deletion
<a id="p113404"></a>FOR(applied_person_and_organization_assignment, action);
<a id="p113405"></a>  LOCAL
<a id="p113406"></a>    t1_set: SET OF action := [];
<a id="p113407"></a>    a_set: SET OF applied_person_and_organization_assignment := [];
<a id="p113408"></a>    violate: LOGICAL := FALSE;
<a id="p113409"></a>  END_LOCAL;
<a id="p113410"></a>    t1_set := QUERY(a <* action |
<a id="p113411"></a>             VALUE_IN(WHICH_CLASS(a), 'version deletion'));

<a id="p113412"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113413"></a>  a_set := QUERY(b <* applied_person_and_organization_assignment |
<a id="p113414"></a>         (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113415"></a>         (b.role.name = 'caused by')));
<a id="p113416"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113417"></a>  END_REPEAT;
<a id="p113418"></a>  WHERE
<a id="p113419"></a>    WR1: NOT violate;
<a id="p113420"></a>**END_RULE;**
<a id="p113421"></a>(*
<a id="p113422"></a>Определения аргументов:
<a id="p113423"></a>applied_person_and_organization_assignment: набор всех экземпляров объектов applied_person_and_organization_assignment.
<a id="p113424"></a>action: набор всех экземпляров объектов action.
<a id="p113425"></a>Формальные высказывания:
<a id="p113426"></a>WR1: На каждый экземпляр объекта action с классификацией 'version deletion' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'caused by'.

###### <a id="p113427"></a>5.2.4.19 Правило caused_by_for_version_modification

<a id="p113428"></a>Правило caused_by_for_version_modification определяет, что на экземпляр объекта action с классификацией 'version modification' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment со значением роли 'caused_by'.
<a id="p113429"></a>EXPRESS-спецификация:
<a id="p113430"></a>*)
<a id="p113431"></a>**RULE**
<a id="p113432"></a>caused_by_for_version_modification
<a id="p113433"></a>FOR(applied_person_and_organization_assignment, action);
<a id="p113434"></a>  LOCAL
<a id="p113435"></a>    t1_set: SET OF action := [];
<a id="p113436"></a>    a_set: SET OF applied_person_and_organization_assignment := [];
<a id="p113437"></a>    violate: LOGICAL := FALSE;
<a id="p113438"></a>  END_LOCAL;
<a id="p113439"></a>    t1_set := QUERY(a <* action |
<a id="p113440"></a>         VALUE_IN(WHICH_CLASS(a), 'version modification'));

<a id="p113441"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113442"></a>  a_set := QUERY(b <* applied_person_and_organization_assignment |
<a id="p113443"></a>         (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113444"></a>         (b.role.name = 'caused by')));
<a id="p113445"></a>  violate := SIZEOF(a_set) <> 1;
<a id="p113446"></a>  END_REPEAT;
<a id="p113447"></a>  WHERE
<a id="p113448"></a>    WR1: NOT violate;
<a id="p113449"></a>**END_RULE;**
<a id="p113450"></a>(*
<a id="p113451"></a>Определения аргументов:
<a id="p113452"></a>applied_person_and_organization_assignment: набор всех экземпляров объектов applied_person_and_organization_assignment.
<a id="p113453"></a>action: набор всех экземпляров объектов action.
<a id="p113454"></a>Формальные высказывания:
<a id="p113455"></a>WR1: На каждый экземпляр объекта action с классификацией 'version modification' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'caused by'.

###### <a id="p113456"></a>5.2.4.20 Правило caused_when_for_check

<a id="p113457"></a>Правило caused_when_for_check определяет, что на экземпляр объекта action с классификацией 'check' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'caused when'.
<a id="p113458"></a>EXPRESS-спецификация:
<a id="p113459"></a>*)
<a id="p113460"></a>**RULE**
<a id="p113461"></a>caused_when_for_check
<a id="p113462"></a>FOR(applied_date_and_time_assignment, action);
<a id="p113463"></a>  LOCAL
<a id="p113464"></a>    t1_set: SET OF action := [];
<a id="p113465"></a>    a_set: SET OF applied_date_and_time_assignment := [];
<a id="p113466"></a>    violate: LOGICAL := FALSE;
<a id="p113467"></a>  END_LOCAL;
<a id="p113468"></a>    t1_set := QUERY(a <* action | VALUE_IN(WHICH_CLASS(a), 'check'));

<a id="p113469"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113470"></a>  a_set := QUERY(b <* applied_date_and_time_assignment |
<a id="p113471"></a>           (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113472"></a>           (b.role.name = 'caused when')));
<a id="p113473"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113474"></a>  END_REPEAT;
<a id="p113475"></a>  WHERE
<a id="p113476"></a>    WR1: NOT violate;
<a id="p113477"></a>**END_RULE;**
<a id="p113478"></a>(*
<a id="p113479"></a>Определения аргументов:
<a id="p113480"></a>applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_assignment.
<a id="p113481"></a>action: набор всех экземпляров объектов action.
<a id="p113482"></a>Формальные высказывания:
<a id="p113483"></a>WR1: На каждый экземпляр объекта action с классификацией 'check' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

###### <a id="p113484"></a>5.2.4.21 Правило caused_when_for_envisaged_version_creation

<a id="p113485"></a>Правило caused_when_for_envisaged_version_creation определяет, что на экземпляр объекта action с классификацией 'envisaged version creation' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'caused when'.
<a id="p113486"></a>EXPRESS-спецификация:
<a id="p113487"></a>*)
<a id="p113488"></a>**RULE**
<a id="p113489"></a>caused_when_for_envisaged_version_creation FOR(applied_date_and_time_assignment, action);
<a id="p113490"></a>  LOCAL
<a id="p113491"></a>    t1_set: SET OF action := [];
<a id="p113492"></a>    a_set: SET OF applied_date_and_time_assignment := [];
<a id="p113493"></a>    violate: LOGICAL := FALSE;
<a id="p113494"></a>  END_LOCAL;
<a id="p113495"></a>    t1_set := QUERY(a <* action | VALUE_IN(WHICH_CLASS(a),
<a id="p113496"></a>             'envisaged version creation'));

<a id="p113497"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113498"></a>  a_set := QUERY(b <* applied_date_and_time_assignment |
<a id="p113499"></a>         (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113500"></a>         (b.role.name = 'caused when')));
<a id="p113501"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113502"></a>  END_REPEAT;
<a id="p113503"></a>  WHERE
<a id="p113504"></a>    WR1: NOT violate;
<a id="p113505"></a>**END_RULE;**
<a id="p113506"></a>(*
<a id="p113507"></a>Определения аргументов:
<a id="p113508"></a>applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_assignment.
<a id="p113509"></a>action: набор всех экземпляров объектов action.
<a id="p113510"></a>Формальные высказывания:
<a id="p113511"></a>WR1: На каждый экземпляр объекта action с классификацией 'envisaged version creation' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

###### <a id="p113512"></a>5.2.4.22 Правило caused_when_for_version_creation

<a id="p113513"></a>Правило caused_when_for_version_creation определяет, что на экземпляр объекта action с классификацией 'version creation' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'caused when'.
<a id="p113514"></a>EXPRESS-спецификация:
<a id="p113515"></a>*)
<a id="p113516"></a>**RULE**
<a id="p113517"></a>caused_when_for_version_creation
<a id="p113518"></a>FOR(applied_date_and_time_assignment, action);
<a id="p113519"></a>  LOCAL
<a id="p113520"></a>    t1_set: SET OF action := [];
<a id="p113521"></a>    a_set: SET OF applied_date_and_time_assignment := [];
<a id="p113522"></a>    violate: LOGICAL := FALSE;
<a id="p113523"></a>  END_LOCAL;
<a id="p113524"></a>    t1_set := QUERY(a <* action |
<a id="p113525"></a>                VALUE_IN(WHICH_CLASS(a), 'version creation'));

<a id="p113526"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113527"></a>  a_set := QUERY(b <* applied_date_and_time_assignment |
<a id="p113528"></a>           (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113529"></a>           (b.role.name = 'caused when')));
<a id="p113530"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113531"></a>  END_REPEAT;
<a id="p113532"></a>  WHERE
<a id="p113533"></a>    WR1: NOT violate;
<a id="p113534"></a>**END_RULE;**
<a id="p113535"></a>(*
<a id="p113536"></a>Определения аргументов:
<a id="p113537"></a>applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_assignment.
<a id="p113538"></a>action: набор всех экземпляров объектов action.
<a id="p113539"></a>Формальные высказывания:
<a id="p113540"></a>WR1: На каждый экземпляр объекта action с классификацией 'version creation' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

###### <a id="p113541"></a>5.2.4.23 Правило caused_when_for_version_modification

<a id="p113542"></a>Правило caused_when_for_version_modification определяет, что на экземпляр объекта action с классификацией 'version modification' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'caused when'.
<a id="p113543"></a>EXPRESS-спецификация:
<a id="p113544"></a>*)
<a id="p113545"></a>**RULE**
<a id="p113546"></a>caused_when_for_version_modification FOR(applied_date_and_time_assignment, action);
<a id="p113547"></a>  LOCAL
<a id="p113548"></a>    t1_set: SET OF action := [];
<a id="p113549"></a>    a_set: SET OF applied_date_and_time_assignment := [];
<a id="p113550"></a>    violate: LOGICAL := FALSE;
<a id="p113551"></a>**END_LOCAL;**
<a id="p113552"></a>  t1_set := QUERY(a <* action |
<a id="p113553"></a>              VALUE_IN(WHICH_CLASS(a), 'version modification'));

<a id="p113554"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113555"></a>    a_set := QUERY(b <* applied_date_and_time_assignment |
<a id="p113556"></a>             (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113557"></a>             (b.role.name = 'caused when')));
<a id="p113558"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113559"></a>  END_REPEAT;
<a id="p113560"></a>  WHERE
<a id="p113561"></a>    WR1: NOT violate;
<a id="p113562"></a>**END_RULE;**
<a id="p113563"></a>(*
<a id="p113564"></a>Определения аргументов:
<a id="p113565"></a>applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_assignment.
<a id="p113566"></a>action: набор всех экземпляров объектов action.
<a id="p113567"></a>Формальные высказывания:
<a id="p113568"></a>WR1: На каждый экземпляр объекта action с классификацией 'version modification' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

###### <a id="p113569"></a>5.2.4.24 Правило caused_when_for_version_deletion

<a id="p113570"></a>Правило caused_when_for_version_deletion определяет, что на экземпляр объекта action с классификацией 'version deletion' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'caused when'.
<a id="p113571"></a>EXPRESS-спецификация:
<a id="p113572"></a>*)
<a id="p113573"></a>**RULE**
<a id="p113574"></a>caused_when_for_version_deletion FOR(applied_date_and_time_assignment, action);
<a id="p113575"></a>  LOCAL
<a id="p113576"></a>    t1_set: SET OF action := [];
<a id="p113577"></a>    a_set: SET OF applied_date_and_time_assignment := [];
<a id="p113578"></a>    violate: LOGICAL := FALSE;
<a id="p113579"></a>  END_LOCAL;
<a id="p113580"></a>    t1_set := QUERY(a <* action |
<a id="p113581"></a>                 VALUE_IN(WHICH_CLASS(a), 'version deletion'));

<a id="p113582"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113583"></a>  a_set := QUERY(b <* applied_date_and_time_assignment |
<a id="p113584"></a>                (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113585"></a>                (b.role.name = 'caused when')));
<a id="p113586"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113587"></a>  END_REPEAT;
<a id="p113588"></a>  WHERE
<a id="p113589"></a>    WR1: NOT violate;
<a id="p113590"></a>**END_RULE;**
<a id="p113591"></a>(*
<a id="p113592"></a>Определения аргументов:
<a id="p113593"></a>applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_assignment.
<a id="p113594"></a>action: набор всех экземпляров объектов action.
<a id="p113595"></a>Формальные высказывания:
<a id="p113596"></a>WR1: На каждый экземпляр объекта action с классификацией 'version deletion' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

###### <a id="p113597"></a>5.2.4.25 Правило centre_location_compound_representation_has_specified_name

<a id="p113598"></a>Правило centre_location_compound_representation_has_specified_name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'centre location' в объекте list_representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p113599"></a>EXPRESS-спецификация:
<a id="p113600"></a>*)
<a id="p113601"></a>RULE centre_location_compound_representation_has_specified_name
<a id="p113602"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p113603"></a>**LOCAL**
<a id="p113604"></a>  c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p113605"></a>  t1_set: SET OF Compound_representation_item := [];
<a id="p113606"></a>  t2_set: SET OF representation_item := [];
<a id="p113607"></a>    arg_list: LIST OF STRING := ['longitudinal location', 'transversal
location', 'vertical location'];
<a id="p113608"></a>  violation: LOGICAL := FALSE;
<a id="p113609"></a>  END_LOCAL;

<a id="p113610"></a>  (* get all classification_assignment instances with id 'centre location' *)
<a id="p113611"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p113612"></a>i.ASSIGNED_CLASS.NAME = 'centre location');

<a id="p113613"></a>  (* get all instances of compound_representation_item that have class id
'centre location' *)
<a id="p113614"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p113615"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p113616"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p113617"></a>    END_REPEAT;
<a id="p113618"></a>  END_REPEAT;

<a id="p113619"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not exactly one rep_item for each name in the arg_list
*)
<a id="p113620"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p113621"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p113622"></a>      t2_set := t1_set[i].item_element;
<a id="p113623"></a>    violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1);
<a id="p113624"></a>    END_REPEAT;
<a id="p113625"></a>  END_REPEAT;

<a id="p113626"></a>  WHERE
<a id="p113627"></a>    wr1: NOT violation;
<a id="p113628"></a>**END_RULE;**
<a id="p113629"></a>(*
<a id="p113630"></a>Определения аргументов:
<a id="p113631"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p113632"></a>Формальные высказывания:
<a id="p113633"></a>WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект hat has an applied_classification_assignment со значением атрибута assigned_classification.name, равным 'centre location', должен быть свой атрибут item_element, экземпляр которого должен создаваться как list_representation_item, который должен для каждого из следующих значений: 'longitudinal location', 'transversal location', 'vertical location' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p113634"></a>5.2.4.26 Правило change_impact_with_versionable_object_change_event

<a id="p113635"></a>Правило change_impact_with_versionable_object_change_event определяет, что каждое присваивание типа applied_action_request_assignment со значением 'change impact' для role должно ссылаться хотя бы на один элемент с классификацией 'versionable object change event' через его атрибут items.
<a id="p113636"></a>EXPRESS-спецификация:
<a id="p113637"></a>*)
<a id="p113638"></a>**RULE**
<a id="p113639"></a>change_impact_with_versionable_object_change_event
<a id="p113640"></a>FOR(applied_action_request_assignment);
<a id="p113641"></a>  LOCAL
<a id="p113642"></a>    t1_set: SET OF applied_action_request_assignment := [];
<a id="p113643"></a>    a_set: SET OF action := [];
<a id="p113644"></a>    violate: LOGICAL := FALSE;
<a id="p113645"></a>  END_LOCAL;

<a id="p113646"></a>  t1_set := QUERY(b <* applied_action_request_assignment |
<a id="p113647"></a>           (b.role.name= 'change impact'));

<a id="p113648"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113649"></a>  a_set := QUERY(b <* t1_set[i].items |
<a id="p113650"></a>  ('SHIP_MOULDED_FORM_SCHEMA.ACTION' IN TYPEOF(b)) AND
<a id="p113651"></a>    VALUE_IN(WHICH_CLASS(b), 'versionable object change event'));
<a id="p113652"></a>    violate := SIZEOF(a_set) = 0;
<a id="p113653"></a>  END_REPEAT;
<a id="p113654"></a>**WHERE**
<a id="p113655"></a>  WR1: NOT violate;
<a id="p113656"></a>**END_RULE;**
<a id="p113657"></a>(*
<a id="p113658"></a>Определения аргументов:
<a id="p113659"></a>applied_action_request_assignment: набор всех экземпляров объектов applied_action_request_assignment.
<a id="p113660"></a>Формальные высказывания:
<a id="p113661"></a>WR1: Каждый экземпляр объекта applied_action_request_assignment, значение для role которого равно 'change impact', должен ссылаться хотя бы на один экземпляр, содержащий объект applied_classification_assignment, чей объект assigned_class представляет собой объект group с атрибутом name, равным 'versionable object change event', через его атрибут items.

###### <a id="p113662"></a>5.2.4.27 Правило change_plan_has_mandatory_attribute_description

<a id="p113663"></a>Правило change_plan_has_mandatory_attribute_description определяет, что для экземпляра объекта action_request_solution со значением идентификатора класса 'alternative version relationship' приведен экземпляр необязательного атрибута description.
<a id="p113664"></a>EXPRESS-спецификация:
<a id="p113665"></a>*)
<a id="p113666"></a>**RULE**
<a id="p113667"></a>change_plan_has_mandatory_attribute_description
<a id="p113668"></a>FOR (action_request_solution);
<a id="p113669"></a>**LOCAL**
<a id="p113670"></a>    t1_set: SET OF action_request_solution :=  [];
<a id="p113671"></a>    violate: LOGICAL := FALSE;
<a id="p113672"></a>  END_LOCAL;
<a id="p113673"></a>  t1_set := QUERY(i <* action_request_solution |
<a id="p113674"></a>  VALUE_IN(WHICH_CLASS(i), 'change plan'));
<a id="p113675"></a>  violate := (SIZEOF(QUERY(k <* t1_set |
<a id="p113676"></a>  NOT EXISTS (k.description))) > 0);
<a id="p113677"></a>**WHERE**
<a id="p113678"></a>  WR1: NOT violate;
<a id="p113679"></a>**END_RULE;**
<a id="p113680"></a>(*
<a id="p113681"></a>Определения аргументов:
<a id="p113682"></a>action_request_solution: набор всех экземпляров объектов action_request_solution.
<a id="p113683"></a>Формальные высказывания:
<a id="p113684"></a>WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action_request_solution, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'change plan'.

###### <a id="p113685"></a>5.2.4.28 Правило class_and_statutory_designation_has_properties

<a id="p113686"></a>Правило class_and_statutory_designation_has_properties определяет, что на объект product_definition с идентификатором класса 'class and statutory designation' должна быть дана ссылка из одного объекта property_definition_representation со значением 'class and statutory designation' для name через объект property_definition.
<a id="p113687"></a>EXPRESS-спецификация:
<a id="p113688"></a>*)
<a id="p113689"></a>RULE class_and_statutory_designation_has_properties FOR (property_definition_
representation, applied_classification_assignment);
<a id="p113690"></a>**LOCAL**
<a id="p113691"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p113692"></a>    t1_list: LIST OF product_definition := [];
<a id="p113693"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p113694"></a>    t3_list: LIST OF property_definition := [];
<a id="p113695"></a>    t4_list: LIST OF product_definition := [];
<a id="p113696"></a>    violation: LOGICAL := FALSE;
<a id="p113697"></a>  END_LOCAL;

<a id="p113698"></a>c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p113699"></a>                 i.assigned_class.NAME =
<a id="p113700"></a>                 'class and statutory designation');

<a id="p113701"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p113702"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p113703"></a>      t1_list := t1_list + c_a_set[i].items[j];
<a id="p113704"></a>    END_REPEAT;
<a id="p113705"></a>  END_REPEAT;
<a id="p113706"></a>  t2_set := QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |
<a id="p113707"></a>            i.NAME = 'class and statutory designation');
<a id="p113708"></a>  REPEAT i := 1 TO HIINDEX(t2_set);
<a id="p113709"></a>    t3_list := t3_list + t2_set[i].definition;
<a id="p113710"></a>  END_REPEAT;
<a id="p113711"></a>  REPEAT i := 1 TO HIINDEX(t3_list);
<a id="p113712"></a>    t4_list := t4_list + t3_list[i].definition;
<a id="p113713"></a>  END_REPEAT;
<a id="p113714"></a>  violation := t1_list <> t4_list;
<a id="p113715"></a>  WHERE
<a id="p113716"></a>  WR1: NOT violation;
<a id="p113717"></a>**END_RULE;**
<a id="p113718"></a>(*
<a id="p113719"></a>Определения аргументов:
<a id="p113720"></a>property_definition_representation: набор всех экземпляров объектов property_definition_representation.
<a id="p113721"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p113722"></a>Формальные высказывания:
<a id="p113723"></a>WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_classification_assignment, чей атрибут assigned_classification представляет собой group со значением 'class and statutory designation' для атрибута name, должна быть дана ссылка только их одного экземпляра объекта property_definition через атрибут definition, на который, в свою очередь, приведена ссылка из экземпляра объекта property_definition_representation через атрибут definition, значение атрибута name которого равно 'class and statutory designation'.

###### <a id="p113724"></a>5.2.4.29 Правило class_notation_with_named_representation_items

<a id="p113725"></a>Правило class_notation_with_named_representation_items определяет наличие для атрибута items объекта representation для каждой записи в перечне одного или нескольких объектов representation_items, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, значение атрибута name которого равно 'class notation'.
<a id="p113726"></a>EXPRESS-спецификация:
<a id="p113727"></a>*)
<a id="p113728"></a>RULE class_notation_with_named_representation_items FOR (representation);
<a id="p113729"></a>**LOCAL**
<a id="p113730"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p113731"></a>    arg_list: LIST OF STRING := ['class notations hull',
<a id="p113732"></a>    violation: LOGICAL := FALSE;
<a id="p113733"></a>  END_LOCAL;

<a id="p113734"></a>reps := QUERY(
<a id="p113735"></a>    temp_rep <* representation |
<a id="p113736"></a>      SIZEOF (
<a id="p113737"></a>        QUERY(
<a id="p113738"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p113739"></a>          'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+
<a id="p113740"></a>          'USED_REPRESENTATION'))
<a id="p113741"></a>            | (temp_prop_def_rep.name = 'class notation')
<a id="p113742"></a>            )
<a id="p113743"></a>          ) > 0
<a id="p113744"></a>        );

<a id="p113745"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p113746"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p113747"></a>    violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p113748"></a>                  rep_item.name = arg_list[j])) < 1);
<a id="p113749"></a>    END_REPEAT;
<a id="p113750"></a>  END_REPEAT;
<a id="p113751"></a>  WHERE
<a id="p113752"></a>    WR1: NOT violation;
<a id="p113753"></a>**END_RULE;**
<a id="p113754"></a>(*
<a id="p113755"></a>Определения аргументов:
<a id="p113756"></a>representation: набор всех экземпляров объектов representation.
<a id="p113757"></a>Формальные высказывания:
<a id="p113758"></a>WR1: Каждый экземпляр объекта representation, представляющего собой объект the used_representation в экземпляре объекта property_definition_representation, значение атрибута name которого равно 'class notation', должен для каждого из следующих значений 'class notations hull' или 'class notations machinery' собирать хотя бы один экземпляр объекта representation_item в его атрибуте items, чей атрибут name равен этому значению.

###### <a id="p113759"></a>5.2.4.30 Правило class_parameters_has_properties

<a id="p113760"></a>Правило class_parameters_has_properties определяет, что на объект product_definition с идентификатором класса 'class parameters' приведена ссылка из одного объекта property_definition_representation со значением 'class parameters' для name через объект property_definition.
<a id="p113761"></a>EXPRESS-спецификация:
<a id="p113762"></a>*)
<a id="p113763"></a>RULE class_parameters_has_properties FOR (property_definition_representation,
applied_classification_assignment);
<a id="p113764"></a>**LOCAL**
<a id="p113765"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p113766"></a>    t1_set: LIST OF product_definition := [];
<a id="p113767"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p113768"></a>    t3_set: LIST OF property_definition := [];
<a id="p113769"></a>    t4_set: LIST OF product_definition := [];
<a id="p113770"></a>    violation: LOGICAL := FALSE;
<a id="p113771"></a>  END_LOCAL;

<a id="p113772"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p113773"></a>                   i.assigned_class.NAME =
<a id="p113774"></a>                   'class parameters');

<a id="p113775"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p113776"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p113777"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p113778"></a>    END_REPEAT;
<a id="p113779"></a>  END_REPEAT;

<a id="p113780"></a>  t2_set:= QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |
<a id="p113781"></a>           i.NAME = 'class parameters');
<a id="p113782"></a>  REPEAT i := 1 TO HIINDEX(t2_set);
<a id="p113783"></a>    t3_set := t3_set + t2_set[i].definition;
<a id="p113784"></a>  END_REPEAT;
<a id="p113785"></a>  REPEAT i := 1 TO HIINDEX(t3_set);
<a id="p113786"></a>    t4_set := t4_set + t3_set[i].definition;
<a id="p113787"></a>  END_REPEAT;
<a id="p113788"></a>  violation := t1_set <> t4_set;
<a id="p113789"></a>  WHERE
<a id="p113790"></a>    WR1: NOT violation;
<a id="p113791"></a>**END_RULE;**
<a id="p113792"></a>(*
<a id="p113793"></a>Определения аргументов:
<a id="p113794"></a>property_definition_representation: набор всех экземпляров объектов property_definition_representation.
<a id="p113795"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p113796"></a>Формальные высказывания:
<a id="p113797"></a>WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_classification_assignment, чей атрибут assigned_class представляет собой group со значением 'class parameters' для атрибута name, должна быть дана ссылка только их одного экземпляра объекта property_definition через атрибут definition, на который в свою очередь приведена ссылка из экземпляра объекта property_definition_representation через атрибут definition, значение атрибута name которого равно 'class parameters'.

###### <a id="p113798"></a>5.2.4.31 Правило compound_representation_item_with_hydrostatic_properties

<a id="p113799"></a>Правило compound_representation_item_with_hydrostatic_properties определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'hydrostatic properties for constant floating position' в объекте list_representation_item для каждой записи в перечне одного или нескольких объектов representation_item, значение атрибута name которого указано в этом перечне.
<a id="p113800"></a>EXPRESS-спецификация:
<a id="p113801"></a>*)
<a id="p113802"></a>**RULE**
<a id="p113803"></a>compound_representation_item_with_hydrostatic_properties
<a id="p113804"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p113805"></a>**LOCAL**
<a id="p113806"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p113807"></a>    t1_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p113808"></a>    t2_set: LIST OF representation_item := [];
<a id="p113809"></a>    arg_list: LIST OF STRING := ['hydrostatic property value']
<a id="p113810"></a>    violation: LOGICAL := FALSE;
<a id="p113811"></a>  END_LOCAL;

<a id="p113812"></a>    (* get all classification_assignment instances with id 'hydrostatic
properties for constant floating position' *)
<a id="p113813"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p113814"></a>                   i.Assigned_class.name = 'hydrostatic properties for constant
floating position');

<a id="p113815"></a>    (* get all instances of compound_representation_item that have class id
'hydrostatic properties for constant floating position' *)
<a id="p113816"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p113817"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p113818"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p113819"></a>    END_REPEAT;
<a id="p113820"></a>  END_REPEAT;

<a id="p113821"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not one or more rep_item for each name in the arg_list *)
<a id="p113822"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p113823"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p113824"></a>      t2_set := t1_set[i].item_element;
<a id="p113825"></a>  violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) < 1);
<a id="p113826"></a>    END_REPEAT;
<a id="p113827"></a>  END_REPEAT;
<a id="p113828"></a>  WHERE
<a id="p113829"></a>    wr1: NOT violation;
<a id="p113830"></a>**END_RULE;**
<a id="p113831"></a>(*
<a id="p113832"></a>Определения аргументов:
<a id="p113833"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p113834"></a>Формальные высказывания:
<a id="p113835"></a>WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_classification_assignment со значением атрибута assigned_class.name, равным 'hydrostatic properties for constant floating position', должен быть свой атрибут item_element, экземпляр которого создавался как list_representation_item, который должен для каждого из следующих значений: 'hydrostatic property value' забирать хотя бы один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p113836"></a>5.2.4.32 Правило compound_representation_item_with_class_id_knot

<a id="p113837"></a>Правило compound_representation_item_with_class_id_knot определяет наличие для атрибута item_element объекта compound_representation_item с идентификатором класса 'knot' в объекте list_representation_item двух или более объектов compound_representation_item с идентификатором класса 'ship curve'.
<a id="p113838"></a>EXPRESS-спецификация:
<a id="p113839"></a>*)
<a id="p113840"></a>RULE compound_representation_item_with_class_id_knot

<a id="p113841"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p113842"></a>**LOCAL**
<a id="p113843"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p113844"></a>    c_a_set2: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p113845"></a>    t1_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p113846"></a>    t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p113847"></a>    t3_set: SET OF REPRESENTATION_ITEM := [];
<a id="p113848"></a>    l_rep_item : list_representation_item;
<a id="p113849"></a>    violation: LOGICAL := FALSE;
<a id="p113850"></a>  END_LOCAL;

<a id="p113851"></a>  (* get all classification_assignment instances with id 'knot' *)
<a id="p113852"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p113853"></a>                   i.ASSIGNED_CLASS.NAME = 'knot');

<a id="p113854"></a>  (* get all instances of compound_representation_item that have class id 'knot' *)
<a id="p113855"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p113856"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p113857"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p113858"></a>    END_REPEAT;
<a id="p113859"></a>  END_REPEAT;

<a id="p113860"></a>(* get all classification_assignment instances with id 'ship curve' *)
<a id="p113861"></a>  c_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p113862"></a>                     i.ASSIGNED_CLASS.NAME = 'ship curve');

<a id="p113863"></a>  (* get all instances of compound_representation_item that have class id 'ship curve' *)
<a id="p113864"></a>  REPEAT i := 1 TO HIINDEX(c_a_set2);
<a id="p113865"></a>    REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);
<a id="p113866"></a>      t2_set := t2_set + c_a_set2[i].items[j];
<a id="p113867"></a>    END_REPEAT;
<a id="p113868"></a>**END_REPEAT;**

<a id="p113869"></a>  (* iterate over all compound_representation_item found in the first list;
then iterate over all item_element for each compound_representation_item, check
that the intersection of these item_elements and the second list of compound_
representation_item is greater then or equal to 2 *)
<a id="p113870"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p113871"></a>    l_rep_item := t1_set[i].item_element;
<a id="p113872"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].item_element);
<a id="p113873"></a>        t3_set := t3_set + l_rep_item[j];
<a id="p113874"></a>      END_REPEAT;
<a id="p113875"></a>    violation := (SIZEOF(t3_set * t2_set) < 2);
<a id="p113876"></a>    t3_set:= [];
<a id="p113877"></a>  WHERE
<a id="p113878"></a>    wr1: NOT violation;
<a id="p113879"></a>**END_RULE;**
<a id="p113880"></a>(*
<a id="p113881"></a>Определения аргументов:
<a id="p113882"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p113883"></a>Формальные высказывания:
<a id="p113884"></a>WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен значению 'knot', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен собирать хотя бы два экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class равен значению 'ship curve'.

###### <a id="p113885"></a>5.2.4.33 Правило compound_representation_item_with_section_identifier

<a id="p113886"></a>Правило compound_representation_item_with_section_identifier определяет, что на экземпляр объекта compound_representation_item с идентификатором класса 'section of offset point table' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, атрибут role которого имеет значение 'section identifier'.
<a id="p113887"></a>EXPRESS-спецификация:
<a id="p113888"></a>*)
<a id="p113889"></a>RULE compound_representation_item_with_section_identifier
<a id="p113890"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p113891"></a>  LOCAL
<a id="p113892"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p113893"></a>    t1_set: SET OF compound_representation_item := [];
<a id="p113894"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p113895"></a>    violation: LOGICAL := FALSE;
<a id="p113896"></a>  END_LOCAL;

<a id="p113897"></a>  (* get all classification_assignment instances with id 'section of offset
point table' *)
<a id="p113898"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p113899"></a>                   i.ASSIGNED_CLASS.NAME = 'section of offset point table');

<a id="p113900"></a>  (* get all instances of compound_representation_item that have class id
'section of offset point table' *)
<a id="p113901"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p113902"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p113903"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p113904"></a>    END_REPEAT;
<a id="p113905"></a>  END_REPEAT;

<a id="p113906"></a>  (* for all instances of compound_representation_item in t1_set:
<a id="p113907"></a>  get the applied_identification_assignment instances that are referencing
a compound_representation_item instance via items, filter out those applied_
identification_assignment instances whose attribute role has the value 'section
identifier' check if their number equals 1 *)
<a id="p113908"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p113909"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.
**'+'APPLIED_IDENTIFICATION_ASSIGNMENT' + '.ITEMS'));**
<a id="p113910"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.role.name =
'section identifier')) = 1);
<a id="p113911"></a>  END_REPEAT;

<a id="p113912"></a>**WHERE**
<a id="p113913"></a>  wr1: NOT violation;
<a id="p113914"></a>**END_RULE;**
<a id="p113915"></a>(*
<a id="p113916"></a>Определения аргументов:
<a id="p113917"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p113918"></a>Формальные высказывания:
<a id="p113919"></a>WR1: На каждый объект compound_representation_item, на который дана ссылка из объекта applied_classification_assignment, где name = 'section of offset point table', приведена ссылка только из одного объекта applied_identification_assignment.items, где applied_identification_assignment.role = 'section identifier'.

###### <a id="p113920"></a>5.2.4.34 Правило date_time_for_change_plan

<a id="p113921"></a>Правило date_time_for_change_plan определяет, что на экземпляр объекта action_request_solution с классификацией 'change plan' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'date time'.
<a id="p113922"></a>EXPRESS-спецификация:
<a id="p113923"></a>*)
<a id="p113924"></a>**RULE**
<a id="p113925"></a>date_time_for_change_plan
<a id="p113926"></a>FOR(applied_date_and_time_assignment, action_request_solution);
<a id="p113927"></a>  LOCAL
<a id="p113928"></a>    t1_set: SET OF action_request_solution := [];
<a id="p113929"></a>    a_set: SET OF applied_date_and_time_assignment := [];
<a id="p113930"></a>    violate: LOGICAL := FALSE;
<a id="p113931"></a>  END_LOCAL;
<a id="p113932"></a>    t1_set := QUERY(a <* action_request_solution |
<a id="p113933"></a>              VALUE_IN(WHICH_CLASS(a), 'change plan'));

<a id="p113934"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113935"></a>  a_set := QUERY(b <* applied_date_and_time_assignment |
<a id="p113936"></a>                (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113937"></a>                (b.role.name = 'date time')));
<a id="p113938"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113939"></a>  END_REPEAT;
<a id="p113940"></a>  WHERE
<a id="p113941"></a>    WR1: NOT violate;
<a id="p113942"></a>**END_RULE;**
<a id="p113943"></a>(*
<a id="p113944"></a>Определения аргументов:
<a id="p113945"></a>applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_assignment.
<a id="p113946"></a>action_request_solution: набор всех экземпляров объектов action_request_solution.
<a id="p113947"></a>Формальные высказывания:
<a id="p113948"></a>WR1: На каждый экземпляр объекта action_request_solution с классификацией 'change plan' для role приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'date time'.

###### <a id="p113949"></a>5.2.4.35 Правило date_time_for_change_request

<a id="p113950"></a>Правило date_time_for_change_request определяет, что на экземпляр объекта versioned_action с классификацией 'change request' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'date time'.
<a id="p113951"></a>EXPRESS-спецификация:
<a id="p113952"></a>*)
<a id="p113953"></a>**RULE**
<a id="p113954"></a>date_time_for_change_request
<a id="p113955"></a>FOR(applied_date_and_time_assignment, versioned_action_request);
<a id="p113956"></a>  LOCAL
<a id="p113957"></a>    t1_set: SET OF versioned_action_request := [];
<a id="p113958"></a>    a_set: SET OF applied_date_and_time_assignment := [];
<a id="p113959"></a>    violate: LOGICAL := FALSE;
<a id="p113960"></a>  END_LOCAL;
<a id="p113961"></a>    t1_set := QUERY(a <* versioned_action_request |
<a id="p113962"></a>              VALUE_IN(WHICH_CLASS(a), 'change request'));

<a id="p113963"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113964"></a>  a_set := QUERY(b <* applied_date_and_time_assignment |
<a id="p113965"></a>                (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113966"></a>                (b.role.name = 'date time')));
<a id="p113967"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113968"></a>  END_REPEAT;
<a id="p113969"></a>  WHERE
<a id="p113970"></a>    WR1: NOT violate;
<a id="p113971"></a>**END_RULE;**
<a id="p113972"></a>(*
<a id="p113973"></a>Определения аргументов:
<a id="p113974"></a>applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_assignment.
<a id="p113975"></a>versioned_action_request: набор всех экземпляров объектов versioned_action_request.
<a id="p113976"></a>Формальные высказывания:
<a id="p113977"></a>WR1: На каждый экземпляр объекта versioned_action_request с классификацией 'change request' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'date time'.

###### <a id="p113978"></a>5.2.4.36 Правило date_time_for_change_realisation

<a id="p113979"></a>Правило date_time_for_change_realisation определяет, что на экземпляр объекта executed_action с классификацией 'change realization' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'date time'.
<a id="p113980"></a>EXPRESS-спецификация:
<a id="p113981"></a>*)
<a id="p113982"></a>**RULE**
<a id="p113983"></a>date_time_for_change_realisation
<a id="p113984"></a>FOR(applied_date_and_time_assignment, executed_action);
<a id="p113985"></a>  LOCAL
<a id="p113986"></a>    t1_set: SET OF executed_action := [];
<a id="p113987"></a>    a_set: SET OF applied_date_and_time_assignment := [];
<a id="p113988"></a>    violate: LOGICAL := FALSE;
<a id="p113989"></a>  END_LOCAL;
<a id="p113990"></a>    t1_set := QUERY(a <* executed_action |
<a id="p113991"></a>              VALUE_IN(WHICH_CLASS(a), 'change realisation'));

<a id="p113992"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p113993"></a>  a_set := QUERY(b <* applied_date_and_time_assignment |
<a id="p113994"></a>                (VALUE_IN(b.items, t1_set[i]) AND
<a id="p113995"></a>                (b.role.name = 'date time')));
<a id="p113996"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p113997"></a>  END_REPEAT;
<a id="p113998"></a>  WHERE
<a id="p113999"></a>    WR1: NOT violate;
<a id="p114000"></a>**END_RULE;**
<a id="p114001"></a>(*
<a id="p114002"></a>Определения аргументов:
<a id="p114003"></a>applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_assignment.
<a id="p114004"></a>executed_action: набор всех экземпляров объектов executed_action.
<a id="p114005"></a>Формальные высказывания:
<a id="p114006"></a>WR1: На каждый экземпляр объекта executed_action с классификацией 'change realization' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'date time'.

###### <a id="p114007"></a>5.2.4.37 Правило document_has_at_least_one_references

<a id="p114008"></a>Правило document_has_at_least_one_references определяет, что на экземпляр объекта document с классификацией 'document' приведена ссылка хотя бы из одного экземпляра объекта document_representation_type через represented_document.
<a id="p114009"></a>EXPRESS-спецификация:
<a id="p114010"></a>*)
<a id="p114011"></a>RULE document_has_at_least_one_references
<a id="p114012"></a>FOR(document);
<a id="p114013"></a>  LOCAL
<a id="p114014"></a>    t1_set: SET OF document := [];
<a id="p114015"></a>    t2_set: SET OF document_representation_type := [];
<a id="p114016"></a>    violate: LOGICAL := FALSE;
<a id="p114017"></a>  END_LOCAL;
<a id="p114018"></a>  t1_set := QUERY(i <* document | VALUE_IN(WHICH_CLASS(i),'document'));

<a id="p114019"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p114020"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114021"></a>      'SHIP_MOULDED_FORM_SCHEMA.DOCUMENT_REPRESENTATION_TYPE.'+
<a id="p114022"></a>      'REPRESENTED_DOCUMENT'));
<a id="p114023"></a>    violate := SIZEOF(t2_set) < 1;
<a id="p114024"></a>**END_REPEAT;**
<a id="p114025"></a>  WHERE
<a id="p114026"></a>    WR1: NOT violate;
<a id="p114027"></a>**END_RULE;**
<a id="p114028"></a>(*
<a id="p114029"></a>Определения аргументов:
<a id="p114030"></a>document: набор всех экземпляров объектов document.
<a id="p114031"></a>Формальные высказывания:
<a id="p114032"></a>WR1: На каждый экземпляр объекта document, содержащего объект applied_classification_assignment, где assigned_class представляет собой group со значением атрибута name, равным 'document', должна быть дана ссылка из одного или нескольких экземпляров объекта document_representation_type через атрибут represented_document.

###### <a id="p114033"></a>5.2.4.38 Правило document_has_exactly_one_author

<a id="p114034"></a>Правило document_has_exactly_one_author определяет, что на каждый экземпляр типа document должна быть дана ссылка только из одного экземпляра типа applied_person_assignment или applied_organization_assignment, или applied_person_and_organization_assignment, где последний экземпляр содержит роль со значением 'author'.
<a id="p114035"></a>EXPRESS-спецификация:
<a id="p114036"></a>*)
<a id="p114037"></a>RULE document_has_exactly_one_author
<a id="p114038"></a>FOR(document);
<a id="p114039"></a>  LOCAL
<a id="p114040"></a>    bag_1: BAG OF applied_person_assignment := [];
<a id="p114041"></a>    bag_2: BAG OF applied_person_and_organization_assignment := [];
<a id="p114042"></a>    bag_3: BAG OF applied_organization_assignment := [];
<a id="p114043"></a>    violate: LOGICAL := FALSE;
<a id="p114044"></a>  END_LOCAL;
<a id="p114045"></a>REPEAT i := 1 TO SIZEOF(document) WHILE (NOT violate);
<a id="p114046"></a>  bag_1 := USEDIN(document[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
       'APPLIED_PERSON_ASSIGNMENT.ITEMS');
<a id="p114047"></a>    bag_1 := QUERY( assign <* bag_1 | assign.role.name = 'author');
<a id="p114048"></a>  bag_2 := USEDIN(document[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
       'APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT.ITEMS');
<a id="p114049"></a>  bag_2 := QUERY( assign <* bag_2 | assign.role.name = 'author');
<a id="p114050"></a>  bag_3 := USEDIN(document[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
       'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS');

<a id="p114051"></a>  bag_3 := QUERY( assign <* bag_3 | assign.role.name = 'author');
<a id="p114052"></a>    violate := NOT ((SIZEOF( bag_1 ) + SIZEOF( bag_2 )+ SIZEOF( bag_3 )) = 1);
<a id="p114053"></a>**END_REPEAT;**
<a id="p114054"></a>  WHERE
<a id="p114055"></a>    WR1: NOT violate;
<a id="p114056"></a>**END_RULE;**
<a id="p114057"></a>(*
<a id="p114058"></a>Определения аргументов:
<a id="p114059"></a>document: набор всех экземпляров объектов document.
<a id="p114060"></a>Формальные высказывания:
<a id="p114061"></a>WR1: На каждый экземпляр объекта document должна быть дана ссылка только из одного экземпляра объекта applied_person_assignment, applied_organization_assignment или applied_person_and_organization_assignment со значением роли 'author'.

###### <a id="p114062"></a>5.2.4.39 Правило document_reference_with_address_has_at_least_one_references

<a id="p114063"></a>Правило document_reference_with_address_has_at_least_one_references определяет, что на экземпляр объекта document с идентификатором класса 'document reference with address' должна быть дана ссылка хотя бы из одного экземпляра объекта applied_external_identification_assignments через items.
<a id="p114064"></a>EXPRESS-спецификация:
<a id="p114065"></a>*)
<a id="p114066"></a>RULE document_reference_with_address_has_at_least_one_references
<a id="p114067"></a>FOR(document);
<a id="p114068"></a>  LOCAL
<a id="p114069"></a>    t1_set: SET OF document := [];
<a id="p114070"></a>    t2_set: SET OF applied_external_identification_assignment := [];
<a id="p114071"></a>  violate: LOGICAL := FALSE;
<a id="p114072"></a>  END_LOCAL;
<a id="p114073"></a>t1_set := QUERY(i <* document | VALUE_IN(WHICH_CLASS(i), 'document reference with address'));

<a id="p114074"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p114075"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114076"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p114077"></a>  violate := SIZEOF(t2_set) < 1;
<a id="p114078"></a>**END_REPEAT;**
<a id="p114079"></a>  WHERE
<a id="p114080"></a>    WR1: NOT violate;
<a id="p114081"></a>**END_RULE;**
<a id="p114082"></a>(*
<a id="p114083"></a>Определения аргументов:
<a id="p114084"></a>document: набор всех экземпляров объектов document.
<a id="p114085"></a>Формальные высказывания:
<a id="p114086"></a>WR1: На каждый экземпляр объекта document, содержащего объект applied_classification_assignment, где assigned_class представляет собой group со значением атрибута name, равным 'document reference with address', должна быть дана ссылка из одного или нескольких экземпляров объекта applied_external_identification_assignments через атрибут items.

###### <a id="p114087"></a>5.2.4.40 Правило envisaged_version_creation_has_mandatory_attribute_description

<a id="p114088"></a>Правило envisaged_version_creation_has_mandatory_attribute_description определяет, что для экземпляра объекта action с идентификатором класса 'alternative version relationship' приведен экземпляр необязательного атрибута description.
<a id="p114089"></a>EXPRESS-спецификация:
<a id="p114090"></a>*)
<a id="p114091"></a>**RULE**
<a id="p114092"></a>envisaged_version_creation_has_mandatory_attribute_description
<a id="p114093"></a>FOR (action);
<a id="p114094"></a>**LOCAL**
<a id="p114095"></a>    t1_set: SET OF action := [];
<a id="p114096"></a>    violate: LOGICAL := FALSE;
<a id="p114097"></a>  END_LOCAL;
<a id="p114098"></a>    t1_set := QUERY(i <* action | VALUE_IN(WHICH_CLASS(i),
<a id="p114099"></a>    'envisaged version creation'));
<a id="p114100"></a>    violate := (SIZEOF(QUERY(k <* t1_set |
<a id="p114101"></a>    NOT EXISTS (k.description))) > 0);
<a id="p114102"></a>**WHERE**
<a id="p114103"></a>  WR1: NOT violate;
<a id="p114104"></a>**END_RULE;**
<a id="p114105"></a>(*
<a id="p114106"></a>Определения аргументов:
<a id="p114107"></a>action: набор всех экземпляров объектов action.
<a id="p114108"></a>Формальные высказывания:
<a id="p114109"></a>WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'envisaged version creation'.

###### <a id="p114110"></a>5.2.4.41 Правило executed_action_with_identification_assignment

<a id="p114111"></a>Правило executed_action_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется объектом applied_identification_assignment.
<a id="p114112"></a>EXPRESS-спецификация:
<a id="p114113"></a>*)
<a id="p114114"></a>RULE executed_action_with_identification_assignment
<a id="p114115"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114116"></a>  LOCAL
<a id="p114117"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114118"></a>    t1_set: SET OF executed_action := [];
<a id="p114119"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p114120"></a>    arg_list: LIST OF STRING := [ 'change realization'];
<a id="p114121"></a>    violation: LOGICAL := FALSE;
<a id="p114122"></a>  END_LOCAL;

<a id="p114123"></a>  REPEAT j:= 1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p114124"></a>    c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114125"></a>                     i.assigned_class.NAME = arg_LIST[j]);
<a id="p114126"></a>  END_REPEAT;

<a id="p114127"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114128"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114129"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114130"></a>    END_REPEAT;
<a id="p114131"></a>  END_REPEAT;
<a id="p114132"></a>  REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p114133"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED_
**IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p114134"></a>    t2_set := QUERY ( j <* t2_set | j.role.name = 'globally unambiguous
identifier');
<a id="p114135"></a>      violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p114136"></a>    END_REPEAT;

<a id="p114137"></a>  WHERE
<a id="p114138"></a>    wr1: NOT violation;
<a id="p114139"></a>**END_RULE;**
<a id="p114140"></a>(*
<a id="p114141"></a>Определения аргументов:
<a id="p114142"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114143"></a>Формальные высказывания:
<a id="p114144"></a>WR1: Для каждого экземпляра объекта executed_action, на который приведена ссылка из объекта application_classification_assignment, чей объект assigned_class содержит атрибут name со значением 'change realization', должен требоваться объект application_identification_assignment для определения идентификатора экземпляра.

###### <a id="p114145"></a>5.2.4.42 Правило external_instance_reference_has_same_identifier

<a id="p114146"></a>Правило external_instance_reference_has_same_identifier подтверждает, что глобальный идентификатор, хранящийся в атрибуте assigned_id объекта applied_external_identification_assignment, идентичен глобальному идентификатору, хранящемуся в атрибуте assigned_id объекта applied_identification_assignment, для каждого объекта, на который приведена ссылка из обоих объектов, applied_external_identification_assignment и applied_identification_assignment.
<a id="p114147"></a>EXPRESS-спецификация:
<a id="p114148"></a>*)
<a id="p114149"></a>RULE external_instance_reference_has_same_identifier FOR (
<a id="p114150"></a>            applied_external_identification_assignment);
<a id="p114151"></a>**LOCAL**
<a id="p114152"></a>  violation : LOGICAL := FALSE;
<a id="p114153"></a>  extref_set : SET OF applied_external_identification_assignment := [];
<a id="p114154"></a>  aia_set : SET OF applied_identification_assignment := [];
<a id="p114155"></a>**END_LOCAL;**

<a id="p114156"></a>  extref_set := QUERY ( i <* applied_external_identification_assignment |
<a id="p114157"></a>    (i.role.name = 'external instance reference') );

<a id="p114158"></a>REPEAT i := 1 TO HIINDEX(extref_set) BY 1 WHILE NOT violation;
<a id="p114159"></a>  aia_set := bag_to_set(USEDIN(extref_set[i].items[1],
<a id="p114160"></a>    'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p114161"></a>  violation := NOT (aia_set[1].assigned_id = extref_set[i].assigned_id);
<a id="p114162"></a>**END_REPEAT;**

<a id="p114163"></a>**WHERE**
<a id="p114164"></a>wr1: NOT violation;
<a id="p114165"></a>END_RULE; -- external_instance_reference_has_same_identifier
<a id="p114166"></a>(*
<a id="p114167"></a>Определения аргументов:
<a id="p114168"></a>applied_external_identification_assignment: набор всех экземпляров объектов applied_external_identification_assignment.
<a id="p114169"></a>Формальные высказывания:
<a id="p114170"></a>WR1: Для каждого экземпляра, на который приведена ссылка и из объекта applied_external_identification_assignment в роли со значением 'external instance reference', и из объекта applied_identification_assignment, значение, хранящееся в атрибуте assigned_id каждого из этих объектов присваивания, должно быть одинаковым.

###### <a id="p114171"></a>5.2.4.43 Правило floating_position_compound_representation_with_name

<a id="p114172"></a>Правило floating_position_compound_representation_with_name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'floating position' в объекте list_representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p114173"></a>EXPRESS-спецификация:
<a id="p114174"></a>*)
<a id="p114175"></a>RULE floating_position_compound_representation_with_name
<a id="p114176"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114177"></a>**LOCAL**
<a id="p114178"></a>  c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114179"></a>  t1_set: SET OF Compound_representation_item := [];
<a id="p114180"></a>  t2_set: SET OF representation_item := [];
<a id="p114181"></a>  arg_list: LIST OF STRING := ['moulded form displacement', 'draught at amidships',
'length of waterline', 'breadth of waterline', 'angle of trim', 'angle of heel'];
<a id="p114182"></a>  violation: LOGICAL := FALSE;
<a id="p114183"></a>  END_LOCAL;

<a id="p114184"></a>  (* get all classification_assignment instances with id 'floating position' *)
<a id="p114185"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114186"></a>                   i.Assigned_class.name = 'floating position');

<a id="p114187"></a>  (* get all instances of compound_representation_item that have class id 'floating
position' *)
<a id="p114188"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114189"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114190"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114191"></a>    END_REPEAT;
<a id="p114192"></a>  END_REPEAT;

<a id="p114193"></a>  (* iterate over all compound_representation_item found above; stop, if one of them
has not exactly one rep_item for each name in the arg_list *)
<a id="p114194"></a>  REPEAT i:= 1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p114195"></a>    REPEAT j:= 1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p114196"></a>      t2_set := t1_set[i].item_element;
<a id="p114197"></a>      violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1);
<a id="p114198"></a>    END_REPEAT;
<a id="p114199"></a>  END_REPEAT;
<a id="p114200"></a>  WHERE
<a id="p114201"></a>    wr1: NOT violation;
<a id="p114202"></a>**END_RULE;**
<a id="p114203"></a>(*
<a id="p114204"></a>Определения аргументов:
<a id="p114205"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114206"></a>Формальные высказывания:
<a id="p114207"></a>WR1: Для каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен 'floating position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который для каждого из следующих значений: 'moulded form displacement', 'draught at amidships', 'length of waterline', 'breadth of waterline', 'angle of trim', 'angle of heel' должен забирать только один экземпляр объекта representation_item, чей атрибут name равен этому значению.

###### <a id="p114208"></a>5.2.4.44 Правило global_axis_placement_has_properties

<a id="p114209"></a>Правило global_axis_placement_has_properties определяет, что на объект product_definition с идентификатором класса 'global axis placement' приведена ссылка из одного объекта property_definition_representation со значением 'global axis placement' для name через объект property_definition.
<a id="p114210"></a>EXPRESS-спецификация:
<a id="p114211"></a>*)
<a id="p114212"></a>RULE global_axis_placement_has_properties
<a id="p114213"></a>FOR (property_definition_representation,
<a id="p114214"></a>group, applied_classification_assignment);
<a id="p114215"></a>**LOCAL**
<a id="p114216"></a>     c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114217"></a>     t1_set: LIST OF product_definition := [];
<a id="p114218"></a>     t2_set: SET OF property_definition_representation := [];
<a id="p114219"></a>     t3_set: LIST OF property_definition := [];
<a id="p114220"></a>     t4_set: LIST OF product_definition := [];
<a id="p114221"></a>     violation: LOGICAL := FALSE;
<a id="p114222"></a>  END_LOCAL;

<a id="p114223"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114224"></a>                   i.assigned_class.NAME =
<a id="p114225"></a>                   'global axis placement');
<a id="p114226"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114227"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114228"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114229"></a>    END_REPEAT;
<a id="p114230"></a>  END_REPEAT;

<a id="p114231"></a>  t2_set:= QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |
<a id="p114232"></a>                 i.NAME = 'global axis placement');
<a id="p114233"></a>  REPEAT i := 1 TO HIINDEX(t2_set);
<a id="p114234"></a>    t3_set := t3_set + t2_set[i].definition;
<a id="p114235"></a>  END_REPEAT;
<a id="p114236"></a>  REPEAT i := 1 TO HIINDEX(t3_set);
<a id="p114237"></a>    t4_set := t4_set + t3_set[i].definition;
<a id="p114238"></a>  END_REPEAT;
<a id="p114239"></a>  violation := t1_set <> t4_set;
<a id="p114240"></a>  WHERE
<a id="p114241"></a>    WR1: NOT violation;
<a id="p114242"></a>**END_RULE;**
<a id="p114243"></a>(*
<a id="p114244"></a>Определения аргументов:
<a id="p114245"></a>property_definition_representation: набор всех экземпляров объектов property_definition_representation.
<a id="p114246"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114247"></a>Формальные высказывания:
<a id="p114248"></a>WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_classification_assignment, чей атрибут assigned_class представляет собой group со значением 'global axis placement' для атрибута name, должна быть дана ссылка только их одного экземпляра объекта property_definition через атрибут definition, на который, в свою очередь, должна быть дана ссылка из экземпляра объекта property_definition_representation через атрибут definition, значение атрибута name которого равно 'global axis placement'.

###### <a id="p114249"></a>5.2.4.45 Правило global_id_is_unique

<a id="p114250"></a>Правило global_id_is_unique определяет, что глобальные идентификаторы определяемых предметов являются уникальными и что каждый идентификатор присваивается только одному определяемому предмету.
<a id="p114251"></a>EXPRESS-спецификация:
<a id="p114252"></a>*)
<a id="p114253"></a>RULE global_id_is_unique
<a id="p114254"></a>**FOR (APPLIED_IDENTIFICATION_ASSIGNMENT);**
<a id="p114255"></a>  LOCAL
<a id="p114256"></a>    set_1: SET OF APPLIED_IDENTIFICATION_ASSIGNMENT:= [];
<a id="p114257"></a>    bag_2: BAG OF STRING := [];
<a id="p114258"></a>    violation: LOGICAL := FALSE;
<a id="p114259"></a>  END_LOCAL;

<a id="p114260"></a>  (* get all instances of guid *)

<a id="p114261"></a>set_1 := QUERY(i <* APPLIED_IDENTIFICATION_ASSIGNMENT |
<a id="p114262"></a>              (i.role.name = 'globally unambiguous identifier'));

<a id="p114263"></a>REPEAT i := 1 TO HIINDEX(set_1);
<a id="p114264"></a>  bag_2 := bag_2 + [set_1[i].assigned_id];

<a id="p114265"></a>**END_REPEAT;**
<a id="p114266"></a>violation := SIZEOF (QUERY(i <* set_1 | (SIZEOF(i.items) = 1))) <> v SIZEOF(set_1);
<a id="p114267"></a>**WHERE**
<a id="p114268"></a>  WR1: VALUE_UNIQUE(bag_2);
<a id="p114269"></a>  WR2: NOT violation;
<a id="p114270"></a>**END_RULE;**
<a id="p114271"></a>(*
<a id="p114272"></a>Определения аргументов:
<a id="p114273"></a>applied_identification_assignment: набор всех экземпляров объектов applied_identification_assignment.
<a id="p114274"></a>Формальные высказывания:
<a id="p114275"></a>WR1: У каждого объекта applied_identification_assignment имеется атрибут role, указывающий объект identification_role с name = 'globally unambiguous identifier', и должно быть уникальное значение для assigned_id.
<a id="p114276"></a>WR2: Каждый объект applied_identification_assignment, содержащий атрибут role, указывающий объект identification_role с name = 'globally unambiguous identifier', должен указывать только один определяемый предмет в атрибуте tems.

###### <a id="p114277"></a>5.2.4.46 Правило hull_moulded_form_design_parameter_with_class_references

<a id="p114278"></a>Правило hull_moulded_form_design_parameter_with_class_references определяет, что на экземпляр объекта property_definition с идентификатором класса 'hull moulded form design parameter' приведена ссылка не более чем из одного экземпляра объекта property_definition_representation, чей атрибут used_representation указывает на представление (representation) с идентификатором класса 'midship_tumble'.
<a id="p114279"></a>EXPRESS-спецификация:
<a id="p114280"></a>*)
<a id="p114281"></a>RULE hull_moulded_form_design_parameter_with_class_references FOR(APPLIED_
**CLASSIFICATION_ASSIGNMENT);**
<a id="p114282"></a>  LOCAL
<a id="p114283"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114284"></a>    t1_set: SET OF property_definition := [];
<a id="p114285"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p114286"></a>    t3_set: SET OF representation := [];
<a id="p114287"></a>    violation: LOGICAL := FALSE;
<a id="p114288"></a>  END_LOCAL;

<a id="p114289"></a>  (* get all classification_assignment instances with id
<a id="p114290"></a>  'hull moulded form design parameter' *)
<a id="p114291"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114292"></a>         i.ASSIGNED_CLASS.NAME = 'hull moulded form design parameter');

<a id="p114293"></a>  (* get all instances of property_definition that have class id
<a id="p114294"></a>  'hull moulded form design parameter' *)
<a id="p114295"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114296"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114297"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114298"></a>    END_REPEAT;
<a id="p114299"></a>  END_REPEAT;

<a id="p114300"></a>  (* for all instances of property_definition in t1_set:
<a id="p114301"></a>  get the property_definition_representation instances that are referencing a property_
definition instance via definition, get those property_definition_representation.used_
representation instances whose class id is 'midship_tumble' and make sure their number
is less than or equal to 1 *)
<a id="p114302"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114303"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114304"></a>    'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'DEFINITION'));

<a id="p114305"></a>  REPEAT j := 1 to HIINDEX(t2_set) ;
<a id="p114306"></a>  t3_set := t3_set + t2_set[j].used_representation;
<a id="p114307"></a>  END_REPEAT;

<a id="p114308"></a>  violation := SIZEOF(QUERY(t2_inst <* t3_set | 'midship tumble' IN WHICH_CLASS(t2_inst))) > 1;
<a id="p114309"></a>  END_REPEAT;

<a id="p114310"></a>  WHERE
<a id="p114311"></a>    wr1: NOT violation;
<a id="p114312"></a>**END_RULE;**
<a id="p114313"></a>(*
<a id="p114314"></a>Определения аргументов:
<a id="p114315"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114316"></a>Формальные высказывания:
<a id="p114317"></a>WR1: На каждый экземпляр объекта property_definition, содержащий объект applied_classification_assignment, где у assigned_class имеется атрибут name со значением 'hull moulded form design parameter', должна быть дана ссылка из одного или менее экземпляров объекта property_definition_representation, который указывает представление (representation) через свой атрибут used_representation, содержащий объект applied_classification_assignment, где у assigned_class имеется атрибут name о значением 'midship tumble'.

###### <a id="p114318"></a>5.2.4.47 Правило hydrostatic_properties_with_specified_class

<a id="p114319"></a>Правило hydrostatic_properties_with_specified_class определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'hydrostatic properties for constant floating position' в объекте list_representation_item только одного объекта compound_representation_item с идентификатором класса 'floating position'.
<a id="p114320"></a>EXPRESS-спецификация:
<a id="p114321"></a>*)
<a id="p114322"></a>**RULE**
<a id="p114323"></a>hydrostatic_properties_with_specified_class
<a id="p114324"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114325"></a>**LOCAL**
<a id="p114326"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114327"></a>    c_a_set2 : SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114328"></a>    t1_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p114329"></a>    t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p114330"></a>    t3_set: SET OF REPRESENTATION_ITEM := [];
<a id="p114331"></a>    l_rep_item : list_representation_item;
<a id="p114332"></a>    violation: LOGICAL := FALSE;
<a id="p114333"></a>  END_LOCAL;

<a id="p114334"></a>  (* get all classification_assignment instances with id 'hydrostatic properties
for constant floating position' *)
<a id="p114335"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114336"></a>                   i.Assigned_class.name = 'hydrostatic properties for constant
floating position');

<a id="p114337"></a>  (* get all instances of compound_representation_item that have class id
'hydrostatic properties for constant floating position' *)
<a id="p114338"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114339"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114340"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114341"></a>    END_REPEAT;
<a id="p114342"></a>  END_REPEAT;

<a id="p114343"></a>  (* get all classification_assignment instances with id 'floating position' *)
<a id="p114344"></a>  c_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114345"></a>                     i.Assigned_class.name = 'floating position');
<a id="p114346"></a>  (* get all instances of compound_representation_item that have class id
'floating position' *)
<a id="p114347"></a>  REPEAT i := 1 TO HIINDEX(c_a_set2);
<a id="p114348"></a>    REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);
<a id="p114349"></a>      t2_set := t2_set + c_a_set2[i].items[j];
<a id="p114350"></a>    END_REPEAT;
<a id="p114351"></a>  END_REPEAT;

<a id="p114352"></a>  (* iterate over all compound_representation_item found in the first list; then
<a id="p114353"></a>iterate over all item_element for each compound_representation_item, check that
<a id="p114354"></a>the intersection of these item_elements and and the second list of compound_
representation_item is equal 1 *)
<a id="p114355"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p114356"></a>    l_rep_item := t1_set[i].item_element;
<a id="p114357"></a>    REPEAT j := 1 TO HIINDEX(t1_set[i].item_element);
<a id="p114358"></a>    t3_set := t3_set + l_rep_item[j];
<a id="p114359"></a>    END_REPEAT;
<a id="p114360"></a>    violation := (SIZEOF(t3_set * t2_set) <> 1);
<a id="p114361"></a>    t3_set:= [];
<a id="p114362"></a>  END_REPEAT;

<a id="p114363"></a>  WHERE
<a id="p114364"></a>    wr1: NOT violation;
<a id="p114365"></a>**END_RULE;**
<a id="p114366"></a>(*
<a id="p114367"></a>Определения аргументов:
<a id="p114368"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114369"></a>Формальные высказывания:
<a id="p114370"></a>WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен значению 'hydrostatic properties for constant floating position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен забирать только один экземпляр объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class равен значению 'floating position'.

###### <a id="p114371"></a>5.2.4.48 Правило hydrostatic_property_with_specified_name

<a id="p114372"></a>Правило hydrostatic_property_with_specified_name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'hydrostatic property' в объекте list_representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p114373"></a>EXPRESS-спецификация:
<a id="p114374"></a>*)
<a id="p114375"></a>RULE hydrostatic_property_with_specified_name
<a id="p114376"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114377"></a>**LOCAL**
<a id="p114378"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114379"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p114380"></a>    t2_set: SET OF representation_item := [];
<a id="p114381"></a>    arg_list: LIST OF STRING := ['property type'];
<a id="p114382"></a>    violation: LOGICAL := FALSE;
<a id="p114383"></a>  END_LOCAL;

<a id="p114384"></a>  (* get all classification_assignment instances with id 'hydrostatic property' *)
<a id="p114385"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114386"></a>                   i.Assigned_class.name = 'hydrostatic property');

<a id="p114387"></a>  (* get all instances of compound_representation_item that have class id
'hydrostatic property' *)
<a id="p114388"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114389"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114390"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114391"></a>    END_REPEAT;
<a id="p114392"></a>  END_REPEAT;

<a id="p114393"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not exactly one rep_item for each name in the arg_list *)
<a id="p114394"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p114395"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p114396"></a>      t2_set := t1_set[i].item_element;
<a id="p114397"></a>    violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1);
<a id="p114398"></a>  END_REPEAT;
<a id="p114399"></a>  END_REPEAT;

<a id="p114400"></a>  WHERE
<a id="p114401"></a>    wr1: NOT violation;
<a id="p114402"></a>**END_RULE;**
<a id="p114403"></a>(*
<a id="p114404"></a>Определения аргументов:
<a id="p114405"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114406"></a>Формальные высказывания:
<a id="p114407"></a>WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment со значением атрибута assigned_class.name равным 'hydrostatic property', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из следующих значений 'property type' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p114408"></a>5.2.4.49 Правило identification_role_optional_attribute_description_required

<a id="p114409"></a>Правило identification_role_optional_attribute_description_required определяет, что для всех экземпляров типа identification_role представлен необязательный атрибут description, если значение атрибута name этого экземпляра равно 'external reference'.
<a id="p114410"></a>EXPRESS-спецификация:
<a id="p114411"></a>*)
<a id="p114412"></a>RULE identification_role_optional_attribute_description_required FOR
<a id="p114413"></a>(identification_role);
<a id="p114414"></a>**WHERE**
<a id="p114415"></a>  WR1: SIZEOF(QUERY(i <* identification_role |
<a id="p114416"></a>     ((i.name = 'external reference')
<a id="p114417"></a>     AND NOT(EXISTS (i.description))))) = 0;
<a id="p114418"></a>**END_RULE;**
<a id="p114419"></a>(*
<a id="p114420"></a>Определения аргументов:
<a id="p114421"></a>identification_role: набор всех экземпляров объектов identification_role.
<a id="p114422"></a>Формальные высказывания:
<a id="p114423"></a>WR1: Необязательный атрибут description каждого экземпляра объекта identification_role существует, если имя (name) равно 'external reference'.

###### <a id="p114424"></a>5.2.4.50 Правило initiator_for_change_request

<a id="p114425"></a>Правило initiator_for_change_request определяет, что на экземпляр объекта versioned_action_request с классификацией 'change request' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment со значением роли 'initiator'.
<a id="p114426"></a>EXPRESS-спецификация:
<a id="p114427"></a>*)
<a id="p114428"></a>**RULE**
<a id="p114429"></a>initiator_for_change_request
<a id="p114430"></a>FOR(applied_person_and_organization_assignment,
<a id="p114431"></a>    versioned_action_request);
<a id="p114432"></a>  LOCAL
<a id="p114433"></a>    t1_set: SET OF versioned_action_request := [];
<a id="p114434"></a>    a_set: SET OF applied_person_and_organization_assignment := [];
<a id="p114435"></a>    violate: LOGICAL := FALSE;
<a id="p114436"></a>  END_LOCAL;
<a id="p114437"></a>    t1_set := QUERY(a <* versioned_action_request |
<a id="p114438"></a>             VALUE_IN(WHICH_CLASS(a), 'change request'));

<a id="p114439"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p114440"></a>  a_set := QUERY(b <* applied_person_and_organization_assignment |
<a id="p114441"></a>                (VALUE_IN(b.items, t1_set[i]) AND
<a id="p114442"></a>         (b.role.name = 'initiator')));
<a id="p114443"></a>    violate := SIZEOF(a_set) <> 1;
<a id="p114444"></a>  END_REPEAT;
<a id="p114445"></a>  WHERE
<a id="p114446"></a>    WR1: NOT violate;
<a id="p114447"></a>**END_RULE;**
<a id="p114448"></a>(*
<a id="p114449"></a>Определения аргументов:
<a id="p114450"></a>applied_person_and_organization_assignment: набор всех экземпляров объектов applied_person_and_organization_assignment.
<a id="p114451"></a>versioned_action_request: набор всех экземпляров объектов versioned_action_request.
<a id="p114452"></a>Формальные высказывания:
<a id="p114453"></a>WR1: На каждый экземпляр объекта versioned_action_request с классификацией 'change request' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'initiator'.

###### <a id="p114454"></a>5.2.4.51 Правило mandatory_entity_type_for_external_instance_reference

<a id="p114455"></a>Правило mandatory_entity_type_for_external_instance_reference определяет, что каждый экземпляр объекта external_source, где объект description имеет значение 'schema name', должно быть в обязательном порядке объектом relating_source экземпляра объекта external_source_relationship, где related_source представляет собой экземпляр объекта external_source, содержащий description со значением 'entity type'.
<a id="p114456"></a>EXPRESS-спецификация:
<a id="p114457"></a>*)
<a id="p114458"></a>RULE mandatory_entity_type_for_external_instance_reference FOR(external_source,
<a id="p114459"></a>  external_source_relationship);
<a id="p114460"></a>  LOCAL
<a id="p114461"></a>    bag_1: BAG OF external_source := [];
<a id="p114462"></a>    violate: LOGICAL := FALSE;
<a id="p114463"></a>  END_LOCAL;
<a id="p114464"></a>bag_1 := QUERY(a <* external_source | a.description = 'schema name');

<a id="p114465"></a>REPEAT i := 1 TO SIZEOF(bag_1) WHILE (NOT violate);
<a id="p114466"></a>violate := (SIZEOF( QUERY(
<a id="p114467"></a>  a <* external_source_relationship | (a.relating_source :=: bag_1[i]) AND
<a id="p114468"></a>    (a.related_source.description = 'entity type'))) = 0 );
<a id="p114469"></a>**END_REPEAT;**
<a id="p114470"></a>  WHERE
<a id="p114471"></a>    WR1: NOT violate;
<a id="p114472"></a>**END_RULE;**
<a id="p114473"></a>(*
<a id="p114474"></a>Определения аргументов:
<a id="p114475"></a>external_source: набор всех экземпляров объектов external_source.
<a id="p114476"></a>external_source_relationship: набор всех экземпляров объектов external_source_relationship.
<a id="p114477"></a>Формальные высказывания:
<a id="p114478"></a>WR1: Каждый экземпляр объекта external_source, где объект description имеет значение 'schema name', должно быть в обязательном порядке объектом relating_source экземпляра объекта external_source_relationship, где related_source представляет собой экземпляр объекта external_source, содержащий description со значением 'entity type'.

###### <a id="p114479"></a>5.2.4.52 Правило members_is_referenced_by_at_least_one_revision

<a id="p114480"></a>Правило members_is_referenced_by_at_least_one_revision определяет, что на каждый экземпляр типа group с классификацией 'revision' должна быть дана ссылка хотя бы из одного присваивания типа applied_group_assignment со значением роли 'members' через атрибут assigned_group.
<a id="p114481"></a>EXPRESS-спецификация:
<a id="p114482"></a>*)
<a id="p114483"></a>RULE members_is_referenced_by_at_least_one_revision FOR(applied_group_assignment, group);
<a id="p114484"></a>  LOCAL
<a id="p114485"></a>    t1_set: SET OF group := [];
<a id="p114486"></a>    a_set: SET OF applied_group_assignment := [];
<a id="p114487"></a>    violate: LOGICAL := FALSE;
<a id="p114488"></a>  END_LOCAL;
<a id="p114489"></a>t1_set := QUERY(a <* group | VALUE_IN(WHICH_CLASS(a), 'revision'));

<a id="p114490"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p114491"></a>  a_set := QUERY(b <* applied_group_assignment |
<a id="p114492"></a>                (b.assigned_group :=: t1_set[i]) AND (b.role.name = 'members'));

<a id="p114493"></a>    violate := SIZEOF(a_set) < 1;
<a id="p114494"></a>  END_REPEAT;
<a id="p114495"></a>**WHERE**
<a id="p114496"></a>  wr1: NOT violate;
<a id="p114497"></a>**END_RULE;**
<a id="p114498"></a>(*
<a id="p114499"></a>Определения аргументов:
<a id="p114500"></a>applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.
<a id="p114501"></a>group: набор всех экземпляров объектов group.
<a id="p114502"></a>Формальные высказывания:
<a id="p114503"></a>WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_assignment, чей assigned_class идентифицирует объект с атрибутом name со значением 'revision', должна быть дана ссылка из одного или нескольких экземпляров типа объекта applied_group_assignment со значением роли 'members' через атрибут assigned_group.

###### <a id="p114504"></a>5.2.4.53 Правило no_approvals_except_in_approval_history

<a id="p114505"></a>Правило no_approvals_except_in_approval_history определяет, что не должно быть экземпляров типа объекта approval с классификацией 'approval event', не входящих в состав объекта group с классификацией 'approval history'.
<a id="p114506"></a>EXPRESS-спецификация:
<a id="p114507"></a>*)
<a id="p114508"></a>**RULE**
<a id="p114509"></a>no_approvals_except_in_approval_history
<a id="p114510"></a>FOR (approval);
<a id="p114511"></a>**LOCAL**
<a id="p114512"></a>  t1_set: SET OF approval := [];
<a id="p114513"></a>  t2_set: SET OF APPLIED_GROUP_ASSIGNMENT := [];
<a id="p114514"></a>  violate: LOGICAL := FALSE;
<a id="p114515"></a>**END_LOCAL;**
<a id="p114516"></a>  t1_set := QUERY(a <* approval | VALUE_IN(WHICH_CLASS(a), 'approval event'));

<a id="p114517"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p114518"></a>  t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114519"></a>  'SHIP_MOULDED_FORM_SCHEMA.APPLIED_GROUP_ASSIGNMENT.ITEMS'));
<a id="p114520"></a>  violate := (SIZEOF(t2_set) = 0);
<a id="p114521"></a>  REPEAT k := 1 TO HIINDEX(t2_set) WHILE NOT violate;
<a id="p114522"></a>    violate := NOT (VALUE_IN(WHICH_CLASS(t2_set[k].ASSIGNED_GROUP), 'approval history'));
<a id="p114523"></a>  END_REPEAT;
<a id="p114524"></a>**END_REPEAT;**
<a id="p114525"></a>**WHERE**
<a id="p114526"></a>  WR1: NOT violate;
<a id="p114527"></a>**END_RULE;**
<a id="p114528"></a>(*
<a id="p114529"></a>Определения аргументов:
<a id="p114530"></a>approval: набор всех экземпляров объектов approval.
<a id="p114531"></a>Формальные высказывания:
<a id="p114532"></a>WR1: Каждый экземпляр объекта approval, содержащий объект applied_classification_assignment, чей объект assigned_class представляет собой group со значением 'approval event' для атрибута name, должен собираться в объекте items экземпляра объекта applied_group_assignment, чей объект assigned_group содержит объект applied_classification_assignment, где assigned_class представляет собой group со значением 'approval history' для атрибута name.

###### <a id="p114533"></a>5.2.4.54 Правило offset_point_table_model_compound_representation_has_name

<a id="p114534"></a>Правило offset_point_table_model_compound_representation_has_name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'offset point table model' в объекте list_representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p114535"></a>EXPRESS-спецификация:
<a id="p114536"></a>*)
<a id="p114537"></a>RULE offset_point_table_model_compound_representation_has_name
<a id="p114538"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114539"></a>**LOCAL**
<a id="p114540"></a>  c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114541"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p114542"></a>    t2_set: SET OF representation_item := [];
<a id="p114543"></a>    arg_list: LIST OF STRING := ['offset point table type'];
<a id="p114544"></a>    violation: LOGICAL := FALSE;
<a id="p114545"></a>  END_LOCAL;

<a id="p114546"></a>  (* get all classification_assignment instances with id 'offset point table model' *)
<a id="p114547"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114548"></a>                   i.ASSIGNED_CLASS.NAME = 'offset point table model');

<a id="p114549"></a>  (* get all instances of compound_representation_item that have class id
'offset point table model' *)
<a id="p114550"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114551"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114552"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114553"></a>    END_REPEAT;
<a id="p114554"></a>  END_REPEAT;

<a id="p114555"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not exactly one rep_item for each name in the arg_list *)
<a id="p114556"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p114557"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p114558"></a>      t2_set := t1_set[i].item_element;
<a id="p114559"></a>  violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1);
<a id="p114560"></a>    END_REPEAT;
<a id="p114561"></a>  END_REPEAT;

<a id="p114562"></a>  WHERE
<a id="p114563"></a>    wr1: NOT violation;
<a id="p114564"></a>**END_RULE;**
<a id="p114565"></a>(*
<a id="p114566"></a>Определения аргументов:
<a id="p114567"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114568"></a>Формальные высказывания:
<a id="p114569"></a>WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_classification_assignment со значением атрибута assigned_class.name равным 'offset point table model', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из следующих значений 'offset point table type' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p114570"></a>5.2.4.55 Правило principal_characteristics_has_properties

<a id="p114571"></a>Правило principal_characteristics_has_properties определяет, что на объект product_definition с идентификатором класса 'principal characteristics' приведена ссылка из одного объекта property_definition_representation со значением имени 'principal characteristics' через объект property_definition.
<a id="p114572"></a>EXPRESS-спецификация:
<a id="p114573"></a>*)
<a id="p114574"></a>RULE principal_characteristics_has_properties
<a id="p114575"></a>FOR (property_definition_representation, applied_classification_assignment);
<a id="p114576"></a>**LOCAL**
<a id="p114577"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114578"></a>    t1_set: LIST OF product_definition := [];
<a id="p114579"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p114580"></a>    t3_set: LIST OF property_definition := [];
<a id="p114581"></a>    t4_set: LIST OF product_definition := [];
<a id="p114582"></a>    violation: LOGICAL := FALSE;
<a id="p114583"></a>  END_LOCAL;

<a id="p114584"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114585"></a>                   i.assigned_class.NAME =
<a id="p114586"></a>                   'principal characteristics');

<a id="p114587"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114588"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114589"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114590"></a>    END_REPEAT;
<a id="p114591"></a>  END_REPEAT;

<a id="p114592"></a>  t2_set:= QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |
<a id="p114593"></a>           i.NAME = 'principal characteristics');
<a id="p114594"></a>  REPEAT i := 1 TO HIINDEX(t2_set);
<a id="p114595"></a>    t3_set := t3_set + t2_set[i].definition;
<a id="p114596"></a>  END_REPEAT;
<a id="p114597"></a>  REPEAT i := 1 TO HIINDEX(t3_set);
<a id="p114598"></a>    t4_set := t4_set + t3_set[i].definition;
<a id="p114599"></a>  END_REPEAT;
<a id="p114600"></a>  violation := t1_set <> t4_set;
<a id="p114601"></a>  WHERE
<a id="p114602"></a>    WR1: NOT violation;

<a id="p114603"></a>**END_RULE;**
<a id="p114604"></a>(*
<a id="p114605"></a>Определения аргументов:
<a id="p114606"></a>property_definition_representation: набор всех экземпляров объектов property_definition_representation.
<a id="p114607"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114608"></a>Формальные высказывания:
<a id="p114609"></a>WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_classification_assignment, чей атрибут assigned_class представляет собой group со значением 'principal characteristics' для атрибута name, должна быть дана ссылка только их одного экземпляра объекта property_definition через атрибут definition, на который, в свою очередь, приведена ссылка из экземпляра объекта property_definition_representation через атрибут definition, атрибут name которого имеет значение 'principal characteristics'.

###### <a id="p114610"></a>5.2.4.56 Правило product_definition_for_call_sign

<a id="p114611"></a>Правило product_definition_for_call_sign определяет, что на экземпляр объекта product_definition с идентификатором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, атрибут role.name которого имеет значение 'call sign'.
<a id="p114612"></a>EXPRESS-спецификация:
<a id="p114613"></a>*)
<a id="p114614"></a>**RULE**
<a id="p114615"></a>product_definition_for_call_sign
<a id="p114616"></a>FOR(applied_classification_assignment);
<a id="p114617"></a>  LOCAL
<a id="p114618"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114619"></a>    t1_set: SET OF product_definition := [];
<a id="p114620"></a>    t2 set: SET OF applied_identification_assignment := [];
<a id="p114621"></a>    violation: LOGICAL := FALSE;
<a id="p114622"></a>  END_LOCAL;

<a id="p114623"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114624"></a>                   i.assigned_class.NAME = 'ship designation');

<a id="p114625"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114626"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114627"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114628"></a>    END_REPEAT;
<a id="p114629"></a>  END_REPEAT;

<a id="p114630"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114631"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114632"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p114633"></a>  violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set |
<a id="p114634"></a>    t2_inst.role.name = 'call sign')) = 1);
<a id="p114635"></a>  END_REPEAT;
<a id="p114636"></a>  WHERE
<a id="p114637"></a>    wr1: NOT violation;
<a id="p114638"></a>**END_RULE;**
<a id="p114639"></a>(*
<a id="p114640"></a>Определение аргументов:
<a id="p114641"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114642"></a>Формальные высказывания:
<a id="p114643"></a>WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_classification_assignment с классификацией 'ship designation', приведена ссылка только из одного атрибута items объекта applied_identification_assignment, где для объекта applied_identification_assignment атрибут role.name = 'call sign'.

###### <a id="p114644"></a>5.2.4.57 Правило product_definition_for_class_notation

<a id="p114645"></a>Правило product_definition_for_class_notation определяет, что на объект product_definition с идентификатором класса 'class and statutory designation' приведена ссылка только из одного экземпляра объекта property_definition с идентификатором класса 'class notation' через definition.
<a id="p114646"></a>EXPRESS-спецификация:
<a id="p114647"></a>*)
<a id="p114648"></a>**RULE**
<a id="p114649"></a>product_definition_for_class_notation
<a id="p114650"></a>FOR(applied_classification_assignment);
<a id="p114651"></a>  LOCAL
<a id="p114652"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114653"></a>    t1_set: SET OF product_definition := [];
<a id="p114654"></a>    t2_set: SET OF property_definition := [];
<a id="p114655"></a>    violation: LOGICAL := FALSE;
<a id="p114656"></a>  END_LOCAL;

<a id="p114657"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114658"></a>                   i.assigned_class.NAME =
<a id="p114659"></a>                   'class and statutory designation');
<a id="p114660"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114661"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114662"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114663"></a>    END_REPEAT;
<a id="p114664"></a>  END_REPEAT;

<a id="p114665"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114666"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114667"></a>      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION.DEFINITION'));
<a id="p114668"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | 'class notation'
<a id="p114669"></a>    IN WHICH_CLASS(t2_inst))) = 1);
<a id="p114670"></a>**END_REPEAT;**
<a id="p114671"></a>  WHERE
<a id="p114672"></a>    WR1: NOT violation;
<a id="p114673"></a>**END_RULE;**
<a id="p114674"></a>(*
<a id="p114675"></a>Определения аргументов:
<a id="p114676"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114677"></a>Формальные высказывания:
<a id="p114678"></a>WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_classification_assignment, чей атрибут assigned_class содержит объект с атрибутом name со значением 'class and statutory designation', должна быть дана ссылка только из одного экземпляра объекта property_definition, содержащего объект applied_classification_assignment, где assigned_class является объектом с атрибутом name со значением 'class notation', через атрибут definition.

###### <a id="p114679"></a>5.2.4.58 Правило product_definition_for_flag_state

<a id="p114680"></a>Правило product_definition_for_flag_state определяет, что на экземпляр объекта product_definition с идентификатором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, атрибут role.name которого имеет значение 'flag state'.
<a id="p114681"></a>EXPRESS-спецификация:
<a id="p114682"></a>*)
<a id="p114683"></a>**RULE**
<a id="p114684"></a>product_definition_for_flag_state
<a id="p114685"></a>FOR(applied_classification_assignment);
<a id="p114686"></a>  LOCAL
<a id="p114687"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114688"></a>    t1_set: SET OF product_definition := [];
<a id="p114689"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p114690"></a>    violation: LOGICAL := FALSE;
<a id="p114691"></a>  END_LOCAL;

<a id="p114692"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114693"></a>            i.assigned_class.NAME = 'ship designation');

<a id="p114694"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114695"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114696"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114697"></a>    END_REPEAT;
<a id="p114698"></a>  END_REPEAT;

<a id="p114699"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114700"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114701"></a>    'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p114702"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.role.name =
'flag state')) = 1);
<a id="p114703"></a>  END_REPEAT;
<a id="p114704"></a>  WHERE
<a id="p114705"></a>  wr1: NOT violation;
<a id="p114706"></a>**END_RULE;**
<a id="p114707"></a>(*
<a id="p114708"></a>Определения аргументов:
<a id="p114709"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114710"></a>Формальные высказывания:
<a id="p114711"></a>WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_classification_assignment с классификацией 'ship designation', приведена ссылка только из одного атрибута items объекта applied_identification_assignment, где для объекта applied_identification_assignment атрибут role.name = 'flag state'.

###### <a id="p114712"></a>5.2.4.59 Правило product_definition_for_hydrostatic_definition_requires_reference

<a id="p114713"></a>Правило product_definition_for_hydrostatic_definition_requires_reference определяет, что на объект property_definition с идентификатором класса 'hydrostatic definition' приведена ссылка из одного или нескольких объектов representations с идентификатором класса 'hydrostatic table' через property_definition_representation.
<a id="p114714"></a>EXPRESS-спецификация:
<a id="p114715"></a>*)
<a id="p114716"></a>RULE product_definition_for_hydrostatic_definition_requires_reference
<a id="p114717"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114718"></a>**LOCAL**
<a id="p114719"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p114720"></a>    c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p114721"></a>    t1_set: SET OF property_definition := [];
<a id="p114722"></a>    t2_set: SET OF representation := [];
<a id="p114723"></a>    t3_set: SET OF property_definition_representation := [];
<a id="p114724"></a>    t4_set: SET OF property_definition := [];
<a id="p114725"></a>    violation: LOGICAL := FALSE;
<a id="p114726"></a>  END_LOCAL;

<a id="p114727"></a>  (* get all  classification_assignment instances with id 'hydrostatic
definition' *)
<a id="p114728"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114729"></a>                   i.ASSIGNED_CLASS.NAME = 'hydrostatic definition');

<a id="p114730"></a>  (* get all instances of property_definition that have class id 'hydrostatic
definition' *)
<a id="p114731"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114732"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114733"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114734"></a>    END_REPEAT;
<a id="p114735"></a>  END_REPEAT;

<a id="p114736"></a>  (* get all classification_assignment instances with id 'hydrostatic table' *)
<a id="p114737"></a>  c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114738"></a>                     i.ASSIGNED_CLASS.NAME = 'hydrostatic table');

<a id="p114739"></a>  (* get all instances of representation that have class id 'hydrostatic table' *)
<a id="p114740"></a>  REPEAT i := 1 TO HIINDEX(c2_a_set);
<a id="p114741"></a>    REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);
<a id="p114742"></a>    t2_set := t2_set + c2_a_set[i].items[j];
<a id="p114743"></a>    END_REPEAT;
<a id="p114744"></a>  END_REPEAT;

<a id="p114745"></a>(* get  all property_definition_representation instances which have as the .used_
representation the representation instances that have class id 'hydrostatic table' *)
<a id="p114746"></a>  REPEAT i := 1 TO HIINDEX(t2_set);
<a id="p114747"></a>    t3_set := t3_set + bag_to_set(USEDIN(t2_set[i],
<a id="p114748"></a>      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_-REPRESENTATION.USED_REPRESENTATION'));
<a id="p114749"></a>  END_REPEAT;

<a id="p114750"></a>(* get all property_definition instances which are the .definition of the
property_definition_representation *)
<a id="p114751"></a>  REPEAT i := 1 TO HIINDEX(t3_set);
<a id="p114752"></a>    t4_set := t4_set + t3_set[i].definition;
<a id="p114753"></a>  END_REPEAT;

<a id="p114754"></a>(* compare both lists with property_definition instances which have to be identical *)
<a id="p114755"></a>  violation := t1_set <> t4_set;

<a id="p114756"></a>  WHERE
<a id="p114757"></a>    wr1: NOT violation;
<a id="p114758"></a>**END_RULE;**
<a id="p114759"></a>(*
<a id="p114760"></a>Определения аргументов:
<a id="p114761"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114762"></a>Формальные высказывания:
<a id="p114763"></a>WR1: Каждый экземпляр объекта property_definition, содержащий объект applied_classification_assignment, чей атрибут assigned_class имеет значение 'hydrostatic definition', должен представлять определение одного или более экземпляров объекта property_definition_representation, где used_representation является экземпляром объекта representation, содержащего объект applied_classification_assignment, атрибут assigned_class.name которого имеет значение 'hydrostatic table'.

###### <a id="p114764"></a>5.2.4.60 Правило product_definition_for_managing_company

<a id="p114765"></a>Правило product_definition_for_managing_company определяет, что на экземпляр объекта product_definition с идентификатором класса 'owner designation' приведена ссылка только из одного экземпляра объекта applied_organization_assignment через items, атрибут role.name которого имеет значение 'managing company'.
<a id="p114766"></a>EXPRESS-спецификация:
<a id="p114767"></a>*)
<a id="p114768"></a>**RULE**
<a id="p114769"></a>product_definition_for_managing_company
<a id="p114770"></a>FOR(applied_classification_assignment);
<a id="p114771"></a>  LOCAL
<a id="p114772"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT :=  [];
<a id="p114773"></a>    t1_set: SET OF product_definition :=  [];
<a id="p114774"></a>    t2_set: SET OF applied_organization_assignment := [];
<a id="p114775"></a>    violation: LOGICAL := FALSE;
<a id="p114776"></a>  END_LOCAL;

<a id="p114777"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114778"></a>           i.assigned_class.NAME =
<a id="p114779"></a>           'owner designation');

<a id="p114780"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114781"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114782"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114783"></a>    END_REPEAT;
<a id="p114784"></a>  END_REPEAT;

<a id="p114785"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114786"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
  'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p114787"></a>  violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.role.name = 'managing company')) = 1);
<a id="p114788"></a>  END_REPEAT;
<a id="p114789"></a>  WHERE
<a id="p114790"></a>    wr1: NOT violation;
<a id="p114791"></a>**END_RULE;**
<a id="p114792"></a>(*
<a id="p114793"></a>Определения аргументов:
<a id="p114794"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114795"></a>Формальные высказывания:
<a id="p114796"></a>WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_classification_assignment с классификацией 'owner designation', приведена ссылка только из одного атрибута items объекта applied_organization_assignment, где для объекта applied_organization_assignment атрибут role.name = 'managing company'.

###### <a id="p114797"></a>5.2.4.61 Правило product_definition_for_ordering_company

<a id="p114798"></a>Правило product_definition_for_ordering_company определяет, что на экземпляр объекта product_definition с идентификатором класса 'owner designation' приведена ссылка только из одного экземпляра объекта applied_organization_assignment через items, атрибут role.name которого имеет значение 'ordering company'.
<a id="p114799"></a>EXPRESS-спецификация:
<a id="p114800"></a>*)
<a id="p114801"></a>**RULE**
<a id="p114802"></a>product_definition_for_ordering_company
<a id="p114803"></a>FOR(applied_classification_assignment);
<a id="p114804"></a>  LOCAL
<a id="p114805"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114806"></a>    t1_set: SET OF product_definition := [];
<a id="p114807"></a>    t2_set: SET OF applied_organization_assignment := [];
<a id="p114808"></a>    violation: LOGICAL := FALSE;
<a id="p114809"></a>  END_LOCAL;

<a id="p114810"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114811"></a>                   i.assigned_class.NAME = 'owner designation');

<a id="p114812"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114813"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114814"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114815"></a>    END_REPEAT;
<a id="p114816"></a>  END_REPEAT;

<a id="p114817"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114818"></a>    t2_set := bag_tO_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
      'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p114819"></a>      violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.role.name =
'ordering company')) = 1);
<a id="p114820"></a>  END_REPEAT;
<a id="p114821"></a>  WHERE
<a id="p114822"></a>    wr1: NOT violation;
<a id="p114823"></a>**END_RULE;**
<a id="p114824"></a>(*
<a id="p114825"></a>Определения аргументов:
<a id="p114826"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114827"></a>Формальные высказывания:
<a id="p114828"></a>WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_classification_assignment с классификацией 'owner designation', приведена ссылка только из одного атрибута items объекта applied_organization_assignment, где для объекта applied_organization_assignment атрибут role.name = 'ordering company'.

###### <a id="p114829"></a>5.2.4.62 Правило product_definition_for_owning_company

<a id="p114830"></a>Правило product_definition_for_owning_company определяет, что на экземпляр объекта product_definition с идентификатором класса 'owner designation' приведена ссылка только из одного экземпляра объекта applied_organization_assignment через items, атрибут role.name которого имеет значение 'owing company'.
<a id="p114831"></a>EXPRESS-спецификация:
<a id="p114832"></a>*)
<a id="p114833"></a>**RULE**
<a id="p114834"></a>product_definition_for_owning_company
<a id="p114835"></a>FOR(applied_classification_assignment);
<a id="p114836"></a>  LOCAL
<a id="p114837"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114838"></a>    t1_set: SET OF product_definition := [];
<a id="p114839"></a>    t2_set: SET OF applied_organization_assignment := [];
<a id="p114840"></a>    violation: LOGICAL := FALSE;
<a id="p114841"></a>  END_LOCAL;

<a id="p114842"></a>c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114843"></a>                 i.assigned_class.NAME =
<a id="p114844"></a>                 'owner designation');

<a id="p114845"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114846"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114847"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114848"></a>    END_REPEAT;
<a id="p114849"></a>  END_REPEAT;

<a id="p114850"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114851"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114852"></a>      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p114853"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set |
<a id="p114854"></a>    t2_inst.role.name = 'owning company')) = 1);
<a id="p114855"></a>  END_REPEAT;
<a id="p114856"></a>  WHERE
<a id="p114857"></a>    wr1: NOT violation;
<a id="p114858"></a>**END_RULE;**
<a id="p114859"></a>(*
<a id="p114860"></a>Определения аргументов:
<a id="p114861"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114862"></a>Формальные высказывания:
<a id="p114863"></a>WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_classification_assignment с классификацией 'owner designation', приведена ссылка только из одного атрибута items объекта applied_organization_assignment, где для объекта applied_organization_assignment атрибут role.name = 'owning company'.

###### <a id="p114864"></a>5.2.4.63 Правило product_definition_for_port_of_registration

<a id="p114865"></a>Правило product_definition_for_port_of_registration определяет, что на экземпляр объекта product_definition с идентификатором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, атрибут role.name которого имеет значение 'port of registration'.
<a id="p114866"></a>EXPRESS-спецификация:
<a id="p114867"></a>*)
<a id="p114868"></a>**RULE**
<a id="p114869"></a>product_definition_for_port_of_registration
<a id="p114870"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114871"></a>  LOCAL
<a id="p114872"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114873"></a>    t1_set: SET OF product_definition := [];
<a id="p114874"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p114875"></a>    violation: LOGICAL := FALSE;
<a id="p114876"></a>  END_LOCAL;

<a id="p114877"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114878"></a>                   i.assigned_class.NAME = 'ship designation');

<a id="p114879"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114880"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114881"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114882"></a>    END_REPEAT;
<a id="p114883"></a>  END_REPEAT;

<a id="p114884"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114885"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114886"></a>    'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p114887"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set |
<a id="p114888"></a>    t2_inst.role.name = 'port of registration')) = 1);
<a id="p114889"></a>  END_REPEAT;
<a id="p114890"></a>  WHERE
<a id="p114891"></a>    wr1: NOT violation;
<a id="p114892"></a>**END_RULE;**
<a id="p114893"></a>(*
<a id="p114894"></a>Определения аргументов:
<a id="p114895"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114896"></a>Формальные высказывания:
<a id="p114897"></a>WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_classification_assignment с классификацией 'ship designation', приведена ссылка только из одного атрибута items объекта applied_identification_assignment, где для объекта applied_identification_assignment атрибут role.name = 'port of registration'.

###### <a id="p114898"></a>5.2.4.64 Правило product_definition_for_regulation

<a id="p114899"></a>Правило product_definition_for_regulation определяет, что на объект product_definition с идентификатором класса 'class and statutory designation' приведена ссылка только из одного экземпляра объекта property_definition с идентификатором класса 'regulation' через definition.
<a id="p114900"></a>EXPRESS-спецификация:
<a id="p114901"></a>*)
<a id="p114902"></a>**RULE**
<a id="p114903"></a>product_definition_for_regulation
<a id="p114904"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114905"></a>  LOCAL
<a id="p114906"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114907"></a>    t1_set: SET OF product_definition := [];
<a id="p114908"></a>    t2_set: SET OF property_definition := [];
<a id="p114909"></a>    violation: LOGICAL := FALSE;
<a id="p114910"></a>  END_LOCAL;

<a id="p114911"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114912"></a>                   i.assigned_class.NAME =
<a id="p114913"></a>                   'class and statutory designation');

<a id="p114914"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114915"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114916"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114917"></a>    END_REPEAT;
<a id="p114918"></a>  END_REPEAT;

<a id="p114919"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114920"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114921"></a>      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION.DEFINITION'));
<a id="p114922"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | 'regulation'
<a id="p114923"></a>    IN WHICH_CLASS(t2_inst))) = 1);
<a id="p114924"></a>  END_REPEAT;
<a id="p114925"></a>  WHERE
<a id="p114926"></a>    WR1: NOT violation;
<a id="p114927"></a>**END_RULE;**
<a id="p114928"></a>(*
<a id="p114929"></a>Определения аргументов:
<a id="p114930"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114931"></a>Формальные высказывания:
<a id="p114932"></a>WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_classification_assignment, где assigned_class представляет собой объект с атрибутом name со значением 'class and statutory designation', должна быть дана ссылка только из одного экземпляра объекта property_definition, содержащего объект applied_classification_assignment, где assigned_class является объектом с атрибутом name со значением 'regulation', через атрибут definition.

###### <a id="p114933"></a>5.2.4.65 Правило product_definition_for_shipyard

<a id="p114934"></a>Правило product_definition_for_shipyard определяет, что на экземпляр объекта product_definition с идентификатором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, атрибут role.name которого имеет значение 'shipyard'.
<a id="p114935"></a>EXPRESS-спецификация:
<a id="p114936"></a>*)
<a id="p114937"></a>**RULE**
<a id="p114938"></a>product_definition_for_shipyard
<a id="p114939"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114940"></a>  LOCAL
<a id="p114941"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p114942"></a>    t1_set: SET OF product_definition := [];
<a id="p114943"></a>    t2_set: SET OF applied_organization_assignment := [];
<a id="p114944"></a>    violation: LOGICAL := FALSE;
<a id="p114945"></a>  END_LOCAL;

<a id="p114946"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114947"></a>                   i.assigned_class.NAME =
<a id="p114948"></a>                   'shipyard designation');

<a id="p114949"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114950"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114951"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114952"></a>    END_REPEAT;
<a id="p114953"></a>  END_REPEAT;

<a id="p114954"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p114955"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p114956"></a>    'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p114957"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.role.name = 'shipyard')) = 1);
<a id="p114958"></a>  END_REPEAT;
<a id="p114959"></a>  WHERE
<a id="p114960"></a>    wr1: NOT violation;
<a id="p114961"></a>**END_RULE;**
<a id="p114962"></a>(*
<a id="p114963"></a>Определения аргументов:
<a id="p114964"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p114965"></a>Формальные высказывания:
<a id="p114966"></a>WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_classification_assignment с классификацией 'shipyard designation', приведена ссылка только из одного атрибута items объекта applied_organization_assignment, где для объекта applied_organization_assignment атрибут role.name = 'shipyard'.

###### <a id="p114967"></a>5.2.4.66 Правило product_definition_for_stability_definition

<a id="p114968"></a>Правило product_definition_for_stability_definition определяет, что на объект property_definition с идентификатором класса 'stability definition' приведена ссылка из одного или нескольких объектов representations с идентификатором класса 'stability table' через property_definition_representation.
<a id="p114969"></a>EXPRESS-спецификация:
<a id="p114970"></a>*)
<a id="p114971"></a>RULE product_definition_for_stability_definition
<a id="p114972"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p114973"></a>**LOCAL**
<a id="p114974"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p114975"></a>    c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p114976"></a>    t1_set: SET OF property_definition := [];
<a id="p114977"></a>    t2_set: SET OF representation := [];
<a id="p114978"></a>    t3_set: SET OF property_definition_representation := [];
<a id="p114979"></a>    t4_set: SET OF property_definition := [];
<a id="p114980"></a>    violation: LOGICAL := FALSE;
<a id="p114981"></a>  END_LOCAL;

<a id="p114982"></a>  (* get all classification_assignment instances with id 'stability definition' *)
<a id="p114983"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114984"></a>                   i.Assigned_class.name = 'stability definition');

<a id="p114985"></a>  (* get all instances of property_definition that have class id 'stability definition' *)
<a id="p114986"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p114987"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p114988"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p114989"></a>    END_REPEAT;
<a id="p114990"></a>  END_REPEAT;

<a id="p114991"></a>(* get all classification_assignment instances with id 'stability table' *)
<a id="p114992"></a>  c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p114993"></a>                   i.Assigned_class.name = 'stability table');

<a id="p114994"></a>  (* get all instances of representation that have class id 'stability table' *)
<a id="p114995"></a>  REPEAT i := 1 TO HIINDEX(c2_a_set);
<a id="p114996"></a>    REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);
<a id="p114997"></a>      t2_set := t2_set + c2_a_set[i].items[j];
<a id="p114998"></a>    END_REPEAT;
<a id="p114999"></a>  END_REPEAT;

<a id="p115000"></a>(* get all property_definition_representation instances which have as the .used_
representation the representation instances that have class id 'stability table' *)
<a id="p115001"></a>  REPEAT i := 1 TO HIINDEX(t2_set);
<a id="p115002"></a>    t3_set := t3_set + bag_to_set(USEDIN(t2_set[i],
<a id="p115003"></a>      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_-REPRESENTATION.USED_REPRESENTATION'));
<a id="p115004"></a>  END_REPEAT;

<a id="p115005"></a>(* get all property_definition instances which are the .definition of the
property_definition_representation *)
<a id="p115006"></a>  REPEAT i := 1 TO HIINDEX(t3_set);
<a id="p115007"></a>    t4_set := t4_set + t3_set[i].definition;
<a id="p115008"></a>  END_REPEAT;

<a id="p115009"></a>(* compare both lists with property_definition instances which have to be identical *)
<a id="p115010"></a>  violation := t1_set <> t4_set;
<a id="p115011"></a>  WHERE
<a id="p115012"></a>    wr1: NOT violation;
<a id="p115013"></a>**END_RULE;**
<a id="p115014"></a>(*
<a id="p115015"></a>Определения аргументов:
<a id="p115016"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115017"></a>Формальные высказывания:
<a id="p115018"></a>WR1: Каждый экземпляр объекта property_definition, содержащий объект applied_classification_assignment, чей атрибут assigned_class имеет значение 'stability definition', должен представлять определение одного или более экземпляров объекта property_definition_representation, где used_representation является экземпляром объекта representation, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name имеет значение 'stability table'.

###### <a id="p115019"></a>5.2.4.67 Правило product_definition_relationship_references_are_distinct

<a id="p115020"></a>Правило product_definition_relationship_references_are_distinct определяет, что экземпляры, связанные атрибутами related_product_definition и relating_product_definition отношения product_definition_relationship, должны быть разными.
<a id="p115021"></a>EXPRESS-спецификация:
<a id="p115022"></a>*)
<a id="p115023"></a>RULE product_definition_relationship_references_are_distinct
<a id="p115024"></a>FOR (product_definition_relationship);
<a id="p115025"></a>  LOCAL
<a id="p115026"></a>    cyclic_relationship: LOGICAL := FALSE;
<a id="p115027"></a>  END_LOCAL;

<a id="p115028"></a>  REPEAT i := 1 TO HIINDEX(product_definition_relationship)
<a id="p115029"></a>         WHILE NOT
<a id="p115030"></a>cyclic_relationship;
<a id="p115031"></a>  cyclic_relationship:= product_definition_relationship[i].related_product_definition :=:
<a id="p115032"></a>  product_definition_relationship[i].relating_product_definition;
<a id="p115033"></a>  END_REPEAT;

<a id="p115034"></a>  WHERE
<a id="p115035"></a>    wr1: NOT cyclic_relationship;
<a id="p115036"></a>**END_RULE;**
<a id="p115037"></a>(*
<a id="p115038"></a>Определения аргументов:
<a id="p115039"></a>product_definition_relationship: набор всех экземпляров объектов product_definition_relationship.
<a id="p115040"></a>Формальные высказывания:
<a id="p115041"></a>WR1: Экземпляры объектов, на которые ссылаются атрибуты related_product_definition, и экземпляр relating_product_definition объекта product_definition_relationship, не должны быть идентичными.

###### <a id="p115042"></a>5.2.4.68 Правило product_definition_relationship_related_to_class_moulded_form

<a id="p115043"></a>Правило product_definition_relationship_related_to_class_moulded_form определяет, что атрибут related или relating объекта product_definition_relationship с классификацией 'moulded form relationship' должен представлять собой тип product_definition с классификацией 'moulded form'.
<a id="p115044"></a>EXPRESS-спецификация:
<a id="p115045"></a>*)
<a id="p115046"></a>**RULE**
<a id="p115047"></a>  product_definition_relationship_related_to_class_moulded_form

<a id="p115048"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115049"></a>  LOCAL
<a id="p115050"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115051"></a>    c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115052"></a>    t1_set: SET OF product_definition_RELATIONSHIP := [];
<a id="p115053"></a>    t2_set: SET OF product_definition := [];
<a id="p115054"></a>    t3_set: SET OF product_definition := [];
<a id="p115055"></a>    violation: LOGICAL := FALSE;
<a id="p115056"></a>  END_LOCAL;

<a id="p115057"></a>  (* get all classification_assignment instances with id 'moulded form
relationship' *)
<a id="p115058"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115059"></a>                   i.ASSIGNED_CLASS.NAME = 'moulded form relationship');

<a id="p115060"></a>  (* get all instances of product_definition_relationship that have class id
'moulded form relationship' *)
<a id="p115061"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115062"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115063"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115064"></a>    END_REPEAT;
<a id="p115065"></a>  END_REPEAT;

<a id="p115066"></a>(* get all related_product_definition attribute instances and relating_product_
definition attribute instances of the product_definition_relationship *)
<a id="p115067"></a>  REPEAT i := 1 TO HIINDEX(t1_set);
<a id="p115068"></a>    t2_set := t2_set + t1_set[i].related_product_definition;
<a id="p115069"></a>    t2_set := t2_set + t1_set[i].relating_product_definition;
<a id="p115070"></a>  END_REPEAT;

<a id="p115071"></a>(* get all classification_assignment instances with id 'moulded form' *)
<a id="p115072"></a>  c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115073"></a>           i.ASSIGNED_CLASS.NAME = 'moulded form');

<a id="p115074"></a>  (* get all instances of product_definition that have class id 'moulded form' *)
<a id="p115075"></a>  REPEAT i := 1 TO HIINDEX(c2_a_set);
<a id="p115076"></a>    REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);
<a id="p115077"></a>      t3_set := t3_set + c2_a_set[i].items[j];
<a id="p115078"></a>    END_REPEAT;
<a id="p115079"></a>  END_REPEAT;
<a id="p115080"></a>violation := NOT(t2_set<= t3_set);

<a id="p115081"></a>  WHERE
<a id="p115082"></a>    wr1: NOT violation;
<a id="p115083"></a>**END_RULE;**
<a id="p115084"></a>(*
<a id="p115085"></a>Определения аргументов:
<a id="p115086"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115087"></a>Формальные высказывания:
<a id="p115088"></a>WR1: Объект related_product_definition и relating_product_definition каждого экземпляра объекта product_definition_relationship, содержащего объект applied_classification_assignment, где значение assigned_class.name равно 'moulded form relationship', должны представлять собой экземпляры объектов product_definition, содержащие applied_classification_assignment, где значение assigned_class.name равно 'moulded form'.

###### <a id="p115089"></a>5.2.4.69 Правило product_definition_relationship_with_identification_assignment

<a id="p115090"></a>Правило product_definition_relationship_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_assignment.
<a id="p115091"></a>EXPRESS-спецификация:
<a id="p115092"></a>*)
<a id="p115093"></a>RULE product_definition_relationship_with_identification_assignment
<a id="p115094"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115095"></a>  LOCAL
<a id="p115096"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115097"></a>    t1_set: SET OF product_definition_relationship := [];
<a id="p115098"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p115099"></a>    arg_list: LIST OF STRING := ['item relationship'];
<a id="p115100"></a>    violation: LOGICAL := FALSE;
<a id="p115101"></a>  END_LOCAL;

<a id="p115102"></a>  (* get all classification_assignment instances with id in arg_list *)
<a id="p115103"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115104"></a>    c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115105"></a>                     i.assigned_class.NAME = arg_LIST[j]);
<a id="p115106"></a>  END_REPEAT;

<a id="p115107"></a>  (* get all instances of property_definition_representation *)
<a id="p115108"></a>    REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115109"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115110"></a>        t1_set := t1_set + c_a_set[i].items[j];
<a id="p115111"></a>    END_REPEAT;
<a id="p115112"></a>  END_REPEAT;

<a id="p115113"></a>    REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p115114"></a>      t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED_
**IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p115115"></a>      t2_set := QUERY ( j <* t2_set | j.role.name = 'globally unambiguous
identifier');
<a id="p115116"></a>    violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p115117"></a>  END_REPEAT;

<a id="p115118"></a>  WHERE
<a id="p115119"></a>    wr1: NOT violation;
<a id="p115120"></a>**END_RULE;**
<a id="p115121"></a>(*
<a id="p115122"></a>Определения аргументов:
<a id="p115123"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115124"></a>Формальные высказывания:
<a id="p115125"></a>WR1: Для каждого экземпляра объекта product_definition_relationship, на который приведена ссылка из объекта applied_classification_assignment, чей объект assigned_class содержит атрибут name со значением 'item relationship', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

###### <a id="p115126"></a>5.2.4.70 Правило product_definition_shape_with_identification_assignment

<a id="p115127"></a>Правило product_definition_shape_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_assignment.
<a id="p115128"></a>EXPRESS-спецификация:
<a id="p115129"></a>*)
<a id="p115130"></a>RULE product_definition_shape_with_identification_assignment
<a id="p115131"></a>  FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);
<a id="p115132"></a>**LOCAL**
<a id="p115133"></a>  c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115134"></a>  t1_set: SET OF product_definition_shape := [];
<a id="p115135"></a>  t2_set: SET OF applied_identification_assignment := [];
<a id="p115136"></a>  arg_list: LIST OF STRING := ['definition'];
<a id="p115137"></a>  violation: LOGICAL := FALSE;
<a id="p115138"></a>**END_LOCAL;**

<a id="p115139"></a>(* get all classification_assignment instances with id in arg_list *)
<a id="p115140"></a>REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115141"></a>c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115142"></a>                 i.assigned_class.NAME = arg_LIST[j]);
<a id="p115143"></a>**END_REPEAT;**

<a id="p115144"></a>(* get all instances of product_definition_shape that have class id *)
<a id="p115145"></a>REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115146"></a>  REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115147"></a>    t1_set := t1_set + c_a_set[i].items[j];
<a id="p115148"></a>  END_REPEAT;
<a id="p115149"></a>**END_REPEAT;**

<a id="p115150"></a>REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p115151"></a>  t2_set := bag_to_set(USEDIN(t1_set[i],

<a id="p115152"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p115153"></a>  t2_set := QUERY ( j <* t2_set |
<a id="p115154"></a>    j.role.name = 'globally unambiguous identifier');
<a id="p115155"></a>  violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p115156"></a>**END_REPEAT;**

<a id="p115157"></a>**WHERE**
<a id="p115158"></a>wr1: NOT violation;
<a id="p115159"></a>**END_RULE;**
<a id="p115160"></a>(*
<a id="p115161"></a>Определения аргументов:
<a id="p115162"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115163"></a>Формальные высказывания:
<a id="p115164"></a>WR1: Для каждого экземпляра объекта product_definition_shape, на который приведена ссылка из объекта applied_classification_assignment, чей объект assigned_class содержит атрибут name со значением 'definition', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

###### <a id="p115165"></a>5.2.4.71 Правило product_definition_with_identification_assignment

<a id="p115166"></a>Правило product_definition_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_assignment.
<a id="p115167"></a>EXPRESS-спецификация:
<a id="p115168"></a>*)
<a id="p115169"></a>RULE product_definition_with_identification_assignment
<a id="p115170"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115171"></a>  LOCAL
<a id="p115172"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT :=  [];
<a id="p115173"></a>    t1_set: SET OF product_definition := [];
<a id="p115174"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p115175"></a>    arg_list: LIST OF STRING := [ 'definition', 'definable object'];
<a id="p115176"></a>    violation: LOGICAL := FALSE;
<a id="p115177"></a>  END_LGCAL;

<a id="p115178"></a>  (* get all classification_assignment instances *)
<a id="p115179"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115180"></a>      c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115181"></a>                       i.assigned_class.NAME = arg_LIST[j]);
<a id="p115182"></a>  END_REPEAT;

<a id="p115183"></a>  (* get all instances of product_definition that have class id *)
<a id="p115184"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115185"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115186"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115187"></a>    END_REPEAT;
<a id="p115188"></a>  END_REPEAT;

<a id="p115189"></a>  REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p115190"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p115191"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p115192"></a>    t2_set := QUERY ( j <* t2_set | j.role.name = 'globally unambiguous identifier');
<a id="p115193"></a>    violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p115194"></a>  END_REPEAT;
<a id="p115195"></a>  WHERE
<a id="p115196"></a>    wr1: NOT violation;
<a id="p115197"></a>**END_RULE;**
<a id="p115198"></a>(*
<a id="p115199"></a>Определения аргументов:
<a id="p115200"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115201"></a>Формальные высказывания:
<a id="p115202"></a>WR1: Для каждого экземпляра объекта product_definition, на который приведена ссылка из объекта applied_classification_assignment, чей объект assigned_class содержит атрибут name со значением 'definition' или 'definable object', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

###### <a id="p115203"></a>5.2.4.72 Правило product_related_product_category_with_identification_assignment

<a id="p115204"></a>Правило product_related_product_category_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_assignment.
<a id="p115205"></a>EXPRESS-спецификация:
<a id="p115206"></a>*)
<a id="p115207"></a>RULE product_related_product_category_with_identification_assignment
<a id="p115208"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115209"></a>  LOCAL
<a id="p115210"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115211"></a>    t1_set: SET OF product_related_product_category := [];
<a id="p115212"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p115213"></a>    arg_list: LIST OF STRING := [ 'Shiptype'];
<a id="p115214"></a>    violation: LOGICAL := FALSE;
<a id="p115215"></a>**END_LOCAL;**

<a id="p115216"></a>  (* get all classification_assignment instances with id *)
<a id="p115217"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115218"></a>    c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115219"></a>                     i.assigned_class.NAME = arg_LIST[j]);
<a id="p115220"></a>  END_REPEAT;

<a id="p115221"></a>  (* get all instances that have class id *)
<a id="p115222"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115223"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115224"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115225"></a>    END_REPEAT;
<a id="p115226"></a>  END_REPEAT;

<a id="p115227"></a>  REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p115228"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p115229"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p115230"></a>    t2_set := QUERY ( j <* t2_set | j.role.name = 'globally unambiguous identifier');
<a id="p115231"></a>    violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p115232"></a>  END_REPEAT;

<a id="p115233"></a>  WHERE
<a id="p115234"></a>    wr1: NOT violation;
<a id="p115235"></a>**END_RULE;**
<a id="p115236"></a>(*
<a id="p115237"></a>Определения аргументов:
<a id="p115238"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115239"></a>Формальные высказывания:
<a id="p115240"></a>WR1: Для каждого экземпляра объекта product_related_product_category, на который приведена ссылка из объекта applied_classification_assignment, чей объект assigned_class содержит атрибут name со значением 'Shiptype', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

###### <a id="p115241"></a>5.2.4.73 Правило product_with_identification_assignment

<a id="p115242"></a>Правило product_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_assignment.
<a id="p115243"></a>EXPRESS-спецификация:
<a id="p115244"></a>*)
<a id="p115245"></a>RULE product_with_identification_assignment
<a id="p115246"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115247"></a>  LOCAL
<a id="p115248"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115249"></a>    t1_set: SET OF product := [];
<a id="p115250"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p115251"></a>    arg_list: LIST OF STRING := [ 'ship'];
<a id="p115252"></a>    violation: LOGICAL := FALSE;
<a id="p115253"></a>  END_LOCAL;

<a id="p115254"></a>  (* get all classification_assignment instances *)
<a id="p115255"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115256"></a>      c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115257"></a>                       i.assigned_class.NAME = arg_LIST[j]);
<a id="p115258"></a>  END_REPEAT;

<a id="p115259"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115260"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115261"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115262"></a>    END_REPEAT;
<a id="p115263"></a>  END_REPEAT;

<a id="p115264"></a>  REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p115265"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p115266"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS');**
<a id="p115267"></a>    t2_set := QUERY ( j <* t2_set | j.role.name = 'globally unambiguous identifier');
<a id="p115268"></a>    violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p115269"></a>  END_REPEAT;

<a id="p115270"></a>  WHERE
<a id="p115271"></a>    wr1: NOT violation;
<a id="p115272"></a>**END_RULE;**
<a id="p115273"></a>(*
<a id="p115274"></a>Определения аргументов:
<a id="p115275"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115276"></a>Формальные высказывания:
<a id="p115277"></a>WR1: Для каждого экземпляра объекта product, на который приведена ссылка из объекта applied_classification_assignment, чей объект assigned_class содержит атрибут name со значением 'ship', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

###### <a id="p115278"></a>5.2.4.74 Правило propeller_moulded_form_design_parameter_with_class_references

<a id="p115279"></a>Правило propeller_moulded_form_design_parameter_with_class_references определяет, на что экземпляр объекта property_definition с идентификатором класса 'propeller moulded form design parameter' приведена ссылка не более чем из одного экземпляра объекта property_definition_representation, чей атрибут used_representation указывает на представление (representation) с идентификатором класса 'propeller location'.
<a id="p115280"></a>EXPRESS-спецификация:
<a id="p115281"></a>*)
<a id="p115282"></a>RULE propeller_moulded_form_design_parameter_with_class_references
<a id="p115283"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115284"></a>  LOCAL
<a id="p115285"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := []
<a id="p115286"></a>    t1_set: SET OF property_definition := [];
<a id="p115287"></a>    t2_set: SET OF property_definition_representation := []
<a id="p115288"></a>    t3_set: SET OF representation := []
<a id="p115289"></a>    violation: LOGICAL := FALSE;
<a id="p115290"></a>  END_LOCAL;

<a id="p115291"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115292"></a>                   i.ASSIGNED_CLASS.NAME = 'propeller moulded form design parameter');

<a id="p115293"></a>  (* get all instances of property_definition that have class id 'propeller
moulded form design parameter' *)
<a id="p115294"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115295"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115296"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115297"></a>    END_REPEAT;
<a id="p115298"></a>  END_REPEAT;

<a id="p115299"></a>  (* for all instances of property_definition in t1_set:
<a id="p115300"></a>  get the property_definition_representation instances that are referencing
a property_definition instance via definition, get those property_definition_
representation.used_representation instances whose class id is 'midship_tumble'
and make sure their number is less than or equal to 1 *)

<a id="p115301"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115302"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p115303"></a>   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+ 'DEFINITION'));

<a id="p115304"></a>  REPEAT j := 1 to HIINDEX(t2_set);
<a id="p115305"></a>    t3_set := t3_set + t2_set[j].used_representation;
<a id="p115306"></a>  END_REPEAT;

<a id="p115307"></a>  violation := SIZEOF(QUERY(t2_inst <* t3_set | 'propeller location' IN WHICH_
CLASS(t2_inst))) > 1;
<a id="p115308"></a>**END_REPEAT;**

<a id="p115309"></a>  WHERE
<a id="p115310"></a>    wr1: NOT violation;
<a id="p115311"></a>**END_RULE;**
<a id="p115312"></a>(*
<a id="p115313"></a>Определения аргументов:
<a id="p115314"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115315"></a>Формальные высказывания:
<a id="p115316"></a>WR1: На каждый экземпляр объекта property_definition, содержащий объект applied_classification_assignment, где у assigned_class имеется атрибут name со значением 'propeller moulded form design parameter', должна быть дана ссылка из одного или менее экземпляров объекта property_definition_representation, который указывает представление (representation) через свой атрибут used_representation, содержащий объект applied_classification_assignment, где у assigned_class имеется атрибут name со значением 'propeller location'.

###### <a id="p115317"></a>5.2.4.75 Правило property_definition_appendage_moulded_form_design_parameter

<a id="p115318"></a>Правило property_definition_for_appendage_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'appendage moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'appendage moulded form design parameter'.
<a id="p115319"></a>EXPRESS-спецификация:
<a id="p115320"></a>*)
<a id="p115321"></a>RULE property_definition_appendage_moulded_form_design_parameter
<a id="p115322"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115323"></a>  LOCAL
<a id="p115324"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115325"></a>    t1_set: SET OF property_definition := [];
<a id="p115326"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115327"></a>    violation: LOGICAL := FALSE;
<a id="p115328"></a>  END_LOCAL;

<a id="p115329"></a>  (* get all classification_assignment instances with id 'appendage moulded
form design parameter' *)
<a id="p115330"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115331"></a>           i.ASSIGNED_CLASS.NAME = 'appendage moulded form design parameter');

<a id="p115332"></a>  (* get all instances that have class id 'appendage moulded form design parameter' *)
<a id="p115333"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115334"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115335"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115336"></a>    END_REPEAT;
<a id="p115337"></a>  END_REPEAT;

<a id="p115338"></a>  (* for all instances of property_definition in t1_set:
<a id="p115339"></a>  get the property_definition_representation instances that are referencing
a property_definition instance via definition, filter out those property_
definition_representation instances whose attribute name has the value
'appendage moulded form design parameter' check if their number equals 1 *)
<a id="p115340"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115341"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115342"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name =
'appendage moulded form design parameter')) = 1);
<a id="p115343"></a>  END_REPEAT;

<a id="p115344"></a>  WHERE
<a id="p115345"></a>    wr1: NOT violation;
<a id="p115346"></a>**END_RULE;**
<a id="p115347"></a>(*
<a id="p115348"></a>Определения аргументов:
<a id="p115349"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115350"></a>Формальные высказывания:
<a id="p115351"></a>WR1: На каждый объект property_definition, на который приведена ссылка из объекта applied_classification_assignment с assigned_class.name = 'appendage moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'appendage moulded form design parameter'.

###### <a id="p115352"></a>5.2.4.76 Правило property_definition_for_bottom_moulded_form_design_parameter

<a id="p115353"></a>Правило property_definition_for_bottom_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'bottom moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'bottom moulded form design parameter'.
<a id="p115354"></a>EXPRESS-спецификация:
<a id="p115355"></a>*)
<a id="p115356"></a>RULE property_definition_for_bottom_moulded_form_design_parameter
<a id="p115357"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115358"></a>  LOCAL
<a id="p115359"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115360"></a>    t1_set: SET OF property_definition := [];
<a id="p115361"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115362"></a>    violation: LOGICAL := FALSE;
<a id="p115363"></a>  END_LOCAL;

<a id="p115364"></a>  (* get all classification_assignment instances with id 'bottom moulded form
design parameter' *)
<a id="p115365"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115366"></a>           i.ASSIGNED_CLASS.NAME = 'bottom moulded form design parameter');

<a id="p115367"></a>  (* get all instances that have class id 'bottom moulded form design parameter' *)
<a id="p115368"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115369"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115370"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115371"></a>    END_REPEAT;
<a id="p115372"></a>  END_REPEAT;

<a id="p115373"></a>  (* for all instances of property_definition in t1_set:
<a id="p115374"></a>  get the property_definition_representation instances that are referencing
a property_definition instance via definition, filter out those property_
definition_representation instances whose attribute name has the value 'bottom
moulded form design parameter' check if their number equals 1 *)
<a id="p115375"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115376"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115377"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'bottom
moulded form design parameter')) = 1);
<a id="p115378"></a>  END_REPEAT;

<a id="p115379"></a>  WHERE
<a id="p115380"></a>    wr1: NOT violation;
<a id="p115381"></a>**END_RULE;**
<a id="p115382"></a>(*
<a id="p115383"></a>Определения аргументов:
<a id="p115384"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115385"></a>Формальные высказывания:
<a id="p115386"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'bottom moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'appendage moulded form design parameter'.

###### <a id="p115387"></a>5.2.4.77 Правило property_definition_for_bulb_moulded_form_design_parameter

<a id="p115388"></a>Правило property_definition_for_bulb_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'bulb moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'bulb moulded form design parameter'.
<a id="p115389"></a>EXPRESS-спецификация:
<a id="p115390"></a>*)
<a id="p115391"></a>RULE property_definition_for_bulb_moulded_form_design_parameter
<a id="p115392"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115393"></a>  LOCAL
<a id="p115394"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115395"></a>    t1_set: SET OF property_definition := [];
<a id="p115396"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115397"></a>    violation: LOGICAL := FALSE;
<a id="p115398"></a>  END_LOCAL;

<a id="p115399"></a>  (* get all classification_assignment instances with id 'bulb moulded form
design parameter' *)
<a id="p115400"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115401"></a>                   i.ASSIGNED_CLASS.NAME = 'bulb moulded form design parameter');

<a id="p115402"></a>  (* get all instances that have class id 'bulb moulded form design parameter' *)
<a id="p115403"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115404"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115405"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115406"></a>    END_REPEAT;
<a id="p115407"></a>  END_REPEAT;

<a id="p115408"></a>  (* for all instances of property_definition in t1_set:
<a id="p115409"></a>  get the property_definition_representation instances that are referencing
a property_definition instance via definition, filter out those property_
definition_representation instances whose attribute name has the value 'bulb
moulded form design parameter' check if their number equals 1 *)
<a id="p115410"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115411"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115412"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'bulb
moulded form design parameter')) = 1);
<a id="p115413"></a>  END_REPEAT;
<a id="p115414"></a>  WHERE
<a id="p115415"></a>    wr1: NOT violation;
<a id="p115416"></a>**END_RULE;**
<a id="p115417"></a>(*
<a id="p115418"></a>Определения аргументов:
<a id="p115419"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115420"></a>Формальные высказывания:
<a id="p115421"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'bulb moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'bulb moulded form design parameter'.

###### <a id="p115422"></a>5.2.4.78 Правило property_definition_for_class_notation

<a id="p115423"></a>Правило property_definition_for_class_notation определяет, что на экземпляр объекта property_definition с идентификатором класса 'class notation' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'class notation'.
<a id="p115424"></a>EXPRESS-спецификация:
<a id="p115425"></a>*)
<a id="p115426"></a>**RULE**
<a id="p115427"></a>property_definition_for_class_notation
<a id="p115428"></a>FOR(applied_classification_assignment);
<a id="p115429"></a>  LOCAL
<a id="p115430"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115431"></a>    t1_set: SET OF property_definition := [];
<a id="p115432"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115433"></a>    violation: LOGICAL := FALSE;
<a id="p115434"></a>  END_LOCAL;

<a id="p115435"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115436"></a>              i.assigned_class.NAME = 'class notation');

<a id="p115437"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115438"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115439"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115440"></a>    END_REPEAT;
<a id="p115441"></a>  END_REPEAT;

<a id="p115442"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115443"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p115444"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));**
<a id="p115445"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'class notation')) = 1);
<a id="p115446"></a>  END_REPEAT;
<a id="p115447"></a>  WHERE
<a id="p115448"></a>    WR1: NOT violation;
<a id="p115449"></a>**END_RULE;**
<a id="p115450"></a>(*
<a id="p115451"></a>Определения аргументов:
<a id="p115452"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115453"></a>Формальные высказывания:
<a id="p115454"></a>WR1: На каждый объект property_definition, на который дана ссылка только из одного объекта applied_classification_assignment с assigned_class.name = 'class notation', приведена ссылка только из одного атрибута definition для объекта property_definition_representation, где значение атрибута name для объекта property_definition_representation = 'class notation'.

###### <a id="p115455"></a>5.2.4.79 Правило property_definition_for_class_society

<a id="p115456"></a>Правило property_definition_for_class_society определяет, что на экземпляр объекта property_definition с идентификатором класса 'class notation' приведена ссылка только из одного экземпляра объекта applied_organization_assignment через items, атрибут role.name которого имеет значение 'class society'.
<a id="p115457"></a>EXPRESS-спецификация:
<a id="p115458"></a>*)
<a id="p115459"></a>**RULE**
<a id="p115460"></a>property_definition_for_class_society
<a id="p115461"></a>FOR(applied_classification_assignment);
<a id="p115462"></a>  LOCAL
<a id="p115463"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115464"></a>    t1_set: SET OF property_definition := [];
<a id="p115465"></a>    t2_set: SET OF applied_organization_assignment := [];
<a id="p115466"></a>    violation: LOGICAL := FALSE;
<a id="p115467"></a>  END_LOCAL;

<a id="p115468"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115469"></a>                   i.assigned_class.NAME = 'class notation');

<a id="p115470"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115471"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115472"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115473"></a>    END_REPEAT;
<a id="p115474"></a>  END_REPEAT;

<a id="p115475"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115476"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p115477"></a>    'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p115478"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set |
<a id="p115479"></a>    t2_inst.role.name = 'class society')) = 1);
<a id="p115480"></a>  END_REPEAT;
<a id="p115481"></a>  WHERE
<a id="p115482"></a>    WR1: NOT violation;
<a id="p115483"></a>**END_RULE;**
<a id="p115484"></a>(*
<a id="p115485"></a>Определения аргументов:
<a id="p115486"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115487"></a>Формальные высказывания:
<a id="p115488"></a>WR1: На каждый объект property_definition, на который дана ссылка только из одного объекта applied_classification_assignment с assigned_class.name = 'class notation', приведена ссылка только из одного атрибута items для объекта applied_organization_assignment, где значение атрибута role.name для объекта applied_organization_assignment = 'class society'.

###### <a id="p115489"></a>5.2.4.80 Правило property_definition_for_deck_moulded_form_design_parameter

<a id="p115490"></a>Правило property_definition_for_deck_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'deck moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'deck moulded form design parameter'.
<a id="p115491"></a>EXPRESS-спецификация:
<a id="p115492"></a>*)
<a id="p115493"></a>RULE property_definition_for_deck_moulded_form_design_parameter
<a id="p115494"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115495"></a>  LOCAL
<a id="p115496"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115497"></a>    t1_set: SET OF property_definition := [];
<a id="p115498"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115499"></a>    violation: LOGICAL := FALSE;
<a id="p115500"></a>  END_LOCAL;

<a id="p115501"></a>  (* get all classification_assignment instances with id 'deck moulded form
design parameter' *)
<a id="p115502"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115503"></a>                   i.ASSIGNED_CLASS.NAME = 'deck moulded form design parameter');

<a id="p115504"></a>  (* get all instances that have class id 'deck moulded form design parameter' *)
<a id="p115505"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115506"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115507"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115508"></a>    END_REPEAT;
<a id="p115509"></a>  END_REPEAT;

<a id="p115510"></a>  (* for all instances of property_definition in t1_set:
  get the property_definition_representation instances that are referencing
a property_definition instance via definition, filter out those property_
definition_representation instances whose attribute name has the value 'deck
moulded form design parameter' check if their number equals 1 *)
<a id="p115511"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115512"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115513"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'deck
moulded form design parameter')) = 1);
<a id="p115514"></a>  END_REPEAT;

<a id="p115515"></a>  WHERE
<a id="p115516"></a>    wr1: NOT violation;
<a id="p115517"></a>**END_RULE;**
<a id="p115518"></a>(*
<a id="p115519"></a>Определения аргументов:
<a id="p115520"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115521"></a>Формальные высказывания:
<a id="p115522"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'deck moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'deck moulded form design parameter'.

###### <a id="p115523"></a>5.2.4.81 Правило property_definition_for_hull_moulded_form_design_parameter

<a id="p115524"></a>Правило property_definition_for_hull_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'hull moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'hull moulded form design parameter'.
<a id="p115525"></a>EXPRESS-спецификация:
<a id="p115526"></a>*)
<a id="p115527"></a>RULE property_definition_for_hull_moulded_form_design_parameter
<a id="p115528"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115529"></a>  LOCAL
<a id="p115530"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115531"></a>    t1_set: SET OF property_definition := [];
<a id="p115532"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115533"></a>    violation: LOGICAL := FALSE;
<a id="p115534"></a>  END_LOCAL;

<a id="p115535"></a>  (* get all classification_assignment instances with id 'hull moulded form
design parameter' *)
<a id="p115536"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115537"></a>                   i.ASSIGNED_CLASS.NAME = 'hull moulded form design parameter');
<a id="p115538"></a>  (* get all instances that have class id 'hull moulded form design parameter' *)
<a id="p115539"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115540"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115541"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115542"></a>    END_REPEAT;
<a id="p115543"></a>  END_REPEAT;

<a id="p115544"></a>  (* for all instances of property_definition in t1_set:
<a id="p115545"></a>  get the property_definition_representation instances that are referencing
a property_definition instance via definition, filter out those property_
definition_representation instances whose attribute name has the value 'hull
moulded form design parameter' check if their number equals 1 *)
<a id="p115546"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115547"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115548"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'hull
moulded form design parameter')) = 1);
<a id="p115549"></a>  END_REPEAT;

<a id="p115550"></a>  WHERE
<a id="p115551"></a>    wr1: NOT violation;
<a id="p115552"></a>**END_RULE;**
<a id="p115553"></a>(*
<a id="p115554"></a>Определения аргументов:
<a id="p115555"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115556"></a>Формальные высказывания:
<a id="p115557"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'hull moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'hull moulded form design parameter'.

###### <a id="p115558"></a>5.2.4.82 Правило property_definition_for_local_coordinate_system

<a id="p115559"></a>Правило property_definition_for_local_coordinate_system определяет, что на экземпляр объекта property_definition с идентификатором класса 'local co ordinate system' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'local coordinate system'.
<a id="p115560"></a>EXPRESS-спецификация:
<a id="p115561"></a>*)
<a id="p115562"></a>RULE property_definition_for_local_coordinate_system
<a id="p115563"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115564"></a>  LOCAL
<a id="p115565"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115566"></a>    t1_set: SET OF property_definition := [];
<a id="p115567"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115568"></a>    violation: LOGICAL := FALSE;
<a id="p115569"></a>  END_LOCAL;

<a id="p115570"></a>  (* get all classification_assignment instances with id 'local co ordinate system' *)
<a id="p115571"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115572"></a>              i.ASSIGNED_CLASS.NAME = 'local co ordinate system');

<a id="p115573"></a>  (* get all instances that have class id 'local co ordinate system' *)
<a id="p115574"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115575"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115576"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115577"></a>    END_REPEAT;
<a id="p115578"></a>  END_REPEAT;

<a id="p115579"></a>  (* for all instances of property_definition in t1_set: get the property_
definition_representation instances that are referencing a property_definition
instance via definition, filter out those property_definition_representation
instances whose attribute name has the value 'local coordinate system' check if
their number equals 1 *)
<a id="p115580"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115581"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115582"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'local
coordinate system')) = 1);
<a id="p115583"></a>  END_REPEAT;

<a id="p115584"></a>  WHERE
<a id="p115585"></a>    wr1: NOT violation;
<a id="p115586"></a>**END_RULE;**
<a id="p115587"></a>(*
<a id="p115588"></a>Определения аргументов:
<a id="p115589"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115590"></a>Формальные высказывания:
<a id="p115591"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'local co ordinate system', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'local coordinate system'.

###### <a id="p115592"></a>5.2.4.83 Правило property_definition_for_local_coordinate_system_with_position

<a id="p115593"></a>Правило property_definition_for_local_coordinate_system_with_position определяет, что на экземпляр объекта property_definition с идентификатором класса 'local co ordinate system with position reference' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'local coordinate system with position reference'.
<a id="p115594"></a>EXPRESS-спецификация:
<a id="p115595"></a>*)
<a id="p115596"></a>**RULE**
<a id="p115597"></a>property_definition_for_local_coordinate_system_with_position
<a id="p115598"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115599"></a>  LOCAL
<a id="p115600"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115601"></a>    t1_set: SET OF property_definition := [];
<a id="p115602"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115603"></a>    violation: LOGICAL := FALSE;
<a id="p115604"></a>  END_LOCAL;

<a id="p115605"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115606"></a>                   i.assigned_class.NAME =
<a id="p115607"></a>                   'local co ordinate system with position reference');

<a id="p115608"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115609"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115610"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115611"></a>    END_REPEAT;
<a id="p115612"></a>  END_REPEAT;
<a id="p115613"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115614"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p115615"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));**
<a id="p115616"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name =
'local coordinate system with position reference')) = 1);
<a id="p115617"></a>  END_REPEAT;
<a id="p115618"></a>  WHERE
<a id="p115619"></a>    WR1: NOT violation;
<a id="p115620"></a>**END_RULE;**
<a id="p115621"></a>(*
<a id="p115622"></a>Определения аргументов:
<a id="p115623"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115624"></a>Формальные высказывания:
<a id="p115625"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'local co ordinate system with position reference', приведена ссылка только из одного объекта property_definition_representation атрибутом definition, где для объекта property_definition_representation атрибут name = 'local coordinate system with position reference'.

###### <a id="p115626"></a>5.2.4.84 Правило property_definition_for_moulded_form_function_parameters

<a id="p115627"></a>Правило property_definition_for_moulded_form_function_parameters определяет, что на экземпляр объекта property_definition с идентификатором класса 'moulded form functional definition' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'moulded form functional definition'.
<a id="p115628"></a>EXPRESS-спецификация:
<a id="p115629"></a>*)
<a id="p115630"></a>**RULE**
<a id="p115631"></a>property_definition_for_moulded_form_function_parameters
<a id="p115632"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115633"></a>  LOCAL
<a id="p115634"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115635"></a>    t1_set: SET OF property_definition := [];
<a id="p115636"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115637"></a>    violation: LOGICAL := FALSE;
<a id="p115638"></a>  END_LOCAL;

<a id="p115639"></a>  (* get all classification_assignment instances with id 'moulded form
functional definition' *)
<a id="p115640"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115641"></a>                i.ASSIGNED_CLASS.NAME = 'moulded form functional definition');

<a id="p115642"></a>  (* get all instances that have class id 'moulded form functional definition' *)
<a id="p115643"></a>  REPEAT i := 1 TO HIINDEX (c_a_set);
<a id="p115644"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115645"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115646"></a>    END_REPEAT;
<a id="p115647"></a>  END_REPEAT;

<a id="p115648"></a>  (* for all instances of property_definition in t1_set:
<a id="p115649"></a>  get the property_definition_representation instances that are referencing
a property_definition instance via definition, filter out those property_
definition_representation instances whose attribute name has the value 'moulded
form function parameters' check if their number equals 1 *)
<a id="p115650"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115651"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115652"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'moulded
form function parameters')) = 1);
<a id="p115653"></a>  END_REPEAT;

<a id="p115654"></a>  WHERE
<a id="p115655"></a>    wr1: NOT violation;
<a id="p115656"></a>**END_RULE;**
<a id="p115657"></a>(*
<a id="p115658"></a>Определения аргументов:
<a id="p115659"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115660"></a>Формальные высказывания:
<a id="p115661"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'moulded form functional definition', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'moulded form functional definition'.

###### <a id="p115662"></a>5.2.4.85 Правило property_definition_of_propeller_moulded_form_design_parameter

<a id="p115663"></a>Правило property_definition_of_propeller_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'propeller moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'propeller moulded form design parameter'.
<a id="p115664"></a>EXPRESS-спецификация:
<a id="p115665"></a>*)
<a id="p115666"></a>RULE property_definition_of_propeller_moulded_form_design_parameter FOR(APPLIED_
**CLASSIFICATION_ASSIGNMENT);**
<a id="p115667"></a>  LOCAL
<a id="p115668"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115669"></a>    t1_set: SET OF property_definition := [];
<a id="p115670"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115671"></a>    violation: LOGICAL := FALSE;
<a id="p115672"></a>  END_LOCAL;

<a id="p115673"></a>  (* get all classification_assignment instances with id 'propeller moulded
form design parameter' *)
<a id="p115674"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115675"></a>           i.ASSIGNED_CLASS.NAME = 'propeller moulded form design parameter');

<a id="p115676"></a>  (* get all instances that have class id 'propeller moulded form design
parameter' *)
<a id="p115677"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115678"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115679"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115680"></a>    END_REPEAT;
<a id="p115681"></a>  END_REPEAT;

<a id="p115682"></a>(* for all instances of property_definition in t1_set:
<a id="p115683"></a>  get the property_definition_representation instances that are referencing
a property_definition instance via definition, filter out those property_
definition_representation instances whose attribute name has the value
'propeller moulded form design parameter' check if their number equals 1 *)
<a id="p115684"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115685"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115686"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'propeller
moulded form design parameter')) = 1);
<a id="p115687"></a>  END_REPEAT;
<a id="p115688"></a>  WHERE
<a id="p115689"></a>    wr1: NOT violation;
<a id="p115690"></a>**END_RULE;**
<a id="p115691"></a>(*
<a id="p115692"></a>Определения аргументов:
<a id="p115693"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115694"></a>Формальные высказывания:
<a id="p115695"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'propeller moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'propeller moulded form design parameter'.

###### <a id="p115696"></a>5.2.4.86 Правило property_definition_for_rudder_moulded_form_design_parameter

<a id="p115697"></a>Правило property_definition_for_rudder_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'rudder moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'rudder moulded form design parameter'.
<a id="p115698"></a>EXPRESS-спецификация:
<a id="p115699"></a>*)
<a id="p115700"></a>RULE property_definition_for_rudder_moulded_form_design_parameter
<a id="p115701"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115702"></a>  LOCAL
<a id="p115703"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115704"></a>    t1_set: SET OF property_definition := [];
<a id="p115705"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115706"></a>    violation: LOGICAL := FALSE;
<a id="p115707"></a>  END_LOCAL;

<a id="p115708"></a>  (* get all classification_assignment instances with id 'rudder moulded form
design parameter' *)
<a id="p115709"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115710"></a>              i.ASSIGNED_CLASS.NAME = 'rudder moulded form design parameter');

<a id="p115711"></a>  (* get all instances that have class id 'rudder moulded form design parameter'
*)
<a id="p115712"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115713"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115714"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115715"></a>    END_REPEAT;
<a id="p115716"></a>  END_REPEAT;

<a id="p115717"></a>  (* for all instances of property_definition in t1_set:
<a id="p115718"></a>  get the property_definition_representation instances that are referencing
a property_definition instance via definition, filter out those property_
definition_representation instances whose attribute name has the value 'rudder
moulded form design parameter' check if their number equals 1 *)
<a id="p115719"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115720"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115721"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'rudder
moulded form design parameter')) = 1);
<a id="p115722"></a>  END_REPEAT;

<a id="p115723"></a>  WHERE
<a id="p115724"></a>    wr1: NOT violation;
<a id="p115725"></a>**END_RULE;**
<a id="p115726"></a>(*
<a id="p115727"></a>Определения аргументов:
<a id="p115728"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115729"></a>Формальные высказывания:
<a id="p115730"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'rudder moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'rudder moulded form design parameter'.

###### <a id="p115731"></a>5.2.4.87 Правило property_definition_for_thruster_moulded_form_design_parameter

<a id="p115732"></a>Правило property_definition_for_thruster_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'thruster moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'thruster moulded form design parameter'.
<a id="p115733"></a>EXPRESS-спецификация:
<a id="p115734"></a>*)
<a id="p115735"></a>RULE property_definition_for_thruster_moulded_form_design_parameter
<a id="p115736"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115737"></a>  LOCAL
<a id="p115738"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115739"></a>    t1_set: SET OF property_definition := [];
<a id="p115740"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p115741"></a>    violation: LOGICAL := FALSE;
<a id="p115742"></a>  END_LOCAL;

<a id="p115743"></a>  (* get all classification_assignment instances with id 'thruster moulded form
design parameter' *)
<a id="p115744"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115745"></a>           i.ASSIGNED_CLASS.NAME = 'thruster moulded form design parameter');

<a id="p115746"></a>  (* get all instances that have class id 'thruster moulded form design
parameter' *)
<a id="p115747"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115748"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115749"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115750"></a>    END_REPEAT;
<a id="p115751"></a>  END_REPEAT;

<a id="p115752"></a>  (* for all instances of property_definition in t1_set:
<a id="p115753"></a>  get the property_definition_representation instances that are referencing
a property_definition instance via definition, filter out those property_
definition_representation instances whose attribute name has the value 'thruster
moulded form design parameter' check if their number equals 1 *)
<a id="p115754"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115755"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));**
<a id="p115756"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'thruster
moulded form design parameter')) = 1);
<a id="p115757"></a>  END_REPEAT;

<a id="p115758"></a>  WHERE
<a id="p115759"></a>    wr1: NOT violation;
<a id="p115760"></a>**END_RULE;**
<a id="p115761"></a>(*
<a id="p115762"></a>Определения аргументов:
<a id="p115763"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115764"></a>Формальные высказывания:
<a id="p115765"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'thruster moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_representation.name = 'thruster moulded form design parameter'.

###### <a id="p115766"></a>5.2.4.88 Правило property_definition_for_thruster_propeller_parameter

<a id="p115767"></a>Правило property_definition_for_thruster_propeller_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'thruster moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'thruster propeller parameter'.
<a id="p115768"></a>EXPRESS-спецификация:
<a id="p115769"></a>*)
<a id="p115770"></a>RULE property_definition_for_thruster_propeller_parameter
<a id="p115771"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115772"></a>  LOCAL
<a id="p115773"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115774"></a>    t1_set: SET OF property_definition := [];
<a id="p115775"></a>    t2_set: SET OF property_definition_relationship := [];
<a id="p115776"></a>    violation: LOGICAL := FALSE;
<a id="p115777"></a>  END_LOCAL;

<a id="p115778"></a>  (* get all classification_assignment instances with id 'thruster moulded form
design parameter' *)
<a id="p115779"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115780"></a>           i.ASSIGNED_CLASS.NAME = 'thruster moulded form design parameter');

<a id="p115781"></a>  (* get all instances that have class id 'thruster moulded form design
parameter' *)
<a id="p115782"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p115783"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115784"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115785"></a>    END_REPEAT;
<a id="p115786"></a>  END_REPEAT;

<a id="p115787"></a>  (* for all instances of property_definition in t1_set:
<a id="p115788"></a>  get the property_definition_relationship instances that are referencing a
property_definition instance via relating_property_- definition, filter out
those property_definition_relationship instances whose attribute name has the
value 'thruster propeller parameter' check if their number equals 1 *)
<a id="p115789"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p115790"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +
**'PROPERTY_DEFINITION_RELATIONSHIP' + '.RELATING_PROPERTY_DEFINITION'));**
<a id="p115791"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'thruster
propeller parameter')) = 1);
<a id="p115792"></a>  END_REPEAT;

<a id="p115793"></a>  WHERE
<a id="p115794"></a>    wr1: NOT violation;
<a id="p115795"></a>**END_RULE;**
<a id="p115796"></a>(*
<a id="p115797"></a>Определения аргументов:
<a id="p115798"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115799"></a>Формальные высказывания:
<a id="p115800"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'thruster moulded form design parameter', приведена ссылка только из одного объекта property_definition_relationship.relating_property_definition, где property_definition_relationship.name = 'thruster propeller parameter'.

###### <a id="p115801"></a>5.2.4.89 Правило property_definition_with_identification_assignment

<a id="p115802"></a>Правило property_definition_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_assignment.
<a id="p115803"></a>EXPRESS-спецификация:
<a id="p115804"></a>*)
<a id="p115805"></a>RULE property_definition_with_identification_assignment
<a id="p115806"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p115807"></a>  LOCAL
<a id="p115808"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p115809"></a>    t1_set: SET OF property_definition := [];
<a id="p115810"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p115811"></a>    arg_list: LIST OF STRING := [ 'moulded form characteristics definition',
<a id="p115812"></a>                                  'moulded form functional definition',
<a id="p115813"></a>                                  'local co ordinate system',
<a id="p115814"></a>                                  'spacing table',
<a id="p115815"></a>                                  'hydrostatic definition',
<a id="p115816"></a>           'stability definition'];
<a id="p115817"></a>    violation: LOGICAL := FALSE;
<a id="p115818"></a>  END_LOCAL;

<a id="p115819"></a>  REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115820"></a>    c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p115821"></a>           i.assigned_class.NAME = arg_LIST[j]);
<a id="p115822"></a>  END_REPEAT;

<a id="p115823"></a>  REPEAT i := 1 TO HIINDEX (c_a_set);
<a id="p115824"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p115825"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p115826"></a>    END_REPEAT;
<a id="p115827"></a>  END_REPEAT;

<a id="p115828"></a>  REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p115829"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p115830"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p115831"></a>    t2_set := QUERY ( j <* t2_set |
<a id="p115832"></a>j.role.name = 'globally unambiguous identifier');
<a id="p115833"></a>    violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p115834"></a>  END_REPEAT;

<a id="p115835"></a>  WHERE
<a id="p115836"></a>    wr1: NOT violation;
<a id="p115837"></a>**END_RULE;**
<a id="p115838"></a>(*
<a id="p115839"></a>Определения аргументов:
<a id="p115840"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p115841"></a>Формальные высказывания:
<a id="p115842"></a>WR1: Для каждого экземпляра объекта property_definition, на который приведена ссылка из объекта applied_classification_assignment, где у объекта assigned_class имеется атрибут name со значением 'moulded form characteristics definition', 'moulded form functional definition', 'local co ordinate system', 'spacing table', 'hydrostatic definition', 'stability definition', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

###### <a id="p115843"></a>5.2.4.90 Правило representation_for_appendage_moulded_form_design_parameter

<a id="p115844"></a>Правило representation_for_appendage_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'appendage moulded form design parameter'.
<a id="p115845"></a>EXPRESS-спецификация:
<a id="p115846"></a>*)
<a id="p115847"></a>RULE representation_for_appendage_moulded_form_design_parameter
<a id="p115848"></a>FOR (representation);
<a id="p115849"></a>  LOCAL
<a id="p115850"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p115851"></a>    arg_list: LIST OF STRING := ['appendage length','appendage breadth',
<a id="p115852"></a>                                'appendage depth','type of appendage'];
<a id="p115853"></a>    violation: LOGICAL := FALSE;
<a id="p115854"></a>  END_LOCAL;

<a id="p115855"></a>  (* find all  instances of representation which are used by a property_
definition_representation with name equal TO 'appendage moulded form design
parameter' *)
<a id="p115856"></a>  reps := QUERY(
<a id="p115857"></a>    temp_rep <* representation |
<a id="p115858"></a>      SIZEOF (
<a id="p115859"></a>        QUERY(
<a id="p115860"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+**
          'USED_REPRESENTATION'))
<a id="p115861"></a>          | (temp_prop_def_rep.name =
<a id="p115862"></a>          'appendage moulded form design parameter')
<a id="p115863"></a>            )
<a id="p115864"></a>          ) > 0
<a id="p115865"></a>        );
<a id="p115866"></a>  (* iterate over all representations found above; stop, if one of *)
<a id="p115867"></a>  (* them has not exactly one rep_item with for each name of the arg_list *)
<a id="p115868"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p115869"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115870"></a>    violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p115871"></a>                  rep_item.name = arg_list[j])) <> 1);
<a id="p115872"></a>    END_REPEAT;
<a id="p115873"></a>  END_REPEAT;

<a id="p115874"></a>  WHERE
<a id="p115875"></a>    wr1: NOT violation;
<a id="p115876"></a>**END_RULE;**
<a id="p115877"></a>(*
<a id="p115878"></a>Определения аргументов:
<a id="p115879"></a>representation: набор всех экземпляров объектов representation.
<a id="p115880"></a>Формальные высказывания:
<a id="p115881"></a>WR1: Каждый объект property_definition_representation с name = 'appendage moulded form design parameter', должен использовать объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим одно из значений: 'appendage length', 'appendage breadth', 'appendage depth' или 'type of appendage'.

###### <a id="p115882"></a>5.2.4.91 Правило representation_for_bottom_moulded_form_design_parameter

<a id="p115883"></a>Правило representation_for_bottom_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'bottom moulded form design parameter'.
<a id="p115884"></a>EXPRESS-спецификация:
<a id="p115885"></a>*)
<a id="p115886"></a>RULE representation_for_bottom_moulded_form_design_parameter
<a id="p115887"></a>FOR (representation);
<a id="p115888"></a>  LOCAL
<a id="p115889"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p115890"></a>    arg_list: LIST OF STRING := ['bilge radius','rise of floor','aft end of flat
of bottom','front end of flat of bottom','flat of bottom breadth','rake of keel'];
<a id="p115891"></a>    violation: LOGICAL := FALSE;
<a id="p115892"></a>  END_LOCAL;

<a id="p115893"></a>  (* find all instances of representation which are used by a property_definition_
representation with name equal to 'bottom moulded form design parameter' *)
<a id="p115894"></a>  reps := QUERY(
<a id="p115895"></a>    temp_rep <* representation |
<a id="p115896"></a>      SIZEOF (
<a id="p115897"></a>        QUERY(
<a id="p115898"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p115899"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))**
<a id="p115900"></a>          | (temp_prop_def_rep.name = 'bottom moulded form design parameter')
<a id="p115901"></a>        )
<a id="p115902"></a>      ) > 0
<a id="p115903"></a>    );

<a id="p115904"></a>  (* iterate over all representations found above; stop, if one of them has not
exactly one rep_item with for each name of the arg_list *)
<a id="p115905"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p115906"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115907"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p115908"></a>                    rep_item.name = arg_list[j])) <> 1);
<a id="p115909"></a>    END_REPEAT;
<a id="p115910"></a>  END_REPEAT;

<a id="p115911"></a>  WHERE
<a id="p115912"></a>    wr1: NOT violation;
<a id="p115913"></a>**END_RULE;**
<a id="p115914"></a>(*
<a id="p115915"></a>Определения аргументов:
<a id="p115916"></a>representation: набор всех экземпляров объектов representation.
<a id="p115917"></a>Формальные высказывания:
<a id="p115918"></a>WR1: Для каждого объекта property_definition_representation с name = 'bottom moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим одно из значений: 'bilge radius', 'rise of floor', 'aft end of flat of bottom', 'front end of flat of bottom', 'flat of bottom breadth', 'rake of keel'.

###### <a id="p115919"></a>5.2.4.92 Правило representation_for_bulb_moulded_form_design_parameter

<a id="p115920"></a>Правило representation_for_bulb_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'bulb moulded form design parameter'.
<a id="p115921"></a>EXPRESS-спецификация:
<a id="p115922"></a>*)
<a id="p115923"></a>RULE representation_for_bulb_moulded_form_design_parameter
<a id="p115924"></a>FOR (representation);
<a id="p115925"></a>  LOCAL
<a id="p115926"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p115927"></a>    arg_list: LIST OF STRING := ['bulb length','bulb length from pp','bulb
breadth','bulb breadth pp','bulb depth','bulb depth pp','bulb frame section area
at pp','bulb location'];
<a id="p115928"></a>    violation: LOGICAL := FALSE;
<a id="p115929"></a>  END_LOCAL;

<a id="p115930"></a>  (* find all instances of representation which are used by a property_definition_
representation with name equal to 'bulb moulded form design parameter' *)
<a id="p115931"></a>  reps := QUERY(
<a id="p115932"></a>    temp_rep <* representation |
<a id="p115933"></a>      SIZEOF (
<a id="p115934"></a>        QUERY(
<a id="p115935"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p115936"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))**
<a id="p115937"></a>          | (temp_prop_def_rep.name = 'bulb moulded form design parameter')
<a id="p115938"></a>        )
<a id="p115939"></a>      ) > 0
<a id="p115940"></a>    );

<a id="p115941"></a>  (* iterate over all representations found above; stop, if one of them has not
exactly one rep_item with for each name of the arg_list *)
<a id="p115942"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p115943"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115944"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p115945"></a>                    rep_item.name = arg_list[j])) <> 1);
<a id="p115946"></a>    END_REPEAT;
<a id="p115947"></a>  END_REPEAT;

<a id="p115948"></a>  WHERE
<a id="p115949"></a>wr1: NOT violation;
<a id="p115950"></a>**END_RULE;**
<a id="p115951"></a>(*
<a id="p115952"></a>Определения аргументов:
<a id="p115953"></a>representation: набор всех экземпляров объектов representation.
<a id="p115954"></a>Формальные высказывания:
<a id="p115955"></a>WR1: Для каждого объекта property_definition_representation с name = 'bulb moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим одно из значений: 'bulb length', 'bulb length from pp', 'bulb breadth', 'bulb breadth pp', 'bulb depth', 'bulb depth pp', 'bulb frame section area at pp' или 'bulb location'.

###### <a id="p115956"></a>5.2.4.93 Правило representation_for_class_and_statutory_designation

<a id="p115957"></a>Правило representation_for_class_and_statutory_designation определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'class and statutory designation'.
<a id="p115958"></a>EXPRESS-спецификация:
<a id="p115959"></a>*)
<a id="p115960"></a>**RULE**
<a id="p115961"></a>representation_for_class_and_statutory_designation
<a id="p115962"></a>FOR (representation);
<a id="p115963"></a>  LOCAL
<a id="p115964"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p115965"></a>    arg_list: LIST OF STRING := ['class number'];
<a id="p115966"></a>    violation: LOGICAL := FALSE;
<a id="p115967"></a>  END_LOCAL;

<a id="p115968"></a>  reps := QUERY(
<a id="p115969"></a>    temp_rep <* representation |
<a id="p115970"></a>      SIZEOF (
<a id="p115971"></a>        QUERY(
<a id="p115972"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p115973"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+**
<a id="p115974"></a>          'USED_REPRESENTATION'))
<a id="p115975"></a>          | (temp_prop_def_rep.name =
<a id="p115976"></a>          'class and statutory designation')
<a id="p115977"></a>        )
<a id="p115978"></a>      ) >0
<a id="p115979"></a>    );

<a id="p115980"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p115981"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p115982"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p115983"></a>      rep_item.name = arg_list[j])) <> 1);
<a id="p115984"></a>    END_REPEAT;
<a id="p115985"></a>  END_REPEAT;
<a id="p115986"></a>  WHERE
<a id="p115987"></a>    wr1: NOT violation;
<a id="p115988"></a>**END_RULE;**
<a id="p115989"></a>(*
<a id="p115990"></a>Определения аргументов:
<a id="p115991"></a>representation: набор всех экземпляров объектов representation.
<a id="p115992"></a>Формальные высказывания:
<a id="p115993"></a>WR1: Для каждого объекта property_definition_representation с name = 'class and statutory designation' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name) со значением 'class number'.

###### <a id="p115994"></a>5.2.4.94 Правило representation_for_deck_moulded_form_design_parameter

<a id="p115995"></a>Правило representation_for_deck_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'deck moulded form design parameter'.
<a id="p115996"></a>EXPRESS-спецификация:
<a id="p115997"></a>*)
<a id="p115998"></a>RULE representation_for_deck_moulded_form_design_parameter
<a id="p115999"></a>FOR (representation);
<a id="p116000"></a>  LOCAL
<a id="p116001"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116002"></a>    arg_list: LIST OF STRING := ['camber','sheer at ap','sheer at fp'];
<a id="p116003"></a>    violation: LOGICAL := FALSE;
<a id="p116004"></a>  END_LOCAL;

<a id="p116005"></a>  (* find all instances of representation which are used by a property_definition_
representation with name equal to 'deck moulded form design parameter' *)
<a id="p116006"></a>  reps := QUERY(
<a id="p116007"></a>    temp_rep <* representation |
<a id="p116008"></a>      SIZEOF (
<a id="p116009"></a>        QUERY(
<a id="p116010"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116011"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))**
<a id="p116012"></a>          | (temp_prop_def_rep.name = 'deck moulded form design parameter')
<a id="p116013"></a>        )
<a id="p116014"></a>      )>0
<a id="p116015"></a>    );

<a id="p116016"></a>  (* iterate over all representations found above; stop, if one of them has not
exactly one rep_item with for each name of the arg list *)
<a id="p116017"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p116018"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116019"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116020"></a>        rep_item.name = arg_list[j])) <> 1);
<a id="p116021"></a>    END_REPEAT;
<a id="p116022"></a>  END_REPEAT;

<a id="p116023"></a>  WHERE
<a id="p116024"></a>    wr1: NOT violation;
<a id="p116025"></a>**END_RULE;**
<a id="p116026"></a>(*
<a id="p116027"></a>Определения аргументов:
<a id="p116028"></a>representation: набор всех экземпляров объектов representation.
<a id="p116029"></a>Формальные высказывания:
<a id="p116030"></a>WR1: Для каждого объекта property_definition_representation с name = 'deck moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим одно из значений: 'camber', 'sheer at ap, 'sheer at fp'.

###### <a id="p116031"></a>5.2.4.95 Правило representation_for_global_axis_placement

<a id="p116032"></a>Правило representation_for_global_axis_placement определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'global axis placement'.
<a id="p116033"></a>EXPRESS-спецификация:
<a id="p116034"></a>*)
<a id="p116035"></a>RULE representation_for_global_axis_placement
<a id="p116036"></a>FOR (representation);
<a id="p116037"></a>  LOCAL
<a id="p116038"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116039"></a>    arg_list: LIST OF STRING := ['global axes and origin',
<a id="p116040"></a>                                'after perpendicular offset', 'orientation'];
<a id="p116041"></a>    violation: LOGICAL := FALSE;
<a id="p116042"></a>  END_LOCAL;

<a id="p116043"></a>  reps := QUERY(
<a id="p116044"></a>    temp_rep <* representation |
<a id="p116045"></a>      SIZEOF (
<a id="p116046"></a>        QUERY(
<a id="p116047"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116048"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p116049"></a>          | (temp_prop_def_rep.name = 'global axis placement')
<a id="p116050"></a>        )
<a id="p116051"></a>      ) > 0
<a id="p116052"></a>    );

<a id="p116053"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p116054"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116055"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116056"></a>           rep_item.name = arg_list[j])) <> 1);
<a id="p116057"></a>    END_REPEAT;
<a id="p116058"></a>  END_REPEAT;
<a id="p116059"></a>  WHERE
<a id="p116060"></a>    wr1: NOT violation;
<a id="p116061"></a>**END_RULE;**
<a id="p116062"></a>(*
<a id="p116063"></a>Определения аргументов:
<a id="p116064"></a>representation: набор всех экземпляров объектов representation.
<a id="p116065"></a>Формальные высказывания:
<a id="p116066"></a>WR1: Для каждого объекта property_definition_representation с name = 'global axis placement' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим одно из значений: 'global axes and origin', 'after perpendicular offset' или 'orientation'.

###### <a id="p116067"></a>5.2.4.96 Правило representation_for_hull_moulded_form_design_parameter

<a id="p116068"></a>Правило representation_for_hull_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'hull moulded form design parameter'.
<a id="p116069"></a>EXPRESS-спецификация:
<a id="p116070"></a>*)
<a id="p116071"></a>RULE representation_for_hull_moulded_form_design_parameter
<a id="p116072"></a>FOR (representation);
<a id="p116073"></a>  LOCAL
<a id="p116074"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116075"></a>    arg_list: LIST OF STRING := ['aft end of parallel midbody at design draught',
'front end of parallel midbody at design draught', 'aft end of flat of side',
'front end of flat of side', 'block coefficient', 'prismatic coefficient', 'max
wetted frame section area', 'waterplane coefficient'];
<a id="p116076"></a>    violation: LOGICAL := FALSE;
<a id="p116077"></a>  END_LOCAL;

<a id="p116078"></a>  (* find all instances of representation which are used by a property_definition_
representation with name equal to 'hull moulded form design parameter' *)
<a id="p116079"></a>  reps := QUERY(
<a id="p116080"></a>    temp_rep <* representation |
<a id="p116081"></a>      SIZEOF (
<a id="p116082"></a>        QUERY(
<a id="p116083"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116084"></a>  'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))
<a id="p116085"></a>          | (temp_prop_def_rep.name = 'hull moulded form design parameter')
<a id="p116086"></a>        )
<a id="p116087"></a>      ) > 0
<a id="p116088"></a>    );

<a id="p116089"></a>  (* iterate over all representations found above; stop, if one of them has not
exactly one rep_item with for each name of the arg_list *)
<a id="p116090"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p116091"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116092"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116093"></a>        rep_item.name = arg_list[j])) <> 1);
<a id="p116094"></a>    END_REPEAT;
<a id="p116095"></a>  END_REPEAT;
<a id="p116096"></a>  WHERE
<a id="p116097"></a>wr1: NOT violation;
<a id="p116098"></a>**END_RULE;**
<a id="p116099"></a>(*
<a id="p116100"></a>Определения аргументов:
<a id="p116101"></a>representation: набор всех экземпляров объектов representation.
<a id="p116102"></a>Формальные высказывания:
<a id="p116103"></a>WR1: Для каждого объекта property_definition_representation с name = 'hull moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим одно из значений: 'aft end of parallel midbody at design draught', 'front end of parallel midbody at design draught', 'aft end of flat of side', 'front end of flat of side', 'block coefficient', 'prismatic coefficient', 'max wetted frame section area' и 'waterplane coefficient'.

###### <a id="p116104"></a>5.2.4.97 Правило representation_for_hydrostatic_table_constrained

<a id="p116105"></a>Правило representation_for_hydrostatic_table_constrained определяет наличие для атрибута items объекта representation с идентификатором класса 'hydrostatic table' одного или более объектов representation_items с идентификатором класса 'hydrostatic properties for constant floating position'.
<a id="p116106"></a>EXPRESS-спецификация:
<a id="p116107"></a>*)
<a id="p116108"></a>RULE representation_for_hydrostatic_table_constrained
<a id="p116109"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116110"></a>**LOCAL**
<a id="p116111"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p116112"></a>    c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p116113"></a>    t1_set: SET OF representation := [];
<a id="p116114"></a>    t2_set: SET OF representation_item := [];
<a id="p116115"></a>    t3_set: SET OF representation_item := [];
<a id="p116116"></a>    violation: LOGICAL := FALSE;
<a id="p116117"></a>  END_LOCAL;

<a id="p116118"></a>  (* get all classification_assignment instances with id 'hydrostatic table' *)
<a id="p116119"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116120"></a>                   i.ASSIGNED_CLASS.NAME = 'hydrostatic table');

<a id="p116121"></a>  (* get all instances of representation that have class id 'hydrostatic table' *)
<a id="p116122"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116123"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116124"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116125"></a>    END_REPEAT;
<a id="p116126"></a>  END_REPEAT;

<a id="p116127"></a>(* get all classification_assignment instances with id 'hydrostatic properties
for constant floating position' *)
<a id="p116128"></a>  c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116129"></a>i.ASSIGNED_CLASS.NAME = 'hydrostatic properties for constant floating position');

<a id="p116130"></a>  (* get all instances of representation_item that have class id 'hydrostatic
properties for constant floating position' *)
<a id="p116131"></a>  REPEAT i := 1 TO HIINDEX(c2_a_set);
<a id="p116132"></a>    REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);
<a id="p116133"></a>      t2_set := t2_set + c2_a_set[i].items[j];
<a id="p116134"></a>    END_REPEAT;
<a id="p116135"></a>  END_REPEAT;

<a id="p116136"></a>(* get all representation_item instances which are the .items of the representation
instances that have class id 'hydrostatic table' *)
<a id="p116137"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116138"></a>    REPEAT j := 1 TO HIINDEX(t1_set[i].items);
<a id="p116139"></a>(* compare both lists with representation_item instances and the intersection
has to be greater 0 *)
<a id="p116140"></a>      t3_set := t3_set + t1_set[i].items[j];
<a id="p116141"></a>    END_REPEAT;
<a id="p116142"></a>    violation := (SIZEOF(t3_set* t2_set) < 1);
<a id="p116143"></a>    t3_set := [];
<a id="p116144"></a>  END_REPEAT;

<a id="p116145"></a>**WHERE**
<a id="p116146"></a>  wr1: NOT violation;
<a id="p116147"></a>**END_RULE;**
<a id="p116148"></a>(*
<a id="p116149"></a>Определения аргументов:
<a id="p116150"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116151"></a>Формальные высказывания:
<a id="p116152"></a>WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_assignment, где атрибут assigned_class.name имеет значение 'hydrostatic table', должен собирать хотя бы один экземпляр объекта representation_item, содержащий объект applied_classification_assignment, где assigned_class.name имеет значение 'hydrostatic properties for constant floating position'.

###### <a id="p116153"></a>5.2.4.98 Правило representation_for_hydrostatic_table_restricted

<a id="p116154"></a>Правило representation_for_hydrostatic_table_restricted определяет наличие для атрибута items объекта representation с идентификатором класса id 'hydrostatic table' одного или более объектов representation_items с идентификатором класса 'hydrostatic property'.
<a id="p116155"></a>EXPRESS-спецификация:
<a id="p116156"></a>*)
<a id="p116157"></a>RULE representation_for_hydrostatic_table_restricted
<a id="p116158"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116159"></a>**LOCAL**
<a id="p116160"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p116161"></a>    c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p116162"></a>    t1_set: SET OF representation := [];
<a id="p116163"></a>    t2_set: SET OF representation_item := [];
<a id="p116164"></a>    t3_set: SET OF representation_item := [];
<a id="p116165"></a>    violation: LOGICAL := FALSE;
<a id="p116166"></a>  END_LOCAL;

<a id="p116167"></a>  (* get all classification_assignment instances with id 'hydrostatic table' *)
<a id="p116168"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116169"></a>                   i.ASSIGNED_CLASS.NAME = 'hydrostatic table');

<a id="p116170"></a>  (* get all instances of representation that have class id 'hydrostatic table' *)
<a id="p116171"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116172"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116173"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116174"></a>    END_REPEAT;
<a id="p116175"></a>  END_REPEAT;

<a id="p116176"></a>(* get all classification_assignment instances with id 'hydrostatic property' *)
<a id="p116177"></a>  c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116178"></a>                   i.ASSIGNED_CLASS.NAME = 'hydrostatic property');

<a id="p116179"></a>  (* get all instances of representation_item that have class id 'hydrostatic property' *)
<a id="p116180"></a>  REPEAT i := 1 TO HIINDEX(c2_a_set);
<a id="p116181"></a>    REPEAT j := 1 ТО HIINDEX(c2_a_set[i].items);
<a id="p116182"></a>      t2_set := t2_set + c2_a_set[i].items[j];
<a id="p116183"></a>    END_REPEAT;
<a id="p116184"></a>  END_REPEAT;

<a id="p116185"></a>(* get all representation_item instances which are the .items of the representation
instances that have class id 'hydrostatic table' *)
<a id="p116186"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116187"></a>    REPEAT j := 1 TO HIINDEX(t1_set[i].items);
<a id="p116188"></a>(* compare both lists with representation_item instances and the intersection
has to be greater 0 *)
<a id="p116189"></a>      t3_set := t3_set + t1_set[i].items[j];
<a id="p116190"></a>    END_REPEAT;
<a id="p116191"></a>    violation := (SIZEOF(t3_set* t2_set) < 1);
<a id="p116192"></a>    t3_set := [];
<a id="p116193"></a>  END_REPEAT;

<a id="p116194"></a>**WHERE**
<a id="p116195"></a>  wr1: NOT violation;
<a id="p116196"></a>**END_RULE;**
<a id="p116197"></a>(*
<a id="p116198"></a>Определения аргументов:
<a id="p116199"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116200"></a>Формальные высказывания:
<a id="p116201"></a>WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_assignment, где атрибут assigned_ciass.name имеет значение 'hydrostatic table', должен собирать хотя бы один экземпляр объекта representation_item, содержащий объект applied_classification_assignment, где assigned_class.name имеет значение 'hydrostatic property'.

###### <a id="p116202"></a>5.2.4.99 Правило representation_for_hydrostatic_table_restricted_by_class_id

<a id="p116203"></a>Правило representation_for_hydrostatic_table_restricted_by_class_id определяет наличие у атрибута items объекта representation с идентификатором класса 'hydrostatic table' для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p116204"></a>EXPRESS-спецификация:
<a id="p116205"></a>*)
<a id="p116206"></a>RULE representation_for_hydrostatic_table_restricted_by_class_id
<a id="p116207"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116208"></a>  LOCAL
<a id="p116209"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p116210"></a>    t1_set: SET OF REPRESENTATION := [];
<a id="p116211"></a>    arg_list: LIST OF STRING := ['mean shell thickness'];
<a id="p116212"></a>    violation: LOGICAL := FALSE;
<a id="p116213"></a>  END_LOCAL;

<a id="p116214"></a>  (* get all classification_assignment instances with id 'hydrostatic table' *)
<a id="p116215"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116216"></a>           i.ASSIGNED_CLASS.NAME = 'hydrostatic table');

<a id="p116217"></a>  (* get all instances of representation that have class id 'hydrostatic table' *)
<a id="p116218"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116219"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116220"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116221"></a>    END_REPEAT;
<a id="p116222"></a>  END_REPEAT;

  (* iterate over all representation instances found above; stop, if one of them
has not exactly one rep_item for each name in the arg_list *)
<a id="p116223"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116224"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116225"></a>      violation := (SIZEOF(QUERY(rep_item <* t1_set[i].items |
<a id="p116226"></a>                           rep_item.name = arg_list[j])) <> 1);
<a id="p116227"></a>    END_REPEAT;
<a id="p116228"></a>  END_REPEAT;

<a id="p116229"></a>  WHERE
<a id="p116230"></a>    wr1: NOT violation;
<a id="p116231"></a>**END_RULE;**
<a id="p116232"></a>(*
<a id="p116233"></a>Определения аргументов:
<a id="p116234"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116235"></a>Формальные высказывания:
<a id="p116236"></a>WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_assignment, значение атрибута assigned_class.name которого равно 'hydrostatic table', должен собирать для каждого из значений 'mean shell thickness' только один экземпляр объекта representation_item в своем атрибуте items, значение атрибута name которого равно этому значению.

###### <a id="p116237"></a>5.2.4.100 Правило representation_for_local_coordinate_system

<a id="p116238"></a>Правило representation_for_local_coordinate_system определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'local coordinate system'.
<a id="p116239"></a>EXPRESS-спецификация:
<a id="p116240"></a>*)
<a id="p116241"></a>RULE representation_for_local_coordinate_system
<a id="p116242"></a>FOR (representation);
<a id="p116243"></a>  LOCAL
<a id="p116244"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116245"></a>    arg_list: LIST OF STRING := ['local axes and origin'];
<a id="p116246"></a>    violation: LOGICAL := FALSE;
<a id="p116247"></a>  END_LOCAL;

<a id="p116248"></a>  reps := QUERY(
<a id="p116249"></a>    temp_rep <* representation |
<a id="p116250"></a>      SIZEOF (
<a id="p116251"></a>        QUERY(
<a id="p116252"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116253"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p116254"></a>          | (temp_prop_def_rep.name = 'local coordinate system')
<a id="p116255"></a>        )
<a id="p116256"></a>      ) > 0
<a id="p116257"></a>    );
<a id="p116258"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p116259"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116260"></a>    violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116261"></a>                              rep_item.name = arg_list[j])) <> 1);
<a id="p116262"></a>    END_REPEAT;
<a id="p116263"></a>  END_REPEAT;
<a id="p116264"></a>  WHERE
<a id="p116265"></a>    wr1: NOT violation;
<a id="p116266"></a>**END_RULE;**
<a id="p116267"></a>(*
<a id="p116268"></a>Определения аргументов:
<a id="p116269"></a>representation: набор всех экземпляров объектов representation
<a id="p116270"></a>Формальные высказывания:
<a id="p116271"></a>WR1: Для каждого объекта property_definition_representation с name = 'local coordinate system' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name) со значением 'local axes and origin'.

###### <a id="p116272"></a>5.2.4.101 Правило representation_of_local_coordinate_system_with_position_reference

<a id="p116273"></a>Правило representation_of_local_coordinate_system_with_position_reference определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'local coordinate system with position reference'.
<a id="p116274"></a>EXPRESS-спецификация:
<a id="p116275"></a>*)
<a id="p116276"></a>**RULE**
<a id="p116277"></a>representation_of_local_coordinate_system_with_position_reference
<a id="p116278"></a>FOR (representation);
<a id="p116279"></a>  LOCAL
<a id="p116280"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116281"></a>    arg_list: LIST OF STRING := ['local axes and origin'];
<a id="p116282"></a>    violation: LOGICAL := FALSE;
<a id="p116283"></a>  END_LOCAL;

<a id="p116284"></a>  reps := QUERY(
<a id="p116285"></a>    temp_rep <* representation |
<a id="p116286"></a>      SIZEOF (
<a id="p116287"></a>        QUERY(
<a id="p116288"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116289"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p116290"></a>          | (temp_prop_def_rep.name =
<a id="p116291"></a>          'local coordinate system with position reference')
<a id="p116292"></a>        )
<a id="p116293"></a>      ) > 0
<a id="p116294"></a>    );

<a id="p116295"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p116296"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116297"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116298"></a>                                  rep_item.name = arg_list[j])) <> 1);
<a id="p116299"></a>    END_REPEAT;
<a id="p116300"></a>  END_REPEAT;
<a id="p116301"></a>  WHERE
<a id="p116302"></a>    wr1: NOT violation;
<a id="p116303"></a>**END_RULE;**
<a id="p116304"></a>(*
<a id="p116305"></a>Определения аргументов:
<a id="p116306"></a>representation: набор всех экземпляров объектов representation.
<a id="p116307"></a>Формальные высказывания:
<a id="p116308"></a>WR1: Для каждого объекта property_definition_representation с name = 'local coordinate system with position reference' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name) со значением 'local axes and origin'.

###### <a id="p116309"></a>5.2.4.102 Правило representation_for_midship_tumble_restricted_by_class_id

<a id="p116310"></a>Правило representation_for_midship_tumble_restricted_by_class_id определяет наличие у атрибута item объекта representation с идентификатором класса 'midship tumble' для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p116311"></a>EXPRESS-спецификация:
<a id="p116312"></a>*)
<a id="p116313"></a>RULE representation_for_midship_tumble_restricted_by_class_id
<a id="p116314"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116315"></a>  LOCAL
<a id="p116316"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p116317"></a>    t1_set: SET OF REPRESENTATION := [];
<a id="p116318"></a>    arg_list: LIST OF STRING := ['tumble out at bottom', 'tumble in at top',
'tumble out at side', 'tumble in at side'];
<a id="p116319"></a>    violation: LOGICAL := FALSE;
<a id="p116320"></a>  END_LOCAL;

<a id="p116321"></a>  (* get all classification_assignment instances with id 'midship tumble' *)
<a id="p116322"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116323"></a>                   i.ASSIGNED_CLASS.NAME = 'midship tumble');

<a id="p116324"></a>  (* get all instances of representation that have class id 'midship tumble' *)
<a id="p116325"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116326"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116327"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116328"></a>    END_REPEAT;
<a id="p116329"></a>  END_REPEAT;

<a id="p116330"></a>  (* iterate over all representation instances found above; stop, if one of them
has not exactly one rep_item for each name in the arg_list *)
<a id="p116331"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116332"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116333"></a>      violation := (SIZEOF(QUERY(rep_item <* t1_set[i].items |
<a id="p116334"></a>                                rep_item.name = arg_list[j])) <> 1);
<a id="p116335"></a>    END_REPEAT;
<a id="p116336"></a>  END_REPEAT;

<a id="p116337"></a>  WHERE
<a id="p116338"></a>    wr1: NOT violation;
<a id="p116339"></a>**END_RULE;**
<a id="p116340"></a>(*
<a id="p116341"></a>Определения аргументов:
<a id="p116342"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116343"></a>Формальные высказывания:
<a id="p116344"></a>WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_assignment, значение атрибута assigned_class.name которого равно 'midship tumble', должен для каждого из значений: 'tumble out at bottom', 'tumble in at top', 'tumble out at side' или 'tumble in at side' собирать только один экземпляр объекта representation_item в своем атрибуте items, значение атрибута name которого равно этому значению.

###### <a id="p116345"></a>5.2.4.103 Правило representation_for_moulded_form_function_parameters

<a id="p116346"></a>Правило representation_for_moulded_form_function_parameters определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'moulded form function parameters'.
<a id="p116347"></a>EXPRESS-спецификация:
<a id="p116348"></a>*)
<a id="p116349"></a>RULE representation_for_moulded_form_function_parameters
<a id="p116350"></a>FOR (representation);
<a id="p116351"></a>  LOCAL
<a id="p116352"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116353"></a>    arg_list: LIST OF STRING := ['function'];
<a id="p116354"></a>    violation: LOGICAL := FALSE;
<a id="p116355"></a>  END_LOCAL;
<a id="p116356"></a>  (* find  all instances of representation which are used by a property_definition_
representation with name equal to 'moulded form function parameters' *)
<a id="p116357"></a>  reps := QUERY(
<a id="p116358"></a>    temp_rep <* representation |
<a id="p116359"></a>      SIZEOF (
<a id="p116360"></a>        QUERY(
<a id="p116361"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116362"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))**
<a id="p116363"></a>          | (temp_prop_def_rep.name = 'moulded form function parameters')
<a id="p116364"></a>        )
<a id="p116365"></a>      ) > 0
<a id="p116366"></a>    );

<a id="p116367"></a>  (* iterate over all representations found above; stop, if one of them has not
exactly one rep_item with for each name of the arg_list *)
<a id="p116368"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p116369"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116370"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116371"></a>                                rep_item.name = arg_list[j])) <> 1);
<a id="p116372"></a>    END_REPEAT;
<a id="p116373"></a>  END_REPEAT;

<a id="p116374"></a>  WHERE
<a id="p116375"></a>    wr1: NOT violation;
<a id="p116376"></a>**END_RULE;**
<a id="p116377"></a>(*
<a id="p116378"></a>Определения аргументов:
<a id="p116379"></a>representation: набор всех экземпляров объектов representation.
<a id="p116380"></a>Формальные высказывания:
<a id="p116381"></a>WR1: Для каждого объекта property_definition_representation с name = 'moulded form function parameters' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name) со значением 'function'.

###### <a id="p116382"></a>5.2.4.104 Правило representation_for_offset_point_table_model_for_point

<a id="p116383"></a>Правило representation_for_offset_point_table_model_for_point определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'section of offset point table' в объекте list_representation_item для каждой записи в перечне одного или более объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p116384"></a>EXPRESS-спецификация:
<a id="p116385"></a>*)
<a id="p116386"></a>RULE representation_for_offset_point_table_model_for_point
<a id="p116387"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116388"></a>  LOCAL
<a id="p116389"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p116390"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p116391"></a>    t2_set: SET OF representation_item := [];
<a id="p116392"></a>    arg_list: LIST OF STRING := ['section point'];
<a id="p116393"></a>    violation: LOGICAL := FALSE;
<a id="p116394"></a>  END_LOCAL;

<a id="p116395"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116396"></a>                   i.ASSIGNED_CLASS.NAME = 'section of offset point table');
<a id="p116397"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116398"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116399"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116400"></a>    END_REPEAT;
<a id="p116401"></a>  END_REPEAT;

<a id="p116402"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not one or more rep_item for each name in the arg_list *)
<a id="p116403"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116404"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116405"></a>      t2_set := t1_set[i].item_element;
<a id="p116406"></a>      violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) < 1);
<a id="p116407"></a>    END_REPEAT;
<a id="p116408"></a>  END_REPEAT;
<a id="p116409"></a>  WHERE
<a id="p116410"></a>    wr1: NOT violation;
<a id="p116411"></a>**END_RULE;**
<a id="p116412"></a>(*
<a id="p116413"></a>Определения аргументов:
<a id="p116414"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116415"></a>Формальные высказывания:
<a id="p116416"></a>WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_classification_assignment со значением атрибута assigned_class.name, равным 'section of offset point table', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из следующих значений: 'section point' забирать один или более экземпляров объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p116417"></a>5.2.4.105 Правило representation_for_offset_point_table_model_for_section

<a id="p116418"></a>Правило representation_for_offset_point_table_model_for_section определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'offset point table model' в объекте list_representation_item для каждой записи в перечне одного или более объектов representation_item, значение атрибута name которого указано в этом перечне.
<a id="p116419"></a>EXPRESS-спецификация:
<a id="p116420"></a>*)
<a id="p116421"></a>RULE representation_for_offset_point_table_model_for_section
<a id="p116422"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116423"></a>**LOCAL**
<a id="p116424"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p116425"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p116426"></a>    t2_set: SET OF representation_item := [];
<a id="p116427"></a>    arg_list: LIST OF STRING := ['offset point table section'];
<a id="p116428"></a>    violation: LOGICAL := FALSE;
<a id="p116429"></a>  END_LOCAL;

<a id="p116430"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116431"></a>                   i.ASSIGNED_CLASS.NAME = 'offset point table model');

<a id="p116432"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116433"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116434"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116435"></a>    END_REPEAT;
<a id="p116436"></a>  END_REPEAT;

<a id="p116437"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not one or more rep_item for each name in the arg_list *)
<a id="p116438"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116439"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116440"></a>      t2_set := t1_set[i].item_element;
<a id="p116441"></a>      violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) < 1);
<a id="p116442"></a>    END_REPEAT;
<a id="p116443"></a>  END_REPEAT;
<a id="p116444"></a>  WHERE
<a id="p116445"></a>    wr1: NOT violation;
<a id="p116446"></a>**END_RULE;**
<a id="p116447"></a>(*
<a id="p116448"></a>Определения аргументов:
<a id="p116449"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116450"></a>Формальные высказывания:
<a id="p116451"></a>WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_classification_assignment со значением атрибута assigned_class.name, равным 'offset point table model', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'offset point table section' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p116452"></a>5.2.4.106 Правило representation_for_offset_table_shape_representation_restricted

<a id="p116453"></a>Правило representation_for_offset_table_shape_representation_restricted определяет наличие для атрибута items объекта representation с идентификатором класса 'offset table shape representation' одного или более объектов representation_items с идентификатором класса 'offset point table model'.
<a id="p116454"></a>EXPRESS-спецификация:
<a id="p116455"></a>*)
<a id="p116456"></a>RULE representation_for_offset_table_shape_representation_restricted
<a id="p116457"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116458"></a>**LOCAL**
<a id="p116459"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p116460"></a>    c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p116461"></a>    t1_set: SET OF representation := [];
<a id="p116462"></a>    t2_set: SET OF representation_item := [];
<a id="p116463"></a>    t3_set: SET OF representation_item := [];
<a id="p116464"></a>    violation: LOGICAL := FALSE;
<a id="p116465"></a>  END_LOCAL;

<a id="p116466"></a>  (* get all classification_assignment instances with id 'offset table shape
representation' *)
<a id="p116467"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116468"></a>                   i.ASSIGNED_CLASS.NAME = 'offset table shape representation');

<a id="p116469"></a>  (* get all instances of representation that have class id 'offset table
<a id="p116470"></a>shape representation' *)
<a id="p116471"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116472"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116473"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116474"></a>    END_REPEAT;
<a id="p116475"></a>  END_REPEAT;

<a id="p116476"></a>  (* get all classification_assignment instances with id 'offset point table
model' *)
<a id="p116477"></a>  c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116478"></a>                   i.ASSIGNED_CLASS.NAME = 'offset point table model');

<a id="p116479"></a>  (* get all instances of representation_item that have class id 'offset point
table model' *)
<a id="p116480"></a>  REPEAT i := 1 TO HIINDEX(c2_a_set);
<a id="p116481"></a>    REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);
<a id="p116482"></a>      t2_set := t2_set + c2_a_set[i].items[j];
<a id="p116483"></a>    END_REPEAT;
<a id="p116484"></a>  END_REPEAT;

<a id="p116485"></a>  (* get all representation_item instances which are the .items of the representation
instances that have class id 'offset table shape representation' *)
<a id="p116486"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116487"></a>    REPEAT j := 1 TO HIINDEX(t1_set[i].items);
<a id="p116488"></a>    (* compare both lists with representation_item instances and the
intersection has to be greater than 0 *)
<a id="p116489"></a>      t3_set := t3_set + t1_set[i].items[j];
<a id="p116490"></a>    END_REPEAT;
<a id="p116491"></a>    violation := (SIZEOF(t3_set* t2_set) < 1);
<a id="p116492"></a>    t3_set:= [];
<a id="p116493"></a>  END_REPEAT;

<a id="p116494"></a>**WHERE**
<a id="p116495"></a>  wr1: NOT violation;

<a id="p116496"></a>**END_RULE;**
<a id="p116497"></a>(*
<a id="p116498"></a>Определения аргументов:
<a id="p116499"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116500"></a>Формальные высказывания:
<a id="p116501"></a>WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_assignment, где атрибут assigned_class.name имеет значение 'offset table shape representation', должен собирать хотя бы один экземпляр объекта representation_item, содержащий объект applied_classification_assignment, где assigned_class.name имеет значение 'offset point table model'.

###### <a id="p116502"></a>5.2.4.107 Правило representation_for_propeller_location_restricted_by_class_id

<a id="p116503"></a>Правило representation_for_propeller_location_restricted_by_class_id определяет наличие у атрибута item объекта representation с идентификатором класса 'propeller location' для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p116504"></a>EXPRESS-спецификация:
<a id="p116505"></a>*)
<a id="p116506"></a>RULE representation_for_propeller_location_restricted_by_class_id
<a id="p116507"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116508"></a>  LOCAL
<a id="p116509"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p116510"></a>    t1_set: SET OF REPRESENTATION := [];
<a id="p116511"></a>    arg_list: LIST OF STRING := ['shaft line inclination x', 'shaft line inclination y',
'shaft line location', 'propeller location'];
<a id="p116512"></a>    violation: LOGICAL := FALSE;
<a id="p116513"></a>  END_LOCAL;

<a id="p116514"></a>  (* get all classification_assignment instances with id 'propeller location' *)
<a id="p116515"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116516"></a>                   i.ASSIGNED_CLASS.NAME = 'propeller location');

<a id="p116517"></a>  (* get all instances of representation that have class id 'propeller location' *)
<a id="p116518"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116519"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116520"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116521"></a>    END_REPEAT;
<a id="p116522"></a>  END_REPEAT;

<a id="p116523"></a>  (* iterate over all representation instances found above; stop, if one of them
has not exactly one rep_item for each name in the arg_list *)
<a id="p116524"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116525"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116526"></a>      violation := (SIZEOF(QUERY(rep_item <* t1_set[i].items |
<a id="p116527"></a>                                rep_item.name = arg_list[j])) <> 1);
<a id="p116528"></a>    END_REPEAT;
<a id="p116529"></a>  END_REPEAT;

<a id="p116530"></a>  WHERE
<a id="p116531"></a>    wr1: NOT violation;
<a id="p116532"></a>**END_RULE;**
<a id="p116533"></a>(*
<a id="p116534"></a>Определения аргументов:
<a id="p116535"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116536"></a>Формальные высказывания:
<a id="p116537"></a>WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_assignment, значение атрибута assigned_class.name которого равно 'propeller location', должен для каждого из значений: 'shaft line inclination x', 'shaft line inclination y', 'shaft line location' или 'propeller location' собирать только один экземпляр объекта representation_item в своем атрибуте items, значение атрибута name которого равно этому значению.

###### <a id="p116538"></a>5.2.4.108 Правило representation_for_propeller_moulded_form_design_parameter

<a id="p116539"></a>Правило representation_for_propeller_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'propeller moulded form design parameter'.
<a id="p116540"></a>EXPRESS-спецификация:
<a id="p116541"></a>*)
<a id="p116542"></a>RULE representation_for_propeller_moulded_form_design_parameter
<a id="p116543"></a>FOR (representation);
<a id="p116544"></a>  LOCAL
<a id="p116545"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116546"></a>    arg_list: LIST OF STRING := ['type of propulsion', 'propeller diameter', 'chord
length at 0 7 radius', 'thickness at 0 7 radius', 'number of propeller blades',
'expanded area ratio', 'hub diameter ratio', 'nominal design pitch ratio', 'type of
propeller blades', 'rake', 'skew', 'design sense of rotation'];
<a id="p116547"></a>    violation: LOGICAL := FALSE;
<a id="p116548"></a>  END_LOCAL;

<a id="p116549"></a>  (* find all instances of representation which are used by a property_definition_
representation with name equal to 'propeller moulded form design parameter' *)
<a id="p116550"></a>  reps := QUERY(
<a id="p116551"></a>    temp_rep <* representation |
<a id="p116552"></a>      SIZEOF (
<a id="p116553"></a>        QUERY(
<a id="p116554"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116555"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))**
<a id="p116556"></a>          | (temp_prop_def_rep.name = 'propeller moulded form design parameter')
<a id="p116557"></a>        )
<a id="p116558"></a>      ) > 0
<a id="p116559"></a>    );

<a id="p116560"></a>  (* iterate over all representations found above; stop, if one of them has not
exactly one rep_item with for each name of the arg_list *)
<a id="p116561"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p116562"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116563"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116564"></a>           rep_item.name = arg_list[j])) <> 1);
<a id="p116565"></a>    END_REPEAT;
<a id="p116566"></a>  END_REPEAT;

<a id="p116567"></a>  WHERE
<a id="p116568"></a>    wr1: NOT violation;
<a id="p116569"></a>**END_RULE;**
<a id="p116570"></a>(*
<a id="p116571"></a>Определения аргументов:
<a id="p116572"></a>representation: набор всех экземпляров объектов representation.
<a id="p116573"></a>Формальные высказывания:
<a id="p116574"></a>WR1: Для каждого объекта property_definition_representation с name = 'propeller moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим одно из значений: 'type of propulsion', 'propeller diameter', 'chord length at 0 7 radius', 'thickness at 0 7 radius', 'number of propeller blades', 'expanded area ratio', 'hub diameter ratio', 'nominal design pitch ratio', 'type of propeller blades', 'rake', 'skew', 'design sense of rotation'.

###### <a id="p116575"></a>5.2.4.109 Правило representation_for_rudder_moulded_form_design_parameter

<a id="p116576"></a>Правило representation_for_rudder_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'rudder moulded form design parameter'.
<a id="p116577"></a>EXPRESS-спецификация:
<a id="p116578"></a>*)
<a id="p116579"></a>RULE representation_for_rudder_moulded_form_design_parameter
<a id="p116580"></a>FOR (representation);
<a id="p116581"></a>  LOCAL
<a id="p116582"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116583"></a>    arg_list: LIST OF STRING := ['rudder height', 'rudder mean height', 'rudder
length', 'rudder mean length', 'rudder thickness', 'projected rudder area', 'type
of the rudder', 'rudder location'];
<a id="p116584"></a>    violation: LOGICAL := FALSE;
<a id="p116585"></a>  END_LOCAL;

<a id="p116586"></a>  (* find all instances of representation which are used by a property_definition_
representation with name equal to 'rudder moulded form design parameter' *)
<a id="p116587"></a>  reps := QUERY(
<a id="p116588"></a>    temp_rep <* representation |
<a id="p116589"></a>      SIZEOF (
<a id="p116590"></a>        QUERY(
<a id="p116591"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116592"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))**
<a id="p116593"></a>          | (temp_prop_def_rep.name = 'rudder moulded form design parameter')
<a id="p116594"></a>        )
<a id="p116595"></a>      ) > 0
<a id="p116596"></a>    );

<a id="p116597"></a>  (* iterate over all representations found above; stop, if one of them has not
exactly one rep_item with for each name of the arg_list *)
<a id="p116598"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p116599"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116600"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116601"></a>                                rep_item.name = arg_list[j])) <> 1);
<a id="p116602"></a>    END_REPEAT;
<a id="p116603"></a>  END_REPEAT;
<a id="p116604"></a>  WHERE
<a id="p116605"></a>    wr1: NOT violation;
<a id="p116606"></a>**END_RULE;**
<a id="p116607"></a>(*
<a id="p116608"></a>Определения аргументов:
<a id="p116609"></a>representation: набор всех экземпляров объектов representation.
<a id="p116610"></a>Формальные высказывания:
<a id="p116611"></a>WR1: Каждый объект property_definition_representation с name = 'rudder moulded form design parameter' должен использовать объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим одно из значений: 'rudder height', 'rudder mean height', 'rudder length', 'rudder mean length', 'rudder thickness', 'projected rudder area', 'type of the rudder' или 'rudder location'.

###### <a id="p116612"></a>5.2.4.110 Правило representation_for_stability_table_restricted

<a id="p116613"></a>Правило representation_for_stability_table_restricted определяет наличие для атрибута items объекта representation с идентификатором класса 'stability table' одного или более объектов representation_items с идентификатором класса 'stability properties for constant floating position'.
<a id="p116614"></a>EXPRESS-спецификация:
<a id="p116615"></a>*)
<a id="p116616"></a>**RULE**
<a id="p116617"></a>representation_for_stability_table_restricted
<a id="p116618"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116619"></a>**LOCAL**
<a id="p116620"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p116621"></a>    c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p116622"></a>    t1_set: SET OF representation := [];
<a id="p116623"></a>    t2_set: SET OF representation_item := [];
<a id="p116624"></a>    t3_set: SET OF representation_item := [];
<a id="p116625"></a>    violation: LOGICAL := FALSE;
<a id="p116626"></a>  END_LOCAL;

<a id="p116627"></a>  (* get all classification_assignment instances with id 'stability table' *)
<a id="p116628"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116629"></a>         i.Assigned_class.name = 'stability table');

<a id="p116630"></a>  (* get all instances of representation that have class id 'stability table' *)
<a id="p116631"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116632"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116633"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116634"></a>    END_REPEAT;
<a id="p116635"></a>  END_REPEAT;

<a id="p116636"></a>  (* get all classification_assignment instances with id 'stability properties
for one floating position' *)
<a id="p116637"></a>  c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116638"></a>           i.Assigned_class.name = 'stability properties for one floating position');

<a id="p116639"></a>  (* get all instances of representation_item that have class id 'stability
properties for one floating position' *)
<a id="p116640"></a>  REPEAT i := 1 TO HIINDEX(c2_a_set);
<a id="p116641"></a>    REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);
<a id="p116642"></a>      t2_set := t2_set + c2_a_set[i].items[j];
<a id="p116643"></a>    END_REPEAT;
<a id="p116644"></a>  END_REPEAT;

<a id="p116645"></a>  (* get all representation_item instances which are the .items of the representation
instances that have class id 'stability table' *)
<a id="p116646"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116647"></a>    REPEAT j := 1 TO HIINDEX(t1_set[i].items);
<a id="p116648"></a>  (* compare both lists with representation_item instances and the intersection
has to be greater 0 *)
<a id="p116649"></a>      t3_set := t3_set + t1_set[i].items[j];
<a id="p116650"></a>    END_REPEAT;
<a id="p116651"></a>    violation := (SIZEOF(t3_set* t2_set) < 1);
<a id="p116652"></a>    t3_set:= [];
<a id="p116653"></a>  END_REPEAT;

<a id="p116654"></a>**WHERE**
<a id="p116655"></a>  wr1: NOT violation;

<a id="p116656"></a>**END_RULE;**
<a id="p116657"></a>(*
<a id="p116658"></a>Определения аргументов:
<a id="p116659"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116660"></a>Формальные высказывания:
<a id="p116661"></a>WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_assignment, где атрибут assigned_class.name имеет значение 'stability table', должен собирать хотя бы один экземпляр объекта representation_item, содержащий объект applied_classification_assignment, где assigned_class.name имеет значение 'stability properties for one floating position'.

###### <a id="p116662"></a>5.2.4.111 Правило representation_for_stability_table_restricted_by_class_id

<a id="p116663"></a>Правило representation_for_stability_table_restricted_by_class_id определяет наличие у атрибута items объекта representation с идентификатором класса 'stability table' для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p116664"></a>EXPRESS-спецификация:
<a id="p116665"></a>*)
<a id="p116666"></a>RULE representation_for_stability_table_restricted_by_class_i:
<a id="p116667"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p116668"></a>  LOCAL
<a id="p116669"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p116670"></a>    t1_set: SET OF REPRESENTATION := [];
<a id="p116671"></a>    arg_list: LIST OF STRING := ['mean shell thickness'];
<a id="p116672"></a>    violation: LOGICAL := FALSE;
<a id="p116673"></a>  END_LOCAL;

<a id="p116674"></a>  (* get all classification_assignment instances with id 'stability table'*)
<a id="p116675"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p116676"></a>              i.Assigned_class.name = 'stability table');

<a id="p116677"></a>  (* get all instances of representation that have class id 'stability table' *)
<a id="p116678"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p116679"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p116680"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p116681"></a>    END_REPEAT;
<a id="p116682"></a>  END_REPEAT;

<a id="p116683"></a>  (* iterate over all representation instances found above; stop, if one of
them has not exactly one rep_item for each name in the arg_list *)
<a id="p116684"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p116685"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116686"></a>      violation := (SIZEOF(QUERY(rep_item <* t1_set[i].items |
<a id="p116687"></a>                                rep_item.name = arg_list[j])) <> 1);
<a id="p116688"></a>    END_REPEAT;
<a id="p116689"></a>  END_REPEAT;

<a id="p116690"></a>  WHERE
<a id="p116691"></a>    wr1: NOT violation;
<a id="p116692"></a>**END_RULE;**
<a id="p116693"></a>(*
<a id="p116694"></a>Определения аргументов:
<a id="p116695"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p116696"></a>Формальные высказывания:
<a id="p116697"></a>WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_assignment, значение атрибута assigned_class.name которого равно 'stability table', должен собирать для каждого из значений 'mean shell thickness' только один экземпляр объекта representation_item в своем атрибуте items, значение атрибута name которого равно этому значению.

###### <a id="p116698"></a>5.2.4.112 Правило representation_for_thruster_moulded_form_design_parameter

<a id="p116699"></a>Правило representation_for_thruster_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'thruster moulded form design parameter'.
<a id="p116700"></a>EXPRESS-спецификация:
<a id="p116701"></a>*)
<a id="p116702"></a>RULE representation_for_thruster_moulded_form_design_parameter
<a id="p116703"></a>FOR (representation);
<a id="p116704"></a>  LOCAL
<a id="p116705"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116706"></a>    arg_list: LIST OF STRING := ['thruster tunnel diameter', 'thruster tunnel
min length', 'thruster tunnel max length', 'geometric thruster location',
'thruster location'];
<a id="p116707"></a>    violation: LOGICAL := FALSE;
<a id="p116708"></a>  END_LOCAL;

<a id="p116709"></a>  (* find all instances of representation which are used by a property_definition_
representation with name equal to 'thruster moulded form design parameter' *)
<a id="p116710"></a>  reps := QUERY(
<a id="p116711"></a>    temp_rep <* representation |
<a id="p116712"></a>      SIZEOF (
<a id="p116713"></a>        QUERY(
<a id="p116714"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116715"></a>  'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
<a id="p116716"></a>          | (temp_prop_def_rep.name = 'thruster moulded form design parameter')
<a id="p116717"></a>        )
<a id="p116718"></a>      ) > 0
<a id="p116719"></a>    );

<a id="p116720"></a>  (* iterate over all representations found above; stop, if one of them has not
exactly one rep_item with for each name of the arg_list *)
<a id="p116721"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p116722"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p116723"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116724"></a>             rep_item.name = arg_list[j])) <> 1);
<a id="p116725"></a>    END_REPEAT;
<a id="p116726"></a>  END_REPEAT;

<a id="p116727"></a>  WHERE
<a id="p116728"></a>    wr1: NOT violation;
<a id="p116729"></a>**END_RULE;**
<a id="p116730"></a>(*
<a id="p116731"></a>Определения аргументов:
<a id="p116732"></a>representation: набор всех экземпляров объектов representation.
<a id="p116733"></a>Формальные высказывания:
<a id="p116734"></a>WR1: Каждый объект property_definition_representation с name = 'thruster moulded form design parameter' должен использовать объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим одно из значений: 'thruster tunnel diameter', 'thruster tunnel min length', 'thruster tunnel max length', 'geometric thruster location' или 'thruster location'.

###### <a id="p116735"></a>5.2.4.113 Правило representation_has_global_uncertainty_assigned_context

<a id="p116736"></a>Правило representation_has_global_uncertainty_assigned_context определяет, что перечень типов для объекта, на который приведена ссылка из объекта shape_representation.context_of_items, включает объект global_uncertainty_assigned_context.
<a id="p116737"></a>EXPRESS-спецификация:
<a id="p116738"></a>*)
<a id="p116739"></a>RULE representation_has_global_uncertainty_assigned_context
<a id="p116740"></a>  FOR (SHAPE_REPRESENTATION);
<a id="p116741"></a>**LOCAL**
<a id="p116742"></a>  has_gunac: LOGICAL := TRUE;
<a id="p116743"></a>**END_LOCAL;**

<a id="p116744"></a>  REPEAT i := 1 TO HIINDEX(SHAPE_REPRESENTATION) WHILE has_gunac; has_gunac :=
<a id="p116745"></a>**('SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT' IN**
                            TYPEOF(SHAPE_REPRESENTATION[i].CONTEXT_OF_ITEMS));
<a id="p116746"></a>**END_REPEAT;**

<a id="p116747"></a>**WHERE**
<a id="p116748"></a>  WR1: has_gunac;
<a id="p116749"></a>**END_RULE;**
<a id="p116750"></a>(*
<a id="p116751"></a>Определения аргументов:
<a id="p116752"></a>shape_representation: набор всех экземпляров объектов shape_representation.
<a id="p116753"></a>Формальные высказывания:
<a id="p116754"></a>WR1: Каждый объект shape_representation должен указывать на объект representation_context через свой атрибут context_of_items, представляющий собой тип global_uncertainty_assigned_context.

###### <a id="p116755"></a>5.2.4.114 Правило representation_has_global_unit_assigned_context

<a id="p116756"></a>Правило representation_has_global_unit_assigned_context определяет, что объект representation содержит объект global_unit_assigned_context, если в нем содержится объект representation_items типа value_representation_item и/или geometric_representation_item.
<a id="p116757"></a>EXPRESS-спецификация:
<a id="p116758"></a>*)
<a id="p116759"></a>RULE representation_has_global_unit_assigned_context
<a id="p116760"></a>    FOR (REPRESENTATION);
<a id="p116761"></a>  LOCAL
<a id="p116762"></a>    has_guac: LOGICAL := TRUE;
<a id="p116763"></a>  END_LOCAL;
<a id="p116764"></a>  REPEAT i := 1 TO HIINDEX(REPRESENTATION) WHILE has_guac;
<a id="p116765"></a>    REPEAT j := 1 TO SIZEOF(REPRESENTATION[i].ITEMS) WHILE has_guac;
<a id="p116766"></a>      IF (('SHIP_MOULDED_FORM_SCHEMA.VALUE_REPRESENTATION_ITEM'
<a id="p116767"></a>        IN TYPEOF(REPRESENTATION[i].ITEMS[j])) OR
<a id="p116768"></a>        ('SHIP_MOULDED_FORM_SCHEMA.GEOMETRIC_REPRESENTATION_ITEM'
<a id="p116769"></a>        IN TYPEOF(REPRESENTATION[i].ITEMS[j]))) THEN
<a id="p116770"></a>        has_guac := ('SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNIT_ASSIGNED_CONTEXT'
<a id="p116771"></a>                      IN TYPEOF(REPRESENTATION[i].CONTEXT_OF_ITEMS));
<a id="p116772"></a>      END_IF;
<a id="p116773"></a>    END_REPEAT;
<a id="p116774"></a>  END_REPEAT;
<a id="p116775"></a>  WHERE
<a id="p116776"></a>    WR1: has_guac;
<a id="p116777"></a>**END_RULE;**
<a id="p116778"></a>(*
<a id="p116779"></a>Определения аргументов:
<a id="p116780"></a>representation: набор всех экземпляров объектов representation.
<a id="p116781"></a>Формальные высказывания:
<a id="p116782"></a>WR1: Для каждого объекта representation, содержащего объект value_representation_items или geometric_representation_items, имеется объект representation_context, представляющий собой global_unit_assigned_context.

###### <a id="p116783"></a>5.2.4.115 Правило representation_items_appendage_moulded_form_design_parameter

<a id="p116784"></a>Правило representation_items_appendage_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'appendage moulded form design parameter'.
<a id="p116785"></a>EXPRESS-спецификация:
<a id="p116786"></a>*)
<a id="p116787"></a>RULE representation_items_appendage_moulded_form_design_parameter FOR
<a id="p116788"></a>(representation);
<a id="p116789"></a>  LOCAL
<a id="p116790"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116791"></a>    arg_list: LIST OF STRING := ['moulded form outer surface',
                       'moulded form displacement', 'user def appendage type'];
<a id="p116792"></a>    found: LOGICAL := FALSE;
<a id="p116793"></a>  END_LOCAL;

<a id="p116794"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'appendage moulded form design parameter' *)
<a id="p116795"></a>  reps := QUERY (
<a id="p116796"></a>    temp_rep <* representation |
<a id="p116797"></a>      SIZEOF (
<a id="p116798"></a>        QUERY(
<a id="p116799"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116800"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p116801"></a>          | (temp_prop_def_rep.name =
<a id="p116802"></a>          'appendage moulded form design parameter')
<a id="p116803"></a>        )
<a id="p116804"></a>      ) > 0
<a id="p116805"></a>    );
<a id="p116806"></a>  (* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p116807"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p116808"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p116809"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116810"></a>                             rep_item.name=arg_list[j])) > 1);
<a id="p116811"></a>    END_REPEAT;
<a id="p116812"></a>  END_REPEAT;
<a id="p116813"></a>  WHERE
<a id="p116814"></a>    wr1: NOT found;
<a id="p116815"></a>**END_RULE;**
<a id="p116816"></a>(*
<a id="p116817"></a>Определения аргументов:
<a id="p116818"></a>representation: набор всех экземпляров объектов representation.
<a id="p116819"></a>Формальные высказывания:
<a id="p116820"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'appendage moulded form design parameter', значения 'moulded form outer surface', 'moulded form displacement' или 'user def appendage type' не должны возникать более одного раза в качестве значения атрибута name объекта representation_item.

###### <a id="p116821"></a>5.2.4.116 Правило representation_items_for_bottom_moulded_form_design_parameter

<a id="p116822"></a>Правило representation_items_for_bottom_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'bottom moulded form design parameter'.
<a id="p116823"></a>EXPRESS-спецификация:
<a id="p116824"></a>*)
<a id="p116825"></a>RULE representation_items_for_bottom_moulded_form_design_parameter
<a id="p116826"></a>FOR (representation);
<a id="p116827"></a>  LOCAL
<a id="p116828"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116829"></a>    arg_list: LIST OF STRING := ['moulded form outer surface',
<a id="p116830"></a>                                'moulded form displacement'];
<a id="p116831"></a>    found: LOGICAL := FALSE;
<a id="p116832"></a>  END_LOCAL;

<a id="p116833"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'bottom moulded form design parameter' *)
<a id="p116834"></a>  reps := QUERY(
<a id="p116835"></a>    temp_rep <* representation |
<a id="p116836"></a>      SIZEOF (
<a id="p116837"></a>        QUERY(
<a id="p116838"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116839"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p116840"></a>          | (temp_prop_def_rep.name =
<a id="p116841"></a>          'bottom moulded form design parameter')
<a id="p116842"></a>        )
<a id="p116843"></a>      ) > 0
<a id="p116844"></a>    );

<a id="p116845"></a>  (* iterate over all representations found above. Stop, if for one of *)
<a id="p116846"></a>(* them the names of its representation_items are duplicated. *)
<a id="p116847"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p116848"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p116849"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116850"></a>                             rep_item.name=arg_list[j])) > 1);
<a id="p116851"></a>    END_REPEAT;
<a id="p116852"></a>  END_REPEAT;

<a id="p116853"></a>  WHERE
<a id="p116854"></a>    wr1: NOT found;
<a id="p116855"></a>**END_RULE;**
<a id="p116856"></a>(*
<a id="p116857"></a>Определения аргументов:
<a id="p116858"></a>representation: набор всех экземпляров объектов representation.
<a id="p116859"></a>Формальные высказывания:
<a id="p116860"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'bottom moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representation_item.

###### <a id="p116861"></a>5.2.4.117 Правило representation_items_for_bulb_moulded_form_design_parameter

<a id="p116862"></a>Правило representation_items_for_bulb_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'bulb moulded form design parameter'.
<a id="p116863"></a>EXPRESS-спецификация:
<a id="p116864"></a>*)
<a id="p116865"></a>RULE representation_items_for_bulb_moulded_form_design_parameter
<a id="p116866"></a>FOR (representation);
<a id="p116867"></a>  LOCAL
<a id="p116868"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116869"></a>    arg_list: LIST OF STRING := ['moulded form outer surface',
<a id="p116870"></a>                                'moulded form displacement'];
<a id="p116871"></a>                                found: LOGICAL := FALSE;
<a id="p116872"></a>  END_LOCAL;

<a id="p116873"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'bulb moulded form design parameter' *)
<a id="p116874"></a>  reps := QUERY(
<a id="p116875"></a>    temp_rep <* representation |
<a id="p116876"></a>      SIZEOF (
<a id="p116877"></a>        QUERY(
<a id="p116878"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116879"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p116880"></a>          | (temp_prop_def_rep.name =
<a id="p116881"></a>          'bulb moulded form design parameter')
<a id="p116882"></a>        )
<a id="p116883"></a>      ) > 0
<a id="p116884"></a>    );

<a id="p116885"></a>  (* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p116886"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p116887"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p116888"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116889"></a>                             rep_item.name=arg_list[j])) > 1);
<a id="p116890"></a>    END_REPEAT;
<a id="p116891"></a>  END_REPEAT;
<a id="p116892"></a>  WHERE
<a id="p116893"></a>    wr1: NOT found;
<a id="p116894"></a>**END_RULE;**
<a id="p116895"></a>(*
<a id="p116896"></a>Определения аргументов:
<a id="p116897"></a>representation: набор всех экземпляров объектов representation.
<a id="p116898"></a>Формальные высказывания:
<a id="p116899"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'bulb moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representation_item.

###### <a id="p116900"></a>5.2.4.118 Правило representation_items_for_deck_moulded_form_design_parameter

<a id="p116901"></a>Правило representation_items_for_deck_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'deck moulded form design parameter'.
<a id="p116902"></a>EXPRESS-спецификация:
<a id="p116903"></a>*)
<a id="p116904"></a>RULE representation_items_for_deck_moulded_form_design_parameter
<a id="p116905"></a>FOR (representation);
<a id="p116906"></a>  LOCAL
<a id="p116907"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116908"></a>    arg_list: LIST OF STRING := ['moulded form outer surface',
<a id="p116909"></a>                                'moulded form displacement'];
<a id="p116910"></a>    found: LOGICAL := FALSE;
<a id="p116911"></a>  END_LOCAL;

<a id="p116912"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'deck moulded form design parameter' *)
<a id="p116913"></a>  reps := QUERY(
<a id="p116914"></a>    temp_rep <* representation |
<a id="p116915"></a>      SIZEOF (
<a id="p116916"></a>        QUERY(
<a id="p116917"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116918"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p116919"></a>          | (temp_prop_def_rep.name =
<a id="p116920"></a>          'deck moulded form design parameter')
<a id="p116921"></a>        )
<a id="p116922"></a>      ) > 0
<a id="p116923"></a>    );
<a id="p116924"></a>  (* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p116925"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p116926"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p116927"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116928"></a>             rep_item.name=arg_list[j])) > 1);
<a id="p116929"></a>    END_REPEAT;
<a id="p116930"></a>    END_REPEAT;

<a id="p116931"></a>  WHERE
<a id="p116932"></a>    wr1: NOT found;
<a id="p116933"></a>**END_RULE;**
<a id="p116934"></a>(*
<a id="p116935"></a>Определения аргументов:
<a id="p116936"></a>representation: набор всех экземпляров объектов representation.
<a id="p116937"></a>Формальные высказывания:
<a id="p116938"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'deck moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representation_item.

###### <a id="p116939"></a>5.2.4.119 Правило representation_items_for_hull_moulded_form_design_parameter

<a id="p116940"></a>Правило representation_items_for_hull_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'hull moulded form design parameter'.
<a id="p116941"></a>EXPRESS-спецификация:
<a id="p116942"></a>*)
<a id="p116943"></a>RULE representation_items_for_hull_moulded_form_design_parameter
<a id="p116944"></a>FOR (representation);
<a id="p116945"></a>  LOCAL
<a id="p116946"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116947"></a>    arg_list: LIST OF STRING := ['moulded form outer surface',
<a id="p116948"></a>                                'moulded form displacement',
<a id="p116949"></a>                                'waterline angle of entrance at stern',
<a id="p116950"></a>                                'waterline angle of entrance at bow',
<a id="p116951"></a>                                'max frame section area location',
<a id="p116952"></a>                                'hull length pp',
<a id="p116953"></a>                                'hull length waterline',
<a id="p116954"></a>                                'hull breadth',
<a id="p116955"></a>                                'hull depth',
<a id="p116956"></a>                                'hull design draught',
<a id="p116957"></a>                                'gunwale radius'];
<a id="p116958"></a>    found: LOGICAL := FALSE;
<a id="p116959"></a>  END_LOCAL;

<a id="p116960"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'hull moulded form design parameter' *)
<a id="p116961"></a>  reps := QUERY (
<a id="p116962"></a>    temp_rep <* representation |
<a id="p116963"></a>      SIZEOF (
<a id="p116964"></a>        QUERY(
<a id="p116965"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p116966"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p116967"></a>          | (temp_prop_def_rep.name =
<a id="p116968"></a>          'hull moulded form design parameter')
<a id="p116969"></a>        )
<a id="p116970"></a>      ) > 0
<a id="p116971"></a>    );

<a id="p116972"></a>  (* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p116973"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p116974"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p116975"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p116976"></a>           rep_item.name=arg_list[j])) > 1);
<a id="p116977"></a>    END_REPEAT;
<a id="p116978"></a>  END_REPEAT;

<a id="p116979"></a>  WHERE
<a id="p116980"></a>    wr1: NOT found;
<a id="p116981"></a>**END_RULE;**
<a id="p116982"></a>(*
<a id="p116983"></a>Определения аргументов:
<a id="p116984"></a>representation: набор всех экземпляров объектов representation.
<a id="p116985"></a>Формальные высказывания:
<a id="p116986"></a>WR1: Для всех объектов representation_item, на которые дана ссылка из атрибута items каждого объекта representation, на который приведена ссылка из атрибута definition объекта property_definition_representation с name = 'hull moulded form design parameter', значения: 'moulded form outer surface', 'moulded form displacement', 'waterline angle of entrance at stern', 'waterline angle of entrance at bow', 'max frame section area location', 'hull length pp', 'hull length waterline', 'hull breadth', 'hull depth', 'hull design draught' или 'gunwale radius' не должны возникать более одного раза в качестве значений атрибута name объекта representation_item.

###### <a id="p116987"></a>5.2.4.120 Правило representation_items_for_moulded_form_design_parameters

<a id="p116988"></a>Правило representation_items_for_moulded_form_design_parameters определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'moulded form design parameters'.
<a id="p116989"></a>EXPRESS-спецификация:
<a id="p116990"></a>*)
<a id="p116991"></a>RULE representation_items_for_moulded_form_design_parameters
<a id="p116992"></a>FOR (representation);
<a id="p116993"></a>  LOCAL
<a id="p116994"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p116995"></a>    arg_list: LIST OF STRING := ['status'];
<a id="p116996"></a>    found: LOGICAL := FALSE;
<a id="p116997"></a>  END_LOCAL;

<a id="p116998"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'moulded form design parameters' *)
<a id="p116999"></a>  reps := QUERY(
<a id="p117000"></a>    temp_rep <* representation |
<a id="p117001"></a>      SIZEOF (
<a id="p117002"></a>        QUERY(
<a id="p117003"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117004"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117005"></a>          | (temp_prop_def_rep.name =
<a id="p117006"></a>          'moulded form design parameters')
<a id="p117007"></a>        )
<a id="p117008"></a>      ) > 0
<a id="p117009"></a>    );

<a id="p117010"></a>  (* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p117011"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p117012"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p117013"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117014"></a>                             rep_item.name=arg_list[j])) > 1);
<a id="p117015"></a>    END_REPEAT;
<a id="p117016"></a>  END_REPEAT;

<a id="p117017"></a>  WHERE
<a id="p117018"></a>    wr1: NOT found;
<a id="p117019"></a>**END_RULE;**
<a id="p117020"></a>(*
<a id="p117021"></a>Определения аргументов:
<a id="p117022"></a>representation: набор всех экземпляров объектов representation.
<a id="p117023"></a>Формальные высказывания:
<a id="p117024"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'moulded form design parameters', значение 'status' не должно возникать более одного раза в качестве значения атрибута name объекта representation_item.

###### <a id="p117025"></a>5.2.4.121 Правило representation_items_for_moulded_form_function_parameters

<a id="p117026"></a>Правило representation_items_for_moulded_form_function_parameters определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'moulded form function parameters'.
<a id="p117027"></a>EXPRESS-спецификация:
<a id="p117028"></a>*)
<a id="p117029"></a>RULE representation_items_for_moulded_form_function_parameters
<a id="p117030"></a>FOR (representation);
<a id="p117031"></a>  LOCAL
<a id="p117032"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117033"></a>    arg_list: LIST OF STRING := ['user def function'];
<a id="p117034"></a>    found: LOGICAL := FALSE;
<a id="p117035"></a>  END_LOCAL;

<a id="p117036"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'moulded form function parameters' *)
<a id="p117037"></a>  reps := QUERY(
<a id="p117038"></a>    temp_rep <* representation |
<a id="p117039"></a>      SIZEOF (
<a id="p117040"></a>        QUERY(
<a id="p117041"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117042"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))**
<a id="p117043"></a>          | (temp_prop_def_rep.name = 'moulded form function parameters')
<a id="p117044"></a>        )
<a id="p117045"></a>      ) > 0
<a id="p117046"></a>    );

<a id="p117047"></a>  (* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p117048"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p117049"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p117050"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117051"></a>                             rep_item.name=arg_list[j])) > 1);
<a id="p117052"></a>    END_REPEAT;
<a id="p117053"></a>  END_REPEAT;
<a id="p117054"></a>  WHERE
<a id="p117055"></a>    wr1: NOT found;
<a id="p117056"></a>**END_RULE;**
<a id="p117057"></a>(*
<a id="p117058"></a>Определения аргументов:
<a id="p117059"></a>representation: набор всех экземпляров объектов representation.
<a id="p117060"></a>Формальные высказывания:
<a id="p117061"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'moulded form function parameters', значение 'user def function' не должно возникать более одного раза в качестве значений атрибута name объекта representation_item.

###### <a id="p117062"></a>5.2.4.122 Правило representation_items_propeller_moulded_form_design_parameter

<a id="p117063"></a>Правило representation_items_propeller_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'propeller moulded form design parameter'.
<a id="p117064"></a>EXPRESS-спецификация:
<a id="p117065"></a>*)
<a id="p117066"></a>RULE representation_items_propeller_moulded_form_design_parameter
<a id="p117067"></a>FOR (representation);
<a id="p117068"></a>  LOCAL
<a id="p117069"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117070"></a>    arg_list: LIST OF STRING := ['blade_mean_height',
<a id="p117071"></a>           'moulded form outer surface',
<a id="p117072"></a>           'moulded form displacement'];
<a id="p117073"></a>    found: LOGICAL := FALSE;
<a id="p117074"></a>  END_LOCAL;

<a id="p117075"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'propeller moulded form design parameter' *)
<a id="p117076"></a>  reps := QUERY(
<a id="p117077"></a>    temp_rep <* representation |
<a id="p117078"></a>      SIZEOF (
<a id="p117079"></a>        QUERY(
<a id="p117080"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117081"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117082"></a>          | (temp_prop_def_rep.name =
<a id="p117083"></a>          'propeller moulded form design parameter')
<a id="p117084"></a>        )
<a id="p117085"></a>      ) > 0
<a id="p117086"></a>    );

<a id="p117087"></a>  (* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p117088"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p117089"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p117090"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117091"></a>               rep_item.name=arg_list[j])) > 1);
<a id="p117092"></a>    END_REPEAT;
<a id="p117093"></a>  END_REPEAT;

<a id="p117094"></a>  WHERE
<a id="p117095"></a>    wr1: NOT found;
<a id="p117096"></a>**END_RULE;**
<a id="p117097"></a>(*
<a id="p117098"></a>Определения аргументов:
<a id="p117099"></a>representation: набор всех экземпляров объектов representation.
<a id="p117100"></a>Формальные высказывания:
<a id="p117101"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'propeller moulded form design parameter', значения 'blade_mean_height', 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representation_item.

###### <a id="p117102"></a>5.2.4.123 Правило representation_items_for_rudder_moulded_form_design_parameter

<a id="p117103"></a>Правило representation_items_for_rudder_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'rudder moulded form design parameter'.
<a id="p117104"></a>EXPRESS-спецификация:
<a id="p117105"></a>*)
<a id="p117106"></a>RULE representation_items_for_rudder_moulded_form_design_parameter
<a id="p117107"></a>FOR (representation);
<a id="p117108"></a>  LOCAL
<a id="p117109"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117110"></a>    arg_list: LIST OF STRING := ['moulded form outer surface',
<a id="p117111"></a>             'moulded form displacement'];
<a id="p117112"></a>    found: LOGICAL := FALSE;
<a id="p117113"></a>  END_LOCAL;

<a id="p117114"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'rudder moulded form design parameter' *)
<a id="p117115"></a>  reps := QUERY(
<a id="p117116"></a>    temp_rep <* representation |
<a id="p117117"></a>      SIZEOF (
<a id="p117118"></a>        QUERY(
<a id="p117119"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117120"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117121"></a>          | (temp_prop_def_rep.name =
<a id="p117122"></a>          'rudder moulded form design parameter')
<a id="p117123"></a>        )
<a id="p117124"></a>      ) > 0
<a id="p117125"></a>    );

<a id="p117126"></a>  (* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p117127"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p117128"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p117129"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117130"></a>                             rep_item.name=arg_list[j])) > 1);
<a id="p117131"></a>    END_REPEAT;
<a id="p117132"></a>  END_REPEAT;

<a id="p117133"></a>  WHERE
<a id="p117134"></a>    wr1: NOT found;
<a id="p117135"></a>**END_RULE;**
<a id="p117136"></a>(*
<a id="p117137"></a>Определения атрибутов:
<a id="p117138"></a>representation: набор всех экземпляров объектов representation.
<a id="p117139"></a>Формальные высказывания:
<a id="p117140"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'rudder moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representation_item.

###### <a id="p117141"></a>5.2.4.124 Правило representation_items_of_thruster_moulded_form_design_parameter

<a id="p117142"></a>Правило representation_items_of_thruster_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'thruster moulded form design parameter'.
<a id="p117143"></a>EXPRESS-спецификация:
<a id="p117144"></a>*)
<a id="p117145"></a>RULE representation_items_of_thruster_moulded_form_design_parameter
<a id="p117146"></a>FOR (representation);
<a id="p117147"></a>  LOCAL
<a id="p117148"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117149"></a>    arg_list: LIST OF STRING := ['moulded form outer surface',
<a id="p117150"></a>                                'moulded form displacement'];
<a id="p117151"></a>    found: LOGICAL := FALSE;
<a id="p117152"></a>  END_LOCAL;

<a id="p117153"></a>  (* Find all instances of representation which are used by a property_definition_
representation with name equal to 'thruster moulded form design parameter' *)
<a id="p117154"></a>  reps := QUERY(
<a id="p117155"></a>    temp_rep <* representation |
<a id="p117156"></a>      SIZEOF (
<a id="p117157"></a>        QUERY(
<a id="p117158"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117159"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117160"></a>          | (temp_prop_def_rep.name =
<a id="p117161"></a>          'thruster moulded form design parameter')
<a id="p117162"></a>        )
<a id="p117163"></a>      ) > 0
<a id="p117164"></a>    );

<a id="p117165"></a>  (* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p117166"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p117167"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p117168"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117169"></a>                             rep_item.name=arg_list[j])) > 1);
<a id="p117170"></a>    END_REPEAT;
<a id="p117171"></a>  END_REPEAT;

<a id="p117172"></a>  WHERE
<a id="p117173"></a>    wr1: NOT found;
<a id="p117174"></a>**END_RULE;**
<a id="p117175"></a>(*
<a id="p117176"></a>Определения аргументов:
<a id="p117177"></a>representation: набор всех экземпляров объектов representation.
<a id="p117178"></a>Формальные высказывания:
<a id="p117179"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'thruster moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representation_item.

###### <a id="p117180"></a>5.2.4.125 Правило representation_item_for_transformation_to_parent

<a id="p117181"></a>Правило representation_item_for_transformation_to_parent определяет, что на экземпляр объекта property_definition с идентификатором класса 'local co ordinate system' приведена ссылка только из одного экземпляра объекта representation_map через mapped_representation.
<a id="p117182"></a>EXPRESS-спецификация:
<a id="p117183"></a>*)
<a id="p117184"></a>**RULE**
<a id="p117185"></a>representation_item_for_transformation_to_parent
<a id="p117186"></a>**FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p117187"></a>  LOCAL
<a id="p117188"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117189"></a>    t1_set: SET OF property_definition := [];
<a id="p117190"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p117191"></a>    t3_set: SET OF representation := [];
<a id="p117192"></a>    t4_set: SET OF representation_map := [];
<a id="p117193"></a>    t5_set: SET OF mapped_item := [];
<a id="p117194"></a>    arg_list: LIST OF STRING :=
<a id="p117195"></a>['local coordinate system position in global coordinate system', 'local coordinate
system position in parent local coordinate system', 'local coordinate system
position in parent local coordinate system with position reference'];
<a id="p117196"></a>    violations1 LOGICAL := FALSE;
<a id="p117197"></a>    violation2: LOGICAL := FALSE;
<a id="p117198"></a>  END_LOCAL;
<a id="p117199"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117200"></a>                   i.assigned_class.NAME = 'local co ordinate system');

<a id="p117201"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117202"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117203"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117204"></a>    END_REPEAT;
<a id="p117205"></a>  END_REPEAT;

<a id="p117206"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation1;
<a id="p117207"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p117208"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));**
<a id="p117209"></a>    violation1 := NOT (SIZEOF(QUERY(t2_inst <* t2_set |
<a id="p117210"></a>                       t2_inst.used_representation.name =
<a id="p117211"></a>                       'local axis representation')) = 1);
<a id="p117212"></a>    t3_set := t3_set + t2_set[i].used_representation;
<a id="p117213"></a>  END_REPEAT;

<a id="p117214"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation1;
<a id="p117215"></a>    t4_set := bag_to_set(USEDIN(t3_set[i],
<a id="p117216"></a>**'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION_MAP.MAPPED_REPRESENTATION'));**
<a id="p117217"></a>  END_REPEAT;

<a id="p117218"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation1;
<a id="p117219"></a>    t5_set := bag_to_set(USEDIN(t4_set[i],
<a id="p117220"></a>    'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM.MAPPING_SOURCE'));
<a id="p117221"></a>    REPEAT j := 1 TO 3 WHILE NOT violation2;
<a id="p117222"></a>      violation2 := NOT (SIZEOF(QUERY(t2_inst <* t5_set | t2_inst.name =
      ARG_LIST[j])) = 1);
<a id="p117223"></a>    END_REPEAT;
<a id="p117224"></a>  END_REPEAT;

<a id="p117225"></a>  WHERE
<a id="p117226"></a>    WR1: NOT violation1;
<a id="p117227"></a>    WR2: NOT violation2;
<a id="p117228"></a>**END_RULE;**
<a id="p117229"></a>(*
<a id="p117230"></a>Определения аргументов:
<a id="p117231"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117232"></a>Формальные высказывания:
<a id="p117233"></a>WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_classification_assignment с assigned_class.name = 'local co ordinate system', приведена ссылка только из одного атрибута property_definition_representation.definition, где property_definition_representation.name = 'local co ordinate system', и атрибута used_representation, представляющего собой объект representation с name = 'local axis representation'.
<a id="p117234"></a>WR2: Для каждого объекта mapped_item со значением: 'local coordinate system position in global coordinate system', 'local coordinate system position in parent local coordinate system' или 'local coordinate system position in parent local coordinate system with position reference' для name имеется атрибут mapping_source, который указывает объект representation_map, содержащий атрибут mapped_representation, указывающий объект representation с name = 'local axis representation'.
<a id="p117235"></a>5.2.4.126 representation_items_optional_for_class_notation
<a id="p117236"></a>Правило representation_items_optional_for_class_notation определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'class notation'.
<a id="p117237"></a>EXPRESS-спецификация:
<a id="p117238"></a>*)
<a id="p117239"></a>RULE representation_items_optional_for_class_notation FOR (representation);
<a id="p117240"></a>  LOCAL
<a id="p117241"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117242"></a>    arg_list: LIST OF STRING := ['ice class notation','service factor',
<a id="p117243"></a>                                'approval required for heavy cargo'];
<a id="p117244"></a>    found: LOGICAL := FALSE;
<a id="p117245"></a>  END_LOCAL;

<a id="p117246"></a>  reps := QUERY(
<a id="p117247"></a>    temp_rep <* representation |
<a id="p117248"></a>      SIZEOF (
<a id="p117249"></a>        QUERY(
<a id="p117250"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117251"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117252"></a>          | (temp_prop_def_rep.name = 'class notation')
<a id="p117253"></a>        )
<a id="p117254"></a>      ) > 0
<a id="p117255"></a>    );

<a id="p117256"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p117257"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p117258"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117259"></a>             rep_item.name=arg_list[j])) > 1);
<a id="p117260"></a>    END_REPEAT;
<a id="p117261"></a>  END_REPEAT;
<a id="p117262"></a>  WHERE
<a id="p117263"></a>    wr1: NOT found;
<a id="p117264"></a>**END_RULE;**
<a id="p117265"></a>(*
<a id="p117266"></a>Определения аргументов:
<a id="p117267"></a>representation: набор всех экземпляров объектов representation.
<a id="p117268"></a>Формальные высказывания:
<a id="p117269"></a>WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'class notation', значения 'ice class notation', 'service factor' или 'approval required for heavy cargo' не должны возникать более одного раза в качестве значений атрибута name объекта representation_item.

###### <a id="p117270"></a>5.2.4.127 Правило representation_items_optional_for_owner_designation

<a id="p117271"></a>Правило representation_items_optional_for_owner_designation определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'owner designation'.
<a id="p117272"></a>EXPRESS-спецификация:
<a id="p117273"></a>*)
<a id="p117274"></a>RULE representation_items_optional_for_owner_designation
<a id="p117275"></a>  FOR (representation);
<a id="p117276"></a>**LOCAL**
<a id="p117277"></a>  reps: BAG OF REPRESENTATION := [];
<a id="p117278"></a>  arg_list: LIST OF STRING := ['owner approval'];
<a id="p117279"></a>  found: LOGICAL := FALSE;
<a id="p117280"></a>**END_LOCAL;**

<a id="p117281"></a>(* Find all instances of representation which are used by a property_definition_
representation with name equal to 'owner designation' *)
<a id="p117282"></a>reps := QUERY(temp_rep <* representation |
<a id="p117283"></a>  SIZEOF (QUERY(temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117284"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117285"></a>  | (temp_prop_def_rep.name = 'owner designation'))) > 0);

<a id="p117286"></a>(* iterate over all representations found above. Stop, if for one of them the
names of its representation_items are duplicated. *)
<a id="p117287"></a>REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p117288"></a>  REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p117289"></a>    found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117290"></a>                           rep_item.name = arg_list[j])) > 1);
<a id="p117291"></a>  END_REPEAT;
<a id="p117292"></a>**END_REPEAT;**

<a id="p117293"></a>**WHERE**
<a id="p117294"></a>wr1: NOT found;
<a id="p117295"></a>**END_RULE;**
<a id="p117296"></a>(*
<a id="p117297"></a>Определения аргументов:
<a id="p117298"></a>representation: набор всех экземпляров объектов representation.
<a id="p117299"></a>Формальные высказывания:
<a id="p117300"></a>WR1: Для всех объектов representation_item, на которых дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута used_representation объекта property_definition_representation с name = 'owner designation', значение 'owner approval' не должно возникать более одного раза в качестве значения атрибута name объекта representation_item.

###### <a id="p117301"></a>5.2.4.128 Правило representation_items_optional_for_principal_characteristics

<a id="p117302"></a>Правило representation_items_optional_for_principal_characteristics определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'principal characteristics'.
<a id="p117303"></a>EXPRESS-спецификация:
<a id="p117304"></a>*)
<a id="p117305"></a>RULE representation_items_optional_for_principal_characteristics
<a id="p117306"></a>FOR (representation);
<a id="p117307"></a>  LOCAL
<a id="p117308"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117309"></a>    arg_list: LIST OF STRING := ['block coefficient',
<a id="p117310"></a>                                'design draught',
<a id="p117311"></a>                                'design deadweight',
<a id="p117312"></a>                                'min draught at fp',
<a id="p117313"></a>                                'max draught at fp',
<a id="p117314"></a>                                'min draught at ap',
<a id="p117315"></a>                                'max draught at ap'];
<a id="p117316"></a>    found: LOGICAL := FALSE;
<a id="p117317"></a>  END_LOCAL;

<a id="p117318"></a>  reps := QUERY(
<a id="p117319"></a>    temp_rep <* representation |
<a id="p117320"></a>      SIZEOF (
<a id="p117321"></a>        QUERY(
<a id="p117322"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117323"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117324"></a>          | (temp_prop_def_rep.name = 'principal characteristics')
<a id="p117325"></a>        )
<a id="p117326"></a>      ) > 0
<a id="p117327"></a>    );

<a id="p117328"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT found);
<a id="p117329"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT found);
<a id="p117330"></a>      found := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117331"></a>                             rep_item.name=arg_list[j])) > 1);
<a id="p117332"></a>    END_REPEAT;
<a id="p117333"></a>  END_REPEAT;
<a id="p117334"></a>  WHERE
<a id="p117335"></a>    wr1: NOT found;
<a id="p117336"></a>**END_RULE;**
<a id="p117337"></a>(*
<a id="p117338"></a>Определения аргументов:
<a id="p117339"></a>representation: набор всех экземпляров объектов representation.
<a id="p117340"></a>Формальные высказывания:
<a id="p117341"></a>WR1: Для всех объектов representation_item, на которые дана ссылка из атрибута items каждого объекта representation, на который приведена ссылка из атрибута definition объекта property_definition_representation с name = 'principal characteristics', значения: 'block coefficient', 'design draught', 'design deadweight', 'min draught at fp', 'max draught at fp', 'min draught at ap', 'max draught at ap' не должны возникать более одного раза в качестве значений атрибута name объекта representation_item.

###### <a id="p117342"></a>5.2.4.129 Правило representation_restricted_by_name_class_notation

<a id="p117343"></a>Правило representation_restricted_by_name_class_notation определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'class notation'.
<a id="p117344"></a>EXPRESS-спецификация:
<a id="p117345"></a>*)
<a id="p117346"></a>RULE representation_restricted_by_name_class_notation
<a id="p117347"></a>FOR (representation);
<a id="p117348"></a>  LOCAL
<a id="p117349"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117350"></a>    arg_list: LIST OF STRING := ['service area',
<a id="p117351"></a>                                'approval required for oil cargo',
<a id="p117352"></a>                                'approval required for loading unloading aground',
<a id="p117353"></a>                                'approval required for unloading grabs'];
<a id="p117354"></a>    violation: LOGICAL := FALSE;
<a id="p117355"></a>  END_LOCAL;

<a id="p117356"></a>  reps := QUERY(
<a id="p117357"></a>    temp_rep <* representation |
<a id="p117358"></a>      SIZEOF (
<a id="p117359"></a>        QUERY(
<a id="p117360"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117361"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117362"></a>          | (temp_prop_def_rep.name = 'class notation')
<a id="p117363"></a>        )
<a id="p117364"></a>      ) > 0
<a id="p117365"></a>    );

<a id="p117366"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p117367"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p117368"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117369"></a>               rep_item.name = arg_list[j])) <> 1);
<a id="p117370"></a>    END_REPEAT;
<a id="p117371"></a>  END_REPEAT;
<a id="p117372"></a>  WHERE
<a id="p117373"></a>    wr1: NOT violation;
<a id="p117374"></a>**END_RULE;**
<a id="p117375"></a>(*
<a id="p117376"></a>Определения аргументов:
<a id="p117377"></a>representation: набор всех экземпляров объектов representation.
<a id="p117378"></a>Формальные высказывания:
<a id="p117379"></a>WR1: Для каждого объекта property_definition_representation с name = 'class notation' должен использоваться объект representation, содержащий только один элемент (item) из своего набора items, который должен быть типом объекта representation_item с именем (name) со значением: 'service area', 'approval required for oil cargo', 'approval required for loading unloading aground' или 'approval required for unloading grabs'.

###### <a id="p117380"></a>5.2.4.130 Правило representation_restricted_by_name_class_parameters

<a id="p117381"></a>Правило representation_restricted_by_name_class_parameters определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'class parameters'.
<a id="p117382"></a>EXPRESS-спецификация:
<a id="p117383"></a>*)
<a id="p117384"></a>RULE representation_restricted_by_name_class_parameters
<a id="p117385"></a>FOR (representation);
<a id="p117386"></a>  LOCAL
<a id="p117387"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117388"></a>    arg_list: LIST OF STRING := ['length class', 'length solas',
<a id="p117389"></a>                                'scantlings draught', 'block coefficient class',
<a id="p117390"></a>                                'design speed ahead','design speed astern'];
<a id="p117391"></a>    violation: LOGICAL := FALSE;
<a id="p117392"></a>  END_LOCAL;

<a id="p117393"></a>  reps := QUERY(
<a id="p117394"></a>    temp_rep <* representation |
<a id="p117395"></a>      SIZEOF (
<a id="p117396"></a>        QUERY(
<a id="p117397"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117398"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117399"></a>          | (temp_prop_def_rep.name = 'class parameters')
<a id="p117400"></a>        )
<a id="p117401"></a>      ) > 0
<a id="p117402"></a>    );
<a id="p117403"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p117404"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p117405"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117406"></a>                                  rep_item.name = arg_list[j])) <> 1);
<a id="p117407"></a>    END_REPEAT;
<a id="p117408"></a>  END_REPEAT;
<a id="p117409"></a>  WHERE
<a id="p117410"></a>    wr1: NOT violation;
<a id="p117411"></a>**END_RULE;**
<a id="p117412"></a>(*
<a id="p117413"></a>Определения аргументов:
<a id="p117414"></a>representation: набор всех экземпляров объектов representation.
<a id="p117415"></a>Формальные высказывания:
<a id="p117416"></a>WR1: Для каждого объекта property_definition_representation с name = 'class parameters' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name) со значением 'length class', 'length solas', 'scantlings draught', 'block coefficient class', 'design speed ahead' или 'design speed astern'.

###### <a id="p117417"></a>5.2.4.131 Правило representation_restricted_by_name_principal_characteristics

<a id="p117418"></a>Правило representation_restricted_by_name_principal_characteristics определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'principal characteristics'.
<a id="p117419"></a>EXPRESS-спецификация:
<a id="p117420"></a>*)
<a id="p117421"></a>RULE representation_restricted_by_name_principal_characteristics
<a id="p117422"></a>FOR (representation);
<a id="p117423"></a>  LOCAL
<a id="p117424"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117425"></a>    arg_list: LIST OF STRING := ['length between perpendiculars',
<a id="p117426"></a>                                'moulded breadth', 'moulded depth'];
<a id="p117427"></a>    violation: LOGICAL := FALSE;
<a id="p117428"></a>  END_LOCAL;

<a id="p117429"></a>  reps := QUERY(
<a id="p117430"></a>    temp_rep <* representation |
<a id="p117431"></a>      SIZEOF (
<a id="p117432"></a>        QUERY(
<a id="p117433"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117434"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117435"></a>          | (temp_prop_def_rep.name =
<a id="p117436"></a>          'principal characteristics')
<a id="p117437"></a>        )
<a id="p117438"></a>      ) > 0
<a id="p117439"></a>    );

<a id="p117440"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p117441"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p117442"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117443"></a>                                rep_item.name = arg_list[j])) <> 1);
<a id="p117444"></a>    END_REPEAT;
<a id="p117445"></a>  END_REPEAT;
<a id="p117446"></a>  WHERE
<a id="p117447"></a>    wr1: NOT violation;
<a id="p117448"></a>**END_RULE;**
<a id="p117449"></a>(*
<a id="p117450"></a>Определения аргументов:
<a id="p117451"></a>representation: набор всех экземпляров объектов representation.
<a id="p117452"></a>Формальные высказывания:
<a id="p117453"></a>WR1: Для каждого объекта property_definition_representation с name = 'principal characteristics' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим значение 'length between perpendiculars', 'moulded breadth' или 'moulded depth'.

###### <a id="p117454"></a>5.2.4.132 Правило representation_restricted_by_name_ship_overall_dimensions

<a id="p117455"></a>Правило representation_restricted_by_name_ship_overall_dimensions определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'ship overall dimensions'.
<a id="p117456"></a>EXPRESS-спецификация:
<a id="p117457"></a>*)
<a id="p117458"></a>RULE representation_restricted_by_name_ship_overall_dimensions
<a id="p117459"></a>FOR (representation);
<a id="p117460"></a>  LOCAL
<a id="p117461"></a>    reps: BAG OF REPRESENTATION := [];
<a id="p117462"></a>    arg_list: LIST OF STRING := ['overall breadth', 'overall depth',
<a id="p117463"></a>                         'overall length', 'stem overhang'', 'stern overhang'];
<a id="p117464"></a>    violation: LOGICAL := FALSE;
<a id="p117465"></a>  END_LOCAL;

<a id="p117466"></a>  reps := QUERY(
<a id="p117467"></a>    temp_rep <* representation |
<a id="p117468"></a>      SIZEOF (
<a id="p117469"></a>        QUERY(
<a id="p117470"></a>          temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
<a id="p117471"></a>**'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))**
<a id="p117472"></a>          | (temp_prop_def_rep.name = 'ship overall dimensions')
<a id="p117473"></a>        )
<a id="p117474"></a>      ) > 0
<a id="p117475"></a>    );

<a id="p117476"></a>  REPEAT i:=1 TO HIINDEX(reps) WHILE (NOT violation);
<a id="p117477"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p117478"></a>      violation := (SIZEOF(QUERY(rep_item <* reps[i].items |
<a id="p117479"></a>                                rep_item.name = arg_list[j])) <> 1);
<a id="p117480"></a>    END_REPEAT;
<a id="p117481"></a>  END_REPEAT;
<a id="p117482"></a>  WHERE
<a id="p117483"></a>    wr1: NOT violation;
<a id="p117484"></a>**END_RULE;**
<a id="p117485"></a>(*
<a id="p117486"></a>Определения аргументов:
<a id="p117487"></a>representation: набор всех экземпляров объектов representation.
<a id="p117488"></a>Формальные высказывания:
<a id="p117489"></a>WR1: Для каждого объекта property_definition_representation с name = 'ship overall dimensions' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name), имеющим значение 'overall breadth', 'overall depth', 'overall length', 'stem overhang' или 'stern overhang'.

###### <a id="p117490"></a>5.2.4.133 Правило revision_has_mandatory_attribute_description

<a id="p117491"></a>Правило revision_has_mandatory_attribute_description определяет, что для экземпляра объекта group с идентификатором класса 'revision' создается экземпляр необязательного атрибута description.
<a id="p117492"></a>EXPRESS-спецификация:
<a id="p117493"></a>*)
<a id="p117494"></a>**RULE**
<a id="p117495"></a>revision_has_mandatory_attribute_description
<a id="p117496"></a>FOR (group);
<a id="p117497"></a>**LOCAL**
<a id="p117498"></a>  t1_set: SET OF group := [];
<a id="p117499"></a>  violate: LOGICAL := FALSE;
<a id="p117500"></a>  END_LOCAL;
<a id="p117501"></a>  t1_set := QUERY(i <* group | VALUE_IN(WHICH_CLASS(i), 'revision'));
<a id="p117502"></a>  violate := (SIZEOF(QUERY(k <* t1_set |
<a id="p117503"></a>  NOT EXISTS (k.description))) > 0);
<a id="p117504"></a>**WHERE**
<a id="p117505"></a>  WR1: NOT violate;
<a id="p117506"></a>**END_RULE;**
<a id="p117507"></a>(*
<a id="p117508"></a>Определения аргументов:
<a id="p117509"></a>group: набор всех экземпляров объектов group.
<a id="p117510"></a>Формальные высказывания:
<a id="p117511"></a>WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта group, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'revision'.

###### <a id="p117512"></a>5.2.4.134 Правило revision_with_context_referenced_for_context_of_revision

<a id="p117513"></a>Правило revision_with_context_referenced_for_context_of_revision определяет, что на каждый экземпляр типа group с классификацией 'revision' должна быть дана ссылка только из одного присваивания типа applied_group_assignment со значением роли 'context of revision' через атрибут assigned_group.
<a id="p117514"></a>EXPRESS-спецификация:
<a id="p117515"></a>*)
<a id="p117516"></a>**RULE**
<a id="p117517"></a>revision_with_context_referenced_for_context_of_revision FOR(applied_group_
assignment, group);
<a id="p117518"></a>  LOCAL
<a id="p117519"></a>    t1_set: SET OF group := [];
<a id="p117520"></a>    a_set: SET OF applied_group_assignment := [];
<a id="p117521"></a>    violate: LOGICAL := FALSE;
<a id="p117522"></a>  END_LOCAL;
<a id="p117523"></a>t1_set := QUERY(a <* group |
<a id="p117524"></a>    VALUE_IN(WHICH_CLASS(a), 'revision with context'));

<a id="p117525"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p117526"></a>  a_set := QUERY(b <* applied_group_assignment |
<a id="p117527"></a>                     (b.assigned_group = t1_set[i]) AND
<a id="p117528"></a>                     (b.role.name = 'context of revision'));
<a id="p117529"></a>  violate := SIZEOF(a_set) <> 1;
<a id="p117530"></a>  END_REPEAT;
<a id="p117531"></a>**WHERE**
<a id="p117532"></a>  WR1: NOT violate;
<a id="p117533"></a>**END_RULE;**
<a id="p117534"></a>(*
<a id="p117535"></a>Определения аргументов:
<a id="p117536"></a>applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.
<a id="p117537"></a>group: набор всех экземпляров объектов group.
<a id="p117538"></a>Формальные высказывания:
<a id="p117539"></a>WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_assignment, чей объект assigned_classification представляет собой объект group со значением 'revision with context' для атрибута name, должна даваться ссылка только из одного экземпляра вида applied_group_assignment, со значением роли 'context of revision', через атрибут assigned_group.

###### <a id="p117540"></a>5.2.4.135 Правило ship_curve_has_name

<a id="p117541"></a>Правило ship_curve_has_name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'ship curve' в объекте list_representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p117542"></a>EXPRESS-спецификация:
<a id="p117543"></a>*)
<a id="p117544"></a>RULE ship_curve_has_name
<a id="p117545"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p117546"></a>**LOCAL**
<a id="p117547"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117548"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p117549"></a>    t2_set: SET OF representation_item := [];
<a id="p117550"></a>    arg_list: LIST OF STRING := ['side condition', 'curve shape'];
<a id="p117551"></a>    violation: LOGICAL := FALSE;
<a id="p117552"></a>  END_LOCAL;

<a id="p117553"></a>  (* get all classification_assignment instances with id 'ship curve' *)
<a id="p117554"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117555"></a>                   i.ASSIGNED_CLASS.NAME = 'ship curve');

<a id="p117556"></a>  (* get all instances of compound_representation_item that have class id 'ship curve' *)
<a id="p117557"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117558"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117559"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117560"></a>    END_REPEAT;
<a id="p117561"></a>  END_REPEAT;

<a id="p117562"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not exactly one rep_item for each name in the arg_list *)
<a id="p117563"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p117564"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p117565"></a>      t2_set := t1_set[i].item_element;
<a id="p117566"></a>    violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1);
<a id="p117567"></a>    END_REPEAT;
<a id="p117568"></a>  END_REPEAT;

<a id="p117569"></a>  WHERE
<a id="p117570"></a>    wr1: NOT violation;

<a id="p117571"></a>**END_RULE;**
<a id="p117572"></a>(*
<a id="p117573"></a>Определения аргументов:
<a id="p117574"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117575"></a>Формальные высказывания:
<a id="p117576"></a>WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment со значением атрибута assigned_class.name, равным 'ship curve', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из следующих значений: 'side condition' или 'curve shape' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p117577"></a>5.2.4.136 Правило ship_curve_segment_has_class

<a id="p117578"></a>Правило ship_curve_segment_has_class определяет наличие для атрибута item_element объекта compound_representation_item с идентификатором класса 'ship curve segment' в объекте list_representation_item только одного объекта compound_representation_item с идентификатором класса 'ship curve'.
<a id="p117579"></a>EXPRESS-спецификация:
<a id="p117580"></a>*)
<a id="p117581"></a>RULE ship_curve_segment_has_class
<a id="p117582"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p117583"></a>**LOCAL**
<a id="p117584"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117585"></a>    c_a_set2 : SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117586"></a>    t1_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p117587"></a>    t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p117588"></a>    t3_set: SET OF REPRESENTATION_ITEM := [];
<a id="p117589"></a>    l_rep_item : list_representation_item;
<a id="p117590"></a>    violation: LOGICAL := FALSE;
<a id="p117591"></a>  END_LOCAL;

<a id="p117592"></a>  (* get all classification_assignment instances with id 'ship curve segment' *)
<a id="p117593"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117594"></a>                   i.ASSIGNED_CLASS.NAME = 'ship curve segment');

<a id="p117595"></a>  (* get all instances of compound_representation_item that have class id 'ship
curve segment' *)
<a id="p117596"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117597"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117598"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117599"></a>    END_REPEAT;
<a id="p117600"></a>  END_REPEAT;

<a id="p117601"></a>  (* get all classification_assignment instances with id 'ship curve' *)
<a id="p117602"></a>  c_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117603"></a>         i.ASSIGNED_CLASS.NAME = 'ship curve');

<a id="p117604"></a>  (* get all instances of compound_representation_item that have class id 'ship
curve' *)
<a id="p117605"></a>  REPEAT i := 1 TO HIINDEX(c_a_set2);
<a id="p117606"></a>    REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);
<a id="p117607"></a>      t2_set := t2_set + c_a_set2[i].items[j];
<a id="p117608"></a>    END_REPEAT;
<a id="p117609"></a>  END_REPEAT;

<a id="p117610"></a>  (* iterate over all compound_representation_item found in the first list; then
iterate over all item_element for each compound_representation_item, check that the
intersection of these item_elements and and the second list of compound_representation_
item is equal 1 *)
<a id="p117611"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p117612"></a>    REPEAT j := 1 TO HIINDEX(t1_set[i].item_element);
<a id="p117613"></a>      l_rep_item := t1_set[i].item_element;
<a id="p117614"></a>      t3_set := t3_set + l_rep_item[j];
<a id="p117615"></a>    END_REPEAT;
<a id="p117616"></a>    violation := (SIZEOF(t3_set * t2_set) <> 1);
<a id="p117617"></a>    t3_set:= [];
<a id="p117618"></a>  END_REPEAT;

<a id="p117619"></a>  WHERE
<a id="p117620"></a>    wr1: NOT violation;
<a id="p117621"></a>**END_RULE;**
<a id="p117622"></a>(*
<a id="p117623"></a>Определения аргументов:
<a id="p117624"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117625"></a>Формальные высказывания:
<a id="p117626"></a>WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен значению 'ship curve segment', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен забирать только один экземпляр объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class равен значению 'ship curve'.

###### <a id="p117627"></a>5.2.4.137 Правило ship_curve_with_spacing_position_has_class

<a id="p117628"></a>Правило ship_curve_with_spacing_position_has_class определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'ship curve with spacing position' в объекте list_representation_item только одного объекта compound_representation_item с идентификатором класса 'spacing position'.
<a id="p117629"></a>EXPRESS-спецификация:
<a id="p117630"></a>*)
<a id="p117631"></a>RULE ship_curve_with_spacing_position_has_class
<a id="p117632"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p117633"></a>**LOCAL**
<a id="p117634"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117635"></a>    c_a_set2 : SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117636"></a>    t1_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p117637"></a>    t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p117638"></a>    t3_set: SET OF REPRESENTATION_ITEM := [];
<a id="p117639"></a>    l_rep_item : list_representation_item;
<a id="p117640"></a>    violation: LOGICAL := FALSE;
<a id="p117641"></a>  END_LOCAL;

<a id="p117642"></a>  (* get all classification_assignment instances with id 'ship curve with spacing
position' *)

<a id="p117643"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117644"></a>                   i.ASSIGNED_CLASS.NAME = 'ship curve with spacing position');

<a id="p117645"></a>  (* get all instances of compound_representation_item that have class id 'ship
curve with spacing position' *)
<a id="p117646"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117647"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117648"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117649"></a>    END_REPEAT;
<a id="p117650"></a>  END_REPEAT;

<a id="p117651"></a>(* get all classification_assignment instances with id 'spacing position' *)
<a id="p117652"></a>  c_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117653"></a>            i.ASSIGNED_CLASS.NAME = 'spacing position');

<a id="p117654"></a>  (* get all instances of compound_representation_item that have class id 'spacing
position' *)
<a id="p117655"></a>  REPEAT i := 1 TO HIINDEX(c_a_set2);
<a id="p117656"></a>    REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);
<a id="p117657"></a>      t2_set := t2_set + c_a_set2[i].items[j];
<a id="p117658"></a>    END_REPEAT;
<a id="p117659"></a>  END_REPEAT;

<a id="p117660"></a>  (* iterate over all compound_representation_item found in the first list; then
iterate over all item_element for each compound_representation_item, check that
the intersection of these item_elements and and the second list of compound_
representation_item is equal 1 *)
<a id="p117661"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p117662"></a>    REPEAT j := 1 TO HIINDEX(t1_set[i].item_element);
<a id="p117663"></a>      l_rep_item := t1_set[i].item_element;
<a id="p117664"></a>    t3_set := t3_set + l_rep_item[j];
<a id="p117665"></a>    END_REPEAT;
<a id="p117666"></a>    violation := (SIZEOF(t3_set * t2_set) <> 1);
<a id="p117667"></a>    t3_set:= [];
<a id="p117668"></a>  END_REPEAT;

<a id="p117669"></a>  WHERE
<a id="p117670"></a>    wr1: NOT violation;

<a id="p117671"></a>**END_RULE;**
<a id="p117672"></a>(*
<a id="p117673"></a>Определения аргументов:
<a id="p117674"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117675"></a>Формальные высказывания:
<a id="p117676"></a>WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен значению 'ship curve with spacing position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен забирать только один экземпляр объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class равен значению 'spacing position'.

###### <a id="p117677"></a>5.2.4.138 Правило ship_designation_has_one_specified_names

<a id="p117678"></a>Правило ship_designation_has_one_specified_names определяет, что на экземпляр объекта product_definition с идентификатором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, у которого атрибут role, определяющий объект с атрибутом name, имеет значение 'imo number' или 'pennant hull number'.
<a id="p117679"></a>EXPRESS-спецификация:
<a id="p117680"></a>*)
<a id="p117681"></a>RULE ship_designation_has_one_specified_names FOR(applied_classification_
assignment);
<a id="p117682"></a>  LOCAL
<a id="p117683"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117684"></a>    t1_set: SET OF product_definition := [];
<a id="p117685"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p117686"></a>    violation: LOGICAL := FALSE;
<a id="p117687"></a>  END_LOCAL;

<a id="p117688"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117689"></a>                   i.assigned_class.NAME = 'ship designation');

<a id="p117690"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117691"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117692"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117693"></a>    END_REPEAT;
<a id="p117694"></a>  END_REPEAT;

<a id="p117695"></a>  REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
<a id="p117696"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p117697"></a>    'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p117698"></a>    violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | (t2_inst.role.name =
<a id="p117699"></a>    'imo number')OR (t2_inst.role.name = 'pennant hull number') )) = 1);
<a id="p117700"></a>  END_REPEAT;
<a id="p117701"></a>  WHERE
<a id="p117702"></a>    WR1: NOT violation;
<a id="p117703"></a>**END_RULE;**
<a id="p117704"></a>(*
<a id="p117705"></a>Определения аргументов:
<a id="p117706"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117707"></a>Формальные высказывания:
<a id="p117708"></a>WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_classification_assignment, где assigned_class представляет собой group с атрибутом name со значением 'ship designation', приведена ссылка только из одного экземпляра объекта applied_identification_assignment через атрибут items, чей атрибут role представляет собой identification_role с атрибутом name, равным либо 'imo number', либо 'pennant hull number'.

###### <a id="p117709"></a>5.2.4.139 Правило ship_moulded_form_revision_has_description

<a id="p117710"></a>Правило ship_moulded_form_revision_has_description определяет, что для экземпляра объекта product_definition_relationship с идентификатором класса 'ship moulded form revision' создается экземпляр необязательного атрибута description.
<a id="p117711"></a>EXPRESS-спецификация:
<a id="p117712"></a>*)
<a id="p117713"></a>RULE ship_moulded_form_revision_has_description
<a id="p117714"></a>FOR (product_definition_relationship);
<a id="p117715"></a>**LOCAL**
<a id="p117716"></a>    t1_set: SET OF product_definition_relationship := [];
<a id="p117717"></a>    violate: LOGICAL := FALSE;
<a id="p117718"></a>  END_LOCAL;

<a id="p117719"></a>(* get all instances of product_definition_relationship being classified as 'ship
moulded form revision' *)
<a id="p117720"></a>t1_set := QUERY(i <* product_definition_relationship |
<a id="p117721"></a>VALUE_IN(WHICH_CLASS(i), 'ship moulded form revision'));

<a id="p117722"></a>(* from all instances found above: find those for which attribute description is
not instanciated *)

<a id="p117723"></a>violate := (SIZEOF(QUERY(k <* t1_set | NOT EXISTS (k.description))) > 0);

<a id="p117724"></a>**WHERE**
<a id="p117725"></a>  wr1: NOT violate;
<a id="p117726"></a>**END_RULE;**
<a id="p117727"></a>(*
<a id="p117728"></a>Определения аргументов:
<a id="p117729"></a>product_definition_relationship: набор всех экземпляров объектов product_definition_relationship.
<a id="p117730"></a>Формальные высказывания:
<a id="p117731"></a>WR1: Необязательный атрибут description должен существовать для каждого экземпляра объекта product_definition_relationship, у которого есть объект applied_classification_assignment со значением 'ship moulded form revision' для assigned_class.name.

###### <a id="p117732"></a>5.2.4.140 Правило ship_overall_dimensions_has_properties

<a id="p117733"></a>Правило ship_overall_dimensions_has_properties определяет, что на объект product_definition с идентификатором класса 'ship overall dimensions' приведена ссылка из одного объекта property_definition_representation со значением имени 'ship overall dimensions' через объект property_definition.
<a id="p117734"></a>EXPRESS-спецификация:
<a id="p117735"></a>*)
<a id="p117736"></a>RULE ship_overall_dimensions_has_properties
<a id="p117737"></a>FOR (property_definition_representation, applied_classification_assignment);
<a id="p117738"></a>  LOCAL
<a id="p117739"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117740"></a>    t1_set: LIST OF product_definition := [];
<a id="p117741"></a>    t2_set: SET OF property_definition_representation := [];
<a id="p117742"></a>    t3_set: LIST OF property_definition := [];
<a id="p117743"></a>    t4_set: LIST OF product_definition := [];
<a id="p117744"></a>    violation: LOGICAL := FALSE;
<a id="p117745"></a>  END_LOCAL;
<a id="p117746"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117747"></a>           i.assigned_class.NAME =
<a id="p117748"></a>           'ship overall dimensions');
<a id="p117749"></a>    REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117750"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117751"></a>        t1_set := t1_set + c_a_set[i].items[j];
<a id="p117752"></a>      END_REPEAT;
<a id="p117753"></a>    END_REPEAT;
<a id="p117754"></a>    t2_set:= QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |
<a id="p117755"></a>                   i.NAME = 'ship overall dimensions');
<a id="p117756"></a>    REPEAT i := 1 TO HIINDEX(t2_set);
<a id="p117757"></a>      t3_set := t3_set + t2_set[i].definition;
<a id="p117758"></a>    END_REPEAT;
<a id="p117759"></a>    REPEAT i := 1 TO HIINDEX(t3_set);
<a id="p117760"></a>      t4_set := t4_set + t3_set[i].definition;
<a id="p117761"></a>    END_REPEAT;
<a id="p117762"></a>violation := t1_set <> t4_set;
<a id="p117763"></a>**WHERE**
<a id="p117764"></a>  WR1: NOT violation;
<a id="p117765"></a>**END_RULE;**
<a id="p117766"></a>(*
<a id="p117767"></a>Определения аргументов:
<a id="p117768"></a>property_definition_representation: набор всех экземпляров объектов property_definition_representation.
<a id="p117769"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117770"></a>Формальные высказывания:
<a id="p117771"></a>WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_classification_assignment, чей атрибут assigned_class представляет собой group со значением 'ship overall dimensions' для атрибута name, должна быть дана ссылка только из одного экземпляра объекта property_definition через атрибут definition, на который, в свою очередь, приведена ссылка из экземпляра объекта property_definition_representation через атрибут definition, значение атрибута name которого равно 'ship overall dimensions'.

###### <a id="p117772"></a>5.2.4.141 Правило ship_point_compound_representation_has_name

<a id="p117773"></a>Правило ship_point_compound_representation_has_name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'ship point' в объекте list_representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p117774"></a>EXPRESS-спецификация:
<a id="p117775"></a>*)
<a id="p117776"></a>RULE ship_point_compound_representation_has_name
<a id="p117777"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p117778"></a>**LOCAL**
<a id="p117779"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117780"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p117781"></a>    t2_set: SET OF representation_item := [];
<a id="p117782"></a>    arg_list: LIST OF STRING := ['point shape'];
<a id="p117783"></a>    violation: LOGICAL := FALSE;
<a id="p117784"></a>  END_LOCAL;

<a id="p117785"></a>  (* get all classification_assignment instances with id 'ship point' *)
<a id="p117786"></a>c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117787"></a>                 i.ASSIGNED_CLASS.NAME = 'ship point');

<a id="p117788"></a>  (* get all instances of compound_representation_item that have class id 'ship
point' *)
<a id="p117789"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117790"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117791"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117792"></a>    END_REPEAT;
<a id="p117793"></a>  END_REPEAT;

<a id="p117794"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not exactly one rep_item for each name in the arg_list *)
<a id="p117795"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p117796"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p117797"></a>      t2_set := t1_set[i].item_element;
<a id="p117798"></a>    violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1);
<a id="p117799"></a>    END_REPEAT;
<a id="p117800"></a>  END_REPEAT;

<a id="p117801"></a>  WHERE
<a id="p117802"></a>    wr1: NOT violation;

<a id="p117803"></a>**END_RULE;**
<a id="p117804"></a>(*
<a id="p117805"></a>Определения аргументов:
<a id="p117806"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117807"></a>Формальные высказывания:
<a id="p117808"></a>WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_classification_assignment со значением атрибута assigned_class.name, равным 'ship point', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'point shape' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p117809"></a>5.2.4.142 Правило ship_surface_compound_representation_has_name

<a id="p117810"></a>Правило ship_surface_compound_representation_has_name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'ship surface' в объекте list_representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p117811"></a>EXPRESS-спецификация:
<a id="p117812"></a>*)
<a id="p117813"></a>RULE ship_surface_compound_representation_has_name
<a id="p117814"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p117815"></a>**LOCAL**
<a id="p117816"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117817"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p117818"></a>    t2_set: SET OF representation_item := [];
<a id="p117819"></a>    arg_list: LIST OF STRING := ['surface shape'];
<a id="p117820"></a>    violation: LOGICAL := FALSE;
<a id="p117821"></a>  END_LOCAL;
<a id="p117822"></a>  (* get all classification_assignment instances with id 'ship surface' *)
<a id="p117823"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117824"></a>                   i.ASSIGNED_CLASS.NAME = 'ship surface');

<a id="p117825"></a>  (* get all instances of compound_representation_item that have class id 'ship
surface' *)
<a id="p117826"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117827"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117828"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117829"></a>    END_REPEAT;
<a id="p117830"></a>  END_REPEAT;

<a id="p117831"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not exactly one rep_item for each name in the arg_list *)
<a id="p117832"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p117833"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p117834"></a>      t2_set := t1_set[i].item_element;
<a id="p117835"></a>  violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1);
<a id="p117836"></a>    END_REPEAT;
<a id="p117837"></a>  END_REPEAT;

<a id="p117838"></a>  WHERE
<a id="p117839"></a>    wr1: NOT violation;

<a id="p117840"></a>**END_RULE;**
<a id="p117841"></a>(*
<a id="p117842"></a>Определения аргументов:
<a id="p117843"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117844"></a>Формальные высказывания:
<a id="p117845"></a>WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_classification_assignment со значением атрибута assigned_class.name, равным 'ship surface', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'surface shape' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p117846"></a>5.2.4.143 Правило spacing_position_compound_representation_has_name

<a id="p117847"></a>Правило spacing_position_compound_representation_has_name определяет для атрибута item_element объекта compound_representation_item с идентификатором класса 'spacing position' наличие в перечне объектов representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p117848"></a>EXPRESS-спецификация:
<a id="p117849"></a>*)
<a id="p117850"></a>RULE spacing_position_compound_representation_has_name
<a id="p117851"></a>FOR (applied_classification_assignment);
<a id="p117852"></a>**LOCAL**
<a id="p117853"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117854"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p117855"></a>    t2_set: SET Of representation_item := [];
<a id="p117856"></a>    arg_list: LIST OF STRING := ['position number', 'position'];
<a id="p117857"></a>    violation: LOGICAL := FALSE;
<a id="p117858"></a>  END_LOCAL;

<a id="p117859"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117860"></a>                   i.assigned_class.NAME = 'spacing position');

<a id="p117861"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117862"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117863"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117864"></a>    END_REPEAT;
<a id="p117865"></a>  END_REPEAT;

<a id="p117866"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p117867"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p117868"></a>      t2_set := t1_set[i].item_element;
<a id="p117869"></a>      violation := (SIZEOF(QUERY(items <* t2_set |
<a id="p117870"></a>                                  items.name = arg_list[j])) <> 1);
<a id="p117871"></a>    END_REPEAT;
<a id="p117872"></a>  END_REPEAT;
<a id="p117873"></a>  WHERE
<a id="p117874"></a>    WR1: NOT violation;
<a id="p117875"></a>**END_RULE;**
<a id="p117876"></a>(*
<a id="p117877"></a>Определения аргументов:
<a id="p117878"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117879"></a>Формальные высказывания:
<a id="p117880"></a>WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, где атрибут assigned_class представляет собой group с атрибутом name, равным 'spacing position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'position number' или 'position' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p117881"></a>5.2.4.144 Правило spacing_position_with_offset_compound_representation_has_class

<a id="p117882"></a>Правило spacing_position_with_offset_compound_representation_has_class задает атрибут item_element для compound_representation_item с идентификатором класса 'spacing position with offset' для получения в list_representation_item ровно одного compound_representation_item с идентификатором класса 'spacing position'.
<a id="p117883"></a>EXPRESS-спецификация:
<a id="p117884"></a>*)
<a id="p117885"></a>RULE spacing_position_with_offset_compound_representation_has_class
<a id="p117886"></a>  FOR (applied_classification_assignment);
<a id="p117887"></a>  LOCAL
<a id="p117888"></a>    t3_set : SET OF representation_item := [];
<a id="p117889"></a>    violation : LOGICAL := FALSE;
<a id="p117890"></a>    t1_set : SET OF compound_representation_item := [];
<a id="p117891"></a>    c_a_set : SET OF applied_classification_assignment := [];
<a id="p117892"></a>    c_a_set2 : SET OF applied_classification_assignment := [];
<a id="p117893"></a>    l_rep_item : list_representation_item;
<a id="p117894"></a>    t2_set : SET OF compound_representation_item := [];
<a id="p117895"></a>  END_LOCAL;
<a id="p117896"></a>  c_a_set := QUERY ( i <* applied_classification_assignment |
<a id="p117897"></a>                     (i.assigned_class.name = 'spacing position with offset') );
<a id="p117898"></a>  REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p117899"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p117900"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117901"></a>    END_REPEAT;
<a id="p117902"></a>  END_REPEAT;
<a id="p117903"></a>  c_a_set2 := QUERY ( i <* applied_classification_assignment |
<a id="p117904"></a>                     (i.assigned_class.name = 'spacing position') );
<a id="p117905"></a>  REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;
<a id="p117906"></a>    REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;
<a id="p117907"></a>      t2_set := t2_set + c_a_set2[i].items[j];
<a id="p117908"></a>    END_REPEAT;
<a id="p117909"></a>  END_REPEAT;
<a id="p117910"></a>  REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p117911"></a>    REPEAT j := 1 TO HIINDEX(t1_set[i].item_element) BY 1;
<a id="p117912"></a>      l_rep_item := t1_set[i].item_element;
<a id="p117913"></a>      t3_set := t3_set + l_rep_item[j];
<a id="p117914"></a>    END_REPEAT;
<a id="p117915"></a>  violation := SIZEOF(t3_set * t2_set) <> 1;
<a id="p117916"></a>  t3_set := [];
<a id="p117917"></a>  END_REPEAT;

<a id="p117918"></a>  WHERE
<a id="p117919"></a>    wr1: (NOT violation);
<a id="p117920"></a>**END_RULE;**
<a id="p117921"></a>(*
<a id="p117922"></a>Определения аргументов:
<a id="p117923"></a>applied_classification_assignment: набор всех экземпляров applied_classification_assignment.
<a id="p117924"></a>Формальные высказывания:
<a id="p117925"></a>WR1: Каждый экземпляр compound_representation_item, у которого есть applied_classification_assignment, чей атрибут assigned_class является группой group с равной 'spacing position with offset' атрибута имени name, должен иметь свой атрибут item_element в качестве list_representation_item, который должен забирать ровно один экземпляр compound_representation_item, имеющий назначение applied_classification_assignment, чей атрибут assigned_class равен 'spacing position'.

###### <a id="p117926"></a>5.2.4.145 Правило spacing_position_with_offset_compound_representation_has_name

<a id="p117927"></a>Правило spacing_position_with_offset_compound_representation_has_name определяет для атрибута item_element объекта compound_representation_item с идентификатором класса 'spacing position' наличие в перечне объектов representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p117928"></a>EXPRESS-спецификация:
<a id="p117929"></a>*)
<a id="p117930"></a>RULE spacing_position_with_offset_compound_representation_has_name
<a id="p117931"></a>FOR (applied_classification_assignment);
<a id="p117932"></a>**LOCAL**
<a id="p117933"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117934"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p117935"></a>    t2_set: SET Of representation_item := [];
<a id="p117936"></a>    arg_list: LIST OF STRING := ['offset'];
<a id="p117937"></a>    violation: LOGICAL := FALSE;
<a id="p117938"></a>  END_LOCAL;

<a id="p117939"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117940"></a>                   i.assigned_class.NAME =
<a id="p117941"></a>                   'spacing position with offset');

<a id="p117942"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117943"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117944"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117945"></a>    END_REPEAT;
<a id="p117946"></a>  END_REPEAT;

<a id="p117947"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p117948"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p117949"></a>      t2_set := t1_set[i].item_element;
<a id="p117950"></a>      violation := (SIZEOF(QUERY(items <* t2_set |
<a id="p117951"></a>      items.name = arg_list[j])) <> 1);
<a id="p117952"></a>    END_REPEAT;
<a id="p117953"></a>  END_REPEAT;
<a id="p117954"></a>  WHERE
<a id="p117955"></a>    WR1: NOT violation;
<a id="p117956"></a>**END_RULE;**
<a id="p117957"></a>(*
<a id="p117958"></a>Определения аргументов:
<a id="p117959"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p117960"></a>Формальные высказывания:
<a id="p117961"></a>WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, где атрибут assigned_class представляет собой group с атрибутом name, равным 'spacing position with offset', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'offset' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p117962"></a>5.2.4.146 Правило stability_properties_for_floating_position_has_class

<a id="p117963"></a>Правило stability_properties_for_floating_position_has_class определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'stability properties for one floating position' в объекте list_representation_item одного или более объектов compound_representation_item с идентификатором класса 'stability property'.
<a id="p117964"></a>EXPRESS-спецификация:
<a id="p117965"></a>*)
<a id="p117966"></a>**RULE**
<a id="p117967"></a>stability_properties_for_floating_position_has_class
<a id="p117968"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p117969"></a>**LOCAL**
<a id="p117970"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117971"></a>    c_a_set2 : SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p117972"></a>    t1_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p117973"></a>    t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];
<a id="p117974"></a>    t3_set: SET OF REPRESENTATION_ITEM := [];
<a id="p117975"></a>    l_rep_item: list_representation_item;
<a id="p117976"></a>    violation: LOGICAL := FALSE;
<a id="p117977"></a>  END_LOCAL;

<a id="p117978"></a>  (* get all classification_assignment instances with id 'stability properties
for one floating position' *)
<a id="p117979"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117980"></a>           i.Assigned_class.name = 'stability properties for one floating
position');

<a id="p117981"></a>  (* get all instances of compound_representation_item that have class id
'stability properties for one floating position' *)
<a id="p117982"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p117983"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p117984"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p117985"></a>    END_REPEAT;
<a id="p117986"></a>  END_REPEAT;

<a id="p117987"></a>(* get all classification_assignment instances with id 'stability property' *)
<a id="p117988"></a>  c_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p117989"></a>           i.Assigned_class.name = 'stability property');

<a id="p117990"></a>  (* get all instances of compound_representation_item that have class id
'stability property' *)
<a id="p117991"></a>  REPEAT i := 1 TO HIINDEX(c_a_set2);
<a id="p117992"></a>    REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);
<a id="p117993"></a>      t2_set := t2_set + c_a_set2[i].items[j];
<a id="p117994"></a>    END_REPEAT;
<a id="p117995"></a>  END_REPEAT;

<a id="p117996"></a>  (* iterate over all compound_representation_item found in the first list;
then iterate over all item_element for each compound_representation_item, check
that the intersection of these item_elements and the second list of compound_
representation_item is greater than or equal to 1 *)
<a id="p117997"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p117998"></a>    REPEAT j := 1 TO HIINDEX(t1_set[i].item_element);
<a id="p117999"></a>      l_rep_item := t1_set[i].item_element;
<a id="p118000"></a>      t3_set := t3_set + l_rep_item[j];
<a id="p118001"></a>    END_REPEAT;
<a id="p118002"></a>  violation := (SIZEOF(t3_set * t2_set) < 1);
<a id="p118003"></a>  t3_set:= [];
<a id="p118004"></a>  END_REPEAT;

<a id="p118005"></a>  WHERE
<a id="p118006"></a>    wr1: NOT violation;

<a id="p118007"></a>**END_RULE;**
<a id="p118008"></a>(*
<a id="p118009"></a>Определения аргументов:
<a id="p118010"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p118011"></a>Формальные высказывания:
<a id="p118012"></a>WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен значению 'stability properties for one floating position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен забирать один или более экземпляров объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class равен значению 'stability property'.

###### <a id="p118013"></a>5.2.4.147 Правило stability_properties_for_floating_position_has_name

<a id="p118014"></a>Правило stability_properties_for_floating_position_has_name определяет для атрибута item_element объекта compound_representation_item с идентификатором класса 'stability properties for one floating position' наличие в объекте list_representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p118015"></a>EXPRESS-спецификация:
<a id="p118016"></a>*)
<a id="p118017"></a>**RULE**
<a id="p118018"></a>stability_properties_for_floating_position_has_name
<a id="p118019"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p118020"></a>**LOCAL**
<a id="p118021"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p118022"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p118023"></a>    t2_set: SET OF representation_item := [];
<a id="p118024"></a>    arg_list: LIST OF STRING := ['centre of gravity above keel',
'definition of starting floating position'];
<a id="p118025"></a>    violation: LOGICAL := FALSE;
<a id="p118026"></a>  END_LOCAL;

<a id="p118027"></a>  (* get all classification_assignment instances with id 'stability properties
for one floating position' *)
<a id="p118028"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p118029"></a>           i.Assigned_class.name = 'stability properties for one floating
position');

<a id="p118030"></a>  (* get all instances of compound_representation_item that have class id
'stability properties for one floating position' *)
<a id="p118031"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p118032"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p118033"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p118034"></a>    END_REPEAT;
<a id="p118035"></a>  END_REPEAT;

<a id="p118036"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not exactly one rep_item for each name in the arg_list *)
<a id="p118037"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p118038"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p118039"></a>      t2_set := t1_set[i].item_element;
<a id="p118040"></a>  violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <>
1);
<a id="p118041"></a>    END_REPEAT;
<a id="p118042"></a>  END_REPEAT;

<a id="p118043"></a>  WHERE
<a id="p118044"></a>    wr1: NOT violation;
<a id="p118045"></a>**END_RULE;**
<a id="p118046"></a>(*
<a id="p118047"></a>Определения аргументов:
<a id="p118048"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p118049"></a>Формальные высказывания:
<a id="p118050"></a>WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_classification_assignment со значением атрибута assigned_class.name, равным 'stability properties for one floating position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'centre of gravity above keel' или 'definition of starting floating position' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.

###### <a id="p118051"></a>5.2.4.148 Правило stability_property_has_name

<a id="p118052"></a>Правило stability_property_has_name определяет для атрибута item_element объекта compound_representation_item с идентификатором класса 'stability property' наличие в объекте list_representation_item для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.
<a id="p118053"></a>EXPRESS-спецификация:
<a id="p118054"></a>*)
<a id="p118055"></a>RULE stability_property_has_name
<a id="p118056"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p118057"></a>**LOCAL**
<a id="p118058"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p118059"></a>    t1_set: SET OF Compound_representation_item := [];
<a id="p118060"></a>    t2_set: SET OF representation_item := [];
<a id="p118061"></a>    arg_list: LIST OF STRING := ['angle of heel', 'righting arm', 'centre of buoyancy'];
<a id="p118062"></a>    violation: LOGICAL := FALSE;
<a id="p118063"></a>  END_LOCAL;

<a id="p118064"></a>  (* get all classification_assignment instances with id 'stability
property' *)
<a id="p118065"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p118066"></a>                   i.Assigned_class.name = 'stability property');

<a id="p118067"></a>  (* get all instances of compound_representation_item that have class id
'stability property' *)
<a id="p118068"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p118069"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p118070"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p118071"></a>    END_REPEAT;
<a id="p118072"></a>  END_REPEAT;

<a id="p118073"></a>  (* iterate over all compound_representation_item found above; stop, if one of
them has not exactly one rep_item for each name in the arg_list *)
<a id="p118074"></a>  REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
<a id="p118075"></a>    REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p118076"></a>      t2_set := t1_set[i].item_element;
<a id="p118077"></a>  violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1);
<a id="p118078"></a>    END_REPEAT;
<a id="p118079"></a>  END_REPEAT;
<a id="p118080"></a>  WHERE
<a id="p118081"></a>    wr1: NOT violation;

<a id="p118082"></a>**END_RULE;**
<a id="p118083"></a>(*
<a id="p118084"></a>Определения аргументов:
<a id="p118085"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p118086"></a>Формальные высказывания:
<a id="p118087"></a>WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_classification_assignment со значением атрибута assigned_class.name, равным 'stability property', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'angle of heel', 'righting arm' или 'centre of buoyancy' забирать только один экземпляр объекта representation_item с атрибутом name, значение которого равно этому значению.
<a id="p118088"></a>5.2.4.149 surface_with_identification_assignment
<a id="p118089"></a>Правило surface_with_identification_assignment задает перечень сущностей, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_assignment.
<a id="p118090"></a>EXPRESS-спецификация:
<a id="p118091"></a>*)
<a id="p118092"></a>RULE surface_with_identification_assignment
<a id="p118093"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p118094"></a>  LOCAL
<a id="p118095"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p118096"></a>    t1_set: SET OF surface := [];
<a id="p118097"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p118098"></a>    arg_list: LIST OF STRING := ['surface with identifier'];
<a id="p118099"></a>    violation: LOGICAL := FALSE;
<a id="p118100"></a>  END_LOCAL;

<a id="p118101"></a>  (* get all classification_assignment instances *)
<a id="p118102"></a>  REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p118103"></a>    c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p118104"></a>                     i.assigned_class.NAME = arg_LIST[j]);
<a id="p118105"></a>  END_REPEAT;

<a id="p118106"></a>  (* get all instances of surface that have class id *)
<a id="p118107"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p118108"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p118109"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p118110"></a>    END_REPEAT;
<a id="p118111"></a>  END_REPEAT;
<a id="p118112"></a>  REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p118113"></a>    t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p118114"></a>**'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p118115"></a>    t2_set := QUERY ( j <* t2_set |
<a id="p118116"></a>    j.role.name = 'globally unambiguous identifier');
<a id="p118117"></a>violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p118118"></a>  END_REPEAT;

<a id="p118119"></a>  WHERE
<a id="p118120"></a>    wr1: NOT violation;
<a id="p118121"></a>**END_RULE;**
<a id="p118122"></a>(*
<a id="p118123"></a>Определения аргументов:
<a id="p118124"></a>applied_classification_assignment: набор всех экземпляров applied_classification_assignment.
<a id="p118125"></a>Формальные высказывания:
<a id="p118126"></a>WR1: Для каждого экземпляра поверхности surface, на который ссылается application_classification_assignment, чей assigned_class имеет атрибут имени name со значением "поверхность с идентификатором", должно требоваться application_identification_assignment для определения идентификатора экземпляра.

###### <a id="p118127"></a>5.2.4.150 Правило user_def_appendage_type_description_required

<a id="p118128"></a>Правило user_def_appendage_type_description_required определяет для атрибута representation, содержащего объект descriptive_representation_item со значением 'type of appendage' для name и 'user defined' для description, наличие другого объекта descriptive_representation_item со значением 'user def appendage type' для name.
<a id="p118129"></a>EXPRESS-спецификация:
<a id="p118130"></a>*)
<a id="p118131"></a>RULE user_def_appendage_type_description_required
<a id="p118132"></a>**FOR (REPRESENTATION);**

<a id="p118133"></a>  LOCAL
<a id="p118134"></a>violation: LOGICAL := FALSE;
<a id="p118135"></a>  END_LOCAL;
<a id="p118136"></a>  REPEAT i := 1 TO HIINDEX(REPRESENTATION) WHILE NOT violation;
<a id="p118137"></a>  violation := (SIZEOF(QUERY(r <* REPRESENTATION[i].ITEMS |
<a id="p118138"></a>    ('SHIP_MOULDED_FORM_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
<a id="p118139"></a>    IN TYPEOF(r)) AND
<a id="p118140"></a>    (r.NAME = 'type of appendage') AND
<a id="p118141"></a>    (r\DESCRIPTIVE_REPRESENTATION_ITEM.DESCRIPTION = 'user defined'))) > 0)
<a id="p118142"></a>      AND
<a id="p118143"></a>        (SIZEOF(QUERY(r <* REPRESENTATION[i].ITEMS |
<a id="p118144"></a>        (r.NAME = 'user def appendage type'))) = 0);
<a id="p118145"></a>  END_REPEAT;

<a id="p118146"></a>  WHERE
<a id="p118147"></a>  WR1: NOT violation;
<a id="p118148"></a>**END_RULE;**
<a id="p118149"></a>(*
<a id="p118150"></a>Определения аргументов:
<a id="p118151"></a>representation: набор всех экземпляров объектов representation.
<a id="p118152"></a>Формальные высказывания:
<a id="p118153"></a>WR1: Для каждого объекта representation, содержащего объект descriptive_representation_item со значением 'type of appendage' для name и 'user defined' для description в своем наборе элементов (items), должен быть другой объект descriptive_representation_item со значением 'user def appendage type' для name в его наборе items.

###### <a id="p118154"></a>5.2.4.151 Правило user_def_function_description_required

<a id="p118155"></a>Правило user_def_function_description_required определяет для атрибута representation, содержащего объект descriptive_representation_item со значением 'function' для name и 'user defined' для description, наличие другого объекта descriptive_representation_item со значением 'user def function' для name.
<a id="p118156"></a>EXPRESS-спецификация:
<a id="p118157"></a>*)
<a id="p118158"></a>RULE user_def_function_description_required
<a id="p118159"></a>**FOR (REPRESENTATION);**

<a id="p118160"></a>  LOCAL
<a id="p118161"></a>    violation: LOGICAL := FALSE;
<a id="p118162"></a>  END_LOCAL;
<a id="p118163"></a>  REPEAT i := 1 TO HIINDEX(REPRESENTATION) WHILE NOT violation;
<a id="p118164"></a>    violation := (SIZEOF(QUERY(r <* REPRESENTATION[i].ITEMS |

<a id="p118165"></a>**('SHIP_MOULDED_FORM_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'**
<a id="p118166"></a>            IN TYPEOF(r)) AND
<a id="p118167"></a>            (r.NAME = 'function') AND
<a id="p118168"></a>            (r\DESCRIPTIVE_REPRESENTATION_ITEM.DESCRIPTION = 'user defined'))) > 0)
<a id="p118169"></a>            AND
<a id="p118170"></a>            (SIZEOF(QUERY(r <* REPRESENTATION[i].ITEMS |
<a id="p118171"></a>            (r.NAME = 'user def function'))) = 0);
<a id="p118172"></a>  END_REPEAT;

<a id="p118173"></a>  WHERE
<a id="p118174"></a>    WR1: NOT violation;
<a id="p118175"></a>**END_RULE;**
<a id="p118176"></a>(*
<a id="p118177"></a>Определения аргументов:
<a id="p118178"></a>representation: набор всех экземпляров объектов representation.
<a id="p118179"></a>Формальные высказывания:
<a id="p118180"></a>WR1: Для каждого объекта representation, содержащего объект descriptive_representation_item со значением 'function' для name и 'user defined' для description в своем наборе элементов (items), должен быть другой объект descriptive_representation_item со значением 'user def function' для name в его наборе items.

###### <a id="p118181"></a>5.2.4.152 Правило valid_product_definition_for_class_moulded_form

<a id="p118182"></a>Правило valid_product_definition_for_class_moulded_form определяет объект product_definition с классификацией 'ship moulded form', который также представляет собой объект group. На объект group должна быть дана ссылка из объекта applied_group_assignment, чей атрибут role.name = 'item structure' и который собирает экземпляры product_definition с классификацией 'moulded form', и экземпляры product_definition_relationship с классификацией 'moulded form relationship' через свой атрибут applied_group_assignment.items.
<a id="p118183"></a>EXPRESS-спецификация:
<a id="p118184"></a>*)
<a id="p118185"></a>**RULE**
<a id="p118186"></a>valid_product_definition_for_class_moulded_form
<a id="p118187"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT,APPLIED_GROUP_ASSIGNMENT);**
<a id="p118188"></a>**LOCAL**
<a id="p118189"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];
<a id="p118190"></a>    t1_set: SET OF PRODUCT_DEFINITION := [];
<a id="p118191"></a>    gr_ass: SET OF APPLIED_GROUP_ASSIGNMENT := [];
<a id="p118192"></a>    groups: SET OF GROUP := [];
<a id="p118193"></a>    violation: LOGICAL := FALSE;
<a id="p118194"></a>    violate1, violate2 : LOGICAL;
<a id="p118195"></a>  END_LOCAL;

<a id="p118196"></a>  (* get all classification_assignment instances with id 'ship moulded form' *)
<a id="p118197"></a>  c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p118198"></a>                   i.ASSIGNED_CLASS.NAME = 'ship moulded form');

<a id="p118199"></a>  (* get all instances of product_definition that have class id 'ship moulded
form' *)
<a id="p118200"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p118201"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p118202"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p118203"></a>    END_REPEAT;
<a id="p118204"></a>  END_REPEAT;

<a id="p118205"></a>  (* get the groups associated with these product_definitions *)
<a id="p118206"></a>gr_ass := QUERY(i <* APPLIED_GROUP_ASSIGNMENT |
<a id="p118207"></a>                i.role.name = 'equivalence');
<a id="p118208"></a>  REPEAT i := 1 TO HIINDEX(gr_ass);
<a id="p118209"></a>    REPEAT j := 1 TO HIINDEX(gr_ass[i].items); -- should always be just one
<a id="p118210"></a>      IF (gr_ass[i].items[j] IN t1_set) THEN
<a id="p118211"></a>        groups := groups + gr_ass[i].assigned_group;
<a id="p118212"></a>      END_IF;
<a id="p118213"></a>    END_REPEAT;
<a id="p118214"></a>  END_REPEAT;

<a id="p118215"></a>  (* get the non-empty group_assignments having role 'item structure' and
referencing these groups *)
<a id="p118216"></a>  gr_ass := QUERY(i <* APPLIED_GROUP_ASSIGNMENT |
<a id="p118217"></a>            (SIZEOF(i.items) <> 0) AND
<a id="p118218"></a>            (i.role.name = 'item structure') AND
<a id="p118219"></a>            (i.assigned_group IN groups));

<a id="p118220"></a>  (* check if there are only instances of class 'moulded form' and of class
'moulded form relationship' in each group_assignment.items *)
<a id="p118221"></a>  REPEAT i := 1 TO HIINDEX(gr_ass) WHILE NOT(violation);
<a id="p118222"></a>    REPEAT j := 1 TO HIINDEX(gr_ass[i].items) WHILE NOT(violation);
<a id="p118223"></a>      violate1 := VALUE_IN(WHICH_CLASS(gr_ass[i].items[j]),'moulded form');
<a id="p118224"></a>      violate2 := VALUE_IN(WHICH_CLASS(gr_ass[i].items[j]),'moulded form relationship');
<a id="p118225"></a>      violation := NOT(violate1 OR violate2);
<a id="p118226"></a>    END_REPEAT;
<a id="p118227"></a>    END_REPEAT;

<a id="p118228"></a>  WHERE
<a id="p118229"></a>    wr1: NOT violation;

<a id="p118230"></a>**END_RULE;**
<a id="p118231"></a>(*
<a id="p118232"></a>Определения аргументов:
<a id="p118233"></a>applied_classification_assignment: набор всех экземпляров объектов applied_classification_assignment.
<a id="p118234"></a>applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.
<a id="p118235"></a>Формальные высказывания:
<a id="p118236"></a>WR1: Для каждого экземпляра объекта product_definition с классификацией 'ship moulded form', который также представляет собой объект group, на который дана ссылка из объекта applied_group_assignment, чей атрибут role.name = 'item structure', объект applied_group_assignment должен собирать только экземпляры product_definition с классификацией 'moulded form' и экземпляры product_definition_relationship с классификацией 'moulded form relationship' через свой атрибут applied_group_assignment.items.

###### <a id="p118237"></a>5.2.4.153 Правило version_creation_has_mandatory_attribute_description

<a id="p118238"></a>Правило version_creation_has_mandatory_attribute_description определяет, что для экземпляра объекта action с идентификатором класса 'version creation' приведен экземпляр необязательного атрибута description.
<a id="p118239"></a>EXPRESS-спецификация:
<a id="p118240"></a>*)
<a id="p118241"></a>**RULE**
<a id="p118242"></a>version_creation_has_mandatory_attribute_description
<a id="p118243"></a>FOR (action);
<a id="p118244"></a>**LOCAL**
<a id="p118245"></a>    t1_set: SET OF action := [];
<a id="p118246"></a>    violate: LOGICAL := FALSE;
<a id="p118247"></a>  END_LOCAL;
<a id="p118248"></a>  t1_set := QUERY(i <* action | VALUE_IN(WHICH_CLASS(i),
<a id="p118249"></a>  'version creation'));
<a id="p118250"></a>  violate := (SIZEOF(QUERY(k <* t1_set |
<a id="p118251"></a>  NOT EXISTS (k.description))) > 0);
<a id="p118252"></a>**WHERE**
<a id="p118253"></a>    WR1: NOT violate;
<a id="p118254"></a>**END_RULE;**
<a id="p118255"></a>(*
<a id="p118256"></a>Определения аргументов:
<a id="p118257"></a>action: набор всех экземпляров объектов action.
<a id="p118258"></a>Формальные высказывания:
<a id="p118259"></a>WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'version creation'.

###### <a id="p118260"></a>5.2.4.154 Правило version_deletion_has_mandatory_attribute_description

<a id="p118261"></a>Правило version_deletion_has_mandatory_attribute_description определяет, что для экземпляра объекта action с идентификатором класса 'version deletion' приведен экземпляр необязательного атрибута description.
<a id="p118262"></a>EXPRESS-спецификация:
<a id="p118263"></a>*)
<a id="p118264"></a>**RULE**
<a id="p118265"></a>version_deletion_has_mandatory_attribute_description
<a id="p118266"></a>FOR (action);
<a id="p118267"></a>**LOCAL**
<a id="p118268"></a>    t1_set: SET OF action := [];
<a id="p118269"></a>    violate: LOGICAL := FALSE;
<a id="p118270"></a>  END_LOCAL;
<a id="p118271"></a>  t1_set := QUERY(i <* action | VALUE_IN(WHICH_CLASS(i),
<a id="p118272"></a>  'version deletion'));
<a id="p118273"></a>  violate := (SIZEOF(QUERY(k <* t1_set |
<a id="p118274"></a>NOT EXISTS (k.description))) > 0);
<a id="p118275"></a>**WHERE**
<a id="p118276"></a>  WR1: NOT violate;
<a id="p118277"></a>**END_RULE;**
<a id="p118278"></a>(*
<a id="p118279"></a>Определения аргументов:
<a id="p118280"></a>action: набор всех экземпляров объектов action.
<a id="p118281"></a>Формальные высказывания:
<a id="p118282"></a>WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'version deletion'.

###### <a id="p118283"></a>5.2.4.155 Правило version_history_has_exactly_one_assigned_group

<a id="p118284"></a>Правило version_history_has_exactly_one_assigned_group определяет, что на каждый экземпляр типа group с классификацией 'version history' должна быть дана ссылка только одним присваиванием вида applied_group_assignment через атрибут assigned_group.
<a id="p118285"></a>EXPRESS-спецификация:
<a id="p118286"></a>*)
<a id="p118287"></a>RULE version_history_has_exactly_one_assigned_group FOR(applied_group_
assignment, group);
<a id="p118288"></a>  LOCAL
<a id="p118289"></a>    t1_set: SET OF group := [];
<a id="p118290"></a>    set_1, set_2: SET OF applied_group_assignment := [];
<a id="p118291"></a>    set_3: SET OF group_item := [];
<a id="p118292"></a>    violate: LOGICAL := FALSE;
<a id="p118293"></a>  END_LOCAL;

<a id="p118294"></a>t1_set := QUERY(a <* group | VALUE_IN(WHICH_CLASS(a), 'version history'));
<a id="p118295"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p118296"></a>  set_1 := QUERY(b <* applied_group_assignment |
<a id="p118297"></a>       (b.assigned_group = t1_set[i]) AND (b.role.name = 'current version'));
<a id="p118298"></a>  set_2 := QUERY(c <* applied_group_assignment |
<a id="p118299"></a>                (c.assigned_group = t1_set[i]) AND (c.role.name = 'members'));
<a id="p118300"></a>  violate := ((SIZEOF(set_1) <> 1) OR (SIZEOF(set_2) <> 1));
<a id="p118301"></a>    IF not violate THEN

<a id="p118302"></a>      set_3 := set_1[1].items * set_2[1].items;

<a id="p118303"></a>      violate := (SIZEOF(set_3) <> 1) OR
<a id="p118304"></a>        NOT (VALUE_IN(WHICH_CLASS(set_3[1]), 'versionable
<a id="p118305"></a>object'));
<a id="p118306"></a>    END_IF;
<a id="p118307"></a>**END_REPEAT;**

<a id="p118308"></a>**WHERE**
<a id="p118309"></a>  wr1: NOT violate;
<a id="p118310"></a>**END_RULE;**
<a id="p118311"></a>(*
<a id="p118312"></a>Определения аргументов:
<a id="p118313"></a>applied_group_assignment: набор экземпляров объектов applied_group_assignment.
<a id="p118314"></a>group: набор экземпляров объектов group.
<a id="p118315"></a>Формальные высказывания:
<a id="p118316"></a>WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_assignment, чей assigned_class идентифицирует объект с атрибутом name со значением 'version history', должна быть дана ссылка только из одного экземпляра вида объекта applied_group_assignment через атрибут assigned_group.

###### <a id="p118317"></a>5.2.4.156 Правило version_history_is_referenced_by_at_least_one_versions

<a id="p118318"></a>Правило version_history_is_referenced_by_at_least_one_versions определяет, что на каждый экземпляр типа group с классификацией 'version history' должна быть дана ссылка хотя бы одним присваиванием вида applied_group_assignment со значением 'versions' для role.name через атрибут assigned_group.
<a id="p118319"></a>EXPRESS-спецификация:
<a id="p118320"></a>*)
<a id="p118321"></a>RULE version_history_is_referenced_by_at_least_one_versions
<a id="p118322"></a>FOR(applied_group_assignment, group);
<a id="p118323"></a>  LOCAL
<a id="p118324"></a>    t1_set: SET OF group := [];
<a id="p118325"></a>    a_set: SET OF applied_group_assignment := [];
<a id="p118326"></a>    violate: LOGICAL := FALSE;
<a id="p118327"></a>  END_LOCAL;

<a id="p118328"></a>t1_set := QUERY(a <* group | VALUE_IN(WHICH_CLASS(a), 'version history'));

<a id="p118329"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p118330"></a>(* get the instances of applied_group_assignment that have a role 'versions' *)
<a id="p118331"></a>  a_set := QUERY(b <* applied_group_assignment |
<a id="p118332"></a>                (b.assigned_group = t1_set[i]) AND (b.role.name =
'versions'));

<a id="p118333"></a>(* there shall be at least one such instance *)
<a id="p118334"></a>  violate := SIZEOF(a_set) < 1;
<a id="p118335"></a>**END_REPEAT;**

<a id="p118336"></a>**WHERE**
<a id="p118337"></a>  wr1: NOT violate;
<a id="p118338"></a>**END_RULE;**
<a id="p118339"></a>(*
<a id="p118340"></a>Определения аргументов:
<a id="p118341"></a>applied_group_assignment: набор экземпляров объектов applied_group_assignment.
<a id="p118342"></a>group: набор экземпляров объектов group.
<a id="p118343"></a>Формальные высказывания:
<a id="p118344"></a>WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_assignment, у которого значение для assigned_class.name равно 'version history', должна быть дана ссылка из одного или нескольких экземпляров вида applied_group_assignment со значением 'versions' для role.name через атрибут assigned_group.

###### <a id="p118345"></a>5.2.4.157 Правило version_history_referenced_by_exactly_one_current_version

<a id="p118346"></a>Правило version_history_referenced_by_exactly_one_current_version определяет, что на каждый экземпляр типа group с классификацией 'version history' должна быть дана ссылка только одним присваиванием вида applied_group_assignment со значением 'current version' для role.name через атрибут assigned_group.
<a id="p118347"></a>EXPRESS-спецификация:
<a id="p118348"></a>*)
<a id="p118349"></a>RULE version_history_referenced_by_exactly_one_current_version
<a id="p118350"></a>FOR(applied_group_assignment, group);
<a id="p118351"></a>  LOCAL
<a id="p118352"></a>    t1_set: SET OF group := [];
<a id="p118353"></a>    a_set: SET OF applied_group_assignment := [];
<a id="p118354"></a>    violate: LOGICAL := FALSE;
<a id="p118355"></a>  END_LOCAL;

<a id="p118356"></a>(* get all instances of group with class 'version history' *)
<a id="p118357"></a>t1_set := QUERY(a <* group | VALUE_IN(WHICH_CLASS(a), 'version history'));
<a id="p118358"></a>  (* for all instances found above *)
<a id="p118359"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p118360"></a>(* get the instances of applied_group_assignment that have a role 'current
version' *)
<a id="p118361"></a>  a_set := QUERY(b <* applied_group_assignment |
<a id="p118362"></a>         (b.assigned_group = t1_set[i]) AND (b.role.name = 'current version'));

<a id="p118363"></a>(* there shall be one such instance *)
<a id="p118364"></a>  violate := SIZEOF(a_set) <> 1;
<a id="p118365"></a>**END_REPEAT;**

<a id="p118366"></a>**WHERE**
<a id="p118367"></a>  wr1: NOT violate;
<a id="p118368"></a>**END_RULE;**
<a id="p118369"></a>(*
<a id="p118370"></a>Определения аргументов:
<a id="p118371"></a>applied_group_assignment: набор экземпляров для объектов applied_group_assignment.
<a id="p118372"></a>group: набор экземпляров для объектов group.
<a id="p118373"></a>Формальные высказывания:
<a id="p118374"></a>WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_assignment, чей assigned_class идентифицирует объект с атрибутом name со значением 'version history', должна быть дана ссылка только из одного экземпляра вида объекта applied_group_assignment со значением роли 'current version' через атрибут assigned_group.

###### <a id="p118375"></a>5.2.4.158 Правило version_history_referenced_by_multiple_roles

<a id="p118376"></a>Правило version_history_referenced_by_multiple_roles определяет, что на каждый экземпляр вида group с классификацией 'version history' должна быть дана ссылка из одного или нескольких экземпляров вида applied_group_assignment со значением 'versions', 'current version' или 'relationships' для role.name через атрибут assigned_group.
<a id="p118377"></a>EXPRESS-спецификация:
<a id="p118378"></a>*)
<a id="p118379"></a>RULE version_history_referenced_by_multiple_roles
<a id="p118380"></a>FOR(applied_group_assignment, group);
<a id="p118381"></a>  LOCAL
<a id="p118382"></a>    t1_set: SET OF group := [];
<a id="p118383"></a>    a_set: SET OF applied_group_assignment := [];
<a id="p118384"></a>    violate: LOGICAL := FALSE;
<a id="p118385"></a>  END_LOCAL;
<a id="p118386"></a>t1_set := QUERY(a <* group | VALUE_IN(WHICH_CLASS(a), 'version history'));
<a id="p118387"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p118388"></a>  a_set := QUERY(b <* applied_group_assignment |
<a id="p118389"></a>  (b.assigned_group = t1_set[i]) AND NOT (b.role.name IN ['versions', 'current
version', 'relationships']));
<a id="p118390"></a>  violate := SIZEOF(a_set) < 1;
<a id="p118391"></a>**END_REPEAT;**
<a id="p118392"></a>**WHERE**
<a id="p118393"></a>  wr1: NOT violate;
<a id="p118394"></a>**END_RULE;**
<a id="p118395"></a>(*
<a id="p118396"></a>Определения аргументов:
<a id="p118397"></a>applied_group_assignment: набор экземпляров объектов applied_group_assignment.
<a id="p118398"></a>group: набор экземпляров объектов group.
<a id="p118399"></a>Формальные высказывания:
<a id="p118400"></a>WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_assignment, чей assigned_class идентифицирует объект с атрибутом name со значением 'version history', должна быть дана ссылка только из экземпляров вида applied_group_assignment со значением role.name 'versions', 'current version' или 'relationships' через атрибут assigned_group.

###### <a id="p118401"></a>5.2.4.159 Правило version_modification_has_mandatory_attribute_description

<a id="p118402"></a>Правило version_modification_has_mandatory_attribute_description определяет, что для экземпляра объекта action с идентификатором класса 'version modification' приведен экземпляр необязательного атрибута description.
<a id="p118403"></a>EXPRESS-спецификация:
<a id="p118404"></a>*)
<a id="p118405"></a>**RULE**
<a id="p118406"></a>version_modification_has_mandatory_attribute_description
<a id="p118407"></a>FOR (action);
<a id="p118408"></a>**LOCAL**
<a id="p118409"></a>    t1_set: SET OF action := [];
<a id="p118410"></a>    violate: LOGICAL := FALSE;
<a id="p118411"></a>  END_LOCAL;
<a id="p118412"></a>  t1_set := QUERY(i <* action | VALUE_IN(WHICH_CLASS(i), 'version modification'));
<a id="p118413"></a>  violate := (SIZEOF(QUERY(k <* t1_set |
<a id="p118414"></a>  NOT EXISTS (k.description))) > 0);
<a id="p118415"></a>**WHERE**
<a id="p118416"></a>  WR1: NOT violate;
<a id="p118417"></a>**END_RULE;**
<a id="p118418"></a>(*
<a id="p118419"></a>Определения аргументов:
<a id="p118420"></a>action: набор экземпляров объектов action.
<a id="p118421"></a>Формальные высказывания:
<a id="p118422"></a>WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action, содержащего объект applied_classification_assignment, чей assigned_class представляет собой group с атрибутом name, значение которого равно 'version modification'.

###### <a id="p118423"></a>5.2.4.160 Правило version_relationship_associates_with_versionable_object

<a id="p118424"></a>Правило version_relationship_associates_with_versionable_object задает экземпляр объекта identification_assignment_relationship с классификацией 'version relationship', который связывает только экземпляры вида applied_identification_assignment, чей атрибут items указывает на экземпляры с классификацией 'versionable object'.
<a id="p118425"></a>EXPRESS-спецификация:
<a id="p118426"></a>*)
<a id="p118427"></a>RULE version_relationship_associates_with_versionable_object
<a id="p118428"></a>FOR (applied_identification_assignment);
<a id="p118429"></a>**LOCAL**
<a id="p118430"></a>  violate: LOGICAL := FALSE;
<a id="p118431"></a>**END_LOCAL;**
<a id="p118432"></a>REPEAT i := 1 TO HIINDEX(applied_identification_assignment) BY 1 WHILE NOT violate;
<a id="p118433"></a>  IF ( (SIZEOF(USEDIN(applied_identification_assignment[i],
<a id="p118434"></a>    ('SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'
    +'RELATING_IDENTIFICATION_ASSIGNMENT'))) > 0) OR
<a id="p118435"></a>    (SIZEOF(USEDIN(applied_identification_assignment[i],
<a id="p118436"></a>    ('SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'
    +'RELATED_IDENTIFICATION_ASSIGNMENT'))) > 0) ) THEN
<a id="p118437"></a>  REPEAT j := 1 to HIINDEX(applied_identification_assignment[i].-items) BY 1 WHILE NOT violate;
<a id="p118438"></a>    violate := NOT
<a id="p118439"></a>      VALUE_IN(which_class(applied_identification_assignment[i].items[j]), 'versionable object');
<a id="p118440"></a>    END_REPEAT;
<a id="p118441"></a>  END_IF;

<a id="p118442"></a>**END_REPEAT;**
<a id="p118443"></a>**WHERE**
<a id="p118444"></a>  WR1: NOT violate;
<a id="p118445"></a>**END_RULE;**
<a id="p118446"></a>(*
<a id="p118447"></a>Определения аргументов:
<a id="p118448"></a>applied_identification_assignment: набор экземпляров объектов applied_identification_assignment.
<a id="p118449"></a>Формальные высказывания:
<a id="p118450"></a>WR1: Каждый экземпляр объекта identification_assignment_relationship, у которого имеется объект applied_classification_assignment со значением 'version relationship' для атрибута assigned_class.name, должен указывать только экземпляры объекта applied_identification_assignment с атрибутом items, чье значение указывает на экземпляр, у которого есть объект applied_classification_assignment со значением 'versionable object' для assigned_class.name.

###### <a id="p118451"></a>5.2.4.161 Правило version_relationship_has_mandatory_attribute_description

<a id="p118452"></a>Правило version_relationship_has_mandatory_attribute_description определяет, что для экземпляра объекта identification_assignment_relationship с идентификатором класса 'version relationship' приведен экземпляр необязательного атрибута description.
<a id="p118453"></a>EXPRESS-спецификация:
<a id="p118454"></a>*)
<a id="p118455"></a>**RULE**
<a id="p118456"></a>version_relationship_has_mandatory_attribute_description
<a id="p118457"></a>FOR (identification_assignment_relationship);
<a id="p118458"></a>**LOCAL**
<a id="p118459"></a>    t1_set: SET OF identification_assignment_relationship := [];
<a id="p118460"></a>    violate: LOGICAL := FALSE;
<a id="p118461"></a>  END_LOCAL;
<a id="p118462"></a>t1_set := QUERY(i <* identification_assignment_relationship | VALUE_IN(WHICH_
CLASS(i), 'version relationship'));
<a id="p118463"></a>violate := (SIZEOF(QUERY(k <* t1_set | NOT EXISTS (k.description))) > 0);
<a id="p118464"></a>**WHERE**
<a id="p118465"></a>  WR1: NOT violate;
<a id="p118466"></a>**END_RULE;**
<a id="p118467"></a>(*
<a id="p118468"></a>Определения аргументов:
<a id="p118469"></a>identification_assignment_relationship: набор экземпляров объектов identification_assignment_relationship.
<a id="p118470"></a>Формальные высказывания:
<a id="p118471"></a>WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта identification_assignment_relationship, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'version relationship'.

###### <a id="p118472"></a>5.2.4.162 Правило version_relationship_has_unique_versions

<a id="p118473"></a>Правило version_relationship_has_unique_versions определяет, что для всех экземпляров объекта identification_assignment_relationship с классификацией 'version relationship', атрибуты successor и predecessor должны ссылаться на разные экземпляры классификации 'versionable object'.
<a id="p118474"></a>EXPRESS-спецификация:
<a id="p118475"></a>*)
<a id="p118476"></a>**RULE**
<a id="p118477"></a>version_relationship_has_unique_versions
<a id="p118478"></a>FOR (identification_assignment_relationship);
<a id="p118479"></a>**LOCAL**
<a id="p118480"></a>    t1_set: SET OF identification_assignment_relationship := [];
<a id="p118481"></a>    violate: LOGICAL := FALSE;
<a id="p118482"></a>**END_LOCAL;**
<a id="p118483"></a>  t1_set := QUERY(a <* identification_assignment_relationship |
<a id="p118484"></a>  VALUE_IN(WHICH_CLASS(a), 'version relationship'));
<a id="p118485"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;
<a id="p118486"></a>  violate :=
    ( t1_set[i].relating_identification_assignment.assigned_id =
    t1_set[i].related_identification_assignment.assigned_id ) ;
<a id="p118487"></a>**END_REPEAT;**
<a id="p118488"></a>**WHERE**
<a id="p118489"></a>  WR1: NOT violate;
<a id="p118490"></a>**END_RULE;**
<a id="p118491"></a>(*
<a id="p118492"></a>Определения аргументов:
<a id="p118493"></a>identification_assignment_relationship: набор экземпляров объектов identification_assignment_relationship.
<a id="p118494"></a>Формальные высказывания:
<a id="p118495"></a>WR1: Значения assigned_id для атрибутов related_identification_assignment и relating_identification_assignment каждого экземпляра объекта identification_assignment_relationship, содержащего объект applied_classification_assignment, где assigned_class представляет собой group со значением 'version relationship' для атрибута name, должны быть разными.

###### <a id="p118496"></a>5.2.4.163 Правило versionable_object_has_one_version_id

<a id="p118497"></a>Правило versionable_object_has_one_version_id определяет, что у вида, на который дана ссылка из объекта applied_identification_assignment, где значение для role.name равно 'version identifier', имеется только одна ссылка этого вида.
<a id="p118498"></a>EXPRESS-спецификация:
<a id="p118499"></a>*)
<a id="p118500"></a>RULE versionable_object_has_one_version_id FOR(APPLIED_IDENTIFICATION_
**ASSIGNMENT);**
<a id="p118501"></a>  LOCAL
<a id="p118502"></a>    version_ids: SET OF APPLIED_IDENTIFICATION_ASSIGNMENT := [];
<a id="p118503"></a>    versionable_objects: BAG OF identification_item := [];
<a id="p118504"></a>    duplicate: LOGICAL := FALSE;
<a id="p118505"></a>  END_LOCAL;

<a id="p118506"></a>  version_ids := QUERY(i <* APPLIED_IDENTIFICATION_ASSIGNMENT |
<a id="p118507"></a>         i.ROLE.NAME = 'version identifier');

<a id="p118508"></a>  REPEAT i := 1 TO HIINDEX(version_ids);
<a id="p118509"></a>    versionable_objects := versionable_objects + version_ids[i].items;
<a id="p118510"></a>  END_REPEAT;
<a id="p118511"></a>  REPEAT i := 1 TO HIINDEX(versionable_objects) WHILE NOT duplicate;
<a id="p118512"></a>    REPEAT j := i + 1 TO HIINDEX(versionable_objects) WHILE NOT duplicate;
<a id="p118513"></a>      duplicate := versionable_objects[i] :=: versionable_objects[j];
<a id="p118514"></a>    END_REPEAT;
<a id="p118515"></a>  END_REPEAT;
<a id="p118516"></a>  WHERE
<a id="p118517"></a>    WR1: NOT duplicate;
<a id="p118518"></a>**END_RULE;**
<a id="p118519"></a>(*
<a id="p118520"></a>Определения аргументов:
<a id="p118521"></a>applied_classification_assignment: набор экземпляров объектов applied_classification_assignment.
<a id="p118522"></a>Формальные высказывания:
<a id="p118523"></a>WR1: У каждого экземпляра объекта должен быть нулевой или единичный объект applied_identification_assignment со значением 'version identifier' для атрибута role.name.

###### <a id="p118524"></a>5.2.4.164 Правило versioned_action_request_with_identification_assignment

<a id="p118525"></a>Правило versioned_action_request_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется объектом applied_identification_assignment.
<a id="p118526"></a>EXPRESS-спецификация:
<a id="p118527"></a>*)
<a id="p118528"></a>RULE versioned_action_request_with_identification_assignment
<a id="p118529"></a>**FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);**
<a id="p118530"></a>  LOCAL
<a id="p118531"></a>    c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p118532"></a>    t1_set: SET OF versioned_action_request := [];
<a id="p118533"></a>    t2_set: SET OF applied_identification_assignment := [];
<a id="p118534"></a>    arg_list: LIST OF STRING := [ 'change request'];
<a id="p118535"></a>    violation: LOGICAL := FALSE;
<a id="p118536"></a>  END_LOCAL;

<a id="p118537"></a>  REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p118538"></a>    c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
<a id="p118539"></a>                     i.assigned_class.NAME = arg_LIST[j]);
<a id="p118540"></a>  END_REPEAT;

<a id="p118541"></a>  REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p118542"></a>    REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p118543"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p118544"></a>    END_REPEAT;
<a id="p118545"></a>  END_REPEAT;

<a id="p118546"></a>  REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p118547"></a>    t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED_
**IDENTIFICATION_ASSIGNMENT.ITEMS'));**
<a id="p118548"></a>    t2_set := QUERY ( j <* t2_set |
                       j.role.name = 'globally unambiguous identifier');
<a id="p118549"></a>    violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p118550"></a>  END_REPEAT;

<a id="p118551"></a>  WHERE
<a id="p118552"></a>    wr1: NOT violation;
<a id="p118553"></a>**END_RULE;**
<a id="p118554"></a>(*
<a id="p118555"></a>Определения аргументов:
<a id="p118556"></a>applied_classification_assignment: набор экземпляров объектов applied_classification_assignment.
<a id="p118557"></a>Формальные высказывания:
<a id="p118558"></a>WR1: Для каждого экземпляра объекта version_action_request, на который приведена ссылка из объекта applied_classification_assignment, где у assigned_class имеется атрибут name со значением 'change request', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

###### <a id="p118559"></a>5.2.4.165 Правило versions_is_referenced_by_at_least_one_version_history

<a id="p118560"></a>Правило versions_is_referenced_by_at_least_one_version_history определяет, что на каждый экземпляр вида group с классификацией 'version history' должна быть дана ссылка хотя бы одним присваиванием вида applied_group_assignment со значением 'version history' для role.name через атрибут assigned_group.
<a id="p118561"></a>EXPRESS-спецификация:
<a id="p118562"></a>*)
<a id="p118563"></a>RULE versions_is_referenced_by_at_least_one_version_history FOR(applied_group_
assignment, group);
<a id="p118564"></a>  LOCAL
<a id="p118565"></a>    t1_set: SET OF group := [];
<a id="p118566"></a>    a_set: SET OF applied_group_assignment := [];
<a id="p118567"></a>    violate: LOGICAL := FALSE;
<a id="p118568"></a>  END_LOCAL;

<a id="p118569"></a>t1_set := QUERY(a <* group | VALUE_IN(WHICH_CLASS(a), 'versions'));

<a id="p118570"></a>REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violate;

<a id="p118571"></a>  a_set := QUERY(b <* applied_group_assignment |
<a id="p118572"></a>         (b.assigned_group = t1_set[i]) AND (b.role.name = 'version history'));

<a id="p118573"></a>  violate := SIZEOF(a_set) < 1;
<a id="p118574"></a>  END_REPEAT;

<a id="p118575"></a>**WHERE**
<a id="p118576"></a>  wr1: NOT violate;
<a id="p118577"></a>**END_RULE;**
<a id="p118578"></a>(*
<a id="p118579"></a>Определения аргументов:
<a id="p118580"></a>applied_group_assignment: набор экземпляров объектов applied_group_assignment.
<a id="p118581"></a>group: набор экземпляров объектов group.
<a id="p118582"></a>Формальные высказывания:
<a id="p118583"></a>WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_assignment, чей assigned_class идентифицирует объект с атрибутом name со значением 'versions', должна быть дана ссылка из одного или нескольких экземпляров вида applied_group_assignment со значением роли 'version history' через атрибут assigned_group.

##### <a id="p118584"></a>5.2.5 Определения функций корабельных конструкций


###### <a id="p118585"></a>5.2.5.1 Функция which_class

<a id="p118586"></a>Функция which_class определяет объект applied_classification_assignments, указывающий на экземпляр произвольного типа, и возвращает идентификаторы класса (class ids) в список строк.
<a id="p118587"></a>EXPRESS-спецификация:
<a id="p118588"></a>*)
<a id="p118589"></a>**FUNCTION WHICH_CLASS(T: GENERIC): LIST OF STRING;**
<a id="p118590"></a>  LOCAL
<a id="p118591"></a>    elements: BAG OF APPLIED_CLASSIFICATION_ASSIGNMENT;
<a id="p118592"></a>    class_list: LIST OF STRING :=[];
<a id="p118593"></a>  END_LOCAL;

<a id="p118594"></a>  elements :=
    USEDIN(T,'SHIP_MOULDED_FORM_SCHEMA.APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS');

<a id="p118595"></a>  REPEAT i:=1 TO HIINDEX(elements);
<a id="p118596"></a>  IF (elements[i]\classification_assignment.role.name = 'class membership') THEN
  class_list := class_list + elements[i]\classification_assignment.assigned_class\group.name;
<a id="p118597"></a>  END_IF;
<a id="p118598"></a>    END_REPEAT;
<a id="p118599"></a>  RETURN(class_list);
<a id="p118600"></a>**END_FUNCTION;**

<a id="p118601"></a>**END_SCHEMA;**
<a id="p118602"></a>(*


### <a id="p118603"></a>6 Требования соответствия


<a id="p118604"></a>Соответствие настоящего стандарта включает в себя соблюдение требований, указанных в настоящем стандарте, требований к поддерживаемым методам реализации, а также соответствующих требований нормативной документации.
<a id="p118605"></a>Реализация должна поддерживать как минимум один из следующих методов реализации:
- <a id="p118606"></a>ИСО 10303-21;
- <a id="p118607"></a>ИСО 10303-22;
- <a id="p118608"></a>ISO/TS 10303-28.
<a id="p118609"></a>Специальные [требования](#p126770), относящиеся к методам реализации, приведены в приложении C.
<a id="p118610"></a>[Форма](#p126795) ЗСРП содержит перечень вариантов или комбинаций вариантов, которые могут быть включены в реализацию. [Форма](#p126795) ЗСРП приведена в приложении D.
<a id="p118611"></a>В настоящем стандарте приведен ряд опций, которые могут обеспечиваться реализацией. Эти опции сгруппированы в следующие классы соответствия:
- <a id="p118612"></a>класс 1 - класс соответствия для обмена гидростатическими данными (см. [4.1.6](#p100335));
- <a id="p118613"></a>класс 2 - класс соответствия для обмена геометрией теоретических обводов в виде таблицы ординат (см. [4.1.9](#p100384));
- <a id="p118614"></a>класс 3 - класс соответствия для обмена геометрией теоретических обводов в каркасном представлении (см. [4.1.13](#p100430) и [4.1.15](#p100452));
- <a id="p118615"></a>класс 4 - класс соответствия для обмена геометрией теоретических обводов в поверхностном представлении (см. [4.1.13](#p100430) и [4.1.14](#p100446));
- <a id="p118616"></a>класс 5 - класс соответствия для обмена геометрией теоретических обводов в поверхностном представлении применительно к корпусу (см. [4.1.5](#p100329), [4.1.13](#p100430) и [4.1.14](#p100446)).
<a id="p118617"></a>Соответствие определенному классу требует, чтобы для всех элементов ПИМ была определена принадлежность к обеспечиваемому классу. В [таблице 2](#p118620) определены классы соответствия, к которым принадлежит каждая функциональная единица. В [таблице 3](#p118699) определены классы, к которым принадлежит каждый элемент ПИМ.
<a id="p118618"></a>Примечание - В прикладном протоколе установление тестовых сценариев (AP 216 Test Case Definitions) [[13]](#p127609) определяет комплект абстрактных тестов, используемых при оценке соответствия 2).

<a id="p118619"></a>Таблица 2

<a id="p118620"></a>Классы соответствия


<table>
<colgroup><col width="48%"><col width="10%"><col width="10%"><col width="10%"><col width="10%"><col width="10%"></colgroup>
<tr><td rowspan="2"><a id="p118621"></a>Функциональная единица</td><td colspan="5"><a id="p118622"></a>Класс соответствия</td></tr>
<tr><td><a id="p118623"></a>Класс 1</td><td><a id="p118624"></a>Класс 2</td><td><a id="p118625"></a>Класс 3</td><td><a id="p118626"></a>Класс 4</td><td><a id="p118627"></a>Класс 5</td></tr>
<tr><td><a id="p118628"></a>basic_geometry</td><td></td><td><a id="p118629"></a>X</td><td><a id="p118630"></a>X</td><td><a id="p118631"></a>X</td><td><a id="p118632"></a>X</td></tr>
<tr><td><a id="p118633"></a>configuration_management</td><td><a id="p118634"></a>X</td><td><a id="p118635"></a>X</td><td><a id="p118636"></a>X</td><td><a id="p118637"></a>X</td><td><a id="p118638"></a>X</td></tr>
<tr><td><a id="p118639"></a>definitions</td><td><a id="p118640"></a>X</td><td><a id="p118641"></a>X</td><td><a id="p118642"></a>X</td><td><a id="p118643"></a>X</td><td><a id="p118644"></a>X</td></tr>
<tr><td><a id="p118645"></a>external_references</td><td><a id="p118646"></a>X</td><td><a id="p118647"></a>X</td><td><a id="p118648"></a>X</td><td><a id="p118649"></a>X</td><td><a id="p118650"></a>X</td></tr>
<tr><td><a id="p118651"></a>hull_class_applicability</td><td></td><td></td><td></td><td></td><td><a id="p118652"></a>X</td></tr>
<tr><td><a id="p118653"></a>hydrostatics</td><td><a id="p118654"></a>X</td><td></td><td></td><td></td><td></td></tr>
<tr><td><a id="p118655"></a>items</td><td><a id="p118656"></a>X</td><td><a id="p118657"></a>X</td><td><a id="p118658"></a>X</td><td><a id="p118659"></a>X</td><td><a id="p118660"></a>X</td></tr>
<tr><td><a id="p118661"></a>location_concepts</td><td><a id="p118662"></a>X</td><td><a id="p118663"></a>X</td><td><a id="p118664"></a>X</td><td><a id="p118665"></a>X</td><td><a id="p118666"></a>X</td></tr>
<tr><td><a id="p118667"></a>offset_table_representations</td><td></td><td><a id="p118668"></a>X</td><td></td><td></td><td></td></tr>
<tr><td><a id="p118669"></a>ship_design_parameter</td><td><a id="p118670"></a>X</td><td><a id="p118671"></a>X</td><td><a id="p118672"></a>X</td><td><a id="p118673"></a>X</td><td><a id="p118674"></a>X</td></tr>
<tr><td><a id="p118675"></a>ship_general_characteristics</td><td><a id="p118676"></a>X</td><td><a id="p118677"></a>X</td><td><a id="p118678"></a>X</td><td><a id="p118679"></a>X</td><td><a id="p118680"></a>X</td></tr>
<tr><td><a id="p118681"></a>ship_measures</td><td><a id="p118682"></a>X</td><td><a id="p118683"></a>X</td><td><a id="p118684"></a>X</td><td><a id="p118685"></a>X</td><td><a id="p118686"></a>X</td></tr>
<tr><td><a id="p118687"></a>ship_moulded_forms</td><td><a id="p118688"></a>X</td><td><a id="p118689"></a>X</td><td><a id="p118690"></a>X</td><td><a id="p118691"></a>X</td><td><a id="p118692"></a>X</td></tr>
<tr><td><a id="p118693"></a>surface_representations (AIC 508)</td><td></td><td></td><td></td><td><a id="p118694"></a>X</td><td><a id="p118695"></a>X</td></tr>
<tr><td><a id="p118696"></a>wireframe_representations (AIC 501)</td><td></td><td></td><td><a id="p118697"></a>X</td><td></td><td></td></tr>
</table>


<a id="p118698"></a>Таблица 3

<a id="p118699"></a>Элементы классов соответствия


<table>
<colgroup><col width="48%"><col width="10%"><col width="10%"><col width="10%"><col width="10%"><col width="10%"></colgroup>
<tr><td rowspan="2"><a id="p118700"></a>Элемент ПИМ</td><td colspan="5"><a id="p118701"></a>Класс</td></tr>
<tr><td><a id="p118702"></a>1</td><td><a id="p118703"></a>2</td><td><a id="p118704"></a>3</td><td><a id="p118705"></a>4</td><td><a id="p118706"></a>5</td></tr>
<tr><td><a id="p118707"></a>Action</td><td><a id="p118708"></a>X</td><td><a id="p118709"></a>X</td><td><a id="p118710"></a>X</td><td><a id="p118711"></a>X</td><td><a id="p118712"></a>X</td></tr>
<tr><td><a id="p118713"></a>Action_assignment</td><td><a id="p118714"></a>X</td><td><a id="p118715"></a>X</td><td><a id="p118716"></a>X</td><td><a id="p118717"></a>X</td><td><a id="p118718"></a>X</td></tr>
<tr><td><a id="p118719"></a>Action_relationship</td><td><a id="p118720"></a>X</td><td><a id="p118721"></a>X</td><td><a id="p118722"></a>X</td><td><a id="p118723"></a>X</td><td><a id="p118724"></a>X</td></tr>
<tr><td><a id="p118725"></a>Action_method</td><td><a id="p118726"></a>X</td><td><a id="p118727"></a>X</td><td><a id="p118728"></a>X</td><td><a id="p118729"></a>X</td><td><a id="p118730"></a>X</td></tr>
<tr><td><a id="p118731"></a>Action_request_assignment</td><td><a id="p118732"></a>X</td><td><a id="p118733"></a>X</td><td><a id="p118734"></a>X</td><td><a id="p118735"></a>X</td><td><a id="p118736"></a>X</td></tr>
<tr><td><a id="p118737"></a>Action_request_solution</td><td><a id="p118738"></a>X</td><td><a id="p118739"></a>X</td><td><a id="p118740"></a>X</td><td><a id="p118741"></a>X</td><td><a id="p118742"></a>X</td></tr>
<tr><td><a id="p118743"></a>Address</td><td><a id="p118744"></a>X</td><td><a id="p118745"></a>X</td><td><a id="p118746"></a>X</td><td><a id="p118747"></a>X</td><td><a id="p118748"></a>X</td></tr>
<tr><td><a id="p118749"></a>Advanced_face</td><td></td><td></td><td></td><td><a id="p118750"></a>X</td><td><a id="p118751"></a>X</td></tr>
<tr><td><a id="p118752"></a>Amount_of_substance_unit</td><td><a id="p118753"></a>X</td><td><a id="p118754"></a>X</td><td><a id="p118755"></a>X</td><td><a id="p118756"></a>X</td><td><a id="p118757"></a>X</td></tr>
<tr><td><a id="p118758"></a>Application_context</td><td><a id="p118759"></a>X</td><td><a id="p118760"></a>X</td><td><a id="p118761"></a>X</td><td><a id="p118762"></a>X</td><td><a id="p118763"></a>X</td></tr>
<tr><td><a id="p118764"></a>Application_context_element</td><td><a id="p118765"></a>X</td><td><a id="p118766"></a>X</td><td><a id="p118767"></a>X</td><td><a id="p118768"></a>X</td><td><a id="p118769"></a>X</td></tr>
<tr><td><a id="p118770"></a>Application_protocol_definition</td><td><a id="p118771"></a>X</td><td><a id="p118772"></a>X</td><td><a id="p118773"></a>X</td><td><a id="p118774"></a>X</td><td><a id="p118775"></a>X</td></tr>
<tr><td><a id="p118776"></a>Applied_action_assignment</td><td><a id="p118777"></a>X</td><td><a id="p118778"></a>X</td><td><a id="p118779"></a>X</td><td><a id="p118780"></a>X</td><td><a id="p118781"></a>X</td></tr>
<tr><td><a id="p118782"></a>Applied_action_request_assignment</td><td><a id="p118783"></a>X</td><td><a id="p118784"></a>X</td><td><a id="p118785"></a>X</td><td><a id="p118786"></a>X</td><td><a id="p118787"></a>X</td></tr>
<tr><td><a id="p118788"></a>Applied_approval_assignment</td><td><a id="p118789"></a>X</td><td><a id="p118790"></a>X</td><td><a id="p118791"></a>X</td><td><a id="p118792"></a>X</td><td><a id="p118793"></a>X</td></tr>
<tr><td><a id="p118794"></a>Applied_classification_assignment</td><td><a id="p118795"></a>X</td><td><a id="p118796"></a>X</td><td><a id="p118797"></a>X</td><td><a id="p118798"></a>X</td><td><a id="p118799"></a>X</td></tr>
<tr><td><a id="p118800"></a>Applied_date_and_time_assignment</td><td><a id="p118801"></a>X</td><td><a id="p118802"></a>X</td><td><a id="p118803"></a>X</td><td><a id="p118804"></a>X</td><td><a id="p118805"></a>X</td></tr>
<tr><td><a id="p118806"></a>Applied_document_reference</td><td><a id="p118807"></a>X</td><td><a id="p118808"></a>X</td><td><a id="p118809"></a>X</td><td><a id="p118810"></a>X</td><td><a id="p118811"></a>X</td></tr>
<tr><td><a id="p118812"></a>Applied_effectivity_assignment</td><td></td><td></td><td></td><td></td><td><a id="p118813"></a>X</td></tr>
<tr><td><a id="p118814"></a>Applied_external_identification_assignment</td><td><a id="p118815"></a>X</td><td><a id="p118816"></a>X</td><td><a id="p118817"></a>X</td><td><a id="p118818"></a>X</td><td><a id="p118819"></a>X</td></tr>
<tr><td><a id="p118820"></a>Applied_group_assignment</td><td><a id="p118821"></a>X</td><td><a id="p118822"></a>X</td><td><a id="p118823"></a>X</td><td><a id="p118824"></a>X</td><td><a id="p118825"></a>X</td></tr>
<tr><td><a id="p118826"></a>Applied_identification_assignment</td><td><a id="p118827"></a>X</td><td><a id="p118828"></a>X</td><td><a id="p118829"></a>X</td><td><a id="p118830"></a>X</td><td><a id="p118831"></a>X</td></tr>
<tr><td><a id="p118832"></a>Applied_organization_assignment</td><td><a id="p118833"></a>X</td><td><a id="p118834"></a>X</td><td><a id="p118835"></a>X</td><td><a id="p118836"></a>X</td><td><a id="p118837"></a>X</td></tr>
<tr><td><a id="p118838"></a>Applied_person_and_organization_assignment</td><td><a id="p118839"></a>X</td><td><a id="p118840"></a>X</td><td><a id="p118841"></a>X</td><td><a id="p118842"></a>X</td><td><a id="p118843"></a>X</td></tr>
<tr><td><a id="p118844"></a>Applied_person_assignment</td><td><a id="p118845"></a>X</td><td><a id="p118846"></a>X</td><td><a id="p118847"></a>X</td><td><a id="p118848"></a>X</td><td><a id="p118849"></a>X</td></tr>
<tr><td><a id="p118850"></a>Approval</td><td><a id="p118851"></a>X</td><td><a id="p118852"></a>X</td><td><a id="p118853"></a>X</td><td><a id="p118854"></a>X</td><td><a id="p118855"></a>X</td></tr>
<tr><td><a id="p118856"></a>Approval_assignment</td><td><a id="p118857"></a>X</td><td><a id="p118858"></a>X</td><td><a id="p118859"></a>X</td><td><a id="p118860"></a>X</td><td><a id="p118861"></a>X</td></tr>
<tr><td><a id="p118862"></a>Approval_date_time</td><td><a id="p118863"></a>X</td><td><a id="p118864"></a>X</td><td><a id="p118865"></a>X</td><td><a id="p118866"></a>X</td><td><a id="p118867"></a>X</td></tr>
<tr><td><a id="p118868"></a>Approval_person_organization</td><td><a id="p118869"></a>X</td><td><a id="p118870"></a>X</td><td><a id="p118871"></a>X</td><td><a id="p118872"></a>X</td><td><a id="p118873"></a>X</td></tr>
<tr><td><a id="p118874"></a>Approval_role</td><td><a id="p118875"></a>X</td><td><a id="p118876"></a>X</td><td><a id="p118877"></a>X</td><td><a id="p118878"></a>X</td><td><a id="p118879"></a>X</td></tr>
<tr><td><a id="p118880"></a>Approval_status</td><td><a id="p118881"></a>X</td><td><a id="p118882"></a>X</td><td><a id="p118883"></a>X</td><td><a id="p118884"></a>X</td><td><a id="p118885"></a>X</td></tr>
<tr><td><a id="p118886"></a>Axis1_placement</td><td><a id="p118887"></a>X</td><td><a id="p118888"></a>X</td><td><a id="p118889"></a>X</td><td><a id="p118890"></a>X</td><td><a id="p118891"></a>X</td></tr>
<tr><td><a id="p118892"></a>Axis2_placement_2d</td><td><a id="p118893"></a>X</td><td><a id="p118894"></a>X</td><td><a id="p118895"></a>X</td><td><a id="p118896"></a>X</td><td><a id="p118897"></a>X</td></tr>
<tr><td><a id="p118898"></a>Axis2_placement_3d</td><td><a id="p118899"></a>X</td><td><a id="p118900"></a>X</td><td><a id="p118901"></a>X</td><td><a id="p118902"></a>X</td><td><a id="p118903"></a>X</td></tr>
<tr><td><a id="p118904"></a>B_spline_curve</td><td></td><td></td><td><a id="p118905"></a>X</td><td><a id="p118906"></a>X</td><td><a id="p118907"></a>X</td></tr>
<tr><td><a id="p118908"></a>B_spline_curve_with_knots</td><td></td><td></td><td><a id="p118909"></a>X</td><td><a id="p118910"></a>X</td><td><a id="p118911"></a>X</td></tr>
<tr><td><a id="p118912"></a>B_spline_surface</td><td></td><td></td><td><a id="p118913"></a>X</td><td><a id="p118914"></a>X</td><td><a id="p118915"></a>X</td></tr>
<tr><td><a id="p118916"></a>B_spline_surface_with_knots</td><td></td><td></td><td><a id="p118917"></a>X</td><td><a id="p118918"></a>X</td><td><a id="p118919"></a>X</td></tr>
<tr><td><a id="p118920"></a>Bezier_curve</td><td></td><td></td><td><a id="p118921"></a>X</td><td><a id="p118922"></a>X</td><td><a id="p118923"></a>X</td></tr>
<tr><td><a id="p118924"></a>Bezier_surface</td><td></td><td></td><td><a id="p118925"></a>X</td><td><a id="p118926"></a>X</td><td><a id="p118927"></a>X</td></tr>
<tr><td><a id="p118928"></a>Bounded_curve</td><td></td><td></td><td><a id="p118929"></a>X</td><td><a id="p118930"></a>X</td><td><a id="p118931"></a>X</td></tr>
<tr><td><a id="p118932"></a>Bounded_pcurve</td><td></td><td></td><td><a id="p118933"></a>X</td><td><a id="p118934"></a>X</td><td><a id="p118935"></a>X</td></tr>
<tr><td><a id="p118936"></a>Bounded_surface</td><td></td><td></td><td><a id="p118937"></a>X</td><td><a id="p118938"></a>X</td><td><a id="p118939"></a>X</td></tr>
<tr><td><a id="p118940"></a>Bounded_surface_curve</td><td></td><td></td><td><a id="p118941"></a>X</td><td><a id="p118942"></a>X</td><td><a id="p118943"></a>X</td></tr>
<tr><td><a id="p118944"></a>Calendar_date</td><td><a id="p118945"></a>X</td><td><a id="p118946"></a>X</td><td><a id="p118947"></a>X</td><td><a id="p118948"></a>X</td><td><a id="p118949"></a>X</td></tr>
<tr><td><a id="p118950"></a>Cartesian_point</td><td></td><td></td><td><a id="p118951"></a>X</td><td><a id="p118952"></a>X</td><td><a id="p118953"></a>X</td></tr>
<tr><td><a id="p118954"></a>Cartesian_transformation_operator</td><td></td><td></td><td><a id="p118955"></a>X</td><td><a id="p118956"></a>X</td><td><a id="p118957"></a>X</td></tr>
<tr><td><a id="p118958"></a>Cartesian_transformation_operator_3d</td><td></td><td></td><td><a id="p118959"></a>X</td><td><a id="p118960"></a>X</td><td><a id="p118961"></a>X</td></tr>
<tr><td><a id="p118962"></a>Characterized_object</td><td><a id="p118963"></a>X</td><td><a id="p118964"></a>X</td><td><a id="p118965"></a>X</td><td><a id="p118966"></a>X</td><td><a id="p118967"></a>X</td></tr>
<tr><td><a id="p118968"></a>Circle</td><td></td><td></td><td><a id="p118969"></a>X</td><td><a id="p118970"></a>X</td><td><a id="p118971"></a>X</td></tr>
<tr><td><a id="p118972"></a>Class</td><td><a id="p118973"></a>X</td><td><a id="p118974"></a>X</td><td><a id="p118975"></a>X</td><td><a id="p118976"></a>X</td><td><a id="p118977"></a>X</td></tr>
<tr><td><a id="p118978"></a>Classification_assignment</td><td><a id="p118979"></a>X</td><td><a id="p118980"></a>X</td><td><a id="p118981"></a>X</td><td><a id="p118982"></a>X</td><td><a id="p118983"></a>X</td></tr>
<tr><td><a id="p118984"></a>Classification_role</td><td><a id="p118985"></a>X</td><td><a id="p118986"></a>X</td><td><a id="p118987"></a>X</td><td><a id="p118988"></a>X</td><td><a id="p118989"></a>X</td></tr>
<tr><td><a id="p118990"></a>Closed_shell</td><td></td><td></td><td></td><td><a id="p118991"></a>X</td><td><a id="p118992"></a>X</td></tr>
<tr><td><a id="p118993"></a>Composite_curve</td><td></td><td></td><td><a id="p118994"></a>X</td><td><a id="p118995"></a>X</td><td><a id="p118996"></a>X</td></tr>
<tr><td><a id="p118997"></a>Composite_curve_on_surface</td><td></td><td></td><td><a id="p118998"></a>X</td><td><a id="p118999"></a>X</td><td><a id="p119000"></a>X</td></tr>
<tr><td><a id="p119001"></a>Composite_curve_segment</td><td></td><td></td><td><a id="p119002"></a>X</td><td><a id="p119003"></a>X</td><td><a id="p119004"></a>X</td></tr>
<tr><td><a id="p119005"></a>Compound_representation_item</td><td><a id="p119006"></a>X</td><td><a id="p119007"></a>X</td><td><a id="p119008"></a>X</td><td><a id="p119009"></a>X</td><td><a id="p119010"></a>X</td></tr>
<tr><td><a id="p119011"></a>Conic</td><td></td><td></td><td><a id="p119012"></a>X</td><td><a id="p119013"></a>X</td><td><a id="p119014"></a>X</td></tr>
<tr><td><a id="p119015"></a>Conical_surface</td><td></td><td></td><td><a id="p119016"></a>X</td><td><a id="p119017"></a>X</td><td><a id="p119018"></a>X</td></tr>
<tr><td><a id="p119019"></a>Connected_edge_set</td><td></td><td></td><td><a id="p119020"></a>X</td><td></td><td></td></tr>
<tr><td><a id="p119021"></a>Connected_face_set</td><td></td><td></td><td></td><td><a id="p119022"></a>X</td><td><a id="p119023"></a>X</td></tr>
<tr><td><a id="p119024"></a>Context_dependent_unit</td><td><a id="p119025"></a>X</td><td><a id="p119026"></a>X</td><td><a id="p119027"></a>X</td><td><a id="p119028"></a>X</td><td><a id="p119029"></a>X</td></tr>
<tr><td><a id="p119030"></a>Conversion_based_unit</td><td><a id="p119031"></a>X</td><td><a id="p119032"></a>X</td><td><a id="p119033"></a>X</td><td><a id="p119034"></a>X</td><td><a id="p119035"></a>X</td></tr>
<tr><td><a id="p119036"></a>Coordinated_universal_time_offset</td><td><a id="p119037"></a>X</td><td><a id="p119038"></a>X</td><td><a id="p119039"></a>X</td><td><a id="p119040"></a>X</td><td><a id="p119041"></a>X</td></tr>
<tr><td><a id="p119042"></a>Curve</td><td></td><td></td><td><a id="p119043"></a>X</td><td><a id="p119044"></a>X</td><td><a id="p119045"></a>X</td></tr>
<tr><td><a id="p119046"></a>Curve_replica</td><td></td><td></td><td><a id="p119047"></a>X</td><td><a id="p119048"></a>X</td><td><a id="p119049"></a>X</td></tr>
<tr><td><a id="p119050"></a>Cylindrical_surface</td><td></td><td></td><td><a id="p119051"></a>X</td><td><a id="p119052"></a>X</td><td><a id="p119053"></a>X</td></tr>
<tr><td><a id="p119054"></a>Date</td><td><a id="p119055"></a>X</td><td><a id="p119056"></a>X</td><td><a id="p119057"></a>X</td><td><a id="p119058"></a>X</td><td><a id="p119059"></a>X</td></tr>
<tr><td><a id="p119060"></a>Date_and_time</td><td><a id="p119061"></a>X</td><td><a id="p119062"></a>X</td><td><a id="p119063"></a>X</td><td><a id="p119064"></a>X</td><td><a id="p119065"></a>X</td></tr>
<tr><td><a id="p119066"></a>Date_and_time_assignment</td><td><a id="p119067"></a>X</td><td><a id="p119068"></a>X</td><td><a id="p119069"></a>X</td><td><a id="p119070"></a>X</td><td><a id="p119071"></a>X</td></tr>
<tr><td><a id="p119072"></a>Date_time_role</td><td><a id="p119073"></a>X</td><td><a id="p119074"></a>X</td><td><a id="p119075"></a>X</td><td><a id="p119076"></a>X</td><td><a id="p119077"></a>X</td></tr>
<tr><td><a id="p119078"></a>Definitional_representation</td><td></td><td></td><td><a id="p119079"></a>X</td><td><a id="p119080"></a>X</td><td><a id="p119081"></a>X</td></tr>
<tr><td><a id="p119082"></a>Degenerate_pcurve</td><td></td><td></td><td><a id="p119083"></a>X</td><td><a id="p119084"></a>X</td><td><a id="p119085"></a>X</td></tr>
<tr><td><a id="p119086"></a>Degenerate_toroidal_surface</td><td></td><td></td><td><a id="p119087"></a>X</td><td><a id="p119088"></a>X</td><td><a id="p119089"></a>X</td></tr>
<tr><td><a id="p119090"></a>Derived_unit</td><td><a id="p119091"></a>X</td><td><a id="p119092"></a>X</td><td><a id="p119093"></a>X</td><td><a id="p119094"></a>X</td><td><a id="p119095"></a>X</td></tr>
<tr><td><a id="p119096"></a>Derived_unit_element</td><td><a id="p119097"></a>X</td><td><a id="p119098"></a>X</td><td><a id="p119099"></a>X</td><td><a id="p119100"></a>X</td><td><a id="p119101"></a>X</td></tr>
<tr><td><a id="p119102"></a>Description_attribute</td><td><a id="p119103"></a>X</td><td><a id="p119104"></a>X</td><td><a id="p119105"></a>X</td><td><a id="p119106"></a>X</td><td><a id="p119107"></a>X</td></tr>
<tr><td><a id="p119108"></a>Descriptive_representation_item</td><td><a id="p119109"></a>X</td><td><a id="p119110"></a>X</td><td><a id="p119111"></a>X</td><td><a id="p119112"></a>X</td><td><a id="p119113"></a>X</td></tr>
<tr><td><a id="p119114"></a>Dimensional_exponents</td><td><a id="p119115"></a>X</td><td><a id="p119116"></a>X</td><td><a id="p119117"></a>X</td><td><a id="p119118"></a>X</td><td><a id="p119119"></a>X</td></tr>
<tr><td><a id="p119120"></a>Direction</td><td></td><td></td><td><a id="p119121"></a>X</td><td><a id="p119122"></a>X</td><td><a id="p119123"></a>X</td></tr>
<tr><td><a id="p119124"></a>Document</td><td><a id="p119125"></a>X</td><td><a id="p119126"></a>X</td><td><a id="p119127"></a>X</td><td><a id="p119128"></a>X</td><td><a id="p119129"></a>X</td></tr>
<tr><td><a id="p119130"></a>Document_reference</td><td><a id="p119131"></a>X</td><td><a id="p119132"></a>X</td><td><a id="p119133"></a>X</td><td><a id="p119134"></a>X</td><td><a id="p119135"></a>X</td></tr>
<tr><td><a id="p119136"></a>Document_representation_type</td><td><a id="p119137"></a>X</td><td><a id="p119138"></a>X</td><td><a id="p119139"></a>X</td><td><a id="p119140"></a>X</td><td><a id="p119141"></a>X</td></tr>
<tr><td><a id="p119142"></a>Document_type</td><td><a id="p119143"></a>X</td><td><a id="p119144"></a>X</td><td><a id="p119145"></a>X</td><td><a id="p119146"></a>X</td><td><a id="p119147"></a>X</td></tr>
<tr><td><a id="p119148"></a>Document_usage_constraint</td><td><a id="p119149"></a>X</td><td><a id="p119150"></a>X</td><td><a id="p119151"></a>X</td><td><a id="p119152"></a>X</td><td><a id="p119153"></a>X</td></tr>
<tr><td><a id="p119154"></a>Edge</td><td></td><td><a id="p119155"></a>X</td><td><a id="p119156"></a>X</td><td><a id="p119157"></a>X</td><td><a id="p119158"></a>X</td></tr>
<tr><td><a id="p119159"></a>Edge_based_wireframe_model</td><td></td><td></td><td><a id="p119160"></a>X</td><td></td><td></td></tr>
<tr><td><a id="p119161"></a>Edge_based_wireframe_shape_representation</td><td><a id="p119162"></a>X</td><td><a id="p119163"></a>X</td><td><a id="p119164"></a>X</td><td><a id="p119165"></a>X</td><td><a id="p119166"></a>X</td></tr>
<tr><td><a id="p119167"></a>Edge_curve</td><td></td><td><a id="p119168"></a>X</td><td><a id="p119169"></a>X</td><td><a id="p119170"></a>X</td><td><a id="p119171"></a>X</td></tr>
<tr><td><a id="p119172"></a>Edge_loop</td><td></td><td></td><td></td><td><a id="p119173"></a>X</td><td><a id="p119174"></a>X</td></tr>
<tr><td><a id="p119175"></a>Effectivity</td><td></td><td></td><td></td><td></td><td><a id="p119176"></a>X</td></tr>
<tr><td><a id="p119177"></a>Effectivity_assignment</td><td></td><td></td><td></td><td></td><td><a id="p119178"></a>X</td></tr>
<tr><td><a id="p119179"></a>Electric_current_unit</td><td><a id="p119180"></a>X</td><td><a id="p119181"></a>X</td><td><a id="p119182"></a>X</td><td><a id="p119183"></a>X</td><td><a id="p119184"></a>X</td></tr>
<tr><td><a id="p119185"></a>Elementary_surface</td><td><a id="p119186"></a>X</td><td><a id="p119187"></a>X</td><td><a id="p119188"></a>X</td><td><a id="p119189"></a>X</td><td><a id="p119190"></a>X</td></tr>
<tr><td><a id="p119191"></a>Ellipse</td><td></td><td></td><td><a id="p119192"></a>X</td><td><a id="p119193"></a>X</td><td><a id="p119194"></a>X</td></tr>
<tr><td><a id="p119195"></a>Evaluated_degenerate_pcurve</td><td></td><td></td><td><a id="p119196"></a>X</td><td><a id="p119197"></a>X</td><td><a id="p119198"></a>X</td></tr>
<tr><td><a id="p119199"></a>Executed_action</td><td><a id="p119200"></a>X</td><td><a id="p119201"></a>X</td><td><a id="p119202"></a>X</td><td><a id="p119203"></a>X</td><td><a id="p119204"></a>X</td></tr>
<tr><td><a id="p119205"></a>External_identification_assignment</td><td><a id="p119206"></a>X</td><td><a id="p119207"></a>X</td><td><a id="p119208"></a>X</td><td><a id="p119209"></a>X</td><td><a id="p119210"></a>X</td></tr>
<tr><td><a id="p119211"></a>External_source</td><td><a id="p119212"></a>X</td><td><a id="p119213"></a>X</td><td><a id="p119214"></a>X</td><td><a id="p119215"></a>X</td><td><a id="p119216"></a>X</td></tr>
<tr><td><a id="p119217"></a>External_source_relationship</td><td><a id="p119218"></a>X</td><td><a id="p119219"></a>X</td><td><a id="p119220"></a>X</td><td><a id="p119221"></a>X</td><td><a id="p119222"></a>X</td></tr>
<tr><td><a id="p119223"></a>Externally_defined_item</td><td><a id="p119224"></a>X</td><td><a id="p119225"></a>X</td><td><a id="p119226"></a>X</td><td><a id="p119227"></a>X</td><td><a id="p119228"></a>X</td></tr>
<tr><td><a id="p119229"></a>Face</td><td></td><td><a id="p119230"></a>X</td><td><a id="p119231"></a>X</td><td><a id="p119232"></a>X</td><td><a id="p119233"></a>X</td></tr>
<tr><td><a id="p119234"></a>Face_based_surface_model</td><td></td><td></td><td></td><td><a id="p119235"></a>X</td><td><a id="p119236"></a>X</td></tr>
<tr><td><a id="p119237"></a>Face_bound</td><td></td><td></td><td></td><td><a id="p119238"></a>X</td><td><a id="p119239"></a>X</td></tr>
<tr><td><a id="p119240"></a>Face_outer_bound</td><td></td><td></td><td></td><td><a id="p119241"></a>X</td><td><a id="p119242"></a>X</td></tr>
<tr><td><a id="p119243"></a>Face_surface</td><td></td><td><a id="p119244"></a>X</td><td><a id="p119245"></a>X</td><td><a id="p119246"></a>X</td><td><a id="p119247"></a>X</td></tr>
<tr><td><a id="p119248"></a>Faceted_brep</td><td></td><td></td><td></td><td><a id="p119249"></a>X</td><td><a id="p119250"></a>X</td></tr>
<tr><td><a id="p119251"></a>Founded_item</td><td></td><td></td><td><a id="p119252"></a>X</td><td><a id="p119253"></a>X</td><td><a id="p119254"></a>X</td></tr>
<tr><td><a id="p119255"></a>Functionally_defined_transformation</td><td></td><td></td><td><a id="p119256"></a>X</td><td><a id="p119257"></a>X</td><td><a id="p119258"></a>X</td></tr>
<tr><td><a id="p119259"></a>Geometric_curve_set</td><td></td><td></td><td></td><td><a id="p119260"></a>X</td><td><a id="p119261"></a>X</td></tr>
<tr><td><a id="p119262"></a>Geometric_representation_context</td><td><a id="p119263"></a>X</td><td><a id="p119264"></a>X</td><td><a id="p119265"></a>X</td><td><a id="p119266"></a>X</td><td><a id="p119267"></a>X</td></tr>
<tr><td><a id="p119268"></a>Geometric_representation_item</td><td><a id="p119269"></a>X</td><td><a id="p119270"></a>X</td><td><a id="p119271"></a>X</td><td><a id="p119272"></a>X</td><td><a id="p119273"></a>X</td></tr>
<tr><td><a id="p119274"></a>Geometric_set</td><td></td><td></td><td></td><td><a id="p119275"></a>X</td><td><a id="p119276"></a>X</td></tr>
<tr><td><a id="p119277"></a>Global_uncertainty_assigned_context</td><td><a id="p119278"></a>X</td><td><a id="p119279"></a>X</td><td><a id="p119280"></a>X</td><td><a id="p119281"></a>X</td><td><a id="p119282"></a>X</td></tr>
<tr><td><a id="p119283"></a>Global_unit_assigned_context</td><td><a id="p119284"></a>X</td><td><a id="p119285"></a>X</td><td><a id="p119286"></a>X</td><td><a id="p119287"></a>X</td><td><a id="p119288"></a>X</td></tr>
<tr><td><a id="p119289"></a>Group</td><td><a id="p119290"></a>X</td><td><a id="p119291"></a>X</td><td><a id="p119292"></a>X</td><td><a id="p119293"></a>X</td><td><a id="p119294"></a>X</td></tr>
<tr><td><a id="p119295"></a>Group_assignment</td><td><a id="p119296"></a>X</td><td><a id="p119297"></a>X</td><td><a id="p119298"></a>X</td><td><a id="p119299"></a>X</td><td><a id="p119300"></a>X</td></tr>
<tr><td><a id="p119301"></a>Group_relationship</td><td><a id="p119302"></a>X</td><td><a id="p119303"></a>X</td><td><a id="p119304"></a>X</td><td><a id="p119305"></a>X</td><td><a id="p119306"></a>X</td></tr>
<tr><td><a id="p119307"></a>Hyperbola</td><td></td><td></td><td><a id="p119308"></a>X</td><td><a id="p119309"></a>X</td><td><a id="p119310"></a>X</td></tr>
<tr><td><a id="p119311"></a>Id_attribute</td><td><a id="p119312"></a>X</td><td><a id="p119313"></a>X</td><td><a id="p119314"></a>X</td><td><a id="p119315"></a>X</td><td><a id="p119316"></a>X</td></tr>
<tr><td><a id="p119317"></a>Identification_assignment</td><td><a id="p119318"></a>X</td><td><a id="p119319"></a>X</td><td><a id="p119320"></a>X</td><td><a id="p119321"></a>X</td><td><a id="p119322"></a>X</td></tr>
<tr><td><a id="p119323"></a>Identification_assignment_relationship</td><td><a id="p119324"></a>X</td><td><a id="p119325"></a>X</td><td><a id="p119326"></a>X</td><td><a id="p119327"></a>X</td><td><a id="p119328"></a>X</td></tr>
<tr><td><a id="p119329"></a>Identification_role</td><td><a id="p119330"></a>X</td><td><a id="p119331"></a>X</td><td><a id="p119332"></a>X</td><td><a id="p119333"></a>X</td><td><a id="p119334"></a>X</td></tr>
<tr><td><a id="p119335"></a>Intersection_curve</td><td></td><td></td><td><a id="p119336"></a>X</td><td><a id="p119337"></a>X</td><td><a id="p119338"></a>X</td></tr>
<tr><td><a id="p119339"></a>Item_defined_transformation</td><td></td><td></td><td><a id="p119340"></a>X</td><td><a id="p119341"></a>X</td><td><a id="p119342"></a>X</td></tr>
<tr><td><a id="p119343"></a>Length_measure_with_unit</td><td><a id="p119344"></a>X</td><td><a id="p119345"></a>X</td><td><a id="p119346"></a>X</td><td><a id="p119347"></a>X</td><td><a id="p119348"></a>X</td></tr>
<tr><td><a id="p119349"></a>Length_unit</td><td><a id="p119350"></a>X</td><td><a id="p119351"></a>X</td><td><a id="p119352"></a>X</td><td><a id="p119353"></a>X</td><td><a id="p119354"></a>X</td></tr>
<tr><td><a id="p119355"></a>Line</td><td></td><td></td><td><a id="p119356"></a>X</td><td><a id="p119357"></a>X</td><td><a id="p119358"></a>X</td></tr>
<tr><td><a id="p119359"></a>Local_time</td><td><a id="p119360"></a>X</td><td><a id="p119361"></a>X</td><td><a id="p119362"></a>X</td><td><a id="p119363"></a>X</td><td><a id="p119364"></a>X</td></tr>
<tr><td><a id="p119365"></a>Loop</td><td></td><td></td><td></td><td><a id="p119366"></a>X</td><td><a id="p119367"></a>X</td></tr>
<tr><td><a id="p119368"></a>Luminous_intensity_unit</td><td><a id="p119369"></a>X</td><td><a id="p119370"></a>X</td><td><a id="p119371"></a>X</td><td><a id="p119372"></a>X</td><td><a id="p119373"></a>X</td></tr>
<tr><td><a id="p119374"></a>Manifold_solid_brep</td><td></td><td></td><td></td><td><a id="p119375"></a>X</td><td><a id="p119376"></a>X</td></tr>
<tr><td><a id="p119377"></a>Mapped_item</td><td><a id="p119378"></a>X</td><td><a id="p119379"></a>X</td><td><a id="p119380"></a>X</td><td><a id="p119381"></a>X</td><td><a id="p119382"></a>X</td></tr>
<tr><td><a id="p119383"></a>Mass_measure_with_unit</td><td><a id="p119384"></a>X</td><td><a id="p119385"></a>X</td><td><a id="p119386"></a>X</td><td><a id="p119387"></a>X</td><td><a id="p119388"></a>X</td></tr>
<tr><td><a id="p119389"></a>Mass_unit</td><td><a id="p119390"></a>X</td><td><a id="p119391"></a>X</td><td><a id="p119392"></a>X</td><td><a id="p119393"></a>X</td><td><a id="p119394"></a>X</td></tr>
<tr><td><a id="p119395"></a>Measure_with_unit</td><td><a id="p119396"></a>X</td><td><a id="p119397"></a>X</td><td><a id="p119398"></a>X</td><td><a id="p119399"></a>X</td><td><a id="p119400"></a>X</td></tr>
<tr><td><a id="p119401"></a>Name_attribute</td><td><a id="p119402"></a>X</td><td><a id="p119403"></a>X</td><td><a id="p119404"></a>X</td><td><a id="p119405"></a>X</td><td><a id="p119406"></a>X</td></tr>
<tr><td><a id="p119407"></a>Named_unit</td><td><a id="p119408"></a>X</td><td><a id="p119409"></a>X</td><td><a id="p119410"></a>X</td><td><a id="p119411"></a>X</td><td><a id="p119412"></a>X</td></tr>
<tr><td><a id="p119413"></a>Non_manifold_surface_shape_representation</td><td><a id="p119414"></a>X</td><td><a id="p119415"></a>X</td><td><a id="p119416"></a>X</td><td><a id="p119417"></a>X</td><td><a id="p119418"></a>X</td></tr>
<tr><td><a id="p119419"></a>Object_role</td><td><a id="p119420"></a>X</td><td><a id="p119421"></a>X</td><td><a id="p119422"></a>X</td><td><a id="p119423"></a>X</td><td><a id="p119424"></a>X</td></tr>
<tr><td><a id="p119425"></a>Offset_curve_3d</td><td></td><td></td><td><a id="p119426"></a>X</td><td><a id="p119427"></a>X</td><td><a id="p119428"></a>X</td></tr>
<tr><td><a id="p119429"></a>Offset_surface</td><td></td><td></td><td><a id="p119430"></a>X</td><td><a id="p119431"></a>X</td><td><a id="p119432"></a>X</td></tr>
<tr><td><a id="p119433"></a>Open_shell</td><td></td><td></td><td></td><td><a id="p119434"></a>X</td><td><a id="p119435"></a>X</td></tr>
<tr><td><a id="p119436"></a>Ordinal_date</td><td><a id="p119437"></a>X</td><td><a id="p119438"></a>X</td><td><a id="p119439"></a>X</td><td><a id="p119440"></a>X</td><td><a id="p119441"></a>X</td></tr>
<tr><td><a id="p119442"></a>Organization</td><td><a id="p119443"></a>X</td><td><a id="p119444"></a>X</td><td><a id="p119445"></a>X</td><td><a id="p119446"></a>X</td><td><a id="p119447"></a>X</td></tr>
<tr><td><a id="p119448"></a>Organization_assignment</td><td><a id="p119449"></a>X</td><td><a id="p119450"></a>X</td><td><a id="p119451"></a>X</td><td><a id="p119452"></a>X</td><td><a id="p119453"></a>X</td></tr>
<tr><td><a id="p119454"></a>Organization_role</td><td><a id="p119455"></a>X</td><td><a id="p119456"></a>X</td><td><a id="p119457"></a>X</td><td><a id="p119458"></a>X</td><td><a id="p119459"></a>X</td></tr>
<tr><td><a id="p119460"></a>Organizational_address</td><td><a id="p119461"></a>X</td><td><a id="p119462"></a>X</td><td><a id="p119463"></a>X</td><td><a id="p119464"></a>X</td><td><a id="p119465"></a>X</td></tr>
<tr><td><a id="p119466"></a>Organizational_project</td><td><a id="p119467"></a>X</td><td><a id="p119468"></a>X</td><td><a id="p119469"></a>X</td><td><a id="p119470"></a>X</td><td><a id="p119471"></a>X</td></tr>
<tr><td><a id="p119472"></a>Oriented_closed_shell</td><td></td><td></td><td></td><td><a id="p119473"></a>X</td><td><a id="p119474"></a>X</td></tr>
<tr><td><a id="p119475"></a>Oriented_edge</td><td></td><td><a id="p119476"></a>X</td><td><a id="p119477"></a>X</td><td><a id="p119478"></a>X</td><td><a id="p119479"></a>X</td></tr>
<tr><td><a id="p119480"></a>Oriented_face</td><td></td><td><a id="p119481"></a>X</td><td><a id="p119482"></a>X</td><td><a id="p119483"></a>X</td><td><a id="p119484"></a>X</td></tr>
<tr><td><a id="p119485"></a>Oriented_open_shell</td><td></td><td></td><td></td><td><a id="p119486"></a>X</td><td><a id="p119487"></a>X</td></tr>
<tr><td><a id="p119488"></a>Oriented_path</td><td></td><td></td><td></td><td><a id="p119489"></a>X</td><td><a id="p119490"></a>X</td></tr>
<tr><td><a id="p119491"></a>Oriented_surface</td><td></td><td></td><td><a id="p119492"></a>X</td><td><a id="p119493"></a>X</td><td><a id="p119494"></a>X</td></tr>
<tr><td><a id="p119495"></a>Parabola</td><td></td><td></td><td><a id="p119496"></a>X</td><td><a id="p119497"></a>X</td><td><a id="p119498"></a>X</td></tr>
<tr><td><a id="p119499"></a>Parametric_representation_context</td><td></td><td></td><td><a id="p119500"></a>X</td><td><a id="p119501"></a>X</td><td><a id="p119502"></a>X</td></tr>
<tr><td><a id="p119503"></a>Path</td><td></td><td></td><td><a id="p119504"></a>X</td><td><a id="p119505"></a>X</td><td><a id="p119506"></a>X</td></tr>
<tr><td><a id="p119507"></a>Pcurve</td><td></td><td></td><td><a id="p119508"></a>X</td><td><a id="p119509"></a>X</td><td><a id="p119510"></a>X</td></tr>
<tr><td><a id="p119511"></a>Person</td><td><a id="p119512"></a>X</td><td><a id="p119513"></a>X</td><td><a id="p119514"></a>X</td><td><a id="p119515"></a>X</td><td><a id="p119516"></a>X</td></tr>
<tr><td><a id="p119517"></a>Person_and_organization</td><td><a id="p119518"></a>X</td><td><a id="p119519"></a>X</td><td><a id="p119520"></a>X</td><td><a id="p119521"></a>X</td><td><a id="p119522"></a>X</td></tr>
<tr><td><a id="p119523"></a>Person_and_organization_assignment</td><td><a id="p119524"></a>X</td><td><a id="p119525"></a>X</td><td><a id="p119526"></a>X</td><td><a id="p119527"></a>X</td><td><a id="p119528"></a>X</td></tr>
<tr><td><a id="p119529"></a>Person_and_organization_role</td><td><a id="p119530"></a>X</td><td><a id="p119531"></a>X</td><td><a id="p119532"></a>X</td><td><a id="p119533"></a>X</td><td><a id="p119534"></a>X</td></tr>
<tr><td><a id="p119535"></a>Person_assignment</td><td><a id="p119536"></a>X</td><td><a id="p119537"></a>X</td><td><a id="p119538"></a>X</td><td><a id="p119539"></a>X</td><td><a id="p119540"></a>X</td></tr>
<tr><td><a id="p119541"></a>Person_role</td><td><a id="p119542"></a>X</td><td><a id="p119543"></a>X</td><td><a id="p119544"></a>X</td><td><a id="p119545"></a>X</td><td><a id="p119546"></a>X</td></tr>
<tr><td><a id="p119547"></a>Personal_address</td><td><a id="p119548"></a>X</td><td><a id="p119549"></a>X</td><td><a id="p119550"></a>X</td><td><a id="p119551"></a>X</td><td><a id="p119552"></a>X</td></tr>
<tr><td><a id="p119553"></a>Placement</td><td><a id="p119554"></a>X</td><td><a id="p119555"></a>X</td><td><a id="p119556"></a>X</td><td><a id="p119557"></a>X</td><td><a id="p119558"></a>X</td></tr>
<tr><td><a id="p119559"></a>Plane</td><td><a id="p119560"></a>X</td><td><a id="p119561"></a>X</td><td><a id="p119562"></a>X</td><td><a id="p119563"></a>X</td><td><a id="p119564"></a>X</td></tr>
<tr><td><a id="p119565"></a>Plane_angle_measure_with_unit</td><td><a id="p119566"></a>X</td><td><a id="p119567"></a>X</td><td><a id="p119568"></a>X</td><td><a id="p119569"></a>X</td><td><a id="p119570"></a>X</td></tr>
<tr><td><a id="p119571"></a>Plane_angle_unit</td><td><a id="p119572"></a>X</td><td><a id="p119573"></a>X</td><td><a id="p119574"></a>X</td><td><a id="p119575"></a>X</td><td><a id="p119576"></a>X</td></tr>
<tr><td><a id="p119577"></a>Point</td><td></td><td></td><td><a id="p119578"></a>X</td><td><a id="p119579"></a>X</td><td><a id="p119580"></a>X</td></tr>
<tr><td><a id="p119581"></a>Point_on_curve</td><td></td><td></td><td><a id="p119582"></a>X</td><td><a id="p119583"></a>X</td><td><a id="p119584"></a>X</td></tr>
<tr><td><a id="p119585"></a>Point_on_surface</td><td></td><td></td><td><a id="p119586"></a>X</td><td><a id="p119587"></a>X</td><td><a id="p119588"></a>X</td></tr>
<tr><td><a id="p119589"></a>Point_replica</td><td></td><td></td><td><a id="p119590"></a>X</td><td><a id="p119591"></a>X</td><td><a id="p119592"></a>X</td></tr>
<tr><td><a id="p119593"></a>Poly_loop</td><td></td><td></td><td></td><td><a id="p119594"></a>X</td><td><a id="p119595"></a>X</td></tr>
<tr><td><a id="p119596"></a>Polyline</td><td></td><td></td><td><a id="p119597"></a>X</td><td><a id="p119598"></a>X</td><td><a id="p119599"></a>X</td></tr>
<tr><td><a id="p119600"></a>Product</td><td><a id="p119601"></a>X</td><td><a id="p119602"></a>X</td><td><a id="p119603"></a>X</td><td><a id="p119604"></a>X</td><td><a id="p119605"></a>X</td></tr>
<tr><td><a id="p119606"></a>Product_category</td><td><a id="p119607"></a>X</td><td><a id="p119608"></a>X</td><td><a id="p119609"></a>X</td><td><a id="p119610"></a>X</td><td><a id="p119611"></a>X</td></tr>
<tr><td><a id="p119612"></a>Product_category_relationship</td><td><a id="p119613"></a>X</td><td><a id="p119614"></a>X</td><td><a id="p119615"></a>X</td><td><a id="p119616"></a>X</td><td><a id="p119617"></a>X</td></tr>
<tr><td><a id="p119618"></a>Product_context</td><td><a id="p119619"></a>X</td><td><a id="p119620"></a>X</td><td><a id="p119621"></a>X</td><td><a id="p119622"></a>X</td><td><a id="p119623"></a>X</td></tr>
<tr><td><a id="p119624"></a>Product_definition</td><td><a id="p119625"></a>X</td><td><a id="p119626"></a>X</td><td><a id="p119627"></a>X</td><td><a id="p119628"></a>X</td><td><a id="p119629"></a>X</td></tr>
<tr><td><a id="p119630"></a>Product_definition_context</td><td><a id="p119631"></a>X</td><td><a id="p119632"></a>X</td><td><a id="p119633"></a>X</td><td><a id="p119634"></a>X</td><td><a id="p119635"></a>X</td></tr>
<tr><td><a id="p119636"></a>Product_definition_formation</td><td><a id="p119637"></a>X</td><td><a id="p119638"></a>X</td><td><a id="p119639"></a>X</td><td><a id="p119640"></a>X</td><td><a id="p119641"></a>X</td></tr>
<tr><td><a id="p119642"></a>Product_definition_relationship</td><td><a id="p119643"></a>X</td><td><a id="p119644"></a>X</td><td><a id="p119645"></a>X</td><td><a id="p119646"></a>X</td><td><a id="p119647"></a>X</td></tr>
<tr><td><a id="p119648"></a>Product_definition_shape</td><td><a id="p119649"></a>X</td><td><a id="p119650"></a>X</td><td><a id="p119651"></a>X</td><td><a id="p119652"></a>X</td><td><a id="p119653"></a>X</td></tr>
<tr><td><a id="p119654"></a>Product_related_product_category</td><td><a id="p119655"></a>X</td><td><a id="p119656"></a>X</td><td><a id="p119657"></a>X</td><td><a id="p119658"></a>X</td><td><a id="p119659"></a>X</td></tr>
<tr><td><a id="p119660"></a>Property_definition</td><td><a id="p119661"></a>X</td><td><a id="p119662"></a>X</td><td><a id="p119663"></a>X</td><td><a id="p119664"></a>X</td><td><a id="p119665"></a>X</td></tr>
<tr><td><a id="p119666"></a>Property_definition_relationship</td><td><a id="p119667"></a>X</td><td><a id="p119668"></a>X</td><td><a id="p119669"></a>X</td><td><a id="p119670"></a>X</td><td><a id="p119671"></a>X</td></tr>
<tr><td><a id="p119672"></a>Property_definition_representation</td><td><a id="p119673"></a>X</td><td><a id="p119674"></a>X</td><td><a id="p119675"></a>X</td><td><a id="p119676"></a>X</td><td><a id="p119677"></a>X</td></tr>
<tr><td><a id="p119678"></a>Quasi_uniform_curve</td><td></td><td></td><td><a id="p119679"></a>X</td><td><a id="p119680"></a>X</td><td><a id="p119681"></a>X</td></tr>
<tr><td><a id="p119682"></a>Quasi_uniform_surface</td><td></td><td></td><td><a id="p119683"></a>X</td><td><a id="p119684"></a>X</td><td><a id="p119685"></a>X</td></tr>
<tr><td><a id="p119686"></a>Ratio_unit</td><td><a id="p119687"></a>X</td><td><a id="p119688"></a>X</td><td><a id="p119689"></a>X</td><td><a id="p119690"></a>X</td><td><a id="p119691"></a>X</td></tr>
<tr><td><a id="p119692"></a>Rational_b_spline_curve</td><td></td><td></td><td><a id="p119693"></a>X</td><td><a id="p119694"></a>X</td><td><a id="p119695"></a>X</td></tr>
<tr><td><a id="p119696"></a>Rational_b_spline_surface</td><td></td><td></td><td><a id="p119697"></a>X</td><td><a id="p119698"></a>X</td><td><a id="p119699"></a>X</td></tr>
<tr><td><a id="p119700"></a>Representation</td><td><a id="p119701"></a>X</td><td><a id="p119702"></a>X</td><td><a id="p119703"></a>X</td><td><a id="p119704"></a>X</td><td><a id="p119705"></a>X</td></tr>
<tr><td><a id="p119706"></a>Representation_context</td><td><a id="p119707"></a>X</td><td><a id="p119708"></a>X</td><td><a id="p119709"></a>X</td><td><a id="p119710"></a>X</td><td><a id="p119711"></a>X</td></tr>
<tr><td><a id="p119712"></a>Representation_item</td><td><a id="p119713"></a>X</td><td><a id="p119714"></a>X</td><td><a id="p119715"></a>X</td><td><a id="p119716"></a>X</td><td><a id="p119717"></a>X</td></tr>
<tr><td><a id="p119718"></a>Representation_map</td><td><a id="p119719"></a>X</td><td><a id="p119720"></a>X</td><td><a id="p119721"></a>X</td><td><a id="p119722"></a>X</td><td><a id="p119723"></a>X</td></tr>
<tr><td><a id="p119724"></a>Representation_relationship</td><td><a id="p119725"></a>X</td><td><a id="p119726"></a>X</td><td><a id="p119727"></a>X</td><td><a id="p119728"></a>X</td><td><a id="p119729"></a>X</td></tr>
<tr><td><a id="p119730"></a>Role_association</td><td><a id="p119731"></a>X</td><td><a id="p119732"></a>X</td><td><a id="p119733"></a>X</td><td><a id="p119734"></a>X</td><td><a id="p119735"></a>X</td></tr>
<tr><td><a id="p119736"></a>Seam_curve</td><td></td><td></td><td><a id="p119737"></a>X</td><td><a id="p119738"></a>X</td><td><a id="p119739"></a>X</td></tr>
<tr><td><a id="p119740"></a>Serial_numbered_effectivity</td><td></td><td></td><td></td><td></td><td><a id="p119741"></a>X</td></tr>
<tr><td><a id="p119742"></a>Shape_aspect</td><td><a id="p119743"></a>X</td><td><a id="p119744"></a>X</td><td><a id="p119745"></a>X</td><td><a id="p119746"></a>X</td><td><a id="p119747"></a>X</td></tr>
<tr><td><a id="p119748"></a>Shape_definition_representation</td><td><a id="p119749"></a>X</td><td><a id="p119750"></a>X</td><td><a id="p119751"></a>X</td><td><a id="p119752"></a>X</td><td><a id="p119753"></a>X</td></tr>
<tr><td><a id="p119754"></a>Shape_representation</td><td><a id="p119755"></a>X</td><td><a id="p119756"></a>X</td><td><a id="p119757"></a>X</td><td><a id="p119758"></a>X</td><td><a id="p119759"></a>X</td></tr>
<tr><td><a id="p119760"></a>Si_unit</td><td><a id="p119761"></a>X</td><td><a id="p119762"></a>X</td><td><a id="p119763"></a>X</td><td><a id="p119764"></a>X</td><td><a id="p119765"></a>X</td></tr>
<tr><td><a id="p119766"></a>Solid_angle_measure_with_unit</td><td><a id="p119767"></a>X</td><td><a id="p119768"></a>X</td><td><a id="p119769"></a>X</td><td><a id="p119770"></a>X</td><td><a id="p119771"></a>X</td></tr>
<tr><td><a id="p119772"></a>Solid_angle_unit</td><td><a id="p119773"></a>X</td><td><a id="p119774"></a>X</td><td><a id="p119775"></a>X</td><td><a id="p119776"></a>X</td><td><a id="p119777"></a>X</td></tr>
<tr><td><a id="p119778"></a>Solid_model</td><td></td><td></td><td></td><td><a id="p119779"></a>X</td><td><a id="p119780"></a>X</td></tr>
<tr><td><a id="p119781"></a>Spherical_surface</td><td></td><td></td><td><a id="p119782"></a>X</td><td><a id="p119783"></a>X</td><td><a id="p119784"></a>X</td></tr>
<tr><td><a id="p119785"></a>Subface</td><td></td><td><a id="p119786"></a>X</td><td><a id="p119787"></a>X</td><td><a id="p119788"></a>X</td><td><a id="p119789"></a>X</td></tr>
<tr><td><a id="p119790"></a>Surface</td><td><a id="p119791"></a>X</td><td><a id="p119792"></a>X</td><td><a id="p119793"></a>X</td><td><a id="p119794"></a>X</td><td><a id="p119795"></a>X</td></tr>
<tr><td><a id="p119796"></a>Surface_curve</td><td></td><td></td><td><a id="p119797"></a>X</td><td><a id="p119798"></a>X</td><td><a id="p119799"></a>X</td></tr>
<tr><td><a id="p119800"></a>Surface_of_linear_extrusion</td><td></td><td></td><td><a id="p119801"></a>X</td><td><a id="p119802"></a>X</td><td><a id="p119803"></a>X</td></tr>
<tr><td><a id="p119804"></a>Surface_of_revolution</td><td></td><td></td><td><a id="p119805"></a>X</td><td><a id="p119806"></a>X</td><td><a id="p119807"></a>X</td></tr>
<tr><td><a id="p119808"></a>Surface_replica</td><td></td><td></td><td><a id="p119809"></a>X</td><td><a id="p119810"></a>X</td><td><a id="p119811"></a>X</td></tr>
<tr><td><a id="p119812"></a>Swept_surface</td><td></td><td></td><td><a id="p119813"></a>X</td><td><a id="p119814"></a>X</td><td><a id="p119815"></a>X</td></tr>
<tr><td><a id="p119816"></a>Thermodynamic_temperature_unit</td><td><a id="p119817"></a>X</td><td><a id="p119818"></a>X</td><td><a id="p119819"></a>X</td><td><a id="p119820"></a>X</td><td><a id="p119821"></a>X</td></tr>
<tr><td><a id="p119822"></a>Time_unit</td><td><a id="p119823"></a>X</td><td><a id="p119824"></a>X</td><td><a id="p119825"></a>X</td><td><a id="p119826"></a>X</td><td><a id="p119827"></a>X</td></tr>
<tr><td><a id="p119828"></a>Topological_representation_item</td><td></td><td></td><td></td><td><a id="p119829"></a>X</td><td><a id="p119830"></a>X</td></tr>
<tr><td><a id="p119831"></a>Toroidal_surface</td><td></td><td></td><td><a id="p119832"></a>X</td><td><a id="p119833"></a>X</td><td><a id="p119834"></a>X</td></tr>
<tr><td><a id="p119835"></a>Uncertainty_measure_with_unit</td><td><a id="p119836"></a>X</td><td><a id="p119837"></a>X</td><td><a id="p119838"></a>X</td><td><a id="p119839"></a>X</td><td><a id="p119840"></a>X</td></tr>
<tr><td><a id="p119841"></a>Uniform_curve</td><td></td><td></td><td><a id="p119842"></a>X</td><td><a id="p119843"></a>X</td><td><a id="p119844"></a>X</td></tr>
<tr><td><a id="p119845"></a>Uniform_surface</td><td></td><td></td><td><a id="p119846"></a>X</td><td><a id="p119847"></a>X</td><td><a id="p119848"></a>X</td></tr>
<tr><td><a id="p119849"></a>Value_representation_item</td><td><a id="p119850"></a>X</td><td><a id="p119851"></a>X</td><td><a id="p119852"></a>X</td><td><a id="p119853"></a>X</td><td><a id="p119854"></a>X</td></tr>
<tr><td><a id="p119855"></a>Vector</td><td></td><td></td><td><a id="p119856"></a>X</td><td><a id="p119857"></a>X</td><td><a id="p119858"></a>X</td></tr>
<tr><td><a id="p119859"></a>Versioned_action_request</td><td><a id="p119860"></a>X</td><td><a id="p119861"></a>X</td><td><a id="p119862"></a>X</td><td><a id="p119863"></a>X</td><td><a id="p119864"></a>X</td></tr>
<tr><td><a id="p119865"></a>Vertex</td><td></td><td></td><td><a id="p119866"></a>X</td><td><a id="p119867"></a>X</td><td><a id="p119868"></a>X</td></tr>
<tr><td><a id="p119869"></a>Vertex_loop</td><td></td><td></td><td></td><td><a id="p119870"></a>X</td><td><a id="p119871"></a>X</td></tr>
<tr><td><a id="p119872"></a>Vertex_point</td><td></td><td><a id="p119873"></a>X</td><td><a id="p119874"></a>X</td><td><a id="p119875"></a>X</td><td><a id="p119876"></a>X</td></tr>
</table>






<a id="p119877"></a>Приложение A
(обязательное)

<a id="p119878"></a>**РАЗВЕРНУТЫЙ ЛИСТИНГ ПРИКЛАДНОЙ ИНТЕРПРЕТИРОВАННОЙ МОДЕЛИ**
**НА ЯЗЫКЕ EXPRESS**

<a id="p119879"></a>Приведенный ниже фрагмент на языке EXPRESS является развернутой формой схемы краткой формы, представленной в [5.2](#p111771). При расхождении между краткой формой и данным развернутым листингом следует использовать развернутый листинг.
<a id="p119880"></a>SCHEMA ship_moulded_form_schema;

<a id="p119881"></a>   CONSTANT
<a id="p119882"></a>   dummy_gri : geometric_representation_item :=
representation_item('') ||
<a id="p119883"></a>             geometric_representation_item();
<a id="p119884"></a>   dummy_tri : topological_representation_item := representation_item('')
<a id="p119885"></a>             || topological_representation_item();
<a id="p119886"></a>**END_CONSTANT;**

<a id="p119887"></a>TYPE action_item = SELECT
<a id="p119888"></a>   (product,
<a id="p119889"></a>      product_definition,
<a id="p119890"></a>      property_definition,
<a id="p119891"></a>      product_definition_relationship,
<a id="p119892"></a>      product_definition_shape,
<a id="p119893"></a>      product_related_product_category,
<a id="p119894"></a>      action_request_solution,
<a id="p119895"></a>      executed_action);
<a id="p119896"></a>END_TYPE; -- action_item

<a id="p119897"></a>TYPE action_request_item = SELECT
<a id="p119898"></a>   (action,
<a id="p119899"></a>      executed_action);
<a id="p119900"></a>END_TYPE; -- action_request_item

<a id="p119901"></a>TYPE ahead_or_behind = ENUMERATION OF
<a id="p119902"></a>   (ahead,
<a id="p119903"></a>   exact,
<a id="p119904"></a>   behind);
<a id="p119905"></a>END_TYPE; -- ahead_or_behind

<a id="p119906"></a>TYPE amount_of_substance_measure = REAL;
<a id="p119907"></a>END_TYPE; -- amount_of_substance_measure

<a id="p119908"></a>TYPE approval_item = SELECT
<a id="p119909"></a>   (product_definition,
<a id="p119910"></a>   product_definition_shape,
<a id="p119911"></a>   property_definition,
<a id="p119912"></a>   product_related_product_category);
<a id="p119913"></a>END_TYPE; -- approval_item

<a id="p119914"></a>TYPE area_measure = REAL;
<a id="p119915"></a>END_TYPE; -- area_measure

<a id="p119916"></a>TYPE attribute_type = SELECT
<a id="p119917"></a>   (label,
<a id="p119918"></a>   text);
<a id="p119919"></a>END_TYPE; -- attribute_type

<a id="p119920"></a>TYPE axis2_placement = SELECT
<a id="p119921"></a>   (axis2_placement_2d,
<a id="p119922"></a>   axis2_placement_3d);
<a id="p119923"></a>END_TYPE; -- axis2_placement

<a id="p119924"></a>TYPE b_spline_curve_form = ENUMERATION OF
<a id="p119925"></a>   (polyline_form,
<a id="p119926"></a>   circular_arc,
<a id="p119927"></a>   elliptic_arc,
<a id="p119928"></a>   parabolic_arc,
<a id="p119929"></a>   hyperbolic_arc,
<a id="p119930"></a>   unspecified);
<a id="p119931"></a>END_TYPE; -- b_spline_curve_form

<a id="p119932"></a>TYPE b_spline_surface_form = ENUMERATION OF
<a id="p119933"></a>   (plane_surf,
<a id="p119934"></a>   cylindrical_surf,
<a id="p119935"></a>   conical_surf,
<a id="p119936"></a>   spherical_surf,
<a id="p119937"></a>   toroidal_surf,
<a id="p119938"></a>   surf_of_revolution,
<a id="p119939"></a>   ruled_surf,
<a id="p119940"></a>   generalised_cone,
<a id="p119941"></a>   quadric_surf,
<a id="p119942"></a>   surf_of_linear_extrusion,
<a id="p119943"></a>   unspecified);
<a id="p119944"></a>END_TYPE; -- b_spline_surface_form

<a id="p119945"></a>TYPE boolean_operand = SELECT
<a id="p119946"></a>   (solid_model);
<a id="p119947"></a>END_TYPE; -- boolean_operand

<a id="p119948"></a>TYPE celsius_temperature_measure = REAL;
<a id="p119949"></a>END_TYPE; -- celsius_temperature_measure

<a id="p119950"></a>TYPE characterized_definition = SELECT
<a id="p119951"></a>   (characterized_object,
<a id="p119952"></a>   characterized_product_definition,
<a id="p119953"></a>   shape_definition);
<a id="p119954"></a>END_TYPE; -- characterized_definition

<a id="p119955"></a>TYPE characterized_product_definition = SELECT
<a id="p119956"></a>   (product_definition,
<a id="p119957"></a>   product_definition_relationship);
<a id="p119958"></a>END_TYPE; -- characterized_product_definition

<a id="p119959"></a>TYPE classification item = SELECT
<a id="p119960"></a>   (action,
<a id="p119961"></a>   action_request_solution,
<a id="p119962"></a>   applied_action_request_assignment,
<a id="p119963"></a>   approval,
<a id="p119964"></a>   axis2_placement_3d,
<a id="p119965"></a>   compound_representation_item,
<a id="p119966"></a>   document,
<a id="p119967"></a>   document_reference,
<a id="p119968"></a>   edge_curve,
<a id="p119969"></a>   executed_action,
<a id="p119970"></a>   external_source,
<a id="p119971"></a>   group,
<a id="p119972"></a>   identification_assignment_relationship,
<a id="p119973"></a>   measure_with_unit,
<a id="p119974"></a>   product,
<a id="p119975"></a>   product_definition,
<a id="p119976"></a>   product_definition_relationship,
<a id="p119977"></a>   product_definition_shape,
<a id="p119978"></a>   product_related_product_category,
<a id="p119979"></a>   property_definition,
<a id="p119980"></a>   property_definition_representation,
<a id="p119981"></a>   representation,
<a id="p119982"></a>   representation_item,
<a id="p119983"></a>   representation_relationship,
<a id="p119984"></a>   shape_representation,
<a id="p119985"></a>   surface,
<a id="p119986"></a>   vertex_point,
<a id="p119987"></a>   versioned_action_request);
<a id="p119988"></a>END TYPE; -- classification_item

<a id="p119989"></a>TYPE compound_item_definition = SELECT
<a id="p119990"></a>   (list_representation_item,
<a id="p119991"></a>   set_representation_item);
<a id="p119992"></a>END_TYPE; -- compound_item_definition

<a id="p119993"></a>TYPE context_dependent_measure = REAL;
<a id="p119994"></a>END TYPE; -- context_dependent_measure

<a id="p119995"></a>TYPE count_measure = NUMBER;
<a id="p119996"></a>END_TYPE; -- count_measure

<a id="p119997"></a>TYPE curve_on_surface = SELECT
<a id="p119998"></a>   (pcurve,
<a id="p119999"></a>   surface_curve,
<a id="p120000"></a>   composite_curve_on_surface);
<a id="p120001"></a>END_TYPE; -- curve_on_surface

<a id="p120002"></a>TYPE date_and_time_item = SELECT
<a id="p120003"></a>   (action_request_solution,
<a id="p120004"></a>   executed_action,
<a id="p120005"></a>   versioned_action_request,
<a id="p120006"></a>   product_definition,
<a id="p120007"></a>   action);
<a id="p120008"></a>END_TYPE; -- date_and_time_item

<a id="p120009"></a>TYPE date_time_or_event_occurrence = SELECT
<a id="p120010"></a>   (date_time_select);
<a id="p120011"></a>END_TYPE; -- date_time_or_event_occurrence

<a id="p120012"></a>TYPE date_time_select = SELECT
<a id="p120013"></a>   (date,
<a id="p120014"></a>   local_time,
<a id="p120015"></a>   date_and_time);
<a id="p120016"></a>END_TYPE; -- date_time_select

<a id="p120017"></a>TYPE day_in_month_number = INTEGER;
<a id="p120018"></a>**WHERE**
<a id="p120019"></a>   wr1: ((1 <= SELF) AND (SELF <= 31));
<a id="p120020"></a>END_TYPE; -- day_in_month_number

<a id="p120021"></a>TYPE day_in_week_number = INTEGER;
<a id="p120022"></a>**WHERE**
<a id="p120023"></a>   wr1: ((1 <= SELF) AND (SELF <= 7));
<a id="p120024"></a>END_TYPE; -- day_in_week_number

<a id="p120025"></a>TYPE day_in_year_number = INTEGER;
<a id="p120026"></a>**WHERE**
<a id="p120027"></a>   wr1: ((1 <= SELF) AND (SELF <= 366));
<a id="p120028"></a>END_TYPE; -- day_in_year_number

<a id="p120029"></a>TYPE derived_property_select = SELECT
<a id="p120030"></a>   (property_definition);
<a id="p120031"></a>END_TYPE; -- derived_property_select

<a id="p120032"></a>TYPE description_attribute_select = SELECT
<a id="p120033"></a>   (action_request_solution,
<a id="p120034"></a>   application_context,
<a id="p120035"></a>   approval_role,
<a id="p120036"></a>   date_time_role,
<a id="p120037"></a>   effectivity,
<a id="p120038"></a>   external_source,
<a id="p120039"></a>   organization_role,
<a id="p120040"></a>   person_and_organization_role,
<a id="p120041"></a>   person_and_organization,
<a id="p120042"></a>   person_role,
<a id="p120043"></a>   property_definition_representation,
<a id="p120044"></a>   representation);
<a id="p120045"></a>END_TYPE; -- description_attribute_select

<a id="p120046"></a>TYPE dimension_count = INTEGER;
<a id="p120047"></a>**WHERE**
<a id="p120048"></a>   wr1: (SELF > 0);
<a id="p120049"></a>END_TYPE; -- dimension_count

<a id="p120050"></a>TYPE document_reference_item = SELECT
<a id="p120051"></a>   (action,
<a id="p120052"></a>   product,
<a id="p120053"></a>   property_definition,
<a id="p120054"></a>   product_definition);
<a id="p120055"></a>END_TYPE; -- document_reference_item

<a id="p120056"></a>TYPE effectivity_item = SELECT
<a id="p120057"></a>   (product_definition,
<a id="p120058"></a>   property_definition,
<a id="p120059"></a>   product_definition_shape,
<a id="p120060"></a>   product_related_product_category);
<a id="p120061"></a>END_TYPE; -- effectivity_item

<a id="p120062"></a>TYPE electric_current_measure = REAL;
<a id="p120063"></a>END_TYPE; -- electric_current_measure

<a id="p120064"></a>TYPE external_identification_item = SELECT
<a id="p120065"></a>   (action,
<a id="p120066"></a>   document,
<a id="p120067"></a>   product,
<a id="p120068"></a>   product_definition,
<a id="p120069"></a>   product_definition_relationship,
<a id="p120070"></a>   property_definition);
<a id="p120071"></a>END_TYPE; -- external_identification_item

<a id="p120072"></a>TYPE founded_item_select = SELECT
<a id="p120073"></a>   (founded_item,
<a id="p120074"></a>   representation_item);
<a id="p120075"></a>END_TYPE; -- founded_item_select

<a id="p120076"></a>TYPE geometric_set_select = SELECT
<a id="p120077"></a>   (point,
<a id="p120078"></a>   curve,
<a id="p120079"></a>   surface);
<a id="p120080"></a>END_TYPE; -- geometric_set_select

<a id="p120081"></a>TYPE group_item = SELECT
<a id="p120082"></a>   (approval,
<a id="p120083"></a>   identification_assignment_relationship,
<a id="p120084"></a>   product_definition,
<a id="p120085"></a>   product_definition_relationship);
<a id="p120086"></a>END_TYPE; -- group_item

<a id="p120087"></a>TYPE hour_in_day = INTEGER;
<a id="p120088"></a>**WHERE**
<a id="p120089"></a>   wr1: ((0 <= SELF) AND (SELF < 24)); END_TYPE; -- hour_in_day

<a id="p120090"></a>TYPE id_attribute_select = SELECT
<a id="p120091"></a>   (action,
<a id="p120092"></a>   address,
<a id="p120093"></a>   product_category,
<a id="p120094"></a>   property_definition,
<a id="p120095"></a>   shape_aspect,
<a id="p120096"></a>   application_context,
<a id="p120097"></a>   group,
<a id="p120098"></a>   organizational_project,
<a id="p120099"></a>   representation);
<a id="p120100"></a>END_TYPE; -- id_attribute_select

<a id="p120101"></a>TYPE identification item = SELECT
<a id="p120102"></a>   (action,
<a id="p120103"></a>   action_request_solution,
<a id="p120104"></a>   compound_representation_item,
<a id="p120105"></a>   document,
<a id="p120106"></a>   executed_action,
<a id="p120107"></a>   group,
<a id="p120108"></a>   product,
<a id="p120109"></a>   product_definition,
<a id="p120110"></a>   product_definition_relationship,
<a id="p120111"></a>   product_definition_shape,
<a id="p120112"></a>   product_related_product_category,
<a id="p120113"></a>   property_definition,
<a id="p120114"></a>   surface,
<a id="p120115"></a>   versioned_action_request);
<a id="p120116"></a>END_TYPE; -- identification_item

<a id="p120117"></a>TYPE identifier = STRING;
<a id="p120118"></a>END_TYPE; -- identifier

<a id="p120119"></a>TYPE knot_type = ENUMERATION OF
<a id="p120120"></a>   (uniform_knots,
<a id="p120121"></a>   quasi_uniform_knots,
<a id="p120122"></a>   piecewise_bezier_knots,
<a id="p120123"></a>   unspecified);
<a id="p120124"></a>END_TYPE; -- knot_type

<a id="p120125"></a>TYPE label = STRING;
<a id="p120126"></a>END_TYPE; -- label:

<a id="p120127"></a>TYPE length_measure = REAL;
<a id="p120128"></a>END_TYPE; -- length_measure

<a id="p120129"></a>TYPE list_of_reversible_topology_item = LIST [0:?] OF
<a id="p120130"></a>   reversible_topology_item;
<a id="p120131"></a>END_TYPE; -- list_of_reversible_topology_item

<a id="p120132"></a>TYPE list_representation_item = LIST [1:?] OF representation_item;
<a id="p120133"></a>END_TYPE; -- list_representation_item

<a id="p120134"></a>TYPE luminous_intensity_measure = REAL;
<a id="p120135"></a>END_TYPE; -- luminous_intensity_measure

<a id="p120136"></a>TYPE mass_measure = REAL;
<a id="p120137"></a>END_TYPE; -- mass_measure

<a id="p120138"></a>TYPE measure value = SELECT
<a id="p120139"></a>   (length_measure,
<a id="p120140"></a>   mass_measure,
<a id="p120141"></a>   time_measure,
<a id="p120142"></a>   electric_current_measure,
<a id="p120143"></a>   thermodynamic temperature measure,
<a id="p120144"></a>   celsius temperature measure,
<a id="p120145"></a>   context_dependent_measure,
<a id="p120146"></a>   amount_of substance_measure,
<a id="p120147"></a>   luminous_intensity_measure,
<a id="p120148"></a>   plane_angle_measure,
<a id="p120149"></a>   solid_angle_measure,
<a id="p120150"></a>   area_measure,
<a id="p120151"></a>   volume_measure,
<a id="p120152"></a>   ratio_measure,
<a id="p120153"></a>   parameter_value,
<a id="p120154"></a>   positive_length_measure,
<a id="p120155"></a>   positive_plane_angle_measure,
<a id="p120156"></a>   count_measure);
<a id="p120157"></a>END_TYPE; -- measure_value

<a id="p120158"></a>TYPE minute_in_hour = INTEGER;
<a id="p120159"></a>**WHERE**
<a id="p120160"></a>   wr1: ((0 <= SELF) AND (SELF <= 59));
<a id="p120161"></a>END_TYPE; -- minute_in_hour

<a id="p120162"></a>TYPE month_in_year_number = INTEGER;
<a id="p120163"></a>**WHERE**
<a id="p120164"></a>   wr1: ((1 <= SELF) AND (SELF <= 12));
<a id="p120165"></a>END_TYPE; -- month_in_year_number

<a id="p120166"></a>TYPE name_attribute_select = SELECT
<a id="p120167"></a>   (action_request_solution,
<a id="p120168"></a>   address,
<a id="p120169"></a>   derived_unit,
<a id="p120170"></a>   effectivity,
<a id="p120171"></a>   person_and_organization,
<a id="p120172"></a>   product_definition,
<a id="p120173"></a>   property_definition_representation);
<a id="p120174"></a>END_TYPE; -- name_attribute_select

<a id="p120175"></a>TYPE organization_item = SELECT
<a id="p120176"></a>   (document,
<a id="p120177"></a>   product_definition,
<a id="p120178"></a>   property_definition);
<a id="p120179"></a>END_TYPE; -- organization_item

<a id="p120180"></a>TYPE parameter_value = REAL;
<a id="p120181"></a>END_TYPE; -- parameter_value

<a id="p120182"></a>TYPE pcurve_or_surface = SELECT
<a id="p120183"></a>(pcurve,
<a id="p120184"></a>   surface);
<a id="p120185"></a>END_TYPE; -- pcurve_or_surface

<a id="p120186"></a>TYPE person_and_organization_item = SELECT
<a id="p120187"></a>   (action_request_solution,
<a id="p120188"></a>   document, executed_action,
<a id="p120189"></a>   versioned_action_request,
<a id="p120190"></a>   action);
<a id="p120191"></a>END_TYPE; -- person_and_organization_item

<a id="p120192"></a>TYPE person_item = SELECT
<a id="p120193"></a>(document);
<a id="p120194"></a>END_TYPE; -- person_item

<a id="p120195"></a>TYPE person_organization_select = SELECT
<a id="p120196"></a>   (person,
<a id="p120197"></a>   organization,
<a id="p120198"></a>   person_and_organization);

<a id="p120199"></a>TYPE plane_angle_measure = REAL;
<a id="p120200"></a>END_TYPE; -- plane_angle_measure

<a id="p120201"></a>TYPE positive_length_measure = length_measure;
<a id="p120202"></a>**WHERE**
<a id="p120203"></a>   wr1: (SELF > 0);
<a id="p120204"></a>END_TYPE; -- positive_length_measure

<a id="p120205"></a>TYPE positive_plane_angle_measure = plane_angle_measure;
<a id="p120206"></a>**WHERE**
<a id="p120207"></a>   wr1: (SELF > 0);
<a id="p120208"></a>END_TYPE; -- positive_plane_angle_measure

<a id="p120209"></a>TYPE preferred_surface_curve_representation = ENUMERATION OF
<a id="p120210"></a>   (curve_3d,
<a id="p120211"></a>   pcurve_s1,
<a id="p120212"></a>   pcurve_s2);
<a id="p120213"></a>END_TYPE; -- preferred_surface_curve_representation

<a id="p120214"></a>TYPE product_or_formation_or_definition = SELECT
<a id="p120215"></a>   (product,
<a id="p120216"></a>   product_definition_formation,
<a id="p120217"></a>   product_definition);
<a id="p120218"></a>END_TYPE; -- product_or_formation_or_definition

<a id="p120219"></a>TYPE ratio_measure = REAL;
<a id="p120220"></a>END_TYPE; -- ratio_measure

<a id="p120221"></a>TYPE represented_definition = SELECT
<a id="p120222"></a>   (property_definition,
<a id="p120223"></a>   property_definition_relationship,
<a id="p120224"></a>   shape_aspect);
<a id="p120225"></a>END_TYPE; -- represented_definition

<a id="p120226"></a>TYPE reversible_topology = SELECT
<a id="p120227"></a>   (reversible_topology_item,
<a id="p120228"></a>   list_of_reversible_topology_item,
<a id="p120229"></a>   set_of_reversible_topology_item);
<a id="p120230"></a>END_TYPE; -- reversible_topology

<a id="p120231"></a>TYPE reversible_topology_item = SELECT
<a id="p120232"></a>   (edge,
<a id="p120233"></a>   path,
<a id="p120234"></a>   face,
<a id="p120235"></a>   face_bound,
<a id="p120236"></a>   closed_shell,
<a id="p120237"></a>   open_shell);
<a id="p120238"></a>END_TYPE; -- reversible_topology_item

<a id="p120239"></a>TYPE role_select = SELECT
<a id="p120240"></a>   (action_assignment,
<a id="p120241"></a>   action_request_assignment,
<a id="p120242"></a>   approval_assignment,
<a id="p120243"></a>   approval_date_time,
<a id="p120244"></a>   document_reference,
<a id="p120245"></a>   effectivity_assignment,
<a id="p120246"></a>   group_assignment);
<a id="p120247"></a>END_TYPE; -- role_select

<a id="p120248"></a>TYPE second_in_minute = REAL;
<a id="p120249"></a>**WHERE**
<a id="p120250"></a>   wr1: ((0 <= SELF) AND (SELF <= 60));
<a id="p120251"></a>END_TYPE; -- second_in_minute

<a id="p120252"></a>TYPE set_of_reversible_topology_item = SET [0:?] OF reversible_topology_item;
<a id="p120253"></a>END_TYPE; -- set_of_reversible_topology_item

<a id="p120254"></a>TYPE set_representation_item = SET [1:?] OF representation_item;
<a id="p120255"></a>END_TYPE; -- set_representation_item

<a id="p120256"></a>TYPE shape_definition = SELECT
<a id="p120257"></a>   (product_definition_shape,
<a id="p120258"></a>   shape_aspect);
<a id="p120259"></a>END_TYPE; -- shape_definition

<a id="p120260"></a>TYPE shell = SELECT
<a id="p120261"></a>   (open_shell,
<a id="p120262"></a>   closed_shell);
<a id="p120263"></a>END_TYPE; -- shell

<a id="p120264"></a>TYPE si_prefix = ENUMERATION OF
<a id="p120265"></a>   (exa,
<a id="p120266"></a>   peta,
<a id="p120267"></a>   tera,
<a id="p120268"></a>   giga,
<a id="p120269"></a>   mega,
<a id="p120270"></a>   kilo,
<a id="p120271"></a>   hecto,
<a id="p120272"></a>   deca,
<a id="p120273"></a>   deci,
<a id="p120274"></a>   centi,
<a id="p120275"></a>   milli,
<a id="p120276"></a>   micro,
<a id="p120277"></a>   nano,
<a id="p120278"></a>   pico,
<a id="p120279"></a>   femto,
<a id="p120280"></a>   atto);
<a id="p120281"></a>END_TYPE; -- si_prefix

<a id="p120282"></a>TYPE si_unit_name = ENUMERATION OF
<a id="p120283"></a>   (metre,
<a id="p120284"></a>   gram,
<a id="p120285"></a>   second,
<a id="p120286"></a>   ampere,
<a id="p120287"></a>   kelvin,
<a id="p120288"></a>   mole,
<a id="p120289"></a>   candela,
<a id="p120290"></a>   radian,
<a id="p120291"></a>   steradian,
<a id="p120292"></a>   hertz,
<a id="p120293"></a>   newton,
<a id="p120294"></a>   pascal,
<a id="p120295"></a>   joule,
<a id="p120296"></a>   watt,
<a id="p120297"></a>   coulomb,
<a id="p120298"></a>   volt,
<a id="p120299"></a>   farad,
<a id="p120300"></a>   ohm,
<a id="p120301"></a>   siemens,
<a id="p120302"></a>   weber,
<a id="p120303"></a>   tesla,
<a id="p120304"></a>   henry,
<a id="p120305"></a>   degree_celsius,
<a id="p120306"></a>   lumen,
<a id="p120307"></a>   lux,
<a id="p120308"></a>   becquerel,
<a id="p120309"></a>   gray,
<a id="p120310"></a>   sievert);
<a id="p120311"></a>END_TYPE; -- si_unit_name

<a id="p120312"></a>TYPE solid_angle_measure = REAL;
<a id="p120313"></a>END_TYPE; -- solid_angle_measure

<a id="p120314"></a>TYPE source_item = SELECT
   (identifier);
<a id="p120315"></a>END_TYPE; -- source_item

<a id="p120316"></a>TYPE supported_item = SELECT
<a id="p120317"></a>   (action,
<a id="p120318"></a>   action_method);
<a id="p120319"></a>END_TYPE; -- supported_item

<a id="p120320"></a>TYPE surface_boundary = SELECT
<a id="p120321"></a>   (degenerate_pcurve);
<a id="p120322"></a>END_TYPE; -- surface_boundary

<a id="p120323"></a>TYPE surface_model = SELECT
<a id="p120324"></a>   (face_based_surface_model);
<a id="p120325"></a>END_TYPE; -- surface_model

<a id="p120326"></a>TYPE text = STRING;
<a id="p120327"></a>END_TYPE; -- text

<a id="p120328"></a>TYPE thermodynamic_temperature_measure = REAL;
<a id="p120329"></a>END_TYPE; -- thermodynamic_temperature_measure

<a id="p120330"></a>TYPE time_measure = REAL;
<a id="p120331"></a>END_TYPE; -- time_measure

<a id="p120332"></a>TYPE transformation = SELECT
<a id="p120333"></a>   (item_defined_transformation,
<a id="p120334"></a>functionally_defined_transformation);

<a id="p120335"></a>TYPE transition_code = ENUMERATION OF
<a id="p120336"></a>   (discontinuous,
<a id="p120337"></a>   continuous,
<a id="p120338"></a>   cont_same_gradient,
<a id="p120339"></a>   cont_same_gradient_same_curvature);
<a id="p120340"></a>END_TYPE; -- transition_code

<a id="p120341"></a>TYPE trimming_select = SELECT
<a id="p120342"></a>   (cartesian_point,
<a id="p120343"></a>   parameter_value);
<a id="p120344"></a>END_TYPE; -- trimming_select

<a id="p120345"></a>TYPE unit = SELECT
<a id="p120346"></a>   (named_unit,
<a id="p120347"></a>   derived_unit);
<a id="p120348"></a>END_TYPE; -- unit

<a id="p120349"></a>TYPE vector_or_direction = SELECT
<a id="p120350"></a>   (vector,
<a id="p120351"></a>   direction);
<a id="p120352"></a>END_TYPE; -- vector_or_direction

<a id="p120353"></a>TYPE volume_measure = REAL;
<a id="p120354"></a>END_TYPE; -- volume_measure

<a id="p120355"></a>TYPE week_in_year_number = INTEGER;
<a id="p120356"></a>**WHERE**
<a id="p120357"></a>   wr1: ((1 <= SELF) AND (SELF <= 53));
<a id="p120358"></a>END_TYPE; -- week_in_year_number

<a id="p120359"></a>TYPE wireframe_model = SELECT
<a id="p120360"></a>   (edge_based_wireframe_model);
<a id="p120361"></a>END_TYPE; -- wireframe_model

<a id="p120362"></a>TYPE year_number = INTEGER;
<a id="p120363"></a>END_TYPE; -- year_number

<a id="p120364"></a>ENTITY action;
<a id="p120365"></a>      name : label;
<a id="p120366"></a>      description : OPTIONAL text;
<a id="p120367"></a>      chosen_method : action_method;
<a id="p120368"></a>   DERIVE
<a id="p120369"></a>      id : identifier := get_id_value(SELF);
<a id="p120370"></a>   WHERE
<a id="p120371"></a>   wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);
<a id="p120372"></a>END_ENTITY; -- action

<a id="p120373"></a>ENTITY action_assignment
<a id="p120374"></a>   ABSTRACT SUPERTYPE;
<a id="p120375"></a>      assigned_action : action;
<a id="p120376"></a>   DERIVE
<a id="p120377"></a>      role : object_role := get_role(SELF);
<a id="p120378"></a>   WHERE
<a id="p120379"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);
<a id="p120380"></a>END_ENTITY; -- action_assignment

<a id="p120381"></a>ENTITY action_method;
<a id="p120382"></a>   name         : label;
<a id="p120383"></a>   description  : OPTIONAL text;
<a id="p120384"></a>   consequence  : text;
<a id="p120385"></a>   purpose      : text;
<a id="p120386"></a>END_ENTITY; -- action_method

<a id="p120387"></a>ENTITY action_relationship;
<a id="p120388"></a>   name            : label;
<a id="p120389"></a>   description     : OPTIONAL text;
<a id="p120390"></a>   relating_action : action;
<a id="p120391"></a>   related_action  : action;
<a id="p120392"></a>END_ENTITY; -- action_relationship

<a id="p120393"></a>ENTITY action_request_assignment
<a id="p120394"></a>   ABSTRACT SUPERTYPE;
<a id="p120395"></a>      assigned_action_request : versioned_action_request;
<a id="p120396"></a>   DERIVE
<a id="p120397"></a>      role : object_role := get_role(SELF);
<a id="p120398"></a>   WHERE
<a id="p120399"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);
<a id="p120400"></a>END_ENTITY; -- action_request_assignment

<a id="p120401"></a>ENTITY action_request_solution;
<a id="p120402"></a>      method : action_method;
<a id="p120403"></a>      request : versioned_action_request;
<a id="p120404"></a>   DERIVE
<a id="p120405"></a>      description  : text  := get_description_value(SELF);
<a id="p120406"></a>      name         : label := get_name_value(SELF);
<a id="p120407"></a>   WHERE
<a id="p120408"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p120409"></a>      wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1);
<a id="p120410"></a>END_ENTITY; -- action_request_solution

<a id="p120411"></a>ENTITY address;
<a id="p120412"></a>   internal_location       : OPTIONAL label;
<a id="p120413"></a>   street_number           : OPTIONAL label;
<a id="p120414"></a>   street                  : OPTIONAL label;
<a id="p120415"></a>   postal_box              : OPTIONAL label;
<a id="p120416"></a>   town                    : OPTIONAL label;
<a id="p120417"></a>   region                  : OPTIONAL label;
<a id="p120418"></a>   postal_code             : OPTIONAL label;
<a id="p120419"></a>   country                 : OPTIONAL label;
<a id="p120420"></a>   facsimile_number        : OPTIONAL label;
<a id="p120421"></a>   telephone_number        : OPTIONAL label;
<a id="p120422"></a>   electronic_mail_address : OPTIONAL label;
<a id="p120423"></a>   telex_number            : OPTIONAL label;
<a id="p120424"></a>**DERIVE**
<a id="p120425"></a>   name : label := get_name_value(SELF);
<a id="p120426"></a>   url : identifier := get_id_value(SELF);
<a id="p120427"></a>**WHERE**
<a id="p120428"></a>   wr1: (EXISTS(internal_location) OR EXISTS(street_number)
<a id="p120429"></a>        OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region)
<a id="p120430"></a>        OR EXISTS(postal_code) OR EXISTS(country)
<a id="p120431"></a>        OR EXISTS(facsimile_number) OR EXISTS(telephone_number)
<a id="p120432"></a>        OR EXISTS(electronic_mail_address) OR EXISTS(telex_number));
<a id="p120433"></a>END_ENTITY; -- address

<a id="p120434"></a>ENTITY advanced_face
<a id="p120435"></a>   SUBTYPE OF (face_surface);
<a id="p120436"></a>   WHERE
<a id="p120437"></a>      wr1 : (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.ELEMENTARY_SURFACE',
           'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_SURFACE',
           'SHIP_MOULDED_FORM_SCHEMA.SWEPT_SURFACE'] * TYPEOF( face_geometry)) = 1);
<a id="p120438"></a>      wr2 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path. edge_list | (NOT
           ('SHIP_MOULDED_FORM_SCHEMA.EDGE_CURVE' IN
           TYPEOF(oe\oriented_edge.edge_element))) )) =0)) )) = 0);
<a id="p120439"></a>      wr3 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path. edge_list
           | (NOT (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.LINE',
           'SHIP_MOULDED_FORM_SCHEMA.CONIC',
           'SHIP_MOULDED_FORM_SCHEMA.POLYLINE',
           'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE',
           'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE'] *
           TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1)) )) = 0)) )) = 0);
<a id="p120440"></a>      wr4 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path.edge_list
           | (NOT (('SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT'
           IN TYPEOF(oe\edge.edge_start)) AND (
           'SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN TYPEOF(oe\
           edge.edge_start\vertex_point.vertex_geometry)) AND (
           'SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN
           TYPEOF(oe\ edge.edge_end)) AND
           ('SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN
           TYPEOF(oe\edge.edge_end\vertex_point.vertex_geometry)))) )) = 0)) )) = 0);
<a id="p120441"></a>      wr5 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )
           | ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_PATH' IN
           TYPEOF(elp_fbnds.bound)) )) = 0);
<a id="p120442"></a>      wr6 : ((NOT ('SHIP_MOULDED_FORM_SCHEMA.SWEPT_SURFACE' IN TYPEOF(
           face_geometry))) OR (SIZEOF([
           'SHIP_MOULDED_FORM_SCHEMA.LINE',
           'SHIP_MOULDED_FORM_SCHEMA.CONIC',
           'SHIP_MOULDED_FORM_SCHEMA.POLYLINE',
           'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE'] * TYPEOF(
           face_geometry\swept_surface.swept_curve)) = 1));
<a id="p120443"></a>      wr7 : (SIZEOF(QUERY ( vlp_fbnds <* QUERY ( bnds <* bounds | (
           'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT (('SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN
           TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex))
           AND ('SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN TYPEOF(
           vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex\
           vertex_point.vertex_geometry)))) )) = 0);
<a id="p120444"></a>      wr8 : (SIZEOF(QUERY ( bnd <* bounds | (NOT (SIZEOF([
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP',
           'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP'] * TYPEOF(bnd.bound)) = 1)) )) = 0);
<a id="p120445"></a>      wr9 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path.edge_list |
           (('SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE' IN
           TYPEOF(oe\oriented_edge.edge_element\edge_curve.
           edge_geometry)) AND (NOT (SIZEOF(QUERY ( sc_ag <*
           oe.edge_element\edge_curve.edge_geometry\surface_curve.
           associated_geometry | (NOT (
           'SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(sc_ag))) )) = 0))) ))
           = 0)) )) = 0);
<a id="p120446"></a>      wr10: (((NOT ('SHIP_MOULDED_FORM_SCHEMA.SWEPT_SURFACE' IN TYPEOF(
           face_geometry))) OR (NOT (
           'SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN TYPEOF(face_geometry
           \swept_surface.swept_curve))) OR
           (SIZEOF(face_geometry\swept_surface.swept_curve\polyline.points) >= 3))
           AND (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds |
           ('SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path.
           edge_list | (('SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN
           TYPEOF(oe\oriented_edge.edge_element\edge_curve.
           edge_geometry)) AND (NOT (SIZEOF(oe\oriented_edge.
           edge_element\edge_curve.edge_geometry\polyline.points) >= 3))) ))
           = 0)) )) = 0));
<a id="p120447"></a>END_ENTITY; -- advanced_face

<a id="p120448"></a>ENTITY amount_of_substance_unit
<a id="p120449"></a>   SUBTYPE OF (named_unit);
<a id="p120450"></a>   WHERE
<a id="p120451"></a>      wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\
           named_unit.dimensions.mass_exponent = 0) AND (SELF\
           named_unit.dimensions.time_exponent = 0) AND (SELF\
           named_unit.dimensions.electric_current_exponent = 0) AND (
           SELF\named_unit.dimensions.
           thermodynamic_temperature_exponent = 0) AND
           (SELF\named_unit.dimensions.amount_of_substance_exponent = 1) AND
           (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));
<a id="p120452"></a>END_ENTITY; -- amount_of_substance_unit

<a id="p120453"></a>ENTITY application_context;
<a id="p120454"></a>      application : label;
<a id="p120455"></a>   DERIVE
<a id="p120456"></a>      description  : text := get_description_value(SELF);
<a id="p120457"></a>      id           : identifier := get_id_value(SELF);
<a id="p120458"></a>   INVERSE
<a id="p120459"></a>      context_elements : SET [1:?] OF application_context_element FOR
<a id="p120460"></a>           frame_of_reference;
<a id="p120461"></a>   WHERE
<a id="p120462"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p120463"></a>      wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);
<a id="p120464"></a>END_ENTITY; -- application_context

<a id="p120465"></a>ENTITY application_context_element
<a id="p120466"></a>   SUPERTYPE OF (ONE OF (product_context,product_definition_context));
<a id="p120467"></a>      name                   : label;
<a id="p120468"></a>      frame_of_reference     : application_context;
<a id="p120469"></a>END_ENTITY; -- application_context_element

<a id="p120470"></a>ENTITY application_protocol_definition;
<a id="p120471"></a>   status                                    :  label;
<a id="p120472"></a>   application_interpreted_model_schema_name :  label;
<a id="p120473"></a>   application_protocol_year                 :  year_number;
<a id="p120474"></a>   application                               :  application_context;
<a id="p120475"></a>END_ENTITY; -- application_protocol_definition

<a id="p120476"></a>ENTITY applied_action_assignment
<a id="p120477"></a>   SUBTYPE OF (action_assignment);
<a id="p120478"></a>      items : SET [1:?] OF action_item;
<a id="p120479"></a>END_ENTITY; -- applied_action_assignment

<a id="p120480"></a>ENTITY applied_action_request_assignment
<a id="p120481"></a>   SUBTYPE OF (action_request_assignment);
<a id="p120482"></a>      items : SET [1:?] OF action_request_item;
<a id="p120483"></a>END_ENTITY; -- applied_action_request_assignment

<a id="p120484"></a>ENTITY applied_approval_assignment
<a id="p120485"></a>   SUBTYPE OF (approval_assignment);
<a id="p120486"></a>      items : SET [1:?] OF approval_item;
<a id="p120487"></a>   WHERE
<a id="p120488"></a>      wr1: ((NOT (SELF\approval_assignment.role.name =
           'proposed alternative')) OR (SIZEOF(QUERY ( app <*USEDIN(
           SELF\approval_assignment.assigned_approval,'SHIP_MOULDED_FORM_SCHEMA
           .APPROVAL_ASSIGNMENT.ASSIGNED_APPROVAL') |
           (('SHIP_MOULDED_FORM_SCHEMA.APPLIED_APPROVAL_ASSIGNMENT'
           IN TYPEOF(app)) AND
           (app\approval_assignment.role.name ='subject')) )) = 1));
<a id="p120489"></a>END_ENTITY; -- applied_approval_assignment

<a id="p120490"></a>ENTITY applied_classification_assignment
<a id="p120491"></a>   SUBTYPE OF (classification_assignment);
<a id="p120492"></a>      items : SET [1:?] OF classification_item;
<a id="p120493"></a>END_ENTITY; -- applied_classification_assignment

<a id="p120494"></a>ENTITY applied_date_and_time_assignment
<a id="p120495"></a>   SUBTYPE OF (date_and_time_assignment);
<a id="p120496"></a>      items : SET [1:?] OF date_and_time_item;
<a id="p120497"></a>END_ENTITY; -- applied_date_and_time_assignment

<a id="p120498"></a>ENTITY applied_document_reference
<a id="p120499"></a>   SUBTYPE OF (document_reference);
<a id="p120500"></a>      items : SET [1:?] OF document_reference_item;
<a id="p120501"></a>END_ENTITY; -- applied_document_reference

<a id="p120502"></a>ENTITY applied_effectivity_assignment
<a id="p120503"></a>   SUBTYPE OF (effectivity_assignment);
<a id="p120504"></a>      items : SET [1:?] OF effectivity_item;
<a id="p120505"></a>END_ENTITY; -- applied_effectivity_assignment

<a id="p120506"></a>ENTITY applied_external_identification_assignment
<a id="p120507"></a>   SUBTYPE OF (external_identification_assignment);
<a id="p120508"></a>      items : SET [1:?] OF external_identification_item;
<a id="p120509"></a>END_ENTITY; -- applied_external_identification_assignment

<a id="p120510"></a>ENTITY applied_group_assignment
<a id="p120511"></a>   SUBTYPE OF (group_assignment);
<a id="p120512"></a>      items : SET [1:?] OF group_item;
<a id="p120513"></a>END_ENTITY; -- applied_group_assignment

<a id="p120514"></a>ENTITY applied_identification_assignment
<a id="p120515"></a>   SUBTYPE OF (identification_assignment);
<a id="p120516"></a>      items : SET [1:?] OF identification_item;
<a id="p120517"></a>END_ENTITY; -- applied_identification_assignment

<a id="p120518"></a>ENTITY applied_organization_assignment
<a id="p120519"></a>   SUBTYPE OF (organization_assignment);
<a id="p120520"></a>      items : SET [1:?] OF organization_item;
<a id="p120521"></a>END_ENTITY; -- applied_organization_assignment

<a id="p120522"></a>ENTITY applied_person_and_organization_assignment
<a id="p120523"></a>   SUBTYPE OF (person_and_organization_assignment);
<a id="p120524"></a>      items : SET [1:?] OF person_and_organization_item;
<a id="p120525"></a>END_ENTITY; -- applied_person_and_organization_assignment

<a id="p120526"></a>ENTITY applied_person_assignment
<a id="p120527"></a>   SUBTYPE OF (person_assignment);
<a id="p120528"></a>      items : SET [1:?] OF person_item;
<a id="p120529"></a>END_ENTITY; -- applied_person_assignment

<a id="p120530"></a>ENTITY approval;
<a id="p120531"></a>   status : approval_status;
<a id="p120532"></a>   level : label;
<a id="p120533"></a>END_ENTITY; -- approval

<a id="p120534"></a>ENTITY approval_assignment
<a id="p120535"></a>   ABSTRACT SUPERTYPE;
<a id="p120536"></a>      assigned_approval : approval;
<a id="p120537"></a>   DERIVE
<a id="p120538"></a>      role : object_role := get_role(SELF);
<a id="p120539"></a>   WHERE
<a id="p120540"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);
<a id="p120541"></a>END_ENTITY; -- approval_assignment

<a id="p120542"></a>ENTITY approval_date_time;
<a id="p120543"></a>      date_time       : date_time_select;
<a id="p120544"></a>      dated_approval  : approval;
<a id="p120545"></a>   DERIVE
<a id="p120546"></a>      role : object_role := get_role(SELF);
<a id="p120547"></a>   WHERE
<a id="p120548"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
      'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);
<a id="p120549"></a>END_ENTITY; -- approval_date_time

<a id="p120550"></a>ENTITY approval_person_organization;
<a id="p120551"></a>   person_organization : person_organization_select;
<a id="p120552"></a>   authorized_approval : approval;
<a id="p120553"></a>   role :approval_role;
<a id="p120554"></a>END_ENTITY; -- approval_person_organization

<a id="p120555"></a>ENTITY approval_role;
<a id="p120556"></a>      role : label;
<a id="p120557"></a>   DERIVE
<a id="p120558"></a>      description : text := get_description_value(SELF);
<a id="p120559"></a>   WHERE
<a id="p120560"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p120561"></a>END_ENTITY; -- approval_role

<a id="p120562"></a>ENTITY approval_status;
<a id="p120563"></a>   name : label;
<a id="p120564"></a>END_ENTITY; -- approval_status

<a id="p120565"></a>ENTITY axis1_placement
<a id="p120566"></a>   SUBTYPE OF (placement);
<a id="p120567"></a>      axis : OPTIONAL direction;
<a id="p120568"></a>   DERIVE
<a id="p120569"></a>      z : direction := NVL(normalise(axis),dummy_gri || direction([0,0,1]));
<a id="p120570"></a>   WHERE
<a id="p120571"></a>      wr1: (SELF\geometric_representation_item.dim = 3);
<a id="p120572"></a>END_ENTITY; -- axis1_placement

<a id="p120573"></a>ENTITY axis2_placement_2d
<a id="p120574"></a>   SUBTYPE OF (placement);
<a id="p120575"></a>      ref_direction : OPTIONAL direction;
<a id="p120576"></a>   DERIVE
<a id="p120577"></a>      p : LIST [2:2] OF direction := build_2axes(ref_direction);
<a id="p120578"></a>   WHERE
<a id="p120579"></a>      wr1: (SELF\geometric_representation_item.dim = 2);
<a id="p120580"></a>END_ENTITY; -- axis2_placement_2d

<a id="p120581"></a>ENTITY axis2_placement_3d
<a id="p120582"></a>   SUBTYPE OF (placement);
<a id="p120583"></a>      axis            : OPTIONAL direction;
<a id="p120584"></a>      ref_direction   : OPTIONAL direction;
<a id="p120585"></a>   DERIVE
<a id="p120586"></a>      p : LIST [3:3] OF direction := build_axes(axis,ref_direction);
<a id="p120587"></a>   WHERE
<a id="p120588"></a>      wr1: (SELF\placement.location.dim = 3);
<a id="p120589"></a>      wr2: ((NOT EXISTS(axis)) OR (axis.dim = 3));
<a id="p120590"></a>      wr3: ((NOT EXISTS(ref_direction)) OR (ref_direction.dim = 3));
<a id="p120591"></a>      wr4: ((NOT EXISTS(axis)) OR (NOT EXISTS(ref_direction)) OR (
           cross_product(axis,ref_direction).magnitude > 0));
<a id="p120592"></a>END_ENTITY; -- axis2_placement_3d

<a id="p120593"></a>ENTITY b_spline_curve
<a id="p120594"></a>      SUPERTYPE OF (ONEOF (uniform_curve,b_spline_curve_with_knots,
      quasi_uniform_curve,bezier_curve) ANDOR rational_b_spline_curve)
<a id="p120595"></a>   SUBTYPE OF (bounded_curve);
<a id="p120596"></a>      degree               : INTEGER;
<a id="p120597"></a>      control_points_list  :  LIST [2:?] OF cartesian_point;
<a id="p120598"></a>      curve_form           :  b_spline_curve_form;
<a id="p120599"></a>      closed_curve         :  LOGICAL;
<a id="p120600"></a>      self_intersect       :  LOGICAL;
<a id="p120601"></a>   DERIVE
<a id="p120602"></a>      upper_index_on_control_points  : INTEGER := SIZEOF(control_points_list) - 1;
<a id="p120603"></a>      control_points                 : ARRAY [0:upper_index_on_control_points] OF
<a id="p120604"></a>      cartesian_point := list_to_array( control_points_list,0, upper_index_on_control_points);
<a id="p120605"></a>   WHERE
<a id="p120606"></a>      wr1: (('SHIP_MOULDED_FORM_SCHEMA.UNIFORM_CURVE' IN TYPEOF(SELF)) OR
           ('SHIP_MOULDED_FORM_SCHEMA.QUASI_UNIFORM_CURVE' IN
           TYPEOF(SELF)) OR ('SHIP_MOULDED_FORM_SCHEMA.BEZIER_CURVE' IN
           TYPEOF(SELF)) OR ('SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE_WITH_KNOTS'
           IN TYPEOF(SELF)));
<a id="p120607"></a>END_ENTITY; -- b_spline_curve

<a id="p120608"></a>ENTITY b_spline_curve_with_knots
<a id="p120609"></a>   SUBTYPE OF (b_spline_curve);
<a id="p120610"></a>      knot_multiplicities  :  LIST [2:?] OF INTEGER;
<a id="p120611"></a>      knots                :  LIST [2:?] OF parameter_value;
<a id="p120612"></a>      knot_spec            :  knot_type;
<a id="p120613"></a>   DERIVE
<a id="p120614"></a>      upper_index_on_knots : INTEGER := SIZEOF(knots);
<a id="p120615"></a>   WHERE
<a id="p120616"></a>      wr1: constraints_param_b_spline(degree,upper_index_on_knots,
           upper_index_on_control_points,knot_multiplicities,knots);
<a id="p120617"></a>      wr2: (SIZEOF(knot_multiplicities) = upper_index_on_knots);
<a id="p120618"></a>END_ENTITY; -- b_spline_curve_with_knots

<a id="p120619"></a>ENTITY b_spline_surface
<a id="p120620"></a>   SUPERTYPE OF (ONEOF
<a id="p120621"></a>      (b_spline_surface_with_knots,uniform_surface,
      quasi_uniform_surface,bezier_surface) ANDOR
      rational_b_spline_surface)
<a id="p120622"></a>   SUBTYPE OF (bounded_surface);
<a id="p120623"></a>      u_degree             :  INTEGER;
<a id="p120624"></a>      v_degree             :  INTEGER;
<a id="p120625"></a>      control_points_list  : LIST [2:?] OF LIST [2:?] OF cartesian_point;
<a id="p120626"></a>      surface_form         :  b_spline_surface_form;
<a id="p120627"></a>      U_closed             :  LOGICAL;
<a id="p120628"></a>      v_closed             :  LOGICAL;
<a id="p120629"></a>      self_intersect       :  LOGICAL;
<a id="p120630"></a>   DERIVE
<a id="p120631"></a>      u_upper : INTEGER := SIZEOF(control_points_list) - 1;
<a id="p120632"></a>      v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1;
<a id="p120633"></a>      control_points : ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF
<a id="p120634"></a>      cartesian_point := make_array_of_array(
<a id="p120635"></a>      control_points_list,0,u_upper,0,v_upper);
<a id="p120636"></a>   WHERE
<a id="p120637"></a>      wr1: (('SHIP_MOULDED_FORM_SCHEMA.UNIFORM_SURFACE' IN TYPEOF(SELF))
           OR ('SHIP_MOULDED_FORM_SCHEMA.QUASI_UNIFORM_SURFACE'
           IN TYPEOF(SELF)) OR ('SHIP_MOULDED_FORM_SCHEMA.BEZIER_SURFACE'
           IN TYPEOF(SELF)) OR (
           'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF)));
<a id="p120638"></a>END_ENTITY; -- b_spline_surface

<a id="p120639"></a>ENTITY b_spline_surface_with_knots
<a id="p120640"></a>   SUBTYPE OF (b_spline_surface);
<a id="p120641"></a>      u_multiplicities   :  LIST [2:?] OF INTEGER;
<a id="p120642"></a>      v_multiplicities   :  LIST [2:?] OF INTEGER;
<a id="p120643"></a>      u_knots            :  LIST [2:?] OF parameter_value;
<a id="p120644"></a>      v_knots            :  LIST [2:?] OF parameter_value;
<a id="p120645"></a>      knot_spec          :  knot_type;
<a id="p120646"></a>   DERIVE
<a id="p120647"></a>      knot_u_upper : INTEGER := SIZEOF(u_knots);
<a id="p120648"></a>         knot_v_upper : INTEGER := SIZEOF(v_knots);
<a id="p120649"></a>      WHERE
<a id="p120650"></a>         wr1: constraints_param_b_spline(SELF\b_spline_surface.u_degree,
              knot_u_upper,SELF\b_spline_surface.u_upper,u_multiplicities,u_knots);
<a id="p120651"></a>         wr2: constraints_param_b_spline(SELF\b_spline_surface.v_degree,
              knot_v_upper,SELF\b_spline_surface.v_upper,v_multiplicities,v_knots);
<a id="p120652"></a>         wr3: (SIZEOF(u_multiplicities) = knot_u_upper);
<a id="p120653"></a>         wr4: (SIZEOF(v_multiplicities) = knot_v_upper);
<a id="p120654"></a>END_ENTITY; -- b_spline_surface_with_knots

<a id="p120655"></a>ENTITY bezier_curve
<a id="p120656"></a>   SUBTYPE OF (b_spline_curve);
<a id="p120657"></a>END_ENTITY; -- bezier_curve

<a id="p120658"></a>ENTITY bezier_surface
<a id="p120659"></a>   SUBTYPE OF (b_spline_surface);
<a id="p120660"></a>END_ENTITY; -- bezier_surface

<a id="p120661"></a>ENTITY bounded_curve
<a id="p120662"></a>   SUPERTYPE OF (ONEOF (polyline,b_spline_curve,bounded_pcurve,
      bounded_surface_curve,composite_curve))
<a id="p120663"></a>   SUBTYPE OF (curve);
<a id="p120664"></a>END_ENTITY; -- bounded_curve

<a id="p120665"></a>ENTITY bounded_pcurve
<a id="p120666"></a>   SUBTYPE OF (pcurve, bounded_curve);
<a id="p120667"></a>   WHERE
<a id="p120668"></a>      wr1: ('SHIP_MOULDED_FORM_SCHEMA.BOUNDED_CURVE' IN TYPEOF(
           SELF\pcurve.reference_to_curve.items[1]));
<a id="p120669"></a>END_ENTITY; -- bounded_pcurve

<a id="p120670"></a>ENTITY bounded_surface
<a id="p120671"></a>   SUPERTYPE OF (b_spline_surface)
<a id="p120672"></a>   SUBTYPE OF (surface);
<a id="p120673"></a>END_ENTITY; -- bounded_surface

<a id="p120674"></a>ENTITY bounded_surface_curve
<a id="p120675"></a>   SUBTYPE OF (surface_curve, bounded_curve);
<a id="p120676"></a>   WHERE
<a id="p120677"></a>      wr1: ('SHIP_MOULDED_FORM_SCHEMA.BOUNDED_CURVE' IN TYPEOF(SELF\
            surface_curve.curve_3d));
<a id="p120678"></a>END_ENTITY; -- bounded_surface_curve

<a id="p120679"></a>ENTITY calendar_date
<a id="p120680"></a>   SUBTYPE OF (date);
<a id="p120681"></a>      day_component : day_in_month_number;
<a id="p120682"></a>      month_component : month_in_year_number;
<a id="p120683"></a>   WHERE
<a id="p120684"></a>      wr1: valid_calendar_date(SELF);
<a id="p120685"></a>END_ENTITY; -- calendar_date

<a id="p120686"></a>ENTITY cartesian_point
<a id="p120687"></a>   SUBTYPE OF (point);
<a id="p120688"></a>      coordinates : LIST [1:3] OF length_measure;
<a id="p120689"></a>END_ENTITY; -- cartesian_point

<a id="p120690"></a>ENTITY cartesian_transformation_operator
<a id="p120691"></a>   SUPERTYPE OF (cartesian_transformation_operator_3d)
<a id="p120692"></a>   SUBTYPE OF (geometric_representation_item,
      functionally_defined_transformation);
<a id="p120693"></a>      axis1        :  OPTIONAL direction;
<a id="p120694"></a>      axis2        :  OPTIONAL direction;
<a id="p120695"></a>      local_origin :  cartesian_point;
<a id="p120696"></a>      scale        :  OPTIONAL REAL;
<a id="p120697"></a>   DERIVE
<a id="p120698"></a>      scl : REAL := NVL(scale,1);
<a id="p120699"></a>   WHERE
<a id="p120700"></a>      wr1: (scl > 0);
<a id="p120701"></a>END_ENTITY; -- cartesian_transformation_operator

<a id="p120702"></a>ENTITY cartesian_transformation_operator_3d
<a id="p120703"></a>   SUBTYPE OF (cartesian_transformation_operator);
<a id="p120704"></a>      axis3 : OPTIONAL direction;
<a id="p120705"></a>   DERIVE
<a id="p120706"></a>      u : LIST [3:3] OF direction := base_axis(3,SELF\
           cartesian_transformation_operator.axis1,SELF\
           cartesian_transformation_operator.axis2,axis3);
<a id="p120707"></a>   WHERE
<a id="p120708"></a>      wr1: (SELF\geometric_representation_item.dim = 3);
<a id="p120709"></a>END_ENTITY; -- cartesian_transformation_operator_3d

<a id="p120710"></a>ENTITY characterized_object;
<a id="p120711"></a>   name         : label;
<a id="p120712"></a>   description  : OPTIONAL text;
<a id="p120713"></a>END_ENTITY; -- characterized_object

<a id="p120714"></a>ENTITY circle
<a id="p120715"></a>   SUBTYPE OF (conic);
<a id="p120716"></a>      radius : positive_length_measure;
<a id="p120717"></a>END_ENTITY; -- circle

<a id="p120718"></a>ENTITY class
<a id="p120719"></a>   SUBTYPE OF (group);
<a id="p120720"></a>   WHERE
<a id="p120721"></a>      wr1: (SIZEOF(QUERY ( oa <* USEDIN(SELF,
           'SHIP_MOULDED_FORM_SCHEMA.GROUP_ASSIGNMENT.ASSIGNED_GROUP')
           | (NOT ('SHIP_MOULDED_FORM_SCHEMA.APPLIED_GROUP_ASSIGNMENT'
           IN TYPEOF(oa))) )) = 0);
<a id="p120722"></a>END_ENTITY; -- class

<a id="p120723"></a>ENTITY classification_assignment
<a id="p120724"></a>   ABSTRACT SUPERTYPE;
<a id="p120725"></a>      assigned_class  : group;
<a id="p120726"></a>      role            : classification_role;
<a id="p120727"></a>END_ENTITY; -- classification_assignment

<a id="p120728"></a>ENTITY classification_role;
<a id="p120729"></a>   name         : label;
<a id="p120730"></a>   description  : OPTIONAL text;
<a id="p120731"></a>END_ENTITY; -- classification_role

<a id="p120732"></a>ENTITY closed_shell
<a id="p120733"></a>   SUBTYPE OF (connected_face_set);
<a id="p120734"></a>END_ENTITY; -- closed_shell

<a id="p120735"></a>ENTITY composite_curve
<a id="p120736"></a>   SUBTYPE OF (bounded_curve);
<a id="p120737"></a>      segments        : LIST [1:?] OF composite_curve_segment;
<a id="p120738"></a>      self_intersect  : LOGICAL;
<a id="p120739"></a>   DERIVE
<a id="p120740"></a>      n_segments : INTEGER := SIZEOF(segments);
<a id="p120741"></a>      closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous;
<a id="p120742"></a>   WHERE
<a id="p120743"></a>      wr1: (((NOT closed_curve) AND (SIZEOF(QUERY ( temp <* segments|
           (temp.transition = discontinuous) )) = 1)) OR
           (closed_curve AND (SIZEOF(QUERY ( temp <* segments |
           (temp.transition = discontinuous) )) = 0)));
<a id="p120744"></a>END_ENTITY; -- composite_curve

<a id="p120745"></a>ENTITY composite_curve_on_surface
<a id="p120746"></a>   SUBTYPE OF (composite_curve);
<a id="p120747"></a>   DERIVE
<a id="p120748"></a>      basis_surface : SET [0:2] OF surface := get_basis_surface(SELF);
<a id="p120749"></a>   WHERE
<a id="p120750"></a>      wr1: (SIZEOF(basis_surface) > 0);
<a id="p120751"></a>      wr2: constraints_composite_curve_on_surface(SELF);
<a id="p120752"></a>END_ENTITY; -- composite_curve_on_surface

<a id="p120753"></a>ENTITY composite_curve_segment
<a id="p120754"></a>   SUBTYPE OF (founded_item);
<a id="p120755"></a>      transition : transition_code;
<a id="p120756"></a>      same_sense : BOOLEAN;
<a id="p120757"></a>      parent_curve : curve;
<a id="p120758"></a>   INVERSE
<a id="p120759"></a>      using_curves : BAG [1:?] OF composite_curve FOR segments;
<a id="p120760"></a>   WHERE
<a id="p120761"></a>      wr1: ('SHIP_MOULDED_FORM_SCHEMA.BOUNDED_CURVE' IN TYPEOF(parent_curve));
<a id="p120762"></a>END_ENTITY; -- composite_curve_segment

<a id="p120763"></a>ENTITY compound_representation_item
<a id="p120764"></a>   SUBTYPE OF (representation_item);
<a id="p120765"></a>      item_element : compound_item_definition;
<a id="p120766"></a>END_ENTITY; -- compound_representation_item

<a id="p120767"></a>ENTITY conic
<a id="p120768"></a>   SUPERTYPE OF (ONEOF (circle,ellipse,hyperbola,parabola))
<a id="p120769"></a>   SUBTYPE OF (curve);
<a id="p120770"></a>      position : axis2_placement;
<a id="p120771"></a>END_ENTITY; -- conic

<a id="p120772"></a>ENTITY conical_surface
<a id="p120773"></a>   SUBTYPE OF (elementary_surface);
<a id="p120774"></a>      radius     : length_measure;
<a id="p120775"></a>      semi_angle : plane_angle_measure;
<a id="p120776"></a>   WHERE
<a id="p120777"></a>      wr1: (radius >= 0);
<a id="p120778"></a>END_ENTITY; -- conical_surface

<a id="p120779"></a>ENTITY connected_edge_set
<a id="p120780"></a>   SUBTYPE OF (topological_representation_item);
<a id="p120781"></a>      ces_edges : SET [1:?] OF edge;
<a id="p120782"></a>END_ENTITY; -- connected_edge_set

<a id="p120783"></a>ENTITY connected_face_set
<a id="p120784"></a>   SUPERTYPE OF (ONEOF (closed_shell,open_shell))
<a id="p120785"></a>   SUBTYPE OF (topological_representation_item);
<a id="p120786"></a>      cfs_faces : SET [1:?] OF face;
<a id="p120787"></a>END_ENTITY; -- connected_face_set

<a id="p120788"></a>ENTITY context_dependent_unit
<a id="p120789"></a>   SUBTYPE OF (named_unit);
<a id="p120790"></a>      name : label;
<a id="p120791"></a>END_ENTITY; -- context_dependent_unit

<a id="p120792"></a>ENTITY conversion_based_unit
<a id="p120793"></a>   SUBTYPE OF (named_unit);
<a id="p120794"></a>      name              : label;
<a id="p120795"></a>      conversion_factor : measure_with_unit;
<a id="p120796"></a>END_ENTITY; -- conversion_based_unit

<a id="p120797"></a>ENTITY coordinated_universal_time_offset;
<a id="p120798"></a>      hour_offset    : INTEGER;
<a id="p120799"></a>      minute_offset  : OPTIONAL INTEGER;
<a id="p120800"></a>      sense          : ahead_or_behind;
<a id="p120801"></a>   DERIVE
<a id="p120802"></a>      actual_minute_offset : INTEGER := NVL(minute_offset,0);
<a id="p120803"></a>   WHERE
<a id="p120804"></a>      wr1: ((0 <= hour_offset) AND (hour_offset < 24));
<a id="p120805"></a>      wr2: ((0 <= actual_minute_offset) AND (actual_minute_offset <= 59));
<a id="p120806"></a>      wr3: (NOT (((hour_offset <> 0) OR (actual_minute_offset <> 0))
           AND (sense = exact)));
<a id="p120807"></a>END_ENTITY; -- coordinated_universal_time_offset

<a id="p120808"></a>ENTITY curve
<a id="p120809"></a>   SUPERTYPE OF (ONEOF
<a id="p120810"></a>      (line,conic,pcurve,surface_curve,offset_curve_3d,
      curve_replica))
<a id="p120811"></a>   SUBTYPE OF (geometric_representation_item);
<a id="p120812"></a>END_ENTITY; -- curve

<a id="p120813"></a>ENTITY curve_replica
<a id="p120814"></a>   SUBTYPE OF (curve);
<a id="p120815"></a>      parent_curve : curve;
<a id="p120816"></a>      transformation : cartesian_transformation_operator;
<a id="p120817"></a>   WHERE
<a id="p120818"></a>      wr1: (transformation.dim = parent_curve.dim);
<a id="p120819"></a>      wr2: acyclic_curve_replica(SELF,parent_curve);
<a id="p120820"></a>END_ENTITY; -- curve_replica

<a id="p120821"></a>ENTITY cylindrical_surface
<a id="p120822"></a>   SUBTYPE OF (elementary_surface);
<a id="p120823"></a>      radius : positive_length_measure;
<a id="p120824"></a>END_ENTITY; -- cylindrical_surface

<a id="p120825"></a>ENTITY date
<a id="p120826"></a>   SUPERTYPE OF (ONEOF (calendar_date,ordinal_date,
<a id="p120827"></a>      week_of_year_and_day_date));
<a id="p120828"></a>      year_component : year_number;
<a id="p120829"></a>END_ENTITY; -- date

<a id="p120830"></a>ENTITY date_and_time;
<a id="p120831"></a>   date_component : date;
<a id="p120832"></a>   time_component : local_time;
<a id="p120833"></a>END_ENTITY; -- date_and_time

<a id="p120834"></a>ENTITY date_and_time_assignment
<a id="p120835"></a>   ABSTRACT SUPERTYPE;
<a id="p120836"></a>      assigned_date_and_time : date_and_time;
<a id="p120837"></a>      role                   : date_time_role;
<a id="p120838"></a>END_ENTITY; -- date_and_time_assignment

<a id="p120839"></a>ENTITY date_time_role;
<a id="p120840"></a>      name : label;
<a id="p120841"></a>   DERIVE
<a id="p120842"></a>      description : text := get_description_value(SELF);
<a id="p120843"></a>   WHERE
<a id="p120844"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p120845"></a>END_ENTITY; -- date_time_role

<a id="p120846"></a>ENTITY definitional_representation
<a id="p120847"></a>   SUBTYPE OF (representation);
<a id="p120848"></a>      WHERE
<a id="p120849"></a>         wr1: ('SHIP_MOULDED_FORM_SCHEMA.PARAMETRIC_REPRESENTATION_CONTEXT'
              IN TYPEOF(SELF\representation.context_of_items));
<a id="p120850"></a>END_ENTITY; -- definitional_representation

<a id="p120851"></a>ENTITY degenerate_pcurve
<a id="p120852"></a>   SUBTYPE OF (point);
<a id="p120853"></a>      basis_surface: surface;
<a id="p120854"></a>      reference_to_curve : definitional_representation;
<a id="p120855"></a>   WHERE
<a id="p120856"></a>      wr1: (SIZEOF(reference_to_curve\representation.items) = 1);
<a id="p120857"></a>      wr2: ('SHIP_MOULDED_FORM_SCHEMA.CURVE' IN TYPEOF(reference_to_curve\
           representation.items[1]));
<a id="p120858"></a>      wr3: (reference_to_curve\representation.items[1]\
           geometric_representation_item.dim = 2);
<a id="p120859"></a>END_ENTITY; -- degenerate_pcurve

<a id="p120860"></a>ENTITY degenerate_toroidal_surface
<a id="p120861"></a>   SUBTYPE OF (toroidal_surface);
<a id="p120862"></a>      select_outer : BOOLEAN;
<a id="p120863"></a>   WHERE
<a id="p120864"></a>      wr1: (major_radius < minor_radius);
<a id="p120865"></a>END_ENTITY; -- degenerate_toroidal_surface

<a id="p120866"></a>ENTITY derived_unit;
<a id="p120867"></a>      elements : SET [1:?] OF derived_unit_element;
<a id="p120868"></a>   DERIVE
<a id="p120869"></a>      name : label := get_name_value(SELF);
<a id="p120870"></a>   WHERE
<a id="p120871"></a>      wr1: ((SIZEOF(elements) > 1) OR ((SIZEOF(elements) = 1) AND (
           elements[1].exponent <> 1)));
<a id="p120872"></a>      wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1);
<a id="p120873"></a>END_ENTITY; -- derived_unit

<a id="p120874"></a>ENTITY derived_unit_element;
<a id="p120875"></a>   unit      :  named_unit;
<a id="p120876"></a>   exponent  : REAL;
<a id="p120877"></a>END_ENTITY; -- derived_unit_element

<a id="p120878"></a>ENTITY description_attribute;
<a id="p120879"></a>   attribute_value : text;
<a id="p120880"></a>   described_item  : description_attribute_select;
<a id="p120881"></a>END_ENTITY; -- description_attribute

<a id="p120882"></a>ENTITY descriptive_representation_item
<a id="p120883"></a>   SUBTYPE OF (representation_item);
<a id="p120884"></a>      description : text;
<a id="p120885"></a>END_ENTITY; -- descriptive_representation_item

<a id="p120886"></a>ENTITY dimensional_exponents;
<a id="p120887"></a>   length_exponent                     :  REAL;
<a id="p120888"></a>   mass_exponent                       :  REAL;
<a id="p120889"></a>   time_exponent                       :  REAL;
<a id="p120890"></a>   electric_current_exponent           :  REAL;
<a id="p120891"></a>   thermodynamic_temperature_exponent  :  REAL;
<a id="p120892"></a>   amount_of_substance_exponent        :  REAL;
<a id="p120893"></a>   luminous_intensity_exponent         :  REAL;
<a id="p120894"></a>END_ENTITY; -- dimensional_exponents

<a id="p120895"></a>ENTITY direction
<a id="p120896"></a>   SUBTYPE OF (geometric_representation_item);
<a id="p120897"></a>      direction_ratios : LIST [2:3] OF REAL;
<a id="p120898"></a>   WHERE
<a id="p120899"></a>      wr1: (SIZEOF(QUERY ( tmp <* direction_ratios | (tmp <> 0) )) > 0);
<a id="p120900"></a>END_ENTITY; -- direction

<a id="p120901"></a>ENTITY document;
<a id="p120902"></a>      id           :  identifier;
<a id="p120903"></a>      name         :  label;
<a id="p120904"></a>      description  :  OPTIONAL text;
<a id="p120905"></a>      kind         :  document_type;
<a id="p120906"></a>   INVERSE
<a id="p120907"></a>      representation_types : SET [0:?] OF
<a id="p120908"></a>      document_representation_type FOR
<a id="p120909"></a>      represented_document;
<a id="p120910"></a>END ENTITY; -- document

<a id="p120911"></a>ENTITY document_reference
<a id="p120912"></a>   ABSTRACT SUPERTYPE;
<a id="p120913"></a>      assigned_document : document;
<a id="p120914"></a>      source  : label;
<a id="p120915"></a>   DERIVE
<a id="p120916"></a>      role : object_role := get_role(SELF);
<a id="p120917"></a>   WHERE
<a id="p120918"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);
<a id="p120919"></a>END_ENTITY; -- document_reference

<a id="p120920"></a>ENTITY document_representation_type;
<a id="p120921"></a>   name                 : label;
<a id="p120922"></a>   represented_document : document;
<a id="p120923"></a>END_ENTITY; -- document_representation_type

<a id="p120924"></a>ENTITY document_type;
<a id="p120925"></a>   product_data_type : label;
<a id="p120926"></a>END_ENTITY; -- document_type

<a id="p120927"></a>ENTITY document_usage_constraint;
<a id="p120928"></a>   source                 :  document;
<a id="p120929"></a>   subject_element        :  label;
<a id="p120930"></a>   subject_element_value  : text;
<a id="p120931"></a>END_ENTITY; -- document_usage_constraint

<a id="p120932"></a>ENTITY edge
<a id="p120933"></a>   SUPERTYPE OF (ONEOF (edge_curve,oriented_edge))
<a id="p120934"></a>   SUBTYPE OF (topological_representation_item);
<a id="p120935"></a>      edge_start : vertex;
<a id="p120936"></a>      edge_end   : vertex;
<a id="p120937"></a>END_ENTITY; -- edge

<a id="p120938"></a>ENTITY edge_based_wireframe_model
<a id="p120939"></a>   SUBTYPE OF (geometric_representation_item);
<a id="p120940"></a>      ebwm_boundary : SET [1:?] OF connected_edge_set;
<a id="p120941"></a>END_ENTITY; -- edge_based_wireframe_model

<a id="p120942"></a>ENTITY edge_based_wireframe_shape_representation
<a id="p120943"></a>   SUBTYPE OF (shape_representation);
<a id="p120944"></a>   WHERE
<a id="p120945"></a>      wr1: (SIZEOF(QUERY ( it <* SELF.items | (NOT (SIZEOF([
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL',
           'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM',
           'SHIP_MOULDED_FORM_SCHEMA.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1)) )) = 0)
<a id="p120946"></a>      wr2: (SIZEOF(QUERY ( it <* SELF.items | (SIZEOF([
                'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL',
                'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM'] * TYPEOF(it)) = 1) )) >= 1);
<a id="p120947"></a>      wr3: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items |(
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\
           edge_based_wireframe_model.ebwm_boundary | (NOT
           (SIZEOF(QUERY ( edges <* eb.ces_edges | (NOT (
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_CURVE' IN TYPEOF(edges))) ))
           = 0)) )) = 0)) )) = 0);
<a id="p120948"></a>      wr4: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items |(
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\
           edge_based_wireframe_model.ebwm_boundary | (NOT
           (SIZEOF(QUERY ( pline_edges <* QUERY ( edges <* eb.ces_edges
           | ('SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN TYPEOF(edges\
           edge_curve.edge_geometry)) ) | (NOT
           (SIZEOF(pline_edges\edge_curve.edge_geometry\polyline.points) > 2)) )) = 0)) ))
           = 0)) )) = 0);
<a id="p120949"></a>      wr5: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items |(
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\
           edge_based_wireframe_model.ebwm_boundary | (NOT
           (SIZEOF(QUERY ( edges <* eb.ces_edges | (NOT ((
           'SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN
           TYPEOF(edges.edge_start)) AND
           ('SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN
           TYPEOF(edges.edge_end)))) )) = 0)))) = 0)) )) = 0);
<a id="p120950"></a>      wr6: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items |(
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\
           edge_based_wireframe_model.ebwm_boundary | (NOT
           (SIZEOF(QUERY ( edges <* eb.ces_edges | (NOT
           valid_wireframe_edge_curve(edges\edge_curve.edge_geometry)) ))
           = 0)) )) = 0)) )) = 0);
<a id="p120951"></a>      wr7: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items |(
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\
           edge_based_wireframe_model.ebwm_boundary | (NOT
           (SIZEOF(QUERY ( edges <* eb.ces_edges | (NOT (
           valid_wireframe_vertex_point(edges.edge_start\vertex_point.
           vertex_geometry) AND :
           valid_wireframe_vertex_point(edges.
           edge_end\vertex_point.vertex_geometry))) )) = 0)) )) = 0)) )) = 0);
<a id="p120952"></a>      wr8: (SIZEOF(QUERY ( mi <* QUERY ( it <* SELF.items |  (
           'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM' IN TYPEOF(it))
           ) | (NOT (('SHIP_MOULDED_FORM_SCHEMA.' +
           'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION') IN
           TYPEOF(mi\mapped_item.mapping_source.mapped_representation))) )) = 0);
<a id="p120953"></a>      wr9: (SELF.context_of_items\geometric_representation_context.
           coordinate_space_dimension = 3);
<a id="p120954"></a>END_ENTITY; -- edge_based_wireframe_shape_representation

<a id="p120955"></a>ENTITY edge_curve
<a id="p120956"></a>   SUBTYPE OF (edge, geometric_representation_item);
<a id="p120957"></a>      edge_geometry  : curve;
<a id="p120958"></a>      same_sense     : BOOLEAN;
<a id="p120959"></a>END_ENTITY; -- edge_curve

<a id="p120960"></a>ENTITY edge_loop
<a id="p120961"></a>   SUBTYPE OF (loop, path);
<a id="p120962"></a>   DERIVE
<a id="p120963"></a>      ne : INTEGER := SIZEOF(SELF\path.edge_list);
<a id="p120964"></a>   WHERE
<a id="p120965"></a>      wr1: (SELF\path.edge_list[1].edge_start :=:
           SELF\path.edge_list[ne].edge_end);
<a id="p120966"></a>END_ENTITY; -- edge_loop

<a id="p120967"></a>ENTITY effectivity
<a id="p120968"></a>   SUPERTYPE OF (serial_numbered_effectivity);
<a id="p120969"></a>      id : identifier;
<a id="p120970"></a>   DERIVE
<a id="p120971"></a>      name         : label := get_name_value(SELF);
<a id="p120972"></a>      description  : text := get_description_value(SELF);
<a id="p120973"></a>   WHERE
<a id="p120974"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1);
<a id="p120975"></a>      wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p120976"></a>END_ENTITY; -- effectivity

<a id="p120977"></a>ENTITY effectivity_assignment
<a id="p120978"></a>   ABSTRACT SUPERTYPE;
<a id="p120979"></a>      assigned_effectivity : effectivity;
<a id="p120980"></a>   DERIVE
<a id="p120981"></a>      role : object_role := get_role(SELF);
<a id="p120982"></a>   WHERE
<a id="p120983"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);
<a id="p120984"></a>END_ENTITY; -- effectivity_assignment

<a id="p120985"></a>ENTITY electric_current_unit
<a id="p120986"></a>   SUBTYPE OF (named_unit);
<a id="p120987"></a>   WHERE
<a id="p120988"></a>      wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\
           named_unit.dimensions.mass_exponent = 0) AND (SELF\
           named_unit.dimensions.time_exponent = 0) AND (SELF\
           named_unit.dimensions.electric_current_exponent = 1) AND (
           SELF\named_unit.dimensions.
           thermodynamic_temperature_exponent = 0) AND
           (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\
           named_unit.dimensions.luminous_intensity_exponent = 0));
<a id="p120989"></a>END_ENTITY; -- electric_current_unit

<a id="p120990"></a>ENTITY elementary_surface
<a id="p120991"></a>   SUPERTYPE OF (ONEOF (plane,cylindrical_surface,conical_surface,
<a id="p120992"></a>      spherical_surface,toroidal_surface))
<a id="p120993"></a>   SUBTYPE OF (surface);
<a id="p120994"></a>      position : axis2_placement_3d;
<a id="p120995"></a>END_ENTITY; -- elementary_surface

<a id="p120996"></a>ENTITY ellipse
<a id="p120997"></a>   SUBTYPE OF (conic);
<a id="p120998"></a>      semi_axis_1 : positive_length_measure;
<a id="p120999"></a>      semi_axis_2 : positive_length_measure;
<a id="p121000"></a>END_ENTITY; -- ellipse

<a id="p121001"></a>ENTITY evaluated_degenerate_pcurve
<a id="p121002"></a>   SUBTYPE OF (degenerate_pcurve);
<a id="p121003"></a>      equivalent_point : cartesian_point;
<a id="p121004"></a>END_ENTITY; -- evaluated_degenerate_pcurve

<a id="p121005"></a>ENTITY executed_action
<a id="p121006"></a>   SUBTYPE OF (action);
<a id="p121007"></a>END_ENTITY; -- executed_action

<a id="p121008"></a>ENTITY external_identification_assignment A
<a id="p121009"></a>   ABSTRACT SUPERTYPE
<a id="p121010"></a>   SUBTYPE OF (identification_assignment);
<a id="p121011"></a>      source : external_source;
<a id="p121012"></a>END_ENTITY; -- external_identification_assignment

<a id="p121013"></a>ENTITY external_source;
<a id="p121014"></a>      source_id : source_item;
<a id="p121015"></a>   DERIVE
<a id="p121016"></a>      description : text := get_description_value(SELF);
<a id="p121017"></a>   WHERE
<a id="p121018"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
<a id="p121019"></a>           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p121020"></a>END_ENTITY; -- external_source

<a id="p121021"></a>ENTITY external_source_relationship;
<a id="p121022"></a>   name              : label;
<a id="p121023"></a>   description       : OPTIONAL text;
<a id="p121024"></a>   relating_source   : external_source;
<a id="p121025"></a>   related_source    : external_source;
<a id="p121026"></a>END_ENTITY; -- external_source_relationship

<a id="p121027"></a>ENTITY externally_defined_item;
<a id="p121028"></a>   item_id : source_item;
<a id="p121029"></a>   source  : external_source;
<a id="p121030"></a>END_ENTITY; -- externally_defined_item

<a id="p121031"></a>ENTITY face
<a id="p121032"></a>   SUPERTYPE OF (ONEOF (face_surface,subface,oriented_face))
<a id="p121033"></a>   SUBTYPE OF (topological_representation_item);
<a id="p121034"></a>      bounds : SET [1:?] OF face_bound;
<a id="p121035"></a>   WHERE
<a id="p121036"></a>      wr1: (NOT mixed_loop_type_set(list_to_set(list_face_loops(SELF))));
<a id="p121037"></a>      wr2: (SIZEOF(QUERY ( temp <* bounds |  (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_OUTER_BOUND' IN TYPEOF(temp)) )) <= 1);
<a id="p121038"></a>END_ENTITY; -- face

<a id="p121039"></a>ENTITY face_based_surface_model
<a id="p121040"></a>   SUBTYPE OF (geometric_representation_item);
<a id="p121041"></a>      fbsm_faces : SET [1:?] OF connected_face_set;
<a id="p121042"></a>END_ENTITY; -- face_based_surface_model

<a id="p121043"></a>ENTITY face_bound
<a id="p121044"></a>   SUBTYPE OF (topological_representation_item);
<a id="p121045"></a>      bound        : loop;
<a id="p121046"></a>      orientation  : BOOLEAN;
<a id="p121047"></a>END_ENTITY; -- face_bound

<a id="p121048"></a>ENTITY face_outer_bound
<a id="p121049"></a>   SUBTYPE OF (face_bound);
<a id="p121050"></a>END_ENTITY; -- face_outer_bound

<a id="p121051"></a>ENTITY face_surface
<a id="p121052"></a>   SUBTYPE OF (face, geometric_representation_item);
<a id="p121053"></a>      face_geometry : surface;
<a id="p121054"></a>      same_sense : BOOLEAN;
<a id="p121055"></a>   WHERE
      wr1: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_SURFACE' IN TYPEOF(face_geometry)));
<a id="p121056"></a>END_ENTITY; -- face_surface

<a id="p121057"></a>ENTITY faceted_brep
<a id="p121058"></a>   SUBTYPE OF (manifold_solid_brep);
<a id="p121059"></a>END_ENTITY; -- faceted_brep

<a id="p121060"></a>ENTITY founded_item;
<a id="p121061"></a>END_ENTITY; -- founded_item

<a id="p121062"></a>ENTITY functionally_defined_transformation;
<a id="p121063"></a>   name         : label;
<a id="p121064"></a>   description  : OPTIONAL text;
<a id="p121065"></a>END_ENTITY; -- functionally_defined_transformation

<a id="p121066"></a>ENTITY geometric_curve_set
<a id="p121067"></a>   SUBTYPE OF (geometric_set);
<a id="p121068"></a>   WHERE
<a id="p121069"></a>      wr1: (SIZEOF(QUERY ( temp <* SELF\geometric_set.elements | (
           'SHIP_MOULDED_FORM_SCHEMA.SURFACE' IN TYPEOF(temp)) )) = 0);
<a id="p121070"></a>END_ENTITY; -- geometric_curve_set

<a id="p121071"></a>ENTITY geometric_representation_context
<a id="p121072"></a>   SUBTYPE OF (representation_context);
<a id="p121073"></a>    coordinate_space_dimension : dimension_count;
<a id="p121074"></a>END_ENTITY; -- geometric_representation_context

<a id="p121075"></a>ENTITY geometric_representation_item
<a id="p121076"></a>   SUPERTYPE OF (ONEOF (point,direction,vector,placement,
      cartesian_transformation_operator,curve,surface,edge_curve,
      face_surface,poly_loop,vertex_point,solid_model,
      face_based_surface_model,edge_based_wireframe_model,geometric_set))
<a id="p121077"></a>   SUBTYPE OF (representation_item);
<a id="p121078"></a>      DERIVE
<a id="p121079"></a>         dim : dimension_count := dimension_of(SELF);
<a id="p121080"></a>      WHERE
<a id="p121081"></a>         wr1: (SIZEOF(QUERY ( using_rep <* using_representations(SELF) | (
              NOT ( 'SHIP_MOULDED_FORM_SCHEMA.GEOMETRIC_REPRESENTATION_CONTEXT'
              IN TYPEOF(using_rep.context_of_items))) )) = 0);
<a id="p121082"></a>END_ENTITY; -- geometric_representation_item

<a id="p121083"></a>ENTITY geometric_set
<a id="p121084"></a>   SUPERTYPE OF (geometric_curve_set)
<a id="p121085"></a>   SUBTYPE OF (geometric_representation_item);
<a id="p121086"></a>      elements : SET [1:?] OF geometric_set_select;
<a id="p121087"></a>END_ENTITY; -- geometric_set

<a id="p121088"></a>ENTITY global_uncertainty_assigned_context
<a id="p121089"></a>   SUBTYPE OF (representation_context);
<a id="p121090"></a>      uncertainty : SET [1:?] OF uncertainty_measure_with_unit;
<a id="p121091"></a>END_ENTITY; -- global_uncertainty_assigned_context

<a id="p121092"></a>ENTITY global_unit_assigned_context
<a id="p121093"></a>   SUBTYPE OF (representation_context);
<a id="p121094"></a>      units : SET [1:?] OF unit;
<a id="p121095"></a>END_ENTITY; -- global_unit_assigned_context

<a id="p121096"></a>ENTITY group;
<a id="p121097"></a>      name         : label;
<a id="p121098"></a>      description  : OPTIONAL text;
<a id="p121099"></a>   DERIVE
<a id="p121100"></a>      id : identifier := get_id_value(SELF);
<a id="p121101"></a>   WHERE
<a id="p121102"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);
<a id="p121103"></a>END_ENTITY; -- group

<a id="p121104"></a>ENTITY group_assignment
<a id="p121105"></a>   ABSTRACT SUPERTYPE;
<a id="p121106"></a>      assigned_group : group;
<a id="p121107"></a>   DERIVE
<a id="p121108"></a>      role : object_role := get_role(SELF);
<a id="p121109"></a>   WHERE
<a id="p121110"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
<a id="p121111"></a>           'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);
<a id="p121112"></a>END_ENTITY; -- group_assignment

<a id="p121113"></a>ENTITY group_relationship;
<a id="p121114"></a>   name           : label;
<a id="p121115"></a>   description    : OPTIONAL text;
<a id="p121116"></a>   relating_group : group;
<a id="p121117"></a>   related_group  : group;
<a id="p121118"></a>END_ENTITY; -- group_relationship

<a id="p121119"></a>ENTITY hyperbola
<a id="p121120"></a>   SUBTYPE OF (conic);
<a id="p121121"></a>      semi_axis       : positive_length_measure;
<a id="p121122"></a>      semi_imag_axis  : positive_length_measure;
<a id="p121123"></a>END_ENTITY; -- hyperbola

<a id="p121124"></a>ENTITY id_attribute;
<a id="p121125"></a>   attribute_value : identifier;
<a id="p121126"></a>   identified_item : id_attribute_select;
<a id="p121127"></a>END_ENTITY; -- id_attribute

<a id="p121128"></a>ENTITY identification_assignment
<a id="p121129"></a>   ABSTRACT SUPERTYPE;
<a id="p121130"></a>      assigned_id  : identifier;
<a id="p121131"></a>      role         : identification_role;
<a id="p121132"></a>END_ENTITY; -- identification_assignment

<a id="p121133"></a>ENTITY identification_assignment_relationship;
<a id="p121134"></a>   name                                : label;
<a id="p121135"></a>   description                         : OPTIONAL text;
<a id="p121136"></a>   relating_identification_assignment  : identification_assignment;
<a id="p121137"></a>   related_identification_assignment   : identification_assignment;
<a id="p121138"></a>END_ENTITY; -- identification_assignment_relationship

<a id="p121139"></a>ENTITY identification_role;
<a id="p121140"></a>   name         : label;
<a id="p121141"></a>   description  : OPTIONAL text;
<a id="p121142"></a>END_ENTITY; -- identification_role

<a id="p121143"></a>ENTITY intersection_curve
<a id="p121144"></a>   SUBTYPE OF (surface_curve);
<a id="p121145"></a>   WHERE
<a id="p121146"></a>      wr1: (SIZEOF(SELF\surface_curve.associated_geometry) = 2);
<a id="p121147"></a>      wr2: (associated_surface(SELF\surface_curve.associated_geometry[1]) <>
           associated_surface(SELF\surface_curve.associated_geometry [2]));
<a id="p121148"></a>END_ENTITY; -- intersection_curve

<a id="p121149"></a>ENTITY item_defined_transformation;
<a id="p121150"></a>   name              : label;
<a id="p121151"></a>   description       : OPTIONAL text;
<a id="p121152"></a>   transform_item_1  : representation_item;
<a id="p121153"></a>   transform_item_2  : representation_item;
<a id="p121154"></a>END_ENTITY; -- item_defined_transformation

<a id="p121155"></a>ENTITY length_measure_with_unit
<a id="p121156"></a>   SUBTYPE OF (measure_with_unit);
<a id="p121157"></a>   WHERE
<a id="p121158"></a>      wr1: ('SHIP_MOULDED_FORM_SCHEMA.LENGTH_UNIT' IN TYPEOF(SELF\
           measure_with_unit.unit_component));
<a id="p121159"></a>END_ENTITY; -- length_measure_with_unit

<a id="p121160"></a>ENTITY length_unit
<a id="p121161"></a>   SUBTYPE OF (named_unit);
<a id="p121162"></a>   WHERE
<a id="p121163"></a>      wr1: ((SELF\named_unit.dimensions.length_exponent = 1) AND
           (SELF\named_unit.dimensions.mass_exponent = 0) AND (SELF\
           named_unit.dimensions.time_exponent = 0) AND (SELF\
           named_unit.dimensions.electric_current_exponent = 0)
           AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0)
           AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
           (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));
<a id="p121164"></a>END_ENTITY; -- length_unit

<a id="p121165"></a>ENTITY line
<a id="p121166"></a>   SUBTYPE OF (curve);
<a id="p121167"></a>      pnt : cartesian_point;
<a id="p121168"></a>      dir : vector;
<a id="p121169"></a>   WHERE
<a id="p121170"></a>      wr1: (dir.dim = pnt.dim);
<a id="p121171"></a>END_ENTITY; -- line

<a id="p121172"></a>ENTITY local_time;
<a id="p121173"></a>      hour_component    : hour_in_day;
<a id="p121174"></a>      minute_component  : OPTIONAL minute_in_hour;
<a id="p121175"></a>      second_component  : OPTIONAL second_in_minute;
<a id="p121176"></a>      zone              : coordinated_universal_time_offset;
<a id="p121177"></a>   WHERE
<a id="p121178"></a>      wr1: valid_time(SELF);
<a id="p121179"></a>END_ENTITY; -- local_time

<a id="p121180"></a>ENTITY loop
<a id="p121181"></a>   SUPERTYPE OF (ONEOF (vertex_loop,edge_loop,poly_loop))
<a id="p121182"></a>   SUBTYPE OF (topological_representation_item);
<a id="p121183"></a>END_ENTITY; -- loop

<a id="p121184"></a>ENTITY luminous_intensity_unit
<a id="p121185"></a>   SUBTYPE OF (named_unit);
<a id="p121186"></a>   WHERE
<a id="p121187"></a>      wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND
           (SELF\named_unit.dimensions.mass_exponent = 0) AND (SELF\
           named_unit.dimensions.time_exponent = 0) AND (SELF\
           named_unit.dimensions.electric_current_exponent = 0) AND (
           SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND
           (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
           (SELF\named_unit.dimensions.luminous_intensity_exponent = 1));
<a id="p121188"></a>END_ENTITY; -- luminous_intensity_unit

<a id="p121189"></a>ENTITY manifold_solid_brep
<a id="p121190"></a>   SUBTYPE OF (solid_model);
<a id="p121191"></a>      outer : closed_shell;
<a id="p121192"></a>END_ENTITY; -- manifold_solid_brep

<a id="p121193"></a>ENTITY mapped_item
<a id="p121194"></a>   SUBTYPE OF (representation_item);
<a id="p121195"></a>      mapping_source : representation_map;
<a id="p121196"></a>      mapping_target : representation_item;
<a id="p121197"></a>   WHERE
<a id="p121198"></a>      wr1: acyclic_mapped_representation(using_representations(SELF),[SELF]);
<a id="p121199"></a>END_ENTITY; -- mapped_item

<a id="p121200"></a>ENTITY mass_measure_with_unit
<a id="p121201"></a>   SUBTYPE OF (measure_with_unit);
<a id="p121202"></a>   WHERE
<a id="p121203"></a>      wr1: ('SHIP_MOULDED_FORM_SCHEMA.MASS_UNIT' IN TYPEOF(SELF\
           measure_with_unit.unit_component));
<a id="p121204"></a>END_ENTITY; -- mass_measure_with_unit

<a id="p121205"></a>ENTITY mass_unit
<a id="p121206"></a>   SUBTYPE OF (named_unit);
<a id="p121207"></a>   WHERE
<a id="p121208"></a>      wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\
           named_unit.dimensions.mass_exponent = 1) AND (SELF\
           named_unit.dimensions.time_exponent = 0) AND (SELF\
           named_unit.dimensions.electric_current_exponent = 0) AND (
           SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND
           SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
           (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));
<a id="p121209"></a>END_ENTITY; -- mass_unit

<a id="p121210"></a>ENTITY measure_with_unit
<a id="p121211"></a>   SUPERTYPE OF (ONEOF
<a id="p121212"></a>      (length_measure_with_unit,mass_measure_with_unit,
      plane_angle_measure_with_unit,solid_angle_measure_with_unit));
      value_component : measure_value;
      unit_component : unit;
<a id="p121213"></a>   WHERE
<a id="p121214"></a>      wr1: valid_units(SELF);
<a id="p121215"></a>END_ENTITY; -- measure_with_unit

<a id="p121216"></a>ENTITY name_attribute;
<a id="p121217"></a>   attribute_value : label;
<a id="p121218"></a>   named_item      : name_attribute_select;
<a id="p121219"></a>END_ENTITY; -- name_attribute

<a id="p121220"></a>ENTITY named_unit
<a id="p121221"></a>   SUPERTYPE OF (ONEOF (si_unit,conversion_based_unit,
      context_dependent_unit) ANDOR ONEOF (length_unit,mass_unit,
      time_unit,electric_current_unit,thermodynamic_temperature_unit,
      amount_of_substance_unit,luminous_intensity_unit,plane_angle_unit,
      solid_angle_unit,ratio_unit));
      dimensions : dimensional_exponents;
<a id="p121222"></a>END_ENTITY; -- named_unit

<a id="p121223"></a>ENTITY non_manifold_surface_shape_representation
<a id="p121224"></a>   SUBTYPE OF (shape_representation);
<a id="p121225"></a>   WHERE
<a id="p121226"></a>      wr1 : (SIZEOF(QUERY ( it <* SELF.items | (NOT (SIZEOF([
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL',
           'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM',
           'SHIP_MOULDED_FORM_SCHEMA.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1)) )) = 0);
<a id="p121227"></a>      wr2 : (SIZEOF(QUERY ( it <* SELF.items | (SIZEOF([
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL',
           'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM'] * TYPEOF(it)) = 1) )) > 0);
<a id="p121228"></a>      wr3 : (SIZEOF(QUERY ( mi <* QUERY ( it <* SELF.items | (
           'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM' IN TYPEOF(it)) ) | (
           NOT ((('SHIP_MOULDED_FORM_SCHEMA.' +
           'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION') IN TYPEOF(mi\
           mapped_item.mapping_source.mapped_representation)) AND (
           SIZEOF(QUERY ( mr_it <* mi\mapped_item.mapping_source.
           mapped_representation.items | ('SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(mr_it)) )) > 0))) )) = 0);
<a id="p121229"></a>      wr4 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( fa <* cfs.cfs_faces | (NOT (SIZEOF([
           'SHIP_MOULDED_FORM_SCHEMA.FACE_SURFACE',
           'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_FACE'] * TYPEOF(fa)) = 1)) ))
           = 0)) )) = 0)) )) = 0);
<a id="p121230"></a>      wr5 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items |  (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( f_sf <* QUERY ( fa <* cfs.cfs_faces | (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_SURFACE' IN TYPEOF(fa)) ) |
           (NOT (('SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(
           f_sf)) OR nmsf_surface_check(f_sf\face_surface.
           face_geometry))) )) = 0)) )) = 0)) )) = 0);
<a id="p121231"></a>      wr6 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( o_fa <* QUERY ( fa <* cfs.cfs_faces | (
           'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_FACE' IN TYPEOF(fa)) )
           | (NOT (('SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE'
           IN TYPEOF(o_fa\oriented_face.face_element)) OR
           msf_surface_check(o_fa\oriented_face.face_element\
           ace_surface.face_geometry))) )) = 0))  )) = 0)) )) = 0);
<a id="p121232"></a>      wr7 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( fa <* cfs.cfs_faces | (NOT ((
           'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN
           (SIZEOF(QUERY ( bnds <* fa.bounds | (NOT (SIZEOF([
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP',
           'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP'] * TYPEOF(bnds.bound))
           = 1)) )) = 0))) )) = 0)) )) = 0)) )) = 0);
<a id="p121233"></a>      wr8 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) )  | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( fa <* cfs.cfs_faces | (NOT ((
           'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN
           TYPEOF(fa)) OR (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <*
           fa.bounds | ('SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN
           TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <*
           elp_fbnds\path.edge_list |(
           NOT ('SHIP_MOULDED_FORM_SCHEMA.EDGE_CURVE' IN
           TYPEOF(oe.edge_element))) )) = 0)) )) = 0))) )) = 0)) )) = 0)) )) = 0);
<a id="p121234"></a>      wr9 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items |  (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) )  | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( fa <* cfs.cfs_faces | (NOT ((
           'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(fa)) OR
           (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds |  (
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT (SIZEOF(QUERY ( oe_cv <* QUERY ( oe <* elp_fbnds\ path.edge_list |
           ('SHIP_MOULDED_FORM_SCHEMA.EDGE_CURVE' IN
           TYPEOF(oe.edge_element)) ) | (NOT (SIZEOF([
           'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE',
           'SHIP_MOULDED_FORM_SCHEMA.CONIC',
           'SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA',
           'SHIP_MOULDED_FORM_SCHEMA.LINE',
           'SHIP_MOULDED_FORM_SCHEMA.OFFSET_CURVE_3D',
           'SHIP_MOULDED_FORM_SCHEMA.PCURVE',
           'SHIP_MOULDED_FORM_SCHEMA.POLYLINE',
           'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE'] *
           TYPEOF(oe_cv.edge_element\edge_curve.edge_geometry)) = 1)) )) = 0))) )) =
           0)) )) = 0)) )) = 0);
<a id="p121235"></a>      wr10: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( fa <* cfs.cfs_faces | (NOT ((
           'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN
           TYPEOF(fa)) OR (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | (
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT (SIZEOF(QUERY ( oe <*
           elp_fbnds\path.edge_list |(
           NOT nmsf_curve_check(oe.edge_element\edge_curve.
           edge_geometry)) )) = 0))  )) = 0))) )) = 0))  )) = 0)) )) = 0);
<a id="p121236"></a>      wr11: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( fa <* cfs.cfs_faces | (NOT ((
           'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN
           TYPEOF(fa)) OR (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <*
           fa.bounds | ( 'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN
           TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <*
           elp_fbnds\path.edge_list | ( NOT (('SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN
           TYPEOF(oe.edge_element.edge_start)) AND (
           'SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN
           TYPEOF(oe.edge_element.edge_end)))) )) = 0)) )) = 0))) )) = 0)) )) = 0)) )) = 0);
<a id="p121237"></a>      wr12: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items |  (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( fa <* cfs.cfs_faces | (NOT ((
           'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(fa)) OR
           (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <*fa.bounds | (
           'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN
           TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <*elp_fbnds\path.edge_list | (
           NOT ((SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT',
           'SHIP_MOULDED_FORM_SCHEMA.DEGENERATE_PCURVE', 'SHIP_MOULDED_FORM_SCHEMA.
           POINT_ON_CURVE', 'SHIP_MOULDED_FORM_SCHEMA.POINT_ON_SURFACE'] *
           TYPEOF(oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) AND
           (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT',
           'SHIP_MOULDED_FORM_SCHEMA.DEGENERATE_PCURVE', 'SHIP_MOULDED_FORM_SCHEMA.
           POINT_ON_CURVE', 'SHIP_MOULDED_FORM_SCHEMA.POINT_ON_SURFACE'] *
           TYPEOF(oe.edge_element.edge_end\vertex_point.vertex_geometry)) = 1))) ))
           = 0)) )) = 0))) )) = 0)) )) = 0)) )) = 0);
<a id="p121238"></a>      wr13: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'
           IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( fa <* cfs.cfs_faces | (NOT ((
           'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(fa)) OR
           (SIZEOF(QUERY ( vlp_fbnds <* QUERY ( bnds <*fa.bounds | (
           'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT ('SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN TYPEOF(
           vlp_fbnds\vertex_loop.loop_vertex))) )) = 0))) )) = 0)) ))
           = 0)) )) = 0);
<a id="p121239"></a>      wr14: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (
           'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN
           TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\
           face_based_surface_model.fbsm_faces | (NOT (SIZEOF(
           QUERY ( fa <* cfs.cfs_faces | (NOT ((
           'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(fa)) OR
           (SIZEOF(QUERY ( vlp_fbnds <* QUERY ( bnds <*fa.bounds |(
           'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP' IN TYPEOF(bnds.bound)) )
           | (NOT (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT',
           'SHIP_MOULDED_FORM_SCHEMA.DEGENERATE_PCURVE',
           'SHIP_MOULDED_FORM_SCHEMA.POINT_ON_CURVE',
           'SHIP_MOULDED_FORM_SCHEMA.POINT_ON_SURFACE'] *
           TYPEOF(vlp_fbnds\vertex_loop.loop_vertex\vertex_point.
           vertex_geometry)) = 1)) )) = 0))) )) = 0))  )) = 0)) )) = 0);
<a id="p121240"></a>END_ENTITY; -- non_manifold_surface_shape_representation

<a id="p121241"></a>ENTITY object_role;
<a id="p121242"></a>   name         : label;
<a id="p121243"></a>   description  : OPTIONAL text;
<a id="p121244"></a>END_ENTITY; -- object_role

<a id="p121245"></a>ENTITY offset_curve_3d
<a id="p121246"></a>   SUBTYPE OF (curve);
<a id="p121247"></a>      basis_curve     : curve;
<a id="p121248"></a>      distance        : length_measure;
<a id="p121249"></a>      self_intersect  : LOGICAL;
<a id="p121250"></a>      ref_direction   : direction;
<a id="p121251"></a>   WHERE
<a id="p121252"></a>      wr1: ((basis_curve.dim = 3) AND (ref_direction.dim = 3));
<a id="p121253"></a>END_ENTITY; -- offset_curve_3d

<a id="p121254"></a>ENTITY offset_surface
<a id="p121255"></a>   SUBTYPE OF (surface);
<a id="p121256"></a>      basis_surface   : surface;
<a id="p121257"></a>      distance        : length_measure;
<a id="p121258"></a>      self_intersect  : LOGICAL;
<a id="p121259"></a>END_ENTITY; -- offset_surface

<a id="p121260"></a>ENTITY open_shell
<a id="p121261"></a>   SUBTYPE OF (connected_face_set);
<a id="p121262"></a>END_ENTITY; -- open_shell

<a id="p121263"></a>ENTITY ordinal_date
<a id="p121264"></a>   SUBTYPE OF (date);
<a id="p121265"></a>      day_component : day_in_year_number;
<a id="p121266"></a>   WHERE
<a id="p121267"></a>      wr1: (((NOT leap_year(SELF.year_component)) AND (1 <= day_component)
           AND (day_component <= 365)) OR (leap_year(SELF.year_component) AND
           (1 <= day_component) AND (day_component <= 366)));
<a id="p121268"></a>END_ENTITY; -- ordinal_date

<a id="p121269"></a>ENTITY organization;
<a id="p121270"></a>   id           : OPTIONAL identifier;
<a id="p121271"></a>   name         : label;
<a id="p121272"></a>   description  : OPTIONAL text;
<a id="p121273"></a>END_ENTITY; -- organization

<a id="p121274"></a>ENTITY organization_assignment
<a id="p121275"></a>   ABSTRACT SUPERTYPE;
<a id="p121276"></a>      assigned_organization  : organization;
<a id="p121277"></a>      role                   : organization_role;
<a id="p121278"></a>END_ENTITY; -- organization_assignment

<a id="p121279"></a>ENTITY organization_role;
<a id="p121280"></a>      name : label;
<a id="p121281"></a>   DERIVE
<a id="p121282"></a>      description : text := get_description_value(SELF);
<a id="p121283"></a>   WHERE
<a id="p121284"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p121285"></a>END_ENTITY; -- organization_role

<a id="p121286"></a>ENTITY organizational_address
<a id="p121287"></a>   SUBTYPE OF (address);
<a id="p121288"></a>      organizations  : SET [1:?] OF organization;
<a id="p121289"></a>      description    : OPTIONAL text;
<a id="p121290"></a>END_ENTITY; -- organizational_address

<a id="p121291"></a>ENTITY organizational_project;
<a id="p121292"></a>      name                      : label;
<a id="p121293"></a>      description               : OPTIONAL text;
<a id="p121294"></a>      responsible_organizations : SET [1:?] OF organization;
<a id="p121295"></a>   DERIVE
<a id="p121296"></a>      id : identifier := get_id_value(SELF);
<a id="p121297"></a>   WHERE
<a id="p121298"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);
<a id="p121299"></a>END_ENTITY; -- organizational_project

<a id="p121300"></a>ENTITY oriented_closed_shell
<a id="p121301"></a>   SUBTYPE OF (closed_shell);
<a id="p121302"></a>      closed_shell_element : closed_shell;
<a id="p121303"></a>      orientation          : BOOLEAN;
<a id="p121304"></a>   DERIVE
<a id="p121305"></a>      SELF\connected_face_set.cfs_faces : SET [1:?] OF face :=
      conditional_reverse(SELF.orientation,SELF.closed_shell_element.cfs_faces);
<a id="p121306"></a>   WHERE
<a id="p121307"></a>      wr1: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_CLOSED_SHELL' IN
      TYPEOF(SELF.closed_shell_element)));
<a id="p121308"></a>END_ENTITY; -- oriented_closed_shell

<a id="p121309"></a>ENTITY oriented_edge
<a id="p121310"></a>   SUBTYPE OF (edge);
<a id="p121311"></a>      edge_element : edge;
<a id="p121312"></a>      orientation  : BOOLEAN;
<a id="p121313"></a>   DERIVE
<a id="p121314"></a>      SELF\edge.edge_start : vertex := boolean_choose(SELF.orientation,
      SELF.edge_element.edge_start,SELF.edge_element.edge_end);
<a id="p121315"></a>      SELF\edge.edge_end : vertex := boolean_choose(SELF.orientation,
      SELF.edge_element.edge_end,SELF.edge_element.edge_start);
<a id="p121316"></a>   WHERE
<a id="p121317"></a>      wr1: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_EDGE' IN TYPEOF(SELF.edge_element)));
<a id="p121318"></a>END_ENTITY; -- oriented_edge

<a id="p121319"></a>ENTITY oriented_face
<a id="p121320"></a>   SUBTYPE OF (face);
<a id="p121321"></a>      face_element : face;
<a id="p121322"></a>      orientation  : BOOLEAN;
<a id="p121323"></a>   DERIVE
<a id="p121324"></a>      SELF\face.bounds : SET [1:?] OF face_bound := conditional_reverse(
      SELF.orientation,SELF.face_element.bounds);
<a id="p121325"></a>   WHERE
<a id="p121326"></a>      wr1: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_FACE' IN
           TYPEOF(SELF.face_element)));
<a id="p121327"></a>END_ENTITY; -- oriented_face

<a id="p121328"></a>ENTITY oriented_open_shell
<a id="p121329"></a>   SUBTYPE OF (open_shell);
<a id="p121330"></a>      open_shell_element : open_shell;
<a id="p121331"></a>      orientation        : BOOLEAN;
<a id="p121332"></a>   DERIVE
      SELF\connected_face_set.cfs_faces : SET [1:?] OF face :=
      conditional_reverse(SELF.orientation,SELF.
      open_shell_element.cfs_faces);
<a id="p121333"></a>   WHERE
<a id="p121334"></a>      wr1: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_OPEN_SHELL' IN
           TYPEOF(SELF.open_shell_element)));
<a id="p121335"></a>END_ENTITY; -- oriented_open_shell

<a id="p121336"></a>ENTITY oriented_path
<a id="p121337"></a>   SUBTYPE OF (path);
<a id="p121338"></a>      path_element : path;
<a id="p121339"></a>      orientation : BOOLEAN;
<a id="p121340"></a>   DERIVE
<a id="p121341"></a>      SELF\path.edge_list : LIST [1:?] OF UNIQUE oriented_edge :=
      conditional_reverse(SELF.orientation,SELF.path_element.edge_list);
<a id="p121342"></a>   WHERE
<a id="p121343"></a>      wr1: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_PATH' IN ;
           TYPEOF(SELF.path_element)));
<a id="p121344"></a>END_ENTITY; -- oriented_path

<a id="p121345"></a>ENTITY oriented_surface
<a id="p121346"></a>   SUBTYPE OF (surface);
<a id="p121347"></a>      orientation : BOOLEAN;
<a id="p121348"></a>END_ENTITY; -- oriented_surface

<a id="p121349"></a>ENTITY parabola
<a id="p121350"></a>   SUBTYPE OF (conic);
<a id="p121351"></a>      focal_dist : length_measure;
<a id="p121352"></a>   WHERE
<a id="p121353"></a>      wr1: (focal_dist <> 0);
<a id="p121354"></a>END_ENTITY; -- parabola

<a id="p121355"></a>ENTITY parametric_representation_context
<a id="p121356"></a>   SUBTYPE OF (representation_context);
<a id="p121357"></a>END_ENTITY; -- parametric_representation_context

<a id="p121358"></a>ENTITY path
<a id="p121359"></a>   SUPERTYPE OF (ONEOF (edge_loop,oriented_path))
<a id="p121360"></a>   SUBTYPE OF (topological_representation_item);
<a id="p121361"></a>      edge_list : LIST [1:?] OF UNIQUE oriented_edge;
<a id="p121362"></a>   WHERE
<a id="p121363"></a>   wr1: path_head_to_tail(SELF);
<a id="p121364"></a>END_ENTITY; -- path

<a id="p121365"></a>ENTITY pcurve
<a id="p121366"></a>   SUBTYPE OF (curve);
<a id="p121367"></a>      basis_surface      : surface;
<a id="p121368"></a>      reference_to_curve : definitional_representation;
<a id="p121369"></a>   WHERE
<a id="p121370"></a>      wr1: (SIZEOF(reference_to_curve\representation.items) = 1);
<a id="p121371"></a>      wr2: ('SHIP_MOULDED_FORM_SCHEMA.CURVE' IN
           TYPEOF(reference_to_curve\representation.items[1]));
<a id="p121372"></a>      wr3: (reference_to_curve\representation.items[1]\
           geometric_representation_item.dim = 2);
<a id="p121373"></a>END_ENTITY; -- pcurve

<a id="p121374"></a>ENTITY person;
<a id="p121375"></a>      id           : identifier;
<a id="p121376"></a>      last_name    : OPTIONAL label;
<a id="p121377"></a>      first_name   : OPTIONAL label;
<a id="p121378"></a>      middle_names : OPTIONAL LIST [1:?] OF label;
<a id="p121379"></a>      prefix_titles: OPTIONAL LIST [1:?] OF label;
<a id="p121380"></a>      suffix_titles: OPTIONAL LIST [1:?] OF label;
<a id="p121381"></a>   WHERE
<a id="p121382"></a>      wr1: (EXISTS(last_name) OR EXISTS(first_name));
<a id="p121383"></a>END_ENTITY; -- person

<a id="p121384"></a>ENTITY person_and_organization;
<a id="p121385"></a>      the_person        : person;
<a id="p121386"></a>      the_organization  : organization;
<a id="p121387"></a>   DERIVE
<a id="p121388"></a>      name         : label := get_name_value(SELF);
<a id="p121389"></a>      description  : text := get_description_value(SELF);
<a id="p121390"></a>   WHERE
<a id="p121391"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1);
<a id="p121392"></a>      wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p121393"></a>END_ENTITY; -- person_and_organization

<a id="p121394"></a>ENTITY person_and_organization_assignment
<a id="p121395"></a>   ABSTRACT SUPERTYPE;
<a id="p121396"></a>      assigned_person_and_organization  : person_and_organization;
<a id="p121397"></a>      role                              : person_and_organization_role;
<a id="p121398"></a>END_ENTITY; -- person_and_organization_assignment

<a id="p121399"></a>ENTITY person_and_organization_role;
<a id="p121400"></a>      name : label;
<a id="p121401"></a>   DERIVE
<a id="p121402"></a>      description : text := get_description_value(SELF);
<a id="p121403"></a>   WHERE
<a id="p121404"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p121405"></a>END_ENTITY; -- person_and_organization_role

<a id="p121406"></a>ENTITY person_assignment
<a id="p121407"></a>   ABSTRACT SUPERTYPE;
<a id="p121408"></a>      assigned_person : person;
<a id="p121409"></a>      role            : person_role;
<a id="p121410"></a>END_ENTITY; -- person_assignment

<a id="p121411"></a>ENTITY person_role;
<a id="p121412"></a>      name : label;
<a id="p121413"></a>   DERIVE
<a id="p121414"></a>      description : text := get_description_value(SELF);
<a id="p121415"></a>   WHERE
<a id="p121416"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p121417"></a>END_ENTITY; -- person_role

<a id="p121418"></a>ENTITY personal_address
<a id="p121419"></a>   SUBTYPE OF (address);
<a id="p121420"></a>      people       : SET [1:?] OF person;
<a id="p121421"></a>      description  : OPTIONAL text;
<a id="p121422"></a>END_ENTITY; -- personal_address

<a id="p121423"></a>ENTITY placement
<a id="p121424"></a>   SUPERTYPE OF (ONEOF (axis1_placement,axis2_placement_2d, axis2_placement_3d))
<a id="p121425"></a>   SUBTYPE OF (geometric_representation_item);
<a id="p121426"></a>      location : cartesian_point;
<a id="p121427"></a>END_ENTITY; -- placement

<a id="p121428"></a>ENTITY plane
<a id="p121429"></a>   SUBTYPE OF (elementary_surface);
<a id="p121430"></a>END_ENTITY; -- plane

<a id="p121431"></a>ENTITY plane_angle_measure_with_unit
<a id="p121432"></a>   SUBTYPE OF (measure_with_unit);
<a id="p121433"></a>   WHERE
<a id="p121434"></a>      wr1: ('SHIP_MOULDED_FORM_SCHEMA.PLANE_ANGLE_UNIT' IN
           TYPEOF(SELF\measure_with_unit.unit_component));
<a id="p121435"></a>END_ENTITY; -- plane_angle_measure_with_unit

<a id="p121436"></a>ENTITY plane_angle_unit
<a id="p121437"></a>   SUBTYPE OF (named_unit);
<a id="p121438"></a>   WHERE
<a id="p121439"></a>      wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND
           (SELF\named_unit.dimensions.mass_exponent = 0) AND (SELF\
           named_unit.dimensions.time_exponent = 0) AND (SELF\
           named_unit.dimensions.electric_current_exponent = 0) AND (
           SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND
           (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
           (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));
<a id="p121440"></a>END_ENTITY; -- plane_angle_unit

<a id="p121441"></a>ENTITY point
<a id="p121442"></a>   SUPERTYPE OF (ONEOF
<a id="p121443"></a>      (cartesian_point,point_on_curve,point_on_surface,
      point_replica,degenerate_pcurve))
<a id="p121444"></a>   SUBTYPE OF (geometric_representation_item);
<a id="p121445"></a>END_ENTITY; -- point

<a id="p121446"></a>ENTITY point_on_curve
<a id="p121447"></a>   SUBTYPE OF (point);
<a id="p121448"></a>      basis_curve     : curve;
<a id="p121449"></a>      point_parameter : parameter_value;
<a id="p121450"></a>END_ENTITY; -- point_on_curve

<a id="p121451"></a>ENTITY point_on_surface
<a id="p121452"></a>   SUBTYPE OF (point);
<a id="p121453"></a>      basis_surface     : surface;
<a id="p121454"></a>      point_parameter_u : parameter_value;
<a id="p121455"></a>      point_parameter_v : parameter_value;
<a id="p121456"></a>END_ENTITY; -- point_on_surface

<a id="p121457"></a>ENTITY point_replica
<a id="p121458"></a>   SUBTYPE OF (point);
<a id="p121459"></a>      parent_pt  : point;
<a id="p121460"></a>      transformation : cartesian_transformation_operator;
<a id="p121461"></a>   WHERE
<a id="p121462"></a>      wr1: (transformation.dim = parent_pt.dim);
<a id="p121463"></a>      wr2: acyclic_point_replica(SELF,parent_pt);
<a id="p121464"></a>END_ENTITY; -- point_replica

<a id="p121465"></a>ENTITY poly_loop
<a id="p121466"></a>   SUBTYPE OF (loop, geometric_representation_item);
<a id="p121467"></a>   polygon : LIST [3:?] OF UNIQUE cartesian_point;
<a id="p121468"></a>END_ENTITY; -- poly_loop

<a id="p121469"></a>ENTITY polyline
<a id="p121470"></a>   SUBTYPE OF (bounded_curve);
<a id="p121471"></a>      points : LIST [2:?] OF cartesian_point;
<a id="p121472"></a>END_ENTITY; -- polyline

<a id="p121473"></a>ENTITY product;
<a id="p121474"></a>   id                   : identifier;
<a id="p121475"></a>   name                 : label;
<a id="p121476"></a>   description          : OPTIONAL text;
<a id="p121477"></a>   frame_of_reference   : SET [1:?] OF product_context;
<a id="p121478"></a>END_ENTITY; -- product

<a id="p121479"></a>ENTITY product_category;
<a id="p121480"></a>      name         : label;
<a id="p121481"></a>      description  : OPTIONAL text;
<a id="p121482"></a>   DERIVE
<a id="p121483"></a>      id : identifier := get_id_value(SELF);
<a id="p121484"></a>   WHERE
<a id="p121485"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);
<a id="p121486"></a>END_ENTITY; -- product_category

<a id="p121487"></a>ENTITY product_category_relationship;
<a id="p121488"></a>      name : label;
<a id="p121489"></a>      description : OPTIONAL text;
<a id="p121490"></a>      category   : product_category;
<a id="p121491"></a>      sub_category : product_category;
<a id="p121492"></a>   WHERE
<a id="p121493"></a>      wr1: acyclic_product_category_relationship(SELF,[SELF.sub_category]);
<a id="p121494"></a>END_ENTITY; -- product_category_relationship

<a id="p121495"></a>ENTITY product_context
<a id="p121496"></a>   SUBTYPE OF (application_context_element);
<a id="p121497"></a>      discipline_type : label;
<a id="p121498"></a>END_ENTITY; -- product_context

<a id="p121499"></a>ENTITY product_definition;
<a id="p121500"></a>      id                  : identifier;
<a id="p121501"></a>      description         : OPTIONAL text;
<a id="p121502"></a>      formation           : product_definition_formation;
<a id="p121503"></a>      frame_of_reference  : product_definition_context;
<a id="p121504"></a>   DERIVE
<a id="p121505"></a>      name : label := get_name_value(SELF);
<a id="p121506"></a>   WHERE
<a id="p121507"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1);
<a id="p121508"></a>END_ENTITY; -- product_definition

<a id="p121509"></a>ENTITY product_definition_context
<a id="p121510"></a>   SUBTYPE OF (application_context_element);
<a id="p121511"></a>      life_cycle_stage : label;
<a id="p121512"></a>END_ENTITY; -- product_definition_context

<a id="p121513"></a>ENTITY product_definition_formation;
<a id="p121514"></a>      id           : identifier;
<a id="p121515"></a>      description  : OPTIONAL text;
<a id="p121516"></a>      of_product   : product;
<a id="p121517"></a>   UNIQUE
<a id="p121518"></a>      ur1 : id, of_product;
<a id="p121519"></a>END_ENTITY; -- product_definition_formation

<a id="p121520"></a>ENTITY product_definition_relationship;
<a id="p121521"></a>   id                           : identifier;
<a id="p121522"></a>   name                         : label;
<a id="p121523"></a>   description                  : OPTIONAL text;
<a id="p121524"></a>   relating_product_definition  : product_definition;
<a id="p121525"></a>   related_product_definition   : product_definition;
<a id="p121526"></a>END_ENTITY; -- product_definition_relationship

<a id="p121527"></a>ENTITY product_definition_shape
<a id="p121528"></a>   SUBTYPE OF (property_definition);
<a id="p121529"></a>   UNIQUE
<a id="p121530"></a>      ur1 : definition;
<a id="p121531"></a>   WHERE
<a id="p121532"></a>      wr1: (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CHARACTERIZED_PRODUCT_DEFINITION',
           'SHIP_MOULDED_FORM_SCHEMA.CHARACTERIZED_OBJECT'] *
           TYPEOF(SELF\property_definition.definition)) > 0);
<a id="p121533"></a>END_ENTITY; -- product_definition_shape

<a id="p121534"></a>ENTITY product_related_product_category
<a id="p121535"></a>   SUBTYPE OF (product_category);
<a id="p121536"></a>      products : SET [1:?] OF product;
<a id="p121537"></a>END_ENTITY; -- product_related_product_category

<a id="p121538"></a>ENTITY property_definition;
<a id="p121539"></a>      name         : label;
<a id="p121540"></a>      description  : OPTIONAL text;
<a id="p121541"></a>      definition   : characterized_definition;
<a id="p121542"></a>   DERIVE
<a id="p121543"></a>      id : identifier := get_id_value(SELF);
<a id="p121544"></a>   WHERE
<a id="p121545"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);
<a id="p121546"></a>END_ENTITY; -- property_definition

<a id="p121547"></a>ENTITY property_definition_relationship;
<a id="p121548"></a>   name                           : label;
<a id="p121549"></a>   description                    : text;
<a id="p121550"></a>   relating_property_definition   : property_definition;
<a id="p121551"></a>   related_property_definition    : property_definition;
<a id="p121552"></a>END_ENTITY; -- property_definition_relationship

<a id="p121553"></a>ENTITY property_definition_representation;
<a id="p121554"></a>      definition           : represented_definition;
<a id="p121555"></a>      used_representation  : representation;
<a id="p121556"></a>   DERIVE
<a id="p121557"></a>      description  : text := get_description_value(SELF);
<a id="p121558"></a>      name         : label := get_name_value(SELF);
<a id="p121559"></a>   WHERE
<a id="p121560"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p121561"></a>      wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1);
<a id="p121562"></a>END_ENTITY; -- property_definition_representation

<a id="p121563"></a>ENTITY quasi_uniform_curve
<a id="p121564"></a>   SUBTYPE OF (b_spline_curve);
<a id="p121565"></a>END_ENTITY; -- quasi_uniform_curve

<a id="p121566"></a>ENTITY quasi_uniform_surface
<a id="p121567"></a>   SUBTYPE OF (b_spline_surface);
<a id="p121568"></a>END_ENTITY; -- quasi_uniform_surface

<a id="p121569"></a>ENTITY ratio_unit
<a id="p121570"></a>   SUBTYPE OF (named_unit);
<a id="p121571"></a>   WHERE
<a id="p121572"></a>      wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND
           (SELF\named_unit.dimensions.mass_exponent = 0) AND (SELF\
           named_unit.dimensions.time_exponent = 0) AND (SELF\
           named_unit.dimensions.electric_current_exponent = 0)
           AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0)
           AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
           (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));
<a id="p121573"></a>END_ENTITY; -- ratio_unit

<a id="p121574"></a>ENTITY rational_b_spline_curve
<a id="p121575"></a>   SUBTYPE OF (b_spline_curve);
<a id="p121576"></a>      weights_data : LIST [2:?] OF REAL;
<a id="p121577"></a>   DERIVE
<a id="p121578"></a>      weights : ARRAY [0:upper_index_on_control_points] OF REAL :=
      list_to_array(weights_data,0,
      upper_index_on_control_points);
<a id="p121579"></a>   WHERE
<a id="p121580"></a>      wr1: (SIZEOF(weights_data) = SIZEOF(SELF\b_spline_curve.control_points_list));
<a id="p121581"></a>      wr2: curve_weights_positive(SELF);
<a id="p121582"></a>END_ENTITY; -- rational_b_spline_curve

<a id="p121583"></a>ENTITY rational_b_spline_surface
<a id="p121584"></a>   SUBTYPE OF (b_spline_surface);
<a id="p121585"></a>      weights_data : LIST [2:?] OF LIST [2:?] OF REAL;
<a id="p121586"></a>   DERIVE
<a id="p121587"></a>      weights : ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF REAL :=
      make_array_of_array(weights_data,0,u_upper,0,v_upper);
<a id="p121588"></a>   WHERE
<a id="p121589"></a>      wr1: ((SIZEOF(weights_data) = SIZEOF(SELF\b_spline_surface.
           control_points_list)) AND (SIZEOF(weights_data[1]) =
           SIZEOF(SELF\b_spline_surface.control_points_list[1])));
<a id="p121590"></a>      wr2: surface_weights_positive(SELF);
<a id="p121591"></a>END_ENTITY; -- rational_b_spline_surface

<a id="p121592"></a>ENTITY representation;
<a id="p121593"></a>     name              : label;
<a id="p121594"></a>     items             : SET [1:?] OF representation_item;
<a id="p121595"></a>     context_of_items  : representation_context;
<a id="p121596"></a>   DERIVE
<a id="p121597"></a>     id           : identifier := get_id_value(SELF);
<a id="p121598"></a>     description  : text := get_description_value(SELF);
<a id="p121599"></a>   WHERE
<a id="p121600"></a>     wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
          'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);
<a id="p121601"></a>     wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
          'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);
<a id="p121602"></a>END_ENTITY; -- representation

<a id="p121603"></a>ENTITY representation_context;
<a id="p121604"></a>      context_identifier   : identifier;
<a id="p121605"></a>      context_type         : text;
<a id="p121606"></a>   INVERSE
<a id="p121607"></a>      representations_in_context : SET [1:?] OF representation FOR
      context_of_items;
<a id="p121608"></a>END_ENTITY; -- representation_context

<a id="p121609"></a>ENTITY representation_item;
<a id="p121610"></a>      name : label;
<a id="p121611"></a>   WHERE
<a id="p121612"></a>      wr1: (SIZEOF(using_representations(SELF)) > 0);
<a id="p121613"></a>END_ENTITY; -- representation_item

<a id="p121614"></a>ENTITY representation_map;
<a id="p121615"></a>      mapping_origin         : representation_item;
<a id="p121616"></a>      mapped_representation  : representation;
<a id="p121617"></a>   INVERSE
<a id="p121618"></a>      map_usage : SET [1:?] OF mapped_item FOR mapping_source;
<a id="p121619"></a>   WHERE
<a id="p121620"></a>      wr1: item_in_context(SELF.mapping_origin,SELF.mapped_representation.context_of_items);
<a id="p121621"></a>END_ENTITY; -- representation_map

<a id="p121622"></a>ENTITY representation_relationship;
<a id="p121623"></a>   name         : label;
<a id="p121624"></a>   description  : OPTIONAL text;
<a id="p121625"></a>   rep_1        : representation;
<a id="p121626"></a>   rep_2        : representation;
<a id="p121627"></a>END_ENTITY; -- representation_relationship

<a id="p121628"></a>ENTITY role_association;
<a id="p121629"></a>   role : object_role;
<a id="p121630"></a>   item_with_role : role_select;
<a id="p121631"></a>END_ENTITY; -- role_association

<a id="p121632"></a>ENTITY seam_curve
<a id="p121633"></a>   SUBTYPE OF (surface_curve);
<a id="p121634"></a>   WHERE
<a id="p121635"></a>      wr1: (SIZEOF(SELF\surface_curve.associated_geometry) = 2);
<a id="p121636"></a>      wr2: (associated_surface(SELF\surface_curve.associated_geometry[1]) =
           associated_surface(SELF\surface_curve.associated_geometry[2]));
<a id="p121637"></a>      wr3: ('SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN
           TYPEOF(SELF\surface_curve.associated_geometry[1]));
<a id="p121638"></a>      wr4: ('SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN
           TYPEOF(SELF\surface_curve.associated_geometry[2]));
<a id="p121639"></a>END_ENTITY; -- seam_curve

<a id="p121640"></a>ENTITY serial_numbered_effectivity
<a id="p121641"></a>   SUBTYPE OF (effectivity);
<a id="p121642"></a>      effectivity_start_id : identifier;
<a id="p121643"></a>      effectivity_end_id   : OPTIONAL identifier;
<a id="p121644"></a>END_ENTITY; -- serial_numbered_effectivity

<a id="p121645"></a>ENTITY shape_aspect;
<a id="p121646"></a>      name                    : label;
<a id="p121647"></a>      description             : OPTIONAL text;
<a id="p121648"></a>      of_shape                : product_definition_shape;
<a id="p121649"></a>      product_definitional    : LOGICAL;
<a id="p121650"></a>   DERIVE
<a id="p121651"></a>      id : identifier := get_id_value(SELF);
<a id="p121652"></a>   WHERE
<a id="p121653"></a>      wr1: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +
           'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);
<a id="p121654"></a>END_ENTITY; -- shape_aspect

<a id="p121655"></a>ENTITY shape_definition_representation
<a id="p121656"></a>   SUBTYPE OF (property_definition_representation);
<a id="p121657"></a>   WHERE
<a id="p121658"></a>      wr1: (('SHIP_MOULDED_FORM_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
           TYPEOF(SELF.definition)) OR (
           'SHIP_MOULDED_FORM_SCHEMA.SHAPE_DEFINITION' IN
           TYPEOF(SELF.definition.definition)));
<a id="p121659"></a>      wr2: ('SHIP_MOULDED_FORM_SCHEMA.SHAPE_REPRESENTATION' IN
           TYPEOF(SELF.used_representation));
<a id="p121660"></a>END_ENTITY; -- shape_definition_representation

<a id="p121661"></a>ENTITY shape_representation
<a id="p121662"></a>   SUBTYPE OF (representation);
<a id="p121663"></a>END_ENTITY; -- shape_representation

<a id="p121664"></a>ENTITY si_unit
<a id="p121665"></a>   SUBTYPE OF (named_unit);
<a id="p121666"></a>      prefix : OPTIONAL si_prefix;
<a id="p121667"></a>      name : si_unit_name;
<a id="p121668"></a>   DERIVE
<a id="p121669"></a>      SELF\named_unit.dimensions : dimensional_exponents := dimensions_for_si_unit(name);
<a id="p121670"></a>END_ENTITY; -- si_unit

<a id="p121671"></a>ENTITY solid_angle_measure_with_unit
<a id="p121672"></a>   SUBTYPE OF (measure_with_unit);
<a id="p121673"></a>   WHERE
<a id="p121674"></a>      wr1: ('SHIP_MOULDED_FORM_SCHEMA.SOLID_ANGLE_UNIT' IN TYPEOF(SELF\
           measure_with_unit.unit_component));
<a id="p121675"></a>END_ENTITY; -- solid_angle_measure_with_unit

<a id="p121676"></a>ENTITY solid_angle_unit
<a id="p121677"></a>SUBTYPE OF (named_unit);
<a id="p121678"></a>**WHERE**
<a id="p121679"></a>   wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\
        named_unit.dimensions.mass_exponent = 0) AND (SELF\
        named_unit.dimensions.time_exponent = 0) AND (SELF\
        named_unit.dimensions.electric_current_exponent = 0) AND (
        SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND
        (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
        (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));
<a id="p121680"></a>END_ENTITY; -- solid_angle_unit

<a id="p121681"></a>ENTITY solid_model
<a id="p121682"></a>   SUPERTYPE OF (manifold_solid_brep)
<a id="p121683"></a>   SUBTYPE OF (geometric_representation_item);
<a id="p121684"></a>END_ENTITY; -- solid_model

<a id="p121685"></a>ENTITY spherical_surface
<a id="p121686"></a>   SUBTYPE OF (elementary_surface);
<a id="p121687"></a>      radius : positive_length_measure;
<a id="p121688"></a>END_ENTITY; -- spherical_surface

<a id="p121689"></a>ENTITY subface
<a id="p121690"></a>   SUBTYPE OF (face);
<a id="p121691"></a>      parent_face : face;
<a id="p121692"></a>   WHERE
<a id="p121693"></a>      wr1: (NOT mixed_loop_type_set(list_to_set(list_face_loops(SELF)) +
           list_to_set(list_face_loops(parent_face))));
<a id="p121694"></a>END_ENTITY; -- subface

<a id="p121695"></a>ENTITY surface
<a id="p121696"></a>   SUPERTYPE OF (ONEOF
<a id="p121697"></a>      (elementary_surface,swept_surface,bounded_surface,offset_surface,surface_replica))
<a id="p121698"></a>   SUBTYPE OF (geometric_representation_item);
<a id="p121699"></a>END_ENTITY; -- surface

<a id="p121700"></a>ENTITY surface_curve
<a id="p121701"></a>   SUPERTYPE OF (ONEOF (intersection_curve,seam_curve) ANDOR
      bounded_surface_curve)
<a id="p121702"></a>   SUBTYPE OF (curve);
<a id="p121703"></a>      curve_3d               : curve;
<a id="p121704"></a>      associated_geometry    : LIST [1:2] OF pcurve_or_surface;
<a id="p121705"></a>      master_representation  : preferred_surface_curve_representation;
<a id="p121706"></a>   DERIVE
<a id="p121707"></a>      basis_surface : SET [1:2] OF surface := get_basis_surface(SELF);
<a id="p121708"></a>   WHERE
<a id="p121709"></a>      wr1: (curve_3d.dim = 3);
<a id="p121710"></a>      wr2: (('SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(
           associated_geometry[1])) OR (master_representation <> pcurve_s1));
<a id="p121711"></a>      wr3: (('SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(
           associated_geometry[2])) OR (master_representation <> pcurve_s2));
<a id="p121712"></a>      wr4: (NOT ('SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(curve_3d)));
<a id="p121713"></a>END_ENTITY; -- surface_curve

<a id="p121714"></a>ENTITY surface_of_linear_extrusion
<a id="p121715"></a>   SUBTYPE OF (swept_surface);
<a id="p121716"></a>      extrusion_axis : vector;
<a id="p121717"></a>END_ENTITY; -- surface_of_linear_extrusion

<a id="p121718"></a>ENTITY surface_of_revolution
<a id="p121719"></a>   SUBTYPE OF (swept_surface);
<a id="p121720"></a>      axis_position : axis1_placement;
<a id="p121721"></a>   DERIVE
<a id="p121722"></a>      axis_line : line := representation_item('') ||
      geometric_representation_item() || curve() ||
      line(axis_position.location,representation_item('') ||
      geometric_representation_item() || vector(axis_position.z,1));
<a id="p121723"></a>END_ENTITY; -- surface_of_revolution

<a id="p121724"></a>ENTITY surface_replica
<a id="p121725"></a>   SUBTYPE OF (surface);
<a id="p121726"></a>      parent_surface : surface;
<a id="p121727"></a>      transformation : cartesian_transformation_operator_3d;
<a id="p121728"></a>   WHERE
<a id="p121729"></a>      wr1: acyclic_surface_replica(SELF,parent_surface);
<a id="p121730"></a>END_ENTITY; -- surface_replica

<a id="p121731"></a>ENTITY swept_surface
<a id="p121732"></a>   SUPERTYPE OF (ONEOF
<a id="p121733"></a>      (surface_of_linear_extrusion,surface_of_revolution))
<a id="p121734"></a>   SUBTYPE OF (surface);
<a id="p121735"></a>      swept_curve : curve;
<a id="p121736"></a>END_ENTITY; -- swept_surface

<a id="p121737"></a>ENTITY thermodynamic_temperature_unit
<a id="p121738"></a>   SUBTYPE OF (named_unit);
<a id="p121739"></a>   WHERE
<a id="p121740"></a>      wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\
           named_unit.dimensions.mass_exponent = 0) AND (SELF\
           named_unit.dimensions.time_exponent = 0) AND (SELF\
           named_unit.dimensions.electric_current_exponent = 0) AND (
           SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 1) AND
           (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\
           named_unit.dimensions.luminous_intensity_exponent = 0));
<a id="p121741"></a>END_ENTITY; -- thermodynamic_temperature_unit

<a id="p121742"></a>ENTITY time_unit
<a id="p121743"></a>   SUBTYPE OF (named_unit);
<a id="p121744"></a>   WHERE
<a id="p121745"></a>      wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\
           named_unit.dimensions.mass_exponent = 0) AND (SELF\
           named_unit.dimensions.time_exponent = 1) AND (SELF\
           named_unit.dimensions.electric_current_exponent = 0) AND (
           SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND
           (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
           (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));
<a id="p121746"></a>END_ENTITY; -- time_unit

<a id="p121747"></a>ENTITY topological_representation_item
<a id="p121748"></a>   SUPERTYPE OF (ONEOF
<a id="p121749"></a>      (vertex,edge,face_bound,face,connected_edge_set,
      connected_face_set,loop ANDOR path))
<a id="p121750"></a>   SUBTYPE OF (representation_item);
<a id="p121751"></a>END_ENTITY; -- topological_representation_item

<a id="p121752"></a>ENTITY toroidal_surface
<a id="p121753"></a>   SUBTYPE OF (elementary_surface);
<a id="p121754"></a>      major_radius : positive_length_measure;
<a id="p121755"></a>      minor_radius : positive_length_measure;
<a id="p121756"></a>END_ENTITY; -- toroidal_surface

<a id="p121757"></a>ENTITY uncertainty_measure_with_unit
<a id="p121758"></a>   SUBTYPE OF (measure_with_unit);
<a id="p121759"></a>      name         : label;
<a id="p121760"></a>      description  : OPTIONAL text;
<a id="p121761"></a>   WHERE
<a id="p121762"></a>      wr1: valid_measure_value(SELF\measure_with_unit.value_component);
<a id="p121763"></a>END_ENTITY; -- uncertainty_measure_with_unit

<a id="p121764"></a>ENTITY uniform_curve
<a id="p121765"></a>   SUBTYPE OF (b_spline_curve);
<a id="p121766"></a>END_ENTITY; -- uniform_curve

<a id="p121767"></a>ENTITY uniform_surface
<a id="p121768"></a>   SUBTYPE OF (b_spline_surface);
<a id="p121769"></a>END_ENTITY; -- uniform_surface

<a id="p121770"></a>ENTITY value_representation_item
<a id="p121771"></a>   SUBTYPE OF (representation_item);
<a id="p121772"></a>      value_component : measure_value;
<a id="p121773"></a>   WHERE
<a id="p121774"></a>      wr1: (SIZEOF(QUERY ( rep <* using_representations(SELF) | (NOT (
           'SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN
           TYPEOF(rep.context_of_items))) )) = 0);
<a id="p121775"></a>END_ENTITY; -- value_representation_item

<a id="p121776"></a>ENTITY vector
<a id="p121777"></a>   SUBTYPE OF (geometric_representation_item); o
<a id="p121778"></a>      rientation : direction;
<a id="p121779"></a>      magnitude : length_measure;
<a id="p121780"></a>   WHERE
<a id="p121781"></a>      wr1: (magnitude >= 0);
<a id="p121782"></a>END_ENTITY; -- vector

<a id="p121783"></a>ENTITY versioned_action_request;
<a id="p121784"></a>   id           : identifier;
<a id="p121785"></a>   version      : label;
<a id="p121786"></a>   purpose      : text;
<a id="p121787"></a>   description  : OPTIONAL text;
<a id="p121788"></a>END_ENTITY; -- versioned_action_request

<a id="p121789"></a>ENTITY vertex
<a id="p121790"></a>   SUBTYPE OF (topological_representation_item);
<a id="p121791"></a>END_ENTITY; -- vertex

<a id="p121792"></a>ENTITY vertex_loop
<a id="p121793"></a>   SUBTYPE OF (loop);
<a id="p121794"></a>      loop_vertex : vertex;
<a id="p121795"></a>END_ENTITY; -- vertex_loop

<a id="p121796"></a>ENTITY vertex_point
<a id="p121797"></a>   SUBTYPE OF (vertex, geometric_representation_item);
<a id="p121798"></a>      vertex_geometry : point;
<a id="p121799"></a>END_ENTITY; -- vertex_point

<a id="p121800"></a>ENTITY week_of_year_and_day_date
<a id="p121801"></a>   SUBTYPE OF (date);
<a id="p121802"></a>      week_component : week_in_year_number;
<a id="p121803"></a>      day_component  : OPTIONAL day_in_week_number;
<a id="p121804"></a>END_ENTITY; -- week_of_year_and_day_date

<a id="p121805"></a>RULE action_request_solution_connected_to_action FOR (
<a id="p121806"></a>   LOCAL
<a id="p121807"></a>      violate : LOGICAL := FALSE;
<a id="p121808"></a>      t1_set : SET OF action_request_solution := [];
<a id="p121809"></a>      set_3 : SET OF action_method := [];
<a id="p121810"></a>      t2_set : SET OF action := [];
<a id="p121811"></a>   END_LOCAL;
<a id="p121812"></a>   t1_set := QUERY ( a <* action_request_solution | VALUE_IN(which_class(a),'change plan') );
<a id="p121813"></a>   t2_set := QUERY ( b <* action | VALUE_IN(which_class(b),'change') );
<a id="p121814"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p121815"></a>      set_3 := [];
<a id="p121816"></a>      REPEAT j := 1 TO HIINDEX(t2_set) BY 1;
<a id="p121817"></a>         set_3 := set_3 + [t2_set[j].chosen_method];
<a id="p121818"></a>      END_REPEAT;
<a id="p121819"></a>      violate := VALUE_IN(set_3,t1_set[i].method);
<a id="p121820"></a>   END_REPEAT;
<a id="p121821"></a>   WHERE
<a id="p121822"></a>      wr1: (NOT violate);

<a id="p121823"></a>END_RULE; -- action_request_solution_connected_to_action

<a id="p121824"></a>RULE action_request_solution_with_identification_assignment FOR (
applied_classification_assignment);
<a id="p121825"></a>   LOCAL
<a id="p121826"></a>      violation : LOGICAL := FALSE;
<a id="p121827"></a>      t1_set : SET OF action_request_solution := [];
<a id="p121828"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p121829"></a>      arg_list : LIST OF STRING := ['change plan'];
<a id="p121830"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p121831"></a>   END_LOCAL;
<a id="p121832"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p121833"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
                        (i.assigned_class.name = arg_list[j]) );
<a id="p121834"></a>   END_REPEAT;
<a id="p121835"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p121836"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p121837"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p121838"></a>      END_REPEAT;
<a id="p121839"></a>   END_REPEAT;
<a id="p121840"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p121841"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTI
                FICATION_ASSIGNMENT.ITEMS'));
<a id="p121842"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p121843"></a>   END_REPEAT;

<a id="p121844"></a>   WHERE
<a id="p121845"></a>      wr1: (NOT violation);

<a id="p121846"></a>END_RULE; --action_request_solution_with_identification_assignment

<a id="p121847"></a>RULE action_with_identification_assignment FOR (
<a id="p121848"></a>applied_classification_assignment);
<a id="p121849"></a>   LOCAL
<a id="p121850"></a>      violation : LOGICAL := FALSE;
<a id="p121851"></a>      t1_set : SET OF action := [];
<a id="p121852"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p121853"></a>      arg_list : LIST OF STRING := ['change',
      'versionable object change event','check'];
<a id="p121854"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p121855"></a>   END_LOCAL;
<a id="p121856"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p121857"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
<a id="p121858"></a>                        (i.assigned_class.name = arg_list[j]) );
<a id="p121859"></a>   END_REPEAT;
<a id="p121860"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p121861"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p121862"></a>      t1_set := t1_set + c_a_set[i].items[j];
<a id="p121863"></a>      END_REPEAT;
<a id="p121864"></a>   END_REPEAT;
<a id="p121865"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p121866"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p121867"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
<a id="p121868"></a>      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p121869"></a>   END_REPEAT;

<a id="p121870"></a>   WHERE
<a id="p121871"></a>      wr1: (NOT violation);

<a id="p121872"></a>END_RULE; -- action_with_identification_assignment

<a id="p121873"></a>RULE alternative_version_relationship_has_mandatory_description FOR (
identification_assignment_relationship);
<a id="p121874"></a>   LOCAL
<a id="p121875"></a>      violate : LOGICAL := FALSE;
<a id="p121876"></a>      t1_set : SET OF identification_assignment_relationship := [];
<a id="p121877"></a>   END_LOCAL;
<a id="p121878"></a>      t1_set := QUERY ( i <* identification_assignment_relationship |
         VALUE_IN(which_class(i),'alternative version relationship'));
<a id="p121879"></a>      violate := SIZEOF(QUERY ( k <* t1_set | (NOT EXISTS(k.description)) )) > 0;
<a id="p121880"></a>      WHERE
<a id="p121881"></a>         wr1: (NOT violation);

<a id="p121882"></a>END_RULE; --alternative_version_relationship_has_mandatory_description

<a id="p121883"></a>RULE alternative_version_relationship_has_unique_versions FOR (
identification_assignment_relationship);
<a id="p121884"></a>   LOCAL
<a id="p121885"></a>      violate : LOGICAL := FALSE;
<a id="p121886"></a>      t1_set : SET OF identification_assignment_relationship := [];
<a id="p121887"></a>   END_LOCAL;
<a id="p121888"></a>   t1_set := QUERY ( a <* identification_assignment_relationship |
   VALUE_IN(which_class(a),'alternative version relationship'));
<a id="p121889"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p121890"></a>      violate := t1_set[i].relating_identification_assignment.assigned_id
      = t1_set[i].related_identification_assignment.assigned_id;
<a id="p121891"></a>   END_REPEAT;

<a id="p121892"></a>   WHERE
<a id="p121893"></a>      wr1: (NOT violate);

<a id="p121894"></a>END_RULE; -- alternative_version_relationship_has_unique_versions

<a id="p121895"></a>RULE alternative_version_relationship_versionable_object FOR (
applied_identification_assignment, identification_assignment_relationship);
<a id="p121896"></a>   LOCAL
<a id="p121897"></a>      violate : LOGICAL := FALSE;
<a id="p121898"></a>   END_LOCAL;
<a id="p121899"></a>   REPEAT i := 1 TO HIINDEX(applied_identification_assignment) BY 1 WHILE NOT violate;
<a id="p121900"></a>      IF
<a id="p121901"></a>         (SIZEOF(USEDIN(applied_identification_assignment[i],'SHIP_MOULDED_FO
         RM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'
         + 'RELATING_IDENTIFICATION_ASSIGNMENT')) > 0) OR
         (SIZEOF(USEDIN(applied_identification_assignment[i],
         'SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'
         + 'RELATED_IDENTIFICATION_ASSIGNMENT')) > 0) THEN
         REPEAT j := 1 TO
<a id="p121902"></a>            HIINDEX(applied_identification_assignment[i].items) BY 1 WHILE NOT violate;
<a id="p121903"></a>            violate := NOT VALUE_IN(which_class(applied_identification_assignment[i].items[j)),
            'versionable object');
<a id="p121904"></a>         END_REPEAT;
<a id="p121905"></a>      END_IF;
<a id="p121906"></a>   END_REPEAT;

<a id="p121907"></a>   WHERE
<a id="p121908"></a>      wr1: (NOT violate);

<a id="p121909"></a>END_RULE; -- alternative_version_relationship_versionable_object

<a id="p121910"></a>RULE approval_event_with_approval_date_time FOR (approval);
<a id="p121911"></a>   LOCAL
<a id="p121912"></a>      violate : LOGICAL := FALSE;
<a id="p121913"></a>      t1_set : SET OF approval := [];
<a id="p121914"></a>      t2_set : SET OF approval_date_time := [];
<a id="p121915"></a>   END_LOCAL;
<a id="p121916"></a>   t1_set := QUERY ( i <* approval | VALUE_IN(which_class(i),
   'approval event') );
<a id="p121917"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p121918"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p121919"></a>      'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_DATE_TIME.' + 'DATED_APPROVAL'));
<a id="p121920"></a>      violate := NOT (SIZEOF(t2_set) = 1);
<a id="p121921"></a>   END_REPEAT;

<a id="p121922"></a>   WHERE
<a id="p121923"></a>      wr1: (NOT violate);

<a id="p121924"></a>END_RULE; -- approval_event_with_approval_date_time

<a id="p121925"></a>RULE approval_event_with_approval_person_organization FOR (approval);
<a id="p121926"></a>   LOCAL
<a id="p121927"></a>      violate : LOGICAL := FALSE;
<a id="p121928"></a>      t1_set : SET OF approval := [];
<a id="p121929"></a>      t2_set : SET OF approval_person_organization := [];
<a id="p121930"></a>   END_LOCAL;
<a id="p121931"></a>   t1_set := QUERY ( i <* approval | VALUE_IN(which_class(i), 'approval event') );
<a id="p121932"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p121933"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_PERSON_ORGANIZATION.' + 'AUTHORIZED_APPROVAL'));
      violate := NOT (SIZEOF(t2_set) = 1);
<a id="p121934"></a>   END_REPEAT;

<a id="p121935"></a>   WHERE
<a id="p121936"></a>      wr1: (NOT violate);

<a id="p121937"></a>END_RULE; -- approval_event_with_approval_person_organization

<a id="p121938"></a>RULE approval_history_approves_same_definition FOR (
applied_group_assignment, applied_approval_assignment);
<a id="p121939"></a>   LOCAL
<a id="p121940"></a>      violate : LOGICAL := FALSE;
<a id="p121941"></a>      t3_set : SET OF approval := [];
<a id="p121942"></a>      t4_set : SET OF group_item := [];
<a id="p121943"></a>      t5_set : SET OF applied_approval_assignment := [];
<a id="p121944"></a>      t2_set : SET OF applied_group_assignment := [];
<a id="p121945"></a>   END_LOCAL;
<a id="p121946"></a>   t2_set := QUERY ( a <* applied_group_assignment | VALUE_IN(
      which_class(a.assigned_group),'approval history') );
<a id="p121947"></a>   t3_set := QUERY ( b <* t2_set[1].items | (
      'SHIP_MOULDED_FORM_SCHEMA.APPROVAL' IN TYPEOF(b)) );
<a id="p121948"></a>   t4_set := QUERY ( b <* t2_set[1].items | VALUE_IN(which_class(b), 'DEFINITION') );
<a id="p121949"></a>   violate := NOT (SIZEOF(t4_set) = 1);
<a id="p121950"></a>   REPEAT i := 1 TO HIINDEX(t3_set) BY 1 WHILE NOT violate;
<a id="p121951"></a>      t5_set := QUERY ( a <* applied_approval_assignment | ((a.
      assigned_approval = t3_set[i]) AND (NOT
<a id="p121952"></a>      VALUE_IN(a.items,t4_set[1]))) );
<a id="p121953"></a>      violate := SIZEOF(t5_set) > 0;
<a id="p121954"></a>   END_REPEAT;

<a id="p121955"></a>   WHERE
<a id="p121956"></a>      wr1: (NOT violate);
<a id="p121957"></a>      wr2: (SIZEOF(t4_set) = 1);

<a id="p121958"></a>END_RULE; -- approval_history_approves_same_definition

<a id="p121959"></a>RULE approval_history_has_at_least_one_member FOR (group, applied_group_assignment);
<a id="p121960"></a>   LOCAL
<a id="p121961"></a>      violate : LOGICAL := FALSE;
<a id="p121962"></a>      t1_set : SET OF group := [];
<a id="p121963"></a>      t2_set : SET OF applied_group_assignment := [];
<a id="p121964"></a>   END_LOCAL;
<a id="p121965"></a>   t1_set := QUERY ( i <* group | VALUE_IN(which_class(i), 'approval history') );
<a id="p121966"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p121967"></a>      t2_set := QUERY ( a <* applied_group_assignment | (a.assigned_group = t1_set[i]) );
<a id="p121968"></a>      violate := NOT (SIZEOF(t2_set) = 1);
<a id="p121969"></a>   END_REPEAT;

<a id="p121970"></a>   WHERE
<a id="p121971"></a>      wr1: (NOT violate);

<a id="p121972"></a>END_RULE; -- approval_history_has_at_least_one_member

<a id="p121973"></a>RULE approvals_references_approval_history FOR (applied_group_assignment, group);
<a id="p121974"></a>   LOCAL
<a id="p121975"></a>      violate : LOGICAL := FALSE;
<a id="p121976"></a>      t1_set : SET OF group := [];
<a id="p121977"></a>      a_set : SET OF applied_group_assignment := [];
<a id="p121978"></a>   END_LOCAL;
<a id="p121979"></a>   t1_set := QUERY ( a <* group | VALUE_IN(which_class(a), 'approval history') );
<a id="p121980"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p121981"></a>      a_set := QUERY ( b <* applied_group_assignment | (NOT ((b.
      assigned_group = t1_set[i]) AND (b.role.name = 'approvals'))) );
<a id="p121982"></a>      violate := SIZEOF(a_set) > 0;
<a id="p121983"></a>   END_REPEAT;

<a id="p121984"></a>**WHERE**
<a id="p121985"></a>   wr1: (NOT violate);

<a id="p121986"></a>END_RULE; -- approvals_references_approval_history

<a id="p121987"></a>RULE author_for_change_plan FOR (applied_person_and_organization_assignment,
<a id="p121988"></a>action_request_solution);
<a id="p121989"></a>   LOCAL
<a id="p121990"></a>      violate : LOGICAL := FALSE;
<a id="p121991"></a>      t1_set : SET OF action_request_solution := [];
<a id="p121992"></a>      a_set : SET OF applied_person_and_organization_assignment := [];
<a id="p121993"></a>   END_LOCAL;
<a id="p121994"></a>   t1_set := QUERY ( a <* action_request_solution |
   VALUE_IN(which_class(a),'change plan') );
<a id="p121995"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p121996"></a>      a_set := QUERY ( b <*applied_person_and_organization_assignment | (
      VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'author')));
<a id="p121997"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p121998"></a>   END_REPEAT;

<a id="p121999"></a>   WHERE
<a id="p122000"></a>      wr1: (NOT violate);

<a id="p122001"></a>END_RULE; -- author_for_change_plan

<a id="p122002"></a>RULE author_for_change_realisation FOR (applied_person_and_organization_assignment,
executed_action);
<a id="p122003"></a>   LOCAL
<a id="p122004"></a>      violate : LOGICAL := FALSE;
<a id="p122005"></a>      t1_set : SET OF executed_action := [];
<a id="p122006"></a>      a_set : SET OF applied_person_and_organization_assignment := [];
<a id="p122007"></a>   END_LOCAL;
<a id="p122008"></a>   t1_set := QUERY ( a <* executed_action | VALUE_IN(which_class(a),
   'change realization') );
<a id="p122009"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122010"></a>      a_set := QUERY ( b <* applied_person_and_organization_assignment |  (
<a id="p122011"></a>      VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'author')));
<a id="p122012"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122013"></a>   END_REPEAT;

<a id="p122014"></a>   WHERE
<a id="p122015"></a>      wr1: (NOT violate);

<a id="p122016"></a>END_RULE; -- author_for_change_realisation

<a id="p122017"></a>RULE author_for_change_request FOR (applied_person_and_organization_assignment,
versioned_action_request);
<a id="p122018"></a>   LOCAL
<a id="p122019"></a>      violate : LOGICAL := FALSE;
<a id="p122020"></a>      t1_set : SET OF versioned_action_request := [];
<a id="p122021"></a>      a_set : SET OF applied_person_and_organization_assignment := [];
<a id="p122022"></a>   END_LOCAL;
<a id="p122023"></a>   t1_set := QUERY ( a <* versioned_action_request | VALUE_IN(which_class(a),'change request') );
<a id="p122024"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122025"></a>      a_set := QUERY ( b <*applied_person_and_organization_assignment | (
<a id="p122026"></a>      VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'author')));
<a id="p122027"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122028"></a>   END_REPEAT;

<a id="p122029"></a>   WHERE
<a id="p122030"></a>      wr1: (NOT violate);

<a id="p122031"></a>END_RULE; -- author_for_change_request

<a id="p122032"></a>RULE caused_by_for_check FOR (applied_person_and_organization_assignment, action);
<a id="p122033"></a>   LOCAL
<a id="p122034"></a>      violate : LOGICAL := FALSE;
<a id="p122035"></a>      t1_set : SET OF action := [];
<a id="p122036"></a>      a_set : SET OF applied_person_and_organization_assignment := [];
<a id="p122037"></a>   END_LOCAL;
<a id="p122038"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a),'check') );
<a id="p122039"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122040"></a>      a_set := QUERY ( b <*applied_person_and_organization_assignment | (
<a id="p122041"></a>      VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused by')));
<a id="p122042"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122043"></a>   END_REPEAT;

<a id="p122044"></a>   WHERE
<a id="p122045"></a>      wr1: (NOT violate);

<a id="p122046"></a>END_RULE; -- caused_by_for_check

<a id="p122047"></a>RULE caused_by_for_envisaged_version_creation FOR (
applied_person_and_organization_assignment, action);
<a id="p122048"></a>   LOCAL
<a id="p122049"></a>      violate : LOGICAL := FALSE;
<a id="p122050"></a>      t1_set : SET OF action := [];
<a id="p122051"></a>      a_set : SET OF applied_person_and_organization_assignment := [];
<a id="p122052"></a>   END_LOCAL;
<a id="p122053"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a),
   'envisaged version creation') );
<a id="p122054"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122055"></a>      a_set := QUERY ( b <*applied_person_and_organization_assignment | (
      VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused by')));
<a id="p122056"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122057"></a>   END_REPEAT;

<a id="p122058"></a>   WHERE
<a id="p122059"></a>      wr1: (NOT violate);

<a id="p122060"></a>END_RULE; -- caused_by_for_envisaged_version_creation

<a id="p122061"></a>RULE caused_by_for_version_creation FOR (applied_person_and_organization_assignment, action);
<a id="p122062"></a>   LOCAL
<a id="p122063"></a>      violate : LOGICAL := FALSE;
<a id="p122064"></a>      t1_set : SET OF action := [];
<a id="p122065"></a>      a_set : SET OF applied_person_and_organization_assignment := [];
<a id="p122066"></a>   END_LOCAL;
<a id="p122067"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'version creation') );
<a id="p122068"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122069"></a>      a_set := QUERY ( b <*applied_person_and_organization_assignment | (
      VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused by')));
<a id="p122070"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122071"></a>   END_REPEAT;
<a id="p122072"></a>   WHERE
<a id="p122073"></a>      wr1: (NOT violate);

<a id="p122074"></a>END_RULE; -- caused_by_for_version_creation

<a id="p122075"></a>RULE caused_by_for_version_deletion FOR (applied_person_and_organization_assignment,
action);
<a id="p122076"></a>   LOCAL
<a id="p122077"></a>      violate : LOGICAL := FALSE;
<a id="p122078"></a>      t1_set : SET OF action := [];
<a id="p122079"></a>      a_set : SET OF applied_person_and_organization_assignment := [];
<a id="p122080"></a>   END_LOCAL;
<a id="p122081"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'version deletion') );
<a id="p122082"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122083"></a>      a_set := QUERY ( b <*applied_person_and_organization_assignment | (
      VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused by')) );
<a id="p122084"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122085"></a>   END_REPEAT;

<a id="p122086"></a>   WHERE
<a id="p122087"></a>      wr1: (NOT violate);

<a id="p122088"></a>END_RULE; -- caused_by_for_version_deletion

<a id="p122089"></a>RULE caused_by_for_version_modification FOR (
applied_person_and_organization_assignment, action);
<a id="p122090"></a>   LOCAL
<a id="p122091"></a>      violate : LOGICAL := FALSE;
<a id="p122092"></a>      t1_set : SET OF action := [];
<a id="p122093"></a>      a_set : SET OF applied_person_and_organization_assignment := [];
<a id="p122094"></a>   END_LOCAL;
<a id="p122095"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'version modification') );
<a id="p122096"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122097"></a>      a_set := QUERY ( b <*applied_person_and_organization_assignment | (
      VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused by')));
<a id="p122098"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122099"></a>   END_REPEAT;

<a id="p122100"></a>   WHERE
<a id="p122101"></a>      wr1: (NOT violate);

<a id="p122102"></a>END_RULE; -- caused_by_for_version_modification

<a id="p122103"></a>RULE caused_when_for_check FOR (applied_date_and_time_assignment, action);
<a id="p122104"></a>   LOCAL
<a id="p122105"></a>      violate : LOGICAL := FALSE;
<a id="p122106"></a>      t1_set : SET OF action := [];
<a id="p122107"></a>      a_set : SET OF applied_date_and_time_assignment := [];
<a id="p122108"></a>   END_LOCAL;
<a id="p122109"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a),'check'));
<a id="p122110"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122111"></a>      a_set := QUERY ( b <* applied_date_and_time_assignment |
      (VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused when')) );
<a id="p122112"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122113"></a>   END_REPEAT;

<a id="p122114"></a>   WHERE
<a id="p122115"></a>      wr1: (NOT violate);

<a id="p122116"></a>END_RULE; -- caused_when_for_check

<a id="p122117"></a>RULE caused_when_for_envisaged_version_creation FOR (
applied_date_and_time_assignment, action);
<a id="p122118"></a>   LOCAL
<a id="p122119"></a>      violate : LOGICAL := FALSE;
<a id="p122120"></a>      t1_set : SET OF action := [];
<a id="p122121"></a>      a_set : SET OF applied_date_and_time_assignment := [];
<a id="p122122"></a>   END_LOCAL;
<a id="p122123"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a),
   'envisaged version creation') );
<a id="p122124"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122125"></a>      a_set := QUERY ( b <* applied_date_and_time_assignment |
      (VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused when')) );
<a id="p122126"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122127"></a>   END_REPEAT;

<a id="p122128"></a>   WHERE
<a id="p122129"></a>      wr1: (NOT violate);

<a id="p122130"></a>END_RULE; -- caused_when_for_envisaged_version_creation

<a id="p122131"></a>RULE caused_when_for_version_creation FOR (
applied_date_and_time_assignment, action);
<a id="p122132"></a>   LOCAL
<a id="p122133"></a>      violate : LOGICAL := FALSE;
<a id="p122134"></a>      t1_set : SET OF action := [];
<a id="p122135"></a>      a_set : SET OF applied_date_and_time_assignment := [];
<a id="p122136"></a>   END_LOCAL;
<a id="p122137"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a),
   'version creation') );
<a id="p122138"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122139"></a>      a_set := QUERY ( b <* applied_date_and_time_assignment |
      (VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused when')) );
<a id="p122140"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122141"></a>   END_REPEAT;

<a id="p122142"></a>   WHERE
<a id="p122143"></a>      wr1: (NOT violate);

<a id="p122144"></a>END_RULE; -- caused_when_for_version_creation

<a id="p122145"></a>RULE caused_when_for_version_deletion FOR (
applied_date_and_time_assignment, action);
<a id="p122146"></a>   LOCAL
<a id="p122147"></a>      violate : LOGICAL := FALSE;
<a id="p122148"></a>      t1_set : SET OF action := [];
<a id="p122149"></a>      a_set : SET OF applied_date_and_time_assignment := [];
<a id="p122150"></a>   END_LOCAL;
<a id="p122151"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a),
<a id="p122152"></a>   'version deletion') );
<a id="p122153"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122154"></a>      a_set := QUERY ( b <* applied_date_and_time_assignment |
      (VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused when')) );
<a id="p122155"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122156"></a>   END_REPEAT;

<a id="p122157"></a>   WHERE
<a id="p122158"></a>      wr1: (NOT violate);

<a id="p122159"></a>END_RULE; -- caused_when_for_version_deletion

<a id="p122160"></a>RULE caused_when_for_version_modification FOR (
applied_date_and_time_assignment, action);
<a id="p122161"></a>   LOCAL
<a id="p122162"></a>      violate : LOGICAL := FALSE;
<a id="p122163"></a>      t1_set : SET OF action := [];
<a id="p122164"></a>      a_set : SET OF applied_date_and_time_assignment := [];
<a id="p122165"></a>   END_LOCAL;
<a id="p122166"></a>   t1_set := QUERY ( a <* action | VALUE_IN(which_class(a),
   'version modification') );
<a id="p122167"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122168"></a>      a_set := QUERY ( b <* applied_date_and_time_assignment |
      (VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'caused when')) );
<a id="p122169"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122170"></a>   END_REPEAT;

<a id="p122171"></a>   WHERE
<a id="p122172"></a>      wr1: (NOT violate);

<a id="p122173"></a>END_RULE; -- caused_when_for_version_modification

<a id="p122174"></a>RULE centre_location_compound_representation_has_specified_name FOR (
applied_classification_assignment);
<a id="p122175"></a>   LOCAL
<a id="p122176"></a>      violation : LOGICAL := FALSE;
<a id="p122177"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p122178"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122179"></a>      arg_list : LIST OF STRING := ['longitudinal location',
      'transversal location','vertical location'];
<a id="p122180"></a>      t2_set : SET OF representation_item := [];
<a id="p122181"></a>   END_LOCAL;
<a id="p122182"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'centre location') );
<a id="p122183"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122184"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122185"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122186"></a>      END_REPEAT;
<a id="p122187"></a>   END_REPEAT;
<a id="p122188"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122189"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p122190"></a>         t2_set := t1_set[i].item_element;
<a id="p122191"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p122192"></a>      END_REPEAT;
<a id="p122193"></a>   END_REPEAT;

<a id="p122194"></a>   WHERE
<a id="p122195"></a>      wr1: (NOT violation);

<a id="p122196"></a>END_RULE; --centre_location_compound_representation_has_specified_name

<a id="p122197"></a>RULE change_impact_with_versionable_object_change_event FOR (
applied_action_request_assignment);
<a id="p122198"></a>   LOCAL
<a id="p122199"></a>      violate : LOGICAL := FALSE;
<a id="p122200"></a>      t1_set : SET OF applied_action_request_assignment := [];
<a id="p122201"></a>      a_set : SET OF action := [];
<a id="p122202"></a>   END_LOCAL;
<a id="p122203"></a>   t1_set := QUERY ( b <* applied_action_request_assignment |
   (b.role.name = 'change impact') );
<a id="p122204"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122205"></a>      a_set := QUERY ( b <* t1_set[i].items | ((
      'SHIP_MOULDED_FORM_SCHEMA.ACTION' IN TYPEOF(b)) AND
      VALUE_IN(which_class(b),'versionable object change event')) );
<a id="p122206"></a>      violate := SIZEOF(a_set) = 0;
<a id="p122207"></a>   END_REPEAT;

<a id="p122208"></a>   WHERE
<a id="p122209"></a>      wr1: (NOT violate);

<a id="p122210"></a>END_RULE; -- change_impact_with_versionable_object_change_event

<a id="p122211"></a>RULE change_plan_has_mandatory_attribute_description FOR (action_request_solution);
<a id="p122212"></a>   LOCAL
<a id="p122213"></a>      violate : LOGICAL := FALSE;
<a id="p122214"></a>      t1_set : SET OF action_request_solution := [];
<a id="p122215"></a>   END_LOCAL;
<a id="p122216"></a>   t1_set := QUERY ( i <* action_request_solution | VALUE_IN(which_class(i),'change plan') );
<a id="p122217"></a>   violate := SIZEOF(QUERY ( k <* t1_set | (NOT EXISTS(k.description)) )) > 0;

<a id="p122218"></a>   WHERE
<a id="p122219"></a>      wr1: (NOT violate);

<a id="p122220"></a>END_RULE; -- change_plan_has_mandatory_attribute_description

<a id="p122221"></a>RULE class_and_statutory_designation_has_properties FOR (
property_definition_representation, applied_classification_assignment);
<a id="p122222"></a>   LOCAL
<a id="p122223"></a>      violation : LOGICAL := FALSE;
<a id="p122224"></a>      t4_list : LIST OF product_definition := [];
<a id="p122225"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122226"></a>      t3_list : LIST OF property_definition := [];
<a id="p122227"></a>      t1_list : LIST OF product_definition := [];
<a id="p122228"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p122229"></a>   END_LOCAL;
<a id="p122230"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'class and statutory designation') );
<a id="p122231"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122232"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122233"></a>         t1_list := t1_list + c_a_set[i].items[j];
<a id="p122234"></a>      END_REPEAT;
<a id="p122235"></a>   END_REPEAT;
<a id="p122236"></a>   t2_set := QUERY ( i <* property_definition_representation |
   (i.name = 'class and statutory designation') );
<a id="p122237"></a>   REPEAT i := 1 TO HIINDEX(t2_set) BY 1;
<a id="p122238"></a>      t3_list := t3_list + t2_set[i].definition;
<a id="p122239"></a>   END_REPEAT;
<a id="p122240"></a>   REPEAT i := 1 TO HIINDEX(t3_list) BY 1;
<a id="p122241"></a>      t4_list := t4_list + t3_list[i].definition;
<a id="p122242"></a>   END_REPEAT;
<a id="p122243"></a>   violation := t1_list <> t4_list;

<a id="p122244"></a>   WHERE
<a id="p122245"></a>      wr1: (NOT violation);

<a id="p122246"></a>END_RULE; -- class_and_statutory_designation_has_properties

<a id="p122247"></a>RULE class_notation_with_named_representation_items FOR (representation);
<a id="p122248"></a>   LOCAL
<a id="p122249"></a>      violation : LOGICAL := FALSE;
<a id="p122250"></a>      arg_list : LIST OF STRING := ['class notations hull', 'class notations machinery'];
<a id="p122251"></a>      reps : BAG OF representation := [];
<a id="p122252"></a>   END_LOCAL;
<a id="p122253"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'class notation') )) > 0) );
<a id="p122254"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p122255"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p122256"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) < 1;
<a id="p122257"></a>      END_REPEAT;
<a id="p122258"></a>   END_REPEAT;

<a id="p122259"></a>   WHERE
<a id="p122260"></a>      wr1: (NOT violation);

<a id="p122261"></a>END_RULE; -- class_notation_with_named_representation_items

<a id="p122262"></a>RULE class_parameters_has_properties FOR (property_definition_representation,
applied_classification_assignment);
<a id="p122263"></a>   LOCAL
<a id="p122264"></a>      t3_set : LIST OF property_definition := [];
<a id="p122265"></a>      violation : LOGICAL := FALSE;
<a id="p122266"></a>      t4_set : LIST OF product_definition := [];
<a id="p122267"></a>      t1_set : LIST OF product_definition := [];
<a id="p122268"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122269"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p122270"></a>   END_LOCAL;
<a id="p122271"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'class parameters') );
<a id="p122272"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122273"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122274"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122275"></a>      END_REPEAT;
<a id="p122276"></a>   END_REPEAT;
<a id="p122277"></a>   t2_set := QUERY ( i <* property_definition_representation |
                   (i.name = 'class parameters') );
<a id="p122278"></a>   REPEAT i := 1 TO HIINDEX(t2_set) BY 1;
<a id="p122279"></a>      t3_set := t3_set + t2_set[i].definition;
<a id="p122280"></a>   END_REPEAT;
<a id="p122281"></a>   REPEAT i := 1 TO HIINDEX(t3_set) BY 1;
<a id="p122282"></a>      t4_set := t4_set + t3_set[i].definition;
<a id="p122283"></a>   END_REPEAT;
<a id="p122284"></a>   violation := t1_set <> t4_set;

<a id="p122285"></a>   WHERE
<a id="p122286"></a>      wr1: (NOT violation);

<a id="p122287"></a>END_RULE; -- class_parameters_has_properties

<a id="p122288"></a>RULE compatible_dimension FOR (cartesian_point, direction, representation_context,
geometric_representation_context);
<a id="p122289"></a>   WHERE
<a id="p122290"></a>      wr1: (SIZEOF(QUERY ( x <* cartesian_point | (SIZEOF(QUERY ( y <*
           geometric_representation_context | (item_in_context(x,y) AND (
           HIINDEX(x.coordinates) <> y.coordinate_space_dimension)) )) > 0) )) = 0);
<a id="p122291"></a>      wr2: (SIZEOF(QUERY ( x <* direction | (SIZEOF(QUERY ( y <*
           geometric_representation_context | (item_in_context(x,y) AND (
           HIINDEX(x.direction_ratios) <> y.coordinate_space_dimension)) )) > 0) )) = 0);

<a id="p122292"></a>END_RULE; -- compatible_dimension

<a id="p122293"></a>RULE compound_representation_item_with_class_id_knot FOR (applied_classification_assignment);
<a id="p122294"></a>   LOCAL
<a id="p122295"></a>      t3_set : SET OF representation_item := [];
<a id="p122296"></a>      violation : LOGICAL := FALSE;
<a id="p122297"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p122298"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122299"></a>      c_a_set2 : SET OF applied_classification_assignment := [];
<a id="p122300"></a>      l_rep_item : list_representation_item;
<a id="p122301"></a>      t2_set : SET OF compound_representation_item := [];
<a id="p122302"></a>   END_LOCAL;
<a id="p122303"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'knot') );
<a id="p122304"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122305"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122306"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122307"></a>      END_REPEAT;
<a id="p122308"></a>   END_REPEAT;
<a id="p122309"></a>   c_a_set2 := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship curve') );
<a id="p122310"></a>   REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;
<a id="p122311"></a>      REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;
<a id="p122312"></a>         t2_set := t2_set + c_a_set2[i].items[j];
<a id="p122313"></a>      END_REPEAT;
<a id="p122314"></a>   END_REPEAT;
<a id="p122315"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122316"></a>      l_rep_item := t1_set[i].item_element;
<a id="p122317"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].item_element) BY 1;
<a id="p122318"></a>         t3_set := t3_set + l_rep_item[j];
<a id="p122319"></a>      END_REPEAT;
<a id="p122320"></a>      violation := SIZEOF(t3_set * t2_set) < 2;
<a id="p122321"></a>      t3_set := [];
<a id="p122322"></a>   END_REPEAT;

<a id="p122323"></a>   WHERE
<a id="p122324"></a>      wr1: (NOT violation);

<a id="p122325"></a>END_RULE; -- compound_representation_item_with_class_id_knot

<a id="p122326"></a>RULE compound_representation_item_with_hydrostatic_properties FOR (
applied_classification_assignment);
<a id="p122327"></a>   LOCAL
<a id="p122328"></a>      violation : LOGICAL := FALSE;
<a id="p122329"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p122330"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122331"></a>      arg_list : LIST OF STRING := ['hydrostatic property value'];
<a id="p122332"></a>      t2_set : LIST OF representation_item := [];
<a id="p122333"></a>   END_LOCAL;
<a id="p122334"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
<a id="p122335"></a>   (i.assigned_class.name = 'hydrostatic properties for constant floating position') );
<a id="p122336"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122337"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122338"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122339"></a>      END_REPEAT;
<a id="p122340"></a>   END_REPEAT;
<a id="p122341"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122342"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p122343"></a>         t2_set := t1_set[i].item_element;
<a id="p122344"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) < 1;
<a id="p122345"></a>      END_REPEAT;;
<a id="p122346"></a>   END_REPEAT;

<a id="p122347"></a>   WHERE
<a id="p122348"></a>      wr1: (NOT violation);

<a id="p122349"></a>END_RULE; --compound_representation_item_with_hydrostatic_properties

<a id="p122350"></a>RULE compound_representation_item_with_section_identifier FOR (
applied_classification_assignment);
<a id="p122351"></a>   LOCAL
<a id="p122352"></a>      violation : LOGICAL := FALSE;
<a id="p122353"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p122354"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122355"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p122356"></a>   END_LOCAL;
<a id="p122357"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'section of offset point table') );
<a id="p122358"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122359"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122360"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122361"></a>      END_REPEAT;
<a id="p122362"></a>   END_REPEAT;
<a id="p122363"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122364"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'APPLIED_IDENTIFICATION_ASSIGNMENT' + '.ITEMS'));
<a id="p122365"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.role.name = 'section identifier') )) = 1);
<a id="p122366"></a>   END_REPEAT;

<a id="p122367"></a>   WHERE
<a id="p122368"></a>   wr1: (NOT violation);

<a id="p122369"></a>END_RULE; -- compound_representation_item_with_section_identifier

<a id="p122370"></a>RULE date_time_for_change_plan FOR (applied_date_and_time_assignment,
action_request_solution);
<a id="p122371"></a>   LOCAL
<a id="p122372"></a>      violate : LOGICAL := FALSE;
<a id="p122373"></a>      t1_set : SET OF action_request_solution := [];
<a id="p122374"></a>      a_set : SET OF applied_date_and_time_assignment := [];
<a id="p122375"></a>   END_LOCAL;
<a id="p122376"></a>   t1_set := QUERY ( a <* action_request_solution |
   VALUE_IN(which_class(a),'change plan') );
<a id="p122377"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
      a_set := QUERY ( b <* applied_date_and_time_assignment |
<a id="p122378"></a>      (VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'date time')) );
<a id="p122379"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122380"></a>   END_REPEAT;

<a id="p122381"></a>   WHERE
<a id="p122382"></a>      wr1: (NOT violate);

<a id="p122383"></a>END_RULE; -- date_time_for_change_plan

<a id="p122384"></a>RULE date_time_for_change_realisation FOR (
applied_date_and_time_assignment, executed_action);
<a id="p122385"></a>   LOCAL
<a id="p122386"></a>      violate : LOGICAL := FALSE;
<a id="p122387"></a>      t1_set : SET OF executed_action := [];
<a id="p122388"></a>      a_set : SET OF applied_date_and_time_assignment := [];
<a id="p122389"></a>   END_LOCAL;
<a id="p122390"></a>   t1_set := QUERY ( a <* executed_action |
   VALUE_IN(which_class(a), 'change realisation') );
<a id="p122391"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122392"></a>      a_set := QUERY ( b <* applied_date_and_time_assignment |
      (VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'date time')) );
<a id="p122393"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122394"></a>   END_REPEAT;

<a id="p122395"></a>   WHERE
<a id="p122396"></a>      wr1: (NOT violate);

<a id="p122397"></a>END_RULE; -- date_time_for_change_realisation

<a id="p122398"></a>RULE date_time_for_change_request FOR (applied_date_and_time_assignment,
versioned_action_request);
<a id="p122399"></a>   LOCAL
<a id="p122400"></a>      violate : LOGICAL := FALSE;
<a id="p122401"></a>      t1_set : SET OF versioned_action_request := [];
<a id="p122402"></a>      a_set : SET OF applied_date_and_time_assignment := [];
<a id="p122403"></a>   END_LOCAL;
<a id="p122404"></a>   t1_set := QUERY ( a <* versioned_action_request | VALUE_IN(
   which_class(a),'change request') );
<a id="p122405"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122406"></a>      a_set := QUERY ( b <* applied_date_and_time_assignment |
      (VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'date time')) );
<a id="p122407"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122408"></a>   END_REPEAT;

<a id="p122409"></a>      WHERE
<a id="p122410"></a>      wr1: (NOT violate);

<a id="p122411"></a>END_RULE; -- date_time_for_change_request

<a id="p122412"></a>RULE document_has_at_least_one_references FOR (document);
<a id="p122413"></a>   LOCAL
<a id="p122414"></a>      violate : LOGICAL := FALSE;
<a id="p122415"></a>      t1_set : SET OF document := [];
<a id="p122416"></a>      t2_set : SET OF document_representation_type := [];
<a id="p122417"></a>   END_LOCAL;
<a id="p122418"></a>   t1_set := QUERY ( i <* document |
   VALUE_IN(which_class(i),'document') );
<a id="p122419"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122420"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
<a id="p122421"></a>      'SHIP_MOULDED_FORM_SCHEMA.DOCUMENT_REPRESENTATION_TYPE.' +
      'REPRESENTED_DOCUMENT'));
<a id="p122422"></a>      violate := SIZEOF(t2_set) < 1;
<a id="p122423"></a>   END_REPEAT;

<a id="p122424"></a>   WHERE
<a id="p122425"></a>   wr1: (NOT violate);

<a id="p122426"></a>END_RULE; -- document_has_at_least_one_references

<a id="p122427"></a>RULE document_has_exactly_one_author FOR (document);
<a id="p122428"></a>   LOCAL
<a id="p122429"></a>      violate : LOGICAL := FALSE;
<a id="p122430"></a>      bag_3 : BAG OF applied_organization_assignment := [];
<a id="p122431"></a>      bag_2 : BAG OF applied_person_and_organization_assignment := [];
<a id="p122432"></a>      bag_1 : BAG OF applied_person_assignment := [];
<a id="p122433"></a>   END_LOCAL;
<a id="p122434"></a>   REPEAT i := 1 TO SIZEOF(document) BY 1 WHILE NOT violate;
<a id="p122435"></a>      bag_1 := USEDIN(document[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'APPLIED_PERSON_ASSIGNMENT.ITEMS');
<a id="p122436"></a>      bag_1 := QUERY ( assign <* bag_1 | (assign.role.name = 'author') );
<a id="p122437"></a>      bag_2 := USEDIN(document[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT.ITEMS');
<a id="p122438"></a>      bag_2 := QUERY ( assign <* bag_2 | (assign.role.name = 'author') );
<a id="p122439"></a>      bag_3 := USEDIN(document[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS');
<a id="p122440"></a>      bag_3 := QUERY ( assign <* bag_3 | (assign.role.name = 'author') );
<a id="p122441"></a>      violate := NOT ((SIZEOF(bag_1) + SIZEOF(bag_2) +
      SIZEOF(bag_3)) = 1);
<a id="p122442"></a>   END_REPEAT;

<a id="p122443"></a>   WHERE
<a id="p122444"></a>      wr1: (NOT violate);

<a id="p122445"></a>END_RULE; -- document_has_exactly_one_author

<a id="p122446"></a>RULE document_reference_with_address_has_at_least_one_references FOR (document);
<a id="p122447"></a>   LOCAL
<a id="p122448"></a>      violate : LOGICAL := FALSE;
<a id="p122449"></a>      t1_set : SET OF document := [];
<a id="p122450"></a>      t2_set : SET OF applied_external_identification_assignment := [];
<a id="p122451"></a>   END_LOCAL;
<a id="p122452"></a>   t1_set := QUERY ( i <* document | VALUE_IN(which_class(i),
   'document reference with address') );
<a id="p122453"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122454"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.APPLIED_EXTERN
      AL_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p122455"></a>      violate := SIZEOF(t2_set) < 1;
<a id="p122456"></a>   END_REPEAT;

<a id="p122457"></a>   WHERE
<a id="p122458"></a>      wr1: (NOT violate);

<a id="p122459"></a>END_RULE; --document_reference_with_address_has_at_least_one_references

<a id="p122460"></a>RULE envisaged_version_creation_has_mandatory_attribute_description FOR (action);
<a id="p122461"></a>   LOCAL
<a id="p122462"></a>      violate : LOGICAL := FALSE;
<a id="p122463"></a>      t1_set : SET OF action := [];
<a id="p122464"></a>   END_LOCAL;
<a id="p122465"></a>   t1_set := QUERY ( i <* action | VALUE_IN(which_class(i),
   'envisaged version creation') );
<a id="p122466"></a>   violate := SIZEOF(QUERY ( k <* t1_set | (NOT EXISTS(k.description)) )) > 0;

<a id="p122467"></a>   WHERE
<a id="p122468"></a>      wr1: (NOT violate);

<a id="p122469"></a>END_RULE; --envisaged_version_creation_has_mandatory_attribute_description

<a id="p122470"></a>RULE executed_action_with_identification_assignment FOR (
applied_classification_assignment);
<a id="p122471"></a>   LOCAL
<a id="p122472"></a>      violation : LOGICAL := FALSE;
<a id="p122473"></a>      t1_set : SET OF executed_action := [];
<a id="p122474"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122475"></a>      arg_list : LIST OF STRING := ['change realization'];
<a id="p122476"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p122477"></a>   END_LOCAL;
<a id="p122478"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p122479"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
      (i.assigned_class.name = arg_list[j]) );
<a id="p122480"></a>   END_REPEAT;
<a id="p122481"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122482"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122483"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122484"></a>      END_REPEAT;
<a id="p122485"></a>   END_REPEAT;
<a id="p122486"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122487"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTI
      FICATION_ASSIGNMENT.ITEMS'));
<a id="p122488"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
<a id="p122489"></a>      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p122490"></a>   END_REPEAT;

<a id="p122491"></a>   WHERE
<a id="p122492"></a>      wr1: (NOT violation);

<a id="p122493"></a>END_RULE; -- executed_action_with_identification_assignment

<a id="p122494"></a>RULE external_instance_reference_has_same_identifier FOR (
applied_external_identification_assignment);
<a id="p122495"></a>   LOCAL
<a id="p122496"></a>      violation : LOGICAL := FALSE;
<a id="p122497"></a>      extref_set : SET OF applied_external_identification_assignment := [];
<a id="p122498"></a>      aia_set : SET OF applied_identification_assignment := [];
<a id="p122499"></a>   END_LOCAL;
<a id="p122500"></a>   extref_set := QUERY ( i <* applied_external_identification_assignment |
   (i.role.name = 'external instance reference') );

<a id="p122501"></a>   REPEAT i := 1 TO HIINDEX(extref_set) BY 1 WHILE NOT violation;
<a id="p122502"></a>      aia_set := bag_to_set(USEDIN(extref_set[i].items[1],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p122503"></a>      violation := NOT (aia_set[1].assigned_id = extref_set[i].assigned_id);
<a id="p122504"></a>   END_REPEAT;

<a id="p122505"></a>   WHERE
<a id="p122506"></a>      wr1: NOT violation;

<a id="p122507"></a>END_RULE; -- external_instance_reference_has_same_identifier

<a id="p122508"></a>RULE floating_position_compound_representation_with_name FOR (
applied_classification_assignment);
<a id="p122509"></a>   LOCAL
<a id="p122510"></a>      violation : LOGICAL := FALSE;
<a id="p122511"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p122512"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122513"></a>      arg_list : LIST OF STRING := ['moulded form displacement',
      'draught at amidships','length of waterline',
      'breadth of waterline','angle of trim','angle of heel'];
<a id="p122514"></a>      t2_set : SET OF representation_item := [];
<a id="p122515"></a>   END_LOCAL;
<a id="p122516"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'floating position') );
<a id="p122517"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122518"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122519"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122520"></a>      END_REPEAT;
<a id="p122521"></a>   END_REPEAT;
<a id="p122522"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122523"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p122524"></a>         t2_set := t1_set[i].item_element;
<a id="p122525"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p122526"></a>      END_REPEAT;
<a id="p122527"></a>   END_REPEAT;

<a id="p122528"></a>   WHERE
<a id="p122529"></a>      wr1: (NOT violation);

<a id="p122530"></a>END_RULE; -- floating_position_compound_representation_with_name

<a id="p122531"></a>RULE global_axis_placement_has_properties FOR (
property_definition_representation, group, applied_classification_assignment);
<a id="p122532"></a>   LOCAL
<a id="p122533"></a>      t3_set : LIST OF property_definition := [];
<a id="p122534"></a>      violation : LOGICAL := FALSE;
<a id="p122535"></a>      t4_set : LIST OF product_definition := [];
<a id="p122536"></a>      t1_set : LIST OF product_definition := [];
<a id="p122537"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122538"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p122539"></a>   END_LOCAL;
<a id="p122540"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |(i.
   assigned_class.name = 'global axis placement') );
<a id="p122541"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122542"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122543"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122544"></a>      END_REPEAT;
<a id="p122545"></a>   END_REPEAT;
<a id="p122546"></a>   t2_set := QUERY ( i <* property_definition_representation |
   (i.name = 'global axis placement') );
<a id="p122547"></a>   REPEAT i := 1 TO HIINDEX(t2_set) BY 1;
<a id="p122548"></a>      t3_set := t3_set + t2_set[i].definition;
<a id="p122549"></a>   END_REPEAT;
<a id="p122550"></a>   REPEAT i := 1 TO HIINDEX(t3_set) BY 1;
<a id="p122551"></a>      t4_set := t4_set + t3_set[i].definition;
<a id="p122552"></a>   END_REPEAT;
<a id="p122553"></a>   violation := t1_set <> t4_set;

<a id="p122554"></a>   WHERE
<a id="p122555"></a>      wr1: (NOT violation);

<a id="p122556"></a>END_RULE; -- global_axis_placement_has_properties

<a id="p122557"></a>RULE global_id_is_unique FOR (applied_identification_assignment);
<a id="p122558"></a>   LOCAL
<a id="p122559"></a>      violation : LOGICAL := FALSE;
<a id="p122560"></a>      set_1 : SET OF applied_identification_assignment := [];
<a id="p122561"></a>      bag_2 : BAG OF STRING := [];
<a id="p122562"></a>   END_LOCAL;
<a id="p122563"></a>   set_1 := QUERY ( i <* applied_identification_assignment |
   (i.role.name = 'globally unambiguous identifier') );
<a id="p122564"></a>   REPEAT i := 1 TO HIINDEX(set_1) BY 1;
<a id="p122565"></a>      bag_2 := bag_2 + [set_1[i].assigned_id];
<a id="p122566"></a>   END_REPEAT;
<a id="p122567"></a>   violation := SIZEOF(QUERY ( i <* set_1 | (SIZEOF(i.items) = 1))) <> SIZEOF(set_1);
<a id="p122568"></a>   WHERE
<a id="p122569"></a>      wr1: VALUE_UNIQUE(bag_2);
<a id="p122570"></a>      wr2: (NOT violation);

<a id="p122571"></a>END_RULE; -- global_id_is_unique

<a id="p122572"></a>RULE hull_moulded_form_design_parameter_with_class_references FOR (
applied_classification_assignment);
<a id="p122573"></a>   LOCAL
<a id="p122574"></a>      t3_set : SET OF representation := [];
<a id="p122575"></a>      violation : LOGICAL := FALSE;
<a id="p122576"></a>      t1_set : SET OF property_definition := [];
<a id="p122577"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122578"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p122579"></a>   END_LOCAL;
<a id="p122580"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'hull moulded form design parameter'));
<a id="p122581"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122582"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122583"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122584"></a>      END_REPEAT;
<a id="p122585"></a>   END_REPEAT;
<a id="p122586"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122587"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA. PROPERTY_DEFINITION_REPRESENTATION.' +
      'DEFINITION'));
<a id="p122588"></a>      REPEAT j := 1 TO HIINDEX(t2_set) BY 1;
<a id="p122589"></a>         t3_set := t3_set + t2_set[j].used_representation;
<a id="p122590"></a>      END_REPEAT;
<a id="p122591"></a>      violation := SIZEOF(QUERY ( t2_inst <* t3_set | ('midship tumble' IN
      which_class(t2_inst)) )) > 1;
<a id="p122592"></a>   END_REPEAT;

<a id="p122593"></a>   WHERE
<a id="p122594"></a>      wr1: (NOT violation);

<a id="p122595"></a>END_RULE; -- hull_moulded_form_design_parameter_with_class_references

<a id="p122596"></a>RULE hydrostatic_properties_with_specified_class FOR (
applied_classification_assignment);
<a id="p122597"></a>   LOCAL
<a id="p122598"></a>      t3_set : SET OF representation_item := [];
<a id="p122599"></a>      violation : LOGICAL := FALSE;
<a id="p122600"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p122601"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122602"></a>      c_a_set2 : SET OF applied_classification_assignment := [];
<a id="p122603"></a>      l_rep_item : list_representation_item;
<a id="p122604"></a>      t2_set : SET OF compound_representation_item := [];
<a id="p122605"></a>   END_LOCAL;
<a id="p122606"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'hydrostatic properties for constant floating position') );
<a id="p122607"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122608"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122609"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122610"></a>      END_REPEAT;
<a id="p122611"></a>   END_REPEAT;
<a id="p122612"></a>   c_a_set2 := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'floating position') );
<a id="p122613"></a>   REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;
<a id="p122614"></a>      REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;
<a id="p122615"></a>         t2_set := t2_set + c_a_set2[i].items[j];
<a id="p122616"></a>      END_REPEAT;
<a id="p122617"></a>   END_REPEAT;
<a id="p122618"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122619"></a>      l_rep_item := t1_set[i].item_element;
<a id="p122620"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].item_element) BY 1;
<a id="p122621"></a>         t3_set := t3_set + l_rep_item[j];
<a id="p122622"></a>      END_REPEAT;
<a id="p122623"></a>      violation := SIZEOF(t3_set * t2_set) <> 1;
<a id="p122624"></a>      t3_set := [];
<a id="p122625"></a>   END_REPEAT;

<a id="p122626"></a>   WHERE
<a id="p122627"></a>      wr1: (NOT violation);

<a id="p122628"></a>END_RULE; -- hydrostatic_properties_with_specified_class

<a id="p122629"></a>RULE hydrostatic_property_with_specified_name FOR (
applied_classification_assignment);
<a id="p122630"></a>   LOCAL
<a id="p122631"></a>      violation : LOGICAL := FALSE;
<a id="p122632"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p122633"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122634"></a>      arg_list : LIST OF STRING := ['property type'];
<a id="p122635"></a>      t2_set : SET OF representation_item := [];
<a id="p122636"></a>   END_LOCAL;
<a id="p122637"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'hydrostatic property') );
<a id="p122638"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122639"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122640"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122641"></a>      END_REPEAT;
<a id="p122642"></a>   END_REPEAT;
<a id="p122643"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122644"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p122645"></a>         t2_set := t1_set[i].item_element;
<a id="p122646"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p122647"></a>      END_REPEAT;
<a id="p122648"></a>   END_REPEAT;

<a id="p122649"></a>   WHERE
<a id="p122650"></a>      wr1: (NOT violation);

<a id="p122651"></a>END_RULE; -- hydrostatic_property_with_specified_name

<a id="p122652"></a>RULE identification_role_optional_attribute_description_required FOR (
identification_role);
<a id="p122653"></a>   WHERE
<a id="p122654"></a>      wr1: (SIZEOF (QUERY ( i <* identification_role |
      ((i.name = 'external reference') AND (NOT EXISTS(i.description))))) = 0);

<a id="p122655"></a>END_RULE; --identification_role_optional_attribute_description_required

<a id="p122656"></a>RULE initiator_for_change_request FOR (
applied_person_and_organization_assignment, versioned_action_request);
<a id="p122657"></a>   LOCAL
<a id="p122658"></a>      violate : LOGICAL := FALSE;
<a id="p122659"></a>      t1_set : SET OF versioned_action_request := [];
<a id="p122660"></a>      a_set : SET OF applied_person_and_organization_assignment := [];
<a id="p122661"></a>   END_LOCAL;
<a id="p122662"></a>   t1_set := QUERY ( a <* versioned_action_request | VALUE_IN(
   which_class(a),'change request') );
<a id="p122663"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122664"></a>      a_set := QUERY ( b <*applied_person_and_organization_assignment | (
      VALUE_IN(b.items,t1_set[i]) AND (b.role.name = 'initiator')) );
<a id="p122665"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p122666"></a>   END_REPEAT;

<a id="p122667"></a>   WHERE
<a id="p122668"></a>      wr1: (NOT violate);

<a id="p122669"></a>END_RULE; -- initiator_for_change_request

<a id="p122670"></a>RULE mandatory_entity_type_for_external_instance_reference FOR (
external_source, external_source_relationship);
<a id="p122671"></a>   LOCAL
<a id="p122672"></a>      violate : LOGICAL := FALSE;
<a id="p122673"></a>      bag_1: BAG OF external_source:= [];
<a id="p122674"></a>   END_LOCAL;
<a id="p122675"></a>   bag_1 := QUERY ( a <* external_source | (a.description = 'schema name') );
<a id="p122676"></a>   REPEAT i := 1 TO SIZEOF(bag_1) BY 1 WHILE NOT violate;
<a id="p122677"></a>      violate := SIZEOF(QUERY ( a <* external_source_relationship |
      ((a.relating_source :=: bag_1[i]) AND
      (a.related_source.description = 'entity type')) )) = 0;
<a id="p122678"></a>   END_REPEAT;

<a id="p122679"></a>   WHERE
<a id="p122680"></a>      wr1: (NOT violate);

<a id="p122681"></a>END_RULE; -- mandatory_entity_type_for_external_instance_reference

<a id="p122682"></a>RULE members_is_referenced_by_at_least_one_revision FOR (
applied_group_assignment, group);
<a id="p122683"></a>   LOCAL
<a id="p122684"></a>      violate : LOGICAL := FALSE;
<a id="p122685"></a>      t1_set : SET OF group := [];
<a id="p122686"></a>      a_set : SET OF applied_group_assignment := [];
<a id="p122687"></a>   END_LOCAL;
<a id="p122688"></a>   t1_set := QUERY ( a <* group |
   VALUE_IN(which_class(a),'revision') );
<a id="p122689"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122690"></a>      a_set := QUERY ( b <* applied_group_assignment |
      ((b.assigned_group :=: t1_set[i]) AND (b.role.name = 'members')) );
<a id="p122691"></a>      violate := SIZEOF(a_set) < 1;
<a id="p122692"></a>   END_REPEAT;

<a id="p122693"></a>   WHERE
<a id="p122694"></a>      wr1: (NOT violate);

<a id="p122695"></a>END_RULE; -- members_is_referenced_by_at_least_one_revision

<a id="p122696"></a>RULE no_approvals_except_in_approval_history FOR (approval);
<a id="p122697"></a>   LOCAL
<a id="p122698"></a>      violate : LOGICAL := FALSE;
<a id="p122699"></a>      t1_set : SET OF approval := [];
<a id="p122700"></a>      t2_set : SET OF applied_group_assignment := [];
<a id="p122701"></a>   END_LOCAL;
<a id="p122702"></a>   t1_set := QUERY ( a <* approval | VALUE_IN(which_class(a), 'approval event') );
<a id="p122703"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p122704"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_GROUP_ASSIGNMENT.ITEMS'));
<a id="p122705"></a>      violate := SIZEOF(t2_set) = 0;
<a id="p122706"></a>      REPEAT k := 1 TO HIINDEX(t2_set) BY 1 WHILE NOT violate;
<a id="p122707"></a>         violate := NOT
         VALUE_IN(which_class(t2_set[k].assigned_group), 'approval history');
<a id="p122708"></a>      END_REPEAT;
<a id="p122709"></a>   END_REPEAT;

<a id="p122710"></a>   WHERE
<a id="p122711"></a>      wr1: (NOT violate);

<a id="p122712"></a>END_RULE; -- no_approvals_except_in_approval_history

<a id="p122713"></a>RULE offset_point_table_model_compound_representation_has_name FOR (
applied_classification_assignment);
<a id="p122714"></a>   LOCAL
<a id="p122715"></a>      violation : LOGICAL := FALSE;
<a id="p122716"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p122717"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122718"></a>      arg_list : LIST OF STRING := ['offset point table type'];
<a id="p122719"></a>      t2_set : SET OF representation_item := [];
<a id="p122720"></a>   END_LOCAL;
<a id="p122721"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'offset point table model') );
<a id="p122722"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122723"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122724"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122725"></a>      END_REPEAT;
<a id="p122726"></a>   END_REPEAT;
<a id="p122727"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122728"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p122729"></a>         t2_set := t1_set[i].item_element;
<a id="p122730"></a>         violation := SIZEOF(QUERY ( items <* t2_set |
         (items.name = arg_list[j]) )) <> 1;
<a id="p122731"></a>      END_REPEAT;
<a id="p122732"></a>   END_REPEAT;

<a id="p122733"></a>   WHERE
<a id="p122734"></a>      wr1: (NOT violation);

<a id="p122735"></a>END_RULE; --offset_point_table_model_compound_representation_has_name

<a id="p122736"></a>RULE principal_characteristics_has_properties FOR (
property_definition_representation, applied_classification_assignment);
<a id="p122737"></a>   LOCAL
<a id="p122738"></a>      t3_set : LIST OF property_definition := [];
<a id="p122739"></a>      violation : LOGICAL := FALSE;
<a id="p122740"></a>      t4_set : LIST OF product_definition := [];
<a id="p122741"></a>      t1_set : LIST OF product_definition := [];
<a id="p122742"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122743"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p122744"></a>   END_LOCAL;
<a id="p122745"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'principal characteristics') );
<a id="p122746"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122747"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122748"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122749"></a>      END_REPEAT;
<a id="p122750"></a>   END_REPEAT;
<a id="p122751"></a>   t2_set := QUERY ( i <* property_definition_representation |
   (i.name = 'principal characteristics') );
<a id="p122752"></a>   REPEAT i := 1 TO HIINDEX(t2_set) BY 1;
<a id="p122753"></a>      t3_set := t3_set + t2_set[i].definition;
<a id="p122754"></a>   END_REPEAT;
<a id="p122755"></a>   REPEAT i := 1 TO HIINDEX(t3_set) BY 1;
<a id="p122756"></a>      t4_set := t4_set + t3_set[i].definition;
<a id="p122757"></a>   END_REPEAT;
<a id="p122758"></a>   violation := t1_set <> t4_set;

<a id="p122759"></a>   WHERE
<a id="p122760"></a>      wr1: (NOT violation);

<a id="p122761"></a>END_RULE; -- principal_characteristics_has_properties

<a id="p122762"></a>RULE product_definition_for_call_sign FOR (
applied_classification_assignment);
<a id="p122763"></a>   LOCAL
<a id="p122764"></a>      violation : LOGICAL := FALSE;
<a id="p122765"></a>      t1_set : SET OF product_definition := [];
<a id="p122766"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122767"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p122768"></a>   END_LOCAL;
<a id="p122769"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship designation') );
<a id="p122770"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122771"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122772"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122773"></a>      END_REPEAT;
<a id="p122774"></a>   END_REPEAT;
<a id="p122775"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122776"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p122777"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.role.name = 'call sign') )) = 1);
<a id="p122778"></a>   END_REPEAT;

<a id="p122779"></a>   WHERE
<a id="p122780"></a>      wr1: (NOT violation);

<a id="p122781"></a>      END_RULE; -- product_definition_for_call_sign

<a id="p122782"></a>RULE product_definition_for_class_notation FOR (
applied_classification_assignment);
<a id="p122783"></a>   LOCAL
<a id="p122784"></a>      violation : LOGICAL := FALSE;
<a id="p122785"></a>      t1_set : SET OF product_definition := [];
<a id="p122786"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122787"></a>      t2_set : SET OF property_definition := [];
<a id="p122788"></a>   END_LOCAL;
<a id="p122789"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'class and statutory designation') );
<a id="p122790"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122791"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122792"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122793"></a>      END_REPEAT;
<a id="p122794"></a>   END_REPEAT;
<a id="p122795"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122796"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION.DEFINITION'));
<a id="p122797"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set | (
      'class notation' IN which_class(t2_inst)) )) = 1);
<a id="p122798"></a>   END_REPEAT;

<a id="p122799"></a>   WHERE
<a id="p122800"></a>      wr1: (NOT violation);

<a id="p122801"></a>END_RULE; -- product_definition_for_class_notation

<a id="p122802"></a>RULE product_definition_for_flag_state FOR (
applied_classification_assignment);
<a id="p122803"></a>   LOCAL
<a id="p122804"></a>      violation : LOGICAL: = FALSE;
<a id="p122805"></a>      t1_set : SET OF product_definition := [];
<a id="p122806"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122807"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p122808"></a>   END_LOCAL;
<a id="p122809"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'ship designation') );
<a id="p122810"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122811"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122812"></a>         t1_set := t1_set + c_a_set(i).items[j];
<a id="p122813"></a>      END_REPEAT;
<a id="p122814"></a>   END_REPEAT;
<a id="p122815"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122816"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p122817"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.role.name = 'flag state') )) = 1);
<a id="p122818"></a>   END_REPEAT;

<a id="p122819"></a>   WHERE
<a id="p122820"></a>      wr1: (NOT violation);

<a id="p122821"></a>END_RULE; -- product_definition_for_flag_state

<a id="p122822"></a>RULE product_definition_for_hydrostatic_definition_requires_reference FOR (
applied_classification_assignment);
<a id="p122823"></a>   LOCAL
<a id="p122824"></a>      t3_set : SET OF property_definition_representation := [];
<a id="p122825"></a>      violation : LOGICAL := FALSE;
<a id="p122826"></a>      t4_set : SET OF property_definition := [];
<a id="p122827"></a>      t1_set : SET OF property_definition := [];
<a id="p122828"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122829"></a>      c2_a_set : SET OF applied_classification_assignment := [];
<a id="p122830"></a>      t2_set : SET OF representation := [];
<a id="p122831"></a>   END_LOCAL;
<a id="p122832"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'hydrostatic definition') );
<a id="p122833"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122834"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122835"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122836"></a>      END_REPEAT;
<a id="p122837"></a>   END_REPEAT;
<a id="p122838"></a>   c2_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'hydrostatic table') );
<a id="p122839"></a>   REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;
<a id="p122840"></a>      REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;
<a id="p122841"></a>         t2_set := t2_set + c2_a_set[i].items[j];
<a id="p122842"></a>      END_REPEAT;
<a id="p122843"></a>   END_REPEAT;
<a id="p122844"></a>   REPEAT i := 1 TO HIINDEX(t2_set) BY 1;
<a id="p122845"></a>      t3_set := t3_set +
      bag_to_set(USEDIN(t2_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'));
<a id="p122846"></a>   END_REPEAT;
<a id="p122847"></a>   REPEAT i := 1 TO HIINDEX(t3_set) BY 1;
<a id="p122848"></a>      t4_set := t4_set + t3_set[i].definition;
<a id="p122849"></a>   END_REPEAT;
<a id="p122850"></a>   violation := t1_set <> t4_set;

<a id="p122851"></a>   WHERE
<a id="p122852"></a>      wr1: (NOT violation);

<a id="p122853"></a>END_RULE; --product_definition_for_hydrostatic_definition_requires_reference

<a id="p122854"></a>RULE product_definition_for_managing_company FOR (
applied_classification_assignment);
<a id="p122855"></a>   LOCAL
<a id="p122856"></a>      violation : LOGICAL := FALSE;
<a id="p122857"></a>      t1_set : SET OF product_definition := [];
<a id="p122858"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122859"></a>      t2_set : SET OF applied_organization_assignment := [];
<a id="p122860"></a>   END_LOCAL;
<a id="p122861"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'owner designation') );
<a id="p122862"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122863"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122864"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122865"></a>      END_REPEAT;
<a id="p122866"></a>   END_REPEAT;
<a id="p122867"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122868"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p122869"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.role.name = 'managing company') )) = 1);
<a id="p122870"></a>   END_REPEAT;

<a id="p122871"></a>   WHERE
<a id="p122872"></a>      wr1: (NOT violation);

<a id="p122873"></a>END_RULE; -- product_definition_for_managing_company

<a id="p122874"></a>RULE product_definition_for_ordering_company FOR (
applied_classification_assignment);
<a id="p122875"></a>   LOCAL
<a id="p122876"></a>      violation : LOGICAL := FALSE;
<a id="p122877"></a>      t1_set : SET OF product_definition := [];
<a id="p122878"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122879"></a>      t2_set : SET OF applied_organization_assignment := [];
<a id="p122880"></a>   END_LOCAL;
<a id="p122881"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'owner designation') );
<a id="p122882"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122883"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122884"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122885"></a>      END_REPEAT;
<a id="p122886"></a>   END_REPEAT;
<a id="p122887"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122888"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p122889"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.role.name = 'ordering company') )) = 1);
<a id="p122890"></a>   END_REPEAT;

<a id="p122891"></a>   WHERE
<a id="p122892"></a>      wr1: (NOT violation);

<a id="p122893"></a>END_RULE; -- product_definition_for_ordering_company

<a id="p122894"></a>RULE product_definition_for_owning_company FOR (
applied_classification_assignment);
<a id="p122895"></a>   LOCAL
<a id="p122896"></a>      violation : LOGICAL := FALSE;
<a id="p122897"></a>      t1_set : SET OF product_definition := [];
<a id="p122898"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122899"></a>      t2_set : SET OF applied_organization_assignment := [];
<a id="p122900"></a>   END_LOCAL;
<a id="p122901"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'owner designation') );
<a id="p122902"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122903"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122904"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122905"></a>      END_REPEAT;
<a id="p122906"></a>   END_REPEAT;
<a id="p122907"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122908"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p122909"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.role.name = 'owning company') )) = 1);
<a id="p122910"></a>   END_REPEAT;

<a id="p122911"></a>   WHERE
<a id="p122912"></a>      wr1: (NOT violation);

<a id="p122913"></a>END_RULE; -- product_definition_for_owning_company

<a id="p122914"></a>RULE product_definition_for_port_of_registration FOR (
applied_classification_assignment);
<a id="p122915"></a>   LOCAL
<a id="p122916"></a>      violation : LOGICAL := FALSE;
<a id="p122917"></a>      t1_set : SET OF product_definition := [];
<a id="p122918"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122919"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p122920"></a>   END_LOCAL;
<a id="p122921"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship designation') );
<a id="p122922"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122923"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122924"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122925"></a>      END_REPEAT;
<a id="p122926"></a>   END_REPEAT;
<a id="p122927"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122928"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p122929"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.role.name = 'port of registration') )) = 1);
<a id="p122930"></a>   END_REPEAT;

<a id="p122931"></a>   WHERE
<a id="p122932"></a>      wr1: (NOT violation);

<a id="p122933"></a>END_RULE; -- product_definition_for_port_of_registration

<a id="p122934"></a>RULE product_definition_for_regulation FOR (
applied_classification_assignment);
<a id="p122935"></a>   LOCAL
<a id="p122936"></a>      violation : LOGICAL := FALSE;
<a id="p122937"></a>      t1_set : SET OF product_definition := [];
<a id="p122938"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122939"></a>      t2_set : SET OF property_definition := [];
<a id="p122940"></a>   END_LOCAL;
<a id="p122941"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'class and statutory designation') );
<a id="p122942"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122943"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122944"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122945"></a>      END_REPEAT;
<a id="p122946"></a>   END_REPEAT;
<a id="p122947"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122948"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION.DEFINITION'));
<a id="p122949"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      ('regulation' IN which_class(t2_inst)) )) = 1);
<a id="p122950"></a>   END_REPEAT;

<a id="p122951"></a>   WHERE
<a id="p122952"></a>      wr1: (NOT violation);

<a id="p122953"></a>END_RULE; -- product_definition_for_regulation

<a id="p122954"></a>RULE product_definition_for_shipyard FOR (
applied_classification_assignment);
<a id="p122955"></a>   LOCAL
<a id="p122956"></a>      violation : LOGICAL := FALSE;
<a id="p122957"></a>      t1_set : SET OF product_definition := [];
<a id="p122958"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122959"></a>      t2_set : SET OF applied_organization_assignment := [];
<a id="p122960"></a>   END_LOCAL;
<a id="p122961"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'shipyard designation') );
<a id="p122962"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122963"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122964"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122965"></a>      END_REPEAT;
<a id="p122966"></a>   END_REPEAT;
<a id="p122967"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p122968"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p122969"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.role.name = 'shipyard') )) = 1);
<a id="p122970"></a>   END_REPEAT;

<a id="p122971"></a>   WHERE
<a id="p122972"></a>      wr1: (NOT violation);

<a id="p122973"></a>END_RULE; -- product_definition_for_shipyard

<a id="p122974"></a>RULE product_definition_for_stability_definition FOR (
applied_classification_assignment);
<a id="p122975"></a>   LOCAL
<a id="p122976"></a>      t3_set : SET OF property_definition_representation := [];
<a id="p122977"></a>      violation : LOGICAL := FALSE;
<a id="p122978"></a>      t4_set : SET OF property_definition := [];
<a id="p122979"></a>      t1_set : SET OF property_definition := [];
<a id="p122980"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p122981"></a>      c2_a_set : SET OF applied_classification_assignment := [];
<a id="p122982"></a>      t2_set : SET OF representation := [];
<a id="p122983"></a>   END_LOCAL;
<a id="p122984"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'stability definition') );
<a id="p122985"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p122986"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p122987"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p122988"></a>      END_REPEAT;
<a id="p122989"></a>   END_REPEAT;
<a id="p122990"></a>   c2_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'stability table') );
<a id="p122991"></a>   REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;
<a id="p122992"></a>      REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;
<a id="p122993"></a>         t2_set := t2_set + c2_a_set[i].items[j];
<a id="p122994"></a>      END_REPEAT;
<a id="p122995"></a>   END_REPEAT;
<a id="p122996"></a>   REPEAT i := 1 TO HIINDEX(t2_set) BY 1;
<a id="p122997"></a>      t3_set := t3_set +
      bag_to_set(USEDIN(t2_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'));
<a id="p122998"></a>   END_REPEAT;
<a id="p122999"></a>   REPEAT i := 1 TO HIINDEX(t3_set) BY 1;
<a id="p123000"></a>      t4_set := t4_set + t3_set[i].definition;
<a id="p123001"></a>   END_REPEAT;
<a id="p123002"></a>   violation := t1_set <> t4_set;

<a id="p123003"></a>   WHERE
<a id="p123004"></a>      wr1: (NOT violation);

<a id="p123005"></a>END_RULE; -- product_definition_for_stability_definition

<a id="p123006"></a>RULE product_definition_relationship_references_are_distinct FOR (
product_definition_relationship);
<a id="p123007"></a>   LOCAL
<a id="p123008"></a>      cyclic_relationship : LOGICAL := FALSE;
<a id="p123009"></a>   END_LOCAL;
<a id="p123010"></a>   REPEAT i := 1 TO HIINDEX(product_definition_relationship) BY 1
<a id="p123011"></a>   WHILE
<a id="p123012"></a>      NOT cyclic_relationship;
<a id="p123013"></a>      cyclic_relationship := product_definition_relationship[i].
      related_product_definition :=:
      product_definition_relationship[i].relating_product_definition;
<a id="p123014"></a>   END_REPEAT;

<a id="p123015"></a>   WHERE
<a id="p123016"></a>      wr1: (NOT cyclic_relationship);

<a id="p123017"></a>      END_RULE; --product_definition_relationship_references_are_distinct

<a id="p123018"></a>RULE product_definition_relationship_related_to_class_moulded_form FOR (
applied_classification_assignment);
<a id="p123019"></a>   LOCAL
<a id="p123020"></a>      t3_set : SET OF product_definition := [];
<a id="p123021"></a>      violation : LOGICAL := FALSE;
<a id="p123022"></a>      t1_set : SET OF product_definition_relationship := [];
<a id="p123023"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123024"></a>      c2_a_set : SET OF applied_classification_assignment := [];
<a id="p123025"></a>      t2_set : SET OF product_definition := [];
<a id="p123026"></a>   END_LOCAL;
<a id="p123027"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'moulded form relationship') );
<a id="p123028"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123029"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123030"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123031"></a>      END_REPEAT;
<a id="p123032"></a>   END_REPEAT;
<a id="p123033"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1;
<a id="p123034"></a>      t2_set := t2_set + t1_set[i].related_product_definition;
<a id="p123035"></a>      t2_set := t2_set + t1_set[i].relating_product_definition;
<a id="p123036"></a>   END_REPEAT;
<a id="p123037"></a>   c2_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'moulded form') );
<a id="p123038"></a>   REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;
<a id="p123039"></a>      REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;
<a id="p123040"></a>         t3_set := t3_set + c2_a_set[i].items[j];
<a id="p123041"></a>      END_REPEAT;
<a id="p123042"></a>   END_REPEAT;
<a id="p123043"></a>   violation := NOT (t2_set <= t3_set);

<a id="p123044"></a>   WHERE
<a id="p123045"></a>      wr1: (NOT violation);

<a id="p123046"></a>END_RULE; --product_definition_relationship_related_to_class_moulded_form

<a id="p123047"></a>RULE product_definition_relationship_with_identification_assignment FOR (
applied_classification_assignment);
<a id="p123048"></a>   LOCAL
<a id="p123049"></a>      violation : LOGICAL := FALSE;
<a id="p123050"></a>      t1_set : SET OF product_definition_relationship := [];
<a id="p123051"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123052"></a>      arg_list : LIST OF STRING := ['item relationship'];
<a id="p123053"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p123054"></a>   END_LOCAL;
<a id="p123055"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123056"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
      (i.assigned_class.name = arg_list[j]) );
<a id="p123057"></a>   END_REPEAT;
<a id="p123058"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123059"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123060"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123061"></a>      END_REPEAT;
<a id="p123062"></a>   END_REPEAT;
<a id="p123063"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123064"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p123065"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
<a id="p123066"></a>      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p123067"></a>   END_REPEAT;

<a id="p123068"></a>   WHERE
<a id="p123069"></a>      wr1: (NOT violation);

<a id="p123070"></a>END_RULE; --product_definition_relationship_with_identification_assignment

<a id="p123071"></a>RULE product_definition_shape_with_identification_assignment FOR (
applied_classification_assignment);
<a id="p123072"></a>   LOCAL
<a id="p123073"></a>      violation : LOGICAL := FALSE;
<a id="p123074"></a>      t1_set : SET OF product_definition_shape := [];
<a id="p123075"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123076"></a>      arg_list : LIST OF STRING := ['definition'];
<a id="p123077"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p123078"></a>   END_LOCAL;
<a id="p123079"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123080"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
      (i.assigned_class.name = arg_list[j]) );
<a id="p123081"></a>   END_REPEAT;
<a id="p123082"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123083"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123084"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123085"></a>      END_REPEAT;
<a id="p123086"></a>   END_REPEAT;
<a id="p123087"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123088"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p123089"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
<a id="p123090"></a>      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p123091"></a>   END_REPEAT;

<a id="p123092"></a>   WHERE
<a id="p123093"></a>      wr1: (NOT violation);

<a id="p123094"></a>END_RULE; --product_definition_shape_with_identification_assignment

<a id="p123095"></a>RULE product_definition_with_identification_assignment FOR (
applied_classification_assignment);
<a id="p123096"></a>   LOCAL
<a id="p123097"></a>      violation : LOGICAL := FALSE;
<a id="p123098"></a>      t1_set : SET OF product_definition := [];
<a id="p123099"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123100"></a>      arg_list : LIST OF STRING := ['definition','definable object'];
<a id="p123101"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p123102"></a>   END_LOCAL;
<a id="p123103"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123104"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
      (i.assigned_class.name = arg_list[j]) );
<a id="p123105"></a>   END_REPEAT;
<a id="p123106"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123107"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123108"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123109"></a>      END_REPEAT;
<a id="p123110"></a>   END_REPEAT;
<a id="p123111"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123112"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p123113"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
<a id="p123114"></a>      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p123115"></a>   END_REPEAT;

<a id="p123116"></a>   WHERE
<a id="p123117"></a>      wr1: (NOT violation);

<a id="p123118"></a>      END_RULE; -- product_definition_with_identification_assignment

<a id="p123119"></a>RULE product_related_product_category_with_identification_assignment FOR (
applied_classification_assignment);
<a id="p123120"></a>   LOCAL
<a id="p123121"></a>      violation : LOGICAL := FALSE;
<a id="p123122"></a>      t1_set : SET OF product_related_product_category := [];
<a id="p123123"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123124"></a>      arg_list : LIST OF STRING := ['Shiptype'];
<a id="p123125"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p123126"></a>   END_LOCAL;
<a id="p123127"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123128"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
      (i.assigned_class.name = arg_list[j]) );
<a id="p123129"></a>   END_REPEAT;
<a id="p123130"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123131"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123132"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123133"></a>      END_REPEAT;
<a id="p123134"></a>   END_REPEAT;
<a id="p123135"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123136"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p123137"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
<a id="p123138"></a>      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p123139"></a>   END_REPEAT;

<a id="p123140"></a>   WHERE
<a id="p123141"></a>      wr1: (NOT violation);

<a id="p123142"></a>END_RULE; --product_related_product_category_with_identification_assignment

<a id="p123143"></a>RULE product_with_identification_assignment FOR (
applied_classification_assignment);
<a id="p123144"></a>   LOCAL
<a id="p123145"></a>      violation : LOGICAL := FALSE;
<a id="p123146"></a>      t1_set : SET OF product := [];
<a id="p123147"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123148"></a>      arg_list : LIST OF STRING := ['ship'];
<a id="p123149"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p123150"></a>   END_LOCAL;
<a id="p123151"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123152"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
      (i.assigned_class.name = arg_list[j]) );
<a id="p123153"></a>   END_REPEAT;
<a id="p123154"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123155"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123156"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123157"></a>      END_REPEAT;
<a id="p123158"></a>   END_REPEAT;
<a id="p123159"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123160"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p123161"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
<a id="p123162"></a>      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p123163"></a>   END_REPEAT;
<a id="p123164"></a>   WHERE
<a id="p123165"></a>      wr1: (NOT violation);

<a id="p123166"></a>END_RULE; -- product_with_identification_assignment

<a id="p123167"></a>RULE propeller_moulded_form_design_parameter_with_class_references FOR (
applied_classification_assignment);
<a id="p123168"></a>   LOCAL
<a id="p123169"></a>      t3_set : SET OF representation := [];
<a id="p123170"></a>      violation : LOGICAL := FALSE;
<a id="p123171"></a>      t1_set : SET OF property_definition := [];
<a id="p123172"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123173"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123174"></a>   END_LOCAL;
<a id="p123175"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'propeller moulded form design parameter') );
<a id="p123176"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123177"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123178"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123179"></a>      END_REPEAT;
<a id="p123180"></a>   END_REPEAT;
<a id="p123181"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123182"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
      'DEFINITION'));
<a id="p123183"></a>      REPEAT j := 1 TO HIINDEX(t2_set) BY 1;
<a id="p123184"></a>         t3_set := t3_set + t2_set[j].used_representation;
<a id="p123185"></a>      END_REPEAT;
<a id="p123186"></a>      violation := SIZEOF(QUERY ( t2_inst <* t3_set | (
      'propeller location' IN which_class(t2_inst)) )) > 1;
<a id="p123187"></a>   END_REPEAT;

<a id="p123188"></a>   WHERE
<a id="p123189"></a>      wr1: (NOT violation);

<a id="p123190"></a>END_RULE; --propeller_moulded_form_design_parameter_with_class_references

<a id="p123191"></a>RULE property_definition_appendage_moulded_form_design_parameter FOR (
applied_classification_assignment);
<a id="p123192"></a>   LOCAL
<a id="p123193"></a>      violation : LOGICAL := FALSE;
<a id="p123194"></a>      t1_set : SET OF property_definition := [];
<a id="p123195"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123196"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123197"></a>   END_LOCAL;
<a id="p123198"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'appendage moulded form design parameter') );
<a id="p123199"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123200"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123201"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123202"></a>      END_REPEAT;
<a id="p123203"></a>   END_REPEAT;
<a id="p123204"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123205"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123206"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'appendage moulded form design parameter') )) = 1);
<a id="p123207"></a>   END_REPEAT;

<a id="p123208"></a>   WHERE
<a id="p123209"></a>   wr1: (NOT violation);

<a id="p123210"></a>END_RULE; -- property_definition_appendage_moulded_form_design_parameter

<a id="p123211"></a>RULE property_definition_for_bottom_moulded_form_design_parameter FOR (
applied_classification_assignment);
<a id="p123212"></a>   LOCAL
<a id="p123213"></a>      violation : LOGICAL := FALSE;
<a id="p123214"></a>      t1_set : SET OF property_definition := [];
<a id="p123215"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123216"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123217"></a>   END_LOCAL;
<a id="p123218"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'bottom moulded form design parameter') );
<a id="p123219"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123220"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123221"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123222"></a>      END_REPEAT;
<a id="p123223"></a>   END_REPEAT;
<a id="p123224"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123225"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123226"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'bottom moulded form design parameter') )) = 1);
<a id="p123227"></a>   END_REPEAT;

<a id="p123228"></a>   WHERE
<a id="p123229"></a>      wr1: (NOT violation);

<a id="p123230"></a>END_RULE; --property_definition_for_bottom_moulded_form_design_parameter

<a id="p123231"></a>RULE property_definition_for_bulb_moulded_form_design_parameter FOR (
applied_classification_assignment);
<a id="p123232"></a>   LOCAL
<a id="p123233"></a>      violation : LOGICAL := FALSE;
<a id="p123234"></a>      t1_set : SET OF property_definition := [];
<a id="p123235"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123236"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123237"></a>   END_LOCAL;
<a id="p123238"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'bulb moulded form design parameter'));
<a id="p123239"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123240"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123241"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123242"></a>      END_REPEAT;
<a id="p123243"></a>   END_REPEAT;
<a id="p123244"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123245"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123246"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'bulb moulded form design parameter') )) = 1);
<a id="p123247"></a>   END_REPEAT;

<a id="p123248"></a>   WHERE
<a id="p123249"></a>      wr1: (NOT violation);

<a id="p123250"></a>END_RULE; --property_definition_for_bulb_moulded_form_design_parameter

<a id="p123251"></a>RULE property_definition_for_class_notation FOR (
applied_classification_assignment);
<a id="p123252"></a>   LOCAL
<a id="p123253"></a>      violation : LOGICAL := FALSE;
<a id="p123254"></a>      t1_set : SET OF property_definition := [];
<a id="p123255"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123256"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123257"></a>   END_LOCAL;
<a id="p123258"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'class notation') );
<a id="p123259"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123260"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123261"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123262"></a>      END_REPEAT;
<a id="p123263"></a>   END_REPEAT;
<a id="p123264"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123265"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));
<a id="p123266"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'class notation') )) = 1);
<a id="p123267"></a>   END_REPEAT;

<a id="p123268"></a>   WHERE
<a id="p123269"></a>      wr1: (NOT violation);

<a id="p123270"></a>END_RULE; -- property_definition_for_class_notation

<a id="p123271"></a>RULE property_definition_for_class_society FOR (
applied_classification_assignment);
<a id="p123272"></a>   LOCAL
<a id="p123273"></a>      violation : LOGICAL := FALSE;
<a id="p123274"></a>      t1_set : SET OF property_definition := [];
<a id="p123275"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123276"></a>      t2_set : SET OF applied_organization_assignment := [];
<a id="p123277"></a>   END_LOCAL;
<a id="p123278"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'class notation') );
<a id="p123279"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123280"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123281"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123282"></a>      END_REPEAT;
<a id="p123283"></a>   END_REPEAT;
<a id="p123284"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123285"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));
<a id="p123286"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.role.name = 'class society') )) = 1);
<a id="p123287"></a>   END_REPEAT;

<a id="p123288"></a>   WHERE
<a id="p123289"></a>      wr1: (NOT violation);

<a id="p123290"></a>END_RULE; -- property_definition_for_class_society

<a id="p123291"></a>RULE property_definition_for_deck_moulded_form_design_parameter FOR (
applied_classification_assignment);
<a id="p123292"></a>   LOCAL
<a id="p123293"></a>      violation : LOGICAL := FALSE;
<a id="p123294"></a>      t1_set : SET OF property_definition := [];
<a id="p123295"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123296"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123297"></a>   END_LOCAL;
<a id="p123298"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'deck moulded form design parameter'));
<a id="p123299"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123300"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123301"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123302"></a>      END_REPEAT;
<a id="p123303"></a>   END_REPEAT;
<a id="p123304"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123305"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123306"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
   (t2_inst.name = 'deck moulded form design parameter') )) = 1);
<a id="p123307"></a>   END_REPEAT;

<a id="p123308"></a>   WHERE
<a id="p123309"></a>      wr1: (NOT violation);

<a id="p123310"></a>END_RULE; --property_definition_for_deck_moulded_form_design_parameter

<a id="p123311"></a>RULE property_definition_for_hull_moulded_form_design_parameter FOR (
applied_classification_assignment);
<a id="p123312"></a>   LOCAL
<a id="p123313"></a>      violation : LOGICAL := FALSE;
<a id="p123314"></a>      t1_set : SET OF property_definition := [];
<a id="p123315"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123316"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123317"></a>   END_LOCAL;
<a id="p123318"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'hull moulded form design parameter'));
<a id="p123319"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123320"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123321"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123322"></a>      END_REPEAT;
<a id="p123323"></a>   END_REPEAT;
<a id="p123324"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123325"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123326"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'hull moulded form design parameter') )) = 1);
<a id="p123327"></a>   END_REPEAT;

<a id="p123328"></a>   WHERE
<a id="p123329"></a>      wr1: (NOT violation);

<a id="p123330"></a>END_RULE; --property_definition_for_hull_moulded_form_design_parameter

<a id="p123331"></a>RULE property_definition_for_local_coordinate_system FOR (
applied_classification_assignment);
<a id="p123332"></a>   LOCAL
<a id="p123333"></a>      violation : LOGICAL := FALSE;
<a id="p123334"></a>      t1_set : SET OF property_definition := [];
<a id="p123335"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123336"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123337"></a>   END_LOCAL;
<a id="p123338"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'local co-ordinate system') );
<a id="p123339"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123340"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123341"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123342"></a>      END_REPEAT;
<a id="p123343"></a>   END_REPEAT;
<a id="p123344"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123345"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123346"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'local co-ordinate system') )) = 1);
<a id="p123347"></a>   END_REPEAT;

<a id="p123348"></a>   WHERE
<a id="p123349"></a>      wr1: (NOT violation);

<a id="p123350"></a>END_RULE; -- property_definition_for_local_coordinate_system

<a id="p123351"></a>RULE property_definition_for_local_coordinate_system_with_position FOR (
applied_classification_assignment);
<a id="p123352"></a>   LOCAL
<a id="p123353"></a>      violation : LOGICAL := FALSE;
<a id="p123354"></a>      t1_set : SET OF property_definition := [];
<a id="p123355"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123356"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123357"></a>   END_LOCAL;
<a id="p123358"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'local co-ordinate system with position reference') );
<a id="p123359"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123360"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123361"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123362"></a>      END_REPEAT;
<a id="p123363"></a>   END_REPEAT;
<a id="p123364"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123365"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));
<a id="p123366"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'local co-ordinate system with position reference') )) = 1);
<a id="p123367"></a>   END_REPEAT;

<a id="p123368"></a>   WHERE
<a id="p123369"></a>      wr1: (NOT violation);

<a id="p123370"></a>END_RULE; --property_definition_for_local_coordinate_system_with_position

<a id="p123371"></a>RULE property_definition_for_moulded_form_function_parameters FOR (
applied_classification_assignment);
<a id="p123372"></a>   LOCAL
<a id="p123373"></a>      violation : LOGICAL := FALSE;
<a id="p123374"></a>      t1_set : SET OF property_definition := [];
<a id="p123375"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123376"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123377"></a>   END_LOCAL;
<a id="p123378"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'moulded form functional definition'));
<a id="p123379"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123380"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123381"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123382"></a>      END_REPEAT;
<a id="p123383"></a>   END_REPEAT;
<a id="p123384"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123385"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123386"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'moulded form function parameters') )) = 1);
<a id="p123387"></a>   END_REPEAT;

<a id="p123388"></a>   WHERE
<a id="p123389"></a>      wr1: (NOT violation);

<a id="p123390"></a>END_RULE; --property_definition_for_moulded_form_function_parameters

<a id="p123391"></a>RULE property_definition_for_rudder_moulded_form_design_parameter FOR (
applied_classification_assignment);
<a id="p123392"></a>   LOCAL
<a id="p123393"></a>      violation : LOGICAL := FALSE;
<a id="p123394"></a>      t1_set : SET OF property_definition := [];
<a id="p123395"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123396"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123397"></a>   END_LOCAL;
<a id="p123398"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'rudder moulded form design parameter') );
<a id="p123399"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123400"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123401"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123402"></a>      END_REPEAT;
<a id="p123403"></a>   END_REPEAT;
<a id="p123404"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123405"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123406"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'rudder moulded form design parameter') )) = 1);
<a id="p123407"></a>   END_REPEAT;

<a id="p123408"></a>   WHERE
<a id="p123409"></a>      wr1: (NOT violation);

<a id="p123410"></a>END_RULE; --property_definition_for_rudder_moulded_form_design_parameter

<a id="p123411"></a>RULE property_definition_for_thruster_moulded_form_design_parameter FOR (
applied_classification_assignment);
<a id="p123412"></a>   LOCAL
<a id="p123413"></a>      violation : LOGICAL := FALSE;
<a id="p123414"></a>      t1_set : SET OF property_definition := [];
<a id="p123415"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123416"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123417"></a>   END_LOCAL;
<a id="p123418"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'thruster moulded form design parameter') );
<a id="p123419"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123420"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123421"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123422"></a>      END_REPEAT;
<a id="p123423"></a>   END_REPEAT;
<a id="p123424"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123425"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123426"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'thruster moulded form design parameter') )) = 1);
<a id="p123427"></a>   END_REPEAT;

<a id="p123428"></a>   WHERE
<a id="p123429"></a>      wr1: (NOT violation);

<a id="p123430"></a>END_RULE; --property_definition_for_thruster_moulded_form_design_parameter

<a id="p123431"></a>RULE property_definition_for_thruster_propeller_parameter FOR (
applied_classification_assignment);
<a id="p123432"></a>   LOCAL
<a id="p123433"></a>      violation : LOGICAL := FALSE;
<a id="p123434"></a>      t1_set : SET OF property_definition := [];
<a id="p123435"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123436"></a>      t2_set : SET OF property_definition_relationship := [];
<a id="p123437"></a>   END_LOCAL;
<a id="p123438"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'thruster moulded form design parameter') );
<a id="p123439"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123440"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123441"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123442"></a>      END_REPEAT;
<a id="p123443"></a>   END_REPEAT;
<a id="p123444"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123445"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_RELATIONSHIP' +
      '.RELATING_PROPERTY_DEFINITION'));
<a id="p123446"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'thruster propeller parameter') )) = 1);
<a id="p123447"></a>   END_REPEAT;

<a id="p123448"></a>   WHERE
<a id="p123449"></a>      wr1: (NOT violation);

<a id="p123450"></a>END_RULE; -- property_definition_for_thruster_propeller_parameter

<a id="p123451"></a>RULE property_definition_of_propeller_moulded_form_design_parameter FOR (
applied_classification_assignment);
<a id="p123452"></a>   LOCAL
<a id="p123453"></a>      violation : LOGICAL := FALSE;
<a id="p123454"></a>      t1_set : SET OF property_definition := [];
<a id="p123455"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123456"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123457"></a>   END_LOCAL;
<a id="p123458"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'propeller moulded form design parameter') );
<a id="p123459"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123460"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123461"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123462"></a>      END_REPEAT;
<a id="p123463"></a>   END_REPEAT;
<a id="p123464"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123465"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +
      'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));
<a id="p123466"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.name = 'propeller moulded form design parameter') )) = 1);
<a id="p123467"></a>   END_REPEAT;

<a id="p123468"></a>   WHERE
<a id="p123469"></a>      wr1: (NOT violation);

<a id="p123470"></a>END_RULE; --property_definition_of_propeller_moulded_form_design_parameter

<a id="p123471"></a>RULE property_definition_with_identification_assignment FOR (
applied_classification_assignment);
<a id="p123472"></a>   LOCAL
<a id="p123473"></a>      violation : LOGICAL := FALSE;
<a id="p123474"></a>      t1_set : SET OF property_definition := [];
<a id="p123475"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123476"></a>      arg_list : LIST OF STRING := [
      'moulded form characteristics definition',
      'moulded form functional definition',
      'local co-ordinate system','spacing table',
      'hydrostatic definition','stability definition'];
<a id="p123477"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p123478"></a>   END_LOCAL;
<a id="p123479"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123480"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
      (i.assigned_class.name = arg_list[j]) );
<a id="p123481"></a>   END_REPEAT;
<a id="p123482"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123483"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123484"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123485"></a>      END_REPEAT;
<a id="p123486"></a>   END_REPEAT;
<a id="p123487"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123488"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p123489"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
<a id="p123490"></a>      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p123491"></a>   END_REPEAT;

<a id="p123492"></a>   WHERE
<a id="p123493"></a>      wr1: (NOT violation);

<a id="p123494"></a>END_RULE; -- property_definition_with_identification_assignment

<a id="p123495"></a>RULE representation_for_appendage_moulded_form_design_parameter FOR (
representation);
<a id="p123496"></a>   LOCAL
<a id="p123497"></a>      violation : LOGICAL := FALSE;
<a id="p123498"></a>      arg_list : LIST OF STRING := ['appendage length',
      'appendage breadth','appendage depth',
      'type of appendage'];
<a id="p123499"></a>      reps : BAG OF representation := [];
<a id="p123500"></a>   END_LOCAL;
<a id="p123501"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'appendage moulded form design parameter') )) > 0) );
<a id="p123502"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123503"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123504"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123505"></a>      END_REPEAT;
<a id="p123506"></a>   END_REPEAT;

<a id="p123507"></a>   WHERE
<a id="p123508"></a>      wr1: (NOT violation);

<a id="p123509"></a>END_RULE; --representation_for_appendage_moulded_form_design_parameter

<a id="p123510"></a>RULE representation_for_bottom_moulded_form_design_parameter FOR (
representation);
<a id="p123511"></a>   LOCAL
<a id="p123512"></a>      violation : LOGICAL := FALSE;
<a id="p123513"></a>      arg_list : LIST OF STRING := ['bilge radius','rise of floor',
      'aft end of flat of bottom',
      'front end of flat of bottom','flat of bottom breadth', 'rake of keel'];
<a id="p123514"></a>      reps : BAG OF representation := [];
<a id="p123515"></a>   END_LOCAL;
<a id="p123516"></a>   reps := QUERY (temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
   | (temp_prop_def_rep.name = 'bottom moulded form design parameter') )) > 0) );
<a id="p123517"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123518"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123519"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123520"></a>      END_REPEAT;
<a id="p123521"></a>   END_REPEAT;

<a id="p123522"></a>   WHERE
<a id="p123523"></a>      wr1: (NOT violation);

<a id="p123524"></a>END_RULE; --representation_for_bottom_moulded_form_design_parameter

<a id="p123525"></a>RULE representation_for_bulb_moulded_form_design_parameter FOR (
representation);
<a id="p123526"></a>   LOCAL
<a id="p123527"></a>      violation : LOGICAL := FALSE;
<a id="p123528"></a>      arg_list : LIST OF STRING := ['bulb length','bulb length from pp',
      'bulb breadth','bulb breadth pp','bulb depth',
      'bulb depth pp','bulb frame section area at pp', 'bulb location'];
<a id="p123529"></a>      reps : BAG OF representation := [];
<a id="p123530"></a>   END_LOCAL;
<a id="p123531"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
   | (temp_prop_def_rep.name = 'bulb moulded form design parameter') )) > 0) );
<a id="p123532"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123533"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123534"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123535"></a>      END_REPEAT;
<a id="p123536"></a>   END_REPEAT;

<a id="p123537"></a>   WHERE
<a id="p123538"></a>      wr1: (NOT violation);

<a id="p123539"></a>END_RULE; -- representation_for_bulb_moulded_form_design_parameter

<a id="p123540"></a>RULE representation_for_class_and_statutory_designation FOR (
representation);
<a id="p123541"></a>   LOCAL
<a id="p123542"></a>      violation : LOGICAL := FALSE;
<a id="p123543"></a>      arg_list : LIST OF STRING := ['class number'];
<a id="p123544"></a>      reps : BAG OF representation := [];
<a id="p123545"></a>   END_LOCAL;
<a id="p123546"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'class and statutory designation') )) > 0) );
<a id="p123547"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123548"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123549"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123550"></a>      END_REPEAT;
<a id="p123551"></a>   END_REPEAT;

<a id="p123552"></a>   WHERE
<a id="p123553"></a>      wr1: (NOT violation);

<a id="p123554"></a>END_RULE; -- representation_for_class_and_statutory_designation

<a id="p123555"></a>RULE representation_for_deck_moulded_form_design_parameter FOR (
representation);
<a id="p123556"></a>   LOCAL
<a id="p123557"></a>      violation : LOGICAL := FALSE;
<a id="p123558"></a>      arg_list : LIST OF STRING := ['camber','sheer at ap','sheer at fp'];
<a id="p123559"></a>      reps : BAG OF representation := [];
<a id="p123560"></a>   END_LOCAL;
<a id="p123561"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
   | (temp_prop_def_rep.name = 'deck moulded form design parameter') )) > 0) );
<a id="p123562"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123563"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123564"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123565"></a>      END_REPEAT;
<a id="p123566"></a>   END_REPEAT;

<a id="p123567"></a>   WHERE
<a id="p123568"></a>      wr1: (NOT violation);

<a id="p123569"></a>END_RULE; -- representation_for_deck_moulded_form_design_parameter

<a id="p123570"></a>RULE representation_for_global_axis_placement FOR (representation);
<a id="p123571"></a>   LOCAL
<a id="p123572"></a>      violation : LOGICAL := FALSE;
<a id="p123573"></a>      arg_list : LIST OF STRING := ['global axes and origin',
      'after perpendicular offset','orientation'];
<a id="p123574"></a>      reps : BAG OF representation := [];
<a id="p123575"></a>   END_LOCAL;
<a id="p123576"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'global axis placement') )) > 0) );
<a id="p123577"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123578"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123579"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123580"></a>      END_REPEAT;
<a id="p123581"></a>   END_REPEAT;

<a id="p123582"></a>   WHERE
<a id="p123583"></a>      wr1: (NOT violation);

<a id="p123584"></a>END_RULE; -- representation_for_global_axis_placement

<a id="p123585"></a>RULE representation_for_hull_moulded_form_design_parameter FOR (
representation);
<a id="p123586"></a>   LOCAL
<a id="p123587"></a>      violation : LOGICAL := FALSE;
<a id="p123588"></a>      arg_list : LIST OF STRING := [
      'aft end of parallel midbody at design draught',
      'front end of parallel midbody at design draught',
      'aft end of flat of side','front end of flat of side',
      'block coefficient','prismatic coefficient',
      'max wetted frame section area','waterplane coefficient'];
<a id="p123589"></a>      reps : BAG OF representation := [];
<a id="p123590"></a>   END_LOCAL;
<a id="p123591"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
   | (temp_prop_def_rep.name = 'hull moulded form design parameter') )) > 0) );
<a id="p123592"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123593"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123594"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123595"></a>      END_REPEAT;
<a id="p123596"></a>   END_REPEAT;

<a id="p123597"></a>   WHERE
<a id="p123598"></a>      wr1: (NOT violation);

<a id="p123599"></a>END_RULE; -- representation_for_hull_moulded_form_design_parameter

<a id="p123600"></a>RULE representation_for_hydrostatic_table_constrained FOR (
applied_classification_assignment);
<a id="p123601"></a>   LOCAL
<a id="p123602"></a>      t3_set : SET OF representation_item := [];
<a id="p123603"></a>      violation : LOGICAL := FALSE;
<a id="p123604"></a>      t1_set : SET OF representation := [];
<a id="p123605"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123606"></a>      c2_a_set : SET OF applied_classification_assignment := [];
<a id="p123607"></a>      t2_set : SET OF representation_item := [];
<a id="p123608"></a>   END_LOCAL;
<a id="p123609"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'hydrostatic table') );
<a id="p123610"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123611"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123612"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123613"></a>      END_REPEAT;
<a id="p123614"></a>   END_REPEAT;
<a id="p123615"></a>   c2_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'hydrostatic properties for constant floating position') );
<a id="p123616"></a>   REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;
<a id="p123617"></a>      REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;
<a id="p123618"></a>         t2_set := t2_set + c2_a_set[i].items[j];
<a id="p123619"></a>      END_REPEAT;
<a id="p123620"></a>   END_REPEAT;
<a id="p123621"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123622"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].items) BY 1;
<a id="p123623"></a>         t3_set := t3_set + t1_set[i].items[j];
<a id="p123624"></a>      END_REPEAT;
<a id="p123625"></a>      violation := SIZEOF(t3_set * t2_set) < 1;
<a id="p123626"></a>      t3_set := [];
<a id="p123627"></a>   END_REPEAT;

<a id="p123628"></a>   WHERE
<a id="p123629"></a>   wr1: (NOT violation);

<a id="p123630"></a>END_RULE; -- representation_for_hydrostatic_table_constrained

<a id="p123631"></a>RULE representation_for_hydrostatic_table_restricted FOR (
applied_classification_assignment);
<a id="p123632"></a>   LOCAL
<a id="p123633"></a>      t3_set : SET OF representation_item := [];
<a id="p123634"></a>      violation : LOGICAL := FALSE;
<a id="p123635"></a>      t1_set : SET OF representation := [];
<a id="p123636"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123637"></a>      c2_a_set : SET OF applied_classification_assignment := [];
<a id="p123638"></a>      t2_set : SET OF representation_item := [];
<a id="p123639"></a>   END_LOCAL;
<a id="p123640"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'hydrostatic table') );
<a id="p123641"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123642"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123643"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123644"></a>      END_REPEAT;
<a id="p123645"></a>   END_REPEAT;
<a id="p123646"></a>   c2_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'hydrostatic property') );
<a id="p123647"></a>   REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;
<a id="p123648"></a>      REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;
<a id="p123649"></a>         t2_set := t2_set + c2_a_set[i].items[j];
<a id="p123650"></a>      END_REPEAT;
<a id="p123651"></a>   END_REPEAT;
<a id="p123652"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123653"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].items) BY 1;
<a id="p123654"></a>         t3_set := t3_set + t1_set[i].items[j];
<a id="p123655"></a>      END_REPEAT;
<a id="p123656"></a>      violation := SIZEOF(t3_set * t2_set) < 1;
<a id="p123657"></a>      t3_set := [];
<a id="p123658"></a>   END_REPEAT;

<a id="p123659"></a>   WHERE
<a id="p123660"></a>      wr1: (NOT violation);

<a id="p123661"></a>END_RULE; -- representation_for_hydrostatic_table_restricted

<a id="p123662"></a>RULE representation_for_hydrostatic_table_restricted_by_class_id FOR (
applied_classification_assignment);
<a id="p123663"></a>   LOCAL
<a id="p123664"></a>      violation : LOGICAL := FALSE;
<a id="p123665"></a>      t1_set : SET OF representation := [];
<a id="p123666"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123667"></a>      arg_list : LIST OF STRING := ['mean shell thickness'];
<a id="p123668"></a>   END_LOCAL;
<a id="p123669"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'hydrostatic table') );
<a id="p123670"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123671"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123672"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123673"></a>      END_REPEAT;
<a id="p123674"></a>   END_REPEAT;
<a id="p123675"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123676"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123677"></a>         violation := SIZEOF(QUERY ( rep_item <* t1_set[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123678"></a>      END_REPEAT;
<a id="p123679"></a>   END_REPEAT;

<a id="p123680"></a>   WHERE
<a id="p123681"></a>      wr1: (NOT violation);

<a id="p123682"></a>END_RULE; --representation_for_hydrostatic_table_restricted_by_class_id

<a id="p123683"></a>RULE representation_for_local_coordinate_system FOR (representation);
<a id="p123684"></a>   LOCAL
<a id="p123685"></a>      violation : LOGICAL := FALSE;
<a id="p123686"></a>      arg_list : LIST OF STRING := ['local axes and origin'];
<a id="p123687"></a>      reps : BAG OF representation := [];
<a id="p123688"></a>   END_LOCAL;
<a id="p123689"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'local co-ordinate system') )) > 0) );
<a id="p123690"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123691"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123692"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123693"></a>      END_REPEAT;
<a id="p123694"></a>   END_REPEAT;

<a id="p123695"></a>   WHERE
<a id="p123696"></a>      wr1: (NOT violation);

<a id="p123697"></a>END_RULE; -- representation_for_local_coordinate_system

<a id="p123698"></a>RULE representation_for_midship_tumble_restricted_by_class_id FOR (
applied_classification_assignment);
<a id="p123699"></a>   LOCAL
<a id="p123700"></a>      violation : LOGICAL := FALSE;
<a id="p123701"></a>      t1_set : SET OF representation := [];
<a id="p123702"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123703"></a>      arg_list : LIST OF STRING := ['tumble out at bottom',
      'tumble in at top','tumble out at side', 'tumble in at side'];
<a id="p123704"></a>   END_LOCAL;
<a id="p123705"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'midship tumble') );
<a id="p123706"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123707"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123708"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123709"></a>      END_REPEAT;
<a id="p123710"></a>   END_REPEAT;
<a id="p123711"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123712"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123713"></a>         violation := SIZEOF(QUERY ( rep_item <* t1_set[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123714"></a>      END_REPEAT;
<a id="p123715"></a>   END_REPEAT;

<a id="p123716"></a>   WHERE
<a id="p123717"></a>      wr1: (NOT violation);

<a id="p123718"></a>END_RULE; --representation_for_midship_tumble_restricted_by_class_id

<a id="p123719"></a>RULE representation_for_moulded_form_function_parameters FOR (representation);
<a id="p123720"></a>   LOCAL
<a id="p123721"></a>      violation : LOGICAL := FALSE;
<a id="p123722"></a>      arg_list : LIST OF STRING := ['function'];
<a id="p123723"></a>      reps : BAG OF representation := [];
<a id="p123724"></a>   END_LOCAL;
<a id="p123725"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
   | (temp_prop_def_rep.name = 'moulded form function parameters') )) > 0) );
<a id="p123726"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123727"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123728"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123729"></a>      END_REPEAT;
<a id="p123730"></a>   END_REPEAT;

<a id="p123731"></a>   WHERE
<a id="p123732"></a>      wr1: (NOT violation);

<a id="p123733"></a>END_RULE; -- representation_for_moulded_form_function_parameters

<a id="p123734"></a>RULE representation_for_offset_point_table_model_for_point FOR (
applied_classification_assignment);
<a id="p123735"></a>   LOCAL
<a id="p123736"></a>      violation : LOGICAL := FALSE;
<a id="p123737"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p123738"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123739"></a>      arg_list : LIST OF STRING := ['section point'];
<a id="p123740"></a>      t2_set : SET OF representation_item := [];
<a id="p123741"></a>   END_LOCAL;
<a id="p123742"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'section of offset point table') );
<a id="p123743"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123744"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123745"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123746"></a>      END_REPEAT;
<a id="p123747"></a>   END_REPEAT;
<a id="p123748"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123749"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123750"></a>         t2_set := t1_set[i].item_element;
<a id="p123751"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) < 1;
<a id="p123752"></a>      END_REPEAT;
<a id="p123753"></a>   END_REPEAT;

<a id="p123754"></a>   WHERE
<a id="p123755"></a>      wr1: (NOT violation);

<a id="p123756"></a>END_RULE; -- representation_for_offset_point_table_model_for_point

<a id="p123757"></a>RULE representation_for_offset_point_table_model_for_section FOR (
applied_classification_assignment);
<a id="p123758"></a>   LOCAL
<a id="p123759"></a>      violation : LOGICAL := FALSE;
<a id="p123760"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p123761"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123762"></a>      arg_list : LIST OF STRING := ['offset point table section'];
<a id="p123763"></a>      t2_set : SET OF representation_item := [];
<a id="p123764"></a>   END_LOCAL;
<a id="p123765"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'offset point table model') );
<a id="p123766"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123767"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123768"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123769"></a>      END_REPEAT;
<a id="p123770"></a>   END_REPEAT;
<a id="p123771"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123772"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123773"></a>         t2_set := t1_set[i].item_element;
<a id="p123774"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) < 1;
<a id="p123775"></a>      END_REPEAT;
<a id="p123776"></a>   END_REPEAT;

<a id="p123777"></a>   WHERE
<a id="p123778"></a>      wr1: (NOT violation);

<a id="p123779"></a>END_RULE; --representation_for_offset_point_table_model_for_section

<a id="p123780"></a>RULE representation_for_offset_table_shape_representation_restricted FOR (
applied_classification_assignment);
<a id="p123781"></a>   LOCAL
<a id="p123782"></a>      t3_set : SET OF representation_item := [];
<a id="p123783"></a>      violation : LOGICAL := FALSE;
<a id="p123784"></a>      t1_set : SET OF representation := [];
<a id="p123785"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123786"></a>      c2_a_set : SET OF applied_classification_assignment := [];
<a id="p123787"></a>      t2_set : SET OF representation_item := [];
<a id="p123788"></a>   END_LOCAL;
<a id="p123789"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'offset table shape representation'));
<a id="p123790"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123791"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123792"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123793"></a>      END_REPEAT;
<a id="p123794"></a>   END_REPEAT;
<a id="p123795"></a>   c2_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'offset point table model') );
<a id="p123796"></a>   REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;
<a id="p123797"></a>      REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;
<a id="p123798"></a>         t2_set := t2_set + c2_a_set[i].items[j];
<a id="p123799"></a>      END_REPEAT;
<a id="p123800"></a>   END_REPEAT;
<a id="p123801"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123802"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].items) BY 1;
<a id="p123803"></a>         t3_set := t3_set + t1_set[i].items[j];
<a id="p123804"></a>      END_REPEAT;
<a id="p123805"></a>      violation := SIZEOF(t3_set * t2_set) < 1;
<a id="p123806"></a>      t3_set := [];
<a id="p123807"></a>   END_REPEAT;

<a id="p123808"></a>   WHERE
<a id="p123809"></a>      wr1: (NOT violation);

<a id="p123810"></a>END_RULE; --representation_for_offset_table_shape_representation_restricted

<a id="p123811"></a>RULE representation_for_propeller_location_restricted_by_class_id FOR (
applied_classification_assignment);
<a id="p123812"></a>   LOCAL
<a id="p123813"></a>      violation : LOGICAL := FALSE;
<a id="p123814"></a>      t1_set : SET OF representation := [];
<a id="p123815"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123816"></a>      arg_list : LIST OF STRING := ['shaft line inclination x',
      'shaft line inclination y','shaft line location','propeller location'];
<a id="p123817"></a>   END_LOCAL;
<a id="p123818"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'propeller location') );
<a id="p123819"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123820"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123821"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123822"></a>      END_REPEAT;
<a id="p123823"></a>   END_REPEAT;
<a id="p123824"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123825"></a>      REPEAT j := 1 TO HIINDEX (arg_list) BY 1 WHILE NOT violation;
<a id="p123826"></a>         violation := SIZEOF(QUERY ( rep_item <* t1_set[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123827"></a>      END_REPEAT;
<a id="p123828"></a>   END_REPEAT;

<a id="p123829"></a>   WHERE
<a id="p123830"></a>      wr1: (NOT violation);

<a id="p123831"></a>END_RULE; --representation_for_propeller_location_restricted_by_class_id

<a id="p123832"></a>RULE representation_for_propeller_moulded_form_design_parameter FOR (
representation);
<a id="p123833"></a>   LOCAL
<a id="p123834"></a>      violation : LOGICAL := FALSE;
<a id="p123835"></a>      arg_list : LIST OF STRING := ['type of propulsion',
      'propeller diameter','chord length at 0 7 radius',
      'thickness at 0 7 radius','number of propeller blades',
      'expanded area ratio','hub diameter ratio',
      'nominal design pitch ratio','type of propeller blades',
      'rake','skew','design sense of rotation'];
<a id="p123836"></a>      reps : BAG OF representation := [];
<a id="p123837"></a>   END_LOCAL;
<a id="p123838"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
   | (temp_prop_def_rep.name = 'propeller moulded form design parameter') )) > 0) );
<a id="p123839"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123840"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123841"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123842"></a>      END_REPEAT;
<a id="p123843"></a>   END_REPEAT;

<a id="p123844"></a>   WHERE
<a id="p123845"></a>      wr1: (NOT violation);

<a id="p123846"></a>END_RULE; --representation_for_propeller_moulded_form_design_parameter

<a id="p123847"></a>RULE representation_for_rudder_moulded_form_design_parameter FOR (
representation);
<a id="p123848"></a>   LOCAL
<a id="p123849"></a>      violation : LOGICAL := FALSE;
<a id="p123850"></a>      arg_list : LIST OF STRING := ['rudder height','rudder mean height',
      'rudder length','rudder mean length','rudder thickness',
      'projected rudder area','type of the rudder','rudder location'];
<a id="p123851"></a>      reps : BAG OF representation := [];
<a id="p123852"></a>   END_LOCAL;
<a id="p123853"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
<a id="p123854"></a>   | (temp_prop_def_rep.name = 'rudder moulded form design parameter') )) > 0) );
<a id="p123855"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123856"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123857"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123858"></a>      END_REPEAT;
<a id="p123859"></a>   END_REPEAT;

<a id="p123860"></a>   WHERE
<a id="p123861"></a>      wr1: (NOT violation);

<a id="p123862"></a>END_RULE; --representation_for_rudder_moulded_form_design_parameter

<a id="p123863"></a>RULE representation_for_stability_table_restricted FOR (
applied_classification_assignment);
<a id="p123864"></a>   LOCAL
<a id="p123865"></a>      t3_set : SET OF representation_item := [];
<a id="p123866"></a>      violation : LOGICAL := FALSE;
<a id="p123867"></a>      t1_set : SET OF representation := [];
<a id="p123868"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123869"></a>      c2_a_set : SET OF applied_classification_assignment := [];
<a id="p123870"></a>      t2_set : SET OF representation_item := [];
<a id="p123871"></a>   END_LOCAL;
<a id="p123872"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'stability table') );
<a id="p123873"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123874"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123875"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123876"></a>      END_REPEAT;
<a id="p123877"></a>   END_REPEAT;
<a id="p123878"></a>   c2_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'stability properties for one floating position') );
<a id="p123879"></a>   REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;
<a id="p123880"></a>      REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;
<a id="p123881"></a>         t2_set := t2_set + c2_a_set[i].items[j];
<a id="p123882"></a>      END_REPEAT;
<a id="p123883"></a>   END_REPEAT;
<a id="p123884"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123885"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].items) BY 1;
<a id="p123886"></a>         t3_set := t3_set + t1_set[i].items[j];
<a id="p123887"></a>      END_REPEAT;
<a id="p123888"></a>      violation := SIZEOF(t3_set * t2_set) < 1;
<a id="p123889"></a>      t3_set := [];
<a id="p123890"></a>   END_REPEAT;

<a id="p123891"></a>   WHERE
<a id="p123892"></a>      wr1: (NOT violation);

<a id="p123893"></a>END_RULE; -- representation_for_stability_table_restricted

<a id="p123894"></a>RULE representation_for_stability_table_restricted_by_class_id FOR (
applied_classification_assignment);
<a id="p123895"></a>   LOCAL
<a id="p123896"></a>      violation : LOGICAL := FALSE;
<a id="p123897"></a>      t1_set : SET OF representation := [];
<a id="p123898"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123899"></a>      arg_list : LIST OF STRING := ['mean shell thickness'];
<a id="p123900"></a>   END_LOCAL;
<a id="p123901"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'stability table') );
<a id="p123902"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123903"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123904"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123905"></a>      END_REPEAT;
<a id="p123906"></a>   END_REPEAT;
<a id="p123907"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p123908"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123909"></a>         violation := SIZEOF(QUERY ( rep_item <* t1_set[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123910"></a>      END_REPEAT;
<a id="p123911"></a>   END_REPEAT;

<a id="p123912"></a>   WHERE
<a id="p123913"></a>      wr1: (NOT violation);

<a id="p123914"></a>END_RULE; --representation_for_stability_table_restricted_by_class_id

<a id="p123915"></a>RULE representation_for_thruster_moulded_form_design_parameter FOR (
representation);
<a id="p123916"></a>   LOCAL
<a id="p123917"></a>      violation : LOGICAL := FALSE;
<a id="p123918"></a>      arg_list : LIST OF STRING := ['thruster tunnel diameter',
      'thruster tunnel min length', 'thruster tunnel max length',
      'geometric thruster location','thruster location'];
<a id="p123919"></a>      reps : BAG OF representation := [];
<a id="p123920"></a>   END_LOCAL;
<a id="p123921"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
   | (temp_prop_def_rep.name = 'thruster moulded form design parameter') )) > 0) );
<a id="p123922"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p123923"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p123924"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p123925"></a>      END_REPEAT;
<a id="p123926"></a>   END_REPEAT;

<a id="p123927"></a>   WHERE
<a id="p123928"></a>      wr1: (NOT violation);

<a id="p123929"></a>END_RULE; --representation_for_thruster_moulded_form_design_parameter

<a id="p123930"></a>RULE representation_has_global_uncertainty_assigned_context FOR (
shape_representation);
<a id="p123931"></a>   LOCAL
<a id="p123932"></a>      has_gunac : LOGICAL := TRUE;
<a id="p123933"></a>   END_LOCAL;
<a id="p123934"></a>   REPEAT i := 1 TO HIINDEX(shape_representation) BY 1 WHILE has_gunac;
<a id="p123935"></a>      has_gunac := 'SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT'
      IN TYPEOF(shape_representation[i].context_of_items);
<a id="p123936"></a>   END_REPEAT;

<a id="p123937"></a>   WHERE
<a id="p123938"></a>      wr1: has_gunac;

<a id="p123939"></a>END_RULE; --representation_has_global_uncertainty_assigned_context

<a id="p123940"></a>RULE representation_has_global_unit_assigned_context FOR
(representation);
<a id="p123941"></a>   LOCAL
<a id="p123942"></a>      has_guac : LOGICAL := TRUE;
<a id="p123943"></a>   END_LOCAL;
<a id="p123944"></a>   REPEAT i := 1 TO HIINDEX(representation) BY 1 WHILE has_guac;
<a id="p123945"></a>      REPEAT j := 1 TO SIZEOF(representation[i].items) BY 1 WHILE has_guac;
<a id="p123946"></a>         IF ('SHIP_MOULDED_FORM_SCHEMA.VALUE_REPRESENTATION_ITEM' IN
            TYPEOF(representation[i].items[j])) OR (
            'SHIP_MOULDED_FORM_SCHEMA.GEOMETRIC_REPRESENTATION_ITEM' IN
            TYPEOF(representation[i].items[j])) THEN
            has_guac := 'SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN
            TYPEOF(representation[i].context_of_items);
<a id="p123947"></a>         END_IF;
<a id="p123948"></a>      END_REPEAT;
<a id="p123949"></a>   END_REPEAT;

<a id="p123950"></a>   WHERE
<a id="p123951"></a>      wr1: has_guac;

<a id="p123952"></a>END_RULE; -- representation_has_global_unit_assigned_context

<a id="p123953"></a>RULE representation_item_for_transformation_to_parent FOR (
applied_classification_assignment);
<a id="p123954"></a>   LOCAL
<a id="p123955"></a>      t3_set : SET OF representation := [];
<a id="p123956"></a>      t4_set : SET OF representation_map := [];
<a id="p123957"></a>      t1_set : SET OF property_definition := [];
<a id="p123958"></a>      t5_set : SET OF mapped_item := [];
<a id="p123959"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p123960"></a>      arg_list : LIST OF STRING := ['local coordinate system
      position in global coordinate system','local coordinate system
      position in parent local coordinate system','local coordinate system
      position in parent local coordinate system with position reference'];
<a id="p123961"></a>      violation1 : LOGICAL := FALSE;
<a id="p123962"></a>      violation2 : LOGICAL := FALSE;
<a id="p123963"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p123964"></a>   END_LOCAL;
<a id="p123965"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'local co-ordinate system') );
<a id="p123966"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p123967"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p123968"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p123969"></a>      END_REPEAT;
<a id="p123970"></a>   END_REPEAT;
<a id="p123971"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation1;
<a id="p123972"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));
<a id="p123973"></a>      violation1 := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      (t2_inst.used_representation.name = 'local axis representation') )) = 1);
<a id="p123974"></a>      t3_set := t3_set + t2_set[i].used_representation;
<a id="p123975"></a>   END_REPEAT;
<a id="p123976"></a>   REPEAT i := 1 TO HIINDEX(t1 set) BY 1 WHILE NOT violation1;
<a id="p123977"></a>      t4_set := bag_to_set(USEDIN(t3_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION_MAP.MAPPED_REPRESENTATION'));
<a id="p123978"></a>   END_REPEAT;
<a id="p123979"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation1;
<a id="p123980"></a>      t5_set := bag_to_set(USEDIN(t4_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM.MAPPING_SOURCE'));
<a id="p123981"></a>      REPEAT j := 1 TO 3 BY 1 WHILE NOT violation2;
<a id="p123982"></a>         violation2 := NOT (SIZEOF(QUERY ( t2_inst <* t5_set |
         (t2_inst.name = arg_list[j]) )) = 1);
<a id="p123983"></a>      END_REPEAT;
<a id="p123984"></a>   END_REPEAT;

<a id="p123985"></a>   WHERE
<a id="p123986"></a>      wr1: (NOT violation1);
<a id="p123987"></a>      wr2: (NOT violation2);

<a id="p123988"></a>END_RULE; -- representation_item_for_transformation_to_parent

<a id="p123989"></a>RULE representation_items_appendage_moulded_form_design_parameter FOR (
representation);
<a id="p123990"></a>   LOCAL
<a id="p123991"></a>      found : LOGICAL := FALSE;
<a id="p123992"></a>      arg_list : LIST OF STRING: = ['moulded form outer surface',
      'moulded form displacement','user def appendage type'];
<a id="p123993"></a>      reps : BAG OF representation := [];
<a id="p123994"></a>   END_LOCAL;
<a id="p123995"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'appendage moulded form design parameter') )) > 0) );
<a id="p123996"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p123997"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p123998"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p123999"></a>      END_REPEAT;
<a id="p124000"></a>   END_REPEAT;

<a id="p124001"></a>   WHERE
<a id="p124002"></a>      wr1: (NOT found);

<a id="p124003"></a>END_RULE; --representation_items_appendage_moulded_form_design_parameter

<a id="p124004"></a>RULE representation_items_for_bottom_moulded_form_design_parameter FOR (
representation);
<a id="p124005"></a>   LOCAL
<a id="p124006"></a>      found : LOGICAL := FALSE;
<a id="p124007"></a>      arg_list : LIST OF STRING := ['moulded form outer surface',
      'moulded form displacement'];
<a id="p124008"></a>      reps : BAG OF representation := [];
<a id="p124009"></a>   END_LOCAL;
<a id="p124010"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'bottom moulded form design parameter') )) > 0) );
<a id="p124011"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124012"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124013"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124014"></a>      END_REPEAT;
<a id="p124015"></a>   END_REPEAT;

<a id="p124016"></a>   WHERE
<a id="p124017"></a>      wr1: (NOT found);

<a id="p124018"></a>END_RULE; --representation_items_for_bottom_moulded_form_design_parameter

<a id="p124019"></a>RULE representation_items_for_bulb_moulded_form_design_parameter FOR (
representation);
<a id="p124020"></a>   LOCAL
<a id="p124021"></a>      found : LOGICAL := FALSE;
<a id="p124022"></a>      arg_list : LIST OF STRING := ['moulded form outer surface',
      'moulded form displacement'];
<a id="p124023"></a>      reps : BAG OF representation := [];
<a id="p124024"></a>   END_LOCAL;
<a id="p124025"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'bulb moulded form design parameter') )) > 0) );
<a id="p124026"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124027"></a>      REPEAT j:= 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124028"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124029"></a>      END_REPEAT;
<a id="p124030"></a>   END_REPEAT;

<a id="p124031"></a>   WHERE
<a id="p124032"></a>      wr1: (NOT found);

<a id="p124033"></a>END_RULE; --representation_items_for_bulb_moulded_form_design_parameter

<a id="p124034"></a>RULE representation_items_for_deck_moulded_form_design_parameter FOR (
representation);
<a id="p124035"></a>   LOCAL
<a id="p124036"></a>      found : LOGICAL := FALSE;
<a id="p124037"></a>      arg_list : LIST OF STRING := ['moulded form outer surface',
      'moulded form displacement'];
<a id="p124038"></a>      reps : BAG OF representation := [];
<a id="p124039"></a>   END_LOCAL;
<a id="p124040"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'deck moulded form design parameter') )) > 0) );
<a id="p124041"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124042"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124043"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124044"></a>      END_REPEAT;
<a id="p124045"></a>   END_REPEAT;

<a id="p124046"></a>   WHERE
<a id="p124047"></a>      wr1: (NOT found);

<a id="p124048"></a>END_RULE; --representation_items_for_deck_moulded_form_design_parameter

<a id="p124049"></a>RULE representation_items_for_hull_moulded_form_design_parameter FOR (
representation);
<a id="p124050"></a>   LOCAL
<a id="p124051"></a>      found : LOGICAL := FALSE;
<a id="p124052"></a>      arg_list : LIST OF STRING := ['moulded form outer surface',
      'moulded form displacement',
      'waterline angle of entrance at stern',
      'waterline angle of entrance at bow',
      'max frame section area location','hull length pp',
      'hull length waterline','hull breadth','hull depth',
      'hull design draught','gunwale radius'];
<a id="p124053"></a>      reps : BAG OF representation := [];
<a id="p124054"></a>   END_LOCAL;
<a id="p124055"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'hull moulded form design parameter') )) > 0) );
<a id="p124056"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124057"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124058"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124059"></a>      END_REPEAT;
<a id="p124060"></a>   END_REPEAT;

<a id="p124061"></a>   WHERE
<a id="p124062"></a>      wr1: (NOT found);

<a id="p124063"></a>END_RULE; --representation_items_for_hull_moulded_form_design_parameter

<a id="p124064"></a>RULE representation_items_for_moulded_form_design_parameters FOR (
representation);
<a id="p124065"></a>   LOCAL
<a id="p124066"></a>      found : LOGICAL := FALSE;
<a id="p124067"></a>      arg_list : LIST OF STRING := ['status'];
<a id="p124068"></a>      reps : BAG OF representation := [];
<a id="p124069"></a>   END_LOCAL;
<a id="p124070"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'moulded form design parameters') )) > 0) );
<a id="p124071"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124072"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124073"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124074"></a>      END_REPEAT;
<a id="p124075"></a>   END_REPEAT;

<a id="p124076"></a>   WHERE
<a id="p124077"></a>      wr1: (NOT found);

<a id="p124078"></a>END_RULE; --representation_items_for_moulded_form_design_parameters

<a id="p124079"></a>RULE representation_items_for_moulded_form_function_parameters FOR (
representation);
<a id="p124080"></a>   LOCAL
<a id="p124081"></a>      found : LOGICAL := FALSE;
<a id="p124082"></a>      arg_list : LIST OF STRING := ['user def function'];
<a id="p124083"></a>      reps : BAG OF representation := [];
<a id="p124084"></a>   END_LOCAL;
<a id="p124085"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <*
   bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
   | (temp_prop_def_rep.name = 'moulded form function parameters') )) > 0) );
<a id="p124086"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124087"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124088"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124089"></a>      END_REPEAT;
<a id="p124090"></a>   END_REPEAT;

<a id="p124091"></a>   WHERE
<a id="p124092"></a>      wr1: (NOT found);

<a id="p124093"></a>END_RULE; --representation_items_for_moulded_form_function_parameters

<a id="p124094"></a>RULE representation_items_for_rudder_moulded_form_design_parameter FOR (
representation);
<a id="p124095"></a>   LOCAL
<a id="p124096"></a>      found : LOGICAL := FALSE;
<a id="p124097"></a>      arg_list : LIST OF STRING := ['moulded form outer surface',
      'moulded form displacement'];
<a id="p124098"></a>      reps : BAG OF representation := [];
<a id="p124099"></a>   END_LOCAL;
<a id="p124100"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'rudder moulded form design parameter') )) > 0) );
<a id="p124101"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124102"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124103"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124104"></a>      END_REPEAT;
<a id="p124105"></a>   END_REPEAT;

<a id="p124106"></a>   WHERE
<a id="p124107"></a>      wr1: (NOT found);

<a id="p124108"></a>END_RULE; --representation_items_for_rudder_moulded_form_design_parameter

<a id="p124109"></a>RULE representation_items_of_thruster_moulded_form_design_parameter FOR (
representation);
<a id="p124110"></a>   LOCAL
<a id="p124111"></a>      found : LOGICAL := FALSE;
<a id="p124112"></a>      arg_list : LIST OF STRING := ['moulded form outer surface',
      'moulded form displacement'];
<a id="p124113"></a>      reps : BAG OF representation := [];
<a id="p124114"></a>   END_LOCAL;
<a id="p124115"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'thruster moulded form design parameter') )) > 0) );
<a id="p124116"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124117"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124118"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124119"></a>      END_REPEAT;
<a id="p124120"></a>   END_REPEAT;

<a id="p124121"></a>   WHERE
<a id="p124122"></a>      wr1: (NOT found);

<a id="p124123"></a>END_RULE; --representation_items_of_thruster_moulded_form_design_parameter

<a id="p124124"></a>RULE representation_items_optional_for_class_notation FOR (
representation);
<a id="p124125"></a>   LOCAL
<a id="p124126"></a>      found : LOGICAL := FALSE;
<a id="p124127"></a>      arg_list : LIST OF STRING := ['ice class notation','service factor',
      'approval required for heavy cargo'];
<a id="p124128"></a>      reps : BAG OF representation := [];
<a id="p124129"></a>   END_LOCAL;
<a id="p124130"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'class notation') )) > 0) );
<a id="p124131"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124132"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124133"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124134"></a>      END_REPEAT;
<a id="p124135"></a>   END_REPEAT;

<a id="p124136"></a>   WHERE
<a id="p124137"></a>      wr1: (NOT found);

<a id="p124138"></a>END_RULE; -- representation_items_optional_for_class_notation

<a id="p124139"></a>RULE representation_items_optional_for_owner_designation FOR (
representation);
<a id="p124140"></a>   LOCAL
<a id="p124141"></a>      found : LOGICAL := FALSE;
<a id="p124142"></a>      arg_list : LIST OF STRING := ['owner approval'];
<a id="p124143"></a>      reps : BAG OF representation := [];
<a id="p124144"></a>   END_LOCAL;
<a id="p124145"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'owner designation') )) > 0) );
<a id="p124146"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124147"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124148"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124149"></a>      END_REPEAT;
<a id="p124150"></a>   END_REPEAT;

<a id="p124151"></a>   WHERE
<a id="p124152"></a>      wr1: (NOT found);

<a id="p124153"></a>END_RULE; -- representation_items_optional_for_owner_designation

<a id="p124154"></a>RULE representation_items_optional_for_principal_characteristics FOR (
representation);
<a id="p124155"></a>   LOCAL
<a id="p124156"></a>      found : LOGICAL := FALSE;
<a id="p124157"></a>      arg_list : LIST OF STRING := ['block coefficient','design draught',
      'design deadweight','min draught at fp',
      'max draught at fp','min draught at ap',
      'max draught at ap'];
<a id="p124158"></a>      reps : BAG OF representation := [];
<a id="p124159"></a>   END_LOCAL;
<a id="p124160"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'principal characteristics') )) > 0) );
<a id="p124161"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124162"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124163"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124164"></a>      END_REPEAT;
<a id="p124165"></a>   END_REPEAT;

<a id="p124166"></a>   WHERE
<a id="p124167"></a>      wr1: (NOT found);

<a id="p124168"></a>END_RULE; --representation_items_optional_for_principal_characteristics

<a id="p124169"></a>RULE representation_items_propeller_moulded_form_design_parameter FOR (
representation);
<a id="p124170"></a>   LOCAL
<a id="p124171"></a>      found : LOGICAL := FALSE;
<a id="p124172"></a>      arg_list : LIST OF STRING := ['blade_mean_height',
      'moulded form outer surface','moulded form displacement'];
<a id="p124173"></a>      reps : BAG OF representation := [];
<a id="p124174"></a>   END_LOCAL;
<a id="p124175"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'propeller moulded form design parameter') )) > 0) );
<a id="p124176"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;
<a id="p124177"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;
<a id="p124178"></a>         found := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) > 1;
<a id="p124179"></a>      END_REPEAT;
<a id="p124180"></a>      END_REPEAT;

<a id="p124181"></a>   WHERE
<a id="p124182"></a>      wr1: (NOT found);

<a id="p124183"></a>END_RULE; --representation_items_propeller_moulded_form_design_parameter

<a id="p124184"></a>RULE representation_of_local_coordinate_system_with_position_reference FOR (
representation);
<a id="p124185"></a>   LOCAL
<a id="p124186"></a>      violation : LOGICAL := FALSE;
<a id="p124187"></a>      arg_list : LIST OF STRING := ['local axes and origin'];
<a id="p124188"></a>      reps : BAG OF representation := [];
<a id="p124189"></a>   END_LOCAL;
<a id="p124190"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'local co-ordinate system with position reference') )) > 0));
<a id="p124191"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p124192"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124193"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i).items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p124194"></a>      END_REPEAT;
<a id="p124195"></a>   END_REPEAT;

<a id="p124196"></a>   WHERE
<a id="p124197"></a>      wr1: (NOT violation);

<a id="p124198"></a>END_RULE; --representation_of_local_coordinate_system_with_position_reference

<a id="p124199"></a>RULE representation_restricted_by_name_class_notation FOR (
representation);
<a id="p124200"></a>   LOCAL
<a id="p124201"></a>      violation : LOGICAL := FALSE;
<a id="p124202"></a>      arg_list : LIST OF STRING := ['service area',
      'approval required for oil cargo',
      'approval required for loading unloading aground',
      'approval required for unloading grabs'];
<a id="p124203"></a>      reps : BAG OF representation := [];
<a id="p124204"></a>   END_LOCAL;
<a id="p124205"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'class notation') )) > 0) );
<a id="p124206"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p124207"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124208"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p124209"></a>      END_REPEAT;
<a id="p124210"></a>   END_REPEAT;

<a id="p124211"></a>   WHERE
<a id="p124212"></a>      wr1: (NOT violation);

<a id="p124213"></a>END_RULE; -- representation_restricted_by_name_class_notation

<a id="p124214"></a>RULE representation_restricted_by_name_class_parameters FOR (
representation);
<a id="p124215"></a>   LOCAL
<a id="p124216"></a>      violation : LOGICAL := FALSE;
<a id="p124217"></a>      arg_list : LIST OF STRING := ['length class','length solas',
      'scantlings draught','block coefficient class',
      'design speed ahead','design speed astern'];
<a id="p124218"></a>      reps : BAG OF representation := [];
<a id="p124219"></a>   END_LOCAL;
<a id="p124220"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'class parameters') )) > 0) );
<a id="p124221"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p124222"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124223"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p124224"></a>      END_REPEAT;
<a id="p124225"></a>   END_REPEAT;

<a id="p124226"></a>   WHERE
<a id="p124227"></a>      wr1: (NOT violation);

<a id="p124228"></a>END_RULE; -- representation_restricted_by_name_class_parameters

<a id="p124229"></a>RULE representation_restricted_by_name_principal_characteristics FOR (
representation);
<a id="p124230"></a>   LOCAL
<a id="p124231"></a>      violation : LOGICAL := FALSE;
<a id="p124232"></a>      arg_list : LIST OF STRING := ['length between perpendiculars',
      'moulded breadth','moulded depth'];
<a id="p124233"></a>      reps : BAG OF representation := [];
<a id="p124234"></a>   END_LOCAL;
<a id="p124235"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'principal characteristics') )) > 0) );
<a id="p124236"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p124237"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124238"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p124239"></a>      END_REPEAT;
<a id="p124240"></a>   END_REPEAT;

<a id="p124241"></a>   WHERE
<a id="p124242"></a>      wr1: (NOT violation);

<a id="p124243"></a>END_RULE; --representation_restricted_by_name_principal_characteristics

<a id="p124244"></a>RULE representation_restricted_by_name_ship_overall_dimensions FOR (
representation);
<a id="p124245"></a>   LOCAL
<a id="p124246"></a>      violation : LOGICAL := FALSE;
<a id="p124247"></a>      arg_list : LIST OF STRING := ['overall breadth','overall depth',
      'overall length','stem overhang','stern overhang'];
<a id="p124248"></a>      reps : BAG OF representation := [];
<a id="p124249"></a>   END_LOCAL;
<a id="p124250"></a>   reps := QUERY ( temp_rep <* representation | (SIZEOF(
   QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
   'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +
   'USED_REPRESENTATION')) | (temp_prop_def_rep.name =
   'ship overall dimensions') )) > 0) );
<a id="p124251"></a>   REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
<a id="p124252"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124253"></a>         violation := SIZEOF(QUERY ( rep_item <* reps[i].items |
         (rep_item.name = arg_list[j]) )) <> 1;
<a id="p124254"></a>      END_REPEAT;
<a id="p124255"></a>   END_REPEAT;

<a id="p124256"></a>   WHERE
<a id="p124257"></a>      wr1: (NOT violation);

<a id="p124258"></a>END_RULE; --representation_restricted_by_name_ship_overall_dimensions

<a id="p124259"></a>RULE revision_has_mandatory_attribute_description FOR (group);
<a id="p124260"></a>   LOCAL
<a id="p124261"></a>      violate : LOGICAL := FALSE;
<a id="p124262"></a>      t1_set : SET OF group := [];
<a id="p124263"></a>   END_LOCAL;
<a id="p124264"></a>   t1_set := QUERY ( i <* group |
   VALUE_IN(which_class(i),'revision') );
<a id="p124265"></a>   violate := SIZEOF(QUERY ( k <* t1_set | (NOT EXISTS(k.description)) )) > 0;

<a id="p124266"></a>   WHERE
<a id="p124267"></a>      wr1: (NOT violate);

<a id="p124268"></a>END_RULE; -- revision_has_mandatory_attribute_description

<a id="p124269"></a>RULE revision_with_context_referenced_for_context_of_revision FOR (
applied_group_assignment, group);
<a id="p124270"></a>   LOCAL
<a id="p124271"></a>      violate : LOGICAL := FALSE;
<a id="p124272"></a>      t1_set : SET OF group := [];
<a id="p124273"></a>      a_set : SET OF applied_group_assignment := [];
<a id="p124274"></a>   END_LOCAL;
<a id="p124275"></a>   t1_set := QUERY ( a <* group | VALUE_IN(which_class(a),
   'revision with context') );
<a id="p124276"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p124277"></a>      a_set := QUERY ( b <* applied_group_assignment |
      ((b.assigned_group = t1_set[i]) AND (b.role.name = 'context of revision')) );
<a id="p124278"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p124279"></a>   END_REPEAT;

<a id="p124280"></a>   WHERE
<a id="p124281"></a>      wr1: (NOT violate);

<a id="p124282"></a>END_RULE; --revision_with_context_referenced_for_context_of_revision

<a id="p124283"></a>RULE ship_curve_has_name FOR (applied_classification_assignment);
<a id="p124284"></a>   LOCAL
<a id="p124285"></a>      violation : LOGICAL := FALSE;
<a id="p124286"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124287"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124288"></a>      arg_list : LIST OF STRING := ['side condition','curve shape');
<a id="p124289"></a>      t2_set : SET OF representation_item := [];
<a id="p124290"></a>   END_LOCAL;
<a id="p124291"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'ship curve') );
<a id="p124292"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124293"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124294"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124295"></a>      END_REPEAT;
<a id="p124296"></a>   END_REPEAT;
<a id="p124297"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124298"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124299"></a>         t2_set := t1_set[i].item_element;
<a id="p124300"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p124301"></a>      END_REPEAT;
<a id="p124302"></a>   END_REPEAT;

<a id="p124303"></a>   WHERE
<a id="p124304"></a>      wr1: (NOT violation);

<a id="p124305"></a>END_RULE; -- ship_curve_has_name

<a id="p124306"></a>RULE ship_curve_segment_has_class FOR (applied_classification_assignment);
<a id="p124307"></a>   LOCAL
<a id="p124308"></a>      t3_set : SET OF representation_item := [];
<a id="p124309"></a>      violation : LOGICAL := FALSE;
<a id="p124310"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124311"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124312"></a>      c_a_set2 : SET OF applied_classification_assignment := [];
<a id="p124313"></a>      l_rep_item : list_representation_item;
<a id="p124314"></a>      t2_set : SET OF compound_representation_item := [];
<a id="p124315"></a>   END_LOCAL;
<a id="p124316"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship curve segment') );
<a id="p124317"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124318"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124319"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124320"></a>      END_REPEAT;
<a id="p124321"></a>   END_REPEAT;
<a id="p124322"></a>   c_a_set2 := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship curve') );
<a id="p124323"></a>   REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;
<a id="p124324"></a>      REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;
<a id="p124325"></a>         t2_set := t2_set + c_a_set2[i].items[j];
<a id="p124326"></a>      END_REPEAT;
<a id="p124327"></a>   END_REPEAT;
<a id="p124328"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124329"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].item_element) BY 1;
<a id="p124330"></a>         l_rep_item := t1_set[i].item_element;
<a id="p124331"></a>         t3_set := t3_set + l_rep_item[j];
<a id="p124332"></a>      END_REPEAT;
<a id="p124333"></a>      violation := SIZEOF(t3_set * t2_set) <> 1;
<a id="p124334"></a>      t3_set := [];
<a id="p124335"></a>   END_REPEAT;

<a id="p124336"></a>   WHERE
<a id="p124337"></a>      wr1: (NOT violation);

<a id="p124338"></a>END_RULE; -- ship_curve_segment_has_class

<a id="p124339"></a>RULE ship_curve_with_spacing_position_has_class FOR (
applied_classification_assignment);
<a id="p124340"></a>   LOCAL
<a id="p124341"></a>      t3_set : SET OF representation_item := [];
<a id="p124342"></a>      violation : LOGICAL := FALSE;
<a id="p124343"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124344"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124345"></a>      c_a_set2 : SET OF applied_classification_assignment := [];
<a id="p124346"></a>      l_rep_item : list_representation_item;
<a id="p124347"></a>      t2_set : SET OF compound_representation_item := [];
<a id="p124348"></a>   END_LOCAL;
<a id="p124349"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship curve with spacing position') );
<a id="p124350"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124351"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124352"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124353"></a>      END_REPEAT;
<a id="p124354"></a>   END_REPEAT;
<a id="p124355"></a>   c_a_set2 := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'spacing position') );
<a id="p124356"></a>   REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;
<a id="p124357"></a>      REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;
<a id="p124358"></a>         t2_set := t2_set + c_a_set2[i].items[j];
<a id="p124359"></a>      END_REPEAT;
<a id="p124360"></a>   END_REPEAT;
<a id="p124361"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124362"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].item_element) BY 1;
<a id="p124363"></a>         l_rep_item := t1_set[i].item_element;
<a id="p124364"></a>         t3_set := t3_set + l_rep_item[j];
<a id="p124365"></a>      END_REPEAT;
<a id="p124366"></a>      violation := SIZEOF(t3_set * t2_set) <> 1;
<a id="p124367"></a>      t3_set := [];
<a id="p124368"></a>   END_REPEAT;

<a id="p124369"></a>   WHERE
<a id="p124370"></a>      wr1: (NOT violation);

<a id="p124371"></a>END_RULE; -- ship_curve_with_spacing_position_has_class

<a id="p124372"></a>RULE ship_designation_has_one_specified_names FOR (
applied_classification_assignment);
<a id="p124373"></a>   LOCAL
<a id="p124374"></a>      violation : LOGICAL := FALSE;
<a id="p124375"></a>      t1_set : SET OF product_definition := [];
<a id="p124376"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124377"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p124378"></a>   END_LOCAL;
<a id="p124379"></a>   c_a_set := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'ship designation') );
<a id="p124380"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124381"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124382"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124383"></a>      END_REPEAT;
<a id="p124384"></a>   END_REPEAT;
<a id="p124385"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124386"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p124387"></a>      violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |
      ((t2_inst.role.name = 'imo number') OR
<a id="p124388"></a>      (t2_inst.role.name = 'pennant hull number')) )) = 1);
<a id="p124389"></a>   END_REPEAT;

<a id="p124390"></a>   WHERE
<a id="p124391"></a>      wr1: (NOT violation);

<a id="p124392"></a>END_RULE; -- ship_designation_has_one_specified_names

<a id="p124393"></a>RULE ship_moulded_form_revision_has_description FOR (
product_definition_relationship);
<a id="p124394"></a>   LOCAL
<a id="p124395"></a>      violate : LOGICAL := FALSE;
<a id="p124396"></a>      t1_set : SET OF product_definition_relationship := [];
<a id="p124397"></a>   END_LOCAL;
<a id="p124398"></a>   t1_set := QUERY ( i <* product_definition_relationship |
   VALUE_IN(which_class(i),'ship moulded form revision') );
<a id="p124399"></a>   violate := SIZEOF(QUERY ( k <* t1_set | (NOT
<a id="p124400"></a>   EXISTS(k.description)) )) > 0;

<a id="p124401"></a>   WHERE
<a id="p124402"></a>      wr1: (NOT violate);

<a id="p124403"></a>END_RULE; -- ship_moulded_form_revision_has_description

<a id="p124404"></a>RULE ship_overall_dimensions_has_properties FOR (
property_definition_representation,applied_classification_assignment);
<a id="p124405"></a>   LOCAL
<a id="p124406"></a>      t3_set : LIST OF property_definition := [];
<a id="p124407"></a>      violation : LOGICAL := FALSE;
<a id="p124408"></a>      t4_set : LIST OF product_definition := [];
<a id="p124409"></a>      t1_set : LIST OF product_definition := [];
<a id="p124410"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124411"></a>      t2_set : SET OF property_definition_representation := [];
<a id="p124412"></a>   END_LOCAL;
<a id="p124413"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship overall dimensions') );
<a id="p124414"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124415"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124416"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124417"></a>      END_REPEAT;
<a id="p124418"></a>   END_REPEAT;
<a id="p124419"></a>   t2_set := QUERY ( i <* property_definition_representation |
   (i.name = 'ship overall dimensions') );
<a id="p124420"></a>   REPEAT i := 1 TO HIINDEX(t2_set) BY 1;
<a id="p124421"></a>      t3_set := t3_set + t2_set[i].definition;
<a id="p124422"></a>   END_REPEAT;
<a id="p124423"></a>   REPEAT i := 1 TO HIINDEX(t3_set) BY 1;
<a id="p124424"></a>      t4_set := t4_set + t3_set[i].definition;
<a id="p124425"></a>   END_REPEAT;
<a id="p124426"></a>   violation := t1_set <> t4_set;

<a id="p124427"></a>   WHERE
<a id="p124428"></a>      wr1: (NOT violation);

<a id="p124429"></a>END_RULE; -- ship_overall_dimensions_has_properties

<a id="p124430"></a>RULE ship_point_compound_representation_has_name FOR (
applied_classification_assignment);
<a id="p124431"></a>   LOCAL
<a id="p124432"></a>      violation : LOGICAL := FALSE;
<a id="p124433"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124434"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124435"></a>      arg_list : LIST OF STRING := ['point shape'];
<a id="p124436"></a>      t2_set : SET OF representation_item := [];
<a id="p124437"></a>   END_LOCAL;
<a id="p124438"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship point') );
<a id="p124439"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124440"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124441"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124442"></a>      END_REPEAT;
<a id="p124443"></a>   END_REPEAT;
<a id="p124444"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124445"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124446"></a>         t2_set := t1_set[i].item_element;
<a id="p124447"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p124448"></a>      END_REPEAT;
<a id="p124449"></a>   END_REPEAT;

<a id="p124450"></a>   WHERE
<a id="p124451"></a>      wr1: (NOT violation);

<a id="p124452"></a>END_RULE; -- ship_point_compound_representation_has_name

<a id="p124453"></a>RULE ship_surface_compound_representation_has_name FOR (
applied_classification_assignment);
<a id="p124454"></a>   LOCAL
<a id="p124455"></a>      violation : LOGICAL := FALSE;
<a id="p124456"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124457"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124458"></a>      arg_list : LIST OF STRING := ['surface shape'];
<a id="p124459"></a>      t2_set : SET OF representation_item := [];
<a id="p124460"></a>   END_LOCAL;
<a id="p124461"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship surface') );
<a id="p124462"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124463"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124464"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124465"></a>      END_REPEAT;
<a id="p124466"></a>   END_REPEAT;
<a id="p124467"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124468"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124469"></a>         t2_set := t1_set[i].item_element;
<a id="p124470"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p124471"></a>      END_REPEAT;
<a id="p124472"></a>   END_REPEAT;

<a id="p124473"></a>   WHERE
<a id="p124474"></a>      wr1: (NOT violation);

<a id="p124475"></a>END_RULE; -- ship_surface_compound_representation_has_name

<a id="p124476"></a>RULE spacing_position_compound_representation_has_name FOR (
applied_classification_assignment);
<a id="p124477"></a>   LOCAL
<a id="p124478"></a>      violation : LOGICAL := FALSE;
<a id="p124479"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124480"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124481"></a>      arg_list : LIST OF STRING := ['position number','position'];
<a id="p124482"></a>      t2_set : SET OF representation_item := [];
<a id="p124483"></a>   END_LOCAL;
<a id="p124484"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'spacing position') );
<a id="p124485"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124486"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124487"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124488"></a>      END_REPEAT;
<a id="p124489"></a>   END_REPEAT;
<a id="p124490"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124491"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124492"></a>         t2_set := t1_set[i].item_element;
<a id="p124493"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p124494"></a>      END_REPEAT;
<a id="p124495"></a>   END_REPEAT;

<a id="p124496"></a>   WHERE
<a id="p124497"></a>      wr1: (NOT violation);

<a id="p124498"></a>END_RULE; -- spacing_position_compound_representation_has_name

<a id="p124499"></a>RULE spacing_position_with_offset_compound_representation_has_class FOR (
applied_classification_assignment);
<a id="p124500"></a>   LOCAL
<a id="p124501"></a>      t3_set : SET OF representation_item := [];
<a id="p124502"></a>      violation : LOGICAL := FALSE;
<a id="p124503"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124504"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124505"></a>      c_a_set2 : SET OF applied_classification_assignment := [];
<a id="p124506"></a>      t2_set : SET OF compound_representation_item := [];
<a id="p124507"></a>   END_LOCAL;
<a id="p124508"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'spacing position with offset') );
<a id="p124509"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124510"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124511"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124512"></a>      END_REPEAT;
<a id="p124513"></a>   END_REPEAT;
<a id="p124514"></a>   c_a_set2 := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'spacing position') );
<a id="p124515"></a>   REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;
<a id="p124516"></a>      REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;
<a id="p124517"></a>         t2_set := t2_set + c_a_set2[i].items[j];
<a id="p124518"></a>      END_REPEAT;
<a id="p124519"></a>   END_REPEAT;
<a id="p124520"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124521"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].item_element) BY 1;
<a id="p124522"></a>         t3_set := t3_set + t1_set[i].item_element;
<a id="p124523"></a>      END_REPEAT;
<a id="p124524"></a>      violation := SIZEOF(t3_set * t2_set) <> 1;
<a id="p124525"></a>      t3_set := [];
<a id="p124526"></a>   END_REPEAT;

<a id="p124527"></a>   WHERE
<a id="p124528"></a>      wr1: (NOT violation);

<a id="p124529"></a>END_RULE; --spacing_position_with_offset_compound_representation_has_class

<a id="p124530"></a>RULE spacing_position_with_offset_compound_representation_has_name FOR (
applied_classification_assignment);
<a id="p124531"></a>   LOCAL
<a id="p124532"></a>      violation : LOGICAL := FALSE;
<a id="p124533"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124534"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124535"></a>      arg_list : LIST OF STRING := ['offset'];
<a id="p124536"></a>      t2_set : SET OF representation_item := [];
<a id="p124537"></a>   END_LOCAL;
<a id="p124538"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'spacing position with offset') );
<a id="p124539"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124540"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124541"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124542"></a>      END_REPEAT;
<a id="p124543"></a>   END_REPEAT;
<a id="p124544"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124545"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124546"></a>         t2_set := t1_set[i].item_element;
<a id="p124547"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p124548"></a>      END_REPEAT;
<a id="p124549"></a>   END_REPEAT;

<a id="p124550"></a>   WHERE
<a id="p124551"></a>      wr1: (NOT violation);

<a id="p124552"></a>END_RULE; --spacing_position_with_offset_compound_representation_has_name

<a id="p124553"></a>RULE stability_properties_for_floating_position_has_class FOR (
applied_classification_assignment);
<a id="p124554"></a>   LOCAL
<a id="p124555"></a>      t3_set : SET OF representation_item := [];
<a id="p124556"></a>      violation : LOGICAL := FALSE;
<a id="p124557"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124558"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124559"></a>      c_a_set2 : SET OF applied_classification_assignment := [];
<a id="p124560"></a>      l_rep_item : list_representation_item;
<a id="p124561"></a>      t2_set : SET OF compound_representation_item := [];
<a id="p124562"></a>   END_LOCAL;
<a id="p124563"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'stability properties for one floating position') );
<a id="p124564"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124565"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124566"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124567"></a>      END_REPEAT;
<a id="p124568"></a>   END_REPEAT;
<a id="p124569"></a>   c_a_set2 := QUERY ( i <* applied_classification_assignment | (i.
   assigned_class.name = 'stability property') );
<a id="p124570"></a>   REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;
<a id="p124571"></a>      REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;
<a id="p124572"></a>         t2_set := t2_set + c_a_set2[i].items[j];
<a id="p124573"></a>      END_REPEAT;
<a id="p124574"></a>   END_REPEAT;
<a id="p124575"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124576"></a>      REPEAT j := 1 TO HIINDEX(t1_set[i].item_element) BY 1;
<a id="p124577"></a>         l_rep_item := t1_set[i].item_element;
<a id="p124578"></a>         t3_set := t3_set + l_rep_item[j];
<a id="p124579"></a>      END_REPEAT;
<a id="p124580"></a>      violation := SIZEOF(t3_set * t2_set) < 1;
<a id="p124581"></a>      t3_set := [];
<a id="p124582"></a>   END_REPEAT;

<a id="p124583"></a>   WHERE
<a id="p124584"></a>      wr1: (NOT violation);

<a id="p124585"></a>END_RULE; -- stability_properties_for_floating_position_has_class

<a id="p124586"></a>RULE stability_properties_for_floating_position_has_name FOR (
applied_classification_assignment);
<a id="p124587"></a>   LOCAL
<a id="p124588"></a>      violation : LOGICAL := FALSE;
<a id="p124589"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124590"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124591"></a>      arg_list : LIST OF STRING := ['centre of gravity above keel',
      'definition of starting floating position'];
<a id="p124592"></a>      t2_set : SET OF representation_item := [];
<a id="p124593"></a>   END_LOCAL;
<a id="p124594"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'stability properties for one floating position') );
<a id="p124595"></a>   REPEAT i:= 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124596"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124597"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124598"></a>      END_REPEAT;
<a id="p124599"></a>   END_REPEAT;
<a id="p124600"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124601"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124602"></a>         t2_set := t1_set[i].item_element;
<a id="p124603"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p124604"></a>      END_REPEAT;
<a id="p124605"></a>   END_REPEAT;

<a id="p124606"></a>   WHERE
<a id="p124607"></a>      wr1: (NOT violation);

<a id="p124608"></a>END_RULE; -- stability_properties_for_floating_position_has_name

<a id="p124609"></a>RULE stability_property_has_name FOR
(applied_classification_assignment);
<a id="p124610"></a>   LOCAL
<a id="p124611"></a>      violation : LOGICAL := FALSE;
<a id="p124612"></a>      t1_set : SET OF compound_representation_item := [];
<a id="p124613"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124614"></a>      arg_list : LIST OF STRING := ['angle of heel','righting arm',
      'centre of buoyancy'];
<a id="p124615"></a>      t2_set : SET OF representation_item := [];
<a id="p124616"></a>   END_LOCAL;
<a id="p124617"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'stability property') );
<a id="p124618"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124619"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124620"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124621"></a>      END_REPEAT;
<a id="p124622"></a>   END_REPEAT;
<a id="p124623"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124624"></a>      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124625"></a>         t2_set := t1_set[i].item_element;
<a id="p124626"></a>         violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1;
<a id="p124627"></a>      END_REPEAT;
<a id="p124628"></a>   END_REPEAT;

<a id="p124629"></a>   WHERE
<a id="p124630"></a>      wr1: (NOT violation);

<a id="p124631"></a>END_RULE; -- stability_property_has_name

<a id="p124632"></a>RULE surface with identification assignment FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);
<a id="p124633"></a>   LOCAL
<a id="p124634"></a>      c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
<a id="p124635"></a>      t1_set: SET OF surface := [];
<a id="p124636"></a>      t2_set: SET OF applied_identification_assignment := [];
<a id="p124637"></a>      arg_list: LIST OF STRING := ['surface with identifier'];
<a id="p124638"></a>      violation: LOGICAL := FALSE;
<a id="p124639"></a>   END_LOCAL;

<a id="p124640"></a>   (* get all classification_assignment instances *)
<a id="p124641"></a>   REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
<a id="p124642"></a>     c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
     i.assigned class.NAME = arg LIST[j]);
<a id="p124643"></a>   END_REPEAT;

<a id="p124644"></a>   (* get all instances of surface that have class id *)
<a id="p124645"></a>   REPEAT i := 1 TO HIINDEX(c_a_set);
<a id="p124646"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
<a id="p124647"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124648"></a>      END_REPEAT;
<a id="p124649"></a>   END_REPEAT;
<a id="p124650"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124651"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p124652"></a>      t2_set := QUERY ( j <* t2_set |
      j.role.name = 'globally unambiguous identifier');
<a id="p124653"></a>      violation := NOT (SIZEOF(T2_SET) = 1);
<a id="p124654"></a>   END_REPEAT;

<a id="p124655"></a>   WHERE
<a id="p124656"></a>      wr1: NOT violation;

<a id="p124657"></a>END_RULE; -- surface_with_identification_assignment

<a id="p124658"></a>RULE unique_approvals_in_approval_history FOR (group,
applied_group_assignment);
<a id="p124659"></a>   LOCAL
<a id="p124660"></a>      violate : LOGICAL := FALSE;
<a id="p124661"></a>      t3_set : SET OF approval := [];
<a id="p124662"></a>      t1_set : SET OF group := [];
<a id="p124663"></a>      t2_set : SET OF applied_group_assignment := [];
<a id="p124664"></a>   END_LOCAL;
<a id="p124665"></a>   t1_set := QUERY ( i <* group | VALUE_IN(which_class(i),
   'approval history') );
<a id="p124666"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p124667"></a>      t2_set := QUERY ( a <* applied_group_assignment |
      (a.assigned_group = t1_set[i]) );
<a id="p124668"></a>      t3_set := QUERY ( b <* t2_set[1].items | (
      'SHIP_MOULDED_FORM_SCHEMA.APPROVAL' IN TYPEOF(b)) );
<a id="p124669"></a>      violate := NOT VALUE_UNIQUE(t3_set);
<a id="p124670"></a>   END_REPEAT;

<a id="p124671"></a>   WHERE
<a id="p124672"></a>      wr1: (NOT violate);

<a id="p124673"></a>END_RULE; -- unique_approvals_in_approval_history

<a id="p124674"></a>RULE user_def_appendage_type_description_required FOR (representation);
<a id="p124675"></a>   LOCAL
<a id="p124676"></a>      violation : LOGICAL := FALSE;
<a id="p124677"></a>   END_LOCAL;
<a id="p124678"></a>   REPEAT i := 1 TO HIINDEX(representation) BY 1 WHILE NOT violation;
<a id="p124679"></a>      violation := (SIZEOF(QUERY ( r <* representation[i].items | ((
      'SHIP_MOULDED_FORM_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN
      TYPEOF(r)) AND (r.name = 'type of appendage') AND (r\
      descriptive_representation_item.description = 'user defined')) ))
      > 0) AND (SIZEOF(QUERY ( r <* representation[i].items |
      (r.name = 'user def appendage type') )) = 0);
<a id="p124680"></a>   END_REPEAT;

<a id="p124681"></a>   WHERE
<a id="p124682"></a>      wr1: (NOT violation);

<a id="p124683"></a>END_RULE; -- user_def_appendage_type_description_required

<a id="p124684"></a>RULE user_def_function_description_required FOR (representation);
<a id="p124685"></a>   LOCAL
<a id="p124686"></a>      violation : LOGICAL := FALSE;
<a id="p124687"></a>   END_LOCAL;
<a id="p124688"></a>   REPEAT i := 1 TO HIINDEX(representation) BY 1 WHILE NOT violation;
<a id="p124689"></a>      violation := (SIZEOF(QUERY ( r <* representation[i].items | ((
      'SHIP_MOULDED_FORM_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN
      TYPEOF(r)) AND (r.name = 'function') AND (r\
      descriptive_representation_item.description = 'user defined')) ))
      > 0) AND (SIZEOF(QUERY ( r <* representation[i].items |
      (r.name = 'user def function') )) = 0);
<a id="p124690"></a>   END_REPEAT;

<a id="p124691"></a>   WHERE
<a id="p124692"></a>      wr1: (NOT violation);

<a id="p124693"></a>END_RULE; -- user_def_function_description_required

<a id="p124694"></a>RULE valid_product_definition_for_class_moulded_form FOR (
applied_classification_assignment, applied_group_assignment);
<a id="p124695"></a>   LOCAL
<a id="p124696"></a>      violation : LOGICAL := FALSE;
<a id="p124697"></a>      t1_set : SET OF product_definition := [];
<a id="p124698"></a>      violate1 : LOGICAL;
<a id="p124699"></a>      violate2 : LOGICAL;
<a id="p124700"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124701"></a>      gr_ass : SET OF applied_group_assignment := [];
<a id="p124702"></a>      groups : SET OF group := [];
<a id="p124703"></a>   END_LOCAL;
<a id="p124704"></a>   c_a_set := QUERY ( i <* applied_classification_assignment |
   (i.assigned_class.name = 'ship moulded form') );
<a id="p124705"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124706"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124707"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124708"></a>      END_REPEAT;
<a id="p124709"></a>   END_REPEAT;
<a id="p124710"></a>   gr_ass := QUERY ( i <* applied_group_assignment | (i.role.name = 'equivalence') );
<a id="p124711"></a>   REPEAT i := 1 TO HIINDEX(gr_ass) BY 1;
<a id="p124712"></a>      REPEAT j := 1 TO HIINDEX(gr_ass[i].items) BY 1;
<a id="p124713"></a>         IF gr_ass[i].items[j] IN t1_set THEN
            groups := groups + gr_ass[i].assigned_group;
<a id="p124714"></a>         END_IF;
<a id="p124715"></a>      END_REPEAT;
<a id="p124716"></a>   END_REPEAT;
<a id="p124717"></a>   gr_ass := QUERY ( i <* applied_group_assignment |
   ((SIZEOF(i.items) <> 0) AND (i.role.name = 'item structure') AND
   (i.assigned_group IN groups)) );
<a id="p124718"></a>   REPEAT i := 1 TO HIINDEX(gr_ass) BY 1 WHILE NOT violation;
<a id="p124719"></a>      REPEAT j := 1 TO HIINDEX(gr_ass[i].items) BY 1 WHILE NOT violation;
<a id="p124720"></a>         violate1 := VALUE_IN(which_class(gr_ass[i].items[j]), 'moulded form');
<a id="p124721"></a>         violate2 := VALUE_IN(which_class(gr_ass[i].items[j]), 'moulded form relationship');
<a id="p124722"></a>         violation := NOT (violate1 OR violate2);
<a id="p124723"></a>      END_REPEAT;
<a id="p124724"></a>   END_REPEAT;

<a id="p124725"></a>   WHERE
<a id="p124726"></a>      wr1: (NOT violation);

<a id="p124727"></a>END_RULE; -- valid_product_definition_for_class_moulded_form

<a id="p124728"></a>RULE version_creation_has_mandatory_attribute_description FOR (action);
<a id="p124729"></a>   LOCAL
<a id="p124730"></a>      violate : LOGICAL := FALSE;
<a id="p124731"></a>      t1_set : SET OF action := [];
<a id="p124732"></a>   END_LOCAL;
<a id="p124733"></a>   t1_set := QUERY ( i <* action | VALUE_IN(which_class(i),
   'version creation') );
<a id="p124734"></a>   violate := SIZEOF(QUERY ( k <* t1_set | (NOT EXISTS(k.description)) )) > 0;

<a id="p124735"></a>   WHERE
<a id="p124736"></a>      wr1: (NOT violate);

<a id="p124737"></a>END_RULE; -- version_creation_has_mandatory_attribute_description

<a id="p124738"></a>RULE version_deletion_has_mandatory_attribute_description FOR (action);
<a id="p124739"></a>   LOCAL
<a id="p124740"></a>      violate : LOGICAL := FALSE;
<a id="p124741"></a>      t1_set : SET OF action := [];
<a id="p124742"></a>   END_LOCAL;
<a id="p124743"></a>   t1_set := QUERY ( i <* action | VALUE_IN(which_class(i),'version deletion') );
<a id="p124744"></a>   violate := SIZEOF(QUERY ( k <* t1_set | (NOT EXISTS(k.description)) )) > 0;

<a id="p124745"></a>   WHERE
<a id="p124746"></a>      wr1: (NOT violate);

<a id="p124747"></a>END_RULE; -- version_deletion_has_mandatory_attribute_description

<a id="p124748"></a>RULE version_history_has_exactly_one_assigned_group FOR (
applied_group_assignment, group);
<a id="p124749"></a>   LOCAL
<a id="p124750"></a>      violate : LOGICAL := FALSE;
<a id="p124751"></a>      t1_set : SET OF group := [];
<a id="p124752"></a>      set_1 : SET OF applied_group_assignment := [];
<a id="p124753"></a>      set_3 : SET OF group_item := [];
<a id="p124754"></a>      set_2 : SET OF applied_group_assignment := [];
<a id="p124755"></a>   END_LOCAL;
<a id="p124756"></a>   t1_set := QUERY ( a <* group | VALUE_IN(which_class(a),
   'version history') );
<a id="p124757"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p124758"></a>      set_1 := QUERY ( b <* applied_group_assignment |
      ((b.assigned_group = t1_set[i]) AND (b.role.name = 'current version')) );
<a id="p124759"></a>      set_2 := QUERY ( c <* applied_group_assignment |
      ((c.assigned_group = t1_set[i]) AND (c.role.name = 'members')) );
<a id="p124760"></a>      violate := (SIZEOF(set_1) <> 1) OR (SIZEOF(set_2) <> 1);
<a id="p124761"></a>      IF NOT violate THEN set_3 := set_1[1].items * set_2[1].items;
<a id="p124762"></a>         violate := (SIZEOF(set_3) <> 1) OR (NOT
         VALUE_IN(which_class(set_3 [1]),'versionable object'));
<a id="p124763"></a>      END_IF;
<a id="p124764"></a>   END_REPEAT;

<a id="p124765"></a>   WHERE
<a id="p124766"></a>      wr1: (NOT violate);

<a id="p124767"></a>END_RULE; -- version_history_has_exactly_one_assigned_group

<a id="p124768"></a>RULE version_history_is_referenced_by_at_least_one_versions FOR (
applied_group_assignment, group);
<a id="p124769"></a>   LOCAL
<a id="p124770"></a>      violate : LOGICAL := FALSE;
<a id="p124771"></a>      t1_set : SET OF group := [];
<a id="p124772"></a>      a_set : SET OF applied_group_assignment := [];
<a id="p124773"></a>   END_LOCAL;
<a id="p124774"></a>   t1_set := QUERY ( a <* group | VALUE_IN(which_class(a),
   'version history') );
<a id="p124775"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p124776"></a>      a_set := QUERY ( b <* applied_group_assignment |
      ((b.assigned_group = t1_set[i]) AND (b.role.name = 'versions')) );
<a id="p124777"></a>      violate := SIZEOF(a_set) < 1;
<a id="p124778"></a>   END_REPEAT;

<a id="p124779"></a>   WHERE
<a id="p124780"></a>      wr1: (NOT violate);

<a id="p124781"></a>END_RULE; --version_history_is_referenced_by_at_least_one_versions

<a id="p124782"></a>RULE version_history_referenced_by_exactly_one_current_version FOR (
applied_group_assignment, group);
<a id="p124783"></a>   LOCAL
<a id="p124784"></a>      violate : LOGICAL := FALSE;
<a id="p124785"></a>      t1_set : SET OF group := [];
<a id="p124786"></a>      a_set : SET OF applied_group_assignment := [];
<a id="p124787"></a>   END_LOCAL;
<a id="p124788"></a>   t1_set := QUERY ( a <* group | VALUE_IN(which_class(a),
   'version history') );
<a id="p124789"></a>   REPEAT := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p124790"></a>      a_set := QUERY ( b <* applied_group_assignment |
      ((b.assigned_group = t1_set[i]) AND (b.role.name = 'current version')) );
<a id="p124791"></a>      violate := SIZEOF(a_set) <> 1;
<a id="p124792"></a>   END_REPEAT;

<a id="p124793"></a>   WHERE
<a id="p124794"></a>      wr1: (NOT violate);

<a id="p124795"></a>END_RULE; -- version_history_referenced_by_exactly_one_current_version

<a id="p124796"></a>RULE version_history_referenced_by_multiple_roles FOR (
applied_group_assignment, group);
<a id="p124797"></a>   LOCAL
<a id="p124798"></a>      violate : LOGICAL := FALSE;
<a id="p124799"></a>      t1_set : SET OF group := [];
<a id="p124800"></a>      a_set : SET OF applied_group_assignment := [];
<a id="p124801"></a>   END_LOCAL;
<a id="p124802"></a>   t1_set := QUERY ( a <* group | VALUE_IN(which_class(a),
   'version history') );
<a id="p124803"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p124804"></a>      a_set := QUERY ( b <* applied_group_assignment |
      ((b.assigned_group = t1_set[i]) AND (NOT (b.role.name IN ['versions',
      'current version','relationships']))) );
<a id="p124805"></a>      violate := SIZEOF(a_set) < 1;
<a id="p124806"></a>   END_REPEAT;

<a id="p124807"></a>   WHERE
<a id="p124808"></a>      wr1: (NOT violate);

<a id="p124809"></a>END_RULE; -- version_history_referenced_by_multiple_roles

<a id="p124810"></a>RULE version_modification_has_mandatory_attribute_description FOR (action);
<a id="p124811"></a>   LOCAL
<a id="p124812"></a>      violate : LOGICAL := FALSE;
<a id="p124813"></a>      t1_set : SET OF action := [];
<a id="p124814"></a>   END_LOCAL;
<a id="p124815"></a>   t1_set := QUERY ( i <* action | VALUE_IN(which_class(i),
   'version modification') );
<a id="p124816"></a>   violate := SIZEOF(QUERY ( k <* t1_set | (NOT EXISTS(k.description)) )) > 0;

<a id="p124817"></a>   WHERE
<a id="p124818"></a>      wr1: (NOT violate);

<a id="p124819"></a>END_RULE; --version_modification_has_mandatory_attribute_description

<a id="p124820"></a>RULE version_relationship_associates_with_versionable_object FOR (
applied_identification_assignment);
<a id="p124821"></a>   LOCAL
<a id="p124822"></a>      violate : LOGICAL := FALSE;
<a id="p124823"></a>   END_LOCAL;
<a id="p124824"></a>   REPEAT i := 1 TO HIINDEX(applied_identification_assignment) BY 1
<a id="p124825"></a>      WHILE NOT violate;
<a id="p124826"></a>      IF (SIZEOF(USEDIN(applied_identification_assignment[i],'SHIP_MOULDED_FO
         RM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'
         + 'RELATING_IDENTIFICATION_ASSIGNMENT')) > 0) OR
         (SIZEOF(USEDIN(applied_identification_assignment[i],
         'SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'
         + 'RELATED_IDENTIFICATION_ASSIGNMENT')) > 0) THEN
         REPEAT j := 1 TO HIINDEX(applied_identification_assignment[i].items) BY 1 WHILE NOT violate;
<a id="p124827"></a>            violate := NOT VALUE_IN(which_class(applied_identification_assignment[i].items[j]),
            'versionable object');
<a id="p124828"></a>         END_REPEAT;
<a id="p124829"></a>      END_IF;
<a id="p124830"></a>   END_REPEAT;

<a id="p124831"></a>   WHERE
<a id="p124832"></a>      wr1: (NOT violate);

<a id="p124833"></a>END_RULE; --version_relationship_associates_with_versionable_object

<a id="p124834"></a>RULE version_relationship_has_mandatory_attribute_description FOR (
identification_assignment_relationship);
<a id="p124835"></a>   LOCAL
<a id="p124836"></a>      violate : LOGICAL := FALSE;
<a id="p124837"></a>      t1_set : SET OF identification_assignment_relationship := [];
<a id="p124838"></a>   END_LOCAL;
<a id="p124839"></a>   t1_set := QUERY ( i <* identification_assignment_relationship |
   VALUE_IN(which_class(i),'version relationship') );
<a id="p124840"></a>   violate := SIZEOF(QUERY ( k <* t1_set | (NOT EXISTS(k.description)) )) > 0;

<a id="p124841"></a>   WHERE
<a id="p124842"></a>      wr1: (NOT violate);

<a id="p124843"></a>END_RULE; --version_relationship_has_mandatory_attribute_description

<a id="p124844"></a>RULE version_relationship_has_unique_versions FOR (
identification_assignment_relationship);
<a id="p124845"></a>   LOCAL
<a id="p124846"></a>      violate : LOGICAL := FALSE;
<a id="p124847"></a>      t1_set : SET OF identification_assignment_relationship := [];
<a id="p124848"></a>   END_LOCAL;
<a id="p124849"></a>   t1_set := QUERY ( a <* identification_assignment_relationship |
   VALUE_IN(which_class(a),'version relationship') );
<a id="p124850"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p124851"></a>      violate := t1_set[i].relating_identification_assignment.assigned_id
      = t1_set[i].related_identification_assignment.assigned_id;
<a id="p124852"></a>   END_REPEAT;

<a id="p124853"></a>   WHERE
<a id="p124854"></a>      wr1: (NOT violate);

<a id="p124855"></a>END_RULE; -- version_relationship_has_unique_versions

<a id="p124856"></a>RULE versionable_object_has_one_version_id FOR (
applied_identification_assignment);
<a id="p124857"></a>   LOCAL
<a id="p124858"></a>      version_ids : SET OF applied_identification_assignment := [];
<a id="p124859"></a>      duplicate : LOGICAL := FALSE;
<a id="p124860"></a>      versionable_objects : BAG OF identification_item := [];
<a id="p124861"></a>   END_LOCAL;
<a id="p124862"></a>   version_ids := QUERY ( i <* applied_identification_assignment |
   (i.role.name = 'version identifier') );
<a id="p124863"></a>   REPEAT i := 1 TO HIINDEX(version_ids) BY 1;
<a id="p124864"></a>      versionable_objects := versionable_objects + version_ids[i].items;
<a id="p124865"></a>  END_REPEAT;
<a id="p124866"></a>  REPEAT i := 1 TO HIINDEX(versionable_objects) BY 1 WHILE NOT duplicate;
<a id="p124867"></a>      REPEAT j := i + 1 TO HIINDEX(versionable_objects) BY 1 WHILE NOT duplicate;
<a id="p124868"></a>         duplicate := versionable_objects[i] :=: versionable_objects[j];
<a id="p124869"></a>      END_REPEAT;
<a id="p124870"></a>   END_REPEAT;

<a id="p124871"></a>   WHERE
<a id="p124872"></a>      wr1: (NOT duplicate);

<a id="p124873"></a>END_RULE; -- versionable_object_has_one_version_id

<a id="p124874"></a>RULE versioned_action_request_with_identification_assignment FOR (
applied_classification_assignment);
<a id="p124875"></a>   LOCAL
<a id="p124876"></a>      violation : LOGICAL := FALSE;
<a id="p124877"></a>      t1_set : SET OF versioned_action_request := [];
<a id="p124878"></a>      c_a_set : SET OF applied_classification_assignment := [];
<a id="p124879"></a>      arg_list : LIST OF STRING := ['change request'];
<a id="p124880"></a>      t2_set : SET OF applied_identification_assignment := [];
<a id="p124881"></a>   END_LOCAL;
<a id="p124882"></a>   REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
<a id="p124883"></a>      c_a_set := QUERY ( i <* applied_classification_assignment |
      (i.assigned_class.name = arg_list[j]) );
<a id="p124884"></a>   END_REPEAT;
<a id="p124885"></a>   REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
<a id="p124886"></a>      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
<a id="p124887"></a>         t1_set := t1_set + c_a_set[i].items[j];
<a id="p124888"></a>      END_REPEAT;
<a id="p124889"></a>   END_REPEAT;
<a id="p124890"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
<a id="p124891"></a>      t2_set := bag_to_set(USEDIN(t1_set[i],
      'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
<a id="p124892"></a>      t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') );
<a id="p124893"></a>      violation := NOT (SIZEOF(t2_set) = 1);
<a id="p124894"></a>   END_REPEAT;

<a id="p124895"></a>   WHERE
<a id="p124896"></a>      wr1: (NOT violation);

<a id="p124897"></a>END_RULE; --versioned_action_request_with_identification_assignment

<a id="p124898"></a>RULE versions_is_referenced_by_at_least_one_version_history FOR (
applied_group_assignment, group);
<a id="p124899"></a>   LOCAL
<a id="p124900"></a>      violate : LOGICAL := FALSE;
<a id="p124901"></a>      t1_set : SET OF group := [];
<a id="p124902"></a>      a_set : SET OF applied_group_assignment := [];
<a id="p124903"></a>   END_LOCAL;
<a id="p124904"></a>   t1_set := QUERY ( a <* group |
   VALUE_IN(which_class(a),'versions') );
<a id="p124905"></a>   REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
<a id="p124906"></a>      a_set := QUERY ( b <* applied_group_assignment |
      ((b.assigned_group = t1_set[i]) AND (b.role.name = 'version history')) );
<a id="p124907"></a>      violate := SIZEOF(a_set) < 1;
<a id="p124908"></a>   END_REPEAT;

<a id="p124909"></a>   WHERE
<a id="p124910"></a>      wr1: (NOT violate);

<a id="p124911"></a>END_RULE; --versions_is_referenced_by_at_least_one_version_history

<a id="p124912"></a>FUNCTION acyclic_curve_replica(
<a id="p124913"></a>        rep: curve_replica;
<a id="p124914"></a>        parent: curve
<a id="p124915"></a>   ): BOOLEAN;
<a id="p124916"></a>   IF NOT ('SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA' IN TYPEOF(parent))
<a id="p124917"></a>      THEN
<a id="p124918"></a>      RETURN(TRUE);
<a id="p124919"></a>   END_IF;
<a id="p124920"></a>   IF parent :=: rep THEN
<a id="p124921"></a>      RETURN(FALSE);
<a id="p124922"></a>      ELSE
<a id="p124923"></a>      RETURN(acyclic_curve_replica(rep,parent\curve_replica.parent_curve));
<a id="p124924"></a>   END_IF;

<a id="p124925"></a>END_FUNCTION; -- acyclic_curve_replica

<a id="p124926"></a>FUNCTION acyclic_mapped_representation(
<a id="p124927"></a>      parent_set: SET OF representation;
<a id="p124928"></a>      children_set: SET OF representation_item
<a id="p124929"></a>   ): BOOLEAN;
<a id="p124930"></a>   LOCAL
<a id="p124931"></a>      x : SET OF representation_item;
<a id="p124932"></a>      y : SET OF representation_item;
<a id="p124933"></a>   END_LOCAL;
<a id="p124934"></a>   x := QUERY ( z <* children_set | ('SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM' IN TYPEOF(z)) );
<a id="p124935"></a>   IF SIZEOF(x) > 0 THEN
<a id="p124936"></a>      REPEAT i := 1 TO HIINDEX(x) BY 1;
<a id="p124937"></a>         IF x[i]\mapped_item.mapping_source.mapped_representation IN
<a id="p124938"></a>            parent_set THEN
<a id="p124939"></a>            RETURN(FALSE);
<a id="p124940"></a>         END_IF;
<a id="p124941"></a>         IF NOT acyclic_mapped_representation(parent_set +
            x[i]\mapped_item.mapping_source.mapped_representation,
            x[i]\mapped_item.mapping_source.mapped_representation.items) THEN RETURN(FALSE);
<a id="p124942"></a>         END_IF;
<a id="p124943"></a>      END_REPEAT;
<a id="p124944"></a>   END_IF;
<a id="p124945"></a>   x := children_set - x;
<a id="p124946"></a>   IF SIZEOF(x) > 0 THEN
<a id="p124947"></a>      REPEAT i := 1 TO HIINDEX(x) BY 1;
<a id="p124948"></a>         y := QUERY ( z <* bag_to_set(USEDIN(x[i],'')) | (
         'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION_ITEM' IN
         TYPEOF(z)) );
<a id="p124949"></a>         IF NOT acyclic_mapped_representation(parent_set,y) THEN
            RETURN(FALSE);
<a id="p124950"></a>         END_IF;
<a id="p124951"></a>      END_REPEAT;
<a id="p124952"></a>   END_IF;
<a id="p124953"></a>   RETURN(TRUE);

<a id="p124954"></a>END_FUNCTION; -- acyclic_mapped_representation

<a id="p124955"></a>FUNCTION acyclic_point_replica(
<a id="p124956"></a>      rep: point_replica;
<a id="p124957"></a>      parent: point
<a id="p124958"></a>   ): BOOLEAN;
<a id="p124959"></a>   IF NOT ('SHIP_MOULDED_FORM_SCHEMA.POINT_REPLICA' IN TYPEOF(parent))
<a id="p124960"></a>      THEN RETURN(TRUE);
<a id="p124961"></a>   END_IF;
<a id="p124962"></a>   IF parent :=: rep THEN RETURN(FALSE);
<a id="p124963"></a>      ELSE
<a id="p124964"></a>      RETURN(acyclic_point_replica(rep,parent\point_replica.parent_pt));
<a id="p124965"></a>   END_IF;

<a id="p124966"></a>END_FUNCTION; -- acyclic_point_replica

<a id="p124967"></a>FUNCTION acyclic_product_category_relationship(
<a id="p124968"></a>      relation: product_category_relationship;
<a id="p124969"></a>      children: SET OF product_category
<a id="p124970"></a>   ): BOOLEAN;
<a id="p124971"></a>   LOCAL
<a id="p124972"></a>      x : SET OF product_category_relationship;
<a id="p124973"></a>      local_children : SET OF product_category;
<a id="p124974"></a>   END_LOCAL;
<a id="p124975"></a>   REPEAT i := 1 TO HIINDEX(children) BY 1;
<a id="p124976"></a>      IF relation.category :=: children[i] THEN
<a id="p124977"></a>         RETURN(FALSE);
<a id="p124978"></a>      END_IF;
<a id="p124979"></a>   END_REPEAT;
<a id="p124980"></a>   x := bag_to_set(USEDIN(relation.category,'SHIP_MOULDED_FORM_SCHEMA.' +
   'PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY'));
<a id="p124981"></a>   local_children := children + relation.category;
<a id="p124982"></a>   IF SIZEOF(x) > 0 THEN
<a id="p124983"></a>      REPEAT i := 1 TO HIINDEX(x) BY 1;
<a id="p124984"></a>         IF NOT
<a id="p124985"></a>            acyclic_product_category_relationship(x[i],local_children)
            THEN RETURN(FALSE);
<a id="p124986"></a>         END_IF;
<a id="p124987"></a>      END_REPEAT;
<a id="p124988"></a>   END_IF;
<a id="p124989"></a>   RETURN(TRUE);

<a id="p124990"></a>END_FUNCTION; -- acyclic_product_category_relationship

<a id="p124991"></a>FUNCTION acyclic_surface_replica(
<a id="p124992"></a>   rep: surface_replica;
<a id="p124993"></a>   parent: surface
<a id="p124994"></a>   ): BOOLEAN;
<a id="p124995"></a>   IF NOT ('SHIP_MOULDED_FORM_SCHEMA.SURFACE_REPLICA' IN
<a id="p124996"></a>      TYPEOF(parent))
<a id="p124997"></a>      THEN
<a id="p124998"></a>      RETURN(TRUE);
<a id="p124999"></a>   END_IF;
<a id="p125000"></a>   IF parent :=: rep THEN
<a id="p125001"></a>      RETURN(FALSE);
<a id="p125002"></a>      ELSE
<a id="p125003"></a>      RETURN(acyclic_surface_replica(rep,parent\surface_replica.parent_surface));
<a id="p125004"></a>   END_IF;

<a id="p125005"></a>END_FUNCTION; -- acyclic_surface_replica

<a id="p125006"></a>FUNCTION associated_surface(
<a id="p125007"></a>      arg: pcurve_or_surface
<a id="p125008"></a>   ): surface;
<a id="p125009"></a>   LOCAL
<a id="p125010"></a>      surf : surface;
<a id="p125011"></a>   END_LOCAL;
<a id="p125012"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(arg) THEN
<a id="p125013"></a>      surf := arg.basis_surface;
<a id="p125014"></a>      ELSE
<a id="p125015"></a>      surf := arg;
<a id="p125016"></a>   END_IF;
<a id="p125017"></a>   RETURN(surf);

<a id="p125018"></a>END_FUNCTION; -- associated_surface

<a id="p125019"></a>FUNCTION bag_to_set(
<a id="p125020"></a>      the_bag: BAG OF GENERIC:intype
<a id="p125021"></a>   ): SET OF GENERIC:intype;
<a id="p125022"></a>   LOCAL
<a id="p125023"></a>      the_set : SET OF GENERIC:intype := [];
<a id="p125024"></a>   END_LOCAL;
<a id="p125025"></a>   IF SIZEOF(the_bag) > 0 THEN
<a id="p125026"></a>      REPEAT i := 1 TO HIINDEX(the_bag) BY 1;
<a id="p125027"></a>         the_set := the_set + the_bag[i];
<a id="p125028"></a>      END_REPEAT;
<a id="p125029"></a>   END_IF;
<a id="p125030"></a>   RETURN(the_set);

<a id="p125031"></a>END_FUNCTION; -- bag_to_set

<a id="p125032"></a>FUNCTION base_axis(
<a id="p125033"></a>      dim: INTEGER;
<a id="p125034"></a>      axis1, axis2, axis3: direction
<a id="p125035"></a>   ): LIST [2:3] OF direction;
<a id="p125036"></a>   LOCAL
<a id="p125037"></a>      u : LIST [2:3] OF direction;
<a id="p125038"></a>      d1 : direction;
<a id="p125039"></a>      d2 : direction;
<a id="p125040"></a>      factor : REAL;
<a id="p125041"></a>   END_LOCAL;
<a id="p125042"></a>   IF dim = 3 THEN
<a id="p125043"></a>      d1 := NVL(normalise(axis3),dummy_gri || direction([0,0,1]));
<a id="p125044"></a>      d2 := first_proj_axis(d1,axis1);
<a id="p125045"></a>      u := [d2,second_proj_axis(d1,d2,axis2),d1];
<a id="p125046"></a>      ELSE
<a id="p125047"></a>      IF EXISTS(axis1) THEN
<a id="p125048"></a>         d1 := normalise(axis1);
<a id="p125049"></a>         u := [d1,orthogonal_complement(d1)];
<a id="p125050"></a>         IF EXISTS(axis2) THEN
<a id="p125051"></a>            factor := dot_product(axis2,u[2]);
<a id="p125052"></a>            IF factor < 0 THEN
<a id="p125053"></a>               u[2].direction_ratios[1] := -u[2].direction_ratios[1];
<a id="p125054"></a>               u[2].direction_ratios[2] := -u[2].direction_ratios[2];
<a id="p125055"></a>            END_IF;
<a id="p125056"></a>         END_IF;
<a id="p125057"></a>         ELSE
<a id="p125058"></a>         IF EXISTS(axis2) THEN
<a id="p125059"></a>            d1 := normalise(axis2);
<a id="p125060"></a>            u := [orthogonal_complement(d1),d1];
<a id="p125061"></a>            u[1].direction_ratios[1] := -u[1].direction_ratios[1];
<a id="p125062"></a>            u[1].direction_ratios[2] := -u[1].direction_ratios[2];
<a id="p125063"></a>            ELSE;
<a id="p125064"></a>            u := [dummy_gri || direction([1,0]),dummy_gri ||
            direction([0,1])];
<a id="p125065"></a>         END_IF;
<a id="p125066"></a>      END_IF;
<a id="p125067"></a>   END_IF;
<a id="p125068"></a>   RETURN(u);

<a id="p125069"></a>END_FUNCTION; -- base_axis

<a id="p125070"></a>FUNCTION boolean_choose(
<a id="p125071"></a>      b: BOOLEAN;
<a id="p125072"></a>      choice1: GENERIC:item;
<a id="p125073"></a>      choice2: GENERIC:item
<a id="p125074"></a>   ): GENERIC:item;
<a id="p125075"></a>   IF b THEN
<a id="p125076"></a>      RETURN(choice1);
<a id="p125077"></a>      ELSE
<a id="p125078"></a>      RETURN(choice2);
<a id="p125079"></a>   END_IF;

<a id="p125080"></a>END_FUNCTION; -- boolean_choose

<a id="p125081"></a>FUNCTION build_2axes(
<a id="p125082"></a>      ref_direction: direction
<a id="p125083"></a>   ): LIST [2:2] OF direction;
<a id="p125084"></a>   LOCAL
<a id="p125085"></a>      d : direction := NVL(normalise(ref_direction),dummy_gri ||
      direction([1,0]));
<a id="p125086"></a>   END_LOCAL;
<a id="p125087"></a>   RETURN([d,orthogonal_complement(d)]);

<a id="p125088"></a>END_FUNCTION; -- build_2axes

<a id="p125089"></a>FUNCTION build_axes(
<a id="p125090"></a>      axis, ref_direction: direction
<a id="p125091"></a>   ): LIST [3:3] OF direction;
<a id="p125092"></a>   LOCAL
<a id="p125093"></a>      d1 : direction;
<a id="p125094"></a>      d2 : direction;
<a id="p125095"></a>   END_LOCAL;
<a id="p125096"></a>   d1 := NVL(normalise(axis),dummy_gri || direction([0,0,1]));
<a id="p125097"></a>   d2 := first_proj_axis(d1,ref_direction);
<a id="p125098"></a>   RETURN([d2,normalise(cross_product(d1,d2)).orientation,d1]);

<a id="p125099"></a>END_FUNCTION; -- build_axes

<a id="p125100"></a>FUNCTION closed_shell_reversed(
<a id="p125101"></a>      a_shell: closed_shell
<a id="p125102"></a>   ): oriented_closed_shell;
<a id="p125103"></a>   LOCAL
<a id="p125104"></a>      the_reverse : oriented_closed_shell;
<a id="p125105"></a>   END_LOCAL;
<a id="p125106"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_CLOSED_SHELL' IN
<a id="p125107"></a>      TYPEOF(a_shell)
<a id="p125108"></a>      THEN
<a id="p125109"></a>      the_reverse := dummy_tri || connected_face_set(a_shell\
      connected_face_set.cfs_faces) || closed_shell() ||
      oriented_closed_shell(a_shell\oriented_closed_shell.closed_shell_element,NOT
      a_shell\oriented_closed_shell.orientation);
<a id="p125110"></a>      ELSE
<a id="p125111"></a>      the_reverse := dummy_tri || connected_face_set(a_shell\connected_face_set.cfs_faces)
      || closed_shell() || oriented_closed_shell(a_shell,FALSE);
<a id="p125112"></a>   END_IF;
<a id="p125113"></a>   RETURN(the_reverse);

<a id="p125114"></a>END_FUNCTION; -- closed_shell_reversed

<a id="p125115"></a>FUNCTION conditional_reverse(
<a id="p125116"></a>      p: BOOLEAN;
<a id="p125117"></a>      an_item: reversible_topology
<a id="p125118"></a>   ): reversible_topology;
<a id="p125119"></a>   IF p THEN
<a id="p125120"></a>      RETURN(an_item);
<a id="p125121"></a>      ELSE
<a id="p125122"></a>      RETURN(topology_reversed(an_item));
<a id="p125123"></a>   END_IF;

<a id="p125124"></a>END_FUNCTION; -- conditional_reverse

<a id="p125125"></a>FUNCTION constraints_composite_curve_on_surface(
<a id="p125126"></a>      c: composite_curve_on_surface
<a id="p125127"></a>   ): BOOLEAN;
<a id="p125128"></a>   LOCAL
<a id="p125129"></a>      n_segments : INTEGER := SIZEOF(c.segments);
<a id="p125130"></a>   END_LOCAL;
<a id="p125131"></a>   REPEAT k := 1 TO n_segments BY 1;
<a id="p125132"></a>      IF (NOT ('SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(c\
         composite_curve.segments[k].parent_curve))) AND (NOT (
         'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE' IN TYPEOF(c\
         composite_curve.segments[k].parent_curve))) AND (NOT (
         'SHIP_MOULDED_FORM_SCHEMA.COMPOSITE_CURVE_ON_SURFACE' IN
         TYPEOF(c\composite_curve.segments[k].parent_curve))) THEN
         RETURN(FALSE);
<a id="p125133"></a>      END_IF;
<a id="p125134"></a>   END_REPEAT;
<a id="p125135"></a>   RETURN(TRUE);

<a id="p125136"></a>END_FUNCTION; -- constraints_composite_curve_on_surface

<a id="p125137"></a>FUNCTION constraints_param_b_spline(
<a id="p125138"></a>      degree: INTEGER;
<a id="p125139"></a>      up_knots: INTEGER;
<a id="p125140"></a>      up_cp: INTEGER;
<a id="p125141"></a>      knot_mult: LIST OF INTEGER;
<a id="p125142"></a>      knots: LIST OF parameter_value
<a id="p125143"></a>   ): BOOLEAN;
<a id="p125144"></a>   LOCAL
<a id="p125145"></a>      k : INTEGER;
<a id="p125146"></a>      sum : INTEGER;
<a id="p125147"></a>      result : BOOLEAN := TRUE;
<a id="p125148"></a>   END_LOCAL;
<a id="p125149"></a>   sum := knot_mult[1];
<a id="p125150"></a>   REPEAT i := 2 TO up_knots BY 1;
<a id="p125151"></a>      sum := sum + knot_mult[i];
<a id="p125152"></a>   END_REPEAT;
<a id="p125153"></a>   IF (degree < 1) OR (up_knots < 2) OR (up_cp < degree) OR (sum <> (
<a id="p125154"></a>      degree + up_cp + 2)) THEN
<a id="p125155"></a>      result := FALSE;
<a id="p125156"></a>      RETURN(result);
<a id="p125157"></a>   END_IF;
<a id="p125158"></a>   k := knot_mult[1];
<a id="p125159"></a>   IF (k < 1) OR (k > (degree + 1)) THEN
<a id="p125160"></a>      result := FALSE;
<a id="p125161"></a>      RETURN(result);
<a id="p125162"></a>   END_IF;
<a id="p125163"></a>   REPEAT i := 2 TO up_knots BY 1;
<a id="p125164"></a>      IF (knot_mult[i] < 1) OR (knots[i] <= knots [i - 1]) THEN
<a id="p125165"></a>         result := FALSE;
<a id="p125166"></a>         RETURN(result);
<a id="p125167"></a>      END_IF;
<a id="p125168"></a>      k := knot_mult[i];
<a id="p125169"></a>      IF (i < up_knots) AND (k > degree) THEN
<a id="p125170"></a>         result := FALSE;
<a id="p125171"></a>         RETURN(result);
<a id="p125172"></a>      END_IF;
<a id="p125173"></a>      IF (i = up_knots) AND (k > (degree + 1)) THEN
<a id="p125174"></a>         result := FALSE;
<a id="p125175"></a>         RETURN(result);
<a id="p125176"></a>      END_IF;
<a id="p125177"></a>   END_REPEAT;
<a id="p125178"></a>   RETURN(result);

<a id="p125179"></a>END_FUNCTION; -- constraints_param_b_spline

<a id="p125180"></a>FUNCTION cross_product(
<a id="p125181"></a>      arg1, arg2: direction
<a id="p125182"></a>   ): vector;
<a id="p125183"></a>   LOCAL
<a id="p125184"></a>      v2 : LIST [3:3] OF REAL;
<a id="p125185"></a>      v1 : LIST [3:3] OF REAL;
<a id="p125186"></a>      mag : REAL;
<a id="p125187"></a>      res : direction;
<a id="p125188"></a>      result : vector;
<a id="p125189"></a>   END_LOCAL;
<a id="p125190"></a>   IF (NOT EXISTS(arg1)) OR (argl.dim = 2) OR (NOT EXISTS(arg2)) OR
<a id="p125191"></a>      (arg2.dim = 2) THEN
<a id="p125192"></a>      RETURN(?);
<a id="p125193"></a>      ELSE
<a id="p125194"></a>      BEGIN
<a id="p125195"></a>         v1 := normalise(arg1).direction_ratios;
<a id="p125196"></a>         v2 := normalise(arg2).direction_ratios;
<a id="p125197"></a>         res := dummy_gri || direction([(v1[2] * v2[3]) - (v1[3] * v2[2]),(
         v1[3] * v2[1]) - (v1[1] * v2[3]),(v1[1] * v2[2]) - (v1[2] * v2[1])]);
<a id="p125198"></a>         mag := 0;
<a id="p125199"></a>         REPEAT i := 1 TO 3 BY 1;
<a id="p125200"></a>            mag := mag + (res.direction_ratios[i] * res.direction_ratios[i]);
<a id="p125201"></a>         END_REPEAT;
<a id="p125202"></a>         IF mag > 0 THEN
<a id="p125203"></a>            result := dummy_gri || vector(res,SQRT(mag));
<a id="p125204"></a>            ELSE
<a id="p125205"></a>            result := dummy_gri || vector(arg1,0);
<a id="p125206"></a>         END_IF;
<a id="p125207"></a>         RETURN(result);
<a id="p125208"></a>      END;
<a id="p125209"></a>   END_IF;

<a id="p125210"></a>END_FUNCTION; -- cross_product

<a id="p125211"></a>FUNCTION curve_weights_positive(
<a id="p125212"></a>      b: rational_b_spline_curve
<a id="p125213"></a>   ): BOOLEAN;
<a id="p125214"></a>   LOCAL
<a id="p125215"></a>      result : BOOLEAN := TRUE;
<a id="p125216"></a>   END_LOCAL;
<a id="p125217"></a>   REPEAT i := 0 TO b.upper_index_on_control_points BY 1;
<a id="p125218"></a>      IF b.weights[i] <= 0 THEN
<a id="p125219"></a>         result := FALSE;
<a id="p125220"></a>         RETURN(result);
<a id="p125221"></a>      END_IF;
<a id="p125222"></a>   END_REPEAT;
<a id="p125223"></a>   RETURN(result);

<a id="p125224"></a>END_FUNCTION; -- curve_weights_positive

<a id="p125225"></a>FUNCTION derive_dimensional_exponents(
<a id="p125226"></a>      x: unit
<a id="p125227"></a>   ): dimensional_exponents;
<a id="p125228"></a>   LOCAL
<a id="p125229"></a>      result : dimensional_exponents :=
<a id="p125230"></a>      dimensional_exponents(0,0,0,0,0,0,0);
<a id="p125231"></a>   END_LOCAL;
<a id="p125232"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.DERIVED_UNIT' IN TYPEOF(x) THEN
<a id="p125233"></a>      REPEAT i := LOINDEX(x.elements) TO HIINDEX(x.elements) BY 1;
<a id="p125234"></a>         result.length_exponent := result.length_exponent +
         (x.elements[i].exponent * x.elements[i].unit.dimensions.length_exponent);
<a id="p125235"></a>         result.mass_exponent := result.mass_exponent + (x.elements[i].
         exponent * x.elements[i].unit.dimensions.mass_exponent);
<a id="p125236"></a>         result.time_exponent := result.time_exponent +
         (x.elements[i].exponent * x.elements[i].unit.dimensions.time_exponent);
<a id="p125237"></a>         result.electric_current_exponent := result.
         electric_current_exponent + (x.elements[i].exponent * x.
         elements[i].unit.dimensions.electric_current_exponent);
<a id="p125238"></a>         result.thermodynamic_temperature_exponent := result.
         thermodynamic_temperature_exponent + (x.elements[i].exponent *
         x.elements[i].unit.dimensions.thermodynamic_temperature_exponent);
<a id="p125239"></a>         result.amount_of_substance_exponent := result.
         amount_of_substance_exponent + (x.elements[i].exponent *
         x.elements[i].unit.dimensions.amount_of_substance_exponent);
<a id="p125240"></a>         result.luminous_intensity_exponent := result.
         luminous_intensity_exponent + (x.elements[i].exponent *
         x.elements[i].unit.dimensions.luminous_intensity_exponent);
<a id="p125241"></a>      END_REPEAT;
<a id="p125242"></a>      ELSE
<a id="p125243"></a>      result := x.dimensions;
<a id="p125244"></a>   END_IF;
<a id="p125245"></a>RETURN(result);

<a id="p125246"></a>END_FUNCTION; -- derive_dimensional_exponents

<a id="p125247"></a>FUNCTION dimension_of(
<a id="p125248"></a>      item: geometric_representation_item
<a id="p125249"></a>   ): dimension_count;
<a id="p125250"></a>   LOCAL
<a id="p125251"></a>      x : SET OF representation;
<a id="p125252"></a>      y : representation_context;
<a id="p125253"></a>      dim : dimension_count;
<a id="p125254"></a>   END_LOCAL;
<a id="p125255"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN TYPEOF(item)
<a id="p125256"></a>      THEN
<a id="p125257"></a>      dim := SIZEOF(item\cartesian_point.coordinates);
<a id="p125258"></a>      RETURN(dim);
<a id="p125259"></a>   END_IF;
<a id="p125260"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.DIRECTION' IN TYPEOF(item) THEN
<a id="p125261"></a>      dim := SIZEOF(item\direction.direction_ratios);
<a id="p125262"></a>      RETURN(dim);
<a id="p125263"></a>   END_IF;
<a id="p125264"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(item) THEN
<a id="p125265"></a>      dim := SIZEOF(item\vector.orientation\direction.direction_ratios);
<a id="p125266"></a>      RETURN(dim);
<a id="p125267"></a>   END_IF;
<a id="p125268"></a>   x := using_representations(item);
<a id="p125269"></a>   y := x[1].context_of_items;
<a id="p125270"></a>   dim := y\geometric_representation_context.coordinate_space_dimension;
<a id="p125271"></a>   RETURN(dim);

<a id="p125272"></a>END_FUNCTION; -- dimension_of

<a id="p125273"></a>FUNCTION dimensions_for_si_unit(
<a id="p125274"></a>      n: si_unit_name
<a id="p125275"></a>   ): dimensional_exponents;
<a id="p125276"></a>   CASE n OF
<a id="p125277"></a>      metre           : RETURN(dimensional_exponents(1,0,0,0,0,0,0));
<a id="p125278"></a>      gram            : RETURN(dimensional_exponents(0,1,0,0,0,0,0));
<a id="p125279"></a>      second          : RETURN(dimensional_exponents(0,0,1,0,0,0,0));
<a id="p125280"></a>      ampere          : RETURN(dimensional_exponents(0,0,0,1,0,0,0));
<a id="p125281"></a>      kelvin          : RETURN(dimensional_exponents(0,0,0,0,1,0,0));
<a id="p125282"></a>      mole              RETURN(dimensional_exponents(0,0,0,0,0,1,0));
<a id="p125283"></a>      candela         : RETURN(dimensional_exponents(0,0,0,0,0,0,1));
<a id="p125284"></a>      radian          : RETURN(dimensional_exponents(0,0,0,0,0,0,0));
<a id="p125285"></a>      steradian       : RETURN(dimensional_exponents(0,0,0,0,0,0,0));
<a id="p125286"></a>      hertz           : RETURN(dimensional_exponents(0,0,-1,0,0,0,0));
<a id="p125287"></a>      newton          : RETURN(dimensional_exponents(1,1,-2,0,0,0,0));
<a id="p125288"></a>      pascal          : RETURN(dimensional_exponents(-1,1,-2,0,0,0,0));
<a id="p125289"></a>      joule           : RETURN(dimensional_exponents(2,1,-2,0,0,0,0));
<a id="p125290"></a>      watt            : RETURN(dimensional_exponents(2,1,-3,0,0,0,0));
<a id="p125291"></a>      coulomb         : RETURN(dimensional_exponents(0,0,1,1,0,0,0));
<a id="p125292"></a>      volt            : RETURN(dimensional_exponents(2,1,-3,-1,0,0,0));
<a id="p125293"></a>      farad           : RETURN(dimensional_exponents(-2,-1,4,1,0,0,0));
<a id="p125294"></a>      ohm             : RETURN(dimensional_exponents(2,1,-3,-2,0,0,0));
<a id="p125295"></a>      siemens         : RETURN(dimensional_exponents(-2,-1,3,2,0,0,0));
<a id="p125296"></a>      weber           : RETURN(dimensional_exponents(2,1,-2,-1,0,0,0));
<a id="p125297"></a>      tesla           : RETURN(dimensional_exponents(0,1,-2,-1,0,0,0));
<a id="p125298"></a>      henry           : RETURN(dimensional_exponents(2,1,-2,-2,0,0,0));
<a id="p125299"></a>      degree_celsius  : RETURN(dimensional_exponents(0,0,0,0,1,0,0));
<a id="p125300"></a>      lumen           : RETURN(dimensional_exponents(0,0,0,0,0,0,1));
<a id="p125301"></a>      lux             : RETURN(dimensional_exponents(-2,0,0,0,0,0,1));
<a id="p125302"></a>      becquerel       : RETURN(dimensional_exponents(0,0,-1,0,0,0,0));
<a id="p125303"></a>      gray            : RETURN(dimensional_exponents(2,0,-2,0,0,0,0));
<a id="p125304"></a>      sievert         : RETURN(dimensional_exponents(2,0,-2,0,0,0,0));
<a id="p125305"></a>      OTHERWISE       : RETURN(?);
<a id="p125306"></a>   END_CASE;

<a id="p125307"></a>END_FUNCTION; -- dimensions_for_si_unit

<a id="p125308"></a>FUNCTION dot_product(
<a id="p125309"></a>      arg1, arg2: direction
<a id="p125310"></a>   ): REAL;
<a id="p125311"></a>   LOCAL
<a id="p125312"></a>      ndim : INTEGER;
<a id="p125313"></a>      scalar : REAL;
<a id="p125314"></a>      vec1 : direction;
<a id="p125315"></a>      vec2 : direction;
<a id="p125316"></a>   END_LOCAL;
<a id="p125317"></a>   IF (NOT EXISTS(arg1)) OR (NOT EXISTS(arg2)) THEN
<a id="p125318"></a>      scalar := ?;
<a id="p125319"></a>      ELSE
<a id="p125320"></a>      IF arg1.dim <> arg2.dim THEN
<a id="p125321"></a>         scalar := ?;
<a id="p125322"></a>         ELSE
<a id="p125323"></a>         BEGIN
<a id="p125324"></a>            vec1 := normalise(arg1);
<a id="p125325"></a>            vec2 := normalise(arg2);
<a id="p125326"></a>            ndim := arg1.dim;
<a id="p125327"></a>            scalar := 0;
<a id="p125328"></a>            REPEAT i := 1 TO ndim BY 1;
<a id="p125329"></a>               scalar := scalar + (vec1.direction_ratios[i] * vec2.
               direction_ratios[i]);
<a id="p125330"></a>            END_REPEAT;
<a id="p125331"></a>         END;
<a id="p125332"></a>      END_IF;
<a id="p125333"></a>   END_IF;
<a id="p125334"></a>   RETURN(scalar);

<a id="p125335"></a>END_FUNCTION; -- dot_product

<a id="p125336"></a>FUNCTION edge_reversed(
<a id="p125337"></a>      an_edge: edge
<a id="p125338"></a>   ): oriented_edge;
<a id="p125339"></a>   LOCAL
<a id="p125340"></a>      the_reverse : oriented_edge;
<a id="p125341"></a>   END_LOCAL;
<a id="p125342"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_EDGE' IN TYPEOF(an_edge)
<a id="p125343"></a>      THEN
<a id="p125344"></a>      the_reverse := dummy_tri ||
<a id="p125345"></a>      edge(an_edge.edge_end,an_edge.edge_start)
<a id="p125346"></a>      || oriented_edge(an_edge\oriented_edge.edge_element,NOT an_edge\
      oriented_edge.orientation);
<a id="p125347"></a>      ELSE
<a id="p125348"></a>      the_reverse := dummy_tri ||
<a id="p125349"></a>      edge(an_edge.edge_end,an_edge.edge_start)
<a id="p125350"></a>      || oriented_edge(an_edge,FALSE);
<a id="p125351"></a>   END_IF;
<a id="p125352"></a>   RETURN(the_reverse);

<a id="p125353"></a>END_FUNCTION; -- edge_reversed

<a id="p125354"></a>FUNCTION face_bound_reversed(
<a id="p125355"></a>      a_face_bound: face_bound
<a id="p125356"></a>   ): face_bound;
<a id="p125357"></a>   LOCAL
<a id="p125358"></a>      the_reverse : face_bound;
<a id="p125359"></a>   END_LOCAL;
<a id="p125360"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.FACE_OUTER_BOUND' IN
<a id="p125361"></a>      TYPEOF(a_face_bound)
<a id="p125362"></a>      THEN
<a id="p125363"></a>      the_reverse := dummy_tri ||
<a id="p125364"></a>      face_bound(a_face_bound\face_bound.bound,
<a id="p125365"></a>      NOT a_face_bound\face_bound.orientation) ||
      face_outer_bound();
<a id="p125366"></a>      ELSE
<a id="p125367"></a>      the_reverse := dummy_tri || face_bound(a_face_bound.bound,NOT
      a_face_bound.orientation);
<a id="p125368"></a>   END_IF;
<a id="p125369"></a>   RETURN(the_reverse);

<a id="p125370"></a>END_FUNCTION; -- face_bound_reversed

<a id="p125371"></a>FUNCTION face_reversed(
<a id="p125372"></a>      a_face: face
<a id="p125373"></a>   ): oriented_face;
<a id="p125374"></a>   LOCAL
<a id="p125375"></a>      the_reverse : oriented_face;
<a id="p125376"></a>   END_LOCAL;
<a id="p125377"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_FACE' IN TYPEOF(a_face)
<a id="p125378"></a>      THEN
<a id="p125379"></a>      the_reverse := dummy_tri ||
<a id="p125380"></a>      face(set_of_topology_reversed(a_face.bounds)) ||
<a id="p125381"></a>      oriented_face(a_face\oriented_face.face_element,NOT
<a id="p125382"></a>      a_face\oriented_face.orientation);
<a id="p125383"></a>      ELSE
<a id="p125384"></a>      the_reverse := dummy_tri ||
<a id="p125385"></a>      face(set_of_topology_reversed(a_face.bounds)) || oriented_face(a_face,FALSE);
<a id="p125386"></a>   END_IF;
<a id="p125387"></a>   RETURN(the_reverse);

<a id="p125388"></a>END_FUNCTION; -- face_reversed

<a id="p125389"></a>FUNCTION first_proj_axis(
<a id="p125390"></a>      z_axis, arg: direction
<a id="p125391"></a>   ): direction;
<a id="p125392"></a>   LOCAL
<a id="p125393"></a>      x_vec : vector;
<a id="p125394"></a>      v : direction;
<a id="p125395"></a>      z : direction;
<a id="p125396"></a>      x_axis : direction;
<a id="p125397"></a>   END_LOCAL;
<a id="p125398"></a>   IF NOT EXISTS(z_axis) THEN
<a id="p125399"></a>      RETURN(?);
<a id="p125400"></a>      ELSE
<a id="p125401"></a>      z := normalise(z_axis);
<a id="p125402"></a>      IF NOT EXISTS(arg) THEN
<a id="p125403"></a>         IF z.direction_ratios <> [1,0,0] THEN
<a id="p125404"></a>            v := dummy_gri || direction([1,0,0]);
<a id="p125405"></a>            ELSE
<a id="p125406"></a>            v := dummy_gri || direction([0,1,0]);
<a id="p125407"></a>         END_IF;
<a id="p125408"></a>         ELSE
<a id="p125409"></a>         IF arg.dim <> 3 THEN
<a id="p125410"></a>            RETURN(?);
<a id="p125411"></a>         END_IF;
<a id="p125412"></a>         IF cross_product(arg,z).magnitude = 0 THEN
<a id="p125413"></a>            RETURN(?);
<a id="p125414"></a>            ELSE
<a id="p125415"></a>            v := normalise(arg);
<a id="p125416"></a>         END_IF;
<a id="p125417"></a>      END_IF;
<a id="p125418"></a>      x_vec := scalar_times_vector(dot_product(v,z),z);
<a id="p125419"></a>      x_axis := vector_difference(v,x_vec).orientation;
<a id="p125420"></a>      x_axis := normalise(x_axis);
<a id="p125421"></a>   END_IF;
<a id="p125422"></a>   RETURN(x_axis);

<a id="p125423"></a>END_FUNCTION; -- first_proj_axis

<a id="p125424"></a>FUNCTION get_basis_surface(
<a id="p125425"></a>      c: curve_on_surface
<a id="p125426"></a>   ): SET [0:2] OF surface;
<a id="p125427"></a>   LOCAL
<a id="p125428"></a>      surfs : SET [0:2] OF surface;
<a id="p125429"></a>      n : INTEGER;
<a id="p125430"></a>   END_LOCAL;
<a id="p125431"></a>   surfs := [];
<a id="p125432"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(c) THEN
<a id="p125433"></a>      surfs := [c\pcurve.basis_surface];
<a id="p125434"></a>      ELSE
<a id="p125435"></a>      IF 'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE' IN TYPEOF(c) THEN
<a id="p125436"></a>         n := SIZEOF(c\surface_curve.associated_geometry);
<a id="p125437"></a>         REPEAT i := 1 TO n BY 1;
<a id="p125438"></a>            surfs := surfs + associated_surface(c\surface_curve.
            associated_geometry[i]);
<a id="p125439"></a>         END_REPEAT;
<a id="p125440"></a>      END_IF;
<a id="p125441"></a>   END_IF;
<a id="p125442"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.COMPOSITE_CURVE_ON_SURFACE' IN
<a id="p125443"></a>      TYPEOF(c)
<a id="p125444"></a>      THEN
<a id="p125445"></a>      n := SIZEOF(c\composite_curve.segments);
<a id="p125446"></a>      surfs := get_basis_surface(c\composite_curve.segments[1].parent_curve);
<a id="p125447"></a>      IF n > 1 THEN
<a id="p125448"></a>         REPEAT i := 2 TO n BY 1;
<a id="p125449"></a>            surfs := surfs *
            get_basis_surface(c\composite_curve.segments[i].parent_curve);
<a id="p125450"></a>         END_REPEAT;
<a id="p125451"></a>      END_IF;
<a id="p125452"></a>   END_IF;
<a id="p125453"></a>   RETURN(surfs);

<a id="p125454"></a>END_FUNCTION; -- get_basis_surface

<a id="p125455"></a>FUNCTION get_description_value(
<a id="p125456"></a>      obj: description_attribute_select
<a id="p125457"></a>   ): text;
<a id="p125458"></a>   LOCAL
<a id="p125459"></a>      description_bag : BAG OF description_attribute := USEDIN(obj,
<a id="p125460"></a>      'SHIP_MOULDED_FORM_SCHEMA.' +
<a id="p125461"></a>      'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM');
<a id="p125462"></a>   END_LOCAL;
<a id="p125463"></a>   IF SIZEOF(description_bag) = 1 THEN
<a id="p125464"></a>      RETURN(description_bag[1].attribute_value);
<a id="p125465"></a>      ELSE
<a id="p125466"></a>      RETURN(?);
<a id="p125467"></a>   END_IF;

<a id="p125468"></a>END_FUNCTION; -- get_description_value

<a id="p125469"></a>FUNCTION get_id_value(
<a id="p125470"></a>      obj: id_attribute_select
<a id="p125471"></a>   ): identifier;
<a id="p125472"></a>   LOCAL
<a id="p125473"></a>      id_bag : BAG OF id_attribute := USEDIN(obj,
<a id="p125474"></a>      'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.' +
<a id="p125475"></a>      'IDENTIFIED_ITEM');
<a id="p125476"></a>   END_LOCAL;
<a id="p125477"></a>   IF SIZEOF(id_bag) = 1 THEN
<a id="p125478"></a>      RETURN(id_bag[1].attribute_value);
<a id="p125479"></a>      ELSE
<a id="p125480"></a>      RETURN(?);
<a id="p125481"></a>   END_IF;

<a id="p125482"></a>END_FUNCTION; -- get_id_value

<a id="p125483"></a>FUNCTION get_name_value(
<a id="p125484"></a>      obj: name_attribute_select
<a id="p125485"></a>   ): label;
<a id="p125486"></a>   LOCAL
<a id="p125487"></a>      name_bag : BAG OF name_attribute := USEDIN(obj,
<a id="p125488"></a>      'SHIP_MOULDED_FORM_SCHEMA.' + 'NAME_ATTRIBUTE.' +
<a id="p125489"></a>      'NAMED_ITEM');
<a id="p125490"></a>   END_LOCAL;
<a id="p125491"></a>   IF SIZEOF(name_bag) = 1 THEN
<a id="p125492"></a>      RETURN(name_bag[1].attribute_value);
<a id="p125493"></a>      ELSE
<a id="p125494"></a>      RETURN(?);
<a id="p125495"></a>   END_IF;

<a id="p125496"></a>END_FUNCTION; -- get_name_value

<a id="p125497"></a>FUNCTION get_role(
<a id="p125498"></a>      obj: role_select
<a id="p125499"></a>   ): object_role;
<a id="p125500"></a>   LOCAL
<a id="p125501"></a>      role_bag : BAG OF role_association := USEDIN(obj,
<a id="p125502"></a>      'SHIP_MOULDED_FORM_SCHEMA.' + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE');
<a id="p125503"></a>   END_LOCAL;
<a id="p125504"></a>   IF SIZEOF(role_bag) = 1 THEN
<a id="p125505"></a>      RETURN(role_bag[1].role);
<a id="p125506"></a>      ELSE
<a id="p125507"></a>      RETURN(?);
<a id="p125508"></a>   END_IF;

<a id="p125509"></a>END_FUNCTION; -- get_role

<a id="p125510"></a>FUNCTION item_in_context(
<a id="p125511"></a>      item: representation_item;
<a id="p125512"></a>      cntxt: representation_context
<a id="p125513"></a>   ): BOOLEAN;
<a id="p125514"></a>   LOCAL
<a id="p125515"></a>      y : BAG OF representation_item;
<a id="p125516"></a>   END_LOCAL;
<a id="p125517"></a>   IF
<a id="p125518"></a>      SIZEOF(USEDIN(item,'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION.ITEMS')
      * <a id="p125519"></a>cntxt.representations_in_context) > 0 THEN RETURN(TRUE);
<a id="p125520"></a>      ELSE
<a id="p125521"></a>      y := QUERY ( z <* USEDIN(item,'') | (
<a id="p125522"></a>      'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION_ITEM' IN
<a id="p125523"></a>      TYPEOF(z)) );
<a id="p125524"></a>      IF SIZEOF(y) > 0 THEN
<a id="p125525"></a>         REPEAT i := 1 TO HIINDEX(y) BY 1;
<a id="p125526"></a>            IF item_in_context(y[i],cntxt) THEN
<a id="p125527"></a>               RETURN(TRUE);
<a id="p125528"></a>            END_IF;
<a id="p125529"></a>         END_REPEAT;
<a id="p125530"></a>      END_IF;
<a id="p125531"></a>   END_IF;
<a id="p125532"></a>   RETURN(FALSE);

<a id="p125533"></a>END_FUNCTION; -- item_in_context

<a id="p125534"></a>FUNCTION leap_year(
<a id="p125535"></a>      year: year_number
<a id="p125536"></a>   ): BOOLEAN;
<a id="p125537"></a>   IF (((year MOD 4) = 0) AND ((year MOD 100) <> 0)) OR ((year MOD 400) = 0) THEN
<a id="p125538"></a>      RETURN(TRUE);
<a id="p125539"></a>      ELSE
<a id="p125540"></a>      RETURN(FALSE);
<a id="p125541"></a>   END_IF;

<a id="p125542"></a>END_FUNCTION; -- leap_year

<a id="p125543"></a>FUNCTION list_face_loops(
<a id="p125544"></a>      f: face
<a id="p125545"></a>   ): LIST [0:?] OF loop;
<a id="p125546"></a>   LOCAL
<a id="p125547"></a>      loops : LIST [0:?] OF loop := [];
<a id="p125548"></a>   END_LOCAL;
<a id="p125549"></a>   REPEAT i := 1 TO SIZEOF(f.bounds) BY 1;
<a id="p125550"></a>      loops := loops + f.bounds[i].bound;
<a id="p125551"></a>   END_REPEAT;
<a id="p125552"></a>   RETURN(loops);

<a id="p125553"></a>END_FUNCTION; -- list_face_loops

<a id="p125554"></a>FUNCTION list_of_topology_reversed(
<a id="p125555"></a>      a_list: list_of_reversible_topology_item
<a id="p125556"></a>   ): list_of_reversible_topology_item;
<a id="p125557"></a>   LOCAL
<a id="p125558"></a>      the_reverse : list_of_reversible_topology_item;
<a id="p125559"></a>   END_LOCAL;
<a id="p125560"></a>   the_reverse := [];
<a id="p125561"></a>   REPEAT i := 1 TO SIZEOF(a_list) BY 1;
<a id="p125562"></a>      the_reverse := topology_reversed(a_list[i]) + the_reverse;
<a id="p125563"></a>   END_REPEAT;
<a id="p125564"></a>   RETURN(the_reverse);

<a id="p125565"></a>END_FUNCTION; -- list_of_topology_reversed

<a id="p125566"></a>FUNCTION list_to_array(
<a id="p125567"></a>      lis: LIST [0:?] OF GENERIC:t;
<a id="p125568"></a>      low: INTEGER;
<a id="p125569"></a>      u: INTEGER
<a id="p125570"></a>   ): ARRAY OF GENERIC:t;
<a id="p125571"></a>   LOCAL
<a id="p125572"></a>      n : INTEGER;
<a id="p125573"></a>      res : ARRAY [low:u] OF GENERIC:t;
<a id="p125574"></a>   END_LOCAL;
<a id="p125575"></a>   n := SIZEOF(lis);
<a id="p125576"></a>   IF n <> ((u - low) + 1) THEN
<a id="p125577"></a>      RETURN(?);
<a id="p125578"></a>      ELSE
<a id="p125579"></a>      res := [lis[1]];
<a id="p125580"></a>      REPEAT i := 2 TO n BY 1;
<a id="p125581"></a>         res[(low + i) - 1] := lis[i];
<a id="p125582"></a>      END_REPEAT;
<a id="p125583"></a>      RETURN(res);
<a id="p125584"></a>   END_IF;

<a id="p125585"></a>END_FUNCTION; -- list_to_array

<a id="p125586"></a>FUNCTION list_to_set(
<a id="p125587"></a>      l: LIST [0:?] OF GENERIC:t
<a id="p125588"></a>   ): SET OF GENERIC:t;
<a id="p125589"></a>   LOCAL
<a id="p125590"></a>      s : SET OF GENERIC:t := [];
<a id="p125591"></a>   END_LOCAL;
<a id="p125592"></a>   REPEAT i := 1 TO SIZEOF(l) BY 1;
<a id="p125593"></a>      s := s + l[i];
<a id="p125594"></a>   END_REPEAT;
<a id="p125595"></a>   RETURN(s);

<a id="p125596"></a>END_FUNCTION; -- list_to_set

<a id="p125597"></a>FUNCTION make_array_of_array(
<a id="p125598"></a>      lis: LIST [1:?] OF LIST [1:?] OF GENERIC:t;
<a id="p125599"></a>      low1: INTEGER;
<a id="p125600"></a>      u1: INTEGER;
<a id="p125601"></a>      low2: INTEGER;
<a id="p125602"></a>      u2: INTEGER
<a id="p125603"></a>   ): ARRAY OF ARRAY OF GENERIC:t;
<a id="p125604"></a>   LOCAL
<a id="p125605"></a>      res : ARRAY [low1:u1] OF ARRAY [low2:u2] OF GENERIC:t;
<a id="p125606"></a>   END_LOCAL;
<a id="p125607"></a>   IF ((u1 - low1) + 1) <> SIZEOF(lis) THEN
<a id="p125608"></a>      RETURN(?);
<a id="p125609"></a>   END_IF;
<a id="p125610"></a>   IF ((u2 - low2) + 1) <> SIZEOF(lis[1]) THEN
<a id="p125611"></a>      RETURN(?);
<a id="p125612"></a>   END_IF;
<a id="p125613"></a>   res := [list_to_array(lis[1],low2,u2)];
<a id="p125614"></a>   REPEAT i := 2 TO HIINDEX(lis) BY 1;
<a id="p125615"></a>      IF ((u2 - low2) + 1) <> SIZEOF(lis[i]) THEN
<a id="p125616"></a>         RETURN(?);
<a id="p125617"></a>      END_IF;
<a id="p125618"></a>      res[(low1 + i) - 1) := list_to_array(lis[i],low2,u2);
<a id="p125619"></a>   END_REPEAT;
<a id="p125620"></a>   RETURN(res);

<a id="p125621"></a>END_FUNCTION; -- make_array_of_array

<a id="p125622"></a>FUNCTION mixed_loop_type_set (
<a id="p125623"></a>      l: SET [0:?] OF loop
<a id="p125624"></a>   ): LOGICAL;
<a id="p125625"></a>   LOCAL
<a id="p125626"></a>      poly_loop_type : LOGICAL;
<a id="p125627"></a>  END_LOCAL;
<a id="p125628"></a>  IF SIZEOF(l) <= 1 THEN
<a id="p125629"></a>      RETURN(FALSE);
<a id="p125630"></a>   END_IF;
<a id="p125631"></a>   poly_loop_type := 'SHIP_MOULDED_FORM_SCHEMA.POLY_LOOP' IN
<a id="p125632"></a>   TYPEOF(l[1]);
<a id="p125633"></a>   REPEAT i := 2 TO SIZEOF(l) BY 1;
<a id="p125634"></a>      IF ('SHIP_MOULDED_FORM_SCHEMA.POLY_LOOP' IN TYPEOF(l[i])) <>
<a id="p125635"></a>         poly_loop_type THEN
<a id="p125636"></a>         RETURN(TRUE);
<a id="p125637"></a>      END_IF;
<a id="p125638"></a>   END_REPEAT;
<a id="p125639"></a>   RETURN(FALSE);

<a id="p125640"></a>END_FUNCTION; -- mixed_loop_type_set

<a id="p125641"></a>FUNCTION nmsf_curve_check(
<a id="p125642"></a>      cv: representation_item
<a id="p125643"></a>   ): BOOLEAN;
<a id="p125644"></a>   IF SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.BOUNDED_CURVE',
<a id="p125645"></a>      'SHIP_MOULDED_FORM_SCHEMA.CONIC',
<a id="p125646"></a>      'SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA',
<a id="p125647"></a>      'SHIP_MOULDED_FORM_SCHEMA.LINE',
<a id="p125648"></a>      'SHIP_MOULDED_FORM_SCHEMA.OFFSET_CURVE_3D') * TYPEOF(cv)) > 1 THEN
<a id="p125649"></a>      RETURN(FALSE);
<a id="p125650"></a>      ELSE
<a id="p125651"></a>      IF (('SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE' IN TYPEOF(cv))
<a id="p125652"></a>         AND (cv\b_spline_curve.self_intersect = FALSE)) OR
<a id="p125653"></a>         (cv\b_spline_curve.self_intersect = UNKNOWN) THEN
<a id="p125654"></a>         RETURN(TRUE);
<a id="p125655"></a>         ELSE
<a id="p125656"></a>         IF SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CONIC',
<a id="p125657"></a>            'SHIP_MOULDED_FORM_SCHEMA.LINE'] * TYPEOF(cv)) = 1 THEN RETURN(TRUE);
<a id="p125658"></a>            ELSE
<a id="p125659"></a>            IF 'SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA' IN TYPEOF(cv)
<a id="p125660"></a>               THEN
<a id="p125661"></a>               RETURN(nmsf_curve_check(cv\curve_replica.parent_curve));
<a id="p125662"></a>               ELSE
<a id="p125663"></a>               IF ('SHIP_MOULDED_FORM_SCHEMA.OFFSET_CURVE_3D' IN TYPEOF(cv))
<a id="p125664"></a>                  AND ((cv\offset_curve_3d.self_intersect = FALSE) OR
<a id="p125665"></a>                  (cv\offset_curve_3d.self_intersect = UNKNOWN)) AND (NOT(
<a id="p125666"></a>                  'SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN TYPEOF(cv\
<a id="p125667"></a>                  offset_curve_3d.basis_curve))) THEN
<a id="p125668"></a>                  RETURN(nmsf_curve_check(cv\offset_curve_3d.basis_curve));
<a id="p125669"></a>                  ELSE
<a id="p125670"></a>                  IF 'SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(cv)
<a id="p125671"></a>                     THEN
<a id="p125672"></a>                     RETURN(nmsf_curve_check(cv\pcurve.reference_to_curve\
<a id="p125673"></a>                     representation.items[1]) AND
<a id="p125674"></a>                     nmsf_surface_check(cv\pcurve.basis_surface));
<a id="p125675"></a>                     ELSE
<a id="p125676"></a>                     IF 'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE' IN
<a id="p125677"></a>                        TYPEOF(cv)
<a id="p125678"></a>                        THEN
<a id="p125679"></a>                        IF nmsf_curve_check(cv\surface_curve.curve_3d)
<a id="p125680"></a>                           THEN
<a id="p125681"></a>                           REPEAT i := 1 TO SIZEOF(cv\surface_curve.associated_geometry) BY 1;
<a id="p125682"></a>                              IF 'SHIP_MOULDED_FORM_SCHEMA.SURFACE' IN
<a id="p125683"></a>                                 TYPEOF(cv\surface_curve.associated_geometry[i]) THEN
<a id="p125684"></a>                                 IF NOT nmsf_surface_check(cv\surface_curve.
<a id="p125685"></a>                                    associated_geometry[i]) THEN
<a id="p125686"></a>                                    RETURN(FALSE);
<a id="p125687"></a>                                 END_IF;
<a id="p125688"></a>                                 ELSE
<a id="p125689"></a>                                 IF 'SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN
<a id="p125690"></a>                                    TYPEOF(cv\surface_curve.associated_geometry[i])
<a id="p125691"></a>                                    THEN
<a id="p125692"></a>                                    IF NOT nmsf_curve_check(cv\surface_curve.
<a id="p125693"></a>                                       associated_geometry[i]) THEN
<a id="p125694"></a>                                       RETURN(FALSE);
<a id="p125695"></a>                                    END_IF;
<a id="p125696"></a>                                 END_IF;
<a id="p125697"></a>                              END_IF;
<a id="p125698"></a>                           END_REPEAT;
<a id="p125699"></a>                           RETURN(TRUE);
<a id="p125700"></a>                        END_IF;
<a id="p125701"></a>                        ELSE
<a id="p125702"></a>                        IF 'SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN
<a id="p125703"></a>                           TYPEOF(cv)
<a id="p125704"></a>                           THEN
<a id="p125705"></a>                           IF SIZEOF(cv\polyline.points) >= 3 THEN
<a id="p125706"></a>                              RETURN(TRUE);
<a id="p125707"></a>                           END_IF;
<a id="p125708"></a>                        END_IF;
<a id="p125709"></a>                     END_IF;
<a id="p125710"></a>                  END_IF;
<a id="p125711"></a>               END_IF;
<a id="p125712"></a>            END_IF;
<a id="p125713"></a>         END_IF;
<a id="p125714"></a>      END_IF;
<a id="p125715"></a>   END_IF;
<a id="p125716"></a>   RETURN(FALSE);

<a id="p125717"></a>END_FUNCTION; -- nmsf_curve_check

<a id="p125718"></a>FUNCTION nmsf_surface_check(
<a id="p125719"></a>      surf: surface
<a id="p125720"></a>   ): BOOLEAN;
<a id="p125721"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.ELEMENTARY_SURFACE' IN TYPEOF(surf)
<a id="p125722"></a>      THEN
<a id="p125723"></a>      RETURN(TRUE);
<a id="p125724"></a>      ELSE
<a id="p125725"></a>      IF 'SHIP_MOULDED_FORM_SCHEMA.SWEPT_SURFACE' IN TYPEOF(surf)
<a id="p125726"></a>         THEN
<a id="p125727"></a>         RETURN(nmsf_curve_check(surf\swept_surface.swept_curve));
<a id="p125728"></a>         ELSE
<a id="p125729"></a>         IF (('SHIP_MOULDED_FORM_SCHEMA.OFFSET_SURFACE' IN TYPEOF(surf))
<a id="p125730"></a>            AND (surf\offset_surface.self_intersect = FALSE)) OR
<a id="p125731"></a>            (surf\offset_surface.self_intersect = UNKNOWN) THEN
<a id="p125732"></a>            RETURN(nmsf_surface_check(surf\offset_surface.basis_surface));
<a id="p125733"></a>            ELSE
<a id="p125734"></a>            IF 'SHIP_MOULDED_FORM_SCHEMA.SURFACE_REPLICA' IN
<a id="p125735"></a>               TYPEOF(surf)
<a id="p125736"></a>               THEN
<a id="p125737"></a>               RETURN(nmsf_surface_check(surf\surface_replica.parent_surface));
<a id="p125738"></a>               ELSE
<a id="p125739"></a>               IF (('SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_SURFACE' IN
<a id="p125740"></a>                  TYPEOF(surf)) AND (surf\b_spline_surface.self_intersect = FALSE))
<a id="p125741"></a>                  OR (surf\b_spline_surface.self_intersect = UNKNOWN)
<a id="p125742"></a>                  THEN
<a id="p125743"></a>                  RETURN(TRUE);
<a id="p125744"></a>               END_IF;
<a id="p125745"></a>            END_IF;
<a id="p125746"></a>         END_IF;
<a id="p125747"></a>      END_IF;
<a id="p125748"></a>   END_IF;
<a id="p125749"></a>   RETURN(FALSE);

<a id="p125750"></a>END_FUNCTION; -- nmsf_surface_check

<a id="p125751"></a>FUNCTION normalise(
<a id="p125752"></a>      arg: vector_or_direction
<a id="p125753"></a>   ): vector_or_direction;
<a id="p125754"></a>   LOCAL
<a id="p125755"></a>      ndim : INTEGER;
<a id="p125756"></a>      v : direction;
<a id="p125757"></a>      vec : vector;
<a id="p125758"></a>      mag : REAL;
<a id="p125759"></a>      result : vector_or_direction;
<a id="p125760"></a>   END_LOCAL;
<a id="p125761"></a>   IF NOT EXISTS(arg) THEN
<a id="p125762"></a>      result := ?;
<a id="p125763"></a>      ELSE
<a id="p125764"></a>      ndim := arg.dim;
<a id="p125765"></a>      IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(arg) THEN
<a id="p125766"></a>         BEGIN
<a id="p125767"></a>            v := dummy_gri ||
<a id="p125768"></a>            direction(arg.orientation.direction_ratios);
<a id="p125769"></a>            IF arg.magnitude = 0 THEN
<a id="p125770"></a>               RETURN(?);
<a id="p125771"></a>               ELSE
<a id="p125772"></a>               vec := dummy_gri || vector(v,1);
<a id="p125773"></a>            END_IF;
<a id="p125774"></a>         END;
<a id="p125775"></a>         ELSE
<a id="p125776"></a>         v := dummy_gri || direction(arg.direction_ratios);
<a id="p125777"></a>      END_IF;
<a id="p125778"></a>      mag := 0;
<a id="p125779"></a>      REPEAT i := 1 TO ndim BY 1;
<a id="p125780"></a>         mag := mag + (v.direction_ratios[i] *
         v.direction_ratios[i]);
<a id="p125781"></a>      END_REPEAT;
<a id="p125782"></a>      IF mag > 0 THEN
<a id="p125783"></a>         mag := SQRT(mag);
<a id="p125784"></a>         REPEAT i := 1 TO ndim BY 1;
<a id="p125785"></a>            v.direction_ratios[i] := v.direction_ratios[i] / mag;
<a id="p125786"></a>         END_REPEAT;
<a id="p125787"></a>         IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(arg) THEN
<a id="p125788"></a>            vec.orientation := v;
<a id="p125789"></a>            result := vec;
<a id="p125790"></a>            ELSE
<a id="p125791"></a>            result := v;
<a id="p125792"></a>         END_IF;
<a id="p125793"></a>         ELSE
<a id="p125794"></a>         RETURN(?);
<a id="p125795"></a>      END_IF;
<a id="p125796"></a>   END_IF;
<a id="p125797"></a>   RETURN(result);

<a id="p125798"></a>END_FUNCTION; -- normalize

<a id="p125799"></a>FUNCTION open_shell_reversed(
<a id="p125800"></a>      a_shell: open_shell
<a id="p125801"></a>   ): oriented_open_shell;
<a id="p125802"></a>   LOCAL
<a id="p125803"></a>      the_reverse : oriented_open_shell;
<a id="p125804"></a>   END_LOCAL;
<a id="p125805"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_OPEN_SHELL' IN
<a id="p125806"></a>      TYPEOF(a_shell)
<a id="p125807"></a>      THEN
<a id="p125808"></a>      the_reverse := dummy_tri || connected_face_set(a_shell\
<a id="p125809"></a>      connected_face_set.cfs_faces) || open_shell() ||
<a id="p125810"></a>      oriented_open_shell(a_shell\oriented_open_shell.open_shell_element,NOT
<a id="p125811"></a>      a_shell\oriented_open_shell.orientation);
<a id="p125812"></a>      ELSE
<a id="p125813"></a>      the_reverse := dummy_tri || connected_face_set(a_shell\
<a id="p125814"></a>      connected_face_set.cfs_faces) || open_shell() ||
<a id="p125815"></a>      oriented_open_shell(a_shell,FALSE);
<a id="p125816"></a>   END_IF;
<a id="p125817"></a>   RETURN(the_reverse);

<a id="p125818"></a>END_FUNCTION; -- open_shell_reversed

<a id="p125819"></a>FUNCTION orthogonal_complement(
<a id="p125820"></a>      vec: direction
<a id="p125821"></a>   ): direction;
<a id="p125822"></a>   LOCAL
<a id="p125823"></a>      result : direction;
<a id="p125824"></a>   END_LOCAL;
<a id="p125825"></a>   IF (vec.dim <> 2) OR (NOT EXISTS(vec)) THEN
<a id="p125826"></a>      RETURN(?);
<a id="p125827"></a>      ELSE
<a id="p125828"></a>      result := dummy_gri ||
<a id="p125829"></a>      direction([-vec.direction_ratios[2],vec.
<a id="p125830"></a>      direction_ratios[1]]);
<a id="p125831"></a>      RETURN(result);
<a id="p125832"></a>   END_IF;

<a id="p125833"></a>END_FUNCTION; -- orthogonal_complement

<a id="p125834"></a>FUNCTION path_head_to_tail(
<a id="p125835"></a>      a_path: path
<a id="p125836"></a>   ): BOOLEAN;
<a id="p125837"></a>   LOCAL
<a id="p125838"></a>      n : INTEGER;
<a id="p125839"></a>      p : BOOLEAN := TRUE;
<a id="p125840"></a>   END_LOCAL;
<a id="p125841"></a>   n := SIZEOF(a_path.edge_list);
<a id="p125842"></a>   REPEAT i := 2 TO n BY 1;
<a id="p125843"></a>      p := p AND (a_path.edge_list[i - 1].edge_end :=:
      a_path.edge_list[i].edge_start);
<a id="p125844"></a>   END_REPEAT;
<a id="p125845"></a>   RETURN(p);

<a id="p125846"></a>END_FUNCTION; -- path_head_to_tail

<a id="p125847"></a>FUNCTION path_reversed(
<a id="p125848"></a>      a_path: path
<a id="p125849"></a>   ): oriented_path;
<a id="p125850"></a>   LOCAL
<a id="p125851"></a>      the_reverse : oriented_path;
<a id="p125852"></a>   END_LOCAL;
<a id="p125853"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_PATH' IN TYPEOF(a_path)
<a id="p125854"></a>      THEN
<a id="p125855"></a>      the_reverse := dummy_tri ||
<a id="p125856"></a>      path(list_of_topology_reversed(a_path.edge_list)) ||
<a id="p125857"></a>      oriented_path(a_path\oriented_path.path_element,
<a id="p125858"></a>      NOT a_path\oriented_path.orientation);
<a id="p125859"></a>      ELSE
<a id="p125860"></a>      the_reverse := dummy_tri ||
<a id="p125861"></a>      path(list_of_topology_reversed(a_path.
<a id="p125862"></a>      edge_list)) || oriented_path(a_path,FALSE);
<a id="p125863"></a>   END_IF;
<a id="p125864"></a>   RETURN(the_reverse);

<a id="p125865"></a>END_FUNCTION; -- path_reversed

<a id="p125866"></a>FUNCTION scalar_times_vector(
<a id="p125867"></a>      scalar: REAL;
<a id="p125868"></a>      vec: vector_or_direction
<a id="p125869"></a>   ): vector;
<a id="p125870"></a>   LOCAL
<a id="p125871"></a>      v : direction;
<a id="p125872"></a>      mag : REAL;
<a id="p125873"></a>      result : vector;
<a id="p125874"></a>   END_LOCAL;
<a id="p125875"></a>   IF (NOT EXISTS(scalar)) OR (NOT EXISTS(vec)) THEN
<a id="p125876"></a>      RETURN(?);
<a id="p125877"></a>      ELSE
<a id="p125878"></a>      IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(vec) THEN
<a id="p125879"></a>         v := dummy_gri ||
<a id="p125880"></a>         direction(vec.orientation.direction_ratios);
<a id="p125881"></a>         mag := scalar * vec.magnitude;
<a id="p125882"></a>         ELSE
<a id="p125883"></a>         v := dummy_gri || direction(vec.direction_ratios);
<a id="p125884"></a>         mag := scalar;
<a id="p125885"></a>      END_IF;
<a id="p125886"></a>      IF mag < 0 THEN
<a id="p125887"></a>         REPEAT i := 1 TO SIZEOF(v.direction_ratios) BY 1;
<a id="p125888"></a>            v.direction_ratios[i] := -v.direction_ratios[i];
<a id="p125889"></a>         END_REPEAT;
<a id="p125890"></a>         mag := -mag;
<a id="p125891"></a>      END_IF;
<a id="p125892"></a>      result := dummy_gri || vector(normalise(v),mag);
<a id="p125893"></a>   END_IF;
<a id="p125894"></a>   RETURN(result);

<a id="p125895"></a>END_FUNCTION; -- scalar_times_vector

<a id="p125896"></a>FUNCTION second_proj_axis(
<a id="p125897"></a>      z_axis, x_axis, arg: direction
<a id="p125898"></a>   ): direction;
<a id="p125899"></a>   LOCAL
<a id="p125900"></a>      temp : vector;
<a id="p125901"></a>      v : direction;
<a id="p125902"></a>      y_axis : vector;
<a id="p125903"></a>   END_LOCAL;
<a id="p125904"></a>   IF NOT EXISTS(arg) THEN
<a id="p125905"></a>      v := dummy_gri || direction([0,1,0]);
<a id="p125906"></a>      ELSE
<a id="p125907"></a>      v := arg;
<a id="p125908"></a>   END_IF;
<a id="p125909"></a>   temp := scalar_times_vector(dot_product(v,z_axis),z_axis);
<a id="p125910"></a>   y_axis := vector_difference(v,temp);
<a id="p125911"></a>   temp := scalar_times_vector(dot_product(v,x_axis),x_axis);
<a id="p125912"></a>   y_axis := vector_difference(y_axis,temp);
<a id="p125913"></a>   y_axis := normalise(y_axis);
<a id="p125914"></a>   RETURN(y_axis.orientation);

<a id="p125915"></a>END_FUNCTION; -- second_proj_axis

<a id="p125916"></a>FUNCTION set_of_topology_reversed(
<a id="p125917"></a>      a_set: set_of_reversible_topology_item
<a id="p125918"></a>   ): set_of_reversible_topology_item;
<a id="p125919"></a>   LOCAL
<a id="p125920"></a>      the_reverse : set_of_reversible_topology_item;
<a id="p125921"></a>   END_LOCAL;
<a id="p125922"></a>   the_reverse := [];
<a id="p125923"></a>   REPEAT i := 1 TO SIZEOF(a_set) BY 1;
<a id="p125924"></a>      the_reverse := the_reverse + topology_reversed(a_set[i]);
<a id="p125925"></a>   END_REPEAT;
<a id="p125926"></a>   RETURN(the_reverse);

<a id="p125927"></a>END_FUNCTION; -- set_of_topology_reversed

<a id="p125928"></a>FUNCTION shell_reversed(
<a id="p125929"></a>      a_shell: shell
<a id="p125930"></a>   ): shell;
<a id="p125931"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.OPEN_SHELL' IN TYPEOF(a_shell) THEN
<a id="p125932"></a>      RETURN(open_shell_reversed(a_shell));
<a id="p125933"></a>      ELSE
<a id="p125934"></a>      IF 'SHIP_MOULDED_FORM_SCHEMA.CLOSED_SHELL' IN TYPEOF(a_shell)
<a id="p125935"></a>         THEN
<a id="p125936"></a>         RETURN(closed_shell_reversed(a_shell));
<a id="p125937"></a>         ELSE
<a id="p125938"></a>         RETURN(?);
<a id="p125939"></a>      END_IF;
<a id="p125940"></a>   END_IF;

<a id="p125941"></a>END_FUNCTION; -- shell_reversed

<a id="p125942"></a>FUNCTION surface_weights_positive(
<a id="p125943"></a>      b: rational_b_spline_surface
<a id="p125944"></a>   ): BOOLEAN;
<a id="p125945"></a>   LOCAL
<a id="p125946"></a>      result : BOOLEAN := TRUE;
<a id="p125947"></a>   END_LOCAL;
<a id="p125948"></a>   REPEAT i := 0 TO b.u_upper BY 1;
<a id="p125949"></a>      REPEAT j := 0 TO b.v_upper BY 1;
<a id="p125950"></a>         IF b.weights[i][j] <= 0 THEN
<a id="p125951"></a>            result := FALSE;
<a id="p125952"></a>            RETURN(result);
<a id="p125953"></a>         END_IF;
<a id="p125954"></a>      END_REPEAT;
<a id="p125955"></a>   END_REPEAT;
<a id="p125956"></a>   RETURN(result);

<a id="p125957"></a>END_FUNCTION; -- surface_weights_positive

<a id="p125958"></a>FUNCTION topology_reversed(
<a id="p125959"></a>      an_item: reversible_topology
<a id="p125960"></a>   ): reversible_topology;
<a id="p125961"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.EDGE' IN TYPEOF(an_item) THEN
<a id="p125962"></a>      RETURN(edge_reversed(an_item));
<a id="p125963"></a>   END_IF;
<a id="p125964"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.PATH' IN TYPEOF(an_item) THEN
<a id="p125965"></a>      RETURN(path_reversed(an_item));
<a id="p125966"></a>   END_IF;
<a id="p125967"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.FACE_BOUND' IN TYPEOF(an_item) THEN
<a id="p125968"></a>      RETURN(face_bound_reversed(an_item));
<a id="p125969"></a>   END_IF;
<a id="p125970"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.FACE' IN TYPEOF(an_item) THEN
<a id="p125971"></a>      RETURN(face_reversed(an_item));
<a id="p125972"></a>   END_IF;
<a id="p125973"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.SHELL' IN TYPEOF(an_item) THEN
<a id="p125974"></a>      RETURN(shell_reversed(an_item));
<a id="p125975"></a>   END_IF;
<a id="p125976"></a>   IF 'SET' IN TYPEOF(an_item) THEN
<a id="p125977"></a>      RETURN(set_of_topology_reversed(an_item));
<a id="p125978"></a>   END_IF;
<a id="p125979"></a>   IF 'LIST' IN TYPEOF(an_item) THEN
<a id="p125980"></a>      RETURN(list_of_topology_reversed(an_item));
<a id="p125981"></a>   END_IF;
<a id="p125982"></a>   RETURN(?);

<a id="p125983"></a>END_FUNCTION; -- topology_reversed

<a id="p125984"></a>FUNCTION using_items(
<a id="p125985"></a>      item: founded_item_select;
<a id="p125986"></a>      checked_items: SET OF founded_item_select
<a id="p125987"></a>   ): SET OF founded_item_select;
<a id="p125988"></a>   LOCAL
<a id="p125989"></a>      next_items : SET OF founded_item_select;
<a id="p125990"></a>      new_check_items : SET OF founded_item_select;
<a id="p125991"></a>      result_items : SET OF founded_item_select;
<a id="p125992"></a>   END_LOCAL;
<a id="p125993"></a>   result_items := [];
<a id="p125994"></a>   new_check_items := checked_items + item;
<a id="p125995"></a>   next_items := QUERY ( z <* bag_to_set(USEDIN(item,'')) | ((
<a id="p125996"></a>   'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION_ITEM' IN TYPEOF(z))
<a id="p125997"></a>   OR ('SHIP_MOULDED_FORM_SCHEMA.FOUNDED_ITEM' IN TYPEOF(z))) );
<a id="p125998"></a>   IF SIZEOF(next_items) > 0 THEN
<a id="p125999"></a>      REPEAT i := 1 TO HIINDEX(next_items) BY 1;
<a id="p126000"></a>         IF NOT (next_items[i] IN new_check_items) THEN
<a id="p126001"></a>            result_items := result_items + next_items[i] +
<a id="p126002"></a>            using_items(next_items[i],new_check_items);
<a id="p126003"></a>         END_IF;
<a id="p126004"></a>      END_REPEAT;
<a id="p126005"></a>   END_IF;
<a id="p126006"></a>   RETURN(result_items);

<a id="p126007"></a>END_FUNCTION; -- using_items

<a id="p126008"></a>FUNCTION using_representations(
<a id="p126009"></a>      item: founded_item_select
<a id="p126010"></a>   ): SET OF representation;
<a id="p126011"></a>   LOCAL
<a id="p126012"></a>      results : SET OF representation;
<a id="p126013"></a>      intermediate_items : SET OF founded_item_select;
<a id="p126014"></a>      result_bag : BAG OF representation;
<a id="p126015"></a>   END_LOCAL;
<a id="p126016"></a>   results := [];
<a id="p126017"></a>   result_bag := USEDIN(item,
<a id="p126018"></a>   'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION.ITEMS');
<a id="p126019"></a>   IF SIZEOF(result_bag) > 0 THEN
<a id="p126020"></a>      REPEAT i := 1 TO HIINDEX(result_bag) BY 1;
<a id="p126021"></a>         results := results + result_bag[i];
<a id="p126022"></a>      END_REPEAT;
<a id="p126023"></a>   END_IF;
<a id="p126024"></a>   intermediate_items := using_items(item,[]);
<a id="p126025"></a>   IF SIZEOF(intermediate_items) > 0 THEN
<a id="p126026"></a>      REPEAT i := 1 TO HIINDEX(intermediate_items) BY 1;
<a id="p126027"></a>         result_bag := USEDIN(intermediate_items[i],
<a id="p126028"></a>         'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION.ITEMS');
<a id="p126029"></a>         IF SIZEOF(result_bag) > 0 THEN
<a id="p126030"></a>            REPEAT j := 1 TO HIINDEX(result_bag) BY 1;
<a id="p126031"></a>               results := results + result_bag[j];
<a id="p126032"></a>            END_REPEAT;
<a id="p126033"></a>         END_IF;
<a id="p126034"></a>      END_REPEAT;
<a id="p126035"></a>   END_IF;
<a id="p126036"></a>   RETURN(results);

<a id="p126037"></a>END_FUNCTION; -- using_representations

<a id="p126038"></a>FUNCTION valid_calendar_date(
<a id="p126039"></a>      date: calendar_date
<a id="p126040"></a>   ): LOGICAL;
<a id="p126041"></a>   CASE date.month_component OF
<a id="p126042"></a>      1 : RETURN((1 <= date.day_component) AND (date.day_component <= 31));
<a id="p126043"></a>      2 : BEGIN
<a id="p126044"></a>         IF leap_year(date.year_component) THEN
<a id="p126045"></a>            RETURN((1 <= date.day_component) AND (date.day_component <= 29));
<a id="p126046"></a>            ELSE
<a id="p126047"></a>               RETURN((1 <= date.day_component) AND (date.day_component <= 28));
<a id="p126048"></a>         END_IF;
<a id="p126049"></a>      END;
<a id="p126050"></a>      3 : RETURN((1 <= date.day_component) AND (date.day_component <= 31));
<a id="p126051"></a>      4 : RETURN((1 <= date.day_component) AND (date.day_component <= 30));
<a id="p126052"></a>      5 : RETURN((1 <= date.day_component) AND (date.day_component <= 31));
<a id="p126053"></a>      6 : RETURN((1 <= date.day_component) AND (date.day_component <= 30));
<a id="p126054"></a>      7 : RETURN((1 <= date.day_component) AND (date.day_component <= 31));
<a id="p126055"></a>      8 : RETURN((1 <= date.day_component) AND (date.day_component <= 31));
<a id="p126056"></a>      9 : RETURN((1 <= date.day_component) AND (date.day_component <= 30));
<a id="p126057"></a>      10 : RETURN((1 <= date.day_component) AND (date.day_component <= 31));
<a id="p126058"></a>      11 : RETURN((1 <= date.day_component) AND (date.day_component <= 30));
<a id="p126059"></a>      12 : RETURN((1 <= date.day_component) AND (date.day_component <= 31));
<a id="p126060"></a>   END_CASE;
<a id="p126061"></a>   RETURN(FALSE);

<a id="p126062"></a>END_FUNCTION; -- valid_calendar_date

<a id="p126063"></a>FUNCTION valid_measure_value(
<a id="p126064"></a>      m: measure_value
<a id="p126065"></a>   ): BOOLEAN;
<a id="p126066"></a>   IF 'REAL' IN TYPEOF(m) THEN
<a id="p126067"></a>      RETURN(m > 0);
<a id="p126068"></a>      ELSE
<a id="p126069"></a>      IF 'INTEGER' IN TYPEOF(m) THEN
<a id="p126070"></a>         RETURN(m > 0);
<a id="p126071"></a>         ELSE
<a id="p126072"></a>         RETURN(TRUE);
<a id="p126073"></a>      END_IF;
<a id="p126074"></a>   END_IF;

<a id="p126075"></a>END_FUNCTION; -- valid_measure_value

<a id="p126076"></a>FUNCTION valid_time(
<a id="p126077"></a>      time: local_time
<a id="p126078"></a>   ): BOOLEAN;
<a id="p126079"></a>   IF EXISTS(time.second_component) THEN
<a id="p126080"></a>      RETURN(EXISTS(time.minute_component));
<a id="p126081"></a>      ELSE
<a id="p126082"></a>      RETURN(TRUE);
<a id="p126083"></a>   END_IF;

<a id="p126084"></a>END_FUNCTION; -- valid_time

<a id="p126085"></a>FUNCTION valid_units(
<a id="p126086"></a>      m: measure_with_unit
<a id="p126087"></a>   ): BOOLEAN;
<a id="p126088"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.LENGTH_MEASURE' IN TYPEOF(m.
<a id="p126089"></a>      value_component) THEN
<a id="p126090"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126091"></a>         dimensional_exponents(1,0,0,0,0,0,0) THEN
<a id="p126092"></a>         RETURN(FALSE);
<a id="p126093"></a>      END_IF;
<a id="p126094"></a>   END_IF;
<a id="p126095"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.MASS_MEASURE' IN
<a id="p126096"></a>      TYPEOF(m.value_component)
<a id="p126097"></a>      THEN
<a id="p126098"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126099"></a>         dimensional_exponents(0,1,0,0,0,0,0) THEN
<a id="p126100"></a>         RETURN(FALSE);
<a id="p126101"></a>      END_IF;
<a id="p126102"></a>   END_IF;
<a id="p126103"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.TIME_MEASURE' IN
<a id="p126104"></a>      TYPEOF(m.value_component)
<a id="p126105"></a>      THEN
<a id="p126106"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126107"></a>         dimensional_exponents(0,0,1,0,0,0,0) THEN
<a id="p126108"></a>         RETURN(FALSE);
<a id="p126109"></a>      END_IF;
<a id="p126110"></a>   END_IF;
<a id="p126111"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.ELECTRIC_CURRENT_MEASURE' IN
<a id="p126112"></a>      TYPEOF(m.value_component) THEN
<a id="p126113"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126114"></a>         dimensional_exponents(0,0,0,1,0,0,0) THEN
<a id="p126115"></a>         RETURN(FALSE);
<a id="p126116"></a>      END_IF;
<a id="p126117"></a>   END_IF;
<a id="p126118"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.THERMODYNAMIC_TEMPERATURE_MEASURE' IN
<a id="p126119"></a>      TYPEOF(m.value_component) THEN
<a id="p126120"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126121"></a>         dimensional_exponents(0,0,0,0,1,0,0) THEN
<a id="p126122"></a>         RETURN(FALSE);
<a id="p126123"></a>      END_IF;
<a id="p126124"></a>   END_IF;
<a id="p126125"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.CELSIUS_TEMPERATURE_MEASURE' IN
<a id="p126126"></a>      TYPEOF(m.value_component) THEN
<a id="p126127"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126128"></a>         dimensional_exponents(0,0,0,0,1,0,0) THEN
<a id="p126129"></a>         RETURN(FALSE);
<a id="p126130"></a>      END_IF;
<a id="p126131"></a>   END_IF;
<a id="p126132"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.AMOUNT_OF_SUBSTANCE_MEASURE' IN
<a id="p126133"></a>      TYPEOF(m.value_component) THEN
<a id="p126134"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126135"></a>         dimensional_exponents(0,0,0,0,0,1,0) THEN
<a id="p126136"></a>         RETURN(FALSE);
<a id="p126137"></a>      END_IF;
<a id="p126138"></a>   END_IF;
<a id="p126139"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.LUMINOUS_INTENSITY_MEASURE' IN
<a id="p126140"></a>      TYPEOF(m.value_component) THEN
<a id="p126141"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126142"></a>         dimensional_exponents(0,0,0,0,0,0,1) THEN
<a id="p126143"></a>         RETURN(FALSE);
<a id="p126144"></a>      END_IF;
<a id="p126145"></a>   END_IF;
<a id="p126146"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN
<a id="p126147"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126148"></a>         dimensional_exponents(0,0,0,0,0,0,0) THEN
<a id="p126149"></a>         RETURN(FALSE);
<a id="p126150"></a>      END_IF;
<a id="p126151"></a>   END_IF;
<a id="p126152"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.SOLID_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN
<a id="p126153"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126154"></a>         dimensional_exponents(0,0,0,0,0,0,0) THEN
<a id="p126155"></a>         RETURN(FALSE);
<a id="p126156"></a>      END_IF;
<a id="p126157"></a>   END_IF;
<a id="p126158"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.AREA_MEASURE' IN
<a id="p126159"></a>      TYPEOF(m.value_component)
<a id="p126160"></a>      THEN
<a id="p126161"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126162"></a>         dimensional_exponents(2,0,0,0,0,0,0) THEN
<a id="p126163"></a>         RETURN(FALSE);
<a id="p126164"></a>      END_IF;
<a id="p126165"></a>   END_IF;
<a id="p126166"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.VOLUME_MEASURE' IN TYPEOF(m.
<a id="p126167"></a>      value_component) THEN
<a id="p126168"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126169"></a>         dimensional_exponents(3,0,0,0,0,0,0) THEN
<a id="p126170"></a>         RETURN(FALSE);
<a id="p126171"></a>      END_IF;
<a id="p126172"></a>   END_IF;
<a id="p126173"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.RATIO_MEASURE' IN TYPEOF(m.
<a id="p126174"></a>      value_component) THEN
<a id="p126175"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126176"></a>         dimensional_exponents(0,0,0,0,0,0,0) THEN
<a id="p126177"></a>         RETURN(FALSE);
<a id="p126178"></a>      END_IF;
<a id="p126179"></a>   END_IF;
<a id="p126180"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.POSITIVE_LENGTH_MEASURE' IN
<a id="p126181"></a>      TYPEOF(m.value_component) THEN
<a id="p126182"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126183"></a>         dimensional_exponents(1,0,0,0,0,0,0) THEN
<a id="p126184"></a>         RETURN(FALSE);
<a id="p126185"></a>      END_IF;
<a id="p126186"></a>   END_IF;
<a id="p126187"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.POSITIVE_PLANE_ANGLE_MEASURE' IN
<a id="p126188"></a>      TYPEOF(m.value_component) THEN
<a id="p126189"></a>      IF derive_dimensional_exponents(m.unit_component) <>
<a id="p126190"></a>         dimensional_exponents(0,0,0,0,0,0,0) THEN
<a id="p126191"></a>         RETURN(FALSE);
<a id="p126192"></a>      END_IF;
<a id="p126193"></a>   END_IF;
<a id="p126194"></a>   RETURN(TRUE);

<a id="p126195"></a>END_FUNCTION; -- valid_units

<a id="p126196"></a>FUNCTION valid_wireframe_edge_curve(
<a id="p126197"></a>      crv: curve
<a id="p126198"></a>   ): BOOLEAN;
<a id="p126199"></a>   IF SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.LINE',
<a id="p126200"></a>      'SHIP_MOULDED_FORM_SCHEMA.CONIC',
<a id="p126201"></a>      'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE',
<a id="p126202"></a>      'SHIP_MOULDED_FORM_SCHEMA.POLYLINE'] * TYPEOF(crv)) = 1 THEN
<a id="p126203"></a>      RETURN(TRUE);
<a id="p126204"></a>      ELSE
<a id="p126205"></a>      IF 'SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA' IN TYPEOF(crv)
<a id="p126206"></a>         THEN
<a id="p126207"></a>         RETURN(valid_wireframe_edge_curve(crv\curve_replica.parent_curve));
<a id="p126208"></a>         ELSE
<a id="p126209"></a>         IF 'SHIP_MOULDED_FORM_SCHEMA.OFFSET_CURVE_3D' IN TYPEOF(crv)
<a id="p126210"></a>            THEN
<a id="p126211"></a>            RETURN(valid_wireframe_edge_curve(crv\offset_curve_3d.basis_curve));
<a id="p126212"></a>         END_IF;
<a id="p126213"></a>      END_IF;
<a id="p126214"></a>   END_IF;
<a id="p126215"></a>   RETURN(FALSE);

<a id="p126216"></a>END_FUNCTION; -- valid_wireframe_edge_curve

<a id="p126217"></a>FUNCTION valid_wireframe_vertex_point(
<a id="p126218"></a>      pnt: point
<a id="p126219"></a>   ): BOOLEAN;
<a id="p126220"></a>   IF 'SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN TYPEOF(pnt)
<a id="p126221"></a>      THEN
<a id="p126222"></a>      RETURN(TRUE);
<a id="p126223"></a>      ELSE
<a id="p126224"></a>      IF 'SHIP_MOULDED_FORM_SCHEMA.POINT_REPLICA' IN TYPEOF(pnt)
<a id="p126225"></a>         THEN
<a id="p126226"></a>         RETURN(valid_wireframe_vertex_point(pnt\point_replica.parent_pt));
<a id="p126227"></a>      END_IF;
<a id="p126228"></a>   END_IF;
<a id="p126229"></a>   RETURN(FALSE);

<a id="p126230"></a>END_FUNCTION; -- valid_wireframe_vertex_point

<a id="p126231"></a>FUNCTION vector_difference(
<a id="p126232"></a>      arg1, arg2: vector_or_direction
<a id="p126233"></a>   ): vector;
<a id="p126234"></a>   LOCAL
<a id="p126235"></a>      ndim : INTEGER;
<a id="p126236"></a>      mag2 : REAL;
<a id="p126237"></a>      mag1 : REAL;
<a id="p126238"></a>      mag : REAL;
<a id="p126239"></a>      res : direction;
<a id="p126240"></a>      vec1 : direction;
<a id="p126241"></a>      vec2 : direction;
<a id="p126242"></a>      result : vector;
<a id="p126243"></a>   END_LOCAL;
<a id="p126244"></a>   IF (NOT EXISTS(arg1)) OR (NOT EXISTS(arg2)) OR (arg1.dim <> arg2.dim)
<a id="p126245"></a>      THEN
<a id="p126246"></a>      RETURN(?);
<a id="p126247"></a>      ELSE
<a id="p126248"></a>      BEGIN
<a id="p126249"></a>         IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(arg1) THEN
<a id="p126250"></a>            mag1 := arg1.magnitude;
<a id="p126251"></a>            vec1 := arg1.orientation;
<a id="p126252"></a>            ELSE
<a id="p126253"></a>            mag1 := 1;
<a id="p126254"></a>            vec1 := arg1;
<a id="p126255"></a>         END_IF;
<a id="p126256"></a>         IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(arg2) THEN
<a id="p126257"></a>            mag2 := arg2.magnitude;
<a id="p126258"></a>            vec2 := arg2.orientation;
<a id="p126259"></a>            ELSE
<a id="p126260"></a>            mag2 := 1;
<a id="p126261"></a>            vec2 := arg2;
<a id="p126262"></a>         END_IF;
<a id="p126263"></a>         vec1 := normalise(vec1);
<a id="p126264"></a>         vec2 := normalise(vec2);
<a id="p126265"></a>         ndim := SIZEOF(vec1.direction_ratios);
<a id="p126266"></a>         mag := 0;
<a id="p126267"></a>         res := dummy_gri || direction(vec1.direction_ratios);
<a id="p126268"></a>         REPEAT i := 1 TO ndim BY 1;
<a id="p126269"></a>            res.direction_ratios[i] := (mag1 * vec1.direction_ratios[i]) + (
            mag2 * vec2.direction_ratios[i]);
<a id="p126270"></a>            mag := mag + (res.direction_ratios[i] * res.direction_ratios[i]);
<a id="p126271"></a>         END_REPEAT;
<a id="p126272"></a>         IF mag > 0 THEN
<a id="p126273"></a>            result := dummy_gri || vector(res,SQRT(mag));
<a id="p126274"></a>            ELSE
<a id="p126275"></a>            result := dummy_gri || vector(vec1,0);
<a id="p126276"></a>         END_IF;
<a id="p126277"></a>      END;
<a id="p126278"></a>   END_IF;
<a id="p126279"></a>   RETURN(result);

<a id="p126280"></a>END_FUNCTION; -- vector_difference

<a id="p126281"></a>FUNCTION which_class(
<a id="p126282"></a>      t: GENERIC
<a id="p126283"></a>   ): LIST OF STRING;
<a id="p126284"></a>   LOCAL
<a id="p126285"></a>      class_list : LIST OF STRING := [];
<a id="p126286"></a>      elements : BAG OF applied_classification_assignment;
<a id="p126287"></a>   END_LOCAL;
<a id="p126288"></a>   elements := USEDIN(t,'SHIP_MOULDED_FORM_SCHEMA.APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS');
<a id="p126289"></a>   REPEAT i := 1 TO HIINDEX(elements) BY 1;
<a id="p126290"></a>      IF elements[i]\classification_assignment.role.name = 'class membership' THEN
<a id="p126291"></a>         class_list := class_list +
<a id="p126292"></a>         elements[i]\classification_assignment.assigned_class\group.name;
<a id="p126293"></a>      END_IF;
<a id="p126294"></a>   END_REPEAT;
<a id="p126295"></a>   RETURN(class_list);

<a id="p126296"></a>END_FUNCTION; -- which_class

<a id="p126297"></a>END_SCHEMA; -- ship_moulded_form_schema





<a id="p126298"></a>Приложение B
(обязательное)

<a id="p126299"></a>**СОКРАЩЕННЫЕ НАИМЕНОВАНИЯ ОБЪЕКТОВ ПРИКЛАДНОЙ**
**ИНТЕРПРЕТИРОВАННОЙ МОДЕЛИ**

<a id="p126300"></a>В [таблице B.1](#p126302) приведены сокращенные наименования объектов, указанных в ПИМ настоящего стандарта. Требования к использованию сокращенных наименований определены в методах реализации, описанных в ИСО 10303-21, ИСО 10303-22, ISO/TS 10303-28.

<a id="p126301"></a>Таблица B.1

<a id="p126302"></a>Сокращенные наименования объектов ПИМ


| <a id="p126303"></a>Наименование объекта | <a id="p126304"></a>Сокращенное наименование |
| --- | --- |
| <a id="p126305"></a>ACTION | <a id="p126306"></a>ACTION |
| <a id="p126307"></a>ACTION_ASSIGNMENT | <a id="p126308"></a>ACTASS |
| <a id="p126309"></a>ACTION_METHOD | <a id="p126310"></a>ACTMTH |
| <a id="p126311"></a>ACTION_RELATIONSHIP | <a id="p126312"></a>ACTRLT |
| <a id="p126313"></a>ACTION_REQUEST_ASSIGNMENT | <a id="p126314"></a>ACRQAS |
| <a id="p126315"></a>ACTION_REQUEST_SOLUTION | <a id="p126316"></a>ACRQSL |
| <a id="p126317"></a>ADDRESS | <a id="p126318"></a>ADDRSS |
| <a id="p126319"></a>ADVANCED_FACE | <a id="p126320"></a>ADVFC |
| <a id="p126321"></a>AMOUNT_OF_SUBSTANCE_UNIT | <a id="p126322"></a>AOSU |
| <a id="p126323"></a>APPLICATION_CONTEXT | <a id="p126324"></a>APPCNT |
| <a id="p126325"></a>APPLICATION_CONTEXT_ELEMENT | <a id="p126326"></a>APCNEL |
| <a id="p126327"></a>APPLICATION_PROTOCOL_DEFINITION | <a id="p126328"></a>APPRDF |
| <a id="p126329"></a>APPLIED_ACTION_ASSIGNMENT | <a id="p126330"></a>APACAS |
| <a id="p126331"></a>APPLIED_ACTION_REQUEST_ASSIGNMENT | <a id="p126332"></a>AARA |
| <a id="p126333"></a>APPLIED_APPROVAL_ASSIGNMENT | <a id="p126334"></a>APAPAS |
| <a id="p126335"></a>APPLIED_CLASSIFICATION_ASSIGNMENT | <a id="p126336"></a>APCLAS |
| <a id="p126337"></a>APPLIED_DATE_AND_TIME_ASSIGNMENT | <a id="p126338"></a>ADATA |
| <a id="p126339"></a>APPLIED_DOCUMENT_REFERENCE | <a id="p126340"></a>APDCRF |
| <a id="p126341"></a>APPLIED_EFFECTIVITY_ASSIGNMENT | <a id="p126342"></a>APEFAS |
| <a id="p126343"></a>APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT | <a id="p126344"></a>AEIA |
| <a id="p126345"></a>APPLIED_GROUP_ASSIGNMENT | <a id="p126346"></a>APGRAS |
| <a id="p126347"></a>APPLIED_IDENTIFICATION_ASSIGNMENT | <a id="p126348"></a>APIDAS |
| <a id="p126349"></a>APPLIED_ORGANIZATION_ASSIGNMENT | <a id="p126350"></a>APORAS |
| <a id="p126351"></a>APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT | <a id="p126352"></a>APAOA |
| <a id="p126353"></a>APPLIED_PERSON_ASSIGNMENT | <a id="p126354"></a>APPRAS |
| <a id="p126355"></a>APPROVAL | <a id="p126356"></a>APPRVL |
| <a id="p126357"></a>APPROVAL_ASSIGNMENT | <a id="p126358"></a>APPASS |
| <a id="p126359"></a>APPROVAL_DATE_TIME | <a id="p126360"></a>APDTTM |
| <a id="p126361"></a>APPROVAL_PERSON_ORGANIZATION | <a id="p126362"></a>APPROR |
| <a id="p126363"></a>APPROVAL_ROLE | <a id="p126364"></a>APPRL |
| <a id="p126365"></a>APPROVAL_STATUS | <a id="p126366"></a>APPSTT |
| <a id="p126367"></a>AXIS1_PLACEMENT | <a id="p126368"></a>AX1PLC |
| <a id="p126369"></a>AXIS2_PLACEMENT_2D | <a id="p126370"></a>A2PL2D |
| <a id="p126371"></a>AXIS2_PLACEMENT_3D | <a id="p126372"></a>A2PL3D |
| <a id="p126373"></a>B_SPLINE_CURVE | <a id="p126374"></a>BSPCR |
| <a id="p126375"></a>B_SPLINE_CURVE_WITH_KNOTS | <a id="p126376"></a>BSCWK |
| <a id="p126377"></a>B_SPLINE_SURFACE | <a id="p126378"></a>BSPSR |
| <a id="p126379"></a>B_SPLINE_SURFACE_WITH_KNOTS | <a id="p126380"></a>BSSWK |
| <a id="p126381"></a>BEZIER_CURVE | <a id="p126382"></a>BZRCRV |
| <a id="p126383"></a>BEZIER_SURFACE | <a id="p126384"></a>BZRSRF |
| <a id="p126385"></a>BOUNDED_CURVE | <a id="p126386"></a>BNDCRV |
| <a id="p126387"></a>BOUNDED_PCURVE | <a id="p126388"></a>BNDPCR |
| <a id="p126389"></a>BOUNDED_SURFACE | <a id="p126390"></a>BNDSRF |
| <a id="p126391"></a>BOUNDED_SURFACE_CURVE | <a id="p126392"></a>BNSRCR |
| <a id="p126393"></a>CALENDAR_DATE | <a id="p126394"></a>CLNDT |
| <a id="p126395"></a>CARTESIAN_POINT | <a id="p126396"></a>CRTPNT |
| <a id="p126397"></a>CARTESIAN_TRANSFORMATION_OPERATOR | <a id="p126398"></a>CRTROP |
| <a id="p126399"></a>CARTESIAN_TRANSFORMATION_OPERATOR_3D | <a id="p126400"></a>CTO3 |
| <a id="p126401"></a>CHARACTERIZED_OBJECT | <a id="p126402"></a>CHROBJ |
| <a id="p126403"></a>CIRCLE | <a id="p126404"></a>CIRCLE |
| <a id="p126405"></a>CLASS | <a id="p126406"></a>CLASS |
| <a id="p126407"></a>CLASSIFICATION_ASSIGNMENT | <a id="p126408"></a>CLSASS |
| <a id="p126409"></a>CLASSIFICATION_ROLE | <a id="p126410"></a>CLSRL |
| <a id="p126411"></a>CLOSED_SHELL | <a id="p126412"></a>CLSSHL |
| <a id="p126413"></a>COMPOSITE_CURVE | <a id="p126414"></a>CMPCRV |
| <a id="p126415"></a>COMPOSITE_CURVE_ON_SURFACE | <a id="p126416"></a>CCOS |
| <a id="p126417"></a>COMPOSITE_CURVE_SEGMENT | <a id="p126418"></a>CMCRSG |
| <a id="p126419"></a>COMPOUND_REPRESENTATION_ITEM | <a id="p126420"></a>CMRPIT |
| <a id="p126421"></a>CONIC | <a id="p126422"></a>CONIC |
| <a id="p126423"></a>CONICAL_SURFACE | <a id="p126424"></a>CNCSRF |
| <a id="p126425"></a>CONNECTED_EDGE_SET | <a id="p126426"></a>CNEDST |
| <a id="p126427"></a>CONNECTED_FACE_SET | <a id="p126428"></a>CNFCST |
| <a id="p126429"></a>CONTEXT_DEPENDENT_UNIT | <a id="p126430"></a>CNDPUN |
| <a id="p126431"></a>CONVERSION_BASED_UNIT | <a id="p126432"></a>CNBSUN |
| <a id="p126433"></a>COORDINATED_UNIVERSAL_TIME_OFFSET | <a id="p126434"></a>CUTO |
| <a id="p126435"></a>CURVE | <a id="p126436"></a>CURVE |
| <a id="p126437"></a>CURVE_REPLICA | <a id="p126438"></a>CRVRPL |
| <a id="p126439"></a>CYLINDRICAL_SURFACE | <a id="p126440"></a>CYLSRF |
| <a id="p126441"></a>DATE | <a id="p126442"></a>DATE |
| <a id="p126443"></a>DATE_AND_TIME | <a id="p126444"></a>DTANTM |
| <a id="p126445"></a>DATE_AND_TIME_ASSIGNMENT | <a id="p126446"></a>DATA |
| <a id="p126447"></a>DATE_TIME_ROLE | <a id="p126448"></a>DTTMRL |
| <a id="p126449"></a>DEFINITIONAL_REPRESENTATION | <a id="p126450"></a>DFNRPR |
| <a id="p126451"></a>DEGENERATE_PCURVE | <a id="p126452"></a>DGNPCR |
| <a id="p126453"></a>DEGENERATE_TOROIDAL_SURFACE | <a id="p126454"></a>DGTRSR |
| <a id="p126455"></a>DERIVED_UNIT | <a id="p126456"></a>DRVUNT |
| <a id="p126457"></a>DERIVED_UNIT_ELEMENT | <a id="p126458"></a>DRUNEL |
| <a id="p126459"></a>DESCRIPTION_ATTRIBUTE | <a id="p126460"></a>DSCATT |
| <a id="p126461"></a>DESCRIPTIVE_REPRESENTATION_ITEM | <a id="p126462"></a>DSRPIT |
| <a id="p126463"></a>DIMENSIONAL_EXPONENTS | <a id="p126464"></a>DMNEXP |
| <a id="p126465"></a>DIRECTION | <a id="p126466"></a>DRCTN |
| <a id="p126467"></a>DOCUMENT | <a id="p126468"></a>DCMNT |
| <a id="p126469"></a>DOCUMENT_REFERENCE | <a id="p126470"></a>DCMRFR |
| <a id="p126471"></a>DOCUMENT_REPRESENTATION_TYPE | <a id="p126472"></a>DCRPTY |
| <a id="p126473"></a>DOCUMENT_TYPE | <a id="p126474"></a>DCMTYP |
| <a id="p126475"></a>DOCUMENT_USAGE_CONSTRAINT | <a id="p126476"></a>DCUSCN |
| <a id="p126477"></a>EDGE | <a id="p126478"></a>EDGE |
| <a id="p126479"></a>EDGE_BASED_WIREFRAME_MODEL | <a id="p126480"></a>EBWM |
| <a id="p126481"></a>EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION | <a id="p126482"></a>EBWSR |
| <a id="p126483"></a>EDGE_CURVE | <a id="p126484"></a>EDGCRV |
| <a id="p126485"></a>EDGE_LOOP | <a id="p126486"></a>EDGLP |
| <a id="p126487"></a>EFFECTIVITY | <a id="p126488"></a>EFFCTV |
| <a id="p126489"></a>EFFECTIVITY_ASSIGNMENT | <a id="p126490"></a>EFFASS |
| <a id="p126491"></a>ELECTRIC_CURRENT_UNIT | <a id="p126492"></a>ELCRUN |
| <a id="p126493"></a>ELEMENTARY_SURFACE | <a id="p126494"></a>ELMSRF |
| <a id="p126495"></a>ELLIPSE | <a id="p126496"></a>ELLPS |
| <a id="p126497"></a>EVALUATED_DEGENERATE_PCURVE | <a id="p126498"></a>EVDGPC |
| <a id="p126499"></a>EXECUTED_ACTION | <a id="p126500"></a>EXCACT |
| <a id="p126501"></a>EXTERNAL_IDENTIFICATION_ASSIGNMENT | <a id="p126502"></a>EXIDAS |
| <a id="p126503"></a>EXTERNAL_SOURCE | <a id="p126504"></a>EXTSRC |
| <a id="p126505"></a>EXTERNAL_SOURCE_RELATIONSHIP | <a id="p126506"></a>EXSRRL |
| <a id="p126507"></a>EXTERNALLY_DEFINED_ITEM | <a id="p126508"></a>EXDFIT |
| <a id="p126509"></a>FACE | <a id="p126510"></a>FACE |
| <a id="p126511"></a>FACE_BASED_SURFACE_MODEL | <a id="p126512"></a>FBSM |
| <a id="p126513"></a>FACE_BOUND | <a id="p126514"></a>FCBND |
| <a id="p126515"></a>FACE_OUTER_BOUND | <a id="p126516"></a>FCOTBN |
| <a id="p126517"></a>FACE_SURFACE | <a id="p126518"></a>FCSRF |
| <a id="p126519"></a>FACETED_BREP | <a id="p126520"></a>FCTBR |
| <a id="p126521"></a>FOUNDED_ITEM | <a id="p126522"></a>FNDITM |
| <a id="p126523"></a>FUNCTIONALLY_DEFINED_TRANSFORMATION | <a id="p126524"></a>FNDFTR |
| <a id="p126525"></a>GEOMETRIC_CURVE_SET | <a id="p126526"></a>GMCRST |
| <a id="p126527"></a>GEOMETRIC_REPRESENTATION_CONTEXT | <a id="p126528"></a>GMRPCN |
| <a id="p126529"></a>GEOMETRIC_REPRESENTATION_ITEM | <a id="p126530"></a>GMRPIT |
| <a id="p126531"></a>GEOMETRIC_SET | <a id="p126532"></a>GMTST |
| <a id="p126533"></a>GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT | <a id="p126534"></a>GC |
| <a id="p126535"></a>GLOBAL_UNIT_ASSIGNED_CONTEXT | <a id="p126536"></a>GUAC |
| <a id="p126537"></a>GROUP | <a id="p126538"></a>GROUP |
| <a id="p126539"></a>GROUP_ASSIGNMENT | <a id="p126540"></a>GRPASS |
| <a id="p126541"></a>GROUP_RELATIONSHIP | <a id="p126542"></a>GRPRLT |
| <a id="p126543"></a>HYPERBOLA | <a id="p126544"></a>HYPRBL |
| <a id="p126545"></a>ID_ATTRIBUTE | <a id="p126546"></a>IDATT |
| <a id="p126547"></a>IDENTIFICATION_ASSIGNMENT | <a id="p126548"></a>IDNASS |
| <a id="p126549"></a>IDENTIFICATION_ASSIGNMENT_RELATIONSHIP | <a id="p126550"></a>IDASRL |
| <a id="p126551"></a>IDENTIFICATION_ROLE | <a id="p126552"></a>IDNRL |
| <a id="p126553"></a>INTERSECTION_CURVE | <a id="p126554"></a>INTCRV |
| <a id="p126555"></a>ITEM_DEFINED_TRANSFORMATION | <a id="p126556"></a>ITDFTR |
| <a id="p126557"></a>LENGTH_MEASURE_WITH_UNIT | <a id="p126558"></a>LMWU |
| <a id="p126559"></a>LENGTH_UNIT | <a id="p126560"></a>LNGUNT |
| <a id="p126561"></a>LINE | <a id="p126562"></a>LINE |
| <a id="p126563"></a>LOCAL_TIME | <a id="p126564"></a>LCLTM |
| <a id="p126565"></a>LOOP | <a id="p126566"></a>LOOP |
| <a id="p126567"></a>LUMINOUS_INTENSITY_UNIT | <a id="p126568"></a>LMINUN |
| <a id="p126569"></a>MANIFOLD_SOLID_BREP | <a id="p126570"></a>MNSLBR |
| <a id="p126571"></a>MAPPED_ITEM | <a id="p126572"></a>MPPITM |
| <a id="p126573"></a>MASS_MEASURE_WITH_UNIT | <a id="p126574"></a>MMWU |
| <a id="p126575"></a>MASS_UNIT | <a id="p126576"></a>MSSUNT |
| <a id="p126577"></a>MEASURE_WITH_UNIT | <a id="p126578"></a>MSWTUN |
| <a id="p126579"></a>NAME_ATTRIBUTE | <a id="p126580"></a>NMATT |
| <a id="p126581"></a>NAMED_UNIT | <a id="p126582"></a>NMDUNT |
| <a id="p126583"></a>NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION | <a id="p126584"></a>NMSSR |
| <a id="p126585"></a>OBJECT_ROLE | <a id="p126586"></a>OBJRL |
| <a id="p126587"></a>OFFSET_CURVE_3D | <a id="p126588"></a>OFCR3D |
| <a id="p126589"></a>OFFSET_SURFACE | <a id="p126590"></a>OFFSRF |
| <a id="p126591"></a>OPEN_SHELL | <a id="p126592"></a>OPNSHL |
| <a id="p126593"></a>ORDINAL_DATE | <a id="p126594"></a>ORDDT |
| <a id="p126595"></a>ORGANIZATION | <a id="p126596"></a>ORGNZT |
| <a id="p126597"></a>ORGANIZATION_ASSIGNMENT | <a id="p126598"></a>ORGASS |
| <a id="p126599"></a>ORGANIZATION_ROLE | <a id="p126600"></a>ORGRL |
| <a id="p126601"></a>ORGANIZATIONAL_ADDRESS | <a id="p126602"></a>ORGADD |
| <a id="p126603"></a>ORGANIZATIONAL_PROJECT | <a id="p126604"></a>ORGPRJ |
| <a id="p126605"></a>ORIENTED_CLOSED_SHELL | <a id="p126606"></a>ORCLSH |
| <a id="p126607"></a>ORIENTED_EDGE | <a id="p126608"></a>ORNEDG |
| <a id="p126609"></a>ORIENTED_FACE | <a id="p126610"></a>ORNFC |
| <a id="p126611"></a>ORIENTED_OPEN_SHELL | <a id="p126612"></a>OROPSH |
| <a id="p126613"></a>ORIENTED_PATH | <a id="p126614"></a>ORNPTH |
| <a id="p126615"></a>ORIENTED_SURFACE | <a id="p126616"></a>ORNSRF |
| <a id="p126617"></a>PARABOLA | <a id="p126618"></a>PRBL |
| <a id="p126619"></a>PARAMETRIC_REPRESENTATION_CONTEXT | <a id="p126620"></a>PRRPCN |
| <a id="p126621"></a>PATH | <a id="p126622"></a>PATH |
| <a id="p126623"></a>PCURVE | <a id="p126624"></a>PCURVE |
| <a id="p126625"></a>PERSON | <a id="p126626"></a>PERSON |
| <a id="p126627"></a>PERSON_AND_ORGANIZATION | <a id="p126628"></a>PRANOR |
| <a id="p126629"></a>PERSON_AND_ORGANIZATION_ASSIGNMENT | <a id="p126630"></a>PAOA |
| <a id="p126631"></a>PERSON_AND_ORGANIZATION_ROLE | <a id="p126632"></a>PAOR |
| <a id="p126633"></a>PERSON_ASSIGNMENT | <a id="p126634"></a>PRSASS |
| <a id="p126635"></a>PERSON_ROLE | <a id="p126636"></a>PRSRL |
| <a id="p126637"></a>PERSONAL_ADDRESS | <a id="p126638"></a>PRSADD |
| <a id="p126639"></a>PLACEMENT | <a id="p126640"></a>PLCMNT |
| <a id="p126641"></a>PLANE | <a id="p126642"></a>PLANE |
| <a id="p126643"></a>PLANE_ANGLE_MEASURE_WITH_UNIT | <a id="p126644"></a>PAMWU |
| <a id="p126645"></a>PLANE_ANGLE_UNIT | <a id="p126646"></a>PLANUN |
| <a id="p126647"></a>POINT | <a id="p126648"></a>POINT |
| <a id="p126649"></a>POINT_ON_CURVE | <a id="p126650"></a>PNONCR |
| <a id="p126651"></a>POINT_ON_SURFACE | <a id="p126652"></a>PNONSR |
| <a id="p126653"></a>POINT_REPLICA | <a id="p126654"></a>PNTRPL |
| <a id="p126655"></a>POLY_LOOP | <a id="p126656"></a>PLYLP |
| <a id="p126657"></a>POLYLINE | <a id="p126658"></a>PLYLN |
| <a id="p126659"></a>PRODUCT | <a id="p126660"></a>PRDCT |
| <a id="p126661"></a>PRODUCT_CATEGORY | <a id="p126662"></a>PRDCTG |
| <a id="p126663"></a>PRODUCT_CATEGORY_RELATIONSHIP | <a id="p126664"></a>PRCTRL |
| <a id="p126665"></a>PRODUCT_CONTEXT | <a id="p126666"></a>PRDCNT |
| <a id="p126667"></a>PRODUCT_DEFINITION | <a id="p126668"></a>PRDDFN |
| <a id="p126669"></a>PRODUCT_DEFINITION_CONTEXT | <a id="p126670"></a>PRDFCN |
| <a id="p126671"></a>PRODUCT_DEFINITION_FORMATION | <a id="p126672"></a>PRDFFR |
| <a id="p126673"></a>PRODUCT_DEFINITION_RELATIONSHIP | <a id="p126674"></a>PRDFRL |
| <a id="p126675"></a>PRODUCT_DEFINITION_SHAPE | <a id="p126676"></a>PRDFSH |
| <a id="p126677"></a>PRODUCT_RELATED_PRODUCT_CATEGORY | <a id="p126678"></a>PRPC |
| <a id="p126679"></a>PROPERTY_DEFINITION | <a id="p126680"></a>PRPDFN |
| <a id="p126681"></a>PROPERTY_DEFINITION_RELATIONSHIP | <a id="p126682"></a>PRDFR |
| <a id="p126683"></a>PROPERTY_DEFINITION_REPRESENTATION | <a id="p126684"></a>PRDFRP |
| <a id="p126685"></a>QUASI_UNIFORM_CURVE | <a id="p126686"></a>QSUNCR |
| <a id="p126687"></a>QUASI_UNIFORM_SURFACE | <a id="p126688"></a>QSUNSR |
| <a id="p126689"></a>RATIO_UNIT | <a id="p126690"></a>RTUNT |
| <a id="p126691"></a>RATIONAL_B_SPLINE_CURVE | <a id="p126692"></a>RBSC |
| <a id="p126693"></a>RATIONAL_B_SPLINE_SURFACE | <a id="p126694"></a>RBSS |
| <a id="p126695"></a>REPRESENTATION | <a id="p126696"></a>RPRSNT |
| <a id="p126697"></a>REPRESENTATION_CONTEXT | <a id="p126698"></a>RPRCNT |
| <a id="p126699"></a>REPRESENTATION_ITEM | <a id="p126700"></a>RPRITM |
| <a id="p126701"></a>REPRESENTATION_MAP | <a id="p126702"></a>RPRMP |
| <a id="p126703"></a>REPRESENTATION_RELATIONSHIP | <a id="p126704"></a>RPRRLT |
| <a id="p126705"></a>ROLE_ASSOCIATION | <a id="p126706"></a>RLASS |
| <a id="p126707"></a>SEAM_CURVE | <a id="p126708"></a>SMCRV |
| <a id="p126709"></a>SERIAL_NUMBERED_EFFECTIVITY | <a id="p126710"></a>SRNMEF |
| <a id="p126711"></a>SHAPE_ASPECT | <a id="p126712"></a>SHPASP |
| <a id="p126713"></a>SHAPE_DEFINITION_REPRESENTATION | <a id="p126714"></a>SHDFRP |
| <a id="p126715"></a>SHAPE_REPRESENTATION | <a id="p126716"></a>SHPRPR |
| <a id="p126717"></a>SI_UNIT | <a id="p126718"></a>SUNT |
| <a id="p126719"></a>SOLID_ANGLE_MEASURE_WITH_UNIT | <a id="p126720"></a>SAMWU |
| <a id="p126721"></a>SOLID_ANGLE_UNIT | <a id="p126722"></a>SLANUN |
| <a id="p126723"></a>SOLID_MODEL | <a id="p126724"></a>SLDMDL |
| <a id="p126725"></a>SPHERICAL_SURFACE | <a id="p126726"></a>SPHSRF |
| <a id="p126727"></a>SUBFACE | <a id="p126728"></a>SBFC |
| <a id="p126729"></a>SURFACE | <a id="p126730"></a>SRFC |
| <a id="p126731"></a>SURFACE_CURVE | <a id="p126732"></a>SRFCRV |
| <a id="p126733"></a>SURFACE_OF_LINEAR_EXTRUSION | <a id="p126734"></a>SL |
| <a id="p126735"></a>SURFACE_OF_REVOLUTION | <a id="p126736"></a>SROFRV |
| <a id="p126737"></a>SURFACE_REPLICA | <a id="p126738"></a>SRFRPL |
| <a id="p126739"></a>SWEPT_SURFACE | <a id="p126740"></a>SWPSRF |
| <a id="p126741"></a>THERMODYNAMIC_TEMPERATURE_UNIT | <a id="p126742"></a>THTMUN |
| <a id="p126743"></a>TIME_UNIT | <a id="p126744"></a>TMUNT |
| <a id="p126745"></a>TOPOLOGICAL_REPRESENTATION_ITEM | <a id="p126746"></a>TPRPIT |
| <a id="p126747"></a>TOROIDAL_SURFACE | <a id="p126748"></a>TRDSRF |
| <a id="p126749"></a>UNCERTAINTY_MEASURE_WITH_UNIT | <a id="p126750"></a>UMWU |
| <a id="p126751"></a>UNIFORM_CURVE | <a id="p126752"></a>UNFCRV |
| <a id="p126753"></a>UNIFORM_SURFACE | <a id="p126754"></a>UNFSRF |
| <a id="p126755"></a>VALUE_REPRESENTATION_ITEM | <a id="p126756"></a>VLRPIT |
| <a id="p126757"></a>VECTOR | <a id="p126758"></a>VECTOR |
| <a id="p126759"></a>VERSIONED_ACTION_REQUEST | <a id="p126760"></a>VRACRQ |
| <a id="p126761"></a>VERTEX | <a id="p126762"></a>VERTEX |
| <a id="p126763"></a>VERTEX_LOOP | <a id="p126764"></a>VRTLP |
| <a id="p126765"></a>VERTEX_POINT | <a id="p126766"></a>VRTPNT |
| <a id="p126767"></a>WEEK_OF_YEAR_AND_DAY_DATE | <a id="p126768"></a>WOYADD |






<a id="p126769"></a>Приложение C
(обязательное)

<a id="p126770"></a>**СПЕЦИАЛЬНЫЕ ТРЕБОВАНИЯ К МЕТОДАМ РЕАЛИЗАЦИИ**

<a id="p126771"></a>Метод реализации определяет, какие типы поведения при обмене необходимы относительно настоящего стандарта. Соответствие настоящего стандарта должно быть реализовано в структуре обмена. Файловый формат должен быть закодирован в соответствии с синтаксисом и отображением языка EXPRESS, как определено в ИСО 10303-21, ИСО 10303-28, а также в ПИМ, определенной в [приложении A](#p119878) настоящего стандарта. Заголовок структуры обмена должен определять использование настоящего стандарта посредством наименования схемы 'ship moulded form schema'.
<a id="p126772"></a>C.1 Общие требования
<a id="p126773"></a>По разным причинам некоторые сущности могут не полностью экспортироваться в структуру обмена. В ПИМ может быть обязательная информация, не имеющая соответствия в ПЭМ. Иногда приложение может не поддерживать всю информацию, предусмотренную для обмена данными. В других случаях информация может поддерживаться отправляющей системой, но не включаться в обмен данными. Тем не менее, препроцессор должен обеспечивать значения для всех обязательных атрибутов в файле обмена.
<a id="p126774"></a>Если отправляющая система не предоставляет данных для требуемого строкового значения, препроцессор должен использовать ".UNUSED". или пустую строку ".
<a id="p126775"></a>Для дальнейшего указания причины отсутствия данных используется следующее соглашение:
- <a id="p126776"></a>пустая строка " указывает пользовательские данные, управляемые отправляющей системой, но не предоставленные для обмена данными. Поскольку программное обеспечение принимающей системы может зависеть от набора реалистичных значений данных для требуемых атрибутов, использование пустых строк не рекомендуется;
- <a id="p126777"></a>строка со значением '.UNUSED.' указывает данные пользователя в обязательном атрибуте, который не управляется отправляющей системой, неизвестен на момент обмена данными или является обязательной информацией ПИМ, не имеющей соответствия в ПЭМ;
- <a id="p126778"></a>$ используется в физическом файле, если необязательный атрибут не создан.
<a id="p126779"></a>C.2 Требования к методу реализации, определенному в ИСО 10303-21
<a id="p126780"></a>Если используется метод реализации ИСО 10303-21, формат файла должен быть закодирован в соответствии с синтаксисом и языковым отображением языка EXPRESS, определенным в ИСО 10303-21.
<a id="p126781"></a>Элемент FILE_SCHEMA заголовка должен указывать имя используемой схемы EXPRESS и включать идентификатор информации об объекте (см. [приложение E](#p126827)).
<a id="p126782"></a>*Пример* - Приведенный ниже экземпляр идентифицирует схему ship_moulded_form:
<a id="p126783"></a>**FILE_SCHEMA (('SHIP_MOULDED_FORM_SCHEMA { 1 0 10303 216 2 1 1} '))**
<a id="p126784"></a>C.3 Требования к методу реализации, определенному во 2-м издании ИСО 10303-21
<a id="p126785"></a>В ИСО 10303-21:2002 добавлена возможность указания конкретного класса соответствия, которому соответствует раздел "Данные файла обмена". Файлы обмена, соответствующие ISO 10303-21 издания 2002 г., должны содержать один или несколько экземпляров сущности Section_context в разделе "Заголовок файла".
<a id="p126786"></a>*Пример* - SECTION_CONTEXT ($,('CC1'));
<a id="p126787"></a>Если в файл обмена включен один раздел данных, то должен быть включен один экземпляр сущности Section_context, а значением атрибута section_context.section должно быть $. Набор значений атрибута section_context.context_identifiers должен содержать одно значение для идентификации конкретного класса соответствия прикладного протокола, которому соответствуют эти данные.
<a id="p126788"></a>Значение атрибута должно быть одним из следующих:
- <a id="p126789"></a>CC1;
- <a id="p126790"></a>CC2;
- <a id="p126791"></a>CC3;
- <a id="p126792"></a>CC4;
- <a id="p126793"></a>CC5.





<a id="p126794"></a>Приложение D
(обязательное)

<a id="p126795"></a>Форма заявки о соответствии реализации протоколу

<a id="p126796"></a>В данном приложении перечислены необязательные элементы настоящего стандарта. Реализация может выбирать поддержку любой комбинации этих необязательных элементов. Однако некоторые комбинации вариантов, вероятно, будут реализованы вместе. Эти комбинации называются классами соответствия и описаны в подразделах данного приложения.
<a id="p126797"></a>Данное приложение представляет собой анкету, которая заполняется реализатором и может использоваться при подготовке к проверке соответствия в испытательной лаборатории. Заполненная форма называется ЗСРП.
<a id="p126798"></a>Ряд вариантов (опций) определен в настоящем стандарте с целью их возможного использования в соответствующих реализациях. Некоторые из этих опций могут быть использованы (или не использованы) при динамическом выборе (для прогона), например, в качестве атрибутов OPTIONAL какого-либо объекта. Другие опции могут быть выбраны статически (в пределах времени формирования соответствующей конфигурации), например конкретный стиль геометрии, заданный в классе соответствия.
<a id="p126799"></a>Вопросы:
<a id="p126800"></a>1 Для упрощения ссылки, необходим идентификатор изделия или системы, с помощью которого тестируемая реализация STEP (стандарт для обмена данными об изделии) формируется в пакет и/или закупается.
<a id="p126801"></a>Идентификатор (или наименование) изделия/системы: _____________
<a id="p126802"></a>2 В настоящем стандарте определено 12 классов. Каждый класс задает подмножество конструктивов ПИМ. Данные классы описываются в настоящем стандарте (см. [раздел 6](#p118603)). Для соответствия настоящего стандарта требуется хотя бы один из основных [классов соответствия с 1](#p118612) по [4](#p118615).
<a id="p126803"></a>Требуемые классы соответствия (функциональные возможности) - нужное обвести:
<a id="p126804"></a>[класс 1](#p118612). Поддержка обмена гидростатическими данными;
<a id="p126805"></a>[класс 2](#p118613). Поддержка обмена базовой геометрией теоретических обводов в форме таблицы ординат;
<a id="p126806"></a>[класс 3](#p118614). Поддержка обмена [класса 2](#p118613) плюс представления каркасной формы;
<a id="p126807"></a>[класс 4](#p118615). Поддержка обмена [класса 3](#p118614) плюс представления поверхностной формы;
<a id="p126808"></a>[класс 5](#p118616). Поддержка обмена [класса 4](#p118615) плюс применимость корпуса.
<a id="p126809"></a>3 Соответствие настоящему стандарту может быть выполнено посредством одного или нескольких различных методов реализации. Эти методы реализации определяют необходимые типы выполнения обмена данными в соответствии с настоящим стандартом.
<a id="p126810"></a>Требуемые формы реализации - нужное обвести:
- <a id="p126811"></a>структура обмена (ИСО 10303-21);
- <a id="p126812"></a>структура обмена (ИСО 10303-22);
- <a id="p126813"></a>структура обмена (ISO/TS 10303-28).
<a id="p126814"></a>4 Используется ли структура обмена в ISO/TS 10303-28, какая?
<a id="p126815"></a>Структура обмена ISO/TS 10303-28: _____________
<a id="p126816"></a>5 Если эта реализация получает данные, не отвечающие требованиям настоящего стандарта в части выбора класса(ов) соответствия или требованиям части 20 данной серии по выбранному методу реализации, должен быть выдан ответ по умолчанию. Ответ по умолчанию должен быть статическим.
<a id="p126817"></a>Ответ по умолчанию: _____________
<a id="p126818"></a>6 Соответствующая реализация должна обеспечивать статические опции, выбранные посредством последующей динамической оценки (тестирования) без необходимости внесения изменений. В среде пользователя соответствующая реализация должна постоянно обеспечивать выполнение выбранных статических опций, или обеспечивать авторизованный контроль пользователем изменений и определений выбранных статических опций, или то и другое (в зависимости от специфики данной опции).
<a id="p126819"></a>Обеспечивает ли тестируемая реализация (ТР) некоторую свободу пользователю при изменении и определении статических опций?
<a id="p126820"></a>Да или Нет
<a id="p126821"></a>7 Если да, то какие?
<a id="p126822"></a>(a) Класс(ы) соответствия: _____________
<a id="p126823"></a>(b) Ответ по умолчанию: _____________
<a id="p126824"></a>8 Формулировка соответствия должна включать идентификацию хотя бы одной стороны, заявляющей о соответствии данной реализации.
<a id="p126825"></a>Эксперт(ы) (испытатель/сертификатор/аккредитатор): _____________





<a id="p126826"></a>Приложение E
(обязательное)

<a id="p126827"></a>**РЕГИСТРАЦИЯ ИНФОРМАЦИОННОГО ОБЪЕКТА**

<a id="p126828"></a>E.1 Обозначение документа
<a id="p126829"></a>Для обеспечения однозначной идентификации информационного объекта в открытой системе настоящему стандарту присвоен идентификатор объекта {iso standard 10303 part(216) version(2)}.
<a id="p126830"></a>Смысл данного обозначения определен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.
<a id="p126831"></a>E.2 Обозначение схемы
<a id="p126832"></a>Для обеспечения однозначной идентификации схемы ship_moulded_form_schema в открытой системе полной схеме ship_moulded_form_schema присвоен идентификатор объекта
<a id="p126833"></a>{iso standard 10303 part(216) version(2) object(1) ship-moulded-form-schema(1)} (см. [приложение A](#p119878)).
<a id="p126834"></a>Смысл данного обозначения определен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.





<a id="p126835"></a>Приложение F
(справочное)

<a id="p126836"></a>**ПРИКЛАДНАЯ ФУНКЦИОНАЛЬНАЯ МОДЕЛЬ**

<a id="p126837"></a>ПФМ предназначена для облегчения понимания области применения и информационных требований, определяемых в настоящем стандарте. Данная модель представлена в виде набора рисунков, на которых показаны диаграммы действий, и набора определений видов деятельности и их данных. Виды деятельности и потоки данных, выходящие за область применения, отмечены звездочкой.
<a id="p126838"></a>ПФМ охватывает виды деятельности, выходящие за рамки данного ПП. В схемах использована измененная нотация IDEF0 [[9]](#p127603). Базовая нотация показана на [рисунке F.1](#p126840). Каждый вид деятельности может быть разбит на части с целью более детального рассмотрения. Если какой-либо вид деятельности разбит на части, то он представлен на отдельном рисунке.

<a id="p126839"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_51.png) 

<a id="p126840"></a>Рисунок F.1 - Основная нотация IDEF0

<a id="p126841"></a>Как и любая модель IDEF0, ПФМ зависит от конкретной точки зрения и цели. Точка зрения ПФМ определяется инженером-технологом. Целью ПФМ является объяснение контекста и области применения данного ПП.
<a id="p126842"></a>Это функциональная модель жизненного цикла во всем судостроении. Существует несколько диаграмм деятельности, на которых все виды деятельности выходят за рамки, но они важны для иллюстрации того, как разрабатывался процесс изготовления детали и как были получены требования, входящие в объем работ.
<a id="p126843"></a>*Примечание* - Точка зрения ПФМ представляет собой глобальный процесс разработки судна. Эта функциональная модель определяет виды деятельности жизненного цикла для всех ПП в области судостроения. Виды деятельности, связанные с жизненным циклом в судостроении, не развернутые в данной функциональной модели, подробно описаны в других прикладных протоколах в области судостроения.

<a id="p126844"></a>F.1 Определения и сокращения ПФМ
<a id="p126845"></a>Ниже приведены термины, используемые в прикладной функциональной модели. Термины, отмеченные "звездочкой", не входят в область применения данного прикладного протокола.
<a id="p126846"></a>Определения, приведенные в данном приложении, не заменяют определения, приведенные в основном тексте настоящего стандарта.
<a id="p126847"></a>F.1.1 утвержденный проект (approved design): Состояние передачи проекта для производства и инспекции.
<a id="p126848"></a>F.1.2 планы расположения (arrangements)*: Отсеки и помещения судна.
<a id="p126849"></a>*Примечание* - Любое описание планов расположения будет включать соответствующие определения назначения отсека или помещения.

<a id="p126850"></a>F.1.3 сборка судна (assemble ship)*: Этап изготовления судна, в ходе которого собираются модульные блоки и дополнительные части.
<a id="p126851"></a>*Примечание* - Результатом является собранное судно, которое должно еще пройти испытания.

<a id="p126852"></a>F.1.4 информация об эксплуатационной готовности, надежности и ремонтопригодности (availability, reliability and maintainability information)*: Информация, необходимая для монтажа и планового обслуживания всех компонентов на судне.
<a id="p126853"></a>F.1.5 основные параметры корпуса (basic hull parameters): Главные размеры и пропорции, основанные на оценках по данным за предыдущие периоды или взятые по предварительным проектным разработкам.
<a id="p126854"></a>F.1.6 бюджет (budget)*: Ограниченные денежные средства на проектирование, строительство и техническое обслуживание судна.
<a id="p126855"></a>F.1.7 расчет с применением вычислительной гидродинамики (calculate CFD)*: Выполнение расчета движения жидкости вокруг корпуса.
<a id="p126856"></a>*Примечание* - Эти результаты используют в расчетах требований к гидродинамике и силовым двигателям.

<a id="p126857"></a>F.1.8 расчет стоимости судна (calculate cost of ship)*: Описание формирования документов для переговоров на основе технических данных о продукции и расчет сметной стоимости ее изготовления.
<a id="p126858"></a>*Примечание* - Результаты этого вида деятельности могут включать документацию о цене продажи, план обеспечения финансирования, а также документы, описывающие финансирование заемными средствами и возможные займы.

<a id="p126859"></a>F.1.9 расчет гидростатических характеристик (calculate hydrostatic properties): Выполнение расчета теоретической плавучей части судна исходя из его проектных параметров.
<a id="p126860"></a>F.1.10 свидетельства (certificates)*: Документы, лицензии и разрешения, выданные на готовое судно.
<a id="p126861"></a>F.1.11 проверка проекта в части правил и нормативов (check design against rules and regulations): Рассмотрение проекта для обеспечения соответствия требованиям национальной и международной классификации.
<a id="p126862"></a>*Примечание* - Это вид деятельности высшего уровня для утверждения по утверждению базисного проекта в рамках процесса утверждения и сертификации. Содержание этого вида деятельности одинаково для всех судов, когда речь идет о соответствии основным правилам класса, но может отличаться, когда речь идет о дополнительных правилах класса (типе судна) и нотациях регистра. Выполняемые виды деятельности адаптированы к требованиям правил в части общего расположения и глобальной прочности. Эта часть утверждения необходима до того, как верфь сможет начать заказывать сталь.

<a id="p126863"></a>F.1.12 классификационное общество (Classification Society): Организация, которая повышает безопасность человеческой жизни и имущества в море, обеспечивая правила, положения и персонал для оценки и классификации судов в течение их жизненного цикла.
<a id="p126864"></a>F.1.13 завершение и утверждение проекта машин и механизмов (complete and approve design of machinery)*: Выбор, устройство и утверждение всех машин и механизмов на судне.
<a id="p126865"></a>F.1.14 завершение и утверждение проекта насыщения и распределительных систем (complete and approve design of outfitting and distribution systems)*: Выбор и утверждение всего необходимого достроечного оборудования.
<a id="p126866"></a>*Примечание* - Выбор основывается, главным образом, на предыдущих проектах и в соответствии с установленными требованиями к судну. Также включает компоновку распределительных систем различных типов, таких как трубопроводы, электрические системы и системы ОВКВ.

<a id="p126867"></a>F.1.15 завершение и утверждение проекта конструкции судна (complete and approve design of ship structure)*: Утверждение окончательного проекта судна до начала строительства.
<a id="p126868"></a>F.1.16 завершение и утверждение проекта судна (complete and approve ship design): Создание, проверка и утверждение данных об изделии проекта судна, необходимых правил и нормативов, документов и классификационных чертежей с использованием предварительного проекта.
<a id="p126869"></a>*Примечание* - Результатом этого вида деятельности является утвержденный проект и график изготовления и поставки.

<a id="p126870"></a>F.1.17 проведение приемочных испытаний (conduct acceptance trials): Окончательные испытания для поставки судна.
<a id="p126871"></a>F.1.18 выполнение ходовых испытаний подрядчиком (conduct contractor sea trials): Ходовые испытания для проверки соответствия построенного судна контрактным требованиям.
<a id="p126872"></a>F.1.19 выполненная строевая по шпангоутам (completed sectional area curve): Кривая, построенная путем представления площади каждого поперечного сечения, в виде точки на кривой, через заданные интервалы через корпус по всей длине судна (см. [рисунок 43](#p102221)).
<a id="p126873"></a>*Примечание* - Выполненная строевая по шпангоутам используется для оценки соответствия теоретических обводов корпуса.

<a id="p126874"></a>F.1.20 консультанты (consultants): Организации и учреждения, предоставляющие определенные услуги верфям, судовладельцам и классификационным обществам в течение жизненного цикла судна.
<a id="p126875"></a>F.1.21 контракт (contract): Юридическое соглашение, документирующее и утверждающее заказ на судно.
<a id="p126876"></a>*Примечание* - Контракт используется как инструмент для ограничения последующих видов деятельности, таких как окончательный проект, утверждение и производство.

<a id="p126877"></a>F.1.22 стоимость (cost)*: Рассчитываемые денежные затраты на судно, основанные на затратах на материалы, труд и накладные расходы.
<a id="p126878"></a>F.1.23 выполнение предварительного проектирования (create preliminary design): Начальный этап проектирования судна с учетом классификационных правил, национальных и международных требований, ограничений на судостроительной верфи, а также требований владельца.
<a id="p126879"></a>F.1.24 выполнение предварительных планов общего расположения (create preliminary general arrangements)*: Создание начальных планов деления на отсеки исходя из предварительного определения формы корпуса.
<a id="p126880"></a>F.1.25 создание предварительной формы корпуса (create preliminary hull form): Начальный этап проектирования формы корпуса судна.
<a id="p126881"></a>*Примечание* - Первый этап проектирования судна с использованием основных размеров и параметров формы судов-прототипов. Создают один или несколько вариантов предварительной формы судна.

<a id="p126882"></a>F.1.26 выполнение предварительного проектирования машин и механизмов (create preliminary machinery design)*: Начальный выбор и расположение главных машин и механизмов судна.
<a id="p126883"></a>*Примечание* - Включает главную силовую установку, систему валов, энергосистемы и погрузочно-разгрузочное оборудование.

<a id="p126884"></a>F.1.27 выполнение предварительного проектирования насыщения (create preliminary outfitting design)*: Создание начального проекта корабельного достроечного оборудования.
<a id="p126885"></a>*Примечание* - Включает распределительные системы, такие как трубопроводы и электрические системы.

<a id="p126886"></a>F.1.28 выполнение предварительного конструктивного проектирования (create preliminary structure design)*: Создание начального проекта стальной конструкции и расположения основных конструктивных элементов.
<a id="p126887"></a>F.1.29 принятие решения об обеспечении послепродажного и технического обслуживания (decide post-sales & maintenance support)*: Подготовка предложения по техническому обслуживанию судна.
<a id="p126888"></a>*Примечание* - Эта часть относится к конкурсной пакетной документации и включает в себя обеспечение послепродажного обслуживания.

<a id="p126889"></a>F.1.30 вывод из эксплуатации и разборка (decommission and disassemble)*: Фаза жизненного цикла судна, в ходе которой судно изымается из эксплуатации или демонтируется.
<a id="p126890"></a>F.1.31 график выполнения проекта (design schedule): Данные, которые контролируют промежуток времени от этапа проектирования до производства.
<a id="p126891"></a>F.1.32 данные потока (details of flow): Результаты анализа вычислительной гидродинамики, который моделирует поток жидкости вдоль корпуса. Используются для оценки сопротивления корпуса воде, а также при оценке требований к силовым установкам судна.
<a id="p126892"></a>F.1.33 проектирование насыщения и распределительных систем (distribution and outfitting design)*: Выполнение проекта распределительных систем и насыщения.
<a id="p126893"></a>*Пример* - К распределительным системам относятся системы ОВКВ, электрические и трубопроводные системы. К насыщению относятся двери, трапы, насосы, электродвигатели, а также пульты управления.
<a id="p126894"></a>F.1.34 выполнение изменений параметров (do parametric variations): Выполнение оценки альтернативных проектных решений для корпуса, созданных путем изменения параметров теоретических обводов корпуса.
<a id="p126895"></a>*Примечание* - При изменении скорости, длины или ширины судна меняется форма корпуса судна.

<a id="p126896"></a>F.1.35 свидетельства на оборудование (equipment certificates)*: Свидетельства (сертификаты), выданные классификационным обществом по завершении изготовления элементов оборудования, которые будут собираться для создания конечного изделия.
<a id="p126897"></a>F.1.36 оценка параметров формы (estimate form parameters): Определение предварительных параметров формы корпуса на основе предыдущих данных судна-прототипа и расчетных главных размерений.
<a id="p126898"></a>F.1.37 оценка гидродинамики и мощности (estimate hydrodynamics and powering)*: Расчеты, аппроксимирующие данные гидродинамических характеристик для предварительной формы корпуса.
<a id="p126899"></a>*Пример* - Типы оценок: сопротивление, ходкости, мореходность и маневренность.
<a id="p126900"></a>F.1.38 оценка главных размерений и параметров (estimate main dimensions and parameters): Параметры и измерения, отвечающие требованиям клиентов.
<a id="p126901"></a>*Пример* - К требованиям клиентов относятся скорость, загрузка, задача и емкости.
<a id="p126902"></a>F.1.39 оценка маневренности (estimate manoeuvrability)*: Аппроксимация маневренности судна и сравнение результатов модельных испытаний с проектными требованиями.
<a id="p126903"></a>*Примечание* - Подтверждение маневренности судна в основном обеспечивается на практике или путем модельных испытаний. Измерение усилий и моментов на рулях, а также радиуса поворота при модельных испытаниях будет выполняться либо в циркуляционных гидроканалах, либо в бассейнах для испытаний на маневренность.

<a id="p126904"></a>F.1.40 оценка сопротивления и мощности (estimate resistance and powering)*: Расчеты, выполняемые на основе предыдущих данных для получения данных о мощности силовых установок и сопротивлении для эскизного предварительного проекта.
<a id="p126905"></a>F.1.41 оценка мореходности (estimate sea-keeping)*: Расчеты теоретического поведения судна на волнении.
<a id="p126906"></a>*Примечание* - Результирующие коэффициенты уравнений движения могут быть получены либо аналитическими, либо численными методами. Собственные периоды колебаний судна будут рассчитаны для бортовой, килевой и вертикальной качки.

<a id="p126907"></a>F.1.42 оценка запроса и составление графика подготовки предложения (evaluate request and schedule bid): Функция судостроительной верфи в части выполнения анализа и рассмотрения заявки от судовладельца на новое судно.
<a id="p126908"></a>F.1.43 придание обтекаемой формы корпусу (fair hull): Корректировки теоретического обвода корпуса для исправления любых искажений (аберраций) поверхности.
<a id="p126909"></a>F.1.44 обратная связь (feedback): Возврат информации после выполнения какого-либо вида деятельности.
<a id="p126910"></a>F.1.45 окончательное формирование и утверждение планов общего расположения (finalise and approve general arrangements)*: Окончательный проект распределения пространства и расположения отсеков и входов.
<a id="p126911"></a>F.1.46 окончательное формирование и утверждение формы корпуса (finalise and approve hull form)*: Получение утвержденной законченной формы корпуса за счет выполнения предварительного проекта.
<a id="p126912"></a>*Примечание* - Результатом этого вида деятельности является утвержденный проект формы корпуса.

<a id="p126913"></a>F.1.47 окончательное формирование и утверждение гидродинамики и силовых установок (finalise and approve hydrodynamics and powering)*: Выполнение гидродинамического анализа для окончательного проекта.
<a id="p126914"></a>*Примечание* - Включает соответствующие гидродинамические расчеты, такие как сопротивление, ходкость, мореходность и маневренность.

<a id="p126915"></a>F.1.48 получение окончательных главных размерений и параметров (finalise main dimensions and parameters): Доработка модельных испытаний, анализа и требований к использованию.
<a id="p126916"></a>F.1.49 определение носовой части корпуса (fore-body definition): Проектирование теоретических обводов корпуса, относящихся к носовой части судна.
<a id="p126917"></a>*Примечание* - Носовой частью называется часть судна, идущая от передней стороны средней части корпуса до форштевня судна.

<a id="p126918"></a>F.1.50 планы общего расположения (general arrangements)*: Проект распределения пространства и расположения отсеков и входов.
<a id="p126919"></a>*Примечание* - Планом общее расположения судна является чертеж отсека доступом, показывающий местоположение, доступ и размер различных отсеков.

<a id="p126920"></a>F.1.51 создание начального определения кормовой части корпуса (generate initial aft-body definition): Установка основной формы теоретического обвода корпуса, относящейся к кормовой части корпуса судна, на основе главных размерений, предварительной формы корпуса и эксплуатационных характеристик с учетом количества и размера гребных винтов.
<a id="p126921"></a>*Примечание* - Кормовая часть корпуса судна - это часть судна в корму от средней части судна (для цилиндрической вставки корпуса) или мидель-шпангоута (для нецилиндрической вставки корпуса).

<a id="p126922"></a>F.1.52 создание начального определения палубы (generate initial deck definition): Определение положения и формы главной открытой палубы судна по главным размерам, предварительной форме корпуса и эксплуатационным характеристикам.
<a id="p126923"></a>F.1.53 создание начального определения носовой части корпуса (generate initial fore-body definition): Установка основной формы теоретического обвода корпуса, относящейся к носовой части корпуса судна, на основе главных размерений, предварительной формы корпуса и эксплуатационных характеристик.
<a id="p126924"></a>*Примечание* - Носовая часть корпуса судна - это часть судна в нос от средней части судна (для цилиндрической вставки корпуса) или мидель-шпангоута (для нецилиндрической вставки корпуса).

<a id="p126925"></a>F.1.54 создание начального определения формы корпуса (generate initial hull form definition): Установка первичной формы теоретического обвода корпуса на основе рассчитанных главных размерений, предварительной формы корпуса и эксплуатационных характеристик.
<a id="p126926"></a>F.1.55 создание начального определения средней части корпуса (generate initial mid-body definition): Установка основной формы теоретического обвода корпуса, относящейся к средней части корпуса судна, на основе главных размерений, предварительной формы корпуса и эксплуатационных характеристик.
<a id="p126927"></a>F.1.56 данные из предыдущих проектов (historical data from previous designs): Данные, хранящиеся на судостроительной верфи или в модельном бассейне, по предыдущим проектам судов.
<a id="p126928"></a>*Примечание* - Эти данные используют для оценки гидродинамики, требований к силовым установкам и мореходности.

<a id="p126929"></a>F.1.57 параметры формы корпуса (hull form parameters): Коэффициент полноты водоизмещения, призматический коэффициент и число Фруде, используемые на этапе предварительного проектирования для оценки гидростатических и гидродинамических характеристик судна.
<a id="p126930"></a>F.1.58 сечения формы корпуса (hull form sections): Деления теоретических обводов корпуса между плоскостными сечениями по продольной оси судна.
<a id="p126931"></a>F.1.59 определение формы теоретического обвода корпуса с палубой (hull moulded form with deck definition): Теоретический обвод корпуса, включающий водонепроницаемую палубу судна.
<a id="p126932"></a>F.1.60 теоретический обвод корпуса (hull moulded form): Поверхность, определяющая форму корпуса судна.
<a id="p126933"></a>*Примечание* - Включает определения формы корпуса в кормовой, средней и носовой части, но не учитывает толщину материала, из которого изготавливается корпус.

<a id="p126934"></a>F.1.61 результаты в части гидродинамики и силовой установки (hydrodynamics & powering results)*: Конструкторские расчеты и данные модельных испытаний в опытовом бассейне.
<a id="p126935"></a>*Примечание* - Содержат данные о сопротивлении, ходкости, рабочих характеристиках гребного винта, полезной мощности двигателей, эксплуатационной скорости, мореходности и маневренности.

<a id="p126936"></a>F.1.62 таблица гидростатических характеристик (hydrostatics table): Таблицы с данными, описывающими гидростатические характеристики судна, полученные в результате расчетов на начальном и конечном этапах проектирования.
<a id="p126937"></a>F.1.63 знания и опыт (knowledge and experience): Предыдущая история работы компании, осмысление информации о судах, понимание проблемных областей и способность выполнять анализ в отношении судна на протяжении всего его жизненного цикла.
<a id="p126938"></a>F.1.64 законы, правила и нормативы (laws, rules and regulations): Национальные законы, законодательные акты и правила классификационных обществ, которые используются для управления проектированием, производством, эксплуатацией, техническим обслуживанием и утилизацией судна.
<a id="p126939"></a>F.1.65 перечень необходимых свидетельств (list of required certificates)*: Свидетельства (сертификаты) на судно, выданные классификационным обществом, национальными и международными регулирующими органами.
<a id="p126940"></a>F.1.66 условия загрузки (loading conditions)*: Количества груза, водяного балласта и расходных материалов, определенных для каждого помещения или отсека, которые используются в качестве основы для проектирования.
<a id="p126941"></a>*Пример* - К расходным материалам относятся запасы продуктов, топлива и медикаментов.
<a id="p126942"></a>F.1.67 руководство по обеспечению остойчивости и загрузки (loading and stability manual): Буклет, хранящийся на борту судна, в котором указаны предписанные пределы загрузки и разгрузки судна в зависимости от прочности и остойчивости судна.
<a id="p126943"></a>F.1.68 проект машин и механизмов (machinery design): Проектные чертежи, прототипы, а также модели в электронном формате машин и механизмов судна.
<a id="p126944"></a>*Примечание* - Результаты, полученные в процессе окончательного проектирования.

<a id="p126945"></a>F.1.69 главное размерение (main dimension): Длина, ширина, высота и осадка судна.
<a id="p126946"></a>*Примечание* - Оценивают во время предварительного проектирования теоретического обвода корпуса, а затем окончательно уточняют на этапе основного проектирования.

<a id="p126947"></a>F.1.70 вес машин и механизмов (machinery weights): Оцененный или рассчитанный проектный вес всех машин и механизмов на борту судна.
<a id="p126948"></a>*Примечание* - Являются результатом нескольких расчетов и проектной деятельности.

<a id="p126949"></a>F.1.71 результаты в части маневрирования (manoeuvring results)*: Просчитанные результаты зигзагообразных маневров, запланированных движений и поворотов, основанные на предыдущих модельных испытаниях в опытовом бассейне или ходовых испытаниях.
<a id="p126950"></a>F.1.72 производственные ограничения (manufacturing restrictions): Ограничения процессов строительства, сборки и проектирования судов, регулируемые доступными технологиями и мощностями судостроительной верфи.
<a id="p126951"></a>F.1.73 ведомость материалов (material list)*: Перечень всех исходных материалов, необходимых для изготовления судна.
<a id="p126952"></a>*Примечание* - Результат процесса окончательного проектирования.

<a id="p126953"></a>F.1.74 определение средней части корпуса (mid-body definition): Проект теоретического обвода корпуса прямостенной части корпуса, которая включает в себя проект плоскости мидель-шпангоута судна, которая идет между кормовой частью и носовой частью корпуса судна, или проект теоретического обвода корпуса проекта плоскости мидель-шпангоута для судов без прямостенной части корпуса.
<a id="p126954"></a>*Пример* - У нефтяных танкеров и сухогрузов имеется прямостенная часть корпуса, при этом у военных судов прямостенная часть корпуса встречается редко.
<a id="p126955"></a>F.1.75 консультанты модельного бассейна (model basin consultants): Организации, выполняющие испытания в модельном бассейне для расчета данных в части гидродинамики и силовых установок.
<a id="p126956"></a>F.1.76 теория модельного бассейна (model basin theory)*: Формулы, а также опыт, знания и эмпирические данные, используемые консультантами модельного бассейна для расчета данных в части гидродинамики и силовых установок.
<a id="p126957"></a>F.1.77 изменения на основании машин и механизмов (modifications from machinery)*: Внесение изменений или корректировок в гидродинамику и требования к силовым установкам на базе обратной связи, полученной из предварительного проекта машин и механизмов.
<a id="p126958"></a>F.1.78 изменения формы корпуса (modifications to hull form): Внесение изменений или корректировок в геометрическую форму корпуса на базе обратной связи, полученной по результатам гидродинамики и требований к силовым установкам, а также в процессе окончательного проектирования.
<a id="p126959"></a>F.1.79 изменения параметров формы корпуса (modifications to hull form parameters): Внесение изменений или корректировок в параметры формы по результатам выполнения изменений параметров на этапе предварительного проектирования.
<a id="p126960"></a>F.1.80 изменения главных измерений (modifications to main dimensions): Внесение изменений или корректировок в главные размеры корпуса, возникшие в процессе проектирования теоретических обводов корпуса.
<a id="p126961"></a>F.1.81 модульные блоки (modular units)*: Подсекции судна, уже оборудованного машинами, механизмами и достроечным оборудованием, которые будут собираться для создания конечного изделия.
<a id="p126962"></a>F.1.82 предложение (offer): Предложение от судостроительной верфи на изготовление указанного в запросе судна.
<a id="p126963"></a>*Примечание* - Являются данными верфи, получаемыми в процессе предварительного проектирования.

<a id="p126964"></a>F.1.83 указания по предложению (offer guidelines): Данные, необходимые для того, чтобы сделать безусловное предложение судовладельцу.
<a id="p126965"></a>F.1.84 эксплуатация и техническое обслуживание судна (operate and maintain a ship)*: Процедуры и документация по эксплуатации, обслуживанию и ремонту судна в течение его срока службы.
<a id="p126966"></a>F.1.85 эксплуатационная информация (operational information)*: Документ, составляемый в результате эксплуатации, технического обслуживания и освидетельствования судна, в который входит информация о состоянии судна.
<a id="p126967"></a>*Примечание* - Этот документ включает в себя накопленную информацию, записываемую на этапе функционирования и обслуживаемости судна, используемую для технического обслуживания, а также на заключительном этапе утилизации.

<a id="p126968"></a>F.1.86 владелец (owner): Организация, которая направляет запрос на судно, заказывает, принимает поставку и эксплуатирует его.
<a id="p126969"></a>F.1.87 запрос владельца с требованиями (owner request with requirements): Документ, содержащий требования, представляемые на судостроительную верфь владельцем с приглашением на подачу конкурсной заявки.
<a id="p126970"></a>F.1.88 выполнение модельных испытаний (perform model tests)*: Проведение модельных испытаний в буксировочном или модельном бассейне.
<a id="p126971"></a>*Примечание* - Результаты этих испытаний используют при проектировании гидродинамической части и требований к силовым установкам.

<a id="p126972"></a>F.1.89 выполнение жизненного цикла судна (perform ship lifecycle): Завершенные этапы существования судна, включающие разработку концепции, проектирование, строительство, эксплуатацию и утилизацию.
<a id="p126973"></a>F.1.90 размещение заказа (place order)*: Подтверждение получения и принятие тендерного предложения судостроительной верфи на изготовление судна.
<a id="p126974"></a>*Примечание* - На основании этого заключается контракт с судостроительной верфью.

<a id="p126975"></a>F.1.91 система планового технического обслуживания (planned maintenance system)*: Данные, полученные в процессе окончательного проектирования и используемые во время эксплуатации и технического обслуживания судна.
<a id="p126976"></a>F.1.92 требования к мощности двигателя (power requirements for engine)*: Данные в части гидродинамики и ходкости, используемые при выборе главного двигателя.
<a id="p126977"></a>F.1.93 предварительная компоновка (pre layout): Первая компоновка судна, разработанная на стадии рассмотрения тендерных предложений и являющаяся основой для выполнения предварительного проекта.
<a id="p126978"></a>F.1.94 прогнозирование полезной мощности двигателей и рабочей скорости (predict brake power and service speed)*: Выполнение оценки требуемой полезной мощности двигателя и необходимой мощности, подаваемой на гребной винт, для определения типоразмера основного двигателя.
<a id="p126979"></a>F.1.95 прогнозирование рабочих характеристик гребного винта (predict propeller performance)*: Выполнение оценки данных в части требований к ходкости для создания предварительного проекта гребного винта.
<a id="p126980"></a>F.1.96 прогнозирование данных в части ходкости (predict propulsion data)*: Выполнение расчета требований к силовой установке судна.
<a id="p126981"></a>Примечание - Приблизительное определение движущей силы может быть выполнено с помощью уравнения перемещения для конкретных чисел Фруда (см. [4.2.21.4](#p100964)) на этапе предварительного проектирования.

<a id="p126982"></a>F.1.97 прогнозирование сопротивления (predict resistance)*: Выполнение оценки площади смачиваемой поверхности судна, оказывающей сопротивление волнению.
<a id="p126983"></a>*Примечание* - В расчетах сопротивления используются данные за предыдущий период в части геометрии теоретического обвода корпуса.

<a id="p126984"></a>F.1.98 предварительный проект (проектирование) (preliminary design): Проект, в результате которого представляется тендерное предложение.
<a id="p126985"></a>F.1.99 предварительные планы общего расположения (preliminary general arrangements): Определение помещений и отсеков на судне на раннем этапе.
<a id="p126986"></a>*Примечание* - Планы общего расположения аппроксимируют или рассчитывают в результате процесса выполнения предварительного проектирования.

<a id="p126987"></a>F.1.100 предварительная форма корпуса (preliminary hull form): Определение на раннем этапе теоретического обвода корпуса, в результате процесса выполнения предварительного проектирования.
<a id="p126988"></a>*Примечание* - Используют в документации тендерного предложения для предварительного проектирования отсеков, гидродинамики, а также расчетов требований к силовой установке.

<a id="p126989"></a>F.1.101 предварительный проект машин и механизмов (preliminary machinery design)*: Определение на раннем этапе проектирования машин и механизмов.
<a id="p126990"></a>*Примечание* - Используют на ранних этапах для оценки шумов, скорости вращения и вибрации, а также для оценки веса машин и механизмов.

<a id="p126991"></a>F.1.102 предварительный проект машин и механизмов, конструкции и насыщения (preliminary machinery, structure and outfitting design)*: Имеющаяся на раннем этапе обратная связь в части проектной информации по машинам и механизмам, конструкции, а также насыщению и отделке.
<a id="p126992"></a>*Примечание* - Используют при разработке предварительных планов общего расположения.

<a id="p126993"></a>F.1.103 предварительный проект насыщения (preliminary outfitting design)*: Определение на раннем этапе судового насыщения и жилых помещений.
<a id="p126994"></a>*Примечание* - Входит в процесс предварительного проектирования.

<a id="p126995"></a>F.1.104 предварительный конструктивный проект (preliminary structure design)*: Определение на раннем этапе стальной конструкции судна.
<a id="p126996"></a>*Примечание* - Входит в процесс предварительного проектирования.

<a id="p126997"></a>F.1.105 подготовка тендерной заявки (prepare bid): Подготовка всей документации и данных, необходимых для подачи предложения владельцу на постройку судна.
<a id="p126998"></a>F.1.106 представление предложения (present offer)*: Предоставление всей необходимой документации в составе тендерного предложения на изготовление указанного в запросе судна потенциальному владельцу.
<a id="p126999"></a>F.1.107 разработка и утверждение нормативной документации (produce and approve reference documents): Составление и подборка технической документации, утвержденной для судна, с использованием производственной информации.
<a id="p127000"></a>*Примечание* - Документация на выходе включает руководство по загрузке и остойчивости, одобренное классификационным обществом.

<a id="p127001"></a>F.1.108 изготовление и инспектирование судна (produce and inspect a ship): Выполнение строительства и обеспечение качества на каждом этапе постройки или сборки судна.
<a id="p127002"></a>*Примечание* - Инспектирование означает контроль всех видов деятельности на протяжении всего жизненного цикла судна.

<a id="p127003"></a>F.1.109 изготовление модульных стандартных блоков (produce modular build units)*: Выполнение сборки стальных подсекций и их монтажа в большие отдельные сертифицированные блоки, которые после сборки или присоединения составляют готовое судно.
<a id="p127004"></a>*Примечание* - Их изготовление контролируют графиком, контрактом, утвержденным проектом, любыми производственными ограничениями и классификационным обществом. В результате получаются модульные блоки, из которых собирается судно.

<a id="p127005"></a>F.1.110 изготовление стальных подсекций (produce steel sub-sections)*: Создание и соединение элементы стальной конструкции, которые после сборки и сертификации образуют модульный блок.
<a id="p127006"></a>*Примечание* - Их изготовление контролируют графиком, контрактом, утвержденным проектом, любыми производственными ограничениями и классификационным обществом. В результате получаются стальные подсекции, которые собираются в модульные блоки для сборки в окончательное судно.

<a id="p127007"></a>F.1.111 информация о комплектующих изделиях (product component information)*: Технические данные по всем деталям, частям и элементам, которые будут использованы на судне.
<a id="p127008"></a>*Примечание* - Эти данные учитывают при выполнении предварительных проектов.

<a id="p127009"></a>F.1.112 график производства и поставки (production and delivery schedule): График, в соответствии с которым судно должно быть изготовлено и поставлено.
<a id="p127010"></a>F.1.113 производственная информация (production information): Данные, описывающие детали изготовления и строительства.
<a id="p127011"></a>*Пример* - К этим данным относятся: размеры, механические свойства, материалы и информация о цехах.
<a id="p127012"></a>F.1.114 проект гребного винта (propeller design)*: Проект гребного винта или движителя на основании гидродинамических и расчетов требований к силовой установке.
<a id="p127013"></a>*Примечание* - Этот проект определяет некоторые конструкции судовых машин и механизмов.

<a id="p127014"></a>F.1.115 теория гребного винта (propeller theory)*: Знания, основанные на опыте, данных за предыдущие периоды и научных исследованиях характеристик судовых гребных винтов.
<a id="p127015"></a>F.1.116 обеспечение качества (quality assurance): Правила, применяемые организацией на территории судостроительной верфи, перед которой поставлена задача провести аудит организации верфи и процессов, применяемых таким образом, чтобы обеспечить качество конечной продукции.
<a id="p127016"></a>F.1.117 теория регулярных волн (regular wave theory)*: Знания и опыт, относящиеся к реакции судна движения на перемещения на волнах с постоянной высотой и периодом.
<a id="p127017"></a>F.1.118 заявка на судно (quest a ship): Первое действие или обращение судовладельца, имеющего намерение заказать судно.
<a id="p127018"></a>*Примечание* - Имея определенные представления о внешнем виде и функциональности судна, владелец излагает эти представления в своем запросе, направляемом на верфь.

<a id="p127019"></a>F.1.119 запрос на внесение производственных изменений (request for production changes): Запрашиваемые изменения в проект судна на основании производственного опыта или трудностей с реализацией данного проекта судна.
<a id="p127020"></a>F.1.120 сопротивление и мощность на валу (resistance and shaft power)*: Противодействие движению, на основании которого выполняются оценки гидродинамики и требований к силовой установке.
<a id="p127021"></a>*Примечание* - Сопротивление и мощность на валу являются ограничивающими параметрами при создании предварительной формы корпуса.

<a id="p127022"></a>F.1.121 теория сопротивления (resistance theory)*: Принципы, теоремы и правила, используемые для прогнозирования сопротивления корпуса при движении вперед в море.
<a id="p127023"></a>F.1.122 ресурсы (resources): Судостроительная верфь, классификационное общество и внешние консультанты.
<a id="p127024"></a>F.1.123 график (schedule): План управления сроками производственных этапов.
<a id="p127025"></a>*Примечание* - Формируется в составе процесса окончательного проектирования.

<a id="p127026"></a>F.1.124 план утилизации (scrapping plan)*: Документ, используемый для планирования времени и ресурсов, необходимых для разборки судна.
<a id="p127027"></a>F.1.125 судно (ship): Большое плавучее судно, проектирование, производство и жизненный цикл которого регулируются принципами теории судостроения, а также в соответствии с международными правилами и правилами классификационного общества.
<a id="p127028"></a>F.1.126 данные модели изделия судна (ship product model data): Данные об изделии для судна, накопленные на протяжении всего его жизненного цикла.
<a id="p127029"></a>*Примечание* - Поскольку утилизация также входит в жизненный цикл, судно не является результатов на выходе (выходом), и сохраняется только задокументированная информация и знания о судне.

<a id="p127030"></a>F.1.127 изменение веса судна (ship weight modifications)*: Пересмотр веса судна после выполнения предварительного проекта конструкций.
<a id="p127031"></a>*Примечание* - Является обратной связью для изменения предварительной формы корпуса и пересмотра планов общего расположения.

<a id="p127032"></a>F.1.128 судостроительная верфь (shipyard): Организация, выполняющая проектирование, строительство, техническое обслуживание и ремонт судов.
<a id="p127033"></a>F.1.129 краткосрочные и долгосрочные реакции (short and long term responses)*: Аппроксимация мореходных качеств с расчетами, основанными на регулярном волнении определенной высоты и периода.
<a id="p127034"></a>*Примечание* - Эти результаты используют для прогнозирования максимальной реакции на нерегулярных волнах в течение длительного периода времени.

<a id="p127035"></a>F.1.130 задание технических требований на судно (specify ship): Разработка точных спецификаций на судно до заключения контракта.
<a id="p127036"></a>F.1.131 стальные подсекции (steel sub-sections)*: Подсекции стальной конструкции, в которые устанавливают машины, механизмы и распределительные системы до сборки.
<a id="p127037"></a>F.1.132 конструктивный проект (structural design)*: Проект основания и набора судна.
<a id="p127038"></a>*Пример* - Этот проект включает в себя киль, корпус, переборки, палубы, надстройки, балки, ребра жесткости и пр.
<a id="p127039"></a>F.1.133 техническая документация (technical documentation): Детальная информация о существенных вещах, необходимых для изготовления судна и системы.
<a id="p127040"></a>*Примечание* - При техническом обслуживании техническая документация какой-либо системы означает часть описания изделия, необходимая для выполнения планово-предупредительного ремонта, ремонта и устранения неисправностей данной системы.

<a id="p127041"></a>F.1.134 технические требования (technical requirements): Спецификации владельца, которые должны быть реализованы в готовом судне.
<a id="p127042"></a>F.1.135 результаты испытаний (test results)*: Задокументированные оценки и заключения по каждому контролю, проверке или анализу на соответствие проектным спецификациям, правилам и нормативам.
<a id="p127043"></a>*Примечание* - В рамках технического обслуживания судна на протяжении всего его жизненного цикла результатами испытаний являются результаты функциональных испытаний, проводимых после выполнения работ по техническому обслуживанию.

<a id="p127044"></a>F.1.136 испытание судна (test ship): Выполнение испытаний и оценки фактического судна на соответствие проектным спецификациям, правилам и нормативам, а также контрактным требованиям.
<a id="p127045"></a>*Примечание* - Выполняют испытания конструкции и проводят ходовые испытания. Результаты испытаний документируют.

<a id="p127046"></a>F.1.137 испытание конструкций (test structures): Выполнение испытания и оценка стальных конструкций на соответствие проектным спецификациям, правилам и нормативам, а также контрактным требованиям.
<a id="p127047"></a>*Примечание* - Результатом является документация с результатами испытаний.

<a id="p127048"></a>F.1.138 испытание систем (test systems)*: Судовые системы, включая оборудование, которые испытывают и оценивают на соответствие проектным спецификациям, правилам и нормативам, а также контрактным требованиям.
<a id="p127049"></a>*Примечание* - Результатом является документация с результатами испытаний.

<a id="p127050"></a>F.1.139 суммарное сопротивление (total resistance)*: Противодействующие силы, действующие на корпус при движении вперед.
<a id="p127051"></a>*Пример* - Суммарное сопротивление включает в себя сопротивление трения, сопротивление волны, вихревое сопротивление и сопротивление воздуха.
<a id="p127052"></a>F.1.140 модель для буксировочного опытового бассейна (towing tank model): Масштабная модель судна, используемая в буксировочном опытовом бассейне для оценки гидродинамических характеристик.
<a id="p127053"></a>F.1.141 необходимость транспортировки (transportation need): Ограничение, определяющее спецификацию для строительства судна.
<a id="p127054"></a>F.1.142 вес и центры тяжести (weights and centres of gravity)*: Значение веса предметов и центры тяжести этих предметов.
<a id="p127055"></a>*Примечание* - Вес и центры тяжести необходимы для дальнейших расчетов.

<a id="p127056"></a>F.1.143 трудоемкость (workload)*: Суммарные усилия, необходимые для строительства судна выбранного проекта, по оценке судостроительной верфи и привлекаемых консультантов.
<a id="p127057"></a>F.2 Диаграммы прикладной функциональной модели
<a id="p127058"></a>Диаграммы ПФМ представлены на [рисунках F.2](#p127060) - [F.15](#p127086). Графическая форма ПФМ представлена в формате моделирования видов деятельности IDEF0 [[9]](#p127603). Виды деятельности и потоки данных, не относящиеся к рассматриваемой области, отмечены звездочкой.

<a id="p127059"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_52.png) 

<a id="p127060"></a>Рисунок F.2 - Узел A0 - жизненный цикл теоретического обвода



<a id="p127061"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_53.png) 

<a id="p127062"></a>Рисунок F.3 - Узел A0 - выполнение жизненного цикла судна



<a id="p127063"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_54.png) 

<a id="p127064"></a>Рисунок F.4 - Узел A0 - задание технических
требований на судно



<a id="p127065"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_55.png) 

<a id="p127066"></a>Рисунок F.5 - Узел A12 - подготовка тендерной заявки



<a id="p127067"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_56.png) 

<a id="p127068"></a>Рисунок F.6 - Узел A122 - создание предварительного проекта



<a id="p127069"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_57.png) 

<a id="p127070"></a>Рисунок F.7 - Узел A1221 - создание предварительной
формы корпуса



<a id="p127071"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_58.png) 

<a id="p127072"></a>Рисунок F.8 - Узел A12214 - создание начального определения
формы корпуса



<a id="p127073"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_59.png) 

<a id="p127074"></a>Рисунок F.9 - Узел A1223 - оценка гидродинамики и требований
к силовой установке



<a id="p127075"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_60.png) 

<a id="p127076"></a>Рисунок F.10 - Узел A12231 - оценка сопротивления
и требований к силовой установке



<a id="p127077"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_61.png) 

<a id="p127078"></a>Рисунок F.11 - Узел A2 - завершение и утверждение
проекта судна



<a id="p127079"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_62.png) 

<a id="p127080"></a>Рисунок F.12 - Узел A22 - окончательное определение
и утверждение формы корпуса



<a id="p127081"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_63.png) 

<a id="p127082"></a>Рисунок F.13 - Узел A23 - окончательное определение
и утверждение гидродинамики и требований к силовой установке



<a id="p127083"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_64.png) 

<a id="p127084"></a>Рисунок F.14 - Узел A3 - изготовление
и инспектирование судна



<a id="p127085"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_65.png) 

<a id="p127086"></a>Рисунок F.15 - Узел A34 - испытания судна





<a id="p127087"></a>Приложение G
(справочное)

<a id="p127088"></a>**ПРИКЛАДНАЯ ЭТАЛОННАЯ МОДЕЛЬ**

<a id="p127089"></a>В настоящем приложении приведена ПЭМ для настоящего стандарта, которая представлена на [рисунках G.1](#p127091) - [G.25](#p127139). Прикладная эталонная модель является графическим представлением структуры и ограничений прикладных объектов (см. [раздел 4](#p100258)). Графическая форма прикладной эталонной модели представлена нотацией EXPRESS-G. Прикладная эталонная модель не зависит от методов реализации. Определение нотации EXPRESS-G приведено в ИСО 10303-11:2004 (приложение D).

<a id="p127090"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_66.png) 

<a id="p127091"></a>Рисунок G.1 - Схема ПЭМ 1 из 25 в EXPRESS-G



<a id="p127092"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_67.png) 

<a id="p127093"></a>Рисунок G.2 - Схема ПЭМ 2 из 25 в EXPRESS-G



<a id="p127094"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_68.png) 

<a id="p127095"></a>Рисунок G.3 - Схема ПЭМ 3 из 25 в EXPRESS-G



<a id="p127096"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_69.png) 

<a id="p127097"></a>Рисунок G.4 - Схема ПЭМ 4 из 25 в EXPRESS-G



<a id="p127098"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_70.png) 

<a id="p127099"></a>Рисунок G.5 - Схема ПЭМ 5 из 25 в EXPRESS-G



<a id="p127100"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_71.png) 

<a id="p127101"></a>Рисунок G.6 - Схема ПЭМ 6 из 25 в EXPRESS-G



<a id="p127102"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_72.png) 

<a id="p127103"></a>Рисунок G.7 - Схема ПЭМ 7 из 25 в EXPRESS-G



<a id="p127104"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_73.png) 

<a id="p127105"></a>Рисунок G.8 - Схема ПЭМ 8 из 25 в EXPRESS-G



<a id="p127106"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_74.png) 

<a id="p127107"></a>Рисунок G.9 - Схема ПЭМ 9 из 25 в EXPRESS-G



<a id="p127108"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_75.png) 

<a id="p127109"></a>Рисунок G.10 - Схема ПЭМ 10 из 25 в EXPRESS-G



<a id="p127110"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_76.png) 

<a id="p127111"></a>Рисунок G.11 - Схема ПЭМ 11 из 25 в EXPRESS-G



<a id="p127112"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_77.png) 

<a id="p127113"></a>Рисунок G.12 - Схема ПЭМ 12 из 25 в EXPRESS-G



<a id="p127114"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_78.png) 

<a id="p127115"></a>Рисунок G.13 - Схема ПЭМ 13 из 25 в EXPRESS-G



<a id="p127116"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_79.png) 

<a id="p127117"></a>Рисунок G.14 - Схема ПЭМ 14 из 25 в EXPRESS-G



<a id="p127118"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_80.png) 

<a id="p127119"></a>Рисунок G.15 - Схема ПЭМ 15 из 25 в EXPRESS-G



<a id="p127120"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_81.png) 

<a id="p127121"></a>Рисунок G.16 - Схема ПЭМ 16 из 25 в EXPRESS-G



<a id="p127122"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_82.png) 

<a id="p127123"></a>Рисунок G.17 - Схема ПЭМ 17 из 25 в EXPRESS-G



<a id="p127124"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_83.png) 

<a id="p127125"></a>Рисунок G.18 - Схема ПЭМ 18 из 25 в EXPRESS-G



<a id="p127126"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_84.png) 

<a id="p127127"></a>Рисунок G.19 - Схема ПЭМ 19 из 25 в EXPRESS-G



<a id="p127128"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_85.png) 

<a id="p127129"></a>Рисунок G.20 - Схема ПЭМ 20 из 25 в EXPRESS-G



<a id="p127130"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_86.png) 

<a id="p127131"></a>Рисунок G.21 - Схема ПЭМ 21 из 25 в EXPRESS-G



<a id="p127132"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_87.png) 

<a id="p127133"></a>Рисунок G.22 - Схема ПЭМ 22 из 25 в EXPRESS-G



<a id="p127134"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_88.png) 

<a id="p127135"></a>Рисунок G.23 - Схема ПЭМ 23 из 25 в EXPRESS-G



<a id="p127136"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_89.png) 

<a id="p127137"></a>Рисунок G.24 - Схема ПЭМ 24 из 25 в EXPRESS-G



<a id="p127138"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_90.png) 

<a id="p127139"></a>Рисунок G.25 - Схема ПЭМ 25 из 25 в EXPRESS-G





<a id="p127140"></a>Приложение H
(справочное)

<a id="p127141"></a>**ПРИКЛАДНАЯ ИНТЕРПРЕТИРОВАННАЯ МОДЕЛЬ EXPRESS-G**

<a id="p127142"></a>[Рисунки H.1](#p127144) - [H.26](#p127194) соответствуют аннотированному EXPRESS-листингу ПИМ, приведенному в [приложении A](#p119878). В этих рисунках использована графическая нотация EXPRESS-G языка EXPRESS. Определение EXPRESS-G приведено в ИСО 10303-11:2004 (приложение A).

<a id="p127143"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_91.png) 

<a id="p127144"></a>Рисунок H.1 - Прикладной контекст - схема ПИМ 1 из 26
в EXPRESS-G



<a id="p127145"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_92.png) 

<a id="p127146"></a>Рисунок H.2 - Определение изделия - схема ПИМ 2 из 26
в EXPRESS-G



<a id="p127147"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_93.png) 

<a id="p127148"></a>Рисунок H.3 - Определение свойства - схема ПИМ 3 из 26
в EXPRESS-G



<a id="p127149"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_94.png) 

<a id="p127150"></a>Рисунок H.4 - Представление - схема ПИМ 4 из 26 в EXPRESS-G



<a id="p127151"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_95.png) 

<a id="p127152"></a>Рисунок H.5 - Действие - схема ПИМ 5 из 26 в EXPRESS-G



<a id="p127153"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_96.png) 

<a id="p127154"></a>Рисунок H.6 - Человек и организация - схема ПИМ 6 из 26
в EXPRESS-G



<a id="p127155"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_97.png) 

<a id="p127156"></a>Рисунок H.7 - Назначение человека и организации - схема
ПИМ 7 из 26 в EXPRESS-G



<a id="p127157"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_98.png) 

<a id="p127158"></a>Рисунок H.8 - Согласование - схема ПИМ 8 из 26 в EXPRESS-G



<a id="p127159"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_99.png) 

<a id="p127160"></a>Рисунок H.9 - Дата и время - схема ПИМ 9 из 26 в EXPRESS-G



<a id="p127161"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_100.png) 

<a id="p127162"></a>Рисунок H.10 - Присвоение классификации и группа - схема
ПИМ 10 из 26 в EXPRESS-G



<a id="p127163"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_101.png) 

<a id="p127164"></a>Рисунок H.11 - Присвоение идентификации - схема ПИМ 11 из 26
в EXPRESS-G



<a id="p127165"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_102.png) 

<a id="p127166"></a>Рисунок H.12 - Документ - схема ПИМ 12 из 26 в EXPRESS-G



<a id="p127167"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_103.png) 

<a id="p127168"></a>Рисунок H.13 - Измерение с единицей измерения - схема
ПИМ 13 из 26 в EXPRESS-G



<a id="p127169"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_104.png) 

<a id="p127170"></a>Рисунок H.14 - Измеряемое значение - схема ПИМ 14 из 26
в EXPRESS-G



<a id="p127171"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_105.png) 

<a id="p127172"></a>Рисунок H.15 - Геометрическое и топологическое
представление - схема ПИМ 15 из 26 в EXPRESS-G



<a id="p127173"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_106.png) 

<a id="p127174"></a>Рисунок H.16 - Точка - схема ПИМ 16 из 26 в EXPRESS-G



<a id="p127175"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_107.png) 

<a id="p127176"></a>Рисунок H.17 - Расположение - схема ПИМ 17 из 26 в EXPRESS-G



<a id="p127177"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_108.png) 

<a id="p127178"></a>Рисунок H.18 - Кривая - схема ПИМ 18 из 26 в EXPRESS-G



<a id="p127179"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_109.png) 

<a id="p127180"></a>Рисунок H.19 - Ограниченная кривая - схема ПИМ 19 из 26
в EXPRESS-G



<a id="p127181"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_110.png) 

<a id="p127182"></a>Рисунок H.20 - Поверхность - схема ПИМ 20 из 26 в EXPRESS-G



<a id="p127183"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_111.png) 

<a id="p127184"></a>Рисунок H.21 - Элементарная поверхность - схема ПИМ 21 из 26
в EXPRESS-G



<a id="p127185"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_112.png) 

<a id="p127186"></a>Рисунок H.22 - Ограниченная поверхность - схема ПИМ 22 из 26
в EXPRESS-G



<a id="p127187"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_113.png) 

<a id="p127188"></a>Рисунок H.23 - Твердая модель и обшивка - схема ПИМ 23 из 26
в EXPRESS-G



<a id="p127189"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_114.png) 

<a id="p127190"></a>Рисунок H.24 - Топология - схема ПИМ 24 из 26 в EXPRESS-G



<a id="p127191"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_115.png) 

<a id="p127192"></a>Рисунок H.25 - Атрибут имени и ролевая связь - схема
ПИМ 25 из 26 в EXPRESS-G



<a id="p127193"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_116.png) 

<a id="p127194"></a>Рисунок H.26 - Идентификационный и описательный
атрибуты - схема ПИМ 26 из 26 в EXPRESS-G





<a id="p127195"></a>Приложение J
(справочное)

<a id="p127196"></a>**МАШИННО-ИНТЕРПРЕТИРУЕМЫЕ ЛИСТИНГИ**

<a id="p127197"></a>В настоящем стандарте приведены также листинги всех EXPRESS-схем, указанных в настоящем стандарте, без комментариев или прочих пояснений. Эти листинги представлены в машинно-интерпретируемой форме и находятся по следующим адресам в Интернете:
- <a id="p127198"></a>сокращенные имена: http://www.tc184-sc4.org/Short_names/
- <a id="p127199"></a>EXPRESS: http:www.tc84-sc4.ord/EXPRESS/
<a id="p127200"></a>В случае каких-либо затруднений при доступе к данным сайтам, следует обращаться в Центральный секретариат ИСО или напрямую в ИСО ТК 184/ПК4 по адресу: sc4sec@tc184-sc4.org.
<a id="p127201"></a>*Примечание* - Информация, представленная в машинно-интерпретируемой форме по указанным выше адресам в Интернете, носит справочный характер. Обязательной является информация, приведенная в тексте настоящего стандарта.





<a id="p127202"></a>Приложение K
(справочное)

<a id="p127203"></a>**РУКОВОДСТВО ПО ПРИМЕНЕНИЮ ПРИКЛАДНОГО ПРОТОКОЛА**

<a id="p127204"></a>В настоящем приложении приведены ответы на некоторые вопросы в отношении ПЭМ настоящего стандарта.
<a id="p127205"></a>K.1 Каким образом можно привязать интервальное расстояние (spacing position) к теоретическому обводу (moulded form)?
<a id="p127206"></a>Используйте прикладной объект local_co_ordinate_system_with_position_reference, указывающий на этот объект moulded_form.
<a id="p127207"></a>K.2 Каким образом можно дать ссылку на определенный во внешнем коде теоретический обвод (moulded form)?
<a id="p127208"></a>Перечень теоретических обводов в теоретических обводах судна включает определенный во внешнем коде теоретический обвод, идентифицируемый внешней ссылкой и, в частности, глобальным идентификатором.
<a id="p127209"></a>K.3 Что происходит с системами координат, когда судно находится в воде в определенном положении на плаву?
<a id="p127210"></a>У судна фиксированная глобальная система координат. Для гидростатических расчетов приведена локальная система координат, привязанная к поверхности воды. Глобальная система координат является родительской системой координат.
<a id="p127211"></a>K.4 Руководство по использованию и определения тестовых сценариев
<a id="p127212"></a>Руководство по использованию приведено в ESTEP AP 216 Test Case Definitions [[12]](#p127609). В этом руководстве описываются сценарии использования, а также примеры тестовых сценариев.





<a id="p127213"></a>Приложение L
(справочное)

<a id="p127214"></a>**ТЕХНИЧЕСКИЕ ПОЯСНЕНИЯ**

<a id="p127215"></a>L.1 Модель изделия судна
<a id="p127216"></a>Целью STEP <1> является поддержка методов и функций для разработки моделей изделий. Модель изделия - это однозначное представление изделия, такого как судно, автомобиль, самолет или производственная установка, в нейтральном машинно-интерпретируемом формате, на протяжении всего срока службы изделия. Задача состоит в том, чтобы представить изделие от этапа определения требований и концептуального проектирования до производства, технического обслуживания и, наконец, вывода из эксплуатации и демонтажа. Представление должно включать все геометрические и негеометрические данные, связанные с изделием, включая топологию, геометрию, функциональность, прочность, параметры и характеристики, статус состояния и историю обслуживания.

<a id="p127217"></a>

---

<a id="p127218"></a><1> Стандарт по обмену данными моделей изделий.

<a id="p127219"></a>STEP основан на идее, что основное представление изделия связано с его структурой. Это означает, что для определения судна в STEP необходимо предоставить базовую идентификационную информацию и информацию о конструкции судна. В рамках этого подхода геометрия рассматривается как отдельный вид представления судна и его конструкции. Поэтому при обмене геометрией теоретических обводов с использованием STEP также происходит обмен дополнительной информацией о том, как каждый элемент, представленный этой геометрией, относится к конкретной части конкретного судна. В этом заключается отличие от существующих и предыдущих стандартов обмена, в которых происходит обмен чисто геометрией. Именно поэтому STEP основан на изделии, а не на чертежах или геометрии. Также по этой причине STEP используется в качестве набора стандартных описаний повторно используемых данных об изделии, суммарная совокупность которых называется моделью данных изделия. STEP разработан в комплексе со своими собственными методами, и, таким образом, его допускается использовать как при обмене файлами, так и в базах данных.
<a id="p127220"></a>Из-за сложности судна неизбежно разделение модели изделия судна STEP на узнаваемые и возможные для использования части; в результате получают согласованную модель планирования ПП. Эта модель делит область судостроения на отдельные функциональные области, что позволяет выполнить разделение на фиксированное количество ПП. Схематично текущая версия модели изделия судна представлена на [рисунке L.1](#p127222).

<a id="p127221"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_117.png) 

<a id="p127222"></a>Рисунок L.1 - Модель изделия судна

<a id="p127223"></a>Ключевыми элементами модели изделия судна являются:
- <a id="p127224"></a>планы расположения;
- <a id="p127225"></a>теоретические обводы;
- <a id="p127226"></a>механические системы (машины и механизмы, силовые установки, погрузо-разгрузочные системы);
- <a id="p127227"></a>конструкции;
- <a id="p127228"></a>распределительные системы (трубопроводы, ОВКВ, электрические, гидравлические/пневматические);
- <a id="p127229"></a>оснащение и меблировка;
- <a id="p127230"></a>связь;
- <a id="p127231"></a>боевые системы;
- <a id="p127232"></a>навигация;
- <a id="p127233"></a>эксплуатация.
<a id="p127234"></a>Каждая функциональная область модели изделия судна описывается одним или несколькими разными ПП. В судостроении используют следующие ПП:
- <a id="p127235"></a>ИСО 10303-215: Ship Arrangements (планы расположения судна);
- <a id="p127236"></a>ИСО 10303-216: Ship Moulded Forms (теоретические обводы судна);
- <a id="p127237"></a>ИСО 10303-218: Ship Structures (судовые конструкции).
<a id="p127238"></a>Подразделение модели изделия судна в целом позволяет применять подход с использованием распределенного моделирования. После этого также можно начать работы по моделированию с функциональных областей, отражающих начальные этапы жизненного цикла судна, и проверить эти модели перед началом моделирования в областях на более поздних этапах жизненного цикла. Жизненный цикл настоящего стандарта, а также функциональные единицы, представляющие этот жизненный цикл, представлены на [рисунке L.2](#p127240).

<a id="p127239"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_118.png) 

<a id="p127240"></a>Рисунок L.2 - Структура настоящего стандарта

<a id="p127241"></a>ПП приложений являются единственными частями STEP, предназначенными для использования при обмене данными, но, тем не менее, каждый ПП в области судостроения распространяется только на часть модели изделия судна. Таким образом, если ПП должны работать вместе как единая модель изделия судна, необходимо определить общий механизм, вокруг которого могут быть интегрированы все ПП в области судостроения. Только после этого модель изделия может быть реализована в системе управления данными об изделии, где все данные хранятся вне прикладных систем в нейтральном формате данных модели изделия судна. Этот механизм интеграции различных точек доступа называется ОМК. Эта модель описана в следующем разделе.
<a id="p127242"></a>L.2 Общая модель судна
<a id="p127243"></a>ОМК определяет общий каркас и основу моделирования для всех ПП в области судостроения в целях обеспечения взаимодействия между этими ПП.
<a id="p127244"></a>Общая модель судна представляет собой набор строительных блоков, которые используют в контексте модели изделия судна. ОМК обеспечивает каркас для моделирования, набор моделей предметной области (отдельных и многократно используемых) структуры изделия, которые требуются более чем для одного ПП, а также набор общеиспользуемых конструктивов или утилит, например, которые используются для управления конфигурацией и концепций управления. Задача ОМК заключается в обеспечении интеграции и общей согласованности ПЭМ различных ПП судна.
<a id="p127245"></a>ОМК описывается в руководстве по разработке ПП для судостроения [[11]](#p127607). В этом руководстве описываются:
- <a id="p127246"></a>подход с использованием стандартных блоков;
- <a id="p127247"></a>руководство по моделированию;
- <a id="p127248"></a>общая модель судна.
<a id="p127249"></a>L.3 Руководство по моделированию
<a id="p127250"></a>Руководство по моделированию можно рассматривать как расширение языка EXPRESS, определенного в разделе 11 STEP. Оно определяет использование конструктивов языка EXPRESS для моделирования данных в области судостроения. Это руководство по моделированию также используют в общей модели судна.
<a id="p127251"></a>Все работы по моделированию ПП в области судостроения выполняются в форме стандартных блоков. Стандартный блок - это спецификация на основе языка EXPRESS, которая используется для определения функциональной единицы для точки доступа. Функциональная единица может включать один или несколько стандартных блоков. Стандартный блок состоит из трех схем:
- <a id="p127252"></a>схема импорта, обеспечивающая интерфейс для тех элементов других стандартных блоков, которые будут использоваться схемой модели этого стандартного блока;
- <a id="p127253"></a>схема экспорта, обеспечивающая наличие тех элементов схемы модели, которые предназначены для использования другими строительными блоками; и
- <a id="p127254"></a>схема модели, определяющая все новые элементы для данного стандартного блока.
<a id="p127255"></a>Помимо схем у каждого стандартного блока имеется заголовок стандартного блока с некоторой административной информацией, позволяющей выполнять автоматическую обработку почтовым сервером стандартного блока. Руководство по моделированию относится к концепции стандартных блоков. Текущее руководство охватывает следующие области:
- <a id="p127256"></a>имя стандартного блока;
- <a id="p127257"></a>размер стандартного блока;
- <a id="p127258"></a>существующие стандартные блоки;
- <a id="p127259"></a>комментирование стандартных блоков;
- <a id="p127260"></a>ограничения по использованию языка EXPRESS;
- <a id="p127261"></a>ссылки на ресурсы STEP;
- <a id="p127262"></a>ограничения на количество элементов в стандартных блоках;
- <a id="p127263"></a>модельные функции;
- <a id="p127264"></a>ссылочные экземпляры в прикладных протоколах;
- <a id="p127265"></a>импортирование стандартных блоков в прикладные протоколы;
- <a id="p127266"></a>составление стандартных блоков.
<a id="p127267"></a>Руководство по комментированию стандартных блоков имеет важность для ПП и т.д. Эти комментарии используются инструментами для (полу)автоматического создания [пунктов 4.2](#p100459) и [4.3](#p102879) ПП.
<a id="p127268"></a>L.4 Каркас моделирования
<a id="p127269"></a>Каркас моделирования, являющийся частью общей модели судна, обеспечивает реализацию общих концепций установки отношений между вещами, определения их свойств и их представления. Этот каркас определяют следующие три стандартных блока на основе языка:
- <a id="p127270"></a>definitions;
- <a id="p127271"></a>generic_product_structures;
- <a id="p127272"></a>representation_resources.
<a id="p127273"></a>Этот каркас представляет собой укрупненный подход, который делит модель изделия на основные конструктивы, а именно:
- <a id="p127274"></a>items (элементы);
- <a id="p127275"></a>definitions (определения);
- <a id="p127276"></a>representations (представления),
<a id="p127277"></a>при этом они связаны через ряд обобщенных отношений, приведенных на [рисунке L.3](#p127279).

<a id="p127278"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_119.png) 

<a id="p127279"></a>Рисунок L.3 - Каркас моделирования

<a id="p127280"></a>Элементы представляют концепцию и могут рассматриваться как местозаполнитель. Элемент - это постоянный флаг на протяжении всего жизненного цикла физического объекта. Новые элементы в судостроительных ПП вводятся путем создания их подтипов из элемента.
<a id="p127281"></a>К типовым элементам в судостроительных прикладных протоколах относятся:
- <a id="p127282"></a>комплектующие судна (корпус, надстройка, палуба, руль, гребной винт и пр.);
- <a id="p127283"></a>оборудование (насос, генератор, главный двигатель, труба и пр.);
- <a id="p127284"></a>элементы стальной конструкции (двойное дно, шпангоут, переборка, ребра жесткости и пр.).
<a id="p127285"></a>Свойства элемента переносятся определениями. Для элемента должно быть задано определение, но элемент может существовать без какого-либо определения. Определение элемента может меняться в течение жизненного цикла. Эти аспекты жизненного цикла учитываются в понятии жизненного цикла (см. [рисунок L.4](#p127287)), где для элемента вводятся разные определения для разных этапов жизненного цикла. Новые определения в судостроительных ПП могут создаваться путем создания их подтипов из определения.

<a id="p127286"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_120.png) 

<a id="p127287"></a>Рисунок L.4 - Понятие жизненного цикла

<a id="p127288"></a>Каждое свойство понятия и, следовательно, каждое определение элемента может быть описано многими различными способами. Определение теоретического обвода может быть представлено с помощью:
- <a id="p127289"></a>представления таблицы ординат теоретического чертежа;
- <a id="p127290"></a>каркасного представления;
- <a id="p127291"></a>поверхностного представления;
- <a id="p127292"></a>интервального положения.
<a id="p127293"></a>Таким образом, определение может иметь разные представления, но в некоторых случаях может быть определение без представления. Новые представления в ПП в области судостроения могут создаваться путем создания их подтипов из представления.
<a id="p127294"></a>Высокоуровневые отношения между основными конструктивами каркаса моделирования могут ограничиваться в подтипе каждого ПП. Это выполняется переопределениями атрибутов. Например, определение проекта теоретического обвода, подтип определения определяется для теоретического обвода, который является подтипом элемента, как показано на [рисунке L.5](#p127296).

<a id="p127295"></a> ![6 Требования соответствия](https://i.bukva.ai/Ci6K3JhF/img_121.png) 

<a id="p127296"></a>Рисунок L.5 - Переопределение атрибутов

<a id="p127297"></a>L.5 Модели предметной области
<a id="p127298"></a>Целью моделей предметной области является создание нового уровня обобщенных элементов под основными конструктивами каркаса моделирования, с возможностью ограничения отношений атрибутов с помощью переопределений. Эти новые элементы, вводимые моделями предметной области, являются подтипами основных конструктивов каркаса моделирования.
<a id="p127299"></a>В состав общей модели судна входят следующие модели предметной области:
- <a id="p127300"></a>структура изделия (product structure);
- <a id="p127301"></a>часть (part);
- <a id="p127302"></a>структура изделия по системам (product structure by system);
- <a id="p127303"></a>структура изделия по сборке (product structure by assembly);
- <a id="p127304"></a>структура изделия по пространству (product structure by space);
- <a id="p127305"></a>возможность подключения.
<a id="p127306"></a>L.6 Общие утилиты
<a id="p127307"></a>Общие утилиты представляют собой стандартные блоки на основе языка EXPRESS, которые относятся к ПП в области судостроения, но также являются достаточно общими, чтобы их можно было использовать в разных ПП.
<a id="p127308"></a>Общие утилиты в настоящее время доступны для:
- <a id="p127309"></a>общих параметров судна (ship general characteristics);
- <a id="p127310"></a>управления конфигурацией (configuration management);
- <a id="p127311"></a>концепции местоположения [глобальная локальная система координат, пространственная сетка (location concepts (global local co-ordinate system, spacing grid)];
- <a id="p127312"></a>базовой геометрии и топологии (basic geometry and topology);
- <a id="p127313"></a>точек форм обводов (moulded form points);
- <a id="p127314"></a>линий форм обводов (moulded form lines);
- <a id="p127315"></a>поверхности форм обводов (moulded form surfaces);
- <a id="p127316"></a>судов (ships);
- <a id="p127317"></a>материалов (materials);
- <a id="p127318"></a>функций (features);
- <a id="p127319"></a>единиц измерений (units);
- <a id="p127320"></a>внешней ссылки/внешней ссылки на экземпляр.
<a id="p127321"></a>Подробная информация о ОМК, а также руководство по моделированию представлены в руководстве по разработке ПП для судостроения (AP Development Guidelines for Shipbuilding).
<a id="p127322"></a>L.7 Параметры и единицы
<a id="p127323"></a>Некоторые атрибуты прикладных объектов в настоящем стандарте определяют отношения к типам параметров. Необходимая единица измерения, соответствующая каждому параметру, определяется глобально в атрибуте unit объекта Ship (см. [4.2.88](#p102052)) или локально в атрибуте local_units объекта Definition (см. [4.2.23](#p100971)). Единицы могут быть указаны либо в единицах СИ, либо в других системах единиц измерения.
<a id="p127324"></a>Существует много объектов ПЭМ, которые определяют свои собственные локальные единицы. Для отображения такой локальной единицы требуется property_definition_representation (где name = "local units") для указания представления с помощью global_unit_assigned_context. Однако у многих из этих же объектов ПЭМ уже имеются атрибуты, которые отображают другое представление, содержащее сложный объект geometric_representation_context и global_unit_assigned_context. Такой сложный экземпляр требуется правилом [5.2.4.114](#p116755) - representation_has_global_unit_assigned_context. Также, если с параметром связано значение допуска, для сложного экземпляра будет иметься дополнительный вид объекта global_uncertainty_assigned_context. Поэтому, если объекту ПЭМ требуются локальные единицы измерения, рекомендуется, чтобы единицы, связанные с этим сложным экземпляром, были такими же, как единицы, на которые приведена ссылка через ссылочный путь атрибута local units.
<a id="p127325"></a>В [таблице L.7](#p127327) приведены единицы, используемые в прикладной интерпретируемой модели настоящего стандарта, соответствующие каждому типу параметра ПЭМ.

<a id="p127326"></a>Таблица L.7

<a id="p127327"></a>Параметры ПЭМ и соответствующие параметры и единицы ПИМ


| <a id="p127328"></a>Ссылка атрибута прикладного объекта | <a id="p127329"></a>Параметры и единицы, используемые в прикладной интерпретируемой модели |
| --- | --- |
| <a id="p127330"></a>Area_measure | <a id="p127331"></a><a id="p127332"></a><a id="p127333"></a>value_representation_item с value_representation_item.value_component вида area_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет area_unit.<br>Derived_unit.elements будет состоять из одного derived_unit_element:<br>1) derived_unit_element.unit = length_unit, а derived_unit_element.exponent = 2. |
| <a id="p127334"></a>Length_measure | <a id="p127335"></a>value_representation_item с value_representation_item.value_component вида length_measure and length_unit в наборе элементов, указанных из global_unit_assigned_context.units |
| <a id="p127336"></a>Positive_length_measure | <a id="p127337"></a>value_representation_item с value_representation_item.value_component вида positive_length_measure и length_unit в наборе элементов, указанных из global_unit_assigned_context.units |
| <a id="p127338"></a>Luminous_intensity_measure | <a id="p127339"></a>value_representation_item с value_representation_item.value_component вида luminous_intensity_measure и luminous_intensity_unit в наборе элементов, указанных из global_unit_assigned_context.units |
| <a id="p127340"></a>Mass_measure | <a id="p127341"></a>value_representation_item с value_representation_item.value_component вида mass_measure и mass_unit в наборе элементов, указанных из global_unit_assigned_context.units |
| <a id="p127342"></a>Plane_angle_measure | <a id="p127343"></a>value_representation_item с value_representation_item.value_component вида plane_angle_measure и plane_angle_unit в наборе элементов, указанных из global_unit_assigned_context.units. |
| <a id="p127344"></a>Ratio_measure | <a id="p127345"></a>value_representation_item с value_representation_item.value_component вида ratio_measure и ratio_unit в наборе элементов, указанных из global_unit_assigned_context.units |
| <a id="p127346"></a>Thermodynamic_temperature_measure | <a id="p127347"></a>value_representation_item с value_representation_item.value_component вида thermodynamic_temperature_measure и thermodynamic_temperature_unit в наборе элементов, указанных из global_unit_assigned_context.units |
| <a id="p127348"></a>Volume_measure | <a id="p127349"></a><a id="p127350"></a><a id="p127351"></a>value_representation_item с value_representation_item.value_component вида volume_measure and derived_unit in в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет volume_unit.<br>Derived_unit.elements будет состоять из одного derived_unit_element:<br>1) derived_unit_element.unit = length_unit, а derived_unit_element.exponent = 3. |
| <a id="p127352"></a>Density_measure | <a id="p127353"></a><a id="p127354"></a><a id="p127355"></a>value_representation_item с value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет density. Derived_unit.elements будет состоять из двух derived_unit_elements:<br>1) derived_unit_element.unit = mass_unit, а derived_unit_element.exponent = 1;<br>2) derived_unit_element.unit = length_unit, а derived_unit_element.exponent = -3. |
| <a id="p127356"></a>Force_measure | <a id="p127357"></a><a id="p127358"></a><a id="p127359"></a><a id="p127360"></a>value_representation_item с value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет force_unit. Derived_unit.elements будет состоять из трех derived_unit_elements:<br>1) derived_unit_element.unit = mass_unit, а derived_unit_element.exponent = 1;<br>2) derived_unit_element.unit = length_unit, а derived_unit_element.exponent = 1;<br>3) derived_unit_element.unit = time_unit, а derived_unit_element.exponent = -2. |
| <a id="p127361"></a>Inertia_moment_measure | <a id="p127362"></a><a id="p127363"></a>value_representation_item с value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет inertia_moment_unit. Derived_unit.elements будет состоять из одного derived_unit_element:<br>1) derived_unit_element.unit = length_unit и derived_unit_element.exponent = 4. |
| <a id="p127364"></a>Moment_measure | <a id="p127365"></a><a id="p127366"></a><a id="p127367"></a><a id="p127368"></a>value_representation_item с value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет moment_unit. Derived_unit.elements будет состоять из трех derived_unit_elements:<br>1) derived_unit_element.unit = mass_unit and derived_unit_element.exponent = 1;<br>2) derived_unit_element.unit = length_unit and derived_unit_element.exponent = 2;<br>3) derived_unit_element.unit = time_unit and derived_unit_element.exponent = -2. |
| <a id="p127369"></a>Pressure_measure | <a id="p127370"></a><a id="p127371"></a><a id="p127372"></a><a id="p127373"></a>value_representation_item с value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет pressure_unit. Derived_unit.elements будет состоять из трех derived_unit_elements:<br>1) derived_unit_element.unit = mass_unit and derived_unit_element.exponent = 1;<br>2) derived_unit_element.unit = length_unit and derived_unit_element.exponent = -1;<br>3) derived_unit_element.unit = time_unit and derived_unit_element.exponent = -2. |
| <a id="p127374"></a>Speed_measure | <a id="p127375"></a><a id="p127376"></a><a id="p127377"></a>value_representation_item с value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет speed_unit. Derived_unit.elements будет состоять из двух derived_unit_elements:<br>1) derived_unit_element.unit = length_unit and derived_unit_element.exponent = 1;<br>2) derived_unit_element.unit = time_unit and derived_unit_element.exponent = -1. |


<a id="p127378"></a>L.8 Использование однозначного глобального идентификатора
<a id="p127379"></a>Однозначные глобальные идентификаторы (GUID) были включены в общую модель судна и используются всеми ПП в области судостроения. Они используются для поддержки следующих сценариев пошагового обмена:
- <a id="p127380"></a>отдельный обмен элементами, определениями и представлениями внутри ПП при сохранении взаимосвязей между этими прикладными объектами. Например, первый обмен может идентифицировать только moulded_forms, отправляя только объекты Moulded_form, в то время как второй обмен может содержать определенные свойства и представления, отправляя объекты Moulded_form и Moulded_form_design_definition;
- <a id="p127381"></a>отдельный обмен одной моделью судна с использованием ПП AP 216 с сохранением взаимосвязей между выбранными прикладными объектами AP 216. Например, первый обмен может включать в себя объект Moulded_form корпуса, а второй - объект Moulded_form главной палубы, граница которого определяется объектом External_instance_reference, содержащим однозначный глобальный идентификатор корпуса;
- <a id="p127382"></a>отдельный обмен одной моделью с использованием нескольких точек доступа в области судостроения с сохранением взаимосвязей между прикладными объектами в разных точках доступа. Например, первый обмен может включать в себя объект Moulded_form палубы в AP 216, а второй может включать в себя листы (Plates) главной палубы в AP 218, нижняя поверхность которых определяется объектом External_instance_reference, содержащим однозначный глобальный идентификатор палубы moulded_form в AP 216.
<a id="p127383"></a>Однозначные глобальные идентификаторы и пошаговые обмены важны для судостроения по следующим причинам:
- <a id="p127384"></a>объем данных в проекте судна. Выполнить обмен всего проекта судна за один раз просто невозможно. Как правило, обмен данными сосредоточен на определенных зонах судна или конкретных системах. Важно, чтобы результатом этих множественных обменов стала модель судна, в которой сохраняются основные взаимосвязи между судостроительными элементами;
- <a id="p127385"></a>длительные сроки проектирования и изготовления. Проект судна разрабатывается в течение длительного периода времени, вплоть до нескольких лет в случае с военными судами. Аналогично, производственная информация также разрабатывается за такой же период. Важно осуществлять обмен данными в любой момент проектирования или производственного цикла, сохраняя при этом основные взаимосвязи между судостроительными элементами;
- <a id="p127386"></a>проект на основе экземпляров. Проект судна состоит из отдельных появлений частей в определенных местах на судне. Важно однозначно идентифицировать и отслеживать каждый отдельный экземпляр на судне в процессе проектирования, производства и, в конечном итоге, до эксплуатации;
- <a id="p127387"></a>применимость корпуса. Класс судов может быть проектирован так же, как и отдельное судно, с исключениями, относящимися к корпусу. Он состоит из отдельных появлений частей в определенных местах на судах. Важно однозначно идентифицировать и отслеживать каждый отдельный экземпляр в классе судов на этапах проектирования, производства и, в конечном итоге, до эксплуатации;
- <a id="p127388"></a>параллельное проектирование и производство. Как правило, изготовление судна начинается до завершения проекта полностью. Информация о проекте и производстве собирается постепенно. Кроме того, для управления изменениями важно однозначно идентифицировать каждый отдельный экземпляр на судне в процессе проектирования и производства;
- <a id="p127389"></a>совместное проектирование. Над проектом судна или класса судов могут совместно работать несколько проектных организаций. Это возможно только в том случае, если каждая компания сможет определять пошаговые изменения, вносимые другим партнером;
- <a id="p127390"></a>совместное производство. При производстве судна или класса судов могут сотрудничать несколько судостроительных организаций. Это возможно только в том случае, если каждая компания сможет определять пошаговые изменения, вносимые другим партнером;
- <a id="p127391"></a>сотрудничество. Ряд компаний могут сотрудничать при проектировании и изготовлении судна или класса судов. Это возможно только в том случае, если каждая компания сможет определять пошаговые изменения, внесенные каждой компанией.
<a id="p127392"></a>L.8.1 Функциональные требования
<a id="p127393"></a>Поскольку GUID используются для поддержки пошаговых обменов, невозможно указать полностью функциональные требования к GUID в ПП в области судостроения. Функциональные требования к GUID приведены ниже:
- <a id="p127394"></a>идентификатор GUID должен быть уникальным в глобальном масштабе и постоянным в рамках одного проекта судна, в разных проектах судов и в разных компаниях. Он должен указывать на экземпляр, который он обозначает, или не указывать вообще ни на что (например, когда экземпляр был удален);
- <a id="p127395"></a>каждая система ПО должна назначать постоянные идентификаторы GUID каждому созданному или обновленному прикладному объекту;
- <a id="p127396"></a>каждая система ПО должна поддерживать доступ к прикладному объекту через GUID;
- <a id="p127397"></a>каждая система ПО должна хранить идентификатор GUID всех прикладных объектов;
- <a id="p127398"></a>каждая система ПО должна возвращать тот же идентификатор GUID, который она получила, если прикладной объект не был изменен.
<a id="p127399"></a>L.8.2 Ограничения реализации
<a id="p127400"></a>Для поддержки этой нотации идентификатора GUID допускается использовать ряд различных схем и технологий реализации. Однако существует несколько ограничений реализации, которые следует учитывать:
- <a id="p127401"></a>должна поддерживаться функциональная совместимость между компаниями, приложениями/системами и технологиями. (Идентификатор не должен быть непрозрачным, но должен раскрывать основные элементы данных, необходимые для постоянной идентификации. Непрозрачные идентификаторы были заданы в CORBA v1 и, как оказалось, препятствовали взаимодействию между системами);
- <a id="p127402"></a>должны поддерживаться системы, использующие ключи на основе значений, а также системы, использующие сгенерированные системой идентификаторы объектов. (Требование хранить дополнительный атрибут для идентификаторов, сгенерированных системой, не следует применять к системам, основанным на значениях);
- <a id="p127403"></a>идентификаторы экземпляров должны содержать уникальные глобальные идентификаторы типов, но при этом также иметь дополнительные требования. Следовательно, идентификаторы экземпляров несут больше информации, чем идентификаторы типов (например, PLIB BSU);
- <a id="p127404"></a>идентификатор должен быть символьным, а синтаксис должен быть указан таким образом, чтобы можно было использовать стандартные отраслевые инструменты и алгоритмы;
- <a id="p127405"></a>идентификатор должен поддерживать использование существующей части 21 и SDAI, а также использование ожидаемого XML части 28;
- <a id="p127406"></a>идентификаторы должны быть основаны на уникальной идентификации отдельных объектов данных в программном приложении. Общая модель судна обычно использует четыре или более объектов для описания одного объекта данных: item, design_definition, functional_definition и manufacturing_definition. При том что важно однозначно идентифицировать каждый прикладной объект STEP, для программного приложения также важно однозначно идентифицировать объект данных, который генерирует эти прикладные объекты STEP.
<a id="p127407"></a>L.8.3 Формат GUID, рекомендованный ISE
<a id="p127408"></a>В проекте интегрированной среды в области судостроения (ISE) приняты и внедряются трансляторы на основе следующего формата GUID.
<a id="p127409"></a>Атрибут ПЭМ Global_id.id (атрибут ПИМ applied_classification_assignment.id) записывается в виде строки в следующем формате:


| <a id="p127410"></a>'<XX_Key | <a id="p127411"></a>x_href=YY | <a id="p127412"></a>Id=WW | <a id="p127413"></a>x-owner=ZZ | <a id="p127414"></a>x-rev=AA/>' |
| --- | --- | --- | --- | --- |


<a id="p127415"></a>Определение аргументов:
<a id="p127416"></a>XX_Key - XX - это имя связанного объекта ПЭМ, например Moulded_form_function_definition. Этот аргумент является обязательным. Первая буква объекта приложения заглавная, остальные строчные. Суффикс = "_Key".
<a id="p127417"></a>x-href=YY - YY - это URL-адрес SOAP-сервера и/или базы данных. Этот аргумент является обязательным.
<a id="p127418"></a>Id=WW - WW - это строка, идентифицирующая объект. Идентификатор Id необходим только для definable_objects. Идентификатор Id может быть одним из двух типов:
<a id="p127419"></a>Value (прозрачное использование) - уникальное значение, идентифицирующее данный экземпляр
<a id="p127420"></a>GUID (непрозрачное использование) - сгенерированный системой идентификатор. Должен иметь префикс "guid:"
<a id="p127421"></a>x-owner=ZZ - ZZ - это строка, идентифицирующая объект. Этот аргумент требуется только для объектов Definition. Та же строка, что и идентификатор Id связанного объекта definable_object.
<a id="p127422"></a>x-rev=AA - AA - номер изменения. Этот аргумент требуется только для объектов Definition. Та же строка, что и Definition.version_id attribute.
<a id="p127423"></a>Сочетание (XX_key, x-href, Id) уникально для definable_objects.
<a id="p127424"></a>Сочетание (XX_key, x-href, x-owner, x-rev) уникально для Definitions
<a id="p127425"></a>*Пример* 1 - Следующие примеры иллюстрируют такое использование для связанных объектов moulded_form в прикладном протоколе AP 216:
<a id="p127426"></a>'<Moulded_form_Key x-href="//j oshua.ingr.com"
<a id="p127427"></a>Id="guid:123-123-123" />'

<a id="p127428"></a>'<Moulded_form_functional_definition_Key
<a id="p127429"></a>x-href="//joshua.ingr.com"
<a id="p127430"></a>x-owner="guid:123-123-123"
<a id="p127431"></a>x-rev="A"/>'

<a id="p127432"></a>'<Moulded_form_design_definition_Key
<a id="p127433"></a>x-href="//joshua.ingr.com"
<a id="p127434"></a>x-owner="guid:123-123-123"
<a id="p127435"></a>x-rev="A"/>'
<a id="p127436"></a>*Пример* 2 - Объект Part определен в языке EXPRESS и инстанцирован в репозитории, локатором которого является "http://www.acme.com/stepdataserver". В приведенном ниже примере показано, как его постоянный идентификатор будет закодирован, а затем представлен в файле части 21:
<a id="p127437"></a>SCHEMA part_schema;

<a id="p127438"></a>ENTITY Part
<a id="p127439"></a>Name: STRING;
<a id="p127440"></a>Description: STRING;
<a id="p127441"></a>**END_ENTITY;**

<a id="p127442"></a>**END_SCHEMA;**
<a id="p127443"></a>Глобально-уникальный постоянный идентификатор для экземпляра этого типа будет закодирован как:

<a id="p127444"></a><Part_Key href = "http://www.acme.com/stepdataserver" Id =
"P1" />

<a id="p127445"></a>Этот пример показывает три основных компонента данных для глобально уникальной постоянной идентификации экземпляра: глобально уникальное имя типа, глобально уникальный локатор экземпляра (репозиторий), локально уникальный идентификатор (ключ) в этом локаторе (репозиторий).
<a id="p127446"></a>Глобально уникальное имя типа представляет собой комбинацию схемы на языке EXPRESS и имен типов, отображаемых в соответствии с ISO/TS 10303-28. Имя EXPRESS SCHEMA связано с пространством имен типа ("urn:iso10303:osb/part_schema"); а имя EXPRESS ENTITY фиксируется как квалифицированное имя элемента со строкой '_Key', к которой добавлено (p:Part_Key). Атрибут xlink:href фиксирует локатор репозитория, который управляет экземпляром. Он включает орган (компанию) и устанавливает глобальную уникальность идентификатора. Остальные элементы фиксируют имена и значения атрибутов локальной идентификации (Id = "P1"), которые будут гарантированно уникальными в репозитории. Рекомендуемое имя при наличии одного локального идентификатора - Id.
<a id="p127447"></a>Для предоставления информации о версии экземпляра, на который дана ссылка, может быть включен специальный атрибут x-rev. Это правило заключается в том, что присутствие x-rev означает особое отношение этого экземпляра к другим экземплярам, ключи которых имеют одинаковые значения для всех полей, кроме x-rev. Каждый такой экземпляр представляет разные версии одного и того же объекта; порядок версий зависит от приложения.
<a id="p127448"></a>Система, использующая сгенерированные системой идентификаторы объектов (например, guid's), будет использовать строку guid в качестве значения первого ключевого атрибута.
<a id="p127449"></a><p:Part_Key xmlns:p = "urn:iso10303:osb/part_schema" x-id = "_10"
<a id="p127450"></a>xlink:href = "http://www.acme.com/stepdataserver"
<a id="p127451"></a>Id = "guid: BDA4A1BA-110C-11d0-8CC3-0080F394BA32" x-rev = "A"/>
<a id="p127452"></a>Глобально-уникальный постоянный идентификатор будет представлен в файле STEP как:
<a id="p127453"></a>#10 = Part('P1','Description for this part');
<a id="p127454"></a>#20 = applied_identification_assignment(
<a id="p127455"></a>'<p:Part_Key xmlns:p = "urn:iso10303:osb/part_schema"
<a id="p127456"></a>xlink:href = "http://www.acme.com/stepdataserver" Id = "P1" x-re v= "A"/>',
<a id="p127457"></a>#21,#10);
<a id="p127458"></a>#21 = identification_role('xml_guid',' ');





<a id="p127459"></a>Приложение ДА
(справочное)

<a id="p127460"></a>**ИНФОРМАЦИЯ ОБ УЧЕТЕ ТЕХНИЧЕСКОЙ ПОПРАВКИ**
**К ИСО 10303-216:2003**

<a id="p127461"></a>В текст настоящего стандарта внесена техническая поправка ИСО 10303-216:2003/Попр. 1:2008.
<a id="p127462"></a>Эта поправка относится к следующим элементам стандарта:
- <a id="p127463"></a>[подпункт 4.1.14](#p100446) (добавление прикладного объекта Surface_with_identifier в ПЭМ в функциональную единицу surface_representations);
- <a id="p127464"></a>[подпункт 4.2.110 (4.2.110.1)](#p102657) после [подпункта 4.2.109.1](#p102650) [добавление прикладного объекта Surface_with_identifier в прикладную эталонную модель (ПЭМ (ARM)), изменение нумерации следующих за ним подпунктов соответственно];
- <a id="p127465"></a>[подпункт 4.3.109](#p103143), после [подпункта 4.3.108](#p103141) [добавление условия между прикладными объектами Surface_with_identifier и Global_id в ПЭМ, изменение нумерации следующих за ним подпунктов соответственно];
- <a id="p127466"></a>[подпункт 5.1.1.9](#p103489) [добавление заключающих косых черт в шаблоны отображения (Mapping Templates), на которые ссылаются другие шаблоны отображения];
- <a id="p127467"></a>[подпункт 5.1.1.10](#p103511) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127468"></a>[подпункт 5.1.1.11](#p103535) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127469"></a>[подпункт 5.1.1.12](#p103554) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127470"></a>[подпункт 5.1.1.13](#p103573) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127471"></a>[подпункт 5.1.1.14](#p103585) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127472"></a>[подпункт 5.1.1.18](#p103646) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127473"></a>[подпункт 5.1.1.23](#p103746) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127474"></a>[подпункт 5.1.1.28](#p103819) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127475"></a>[подпункт 5.1.1.30](#p103841) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127476"></a>[подпункт 5.1.1.31](#p103851) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127477"></a>[подпункт 5.1.1.32](#p103860) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127478"></a>[подпункт 5.1.1.33](#p103871) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127479"></a>[подпункт 5.1.1.34](#p103880) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127480"></a>[подпункт 5.1.1.35](#p103891) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127481"></a>[подпункт 5.1.1.36](#p103902) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127482"></a>[подпункт 5.1.1.38](#p103927) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127483"></a>[подпункт 5.1.1.39](#p103938) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127484"></a>[подпункт 5.1.1.40](#p103951) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения)
- <a id="p127485"></a>[подпункт 5.1.1.42](#p103975) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127486"></a>[подпункт 5.1.1.43](#p103986) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127487"></a>[подпункт 5.1.1.44](#p103996) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127488"></a>[подпункт 5.1.1.45](#p104006) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127489"></a>[подпункт 5.1.1.47](#p104032) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127490"></a>[подпункт 5.1.1.48](#p104054) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127491"></a>[подпункт 5.1.1.51](#p104115) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127492"></a>[подпункт 5.1.1.54](#p104142) (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);
- <a id="p127493"></a>[подпункт 5.1.13.2](#p110602) [не используются параметры плотности, силы и давления. Целью данного изменения является удаление фрагментов "Пути Отображения" (Mapping Path) Derived_unit в части единицы плотности, единицы силы и единицы давления и замена другим текстом];
- <a id="p127494"></a>[подпункт 5.1.15.3 (5.1.15.3.1)](#p111682) (добавление спецификации отображения для прикладного объекта Surface_with_identifier);
- <a id="p127495"></a>[пункт 5.2](#p111771) (добавление context_dependent_measure в USE FROM measure_schema);
- <a id="p127496"></a>[подпункт 5.2.2.4](#p112092) [изменение AIM EXPRESS с целью добавления определения прикладного объекта Surface_with_identifier и исправления ошибок компиляции глобальных правил, добавление поверхности (surface) и representation_item в выбор типа classification_item Select type];
- <a id="p127497"></a>[подпункт 5.2.2.10](#p112184) [изменение AIM EXPRESS с целью добавления отображения прикладного объекта Surface_with_identifier, добавление Surface (поверхность) в выбор типа identification_item Select type];
- <a id="p127498"></a>[подпункт 5.2.4.42](#p114145) (исправление ошибки глобального правила, замена определения EXPRESS другим текстом);
- <a id="p127499"></a>[подпункт 5.2.4.144](#p117881) (исправление ошибки компиляции глобального правила и приведение правила в соответствие с другими этого же типа, замена текста);
- <a id="p127500"></a>[подпункт 5.2.4.150](#p118127) (изменение AIM EXPRESS с целью добавления отображения Surface_with_identifier в прикладное условие Global_id, добавление глобального правила для обеспечения данного прикладного условия, приведение нового [подпункта 5.2.2.149](#p118088) после [подпункта 5.2.4.148](#p118051), изменение нумерации следующих за ним подпунктов соответственно;
- <a id="p127501"></a>[приложение A](#p119878) (страница 420: изменение AIM EXPRESS с целью добавления определения прикладного объекта Surface_with_identifier и исправления ошибок компиляции глобальных правил. Добавление поверхности surface и representation_item в classification_item Select type);
- <a id="p127502"></a>[приложение A](#p119878) (страница 420: добавление context_dependent_measure в расширенный листинг AIM EXPRESS);
- <a id="p127503"></a>[приложение A](#p119878) (страница 422: изменение расширенного листинга AIM EXPRESS с целью добавления отображения прикладного объекта Surface_with_identifier, добавление поверхности Surface в выбор типа identification_item Select type);
- <a id="p127504"></a>[приложение A](#p119878) (страница 423: добавление context_dependent_measure в measure_value SELECT Type);
- <a id="p127505"></a>[приложение A](#p119878) (страница 476: исправление ошибки в глобальном правиле, замена текста);
- <a id="p127506"></a>[приложение A](#p119878) (страницы 522, 523: изменение AIM EXPRESS с целью добавления отображения Surface_with_identifier в прикладное условие Global_id);
- <a id="p127507"></a>[приложение C](#p126770) [добавление части 28 в качестве допустимого метода реализации дополнительно к части 21, добавление спецификации значений для настоящего стандарта в целях использования данной возможности (добавлены [пункты C.1](#p126772) - [C.3](#p126784))];
- <a id="p127508"></a>[приложение E](#p126827) (замена идентификаторов объектов);
- <a id="p127509"></a>[приложение G](#p127088) (изменение AIM EXPRESS с целью добавления прикладного объекта Surface_with_identifier, замена [рисунка G.24](#p127137));
- <a id="p127510"></a>[приложение H](#p127141) (изменение AIM EXPRESS-G в целях добавления ссылки на другую страницу к representation_item для classification_item SELECT type, замена [рисунка H.4](#p127150));
- <a id="p127511"></a>[приложение H](#p127141) (изменение AIM EXPRESS-G в целях добавления поверхности surface и representation_item в classification_item SELECT type, замена [рисунков H.10](#p127162), [H.11](#p127164));
- <a id="p127512"></a>[приложение H](#p127141) (добавление context_dependent_measure в measure_value SELECT Type в схеме AIM, замена [рисунка H.14](#p127170));
- <a id="p127513"></a>[приложение H](#p127141) (изменение AIM EXPRESS-G в целях корректировки ссылок на другие страницы для поверхности, замена [рисунка H.20](#p127182));
- <a id="p127514"></a>приложение L, [таблица L.7](#p127327) (удаление Density_measure и Force_measure, удаление Pressure_measure в связи с их неприменением в настоящем стандарте).





<a id="p127515"></a>Приложение ДБ
(справочное)

<a id="p127516"></a>**СВЕДЕНИЯ О СООТВЕТСТВИИ ССЫЛОЧНЫХ МЕЖДУНАРОДНЫХ СТАНДАРТОВ**
**И ДОКУМЕНТОВ НАЦИОНАЛЬНЫМ СТАНДАРТАМ**

<a id="p127517"></a>Таблица ДБ.1


<table>
<colgroup><col width="31%"><col width="11%"><col width="58%"></colgroup>
<tr><td><a id="p127518"></a>Обозначение ссылочного международного стандарта, документа</td><td><a id="p127519"></a>Степень соответствия</td><td><a id="p127520"></a>Обозначение и наименование соответствующего национального стандарта</td></tr>
<tr><td><a id="p127521"></a>ISO 31 (all parts)</td><td><a id="p127522"></a>-</td><td><a id="p127523"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td><a id="p127524"></a>ISO 1000:1992</td><td><a id="p127525"></a>-</td><td><a id="p127526"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td><a id="p127527"></a>ISO 10303-1:1994</td><td><a id="p127528"></a>-</td><td><a id="p127529"></a><a href="#p127572">&lt;*&gt;</a>, <a href="#p127576">&lt;1&gt;</a></td></tr>
<tr><td><a id="p127530"></a>ISO/IEC 8824-1:1998</td><td><a id="p127531"></a>IDT</td><td><a id="p127532"></a><a href="https://bukva.ai/docs/gost-r-isomek-8824-1-2001">ГОСТ Р ИСО/МЭК 8824-1-2001</a> "Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации"</td></tr>
<tr><td><a id="p127533"></a>ISO 10303-11:1994</td><td><a id="p127534"></a>-</td><td><a id="p127535"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td><a id="p127536"></a>ISO 10303-21:2002</td><td><a id="p127537"></a>-</td><td><a id="p127538"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td><a id="p127539"></a>ISO 10303-22:1998</td><td><a id="p127540"></a>IDT</td><td><a id="p127541"></a><a href="https://bukva.ai/docs/standart-gost-r-iso-10303-22-2002">ГОСТ Р ИСО 10303-22-2002</a> "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 22. Методы реализации. Стандартный интерфейс доступа к данным"</td></tr>
<tr><td><a id="p127542"></a>ISO/TS 10303-28</td><td><a id="p127543"></a>-</td><td><a id="p127544"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td><a id="p127545"></a>ISO 10303-31:1994</td><td><a id="p127546"></a>-</td><td><a id="p127547"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td><a id="p127548"></a>ISO 10303-41:2000</td><td><a id="p127549"></a>-</td><td><a id="p127550"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td><a id="p127551"></a>ISO 10303-42:2000</td><td><a id="p127552"></a>-</td><td><a id="p127553"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td><a id="p127554"></a>ISO 10303-43:2000</td><td><a id="p127555"></a>-</td><td><a id="p127556"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td><a id="p127557"></a>ISO 10303-45:1998</td><td><a id="p127558"></a>-</td><td><a id="p127559"></a><a href="#p127572">&lt;*&gt;</a>, <a href="#p127577">&lt;2&gt;</a></td></tr>
<tr><td><a id="p127560"></a>ISO 10303-501:2000</td><td><a id="p127561"></a>IDT</td><td><a id="p127562"></a><a href="https://bukva.ai/docs/gost-r-iso-10303-501-2006">ГОСТ Р ИСО 10303-501-2006</a> "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 501. Прикладные интерпретированные конструкции. Каркасное представление формы на основе ребер"</td></tr>
<tr><td><a id="p127563"></a>ISO 10303-508:2001</td><td><a id="p127564"></a>IDT</td><td><a id="p127565"></a><a href="https://bukva.ai/docs/standart-gost-r-iso-10303-508-2009">ГОСТ Р ИСО 10303-508-2009</a> "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 508. Прикладные интерпретированные конструкции. Многосвязные поверхности"</td></tr>
<tr><td><a id="p127566"></a>ISO 10303-511:2001</td><td><a id="p127567"></a>IDT</td><td><a id="p127568"></a><a href="https://bukva.ai/docs/standart-gost-r-iso-10303-511-2006">ГОСТ Р ИСО 10303-511-2006</a> "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 511. Прикладные интерпретированные конструкции. Топологически ограниченная поверхность"</td></tr>
<tr><td><a id="p127569"></a>RFC 2396:1998</td><td><a id="p127570"></a>-</td><td><a id="p127571"></a><a href="#p127572">&lt;*&gt;</a></td></tr>
<tr><td colspan="3"><a id="p127572"></a><a id="p127573"></a><a id="p127574"></a>&lt;*&gt; Соответствующий национальный стандарт отсутствует. До его принятия рекомендуется использовать перевод на русский язык данного международного стандарта (документа).<br>Примечание - В настоящей таблице использовано следующее условное обозначение степени соответствия стандартов:<br>- IDT - идентичные стандарты.</td></tr>
</table>



<a id="p127575"></a>

---

<a id="p127576"></a><1> Действует [ГОСТ Р ИСО 10303-1-2022](https://bukva.ai/docs/standart-gost-r-iso-10303-1-2022) "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы", идентичный ИСО 10303-1:2021.
<a id="p127577"></a><2> Действует [ГОСТ Р ИСО 10303-45-2022](https://bukva.ai/docs/standart-gost-r-iso-10303-45-2022) "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 45. Интегрированный обобщенный ресурс. Материал и другие технические характеристики", идентичный ИСО 10303-45:2019.






## <a id="p127578"></a>БИБЛИОГРАФИЯ



<table>
<colgroup><col width="7%"><col width="24%"><col width="69%"></colgroup>
<tr><td><a id="p127579"></a>[1]</td><td><a id="p127580"></a>ISO 10303-209:2001</td><td><a id="p127581"></a>Industrial automation systems and integration - Product data representation and exchange - Part 209: Application protocol: Composite and metallic structural analysis and related design</td></tr>
<tr><td><a id="p127582"></a>[2]</td><td><a id="p127583"></a>ISO 10303-212:2000</td><td><a id="p127584"></a>Industrial automation systems and integration - Product data representation and exchange - Part 212: Application protocol: Electrotechnical design and installation</td></tr>
<tr><td><a id="p127585"></a>[3]</td><td><a id="p127586"></a>ISO 10303-215:2004</td><td><a id="p127587"></a>Industrial automation systems and integration - Product data representation and exchange - Part 215: Application protocol: Ship arrangement</td></tr>
<tr><td><a id="p127588"></a>[4]</td><td><a id="p127589"></a>ISO 10303-218:2004</td><td><a id="p127590"></a>Industrial automation systems and integration - Product data representation and exchange - Part 218: Application protocol: Ship structures</td></tr>
<tr><td><a id="p127591"></a>[5]</td><td><a id="p127592"></a>ISO 10303-227:2005</td><td><a id="p127593"></a>Industrial automation systems and integration - Product data representation and exchange - Part 227: Application protocol: Plant spatial configuration</td></tr>
<tr><td><a id="p127594"></a>[6]</td><td><a id="p127595"></a>ISO 10303-233:2012</td><td><a id="p127596"></a>Industrial automation systems and integration - Product data representation and exchange - Part 233: Application protocol: Systems engineering data representation</td></tr>
<tr><td><a id="p127597"></a>[7]</td><td><a id="p127598"></a>ISO 10303-234</td><td><a id="p127599"></a>Industrial automation systems and integration - Product data representation and exchange - Part 234: Application protocol: Ship Operational logs, records, and messages</td></tr>
<tr><td><a id="p127600"></a>[8]</td><td><a id="p127601"></a>ISO 13584-42:1998</td><td><a id="p127602"></a>Industrial automation systems and integration - Parts library - Part 42: Description methodology: Methodology for structuring part families</td></tr>
<tr><td><a id="p127603"></a>[9]</td><td colspan="2"><a id="p127604"></a>IDEF0 Federal Information Processing Standards Publication 183, Integration Definition for Function Modeling (IDEF0), FIPS PUB 183, National Institute of Standards and Technology, December 1993</td></tr>
<tr><td><a id="p127605"></a>[10]</td><td colspan="2"><a id="p127606"></a>Lewis, Edward J., Editor, "Principles of Naval Architecture, Second Revision", The Society of Naval Architects and Marine Engineers, 1988</td></tr>
<tr><td><a id="p127607"></a>[11]</td><td colspan="2"><a id="p127608"></a>AP Development Guidelines for Shipbuilding, ISO TC184/SC4/WG3 N701, 19th October, 1997</td></tr>
<tr><td><a id="p127609"></a>[12]</td><td colspan="2"><a id="p127610"></a>ESTEP AP 216 Test Case Definition, Rev. C, ISO TC184/SC4/WG3 N1143, 18th December, 2001</td></tr>
</table>







<table>
<colgroup><col width="50%"><col width="50%"></colgroup>
<tr><td><a id="p127611"></a>УДК 629.5.012.6:006.35</td><td><a id="p127612"></a><a id="p127613"></a>ОКС 25.040.40<br>47.020.10</td></tr>
<tr><td colspan="2"><a id="p127614"></a>Ключевые слова: суда, система автоматизации, интеграция, данные, изделие, прикладной протокол, форма обводов корпуса, функциональная единица</td></tr>
</table>




<a id="p127615"></a>

---
