IDEF1X (IDEF1X)

Перейти к навигации Перейти к поиску
Пример IDEF1X диаграммы.

Integration DEFinition for information modeling (IDEF1X) язык моделирования данных[англ.] для разработки семантики моделей данных. IDEF1X используется для формирования графических представлений информационных моделей, которые отражают структуру и семантику информации внутри среды или системы.[1]

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

Данный метод моделирования используется для моделирования данных стандартным, последовательным и предсказуемым образом, чтобы управлять ими как ресурсом. Он может быть использован в проектах, требующих стандартных средств определения и анализа ресурсов данных внутри организации. Такие проекты включают в себя включение метода моделирования данных в методологию, управление данными как ресурсом, интеграцию информационных систем или проектирование компьютерных баз данных. Основные цели стандарта IDEF1X заключаются в том, чтобы предоставить:[1]

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

Основной целью IDEF1X является поддержка интеграции. Подход к интеграции сфокусирован на захвате, управлении и использовании единого семантического определения ресурса данных, называемого "концептуальной схемой". "Концептуальная схема" обеспечивает единое интегрированное определение данных внутри предприятия, которое не предвзято по отношению к какому-либо одному применению данных и не зависит от того, как физически эти данные хранятся или доступны. Основная цель концептуальной схемы состоит в том, чтобы обеспечить последовательное определение значений и взаимосвязей между данными, которые могут быть использованы для интеграции, совместного использования и управления целостностью данных. Концептуальная схема должна обладать тремя важными характеристиками:[1]

  • Соответствовать инфраструктуре бизнеса и быть корректной для всех областей применения
  • Расширяться, так чтобы новые данные могли быть определены без изменения ранее определенных данных.
  • Трансформабельность как в требуемые пользовательские представления, так и в различные структуры хранения данных и доступа.

Необходимость в семантической модели данных была впервые признана ВВС США в середине 1970-х годов в результате программы Автоматизации и Компьютерно-Интегрированные Технологии (ICAM). Целью этой программы было повышение производительности производства за счет систематического применения компьютерных технологий. Программа ICAM выявила необходимость совершенствования методов анализа и коммуникации для людей, вовлеченных в повышение эффективности производства. В результате программа ICAM разработала ряд методов, известных как методы IDEF (iCAM Definition), которые включают следующее:[1]

  • IDEF0 используется для создания "функциональной модели", которая представляет собой структурированное представление активности или процессов внутри среды или системы.
  • IDEF1 используется для создания "информационной модели", которая представляет собой структуру или семантику информации внутри среды или системы.
  • IDEF2 используется для создания "динамической модели".

Первоначальный подход к информационному моделированию IDEF (IDEF1) был опубликован по программе ICAM в 1981 году, основываясь на текущих исследованиях и отраслевых потребностях. Теоретические корни этого подхода берут начало из ранних работ Эдгара Ф. Кодда по теории реляционной модели и Питера Чена по модели сущности-отношения. Первоначальная методика IDEF1 была основана на работе д-ра Р.Р. Брауна и г-на Т.Л. Рэми из Hughes Aircraft и г-на Д.С. Коулмана из D. Appleton & Company (DACOM), с критическим обзором и влиянием Чарльза Бахмана, Питера Чена, д-ра М.А. Мелканоффа и д-ра Г.М. Нийссена.[1]

В 1983 году ВВС США инициировали проект Интегрированной Системы Информационной Поддержки (I2S2) в рамках программы ICAM. Цель этого проекта состояла в том, чтобы обеспечить технологию, позволяющую логически и физически интегрировать сеть разнородного компьютерного оборудования и программного обеспечения. В результате этого проекта и отраслевого опыта была признана необходимость в усовершенствованной методике информационного моделирования.[1]

С точки зрения контрактных администраторов программы IDEF ВВС США, IDEF1X был результатом проекта ICAM IISS-6201 и был дополнительно расширен проектом IISS-6202. Для удовлетворения требований по совершенствованию моделирования данных, определенных в проекте IISS-6202, субподрядчик DACOM получил лицензию на технологию Проектирования Логических Баз Данных (LDDT) и ее вспомогательное программное обеспечение (ADAM). С точки зрения технического содержания методики моделирования IDEF1X – это переименование LDDT.

2 сентября 2008 года соответствующий стандарт NIST, FIPS 184, был отозван (решение по Федеральному Реестру том 73 / страница 51276 [1]).

С сентября 2012 года, IDEF1X является частью международного стандарта ИСО/МЭК/IEEE 31320-2:2012.[2] Стандарт описывает синтаксис и семантику IDEF1X97, который состоит из двух концептуальных языков моделирования: языка "ключевого стиля", совместимого с FIPS 184, который поддерживает реляционные и расширенные реляционные базы данных, и более нового языка "идентификационного стиля", подходящего для объектных баз данных и объектно-ориентированного моделирования.

Методы логического проектирования баз данных

[править | править код]

Методы логического проектирования баз данных (LDDT) были разработаны в 1982 году Робертом Г. Брауном из группы проектирования баз данных, полностью вне программы IDEF и без знания IDEF1. Тем не менее, главная цель IDEF1 и LDDT была одной и той же: создать нейтральную к базе данных модель постоянной информации, необходимой предприятию, путем моделирования вовлеченных в нее объектов реального мира. LDDT объединил элементы реляционной модели данных, модели ER-модель и обобщения данных таким образом, который специально предназначался для поддержки моделирования данных и преобразования моделей данных в проекты баз данных.

LDDT включал иерархию окружения (пространства имен), несколько уровней модели, моделирование обобщений/специализаций и явное представление отношений первичными и внешними ключами, поддерживаемое четко определенным средством именования ролей. Первичные ключи и однозначные внешние ключи выражали иногда тонкие ограничения уникальности и ссылочной целостности, которые должны были быть определены и соблюдены любым типом базы данных, которая бы разрабатывалась. Использование при проектировании базы данных ключей ограничения целостности модели LDDT, в качестве ключей доступа или индексов было совершенно отдельным решением. Точность и полнота моделей LDDT были важным фактором, позволившим относительно гладко трансформировать модели в проекты баз данных. Ранние модели LDDT были преобразованы в проекты баз данных для иерархической базы данных IBM, IMS. Более поздние модели были преобразованы в проекты баз данных для сетевой базы данных Cullinet, IDMS и многих

В LDDT software, ADAM, поддерживал представление (модели), представление объединения, избирательного (подмножество) представления, наследование пространств имен, нормализации, анализ обеспечения качества представления, граф сущность-связь и формирование отчетов, преобразование в операторы объявления данных SQL, проверку ссылочной целостности в SQL. Логические модели были сериализованы с помощью языка структурного моделирования.

Графический синтаксис LDDT отличался от синтаксиса IDEF1 и, что более важно, LDDT содержал множество взаимосвязанных концепций моделирования, отсутствующих в IDEF1. Поэтому вместо расширения IDEF1 Мэри Э. Лумис из DACOM написала краткое резюме синтаксиса и семантики значительного подмножества LDDT, используя терминологию, совместимую с IDEF1, где это возможно. DACOM обозначил результат как IDEF1X и предоставил его программе ICAM, по которой его опубликовали в 1985 году. (IEEE 1998, p. iii) (Bruce 1992, p. xii)[1] DACOM также переписали программное обеспечение ADAM на C и продавали его под названием Leverage.

Составные элементы IDEF1X

[править | править код]
Сущность
Представление класса реальных или абстрактных вещей (людей, предметов, мест, событий, идей, комбинаций вещей и т.д.), которые признаются экземплярами одного и того же класса, поскольку они имеют одни и те же характеристики и могут участвовать в одних и тех же отношениях.
Домены
Именованный набор значений данных (фиксированного размера или, возможно, бесконечных) одного и того же типа данных, на основе которого строится фактическое значение для экземпляра атрибута. Каждый атрибут должен быть определен только в одном базовом домене. Несколько атрибутов могут быть основаны на одном и том же базовом домене.
Атрибуты
Свойство или характеристика, которое является общим для некоторых или всех экземпляров сущности. Атрибут представляет использование домена в контексте сущности.
Ключи
Атрибут или комбинация атрибутов сущности, значения которых однозначно идентифицируют каждый экземпляр сущности. Каждый такой набор представляет собой ключ-кандидат.
Первичные ключи
Ключ, выбранный в качестве уникального идентификатора сущности.
Внешний ключ
Атрибут или комбинация атрибутов дочернего экземпляра сущности или экземпляра категории, значения которых совпадают со значениями в первичном ключе связанного родительского или универсального экземпляра сущности. Внешний ключ можно рассматривать как результат "миграции" первичного ключа родительской или универсальной сущности через определенную связь или отношение категоризации. Атрибуту или комбинации атрибутов во внешнем ключе может быть присвоено имя роли, отражающее его роль в дочерней сущности или сущности категории.
Связи
Связь между экземплярами двух сущностей или между экземплярами одной и той же сущности.
Отношения связей
Связи, не имеющие никакой семантики в дополнении к ассоциации. См. ограничение, мощность.
Категоризация связей
Связи, в которых экземпляры обеих сущностей представляют одну и ту же реальную или абстрактную вещь. Одна сущность (обобщающая сущность) представляет собой полный набор свойств, другая (сущность-категория) представляет собой подтип или подкласс этих вещей. Сущность-категория может иметь одну или несколько характеристик или связь с экземплярами другой сущности, которые не являются общими для всех экземпляров обобщающей сущности. Каждый экземпляр сущности-категории одновременно является экземпляром обобщающей сущности.
Неопределённые связи
Связи, в которых экземпляр одной сущности может быть связан с любым количеством экземпляров другой.
Уровни представлений
В IDEF1X определены три уровня представления: отношение сущностей (ER), основанное на ключах (KB) и полностью атрибутированное (FA). Они отличаются уровнем абстракции. Уровень ER – самый абстрактный. Он моделирует наиболее базовые элементы предметной области – сущности и их отношения. Он обычно шире по охвату, чем другие уровни. Уровень KB добавляет ключи, а уровень FA добавляет все атрибуты.


Разделы IDEF1X

[править | править код]

Трёхсхемный подход

[править | править код]
Трёхсхемный подход.[3]

Трёхсхемный подход в программной инженерии - это подход к построению информационных систем и системному управлению информацией, который продвигает концептуальную модель как ключ к достижению интеграции данных.[4]

Схема, являющаяся моделью, обычно изображается в виде диаграммы и иногда сопровождается описанием языка. Три схемы были использованы в следующих подходах:[5]

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

В центре концептуальная схема определяет онтологию концепции, как пользователь думает и говорит о них. Физическая схема описывает внутренние форматы данных, хранящихся в базе данных, а внешняя схема определяет представление данных, представленных в прикладной программе.[6] Предпринимаются попытки разрешить использование нескольких моделей данных для внешних схем.[7]

Рекомендации по моделированию

[править | править код]
Синтез сущности в первой фазе - определение сущности

Процесс моделирования можно разделить на пять этапов разработки модели.

Нулевая фаза – начало проекта
Цели этапа инициирования проекта включают в себя:
  • Определение проекта – общее изложение того, что должно быть сделано, для чего и как это будет сделано
  • Исходный материал – план сбора исходного материала, включающий индексацию и подачу
  • Авторские соглашения – фундаментальная декларация соглашений (опциональных методов), с помощью которых автор выбирает создание и управление моделью.
Фаза первая – определение сущностей
Цель этапа определения сущностей состоит в том, чтобы идентифицировать и определить сущности, которые попадают в моделируемую проблемную область.
Фаза вторая – определение связей
Цель этапа определения связей состоит в том, чтобы выявить и определить основные связи между сущностями. На данном этапе моделирования некоторые связи могут быть неопределёнными и потребуют дополнительного уточнения на последующих этапах. Главными результатами второго этапа являются:
  • Матрица отношений
  • Определение связей
  • Диаграммы уровней сущностей
Фаза третья – определение ключей
Цели этапа определения ключей заключаются в следующем:
  • Уточнить неопределённые связи из второй фазы
  • Определить ключевые атрибуты для каждой сущности
  • Миграция первичных ключей для создания внешних ключей
  • Проверка связей и ключей.
Фаза четвертая – определение атрибутов
Цели этапа определения атрибутов заключаются в следующем:
  • Определение пула атрибутов
  • Установка принадлежности атрибутов
  • Определение необязательных атрибутов
  • Проверка и уточнение структуры данных

Метамодель IDEF1X

[править | править код]
Метамодель IDEF1X.

Метамодель – это модель конструкций моделирующей системы. Как и любая модель, она используется для представления и рассуждений о предметной области модели – в данном случае IDEF1X. Метамодель используется для рассуждения об IDEF1X, то есть о том, что представляют собой конструкции IDEF1X и как они соотносятся друг с другом. Представленная модель IDEF1X является IDEF1X. Такие метамодели могут использоваться для различных целей, таких как проектирование репозиториев, проектирование инструментов или для указания набора допустимых моделей IDEF1X. В зависимости от целей в результате получаются несколько разные модели. Не существует "одной правильной модели". Например, модель для инструмента, поддерживающего поэтапное построение моделей, должна допускать неполные или даже несогласованные модели. Метамодель формализации, однако, подчеркивает соответствие концепциям формализации, и поэтому неполные или противоречивые модели недопустимы.

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

Метамодель для IDEF1X приведена на соседнем рисунке. Вид отображения называется mm. Также приведены иерархия доменов и ограничения. Ограничения выражаются в виде предложений в формальной теории метамодели. Метамодель неформально определяет набор допустимых моделей IDEF1X обычным способом, как образцовые таблицы экземпляров, соответствующие валидной модели IDEF1X. Метамодель также формально определяет набор допустимых моделей IDEF1X следующим образом. Метамодель, как модель IDEF1X, соответствует формальной теории. Семантика теории определяется стандартным образом. То есть интерпретация теории состоит из областей индивидов и набора назначений:

  • Каждой константе в теории, отдельный индивид в заданной области
  • Каждому символу n-ной функции в теории, n-ая функция над заданной областью
  • Каждому символу n-ной функции в теории, n-ая функция над заданной областью
  • Каждому n-ному символу предиката в теории, n-ая связь над заданной областью.

В предполагаемой интерпретации, область индивидов состоит из представлений, таких как производство; сущностей, таких как часть и поставщик; доменов, таких как qty_on_hand; отношений связи; кластеров категорий и т.д. Если каждая аксиома в теории верна в интерпретации, то интерпретация называется моделью для теории. Каждая модель в теории IDEF1X, соответствующая метамодели IDEF1X и ее ограничениям, является допустимой моделью IDEF1X.

Дальнейшее чтение

[править | править код]

Внешние источники

[править | править код]
  1. 1 2 3 4 5 6 7 FIPS Publication 184 Архивировано 3 декабря 2013 года. издание IDEF1X Лаборатории Компьютерных Систем Национального Института Стандартов и Технологий (NIST). 21 Декабря 1993.
  2. ИСО/МЭК/IEEE 31320-2:2012 Архивная копия от 15 августа 2020 на Wayback Machine Информационные технологии — языки моделирования — Часть 2: синтаксис и семантика для IDEF1X97 (IDEFobject).
  3. itl.nist.gov (1993) Определение интеграции для информационного моделирования (IDEFIX) Архивировано 3 декабря 2013 года.. 21 Декабрь 1993.
  4. STRAP SECTION 2 APPROACH Архивная копия от 22 октября 2020 на Wayback Machine. Получено 30 сентября 2008 года.
  5. Mary E.S. Loomis (1987). The Database Book. стр. 26.
  6. John F. Sowa (2004). "The Challenge of Knowledge Soup". издана в: Research Trends in Science, Technology and Mathematics Education. Под редакцией J. Ramadas & S. Chunawala, Центр Хоми Бхабха, Мумбаи, 2006.
  7. Гэд Аривас и Джеймс Клиффорд (1986). Новые направления для систем баз данных: пересмотренные версии документов. Высшая школа делового администрирования Нью-Йоркского университета. Центр исследований информационных систем, 1986.