Архетип (информатика)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Архетип — формальная модель понятия предметной области, являющаяся уточнением эталонной информационной модели, выраженным в виде ограничений, накладываемых на эталонную информационную модель, и представленным с помощью определенного формального аппарата в форме машиночитаемых и, одновременно, понятных человеку выражений[1].

Традиционно, термин архетип используется в психологии для обозначения универсальных изначально врождённых психических структур (см. Архетип (психология)). При использовании этого термина в информатике его значение отличается от традиционного, оно применяется в области разработки программного обеспечения и представления знаний в процессах моделирования предметной области.

Описание[править | править код]

Архетип, фактически, определяет новый тип данных (также, можно сравнивать с классом в объектной модели, сущностью в модели данных «сущность-связь», структурой, записью в компьютерной программе). Новый тип данных «конструируется» из различных экземпляров классов эталонной модели, задавая им определённую конфигурацию.

Конфигурация может включать в себя:

  • определение структуры архетипа, путём установления между его элементами иерархических связей с указанием кардинальности;
  • назначение всем элементам архетипа семантических идентификаторов, которые становятся основой для удобства чтения человеком и обработки программой;
  • определение для элементов архетипа структуры данных и типа данных;
  • определение области допустимых значений (минимум, максимум, отрезок, интервал, ограниченный список значений и т. п.).

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

Аналогия[править | править код]

Хорошей аналогией, объясняющей взаимосвязь между эталонной моделью и архетипами, является конструктор LEGO[1]. Используя ограниченный набор деталей стандартной формы, можно собирать любые конструкции: здания, машины и т. д. Так же, и архетипы используют элементы эталонной модели в качестве «строительных блоков», деталей для конструирования новых типов данных, отражающих понятия предметной области. Проводя аналогию, можно сравнивать стандартные типы форм деталей c классами эталонной модели, а, скажем, уже конкретные пронумерованные детали разных цветов, имеющие стандартные типы форм, с экземплярами классов эталонной модели: объектами, чьи свойства уже имеют конкретные значения, отражающие цвет и номер. Следуя этой аналогии далее, архетип можно сравнить со схемой сборки некоторой конструкции, которая описывает (на естественном языке и/или графически) какой стандартной формы детали нужно взять, как и в какой последовательности их необходимо между собой соединить, чтобы получить требуемую конструкцию. Будучи собранной по этой схеме, конструкцию можно сравнить с экземпляром сущности, имеющей тип данных, описанный архетипом. По одной и той же схеме конструкции, скажем, здания, можно собрать одно здание с синими стенами, белой крышей и зеленой дверью, а другое с белыми стенами, красной крышей и синей дверью — в этом случае их можно назвать двумя экземплярами одного архетипа.

История возникновения[править | править код]

Термин архетип введен и определен в проекте openEHR (в области медицинской информатики) [1]:

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

Назначение[править | править код]

Примеры[править | править код]

Примечания[править | править код]

  1. 1 2 3 S Heard & T Beale (eds). Archetype Principles. Дата обращения: 25 ноября 2010. Архивировано 9 апреля 2012 года.