ГОСТ Р 56271-2014 /ISO/TS 15926-7:2011 Системы промышленной автоматизации и интеграция. Интеграция данных жизненного цикла перерабатывающих предприятий, включая нефтяные и газовые производственные предприятия. Часть 7. Практические методы интеграции распределенных систем: методология шаблонов.

   

ГОСТ Р 56271-2014/

ISO/TS 15926-7:2011

 

 

 НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

 

 

 Системы промышленной автоматизации и интеграция

 

 ИНТЕГРАЦИЯ ДАННЫХ ЖИЗНЕННОГО ЦИКЛА ПЕРЕРАБАТЫВАЮЩИХ ПРЕДПРИЯТИЙ, ВКЛЮЧАЯ НЕФТЯНЫЕ И ГАЗОВЫЕ ПРОИЗВОДСТВЕННЫЕ ПРЕДПРИЯТИЯ

 

 Часть 7

 

 Практические методы интеграции распределенных систем: методология шаблонов

 

 Industrial automation systems and integration. Integration of life-cycle data for process plants including oil and gas production facilities. Part 7. Implementation methods for the integration of distributed systems. Template methodology

 

ОКС 75.020; 25.040.40

Дата введения 2016-01-01

 

 

 

 Предисловие

1 ПОДГОТОВЛЕН Обществом с ограниченной ответственностью "НИИ экономики связи и информатики "Интерэкомс" (ООО "НИИ "Интерэкомс") на основе собственного перевода на русский язык англоязычной версии документа, указанного в пункте 4

 

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 100 "Стратегический и инновационный менеджмент"

 

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 26 ноября 2014 г. N 1857-ст

 

4 Настоящий стандарт идентичен международному документу ИСО/ТС 15926-7:2011* "Системы промышленной автоматизации и интеграция. Интеграция данных жизненного цикла перерабатывающих предприятий, включая нефтяные и газовые производственные предприятия. Часть 7. Практические методы интеграции распределенных систем: методология шаблонов" (ISO/TS 15926-7:2011 "Industrial automation systems and integration - Integration of life-cycle data for process plants including oil and gas production facilities - Part 7: Implementation methods for the integration of distributed systems: Template methodology", IDT)

________________

* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - Примечание изготовителя базы данных.

 

           

5 ВВЕДЕН ВПЕРВЫЕ

 

6 ПЕРЕИЗДАНИЕ. Февраль 2020 г.

 

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

 

 

 Введение

Комплекс международных стандартов ИСО 15926 предназначен для представления информации о жизненном цикле перерабатывающих предприятий, включая нефтяные и газовые производственные предприятия. Это представление определяется общей концептуальной моделью данных, которая является основой для совместного использования баз данных и хранилищ информации. Такая модель предназначена для применения совместно со справочными данными, например стандартными экземплярами, которые представляют информацию, общую для ряда пользователей, технологических установок или того и другого вместе. Поддержка деятельности на протяжении жизненного цикла зависит от использования необходимых справочных данных совместно с моделью данных.

 

Комплекс международных стандартов ИСО 15926 состоит из частей. Каждая часть публикуется отдельно. Настоящий стандарт определяет методологию шаблонов (темплейтов), от английского слова template. Она не зависит от методологий практической реализации и компьютерных языков.

 

Под шаблоном в настоящем стандарте понимается специальная структура данных, установленная в комплексе международных стандартов ИСО 15926. В настоящем стандарте шаблоны рассматриваются с нескольких точек зрения.

 

Во-первых, шаблон - это предикат, утверждение которого формулируется в качестве аксиомы. Шаблон формулирует в себе некое утверждение о модели данных и каждый его экземпляр - истинное утверждение в рамках используемой модели данных.

 

   Во-вторых, шаблон - это способ передачи данных. Когда создается шаблон, четко оговаривается семантика каждой его свободной переменной, а требование к структуре модели данных, в рамках которой применяется шаблон, оформляется в виде формулы логики первого порядка. Предполагается, что справочные данные при обмене не передаются - к ним имеют доступ и получатель, и отправитель, то есть они пользуются общим "словарем" (хотя понятие "справочные данные" намного шире, чем понятие "словарь"). В основном передаются экземпляры шаблонов (template instance), поскольку их семантика задана наперед, получатель и отправитель всегда знают, какой смысл вложен в переданный набор данных. Кроме того, в случае создания хранилища данных об индивидуальных объектах (индивидах) в виде триплетов [реализация фасадов (от английского слова faсade) как способа представления информации об индивидах на основе справочных данных] к нему возможен доступ при помощи SPARQL-запросов, тогда вопрос получения необходимых данных сводится к построению соответствующего запроса. Таким образом, если шаблон соответствует моделям данных передающей и принимающей сторон, то достаточно передать лишь блок данных, идентифицирующий шаблон и содержащий в себе заполненные свободные переменные. Тогда принимающая сторона, зная его семантику, соотнесет переданные значения переменных со своей моделью данных необходимым образом.

           

В-третьих, шаблоны являются справочными данными, их спецификация хранится в библиотеке справочных данных RDL при помощи специальных структур данных.

 

Поскольку в соответствии с ИСО 15926 шаблон является предикатом логики первого порядка, удовлетворяющим аксиоматике модели данных настоящего стандарта, то, заполняя соответствующими значениями переменные такого предиката, мы получаем утверждения об объектах с фиксированной семантикой - экземплярах шаблона. Шаблоны позволяют как генерировать справочные данные (для создания однородной группы утверждений об элементах библиотеки справочных данных RDL достаточно применить шаблон необходимое количество раз с соответствующими значениями переменных), так и создавать связи между библиотеками справочных данных RDL и моделью данных приложения (например, PLMприложения) - так называемый маппинг (mapping).

 

Настоящий стандарт рассматривает методологию шаблонов, определяющую точное содержание концептуальных элементов модели ИСО 15926-2, используемых при формировании данных, интеграции или при использовании методов взаимодействия агрегатов. Настоящий стандарт не зависит от используемых языков, инфраструктуры практической реализации и методов испытаний, а служит основой для языков и инфраструктуры практической реализации и методов испытаний.

 

Настоящий стандарт определяет:

 

- методы логики первого порядка;

 

- синтаксис шаблонов;

 

- семантику шаблонов;

 

- метод расширения шаблона;

 

- протошаблон;

 

- начальное множество шаблонов.

 

Для понимания положений настоящего стандарта требуется знание концептуальных моделей данных в соответствии с ИСО 15926-2.

 

Целевая аудитория настоящего стандарта:

 

- технические директора, определяющие степень соответствия ИСО 15926 их деловым потребностям;

 

- сотрудники, использующие настоящий стандарт для решения практических задач.

 

В настоящем стандарте одно и то же английское понятие может^ 1) обозначать реальный объект (элемент) (thing); 2) задавать представление реального объекта на языке EXPRESS; 3) задавать представление реального элемента (объекта) на языке RDF/XML. Указанные значения слова различаются путем введения нижеследующих типографских обозначений:

 

- если слово (фраза) набрано обычным шрифтом, то оно обозначает реальный элемент;

 

- если слово (фраза) набрано жирным шрифтом, то это представление на языке EXPRESS в соответствии с моделью данных ИСО 15926-2.

Пример 1 - "class_of_inanimate_physical_object";

- если слово (фраза) набраны жирным "горбатым" шрифтом, то это термин языка ИСО 15926-2 (см. раздел 4.1).

Пример 2 "ClassOfApprovalByStatus";

- если слово (фраза) набраны "горбатым" курсивом, то это название шаблона.

 

Пример 3 - "RTriple(z, x, y)".

Ссылки на идентификаторы в примерах вымышленные.

 

В настоящем стандарте в ряде случаев использованы диаграммы. Они иллюстрируют паттерны моделирования (modelling patterns) в соответствии с ИСО 15926-2. Символы, используемые в диаграммах экземпляров, являются производными символов, определенных ИСО 15926-2.

 

 

      1 Область применения

     

Настоящий стандарт содержит описание процедуры обмена данными и интеграции информации о жизненном цикле с помощью шаблонов, основанных на модели данных ИСО 15926-2. Настоящий стандарт устанавливает методологию интеграции данных об онтологиях с помощью математической логики первого порядка, что позволяет сделать данную топологию независимой от компьютерных языков.

 

Настоящий стандарт распространяется на:

 

- представление модели языка EXPRESS ИСО 15926-2 в формальной логике;

 

- критерии определений шаблонов;

 

- методы расширения и проверки шаблонов;

 

- начальное множество определений шаблонов.

 

Примечание - Практическое руководство для представления информации с помощью шаблонов приведено в [17].

 

Настоящий стандарт не распространяется на:

 

- практическую реализацию на компьютерно-представимых языках;

 

- хранение и получение данных;

 

- безопасность данных.

 

 

      2 Термины, определения и аббревиатуры

 

 

      2.1 Термины и определения

     

В настоящем документе применены следующие термины с соответствующими определениями:

 

2.1.1 базовый шаблон (base template): Шаблон, содержащий только типы сущности в расширении соответствующей аксиомы шаблона.

2.1.2 класс (class): Категория или классификация элементов, выделенных по одному или нескольким критериям для последующего включения или исключения.

Примечание 1 - Класс не обязательно должен состоять из известных членов класса (сущностей, которые удовлетворяют критериям вхождения в данный класс).

 

Примечание 2 - Из-за пространственно-временной парадигмы, используемой для определения индивидуальных объектов (индивидов) в настоящем стандарте, не все классы являются хорошо обособленными множествами. Пояснение приводится в ИСО 15926-2.

 

Примечание 3 - Адаптировано из ИСО 15926-1:2004, определение 3.1.1.

 

2.1.3 шаблон класса (class template): Шаблон формирования утверждений (высказываний) о классах.

2.1.4 концептуальная модель данных (conceptual data model): Модель данных в трехсхемной архитектуре, определенной в ИСО/ТО 9007, в которой структура данных представляется в форме, не зависимой от формата физического хранения или внешнего представления.

2.1.5 основной класс (core class): Класс, отражающий разделения индивидов и отношений в соответствии с общеупотребительными терминами, применяемыми в обычном языке.

Примечание - Условия членства часто не имеют формального определения; понимание класса может быть задано примером.

 

Пример - Труба, пол, насос, лампочка - основные классы.

[ИСО 15926-1:2004, определение 3.1.4]

 

2.1.6 основной шаблон (core template): Шаблон библиотеки справочных данных RDL, для которого все элементы справочных данных в расширении аксиомы шаблона являются основными классами.

2.1.7 банк данных (data store): Компьютерная система, обеспечивающая хранение данных для обращения к ним в будущем.

2.1.8 тип данных (data type): Область значений.

2.1.9 хранилище данных (data warehouse): Банк данных, в котором смежные данные объединяются для обеспечения интегрированного множества данных без дублирования или избыточности с поддержкой множества различных прикладных вариантов.

2.1.10 документ (document): Элемент, представляющий информацию с помощью специальных символов.

Примечание - Слово "документ" используется в широком смысле. Кроме обычной информации, содержащейся в бумажных документах (это не тот бумажный документ, который является экземпляром физического объекта PhysicalObject), например "описание оборудования" или "заказ на покупку", документ может также содержать другие данные, например данные транзакций на входе в инженерные программы или данные, которыми обмениваются деловые партнеры.

2.1.11 сущность (entity): Класс информации, определенный общими свойствами.

[ИСО 10303-11:2004, определение 3.3.6]

 

2.1.12 экземпляр сущности (entity instance): Именованный блок данных, представляющий собой блок информации внутри класса, определенного некоторой сущностью.

Примечание 1 - Является членом области, установленной типом данных сущности.

 

Примечание 2 - Адаптировано из ИСО 10303-11:2004, определение 3.3.8.

 

2.1.13 логика первого порядка (first-order logic): Формализованные суждения, в которых каждое предложение или высказывание (утверждение) подразделяются на субъект (подлежащее) и предикат (сказуемое).

Примечание 1 - Предикат модифицирует или определяет свойства субъекта. В логике первого порядка предикат может относиться только к одному субъекту.

Примечание 2 - Логику первого порядка также называют исчислением предикатов первого порядка или функциональным исчислением первого порядка.

 

2.1.14 шаблон индивидуального объекта (individual template): Шаблон утверждений об индивидуальном объекте.

2.1.15 экземпляр (instance): Именованное значение.

[ИСО 10303-11:2004, определение 3.3.10]

 

2.1.16 язык ИСО 15926-2 (ISO 15926-2 language): Язык первого порядка, на котором выражена модель данных ИСО 15926-2.

Примечание - Язык ИСО 15926-2 описан в разделе 4.1.

 

2.1.17 информация о жизненном цикле (life-cycle information): Информация (сведения) об объекте possible_individual, собранная в некоторый момент времени в течение жизненного цикла конкретного индивидуального объекта (индивида).

Примечание - В ИСО 15926-2:2003, определение 3.1.6, индивидуальный объект - это "объект реального мира, который существует в пространстве и времени".

 

2.1.18 шаблон библиотеки справочных данных RDL (RDL template): Шаблон, имеющий, по крайней мере, один элемент справочных данных в расширении аксиомы данного шаблона.

2.1.19 справочные данные (reference data): Данные жизненного цикла перерабатывающих предприятий, предоставляющие информацию о классе или об отдельных его элементах, которые являются типовыми для большей части оборудования или представляют интерес для многих пользователей.

[ИСО 15926-1:2004, определение 3.1.18]

 

2.1.20 библиотека справочных данных (reference data library; RDL): Управляемый набор справочных данных.

[ИСО 15926-1:2004, определение 3.1.19]

 

Примечание - В ИСО/ТС 15926-8 понятия "RDL" и "онтология" взаимозаменяемы. Альтернативный термин - "информационная модель".

 

2.1.21 воплощение (reification): Стиль моделирования, в котором отношение выражается как класс объектов.

Пример - Отношение Employed-by (принят на работу) воплощается объектом Employment (прием на работу), соединенным с объектами Employee (служащий) и Organization (организация). Смысл данного отношения (с определенным количеством элементов с обеих сторон) заключается в том, что "количество служащих организации должно быть больше или равно нулю". Воплощенный объект Employment может быть субъектом в других отношениях, определяя их.

Примечание - Реляционные типы данных сущности ИСО 15926 - это все типы данных сущности, имеющей два атрибута, за исключением класса отношений class_of_relationship.

2.1.22 шаблон (template): Множество, включающее предикат логики первого порядка (для которого определение задается как аксиома), шаблонные подписи и расширение аксиомы шаблона.

2.1.23 расширение шаблона; расширение аксиомы шаблона (template expansion; template axiom expansion): Утверждение (высказывание), выраженное в типах данных сущности ИСО 15926-2, эквивалентных аксиоме шаблона.

Примечание - Расширение аксиомы шаблона относится к типовым комплексным условиям равнозначности на языке ИСО 15926-2. Данное расширение получается путем повторного использования условий равнозначности шаблона до тех пор, пока интерпретация шаблона будет выражена непосредственно в терминах простых конструктивов (конструкций) языка ИСО 15926-2.

 

2.1.24 расширение экземпляра шаблона (template instance expansion): Множество простых утверждений (высказываний) на языке ИСО 15926-2, полученных путем задания значений переменных в расширенной аксиоме шаблона с экземплярами сущности.

2.1.25 аксиома шаблона (template axiom): Аксиома на языке шаблона, определяющая интерпретацию шаблонных высказываний (утверждений шаблона).

2.1.26 экземпляр шаблона (template instance): Упорядоченный список экземпляров сущности, для которых шаблон является истинным.

2.1.27 язык шаблона (template language): Аксиомы логики первого порядка, расширяющие модель данных ИСО 15926-2.

2.1.28 роль шаблона (template role): Поименованный и перенумерованный аргумент шаблона с требуемым типом, представленным как тип данных сущности, тип данных или класс справочных данных.

Пример - Экземпляр косвенного (непрямого) свойства шаблона InstanceOflndirectProperty(a, b, c) означает, что a - это класс косвенных свойств ClassOflndirectProperty, b (временная часть) - это возможный индивидуальный объект Possiblelndividual, к которому относится рассматриваемая зависимость, и c - это экземпляр свойства Property. Аргумент b имеет тип ClassOflndirectProperty, который имеет экземпляр Property равный c. Шаблон имеет следующие роли:

- название роли: тип свойства;

- название роли: обладатель свойства;

- название роли: Property.

2.1.29 шаблонная подпись (template signature): Поименованный, упорядоченный и напечатанный список ролей шаблона.

Пример - Релизация* косвенного (непрямого) свойства шаблона InstanceOflndirectProperty(a, b, c) означает, что a - это класс косвенного (непрямого) свойства ClassOflndirectProperty, b (временная часть) - это возможный индивидуальный объект Possiblelndividual, к которому относится рассматриваемая зависимость и c - это экземпляр свойства Property. Аргумент b имеет тип ClassOflndirectProperty, c - это экземпляр Property. Шаблонная подпись:

________________

* Текст документа соответствует оригиналу. - Примечание изготовителя базы данных.

 

- название роли: тип свойства, тип роли: ClassOflndirectProperty;

- название роли: обладатель свойства, тип роли: Possiblelndividual;

- название роли: Property, тип роли: Property.

2.1.30 утверждение шаблона, шаблонное высказывание (template statement): Утверждение (высказывание), сделанное путем задания значений (инстанцирования) ролей шаблона экземплярами сущностей.

2.1.31 значение (value): Элемент (единица) данных.

 

[ИСО 10303-11:2004, definition 3.3.22]

 

 

      2.2 Аббревиатуры

     

FOL - Логика первого порядка (first order logic);

 

DL - Описательная логика (description logic);

 

RDL - Библиотека справочных данных (reference data library).

 

 

      3 Фундаментальные понятия и допущения

 

 

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

     

Модель данных ИСО 15926-2 является базовой и высоконормализованной. С одной стороны, это обеспечивает требуемую гибкость, с другой - это усложняет рассмотрение. Настоящий стандарт определяет шаблоны, являющиеся выражениями предварительно заданных семантических блоков, допускающих удобное использование в рамках рассматриваемой модели. Подход, принятый в настоящем стандарте, основан на архитектуре, описанной в ИСО/ТС 18876-1 (см. рисунок 1).

 

 

      3.2 Понятия и модели

     

Понятия и модели, показанные на рисунке 1, рассмотрены в настоящем стандарте.

 

 

 

 

 

 

Foundation concepts

Основные понятия

Integration model subset

Подмножество интеграционной модели

General concepts

Общие понятия

Subset selection

Выбор подмножества

Mapping

Отображение

Discipline-specific concepts

Понятия для конкретной дисциплины

Derived concepts

Производные понятия

Application model

Модель приложения

 

     

Рисунок 1 - Обзор архитектуры интеграции ИСО/ТС 18876-1

3.2.1 Модель данных ИСО 15926-2

Фундаментальные понятия представлены в ИСО 15926-2 с помощью базовой концептуальной модели данных, являющейся основой для практической реализации в базе данных (с совместным доступом) или в хранилище данных. Модель данных используется вместе со справочными данными. Поддержка конкретного жизненного цикла операции зависит от использования соответствующих справочных данных вместе с рассматриваемой моделью данных (см. 4.1).

 

В настоящем стандарте модель языка EXPRESS ИСО 15926-2 транслируется в логику первого порядка (FOL). Каждый тип сущности транслируется в унарный предикат, каждый атрибут транслируется в бинарный предикат (см. 4.1).

 

3.2.2 Справочные данные ИСО/ТС 15926-4

ИСО/ТС 15926-4 содержит справочные данные, определяющие таксономию основных классов, представляющих типы данных сущностей, определенные в ИСО 15926-2.

 

В настоящем стандарте справочные данные рассматриваются как постоянные термины логики первого порядка. Понятие справочных данных, задающих значения типов сущности модели данных, таким образом, сводятся к понятиям достоверности представлений (первого порядка) типов сущностей ИСО 15926-2 для постоянных справочных терминов или для атрибутов ИСО 15926-2 (упорядоченных пар терминов).

 

Пример - Шаблон устанавливает зависимость между экземпляром насоса PUMP, идентифицирующей строкой "PU101" и типом идентификации (номер бирки) TAG NUMBER.

Classifiedldentification (myPump; PU10100; TagNumber)

 

Указанные три термина - это справочные данные, шаблон определен в логике первого порядка.

 

Если практическая реализация верифицирует шаблон, то типы сущностей справочных данных проверяются путем лифтинга шаблона. Указанные справочные данные рассматриваются как постоянные. При этом результатом проверки может быть значение true или false.

3.2.3 Таксономия пользователя

Там, где таксономия ИСО/ТС 15926-4 определяет общие понятия на рисунке 1, организации (пользователю) часто бывает необходимым определить конкретные прикладные понятия. Указанные понятия определяются в форме специализаций общих понятий в таксономии ИСО/ТС 15926-4.

 

Пример - СР-834833 (’Модель насоса AK/150’) - это специализированный класс в каталоге поставщика корпорации XYZ. Этот класс поставщика размещается в библиотеке RDL поставщика. При этом данный класс должен быть специализацией другого класса, размещенного в рассматриваемой таксономии вверх по дереву до попадания внутрь таксономии ИСО/ТС 15926-4.

3.2.4 Шаблоны

 

Шаблоны (см. разделы 4 и 5), определенные в настоящем стандарте и в специализациях пользователя, формируют "производные понятия" на рисунке 1.

 

 

      4 Основы моделирования

 

 

      4.1 Модели данных ИСО 15926-2 в логике первого порядка

     

Настоящий раздел определяет язык ИСО 15926-2 (формулировку ИСО 15926-2, стандартизованную в соответствии с форматом языка EXPRESS) в логике первого порядка. В настоящем стандарте этот язык служит для представления модели данных ИСО 15926.

 

В языке EXPRESS ИСО 15926-2 названия типов сущностей и атрибутов пишутся в нижнем регистре вместе с символом нижнего подчеркивания "_", разделяющем слова в названии. В языке ИСО 15926-2, типы сущностей и названия атрибутов пишутся в верхнем регистре в "горбатом" стиле. Атрибуты имеют дополнительную приставку "has". Например, тип сущности class_of_class_of_relationship поименован как ClassOfClassOfRelationship. Атрибут shape_dimension в настоящем стандарте поименован как hasShapeDimension.

В языке ИСО 15926-2 типы сущностей представляются как унарные предикаты первого порядка. Пусть а - тип сущности EXPRESS. На языке ИСО 15926-2 он представляется как

 

A(x),

где A(c) истинно только в том случае, если c является экземпляром a.

Атрибуты представляются на языке ИСО 15926-2 как бинарные предикаты: если r - атрибут EXPRESS, то получим:

 

hasR(x; у).

Интерпретация hasR(c, d) истинна только в том случае, если значением атрибута r экземпляра сущности c является величина d.

Примечание 1 - Причина добавления приставки has к атрибутам в том, что некоторые названия практической реализации EXPRESS ИСО 15926-2 используются и для типа сущности, и для атрибута. Данная приставка необходима, так как сущности и атрибуты занимают различные области имен в языке EXPRESS, но одни и те же области имен в языке ИСО 15926-2. Использование данного соглашения допускает использование непротиворечивых отображений.

 

В моделях языка EXPRESS "родные" типы данных обычно пишутся большими буквами, например, INTEGER. На языке ИСО 15926-2 указанные типы данных также пишутся большими буквами, например, INTEGER. Все "родные" тип данных EXPRESS, кроме LIST, должны представляться унарными предикатами. Если A - это тип данных EXPRESS, то следует писать:

A(x).

Здесь интерпретация A(c) истинна только в том случае, если c является типом данных A.

Использование атрибута LIST в ИСО 15926-2 ограничено определением типов сущностей многомерного объекта multidimensional_object и класса многомерных объектов class_of_multidimensional_object. В настоящем стандарте указанные типы рассматриваются как части определения языка шаблона. Таким образом, атрибут LIST не является предикатом языка ИСО 15926-2.

Создание подтипов среди типов сущностей языка EXPRESS представляется на языке ИСО 15926-2 с помощью условных выражений. Если a - это подтип b, то язык ИСО 15926-2 утверждает, что все a - это b:

A
(
x
)
B
(
x
).
 

Типы сущностей ABSTRACT ИСО 15926-2 представляются на языке ИСО 15926-2 утверждением, что каждый экземпляр абстрактного типа сущности также задает значение, по крайней мере, одному ближайшему подтипу абстрактного типа сущности. Если тип сущности a - это тип ABSTRACT, а b, c и d - ближайшие подтипы a, то a - это абстрактный объект. Он представляется в логике первого порядка (FOL) следующим образом:

A
(
x
)
(
B
(
x
)
C
(
x
)
D
(
x
))
 
(
B
(
x
)
A
(
x
))
 
(
C
(
x
)
A
(
x
))
 
(
D
(
x
)
A
(
x
)).
 

Стандарт ИСО 10303-11 описывает утверждения типа ONEOF следующим образом.

 

Ограничение ONEOF утверждает, что совокупности операндов в списке ONEOF взаимно исключают друг друга; экземпляры совокупности одних операндов в списке ONEOF не могут появиться в совокупности других операндов списка ONEOF Ограничение ONEOF может быть объединено с другими ограничениями супертипов для записи сложных ограничений. Если ограничение ONEOF является операндом в другом ограничении, то оно представляет множество экземпляров сущности - объединение совокупностей операндов списка ONEOF.

 

[ИСО 10303-11:2004, 9.2.5.2]

 

Утверждения ONEOF представляются как аксиомы непересекаемости на языке ИСО 15926-2.

 

Утверждения EXPRESS типа ONEOF (a, b, c) представляются следующей формулой:

(
A
(
x
)
B
(
x
))
 
(
A
(
x
)
C
(
x
))
 
(
B
(
x
)
C
(
x
)).
 

Атрибут EXPRESS представляется бинарным предикатом в логике первого порядка FOL. Множество допустимых значений, стоящих в первой позиции бинарного предиката, называются областью, а множество допустимых значений во второй позиции - диапазоном.

 

Примечание 2 - Указанные атрибуты EXPRESS часто называют ролями.

Множество типов сущности ИСО 15926-2, к которым относится атрибут, представляется на языке ИСО 15926-2 ограничением, наложенным на область бинарного предиката, представляющего рассматриваемый атрибут. Если атрибут r определен для типов сущностей a и b, то:

hasR
(
x
,
y
)
(
A
(
x
)
B
(
x
)).
 

Множество допустимых значений атрибута представляется на языке ИСО 15926-2 путем задания ограничения на диапазон бинарного предиката, представляющего рассматриваемый атрибут. В языке EXPRESS значения атрибутов всегда ограничиваются по отношению к данному типу сущности. Указанные ограничения представляются локальными ограничениями диапазонов на языке ИСО 15926-2. Это означает, что ограничение диапазона всегда включает ограничение области бинарного предиката.

 

Предположим, что r - это атрибут, значения которого ограничены типом сущности f для типа сущности a и типом сущности g для типа сущности b. Тогда на языке ИСО 15926-2 это записывается следующим образом:

A
(
x
)
hasR
(
x
,
y
)
F
(
y
)
 
B
(
x
)
hasR
(
x
,
y
)
G
(
y
).
 

Каждый атрибут практической реализации EXPRESS ИСО 15926-2 имеет ограничение кардинального числа: [0,1] или [1,1]. Ограничения кардинального числа для атрибутов задаются на каждый тип сущности как для ограничений диапазона. Ограничения кардинального числа на бинарные предикаты представляются с помощью двух аксиом. Предположим, что атрибут r имеет ограничение кардинального числа [1,1] для типа сущности a. На языке ИСО 15926-2 это записывается как пара аксиом:

A
(
x
)
y
(
hasR
(
x
,
y
)),                                                          (1)
 
A
(
x
)
hasR
(
x
,
y
)
hasR
(
x
,
z
)
y=z
.                                            (2)
 

Формула (1) представляет собой ограничение кардинального числа [1,*). Вторая аксиома представляет собой ограничение кардинального числа [0,1]. Вместе они выражают ограничение кардинального числа [1,1]. Ограничение кардинального числа [0,1] представляется только формулой (2).

 

Если атрибут ограничен правилом UNIQUE языка EXPRESS, то на языке ИСО 15926-2 это представляется путем задания требования, что предикат - это обратный функционал. Если атрибут r удовлетворяет требованию UNIQUE для типа сущности A, то:

A
(
x
)
A
(
y
)
hasR
(
x
,
z
)
hasR
(
y
,
z
)
x
=
y.
 

Множество аксиом языка ИСО 15926-2 перечислено в приложении В.

 

Примечание 3 - С помощью блока проверки логики первого порядка FOL доказано, что рассматриваемое множество аксиом логически непротиворечиво.

 

 

      4.2 Определение логического шаблона

     

Настоящий раздел определяет логические шаблоны. Данные шаблоны, в соответствии с разделом 5, дополнительно имеют подписи. В настоящем стандарте этот вопрос не рассматривается.

 

Для формулы
первого порядка, использующей названия предикатов аксиоматики языка ИСО 15926-2 для базового языка, определением логического шаблона для
является формула логики первого порядка:
 
,
 
где
N
- символ предиката, называемого именем шаблона,
x
,
y
, ... набор переменных, называемых формальными аргументами,
- формула типа "
" над символами в
, содержащая только формальные аргументы
x
,
y
, ... как свободные переменные (тело шаблона).
 
Множество
TS
(
), состоящее из множеств логических шаблонов над
, индуктивно определяется как наименьшее множество. В этом случае:
 
-
TS
(
) - множество логических шаблонов над
;
 
- если
S
TS
(
) - множество логических шаблонов над
и
d
- определение логического шаблона над
names(S), то
S
{
d
}
TS
(
) - также множество логических шаблонов над
, где
- это множество названий шаблонов, определенных в
S
.
 
Примечание - Интуитивное представление о рассматриваемом множестве шаблонов: чтобы гарантировать, что расширение шаблона заканчивается, нужно запретить множества циклических определений шаблонов (например, если шаблон расширяется до формулы, содержащей шаблон
B
, который, в свою очередь, расширяется до формулы, содержащей шаблон
A
). Наше определение гарантирует, что определение шаблона
N
(...)
может только быть добавлено к множеству шаблонов, если все шаблоны, поименованные в
, были предварительно определены без ссылок на
N
.
 

Пример - Множество определений

{
А
(
х
)
y
.(
B
(
y
)
R
(
x
,
y
)),
 
B
(
x
)
C
(
x
)
D
(
x
) }
 

это действительное множество шаблонов, а множество определений

{
A
(
x
)
y
.(
B
(
y
)
R
(
x
,
y
)),
 
B
(
x
)
C
(
x
)
A
(
x
) .}
 

      4.3 Протошаблоны

     

Протошаблоны являются базовой формой шаблонов. Они реализуют слой абстракции сразу над реляционными типами сущностей ИСО 15926-2 путем сокрытия конкретизированных (см. 2.1.21) отношений ИСО 15926-2.

 

Каждый протошаблон основывается на двух аксиомах в логике первого порядка FOL. Первая аксиома дает краткую форму реляционного типа сущности. Предикат протошаблона называется прототройкой (прототриплетом).

 

Предположим, что R - это реляционный тип сущности в ИСО 15926-2, и что R имеет две роли: r1 и r2. Прототройка для R, Rtriple, определяется как:

Rtriple
(
z
,
x
,
y
)
R
(
z
)
hasR1
(
z
,
x
)
hasR2
(
z
,
y
).
 

Если реляционная сущность T наследует свою роль из супертипа R, то прототройка TTriple определяется как:

TTriple
(
z
,
x
,
y
)
T
(
z
)
RTriple
(
z
,
x
,
y
).
 

Предложение (бинарное) протошаблона выражает отношение между двумя заполнителями роли соответствующего реляционного типа сущности. Протошаблон для R, RTemplate, определяется как

 

RTemplate
(
x
,
y
)
z
(
RTriple
(
z
,
x
,
y
)).
 

Аксиомы, определяющие протошаблоны для реляционных типов сущностей ИСО 15926-2, представлены в приложении C. Краткий листинг всех протошаблонов дан в приложении D.

 

4.3.1 entity Triple

Сказуемое entityTriple определено в разделе C.3, как дизъюнкция всех протошаблонов, данных в разделах C.1 и C.2. Данная тройка позволяет получить краткие выражения утверждений, применимых ко всем реляционным типам сущностей.

 

 

      4.4 Диаграммы

     

Настоящий раздел определяет порядок интерпретации диаграмм.

 

Класс представляется прямоугольником, разделенным пополам. Верхняя часть содержит обозначение, нижняя определяет тип сущности ИСО 15926-2 класса. Класс с обозначением A и типом сущности Class показан на рисунке 2.

 

 

 

 

Рисунок 2 - Диаграмма класса

Зависимость показана двойным ромбом и соединительной линией, идущей к прямоугольнику, показывающему тип сущности и (по выбору) обозначение зависимости. Зависимость с обозначением R и тип сущности ClassOfConnectionOflndividual показаны на рисунке 3 (справа с обозначением, слева без обозначения).

 

 

 

 

Рисунок 3 - Диаграмма зависимости

Отношение (экземпляр зависимости) показывается аналогично зависимости, но с одинарным ромбом. Отношениям в общем случае не дают обозначений. На рисунке 4 показано отношение с типом сущности ConnectionOflndividual.

 

 

 

 

 

Рисунок 4 - Диаграмма отношения

Роли зависимостей и отношений указываются соединительными линиями с расшифровкой названия роли по ИСО 15926-2. Зависимость R типа ClassOfConnectionOflndividual между классами A и B (класс A - в роли hasClassOfSide1, класс B - в роли hasClassOfSide2) показана на рисунке 5.

 

 

 

 

Рисунок 5 - Диаграмма ролей зависимости

Кардинальное число зависимости ставится в соответствие роли с помощью соединительной линии, указывающей, какая роль соответствует end_l_cardinality, а какая - end_2_cardinality. См. рисунок 6.

 

 

 

 

Рисунок 6 - Диаграмма кардинальных чисел

Для часто используемых зависимостей типа "Классификация (членство)" и "Специализация (разбиение на подклассы)" символы отношений и индикаторы ролей могут отсутствовать. Вместо них рисуют стрелки. Зависимости представляются "точечными" и "пулевидными" стрелками соответственно. На рисунке 7 представлено отношение специализации между классами A и B.

 

 

 

 

Рисунок 7 - Диаграмма отношения Специализация

На рисунке 8 представлено отношение классификации индивидуального объекта a как члена класса A.

 

 

 

 

Рисунок 8 - Диаграмма отношения Классификация

 

 

 

      5 Спецификации шаблона

 

 

      5.1 Требования к шаблону, общие положения

     

Шаблон должен иметь:

 

- название;

 

- неформальное текстовое объяснение надлежащего использования шаблона и его смысл;

 

- роли листинга подписей и типы каждого аргумента (см. 5.2);

 

- формальное определение в форме двухусловного выражения (двухсторонней условной зависимости) на языке шаблона.

 

Формальное определение шаблона должно расширяться для иллюстративных целей до паттернов (образцов) языка ИСО 15926-2 (см. 4.1). Данное определение должно быть проверено на соответствие модели данных (см. 5.4).

 

 

      5.2 Шаблонные подписи

     

Шаблонные подписи должны указывать ограничение для каждой роли шаблона, для допустимого типа индивидуального объекта, заполняющего роль. Каждое ограничение роли должно задаваться унарным предикатом.

 

Примечание 1 - Подпись можно рассматривать как представление полного определения шаблона, в который не включены зависимости между заполнителями ролей (указателями ролей).

 

Шаблонные подписи важны для представления и хранения данных. Выбор ограничений (из определения шаблона) для включения в подпись определяется только соображениями практической пользы.

 

Примечание 2 - Дальнейшая информация о представлении шаблона в виде справочных данных приведена в разделе 8.

 

Шаблонная подпись описывается как упорядоченный список ролей шаблона. Каждая роль должна иметь:

 

a) название. Названия ролей должны быть уникальными внутри подписи;

 

b) допустимый тип ограничения для индивидуальных объектов, заполняющих данную роль:

 

           1) тип сущности,

           2) класс библиотеки справочных данных RDL;

           3) тип данных, означающий, соответственно, что любой индивидуальный объект, заполняющий роль: 1) должен иметь заданный тип сущности, 2) классифицирован в указанном классе библиотеки RDL, 3) является экземпляром указанного типа данных.

Примечание - Каждая роль подписи задает ограничение на тип индивидуального объекта, реализующего рассматриваемую роль. Если унарные шаблоны используются в практических реализациях справочных данных, то в общем случае они не подходят для определения типов роли, даже если хранятся в библиотеке RDL в качестве классов. Именно шаблоны "пробегают" упорядоченный список индивидуальных объектов, а не индивидуальные объекты. Роль, тип которой задается унарным шаблоном, может, таким образом, быть реализована только списками, содержащими один элемент.

 

 

      5.3 Шаблонная специализация

     

Специальным случаем определения шаблона является введение одного шаблона как специализированной версии другого шаблона. Пусть
обозначает
трехкомпонентный шаблон с ролями, ограниченными выражениями
,
и
и условиями "моделирования", наложенными на аргументы выражения
:
 
T
(
x
,
y
,
z
)
(
x
)
(
y
)
(
z
)
.
 
Предположим, что
- специализация
. Она содержит роль
, ограничивающую первую роль вместо
. Ниже приведено формальное определение
:
 
,
 
(
x
)
(
x
),
 
(
x
,
y
,
z
)
(
x
,
y
,
z
)
(
x
).
 
Отсюда следует, что
- специализированный шаблон
: каждый экземпляр
является экземпляром
, и зависимости между индивидуальными объектами (задействованными в экземпляре) - те же, что и для
.
 

Примечание - Это относится только к логическому определению специализированного шаблона. Если шаблон соответствует настоящему стандарту, то требования давать пояснения и иметь подписи (см. 5.1) сохраняются.

 

 

      5.4 Проверка соответствия по ИСО 15926-2

     

Каждое определение шаблона должно быть проверено на выполнение ограничений, наложенных моделью данных ИСО 15926-2. Нужно удостовериться, что каждый шаблон может быть реализован способом, соответствующим требованиям языка ИСО 15926-2.

 

Примечание 1 - Нижеследующая процедура может быть использована для проверки того, что шаблон T удовлетворяет требованиям ИСО 15926-2.

 

Реализуем T с парой четко выраженных произвольных индивидуальных объектов, а затем расширим данное утверждение в соответствии с аксиомой шаблона. Расширение данного шаблона обычно требует расширения других шаблонов (любых шаблонов, появляющихся в определении T и в определениях последующих шаблонов, являющихся результатом расширения предшествующих). Выполним расширение рассматриваемого экземпляра шаблона и посмотрим, содержит ли данное расширение предикаты языка, которые не являются частью ИСО 15926-2 (то есть, посмотрим содержатся ли в нем языковые предикаты шаблона):

 

- если "да", то определение шаблона обращается к предикатам, для которых формальное определение ИСО 15926-2 отсутствует и определение T является неполным;

 

- если "нет", то расширение экземпляра шаблона является выражением языка ИСО 15926-2. Данное выражение должно быть проверено на соответствие модели ИСО 15926-2 с помощью обобщенных методов логики первого порядка.

 

Успешные испытания соответствия доказывают, что рассматриваемый шаблон имеет интерпретацию в терминах модели данных ИСО 15926 и, таким образом, удовлетворяет требованиям формального критерия соответствия.

 

Примечание 2 - Процедура проверки соответствия поставленной цели в настоящем стандарте не рассматривается.

 

 

      6 Шаблоны индивидуальных объектов

 

 

      6.1 Цель

     

В данном разделе рассматриваются шаблоны, характеризующие индивидуальные объекты, в отличие от классов. Обычно данные шаблоны регистрируют информацию об одном физическом объекте.

 

Примечание 1 - ИСО 15926 не требует четкого разделения всей (совокупной) предметной области на индивидуальные объекты, классы, метаклассы и т.д. Соответственно, вопрос "Что такое индивидуальный объект?" не имеет четкого ответа.

 

 

      6.2 Необходимые справочные элементы

     

В настоящем разделе рассмотрены следующие элементы справочных данных, используемые в аксиомах шаблона. Расширение языка ИСО 15926-2 происходит за счет термина индивидуального объекта. Для практических приложений шаблонов, определения которых относятся к рассматриваемому элементу, указанный элемент должен быть внесен в библиотеку справочных данных.

 

Таблица 1 - Справочные элементы: шаблоны индивидуальных объектов (индивид)

 

 

Справочный индивидуальный объект

Тип сущности

ActivityLocation

ClassOfRelationshipWithSignature

InvolvementSuccession

ClassOfRelationshipWithSignature

 

ActivityLocation и InvolvementSuccession - это зависимости. Соответствующие записи библиотеки RDL должны определять классы для ролей в соответствии с типом сущности hasClassOfEnd1 или hasClassOfEnd2, представляющие, соответственно, области и диапазоны указанных зависимостей.

Для ActivityLocation область и диапазон задаются справочными элементами, представляющими типы сущностей Activity и SpatialLocation, в соответствии с предназначением в части размещения операции.

Для InvolvementSuccession область и диапазон задаются справочными элементами, представляющими тип сущности InvolvementByReference.

 

      6.3 Начальное множество

     

6.3.1 Шаблон ClassificationOflndividual

Рассматривается шаблон классификации индивидуальных объектов (в отличие от пар индивидуальных объектов, классов или зависимостей).

 

ClassificationOflndividual(a, b) означает, что a - это индивидуальный объект, b - это класс индивидуальных объектов, и a - член класса b.

В соответствии с ИСО 15926-2:

 

Классификация - это тип отношения, указывающего, что классифицируемый элемент является членом некоторого класса.

 

 

 

 

N

Название роли

Тип роли

1

Индивидуальный объект

Possiblelndividual

2

Класс

ClassOflndividual

 

ClassificationOflndividual
(
,
)
 
Possiblelndividual
(
)
 
ClassOflndividual
(
)
 
ClassificationTemplate
(
,
)
 

Пример - Классификация Alfred (Альфреда) как Engineer (инженера) может быть выражена с помощью настоящего шаблона. Расширение утверждения ClassificationOflndividual(Alfred, Person) соответствует утверждению на языке ИСО 15926-2, показанному на нижеследующей диаграмме.

Отметим, что справочные индивидуальные объекты Alfred и Engineer не определяются утверждениями шаблона. Каждый элемент может иметь более специализированный тип сущности в отличие от показанного на диаграмме.

6.3.2 Шаблон ClassificationOfRelationship

Настоящий шаблон задает тип отношения. Это шаблон классификации. Он только классифицирует пары элементов как члены зависимостей.

 

ClassificationOfRelationship(a, b) означает, что a - это упорядоченая пара, b - это зависимость, и a - член b.

 

 

 

 

Рисунок 9 - Пример шаблона ClassificationOflndividual

 

 

 

 

N

Название роли

Тип роли

1

Пара

Relationship

2

Зависимость

ClassOfRelationship

 

ClassificationOfRelationship
(
,
)
 
Relationship
(
)
 
ClassOfRelationshipfe
(
)
 
ClassificationTemplate
(
,
)
 

Примечание - См. также InstanceOfRelationship.

 

Пример - Утверждение ClassificationOfRelationship(<Alfred, ACME Co.>, Employment) расширяется на представление, структурированное в следующей диаграмме. Отметим, что:

- определение первого аргумента (спецификация типа сущности и членов упорядоченной пары) не представлено как часть утверждения шаблона;

- тип сущности Relationship является абстрактным. В надлежащей реализации настоящего шаблона упорядоченная пара имеет тип сущности, являющийся подтипом Relationship;

- использование угловых скобок,
, для поименования упорядоченных пар, не является нормативным в настоящем стандарте.
 

 

 

 

 

Рисунок 10 - Пример шаблона ClassificationOfRelationship

6.3.3 Шаблон InstanceOfRelation

 

Настоящий шаблон выражает отношения, не имеющие предварительно определенного типа ИСО 15926-2. Утверждение lnstanceOfRelationship(a, b, c) означает, что a - обычная зависимость, в которой аргумент b поставлен в соответствие аргументу c.

 

 

 

N

Название роли

Тип роли

1

Зависимость

ClassOfRelationshipWithSignature

2

Первый элемент

Thing

3

Второй элемент

Thing

 

lnstanceOfRelation
(
,
,
)
 
ClassOfRelationshipWithSignature
(
)
 
Thing
(
)
 
Thing
(
)
 
u
(
OtherRelationshipTriple
(
u
,
,
)
 
ClassificationOfRelationship
(
u
,
))
 

Примечание - Настоящий шаблон использует шаблон ClassificationOfRelationship. Если этот шаблон использует некоторую упорядоченную пару (отношение) как аргумент, классифицируемый некоторой зависимостью, то данный шаблон использует указанные элементы упорядоченной пары как аргументы. Представление указанных элементов в виде упорядоченной пары определяется аксиомой шаблона.

 

Пример - Пусть Alfred и ACME Co. - это экземпляры сущности Person, а Employment - заданная зависимость (то есть ClassesOfRelationshipWithSignature). Тогда экземпляр зависимости InstanceOfRelationship(Employment, Alfred, ACME Co.) расширяется на нижеследующее представление, сравнимое с тем, что показано в примере для зависимости ClassificationOfRelationship. Отметим, что:

- никакие обозначения классифицированных упорядоченных пар не определены;

- определение зависимости ClassOfRelationshipWithSignature, включающей спецификации ролей для границ зависимости, в утверждении шаблона не дается.

 

 

 

 

 

Рисунок 11 - Пример шаблона InstanceOfRelationship

6.3.4 Шаблон IdentificationByNumber (идентификация по номеру)

Данный шаблон обеспечивает именование элементов (things) действительными числами.

 

ldentificationByNumber(a, b) означает, что a - действительное число, и что а ставится в соответствие b.

 

 

 

N

Название роли

Тип роли

1

Идентификатор

ExpressReal

2

Идентифицирован

Thing

 

ldentificationByNumber
(
,
)
 
ExpressReal
(
)
 
Thing
(
)
 
ClassOfldentificationTemplate
(
,
)
 

Примечание - Настоящий шаблон - это специализированная версия ClassOfldentificationTemplate, накладывающая ограничение на тип первого аргумента от ClassOfinformationRepresentation до его подтипа ExpressReal.

Пример - Утверждение, что число
идентифицируется десятичным числом 3,14, может быть представлено в виде IdentificationByNumber (3,14,
).
 

 

 

 

 

Рисунок 12 - Пример шаблона IdentificationByNumber

6.3.5 Шаблон Classifiedldentification (классифицированная идентификация)

Настоящий шаблон задает типизированное название элемента.

 

Classifiedldentification(a, b, c) означает, что b - это строка, c - тип назначения имени, а b - имя c-типа для a.

 

 

 

N

Название роли

Тип роли

1

Объект

Thing

2

Идентификатор

ExpressString

3

Контекст

ClassOfClassOfIdentification

 

Classifiedldentification
(
,
,
)
 
Thing
(
)
 
ExpressString
(
)
 
ClassOfClassOfldentification
(
)
 
u
(
ClassOfldentificationTriple
(
u
,
,
)
 
ClassificationTemplate
(
u
,
))
 

Пример - Утверждение Classifiedldentification(Alfred, PN4723, Employee No. ACME Co.) (например, присвоение номера сотруднику) расширяется следующим образом.

 

 

 

 

Рисунок 13 - Пример шаблона Classifiedldentification

Примечание - Настоящий шаблон определяет названия элементов, а также тип (классификатор) для самих назначений. Надлежащее использование данного классификатора - представление контекста, в котором назначение имени является действительным.

 

6.3.6 Шаблон LocationOfActivity (размещение операции)

Настоящий шаблон определяет место проведения операции.

 

LocationOfActivity(a, b) означает, что a - это операция, b - размещение, и a происходит в b.

 

 

 

N

Название роли

Тип роли

1

Операция

Activity

2

Размещение

SpatialLocation

 

LocationOfActivity
(
,
)
 
Activity
(
)
 
SpatialLocation
(
)
 
InstanceOfRelationship
(
ActivityLocation
,
,
)
 

Пример - Утверждение LocationOfActivity(Site Survey #23, Site No. 11) расширяется до нижеследующего представления.

 

 

Рисунок 14 - Пример шаблона LocationOfActivity

Примечание - LocationOfActivity - это шаблон библиотеки RDL, так как справочный индивидуальный объект ActivityLocation (ClassOfRelationshipWithSignature) имеется в соответствующей аксиоме шаблона.

6.3.7 Шаблон BeginningOflndividual

Настоящий шаблон устанавливает время начала существования индивидуального объекта (индивидуума).

 

BeginningOflndividual(a, b) означает, что a - это индивидуальный объект, b - момент времени, и a начинает существовать в момент b.

 

 

 

N

Название роли

Тип роли

1

Индивидуальный объект

Possiblelndividual

2

Время начала

RepresentationOfGregorianDateAndUtcTime

 

BeginningOflndividual
(
,
)
 

Possiblelndividual
(
)
 
RepresentationOfGregorianDateAndUtcTime
(
)
 
u
(
PointlnTime
(
u
)
BeginningTemplate
(
u
,
)
 
ClassOfRepresentationOfThingTemplate
(
,
u
))
 

6.3.8 Шаблон BeginningEndOflndividual

Настоящий шаблон задает время начала и время окончания существования индивидуального объекта.

 

BeginningEndOflndividual(a, b, c) означает, что a - это индивидуальный объект, b и c - моменты времени. При этом a начинает существование в момент b и прекращает существование в момент c.

 

 

 

N

Название роли

Тип роли

1

Индивидуальный объект

Possiblelndividual

2

Время начала

RepresentationOfGregorianDateAndUtcTime

3

Время окончания

RepresentationOfGregorianDateAndUtcTime

 

BeginningEndOflndividual
(
,
,
)
 
Possiblelndividual
(
)
 
RepresentationOfGregorianDateAndUtcTime
(
)
 
RepresentationOfGregorianDateAndUtcTime
(
)
 
u
(
PointlnTime
(
u
)
BeginningTemplate
(
u
,
)
 
ClassOfRepresentationOfThingTemplate
(
,
u
))
 
u
(
PointlnTime
(
u
)
EndTemplate
(
u
,
)
 
ClassOfRepresentationOfThingTemplate
(
,
u
))
 

Пример - Утверждение BeginningEndOflndividual(Survey # 23,2009-10-19,2009-10-21) расширяется до нижеследующего представления. Отметим, что обозначение экземпляра PointlnTime не определено.

 

 

 

 

Рисунок 15 - Пример шаблона BeginningEndOflndividual

6.3.9 Шаблон BeginningOfTemporalPart

Настоящий шаблон служит для утверждения того, что некоторый индивидуальный объект является временной частью другого индивидуального объекта и что он инициирован в момент времени, определенный значением временной отметки.

 

BeginningOfTemporalPart(a, b, c) означает, что a - индивидуальный объект, b - индивидуальный объект, c - это момент времени, а также что a - это временная часть b, и a начинает существовать в момент времени c.

 

 

 

N

Название роли

Тип роли

1

Часть

Possiblelndividual

2

Целое

Possiblelndividual

3

Время начала

RepresentationOfGregorianDateAndUtcTime

 

BeginningOfTemporalPart
(
,
,
)
 
Possiblelndividual
(
)
 
Possiblelndividual
(
)
 
RepresentationOfGregorianDateAndUtcTime
(
)
 
TemporalWholePartTemplate
(
,
)
 
BeginningOflndividual
(
,
)
 

6.3.10 Шаблон BeginningEndLocationOfActivity

Настоящий шаблон указывает, где и когда выполняется операция.

BeginningEndLocationOfActivity(a, b, c, d) означает, что a - это операция, b и c - моменты времени, d - это размещение, а также что a происходит в расположении d, начинается в момент b и заканчивается в момент времени c.

 

 

 

N

Название роли

Тип роли

1

Операция

Activity

2

Время начала

RepresentationOfGregorianDateAndUtcTime

3

Время окончания

RepresentationOfGregorianDateAndUtcTime

4

Размещение

SpatialLocation

 

BeginningEndLocationOfActivity
(
,
,
)
 
Activity
(
)
 
RepresentationOfGregorianDateAndUtcTime
(
)
 
RepresentationOfGregorianDateAndUtcTime
(
)
 
SpatialLocation
(
)
 
BeginningEndOflndividual
(
,
,
)
 
LocationOfActivity
(
,
)
 

6.3.11 Шаблон InstanceOflndirectProperty (экземпляр косвенного (непрямого) свойства)

Настоящий шаблон выражает классифицированное обладание индивидуального объекта косвенным свойством.

 

lnstanceOflndirectProperty(a, b, c) означает, что a - это класс ClassOflndirectProperty, b (временная часть) - это возможный индивидуальный объект Possiblelndividual, к которому относится рассматриваемая зависимость, c - это экземпляр свойства Property. При этом b имеет тип a для класса ClassOflndirectProperty, в котором c - это экземпляр свойства Property.

 

 

 

N

Название роли

Тип роли

1

Тип свойства

ClassOflndirectProperty

2

Обладатель свойства

Possiblelndividual

3

Свойство

Property

 

lnstanceOflndirectProperty
(
,
,
)
 
ClassOflndirectProperty
(
)
 
Possiblelndividual
(
)
 
Property
(
)
 
u
(
ClassificationOfRelationship
(
u
,
)
 
lndirectPropertyTriple
(
u
,
,
))
 

6.3.12 Шаблон RealMagnitudeOfProperty (действительная величина свойства)

Настоящий шаблон определяет версию MagnitudeOfProperty, для которой величина представляется типом данных, а не нумерованным объектом.

RealMagnitudeOfProperty(a, b, c) означает, что a - это экземпляр Property, b - число с плавающей точкой, задающее значение свойства, а d - шкала (единица измерения).

 

 

 

N

Название роли

Тип роли

1

Свойство

Property

2

Значение свойства

ExpressReal

3

Шкала свойства

Scale

 

RealMagnitudeOfProperty
(
,
,
)
 
Property
(
)
 
ExpressReal
(
)
 
Scale
(
)
 
u
(
MagnitudeOfProperty
(
,
u
,
)
 
ldentificationByNumber
(
,
u
))
 

6.3.13 Шаблон IndirectPropertyScaleReal

Настоящий шаблон назначает типизированное косвенное свойство индивидуальному объекту. Величина свойства задается действительным числом и шкалой.

 

lndirectPropertyScaleReal(a, b, c, d) означает, что a - это класс ClassOflndirectProperty, b (временная часть) возможного индивидуального объекта Possiblelndividual, к которому относится данная зависимость, c - это число с плавающей точкой, задающее значение свойства, d - это шкала (единица измерения). При этом b имеет тип a для класса ClassOflndirectProperty, имеет значение c, и d - единица измерения.

 

 

 

N

Название роли

Тип роли

1

Тип свойства

ClassOflndirectProperty

2

Обладатель свойства

Possiblelndividual

3

Значение свойства

ExpressReal

4

Шкала свойства

Scale

 

IndirectPropertyScaleReal
(
,
,
,
)
 
ClassOflndirectProperty
(
)
 
Possiblelndividual
(
)
 
ExpressReal
(
)
 
Scale
(
)
 
u
(
lnstanceOflndirectProperty
(
,
,
u
)
 
RealMagnitudeOfProperty
(
u
,
,
))
 

6.3.14 Шаблон StatusApproval (утверждение статуса)

Настоящий шаблон указывает, что утверждающее лицо назначает статус отношения.

 

StatusApproval(a, b, c) означает, что a - это отношение, b - это класс утверждения по статусу, c - это утверждающее лицо, назначающее величине a статус b.

 

 

 

N

Название роли

Тип роли

1

Отношение

Relationship

2

Статус

ClassOfApprovalByStatus

3

Утверждающее лицо

Possiblelndividual

 

StatusApproval
(
,
,
)
 
Relationship
(
)
 
ClassOfApprovalByStatus
(
)
 
Possiblelndividual
(
)
 
u
(
ApprovalTriple
(
u
,
,
)
 
ClassificationTemplate
(
u
,
))
 

6.3.15 Шаблон Classifiedlnvolvement (классифицированное вовлечение в операцию)

Настоящий шаблон задает следующее условие: некоторый элемент вовлечен в операцию, и тип вовлечения классифицирован.

 

Примечание 1 - Настоящий шаблон также годится для слабых типов вовлечения, например "по ссылке".

 

Classifiedlnvolvement(a, b, c) означает, что a - это элемент, b - это операция и c - это тип вовлечения. При этом аргумент a вовлечен в операцию b, c - это тип вовлечения.

 

 

 

N

Название роли

Тип роли

1

Вовлечена

Thing

2

Операция вовлечения

Activity

3

Тип вовлечения

ClassOflnvolvementByReference

 

Classifiedlnvolvement
(
,
,
)
 
Thing
(
)
 
Activity
(
)
 
ClassOflnvolvementByReference
(
)
 
u
(
lnvolvementByReferenceTriple
(
u
,
,
)
 
ClassificationTemplate
(
u
,
))
 

6.3.16 Шаблон InvolvementStatus (статус вовлечения)

Настоящий шаблон нужен для утверждения, что элемент вовлечен в операцию, что данное вовлечение классифицировано и имеет определенный тип и что данное вовлечение утверждено утверждающим лицом и имеет определенный статус.

 

lnvolvementStatus(a, b, c, d, e) означает, что a - это элемент, b - операция, c - тип вовлечения, d - статус утверждения, e - утверждающее лицо. Аргумент a вовлечен в операцию b, c - тип вовлечения; операция утверждена, d - тип статуса утверждения, e - утверждающее лицо.

 

 

 

N

Название роли

Тип роли

1

Вовлечен

Thing

2

Операция вовлечения

Activity

3

Тип вовлечения

ClassOflnvolvementByReference

4

Статус

ClassOfApprovalByStatus

5

Утверждающее лицо

Possiblelndividual

 

lnvolvementStatus
(
,
,
,
,
)
 
Thing
(
)
 
Activity
(
)
 
ClassOflnvolvementByReference
(
)
 
ClassOfApprovalByStatus
(
)
 
Possiblelndividual
(
)
 
u
(
lnvolvementByReferenceTriple
(
u
,
,
)
 
ClassificationTemplate
(
u
,
)
 
StatusApproval
(
u
,
,
))
 

6.3.17 Шаблон InvolvementStatusBeginning

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

 

lnvolvementStatusBeginning(a, b, c, d, e, f) означает, что a - это элемент, b - операция, c - тип вовлечения, d - статус утверждения, e - утверждающее лицо, f - момент времени. Аргумент a вовлечен в операцию b, c - тип вовлечения, операция утверждена, d - тип статуса утверждения, e - утверждающее лицо, f - время начала операции.

 

 

 

N

Название роли

Тип роли

1

Вовлечен

Thing

2

Операция вовлечения

Activity

3

Тип вовлечения

ClassOflnvolvementByReference

4

Статус

ClassOfApprovalByStatus

5

Утверждающее лицо

Possiblelndividual

6

Время начала

RepresentationOfGregorianDateAndUtcTime

 

lnvolvementStatusBeginning
(
,
,
,
,
)
 
Thing
(
)
 
Activity
(
)
 
ClassOflnvolvementByReference
(
)
 
ClassOfApprovalByStatus
(
)
 
Possiblelndividual
(
)
 
RepresentationOfGregorianDateAndUtcTime
(
)
 
u
(
BeginningOfTemporalPart
(
u
,
,
)
 
InvolvementStatus
(
, u,
,
,
))
 

6.3.18 Шаблон SuccessionOflnvolvementByReference

Настоящий шаблон указывает, что за одним вовлечением следует другое.

 

SuccessionOflnvolvementByReference(a, b) означает, что a - это вовлечение, b - вовлечение, и b следует за a.

Примечание - Утверждение SuccessionOflnvolvementByReference - это шаблон RDL, так как справочный индивидуальный объект InvolvementSuccession имеется в аксиоме шаблона.

 

 

 

 

N

Название роли

Тип роли

1

Предок (predecessor)

InvolvementByReference

2

Наследник (successor)

InvolvementByReference

 

SuccessionOflnvolvementByReference
(
,
)
 
InvolvementByReference
(
)
 
lnvolvementByReference
(
)
 
lnstanceOfRelationship
(
InvolvementSuccession
,
,
)
 

6.3.19 Шаблон SuccessionOflnvolvementlnActivity

Настоящий шаблон указывает, что в некоторой операции за одним элементом, вовлеченным в данную операцию, следует другой элемент.

 

Примечание 1 - Здесь именно вовлеченные элементы являются аргументами шаблона, а не отношения вовлечения.

 

SuccessionOflnvolvementlnActivity(a, b, c) означает, что a - это вовлечение, b - вовлечение, c - операция. Аргумент b следует за a, и оба они вовлечены в операцию c.

 

 

 

N

Название роли

Тип роли

1

Вовлеченный предок (predecessor)

Thing

2

Вовлеченный наследник (successor)

Thing

3

Предмет вовлечения

Activity

 

SuccessionOflnvolvementlnActivity
(
,
,
)
 
Thing
(
)
 
Thing
(
)
 
Activity
(
)
 
(
lnvolvementByReferenceTriple
(
,
,
)
 
lnvolvementByReferenceTriple
(
,
,
)
 
SuccessionOflnvolvementByReference
(
,
))
 

      7 Шаблоны классов

 

 

      7.1 Цель

     

В данном разделе рассмотрены шаблоны, характеризующие типы сущностей. В характеристическом случае члены класса (индивидуальные объекты) или члены зависимостей (упорядоченные пары) удовлетворяют общим ограничениям.

 

Примечание - ИСО 15926 не требует строгого разделения на индивидуальные объекты, классы, метаклассы и т.д.

 

      7.2 Необходимые элементы справочных данных

     

В настоящем разделе следующие элементы справочных данных используются в аксиомах шаблона. Они представляют собой расширение языка ИСО 15926-2 за счет членов индивидуальных объектов. Для практических приложений шаблонов, чьи определения относятся к указанным элементам, данные элементы должны быть занесены в библиотеку справочных данных.

 

Таблица 2 - Справочные элементы: шаблоны классов

 

 

Справочный индивидуальный объект

Тип сущности

EmptyClass

Class

SetOf1Class

CIassOfClass

SetOf2Classes

ClassOfClass

SetOf3Classes

ClassOfClass

End1UniversalRestriction

ClassOfSpecialization

End2UniversalRestriction

ClassOfSpecialization

* Cardinality

INTEGER

Infinity

ArithmeticNumber

-Infinity

ArithmeticNumber

UomSymbolAssignment

ClassOfClassOfIdentification

 

7.2.1 Справочные классы

Справочные элементы SetOf1Class, SetOf2Classes и SetOf3Classes являются классами. Их следует использовать в качестве классификаторов, например, EnumeratedSetOfClass, классифицирующих один, два или три класса соответственно. Классы с большим кардинальным числом могут быть добавлены к справочным данным.

Примечание - Справочные элементы SetOf1Class и т.д. используются в настоящем стандарте для представления того, что все члены экземпляров типа сущности EnumeratedSetOfClass заданы явно. Для класса A EnumeratedSetOfClass, членство в этом классе A выражается отношениями классификации. Классификация A, например, SetOf3Classes, указывает, что там есть три таких члена.

Справочный индивидуальный объект EmptyClass - это класс, в котором нет членов. Семантически данный класс может быть определен как результат применения класса DifferenceOfSetOfClass к классу EnumeratedSetOfClass, содержащему только один класс (какой класс выбрать - это несущественно). См. диаграмму ниже.

 

 

 

 

Рисунок 16 - Использование пустого класса EmptyClass

Примечание - На рисунке 16 экземпляр класса EnumeratedSetOfClass {а} обозначен фигурными скобками. Это означает, что его естественная интерпретация - это множество, содержащее элемент a. Данный паттерн (образец) представления названия не является обязательным.

Справочный элемент * Cardinality в настоящем стандарте представляет собой неограниченное максимальное кардинальное число.

Справочные элементы Infinity (бесконечность) и -Infinity в настоящем стандарте представляют собой положительную и отрицательную бесконечность в соответствии с требованиями определения числовых диапазонов.

7.2.2 Справочные зависимости

Элементы End1UniversalRestriction, End2UniversalRestriction и UomSymbolAssignment - это зависимости (relations), их типы сущностей являются подтипами ClassOfRelationship. Это означает, что запись в библиотеке RDL должна назначать классы для ролей указанных элементов в соответствии с требованиями соответствующих типов сущностей. Для рассматриваемых целей достаточно указания общих требований к таким назначениям в библиотеке справочных данных RDL.

Ограничения End1UniversalRestriction и End2UniversalRestriction характеризуют отношения подзависимостей. Для каждого элемента требуются роли hasClassOfSubclass и hasClassOfSuperclass. Этим ролям назначаются справочные элементы, представляющие тип сущности ClassOfRelationship.

Сущность UomSymbolAssignment назначает символы для шкал. Требуемые роли - это hasClassOfRepresented и hasClassOfPattern. Им назначают справочные элементы, представляющие типы сущностей Scale и ExpressString, соответственно.

 

      7.3 Представление комплексных классов

     

В соответствии с ИСО 15926 операции классов объединение, пересечение и дополнение выражаются с помощью функциональных зависимостей UnionOfSetOfClass, IntersectionOfSetOfClass и DifferenceOfSetOfClass, соответственно. Каждый экземпляр указанных типов сущностей относится к множеству классов (элемент типа EnumeratedSetOfClass) в роли haslnput и к одному классу в роли hasResult.

Пусть
A
- это множество классов
,
, ...,
. С этим классом
A
в роли
haslnput
для экземпляров
UnionOfSetOfClass
,
IntersectionOfSetOfClass
или
DifferenceOfSetOfClass
, роль
hasResult
является классом с нижеследующим определением:
 
- для
UnionOfSetOfClass
: объединение множеств в
A
, то есть множество элементов, принадлежащих либо
, либо
и т.д.;
 
- для
IntersectionOfSetOfClass
: пересечение множеств в
A
, то есть множество элементов, принадлежащих одновременно и
, и
и т.д.;
 

- для DifferenceOfSetOfClass: члены объединения множеств в A, не принадлежащих пересечению множеств в A.

Шаблоны, выражающие определения комплексных классов, включают сущности UnionOf2Classes, lntersectionOf2Classes и RelativeComplementOf2Classes.

 

Пример - Пусть A, B и C - это сущности типа EnumeratedSetOfClass. A - это класс, содержащий только класс MOTOR. B - это класс, содержащий классы ELECTRIC MOTOR и HYDRAULIC MOTOR. C - класс, содержащий классы PUMP и PIPE. (Используя фигурные скобки, можно записать, что A - это {MOTOR}, B - это {ELECTRIC MOTOR, HYDRAULIC MOTOR} и C - это {PUMP, PIPE}.)

Протошаблоны, поддерживающие операции с множествами, - это
UnionOfSetOfClassTemplate
,
IntersectionOfSetOfClassTemplate
и
DifferenceOfSetOfClassTemplate
. Ниже используются сокращенные обозначения множеств (например,
X
,
X
и
X\
X
). Они дают значения второго аргумента соответствующего шаблона при условии, что
X
- это первый аргумент. Предполагая по умолчанию, что
MOTOR
- это класс моторов, получим:
 
A
- это класс моторов (класс
MOTOR
);
 
B
- это класс либо электрических, либо гидравлических моторов;
 
B
- это класс, включающий сразу и электрические, и гидравлические моторы;
 
{MOTOR, ELECTRIC MOTOR}\
{MOTOR, ELECTRIC MOTOR}
- класс неэлектрических моторов;
 
C
- (обычно, пустой) класс элементов, включающий насосы
PUMP
и трубы
PIPE
;
 
{
MOTOR
,
B
}\
{
MOTOR
,
B
} - класс моторов, не являющихся электрическими или гидравлическими.
 
Примечание - Вместе с пересечением
IntersectionOfSetOfClass
, тип сущности
DifferenceOfSetOfClass
необходим для представления общего понятия дополнения множества. (Относительное) дополнение двух множеств
a
и
b
определяется как {
x
a
|
x
b
}. Разность
DifferenceOfSetOfClass
множеств {
a
,
b
} - это {
x
a
b
|
x
b
}. Пусть
c
обозначает данное множество. Тогда относительным дополнением множеств
a
и
b
является пересечение
IntersectionOfSetOfClass
{
a
,
c
}. Данное указание содержится в шаблоне
RelativeComplementOf2Classes
.
 

      7.4 Ограничения зависимостей

     

В данном разделе показано, как сложные ограничения на классы и зависимости могут быть представлены в соответствии с настоящим стандартом.

 

7.4.1 зависимости: области и сообласти

Представление зависимости между классами C и D не означает наложения ограничений на C или на D. Покажем, как можно использовать настоящий стандарт для наложения ограничений на классы в соответствии с зависимостями, в которые могут входить члены этих классов.

 

Пример - Типовое множество справочных данных механического оборудования включает данные рисунка 17 (параметр "Допустимая наружная температура") и число 18 (температура по Цельсию). В соответствии с иллюстрацией, Permitted Ambient Temperature - это зависимость, включающая Equipment в его роли hasClassOfPossessor, Temperature в роли hasPropertySpace и Celsius, как шкалу, соотносящую свойство Temperature с его числовым значением.     

 

 

 

 

Рисунок 17 - Зависимость: допустимая наружная температура

 

 

 

 

 

Рисунок 18 - Зависимость: температура по Цельсию

Рисунок 17 соответствует нижеследующему множеству утверждений на языке ИСО 15926-2.

 

ClassOflnanimatePhysicalObject(Equipment)

SinglePropertyDimension(Temperature)

ClassOflndirectProperty(Perimitted Ambient Temperature)

hasClassOfPossessor(Permitted Ambient Temperature, Equipment)

hasPropertySpace(Permitted Ambient Temperature, Temperature)

Естественно рассматривать два направления (слева-направо и справа-налево) для такой зависимости, как Permitted Ambient Temperature, как четко выраженные направленные зависимости:

a) зависимость с областью
Equipment
(оборудование) и сообластью
Temperature
(температура);
 

________________

Термин "сообласть" - синоним термина "диапазон". Используется для ссылок на множество вторых элементов бинарной зависимости.
 

b) зависимость с областью Temperature и сообластью Equipment.

На каждое направление могут быть наложены различные ограничения.

 

7.4.2 Экзистенциальные и универсальные ограничения

Экзистенциальные ("некоторые") и универсальные ("все") ограничения представляют особый интерес для справочных данных. В обозначениях логики первого порядка FOL характеристические случаи соответствуют выражениям, представленным в нижеследующей форме, где C и D обозначают классы, а R - некоторую зависимость.

 

C
(
x
)
y
(
R
(
x
,
y
)
D
(
y
)),                                                        (1)
 
C
(
x
)
y
(
R
(
x
,
y
)
D
(
y
)).                                                       (2)
 

По формуле (1) каждому C поставлен в соответствие с помощью R, по крайней мере, один класс D; (2) если C ставится в соответствие с помощью R, то оно ставится в соответствие D.

 

Экзистенциальные ограничения указывают, что экземпляры данного класса необходимы для формирования некоторого минимального числа отношений. В соответствии с ИСО 15926 они выражаются как ограничения кардинального числа для зависимостей. В приложении к примеру на рисунке 17 паттерн (pattern) представления ограничения (1) "один ко многим" (для направления зависимости слева-направо) может иметь вид как показано на рисунке 19. Ограничение на максимальное количество поставленных в соответствие экземпляров может также быть выполнено с помощью кардинальных чисел, как показано на рисунке 20, где ограничение кардинального числа составляет 1:1 ("ровно 1"). Универсальные ограничения не могут быть выражены с помощью ограничений кардинального числа. ИСО 15926-2 не предоставляет для указанных ограничений необходимых примитивов. В настоящем стандарте используется общепринятое соглашение о дополнительных выразительных средствах для элементов справочных данных End1UniversalRestriction и End2UniversalRestriction. Они нужны для классификации специализаций зависимостей, при этом один элемент нужен для каждого направления отношения ClassOfRelationship (см. рисунок 21). Зависимости, к которым применяются универсальные ограничения, обычно являются подзависимостями обобщенных зависимостей. Для представления универсального ограничения специализация Specialization зависимости классифицируется сама как ограничение End2UniversalRestriction. Конструкция интерпретируется в соответствии с нижеследующим соглашением (для End1UniversalRestriction соответственно):

если специализация Specialization S, действующая из R в R’, где C’ - это область R’, классифицирована с помощью ограничения End1UniversalRestriction, то каждая пара величин (x, y) в R, для которой выполняется C’(x), является членом R’. (3)

Паттерн (pattern) представления классификации для специализации зависимости с помощью ограничения End2UniversalRestriction представлена на рисунке 22. В соответствии с настоящим стандартом классификация показывает, что ограничение (4) выполняется.

 

C’
(
x
)
y
(
R
(
x
,
y
)
D’
(
y
)).                                                        (4)
 

 

 

 

Рисунок 19 - Экзистенциальное ограничение: допустимая наружная температура

Пример - Пример паттерна (формы представления) приведен на рисунке 23, где подзависимость (без имени) между типом двигателя Туре N Engine и диапазоном Temperature представлена как Specialization для обобщенного отношения Permitted Ambient Temperature
. Классифицирование сущности как универсальной означает, что каждое назначение допустимой наружной температуры Permitted Ambient Temperature для Type N Engine ограничивает свойства в диапазоне Temperature от 0 до 70 градусов Цельсия.
 

 ________________

         
См. ИСО 15926-2, 5.2.27.6, о представлении диапазона свойств как подкласса размерности свойств.
 

7.4.3 Подограничение зависимости "не более, чем n" (At-most n)

Паттерн (форма представления) ограничения лимитирует число отношений данного типа, в которые могут входить элементы данного класса. Для обобщенной зависимости R, действующей из C в D, и подкласса C’ из C (см. рисунок 24), ограничения кардинального числа типа "не более, чем n", действующие по отношению к R, могут быть применены к C в соответствии с паттероном (5), который говорит, что C’ может быть поставлено в соответствие (с помощью R) не более, чем n элементам.

 

x
(
C’
(
x
)
y
)(
R
(
x
,
y
))).                                                      (5)
 

Что касается универсальных ограничений, то справочные элементы ограничений End1UniversalRestriction и End2UniversalRestriction используются в настоящем стандарте, чтобы выражать ограничения типа "не более, чем n". Чтобы лимитировать число отношений R для класса C’, используйте ограничения кардинального числа на подзависимости R’, для которой область ограничена сущностью C’. Тогда специализация подзависимости классифицируется как универсальное ограничение паттерна (формы представления), указанного выше.

Пример - Пример паттерна ограничения типа "не более, чем n" приведен на рисунке 25. В соответствии с ним каждый член сущности C’ участвует в 1-3 отношениях типа R’. Классификация ограничения End2UniversalRestriction гарантирует, что каждое отношение R с сущностью C в левой роли - это отношение R’. Таким образом, C’ поставлено в соответствие (с помощью R) не более, чем трем D’.

 

 

 

 

 

Рисунок 20 - Ровно одно ограничение: допустимая наружная температура

 

 

 

 

 

Рисунок 21 - Классификация универсального ограничения

 

 

 

 

 

Рисунок 22 - Паттерн универсального ограничения

 

 

 

 

 

Рисунок 23 -Универсальное ограничение: оборудование, температура

 

 

 

 

 

Рисунок 24 - Пример ограничения типа "не более, чем n"

 

 

 

 

 

Рисунок 25 - Комбинирование универсальных ограничений и кардинальных чисел

 

 

 

      7.5 Начальное множество

     

7.5.1 Шаблон ClassificationOfClass

Это шаблон для классификации классов.

ClassificationOfClass(a, b) означает, что a - это класс, b - это класс классов и a - это член b.

 

 

 

N

Название роли

Тип роли

1

Класс

Class

2

Классификатор классов

ClassOfClass

 

ClassificationOfClass
(
,
)
 
Class
(
)
 
ClassOfClass
(
)
 
ClassificationTemplate
(
,
)
 

Пример - Типовое применение настоящего шаблона заключается в классификации классов, используемых либо специальными сущностями, либо сущностями, определенными в стандартах областей. На порядок класса ограничения не накладываются. В качестве примера классификации класса второго порядка с помощью класса третьего порядка рассмотрим "типы буровой штанги из области бурения". Можно использовать выражение ClassificationOfClass(Drilling Domain Class, Drill String Type), которое расширяется до утверждения на языке ИСО 15926-2, представленного на нижеследующей диаграмме.

 

 

 

 

Рисунок 26 - Пример шаблона ClassificationOfClass

7.5.2 Шаблон ClassificationOfClassOflndividual

Настоящий шаблон классифицирует классы, имеющие своими членами только индивидуальные объекты.

 

ClassificationOfClassOflndividual(a, b) означает, что a - это класс первого порядка, b - это класс второго порядка и a - это член b.

 

 

 

N

Название роли

Тип роли

1

Класс

ClassOflndividual

2

Классификатор класса

ClassOfClassOfIndividual

 

ClassificationOfClassOflndividual
(
,
)
 
ClassOflndividual
(
)
 
ClassOfClassOflndividual
(
)
 
ClassificationOfClass
(
,
)
 

Примечание - Настоящий шаблон - это специализированная версия ClassificationOfClass с добавленным ограничением: первый аргумент - это класс первого порядка (ClassOflndividual), а второй аргумент - это класс второго порядка (ClassOfClassOflndividual).

Пример - Расширение утверждения ClassificationOfClass(Drilling Class, Drill String) показано на нижеследующей диаграмме.

     

     

 

 

 

 

Рисунок 27 - Пример шаблона ClassificationOfClassOflndividual

7.5.3 Шаблон ClassificationOfClassOfRelationship

Настоящий шаблон классифицирует зависимости.

 

ClassificationOfClassOfRelationship(a, b) означает, что a - это зависимость, b - это класс зависимостей и a - это член b.

 

 

 

N

Название роли

Тип роли

1

Класс

ClassOfRelationship

2

Классификатор класса

ClassOfClassOfRelationship

 

ClassificationOfClassOfRelationship
(
,
)
 
ClassOfRelationship
(
)
 
ClassOfClassOfRelationship
(
)