Методология разработки онтологии строительной отрасли
Для разработки методологии формирования онтологии информационного моделирования и онтологии строительной отрасли.
В первую очередь необходимо сформировать полноценную онтологию информационного моделирования.
Базовая онтология
Для формирования онтологии информационного моделирования была выбрана верхнеуровневая онтология BFO. Верхнеуровневая онтология GFO, которая была выбрана ранее оставлена для дальнейшего анализа в будещем.
Онтология BFO была выбрана по следующим причинам:
- Простая и компактная верхнеуровневая онтология
- На основе онтологии BFO построены онтологии ISO 19526 и онтологии многих военных ведомств
- Может позволить получить быстрый результат
При формировании онтологии используются принципы OBO Foundary
Терминологический базис
Для разработки терминологической основы было предложено использовать модель SKOS и SKOS Simple Knowledge Organization System - Home Page
Схему организации тезауруса можно посмотреть по ссылке Стандарты по словарям базируются на стандарта NISO ISO 25964 – the international standard for thesauri and interoperability with other vocabularies https://www.niso.org/creating-niso-standards
A Method to Convert Thesauri to SKOS
Дополнительно нужно рассмотреть развертывание сервера TemaTres
В качестве развития общей методологии построения единой терминологической базы в области строительства можно опереться на проект COLORE, целью которого является разработка скоординированных верхнеуровневых онтологий. Ниже перевод описания проекта: "Многие задачи требуют правильной и содержательной коммуникации и интеграции между интеллектуальными агентами и информационными ресурсами. Основным препятствием для такой совместимости является семантическая неоднородность: разные приложения, базы данных и агенты могут приписывать разные значения одним и тем же терминам или использовать разные термины для передачи одного и того же значения. Даже когда программные приложения используют одну и ту же терминологию, они часто связывают с терминами разную семантику. Это противоречие в значении терминов препятствует беспрепятственному обмену информацией между приложениями. Разработка и применение онтологий играют центральную роль в достижении семантической интеграции. Онтология - это интерпретируемая компьютером спецификация, которая используется агентом, приложением или другим информационным ресурсом для объявления того, какие термины он использует и что означают эти термины. Онтологии поддерживают семантическую интеграцию программных систем посредством общего понимания терминологии в их соответствующих онтологиях.
Одним из препятствий на пути разработки выразительных формальных онтологий для различных областей было отсутствие адекватного набора общих онтологий, которые можно было бы использовать для определения семантики примитивных понятий. Например, любая онтология продукта должна ссылаться на взаимосвязи из геометрии и топологии, а для разных производственных стандартов могут потребоваться разные онтологии для времени. Поэтому необходимо будет сначала определить существующие онтологии в исследовательском сообществе, которые смогут обеспечить эти основы для производственных онтологий, а затем интегрировать эти онтологии с семантикой терминологии производственных стандартов.
Целью проекта COLORE является создание открытого хранилища онтологий первого порядка, которое будет служить испытательным стендом для методов оценки и интеграции онтологий и которое может поддерживать проектирование, оценку и применение онтологий в логике первого порядка. Все онтологии задаются с использованием Common Logic (ISO 24707), который является недавно стандартизированным логическим языком для спецификации онтологий первого порядка и баз знаний.
Дополнительным применением этой работы станет разработка новых производственных онтологий. Существует несколько стандартов, которые поддерживают взаимодействие между производственными программными системами; особый интерес представляют ISO 10303 STEP (Standard for the Exchange of Product data), ISO 14694 ( (NC Data - Данные ЧПУ), ISO 15531 MANDATE (Manufacturing Data Exchange), ISO 5608 (Cutting Tools - Режущие инструменты), ISO 1832 (Cutting Tool Inserts), ISO 16100 (Manufacturing Software Capability - Возможности производственного программного обеспечения), ENV 12204 (Constructs for Enterprise Modelling - Конструкции для корпоративного моделирования) и ENV 40003 (Framework for Enterprise Modelling - Фреймворк для корпоративного моделирования). Существует также несколько новых стандартов в области электронной коммерции Business-to-business (B2B), предлагаемых такими организациями, как Open Applications Group, Object Management Group и RosettaNet; эти стандарты включают Семантический словарь бизнес-правил (SVBR), Язык моделирования бизнес-процессов (BPMN) и SysML.
Тем не менее, эти стандарты имеют много пересекающихся концепций, и каждый стандарт часто имеет различную предполагаемую семантику для этих концепций. Это столкновение семантики возникает из-за отсутствия явной формальной аксиоматизации терминологии в рамках онтологии. Кроме того, формализмы, используемые в настоящее время для представления производственных концепций, являются слабыми; следовательно, стандарты трудно проверить заказчикам, их сложно поддерживать и согласовывать дорого.
Предоставляя онтологии для вышеуказанных стандартов, мы можем обеспечить интеграцию производственных программных приложений в областях, требующих использования нескольких стандартов. В идеале онтологии для управления цепочками поставок и интеграции предприятия могут быть включены в производственные стандарты, что позволяет избежать препятствий для взаимодействия, которые могут возникнуть в результате отсутствия согласования."
General Foundation Ontology
Разработке онтологии GFO предшествовало несколько научных отчетов и работ:
- The Method of Levels of Abstraction [1]
Опредления
В этих работах сделана попытка разработки методологии структурирования информации. Рассмотрим некоторые определения из этих работ:
Definition: A level of abstraction (LoA) is a finite but non-empty set of observables. No order is assigned to the observables, which are expected to be the building blocks in a theory characterised by their very definition. A LoA is called discrete (respectively analogue) if and only if all its observables are discrete (respectively analogue); otherwise it is called hybrid.
Определение: "Уровень абстракции (LoA) - это конечный, но непустой набор наблюдаемых объектов. Никакой порядок не присваивается наблюдаемым объектам, которые, как ожидается, будут строительными блоками в теории, характеризуемой самим их определением. LoA называется дискретным (соответственно аналоговым) тогда и только тогда, когда все его наблюдаемые объекты являются дискретными (соответственно аналоговыми); в противном случае он называется гибридным."
Definition: the behaviour of a system, at a given LoA, is defined to consist of a predicate whose free variables are observables at that LoA. The substitutions of values for observables that make the predicate true are called the system behaviours. A moderated LoA is defined to consist of a LoA together with a behaviour at that LoA.
Определение: Поведение системы в заданном уровне абстракции определяется предикатом и свободными переменными наблюдаемого объекта в этом уровне абстракции (LoA). Подстановки значений для наблюдаемых объектов, которые делают предикат истинным, называются поведением системы. Модерируемым уровнем абстракции (LoA) называется уровень абстракции вместе с поведением системы в этом уровене абстракции.
Алгоритм разработки онтологии
Мы кратко изложим основные этапы разработки онтологии на основе статьи "General Formal Ontology (GFO): A Foundational Ontology for Conceptual Modelling"[2]. Онтология обычно связана с предметной областью, следовательно, мы должны получить представление о рассматриваемой предметной области. Составляющие предметной области D включают объекты D, предполагаемые представления V (возможно, "точки зрения") и принципы классификации, которые будут использоваться для построения концепций. Эти составляющие могут быть проанализированы в рамках онтологии верхнего уровня. Мы описываем подход, ориентированный на верхний уровень, к разработке онтологий и используем в качестве основы GFO онтологии.
1.Шаг: Спецификация предметной области и Протоонтология
Предметная область определяется принципами классификации и набором представлений. Первым шагом является построение спецификации предметной области. В частности, должно быть установлено описание объектов предметной области A. Рассматриваемые объекты определяются предполагаемыми представлениями, в то время как принципы классификации обеспечивают средства для структурирования множества объектов Obj(D). Обычно имеется исходная информация, связанная с предметной областью, в частности набор терминов(D) терминов, обозначающих понятия пердметной области. Система Протон(D) =(Спецификация(D), Термины(D)), состоящая из спецификации предметная области Предметная_область(D) и набора терминов Термины(D), называется протоонтологией. Протоонтология предметной области содержит соответствующую информацию, необходимую для дальнейших шагов по разработке аксиоматизированной онтологии о предметной области D.
2.Шаг: Концептуализация.
Концептуализация основана на протоонтологии; результатом этого шага является постепенная концептуализация. Следовательно, необходимо определить или ввести основные и элементарные понятия предметной области. Полученные в результате понятия принадлежат либо понятиям, обозначенным терминами Терминов(D), либо они построены с помощью принципов классификации. Еще один подэтап относится к желаемым аспектным понятиям, которые являются производными от элементарных понятий. Наконец, мы должны определить отношения, которые имеют отношение к получению информации об отдельных лицах и концепциях. Было бы полезно, если бы была доступна метаклассификация отношений. GFO уже предоставляет базовую классификацию отношений, которая должна быть расширена и адаптирована к конкретной предметной области D.
3.Шаг: Аксиоматизация.
На этом этапе разрабатываются аксиомы. Для этого нужен формализм, который может быть графической структурой или формальным языком. Мы более подробно излагаем структуру формальных баз знаний, которым помогает и поддерживается онтология верхнего уровня. Как правило, аксиоматизированная онтология Ont = (L, V, Ax(V)) состоит из структурированного словаря V, называемого онтологической сигнатурой, который содержит символы, обозначающие категории, индивидов и отношения между категориями или между их экземплярами, и набор аксиом Ax(V), которые являются выражениями формального языка L. Множество Ax(V) аксиом неявно отражает значение символов V. Расширение определения Ontd = (L, V ∪ C(DF), Ax(V)∪ DF), содержащее множество определений, расширяющих значение, и новый набор символов C(DF), введенных определениями. Каждое явное определение имеет вид t := e(V), где e(V) - выражение L, использующее только символы из V (следовательно, символ t не встречается в e(V)). Онтологическое отображение M концептуализации Conc(D) в аксиоматизированную онтологию Ont задается парой M = (tr, DF), состоящей из определяющего расширения Ontd Ont by (набор определений) DF и функцией tr, которая удовлетворяет следующему условию: Для каждого термина t ∈ Tm, обозначающего понятие C из Conc(D), которое определяется выражением Def (t) (естественного языка), функция tr определяет выражение tr(Def(t)) языка L(V ∪ C(DF)), такое, что Def(t) и tr(Def(t)) семантически эквивалентны относительно базы знаний Ax(Ont) ∪ DF. Тогда набор OntMap(Conc(D)) = Ax(V) ∪ DF ∪ {tr(Def(t)) : t ∈ Conc(D)} является формальной базой знаний, которая формально отражает семантику концептуализации D. Понятие семантической эквивалентности по отношению к базе знаний используется здесь неофициально, поскольку строгой формальной семантики для предложений на естественном языке еще не существует; значение должно быть прочитано “значение предложения на естественном языке (или полуформального) Def(t) эквивалентно значению выражения tr(Def(t)). Выражение e считается онтологически основанным на онтологии Ont, если оно выражено в некотором онтологическом расширении Ont. Следовательно, онтологическое отображение концептуализации(D) связывает с каждым термином Conc(D) эквивалентное формальное описание, основанное на формально аксиоматизированной онтологии. Окончательная аксиоматизация для Conc(D) может быть достигнута, если начать с онтологии верхнего уровня, скажем, GFO, а затем путем повторных шагов построить онтологическое отображение из Conc(D) в подходящее расширение GFO. Передовая разработка этой теории, которая исследуется группой OntoMed, представлена в [He 2006a]. Построение онтологического отображения, которое дает аксиоматизацию концептуализации, включает, согласно [He 2006a], три основные задачи: 1. Построение множества PCR примитивных понятий и отношений из множества {Def(t) : t ∈ Conc} (проблема примитивного базиса) 2. Построение расширения TO1 из TO путем добавления новых категорий Cat и отношений Rel и множества новых аксиом.Ax(Cat∪ Rel)(задача аксиоматизации) 3. Построение эквивалентных выражений для Def(t) ∪ PCR на основе TO1 (проблема определимости).
Предыдущий опыт
При формировании комплексной онтологии необходимо учитывать опыт разработки онтологий для нефтегазовой отрасли в рамках стандартов ISO 19526.
Ссылки на стандарты ISO 19526
- ISO 15926-1:2004 Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities — Part 1: Overview and fundamental principles
- ISO 15926-2:2003 Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities — Part 2: Data model
- ISO/TS 15926-3:2009 Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities — Part 3: Reference data for geometry and topology
- ISO/TS 15926-4:2019 Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities — Part 4: Initial reference data
- ISO/TS 15926-6:2013 Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities — Part 6: Methodology for the development and validation of reference data
- 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
- ISO/TS 15926-8:2011 Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities — Part 8: Implementation methods for the integration of distributed systems: Web Ontology Language (OWL) implementation
- ISO 15926-10:2019 Industrial automation systems and integration — Integration of life cycle data for process plants including oil and gas production facilities — Part 10: Conformance testing
- ISO/TS 15926-11:2015 Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities — Part 11: Methodology for simplified industrial usage of reference data
- ISO/TS 15926-12:2018 Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities — Part 12: Life-cycle integration ontology represented in Web Ontology Language (OWL)
- ISO 15926-13:2018 Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities — Part 13: Integrated asset planning life-cycle
ISO 15926 vs Семантика: сравнительный анализ семантических моделей
Построение абстрактных типов данных (Abstract Data Types(ADT))
Опираясь на наработки построения геоинформационных систем и опыт различных языков проектирования, а также построения онтологий - можно сказать, что формирования абстрактных типов данных является одной из ключевых структурных задач. Для лучшего понимания данного вопроса рекомендуем посмотреть следующие материалы:
- What is Abstract Data Types(ADT) in Data Structures ? | with Example
- CS240 -- Lecture Notes: Abstract Data Type (ADT)
- Intro to Abstract Data Types
- Абстрактный тип данных abstract data type (ADT) стек, дек, очередь, куча
- Абстрактные типы данных в программировании
- Абстрактный тип данных. Часть 1: Данные (Тип Данных)
- Абстрактный тип данных. Часть 2: Управление данными
Неотъемлемой частью создания абстрактных типов данных является использование теории категорий.
Материалы по данной теме:
Шаблоны разработки онтологии
Шаблоны разработки онтологии можно подсмотреть по ссылке http://ontologydesignpatterns.org/
- ↑ Floridi L. The Method of Levels of Abstraction // Minds and Machines. 2008.
- ↑ Herre H. General Formal Ontology (GFO): A Foundational Ontology for Conceptual Modelling // Theory and Applications of Ontology: Computer Applications / под ред. R. Poli, M. Healy, A. Kameas. Dordrecht: Springer Netherlands, 2010. С. 297–345.