Архетип (информатика)
Архетип — формальная модель понятия предметной области, являющаяся уточнением эталонной информационной модели, выраженным в виде ограничений, накладываемых на эталонную информационную модель, и представленным с помощью определенного формального аппарата в форме машиночитаемых и, одновременно, понятных человеку выражений[1].
Традиционно, термин архетип используется в психологии для обозначения универсальных изначально врождённых психических структур (см. Архетип (психология)). При использовании этого термина в информатике его значение отличается от традиционного, оно применяется в области разработки программного обеспечения и представления знаний в процессах моделирования предметной области.
Описание
[править | править код]Архетип, фактически, определяет новый тип данных (также, можно сравнивать с классом в объектной модели, сущностью в модели данных «сущность-связь», структурой, записью в компьютерной программе). Новый тип данных «конструируется» из различных экземпляров классов эталонной модели, задавая им определённую конфигурацию.
Конфигурация может включать в себя:
- определение структуры архетипа, путём установления между его элементами иерархических связей с указанием кардинальности;
- назначение всем элементам архетипа семантических идентификаторов, которые становятся основой для удобства чтения человеком и обработки программой;
- определение для элементов архетипа структуры данных и типа данных;
- определение области допустимых значений (минимум, максимум, отрезок, интервал, ограниченный список значений и т. п.).
Конфигурация архетипа модели происходит путём наложения ограничений, что достигается присвоением отдельным свойствам отдельных экземпляров классов (объектов) эталонной информационной модели конкретных значений. Процесс конфигурирования эталонной модели и его результат — описание архетипа с помощью выбранного языка — принято называть спецификацией. Эталонная информационная модель является для формальной модели, описываемой архетипом, метамоделью первого или более высоко уровня.
Аналогия
[править | править код]Хорошей аналогией, объясняющей взаимосвязь между эталонной моделью и архетипами, является конструктор LEGO[1]. Используя ограниченный набор деталей стандартной формы, можно собирать любые конструкции: здания, машины и т. д. Так же, и архетипы используют элементы эталонной модели в качестве «строительных блоков», деталей для конструирования новых типов данных, отражающих понятия предметной области. Проводя аналогию, можно сравнивать стандартные типы форм деталей c классами эталонной модели, а, скажем, уже конкретные пронумерованные детали разных цветов, имеющие стандартные типы форм, с экземплярами классов эталонной модели: объектами, чьи свойства уже имеют конкретные значения, отражающие цвет и номер. Следуя этой аналогии далее, архетип можно сравнить со схемой сборки некоторой конструкции, которая описывает (на естественном языке и/или графически) какой стандартной формы детали нужно взять, как и в какой последовательности их необходимо между собой соединить, чтобы получить требуемую конструкцию. Будучи собранной по этой схеме, конструкцию можно сравнить с экземпляром сущности, имеющей тип данных, описанный архетипом. По одной и той же схеме конструкции, скажем, здания, можно собрать одно здание с синими стенами, белой крышей и зеленой дверью, а другое с белыми стенами, красной крышей и синей дверью — в этом случае их можно назвать двумя экземплярами одного архетипа.
История возникновения
[править | править код]Термин архетип введен и определен в проекте openEHR (в области медицинской информатики) [1]:
- Архетип — это пригодное для компьютерной обработки выражение, содержащее в себе модель некоторой части предметной области в форме структурированных выражений-ограничений и основанное на эталонной модели информационной модели системы. Архетипы openEHR основаны на эталонной модели openEHR. Все архетипы выражаются с помощью одного и того же формального аппарата. В целом, они предназначены для повторного многократного использования в широком кругу задач моделирования, однако могут быть детализированы и специфицированы, чтобы учесть особенности места и ситуации, в которой они применяются. Архетипы предполагают возможность поддержки любого числа языков и терминологий.
- An archetype is a computable expression of a domain content model in the form of structured constraint statements, based on some reference model. openEHR archetypes are based on the openEHR reference model. Archetypes are all expressed in the same formalism. In general, they are defined for wide re-use, however, they can be specialized to include local particularities. They can accommodate any number of natural languages and terminologies.
Назначение
[править | править код]Этот раздел статьи ещё не написан. |
Примеры
[править | править код]- Архетипы openEHR
- Шаблоны HL7 CDA (англ.)
Примечания
[править | править код]- ↑ 1 2 3 S Heard & T Beale (eds). Archetype Principles . Дата обращения: 25 ноября 2010. Архивировано 9 апреля 2012 года.