Skip to content

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

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

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

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

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

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

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

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

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

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

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

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

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