Информационная модель в программной инженерии — это представление концепций и отношений, ограничений, правил и операций для указания семантики данных для выбранной области дискурса. Обычно она определяет отношения между видами вещей, но может также включать отношения с отдельными вещами. Она может предоставлять общую, стабильную и организованную структуру информационных требований или знаний для контекста области. [1]
Термин «информационная модель» в целом используется для моделей отдельных объектов, таких как объекты, здания, технологические установки и т. д. В этих случаях понятие конкретизируется до «информационной модели объекта» , «информационной модели здания» , «информационной модели завода» и т. д. Такая информационная модель представляет собой интеграцию модели объекта с данными и документами об объекте.
В области разработки программного обеспечения и моделирования данных информационная модель обычно является абстрактным, формальным представлением типов сущностей, которые могут включать их свойства, отношения и операции, которые могут быть выполнены над ними. Типы сущностей в модели могут быть видами объектов реального мира, такими как устройства в сети или события, или они сами могут быть абстрактными, например, для сущностей, используемых в биллинговой системе. Обычно они используются для моделирования ограниченной области, которая может быть описана закрытым набором типов сущностей, свойств, отношений и операций.
Информационная модель обеспечивает формализм описания проблемной области, не ограничивая то, как это описание отображается на фактическую реализацию в программном обеспечении. Может быть много отображений информационной модели. Такие отображения называются моделями данных , независимо от того, являются ли они объектными моделями (например, с использованием UML ), моделями отношений сущностей или схемами XML .
В 1976 году Питер Чен представил графическую нотацию сущность-связь (ER) . Он подчеркнул, что это «семантическая» техника моделирования, независимая от любых техник моделирования баз данных, таких как иерархическая, CODASYL, реляционная и т. д. [2] С тех пор языки для информационных моделей продолжали развиваться. Вот некоторые примеры: Integrated Definition Language 1 Extended ( IDEF1X ), язык EXPRESS и Unified Modeling Language (UML). [1]
Исследования современников Питера Чена, таких как JRAbrial (1974) и GM Nijssen (1976), привели к появлению современных языков фактоориентированного моделирования (FOM), которые основаны на лингвистических предложениях, а не на «сущностях». Инструменты FOM могут использоваться для создания ER-модели, что означает, что разработчик модели может избежать трудоемкой и подверженной ошибкам практики ручной нормализации. Язык объектно-ролевого моделирования ( ORM ) и полностью коммуникационно-ориентированное информационное моделирование ( FCO-IM ) являются результатами исследований, разработанных в начале 1990-х годов на основе более ранних исследований.
В 1980-х годах было несколько подходов к расширению модели отношений сущностей Чена. Также важной в это десятилетие является REMORA Колетт Роллан . [3]
Язык определения ICAM (IDEF) был разработан на основе программы ICAM ВВС США в период с 1976 по 1982 год. [4] Целью программы ICAM, по словам Ли (1999), было повышение производительности производства за счет систематического применения компьютерных технологий. IDEF включает в себя три различных метода моделирования: IDEF0 , IDEF1 и IDEF2 для создания функциональной модели, информационной модели и динамической модели соответственно. IDEF1X — это расширенная версия IDEF1. Язык находится в открытом доступе. Он представляет собой графическое представление и разработан с использованием подхода ER и реляционной теории. Он используется для представления «реального мира» в терминах сущностей, атрибутов и отношений между сущностями. Нормализация обеспечивается структурами KEY и миграцией KEY. Язык определяет группировки свойств (агрегацию) для формирования полных определений сущностей. [1]
EXPRESS был создан как ISO 10303-11 для формального указания информационных требований модели данных продукта. Он является частью набора стандартов, неофициально известных как STandard for the Exchange of Product model data (STEP). Впервые он был представлен в начале 1990-х годов. [5] [6] Согласно Ли (1999), язык является текстовым представлением. Кроме того, доступно графическое подмножество EXPRESS, называемое EXPRESS-G. EXPRESS основан на языках программирования и парадигме OO. Ряд языков внесли свой вклад в EXPRESS. В частности, Ada, Algol, C, C++, Euler, Modula-2, Pascal, PL/1 и SQL. EXPRESS состоит из языковых элементов, которые позволяют однозначно определять объекты и специфицировать ограничения для определенных объектов. Он использует декларацию SCHEMA для обеспечения разбиения и поддерживает спецификацию свойств данных, ограничений и операций. [1]
UML — это язык моделирования для спецификации, визуализации, построения и документирования артефактов, а не процессов, программных систем. Первоначально он был задуман Грэди Бучем , Джеймсом Рамбо и Иваром Якобсоном . UML был одобрен Object Management Group (OMG) в качестве стандарта в 1997 году. Согласно Ли (1999), язык не является собственностью и доступен общественности. Это графическое представление. Язык основан на объектно-ориентированной парадигме. UML содержит нотации и правила и разработан для представления требований к данным в терминах ОО-диаграмм. UML организует модель в ряде представлений, которые представляют различные аспекты системы. Содержимое представления описывается в диаграммах, которые являются графами с элементами модели. Диаграмма содержит элементы модели, которые представляют общие ОО-концепции, такие как классы, объекты, сообщения и отношения между этими концепциями. [1]
IDEF1X, EXPRESS и UML могут использоваться для создания концептуальной модели, и, согласно Ли (1999), каждый из них имеет свои собственные характеристики. Хотя некоторые из них могут привести к естественному использованию (например, реализации), один не обязательно лучше другого. На практике может потребоваться более одного языка для разработки всех информационных моделей, когда приложение сложное. Фактически, практика моделирования часто важнее выбранного языка. [1]
Информационные модели также могут быть выражены на формализованных естественных языках, таких как Gellish . Gellish, имеющий естественные языковые варианты Gellish Formal English , Gellish Formal Dutch (Gellish Formeel Nederlands) и т. д., является языком представления информации или языком моделирования, который определен в интеллектуальном словаре-таксономии Gellish, который имеет форму таксономии / онтологии . База данных Gellish подходит не только для хранения информационных моделей, но и моделей знаний, моделей требований и словарей, таксономий и онтологий. Информационные модели на языке Gellish English используют выражения Gellish Formal English. Например, географическая информационная модель может состоять из ряда выражений Gellish Formal English, таких как:
- Эйфелева башня <находится в> Париже- Париж <классифицируется как> город
тогда как информационные требования и знания могут быть выражены, например, следующим образом:
- башня <должна быть расположена в> географической зоне- город <является видом> географической области
Такие выражения Gellish используют названия концепций (например, «город») и типы отношений (например, ⟨расположен в⟩ и ⟨классифицируется как⟩ ), которые следует выбирать из словаря Gellish Formal English Dictionary-Taxonomy (или из вашего собственного словаря предметной области). Словарь Gellish English Dictionary-Taxonomy позволяет создавать семантически насыщенные информационные модели, поскольку словарь содержит определения более 40000 концепций, включая более 600 стандартных типов отношений. Таким образом, информационная модель в Gellish состоит из коллекции выражений Gellish, которые используют эти фразы и словарные концепции для выражения фактов или создания утверждений, запросов и ответов.
Группа по распределенному управлению (DMTF) предоставляет стандартный набор информационных моделей для различных корпоративных доменов под общим названием Common Information Model (CIM). Конкретные информационные модели выводятся из CIM для конкретных доменов управления.
TeleManagement Forum ( TMF) определил передовую модель для телекоммуникационной области ( модель Shared Information/Data , или SID) как еще одну. Она включает в себя взгляды из бизнес-, сервисных и ресурсных областей в телекоммуникационной отрасли. TMF установил набор принципов, которые должна принять интеграция OSS , а также набор моделей, которые обеспечивают стандартизированные подходы.
Модели взаимодействуют с информационной моделью ( моделью общей информации/данных , или SID) через модель процесса ( структуру бизнес-процессов (eTOM) , или eTOM) и модель жизненного цикла.