Skip to content
Зарегистрируйтесь, чтобы получить доступ к полной версии курса.

Объекты для разных ролей

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

Представьте теперь себя, оказавшегося на той же кухне, но в другой роли, не в роли повара. Например, в роли дизайнера интерьера. Или в роли родителя.

Дизайнер интерьера выделяет другие объекты потому, что он собирается выполнять совсем другие виды работы. Дизайнер интерьера будет выделять люстры и светильники, а не источники света. Ему будут важны выключатели и ручки шкафов. Размещение плиты будет для него важным критерием, а вот есть ли подключение к газу -- его не волнует: задача дизайнера решена, если плита стоит на месте и гармонирует с интерьером. Для повара же неподключенная плита не существует как объект вовсе.

Для родителя маленького ребёнка важны защёлки на шкафах и холодильнике, повару же не придёт в голову обеспечивать наличие таких средств безопасности, если он не покидает роли повара.

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

Находясь в какой-то своей роли, вы должны понимать:

  • Ваши коллеги в других ролях часто (но не всегда) выделяют объекты по-иному.
  • Ваши коллеги в других ролях часто (но не всегда) называют объекты по-иному, даже если это те же объекты.
  • При этом они иногда используют для своих объектов те же названия, что вы для своих.
  • Если объекты ваших коллег и ваши объекты совпадают, или имеют что-то общее, всё равно их требования к состоянию их объектов могут отличаться от ваших, и их действия по изменению их объектов -- приводить к изменениям ваших, а ваши действия -- к изменению их объектов.

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

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

Тот способ, которым представители конкретной роли описывают свою предметную область -- называют вьюпойнт/viewpoint/метод описания предметной области этой роли (этот термин введён Международным стандартом описания архитектуры систем и программного обеспечения ISO/IEC/IEEE 42010). Не зная особенностей метода описания для какой-то роли, вы рискуете рано или поздно сбиться, пропустить важный для этой роли объект. Что такое описания и как именно задаются методы описания (шаблоны описания) предметных областей для разных ролей, как они согласуются между собой -- мы ещё будем изучать.

Работа онтолога на 90% состоит в том, чтобы обнаружить, где не хватает важных для кого-то (для каких-то ролей) объектов, найти эти объекты в мире, собрать людей (или изучить компьютерных агентов), играющих роли, проявляющие интерес к этим объектам, собрать описывающие их документы, договориться об объектах, их границах и именах. Поэтому и надо выделять дотошно все важные роли в фирме или в проекте, находить и использовать их вьюпойнты/методы описания, и потом еще и проходить по перечням объектов несколько раз, искать пропуски, пересечения и соответствия объектов (как говорят онтологи -- строить мэппинг). Если же какая-то роль (и её метод описания) не была выявлена в начале работы, велик риск перескочить на точку зрения похожей роли или ассоциативно связанной роли, у которой, несмотря на сходство, могут быть в принципе другие практики, и для которой объект окажется абсолютно неидентифицируем.

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