Киллер ореховской группировки женился на бывшем следователе.

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

В творческом багаже Андрея Тушева — широкий диапазон образов, созданных на сцене Молодёжного театра. Таких, как Гари в спектакле «Gagarin Way», Воин в спектакле «О царе земном и небесном», Коулмен Коннор в спектакле «Тоскливый запад», Сева Полонский в спектакле «Моё загляденье», Назарьев в спектакле «Жизнь в вопросах и восклицаниях», Шустек в спектакле «Прежде чем пропоёт петух», роли в постановках «Песни о главном», «Записки сумасшедшего», «Терроризм», «Крик за сценой».

Особенно ярко проявился талант Андрея Тушева в постановках Волгоградского молодёжного театра последних лет. Его чеховские герои в спектакле «Жизнь в вопросах и восклицаниях» (в этой постановке артист исполняет сразу несколько ролей) трогательны, немного смешны и так знакомы нам своими человеческими слабостями. Им искренне сочувствуешь, сопереживаешь тем нелепостям, которые они сами себе создают. Это те самые чеховские «смешные люди», за образы которых мы так любим творчество Антона Павловича.

Ещё одна роль, ветеринара Шустека в спектакле «Прежде чем пропоёт петух», оказалась знаковой для актера. В великолепном ансамбле из одиннадцати характеров пан Шустек Тушева не затерялся, остался сочным мазком в яркой палитре. Актер не жалеет красок в отрицательных проявлениях своего персонажа. Его Шустек эгоистичен, нервен, зол, горяч, часто несправедлив. Но при этом остается живым человеком со своими чаяниями, срывами и раскаяниями.

Музыкальность и эксцентричные грани своего таланта Тушев проявляет в сказке «Кот в сапогах», где в образах Ганса и Густава прекрасно танцует и поёт, рисуя забавные и так нравящиеся детям типажи. Несомненными удачами явились роли Среднего в абсурдистской пьесе Мрожека «В открытом море» и экспедитора Угарова в спектакле по комедии Вампилова «Провинциальные анекдоты». Столь различные и по стилю, и по характеру персонажи удались актёру с одинаковой точностью. Запомнился зрителям и его Микола из шукшинских «Чудиков», грубоватый, недалекий, но искренний и душевный парень. Особо следует отметить роль Томского в «Пиковой даме». В стильном, инфернальном спектакле, поставленном Адгуром Кове, Тушев, отточено ведет линию повесы, бретёра и прожигателя жизни. В постановке «Кабаре Иллюзия» Андрей проявил недюженные вокальные и пластические способности.

Вместе с Волгоградским молодёжным театром и питерским режиссёром Евгением Зиминым Андрей Тушев открывает знаменитую шекспировскую комедию «Двенадцатая ночь». Нет сомнений, что новая роль, сэра Эндрю Эгьючика, удастся ему с блеском!

Понятие об «альфа-особях» ввели в обиход этологи – ученые, которые исследуют поведение стайных животных, например, волков. Создание же самого термина приписывают зоологу Дэвиду Л. Меху, который утверждал, что всех представителей мужского пола можно разделить на так называемых альфа-, бета- и гамма-самцов с точки зрения их поведения и биологических особенностей.

И в звериной стае, и в первобытном обществе вожаком становился всегда самый сильный, ловкий и выносливый самец, так как он мог добыть больше пищи. Соответственно ему предоставлялись различные привилегии, и самки льнули к нему, поскольку понимали, что такой партнер сможет позаботиться о выживаемости потомства.

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

Между тем наблюдения показали, что иногда в собачьей или волчьей стае доминирует вовсе не самец, а самка. Однако она не во всем ведет себя, как альфа-самец. Так, у нее нет «гарема» из особей противоположного пола, и она не склонна вступать в беспорядочные половые сношения. Ей это не требуется. Главные признаки вожака – обладание властью и авторитетом. Если самцы ориентированы самой природой на то, чтобы произвести как можно больше потомства и таким образом передать свой набор генов, то для самок важно не количество, а качество. Они стараются выбрать партнера, который обладает оптимальным генотипом для передачи его потомству. Причем альфа-самка - это не обязательно самая красивая или самая склочная особь в стае. Привлекательная внешность говорит всего лишь о повышенной фертильности, а нервность или истеричность – о неуверенности в себе. Альфа-самке это не требуется. Ей не нужно повышать свой статус с помощью внешности или наездов на кого-либо – он у нее и так высок. Первое, скорее, свойственно бета-особям, а второе – гаммам. Альфа-самка обычно выглядит спокойной и уверенной, даже в не самых лучших ситуациях.

Функции в Си играют ту же роль, что и подпрограммы и функции в Фортране или процедуры и функции в Паскале. Функция обеспечивает удобный способ отдельно оформить некоторое вычисление и пользоваться им далее, не заботясь о том, как оно реализовано. После того, как функции написаны, можно забыть, как они сделаны, достаточно знать лишь, что они умеют делать. Механизм использования функции в Си удобен, легок и эффективен. Нередко вы будете встречать короткие функции, вызываемые лишь единожды: они оформлены в виде функции с одной-единственной целью - получить более ясную программу.

До сих пор мы пользовались готовыми функциями вроде main, getchar и putchar, теперь настала пора нам самим написать несколько функций. В Си нет оператора возведения в степень вроде ** в Фортране. Поэтому проиллюстрируем механизм определения функции на примере функции power(m, n) , которая возводит целое m в целую положительную степень n. Так, power(2, 5) имеет значение 32. На самом деле для практического применения эта функция малопригодна, так как оперирует лишь малыми целыми степенями, однако она вполне может послужить иллюстрацией. (В стандартной библиотеке есть функция pow(x, y) , вычисляющая x в степени y.)

Итак, мы имеем функцию power и главную функцию main, пользующуюся ее услугами, так что вся программа выглядит следующим образом:

#include ‹stdio.h›

int power(int m, int n);

/* тест функции power */

for (i = 0; i ‹ 10; ++i)

/* возводит base в n-ю степень, n ›= 0 */

int power(int base, int n)

for (i = 1; i ‹= n; ++i)

Определение любой функции имеет следующий вид:

тип-результата имя-функции (список параметров, если он есть )

объявления

инструкции

Определения функций могут располагаться в любом порядке в одном или в нескольких исходных файлах, но любая функция должна быть целиком расположена в каком-то одном. Если исходный текст программы распределен по нескольким файлам, то, чтобы ее скомпилировать и загрузить, вам придется сказать несколько больше, чем при использовании одного файла; но это уже относится к операционной системе, а не к языку. Пока мы предполагаем, что обе функции находятся в одном файле, так что будет достаточно тех знаний, которые вы уже получили относительно запуска программ на Си.

В следующей строке из функции main к power обращаются дважды.

printf("%d %d %d\n", i, power(2,i), power(-3,i));

При каждом вызове функции power передаются два аргумента, и каждый раз главная программа main в ответ получает целое число, которое затем приводится к должному формату и печатается. Внутри выражения power(2, i) представляет собой целое значение точно так же, как 2 или i. (Не все функции в качестве результата выдают целые значения; подробно об этом будет сказано в главе 4.)



В первой строке определения power:

int power(int base, int n);

указываются типы параметров, имя функции и тип результата. Имена параметров локальны внутри power , это значит, что они скрыты для любой другой функции, так что остальные подпрограммы могут свободно пользоваться теми же именами для своих целей. Последнее утверждение справедливо также для переменных i и p: i в power и i в main не имеют между собой ничего общего.

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

Значение, вычисляемое функцией power, возвращается в main с помощью инструкции return . За словом return может следовать любое выражение:

return выражение ;

Функция не обязательно возвращает какое-нибудь значение. Инструкция return без выражения только передает управление в ту программу, которая ее вызвала, не передавая ей никакого результирующего значения. То же самое происходит, если в процессе вычислений мы выходим на конец функции, обозначенный в тексте последней закрывающей фигурной скобкой. Возможна ситуация, когда вызывающая функция игнорирует возвращаемый ей результат.



Вы, вероятно, обратили внимание на инструкцию return в конце main . Поскольку main есть функция, как и любая другая она может вернуть результирующее значение тому, кто ее вызвал, - фактически в ту среду, из которой была запущена программа. Обычно возвращается нулевое значение, что говорит о нормальном завершении выполнения. Ненулевое значение сигнализирует о необычном или ошибочном завершении. До сих пор ради простоты мы опускали return в main, но с этого момента будем задавать return как напоминание о том, что программы должны сообщать о состоянии своего завершения в операционную систему.

Объявление

int power(int m, int n);

стоящее непосредственно перед main , сообщает, что функция power ожидает двух аргументов типа int и возвращает результат типа int . Это объявление, называемое прототипом функции , должно быть согласовано с определением и всеми вызовами power . Если определение функции или вызов не соответствует своему прототипу, это ошибка.

Имена параметров не требуют согласования. Фактически в прототипе они могут быть произвольными или вообще отсутствовать, т. е. прототип можно было бы записать и так:

int power(int, int);

Однако удачно подобранные имена поясняют программу, и мы будем часто этим пользоваться.

Историческая справка. Самые большие отличия ANSI-Си от более ранних версий языка как раз и заключаются в способах объявления и определения функций. В первой версии Си функцию power требовалось задавать в следующем виде:

/* power: возводит base в n-ю степень, n ›= 0 */

/* (версия в старом стиле языка Си) */

for (i = 1; i ‹= n; ++i)

Здесь имена параметров перечислены в круглых скобках, а их типы заданы перед первой открывающей фигурной скобкой. В случае отсутствия указания о типе параметра, считается, что он имеет тип int . (Тело функции не претерпело изменений.)

Описание power в начале программы согласно первой версии Си должно было бы выглядеть следующим образом:

Нельзя было задавать список параметров, и поэтому компилятор не имел возможности проверить правильность обращений к power. Так как при отсутствии объявления power предполагалось, что функция возвращает значение типа int, то в данном случае объявление целиком можно было бы опустить.

Новый синтаксис для прототипов функций облегчает компилятору обнаружение ошибок в количестве аргументов и их типах. Старый синтаксис объявления и определения функции все еще допускается стандартом ANSI, по крайней мере на переходный период, но если ваш компилятор поддерживает новый синтаксис, мы настоятельно рекомендуем пользоваться только им.

Упражнение 1.15 . Перепишите программу преобразования температур, выделив само преобразование в отдельную функцию.

У организмов, размножающихся половым путем, гены родителей перемешиваются в геноме потомства. Это позволяет естественному отбору работать не с целыми геномами, а с отдельными генами, поддерживая удачные варианты и отбраковывая неудачные. Считалось, что у бактерий отбор работает в основном на уровне целых геномов, что намного менее эффективно. Теоретически, горизонтальный обмен генами может отчасти заменить бактериям половое размножение. Однако было неясно, в какой степени это характерно для природных популяций микробов. Изучив две близкородственные популяции морских бактерий, недавно начавших приспосабливаться к разным нишам, американские биологи пришли к выводу, что адаптивная эволюция бактерий идет за счет распространения отдельных генов, а не целых геномов, то есть так же, как у организмов, размножающихся половым путем. Из этого следует, что в ходе адаптации к новым условиям горизонтальный генетический обмен успешно заменяет бактериям половое размножение.

Суть полового процесса, характерного для большинства высших организмов (эукариот), состоит в перемешивании (рекомбинации) генов (точнее, участков ДНК) разных особей. Гены, входящие в состав генома, благодаря регулярной рекомбинации перестают быть намертво связанными друг с другом. Перемешивание генетического материала позволяет естественному отбору работать на уровне отдельных генов, а не целых геномов. Это радикально увеличивает эффективность отбора и способствует быстрой адаптивной (приспособительной) эволюции. Например, если у какой-то особи в одном гене возникла полезная мутация, а в другом - вредная, то благодаря половому процессу первая из этих мутаций получает шанс распространиться в генофонде независимо от второй, а вторая, скорее всего, будет благополучно отбракована отбором независимо от первой (подробнее см. в заметке Опыты на червях доказали, что самцы - вещь полезная, «Элементы», 23.10.2009).

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

У бактерий нет настоящего полового процесса, как у эукариот, то есть регулярного перемешивания всех участков генома. Однако у них распространен горизонтальный генетический обмен (ГГО; см. Horizontal gene transfer), в ходе которого одни микробы заимствуют фрагменты ДНК у других. Заимствованные гены могут быть либо добавлены к уже имеющимся у бактерии-реципиента, либо (благодаря механизму гомологичной рекомбинации, Homologous recombination) «свой» фрагмент ДНК заменяется похожим «чужим» фрагментом.

Известно, что ГГО играет в эволюции прокариот огромную роль. Однако имеющиеся данные указывают в основном на события, которые можно условно отнести к разряду «макроэволюционных»: это сравнительно редкие случаи удачных переносов между неродственными группами микробов (см. Горизонтальный перенос генов и эволюция). Гораздо легче идентифицировать ген как заимствованный, если он получен от неродственного организма. Такой ген будет сильно отличаться от своих аналогов у ближайших родственников данной бактерии. Случаи горизонтального переноса между близкими штаммами микробов обнаружить труднее. Однако именно такой «близкородственный» ГГО, если он достаточно широко распространен в природе, мог бы отчасти заменить микробам настоящий половой процесс и повысить эффективность их адаптивной эволюции.

До сих пор неясно, играет ли ГГО между близкородственными микробами существенную роль в микроэволюционных изменениях, то есть в рутинной, повседневной адаптации бактерий к меняющимся условиям среды. Преобладает точка зрения, что отбор у бактерий всё-таки в основном клональный, действующий на уровне целых геномов. Именно такая ситуация воспроизводится, например, в долгосрочном эволюционном эксперименте Ричарда Ленски, где в пробирках эволюционируют бактерии, лишенные генов, необходимых для ГГО (см.: В долгосрочном эволюционном эксперименте выявлен отбор на «эволюционную перспективность», «Элементы», 25.03.2011).

Биологи из Массачусетского технологического института (MIT) попытались прояснить вопрос о микроэволюционной роли ГГО на примере двух популяций морских планктонных бактерий Vibrio cyclitrophicus. Ранее авторы показали, что эти две популяции, обозначаемые буквами L и S, разделились недавно и в настоящее время находятся в процессе адаптации к разным экологическим нишам. Это видно по их приуроченности, соответственно, к крупным (L) и мелким (S) частицам, отфильтрованным из морской воды, и по результатам генетического анализа (см.: Hunt et al., 2008. Resource Partitioning and Sympatric Differentiation Among Closely Related Bacterioplankton, PDF, 529 Кб). По-видимому, эти две популяции приспосабливаются к жизни на разных представителях зоо- или фитопланктона.

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

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

Если же в процессе расхождения популяций преобладал клональный отбор, то и уровень полиморфизма, и генетические различия между популяциями должны быть распределены по геному более равномерно.

Авторы отсеквенировали полные геномы тринадцати бактерий из популяции L и семи особей из популяции S. Анализ прочтенных геномов подтвердил первую версию: в недавней эволюции двух бактериальных популяций явно преобладал отбор на уровне отдельных генов, что было бы невозможно без интенсивного ГГО между близкородственными микробами.

Обнаружено 725 диморфных нуклеотидных позиций, в которых у всех микробов из популяции L всегда стоит какой-то один нуклеотид, а у всех микробов из популяции S - другой. Авторы назвали эти 725 позиций «экоснипами» (ecoSNPs), поскольку именно они, скорее всего, отвечают за приспособление к различающимся условиям жизни. Это видно и по функциям генов, к которым они приурочены. Экоснипы не рассеяны по геному хаотически, а сгруппированы в 11 относительно компактных кластеров. В пределах каждого из этих кластеров хотя бы у одной из двух популяций наблюдается пониженный уровень генетического полиморфизма, что свидетельствует о недавнем действии положительного отбора.

Все прочие снипы (полиморфные нуклеотидные позиции), в числе 28 744 штук, равномерно рассеяны по геному и демонстрируют сходный характер полиморфизма в обеих популяциях. Например, в какой-то позиции нуклеотид Ц может стоять у шести, а нуклеотид Г - у семи бактерий из популяции L, тогда как в популяции S нуклеотид Ц обнаружен у трех бактерий, а Г - у четырех.

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

Что касается гомологичной рекомбинации, то есть замены «своей» версии гена на «чужую» (заимствованную), то этот процесс характерен для так называемой центральной, или базовой (core) части генома, которая очень похожа у всех 20 изученных бактерий. В другой же, «пластичной» (flexible) части генома, в которой наборы генов и их последовательности могут сильно различаться, по-видимому, преобладали вставки чужих генов вдобавок к уже имеющимся (иногда компенсируемые утратой каких-нибудь других участков ДНК).

Еще одним подтверждением интенсивного ГГО между близкородственными микробами является то обстоятельство, что филогенетические (эволюционные) деревья, построенные для 20 изученных бактерий, оказываются разными в зависимости от того, какие фрагменты генома используются для их построения. Анализируя эти деревья, а также используя другие методы сравнительной геномики, авторы обнаружили свидетельства многочисленных недавних переносов генетического материала внутри каждой из двух популяций. В частности, удалось показать быстрое распространение целой хромосомы в популяции S. У Vibrio cyclitrophicus геном состоит из двух хромосом, обозначаемых цифрами I и II. Один из вариантов хромосомы II недавно распространился под действием отбора в популяции S (он обнаружен у 5 из 7 бактерий). Хромосома II распространялась независимо от хромосомы I, а это значит, что бактерии запросто могут обмениваться целыми хромосомами, а не только их фрагментами.

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

Пусть есть пользователи информационной системы. Авторизованным пользователям позволено строить свои модели в этой ИС. Неавторизованные могут только смотреть, как другие строят эти модели, но сами не могут этого делать.
Вопрос: сколько ролей в ИС?

Пусть есть две кучи песка, сваленные рядом.
Вопрос: Это одна куча, или по-прежнему две кучи, но теперь сваленные рядом?

Пусть есть должность директора школы №123. Сидоров занимает эту должность после Иванова.
Вопрос: это два разных директора, или один директор?

Сегодня Иванов играет роль княжны Мэри.
Вопрос: завтра, когда он будет играть роль с тем же названием, это будет та же роль, или другая?
Вопрос: Сидоров, который сегодня играет роль с тем же названием, играет ту же роль, или другую?

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

На все эти вопросы (и подобные им) можно ответить одинаково – каждый решает для себя сам, как ему удобно, исходя из контекста. Это, обычно, никого не напрягает, потому что не нужно строить модели. Мне же как аналитику приходиться быть постоянно начеку. Надо понять, как клиент видит предметную область, чтобы корректно построить модель. Сегодня я хочу продемонстрировать вам последовательность рассуждений, которую я при этом делаю.

Объяснение решения

Пусть есть директор школы №123 Сидоров. Вопрос: это та же роль, что и директор школы №123 Иванов? Для начала надо понять, для кого строится информационная система?

Пусть она строится для сбора статистической отчетности по зп директоров школ. Для этой отчетности все директора безликие. Нет никакой разницы Иванов или Сидоров занимают должность, но важно различать директоров разных школ. Понятно, что с этой точки зрения роль директора школы – одна.

Теперь допустим, что ИС строится для анализа эффективности работы различных директоров школ. В такой ИС будет важно будет различать Иванова в качестве директора и Сидорова в качестве директора. С этой точки зрения роли директоров будут разные.

Для того, чтобы понять, как перейти от первого представления ко второму, надо понимать, что такое роль. Об этом я писал подробно в статье Моделирование объектов учета . Напомню тезисно. Роль – это некий 4-х мерный объем пространства-времени, занимаемый в разное время разными людьми, а точнее их темпоральными частями. Это значит, что роль может быть представлена в виде конструкции, состоящей из темпоральных частей людей, каждая из которых характеризуется датой начала и датой завершения своего участия. Сама же роль – не множество этих темпоральных частей, а склейка всех этих частей.

Понятие склейки надо объяснить подробно. Так же как и понятие разделения. Если мы возьмем четыре ножки и столешницу, то, соединив их вместе, получим стол. Глядя на то место, которое занимает стол, мы можем переключать свое внимание, в разное время видя то 4 ножки и столешницу, то стол целиком. Склейка - это такой процесс восприятия, благодаря которому мы можем многое представить как целое. Разделение - это такой процесс восприятия, благодаря которому мы можем целое представить как многое. Наше сознание способно как разделять, так и склеивать. Но не всегда мы осознаем эти процессы.

Представьте себе, что у вас несколько кучек песка. Вы их соединили вместе и получили одну кучу. Точно также происходит склейка темпоральных частей. Вы берете их и склеиваете. Из множества небольших темпоральных частей вы получаете одну темпоральную часть большего размера. Таким образом, для получения роли директора школы №123 нужно склеить темпоральные части: роль директора школы №123, исполняемую Ивановым с ролью директора школы №123, исполняемой Сидоровым.

Если можно соединять кучи песка, то можно одну кучу делить на части. По аналогии можно роль делить на части. Пусть есть роль директора школы, исполняемая Сидоровым. Представим ее в виде множества ролей, каждая из которых – это ежедневное исполнение Сидоровым роли директора с 8-00, когда он приходит на работу, до 17-00, когда он уходит. Можно сказать, что роль директора школы, исполняемая Сидоровым, - это склейка всех ежедневных ролей Сидорова.

Пусть есть множество ежедневных ролей, исполняемых Сидоровым. Как мы видим, эти роли можно склеить и получить одну большую роль. Их можно сложить стопкой и посмотреть, что в них есть общего – создать типовую ежедневную роль. Можно сделать статистический анализ этих ежедневных ролей. При этом важно понимать то, с какими объектами мы работаем, и какие атрибуты при этом используются. Если стоит вопрос о длительности работы Сидорова в роли директора, то речь идет о склейке ежедневных ролей в одну большую роль, и эта длительность является свойством этой роли. Если стоит вопрос о том, когда ОБЫЧНО Сидоров приходит на работу, то речь идет о типовой ежедневной роли Сидорова, и это время является свойством типовой ежедневной роли. Если стоит вопрос о том, во сколько В СРЕДНЕМ Сидоров приходит на работу, то речь идет о множестве ежедневных ролей и это время является свойством множества ежедневных ролей. Поэтому, если мы хотим корректно передать в ИС эти свойства, нам надо создать в ИС все перечисленные мной объекты: ежедневные роли, склеенную большую роль, типовую роль, множество ролей. При этом надо помнить, что множество в ИС - это отдельный объект со своими атрибутами, а не просто куча ролей.

Можно склеить и роли всех директоров всех школ, при этом получить такую огромную роль – директор школы, исполнять которую будут разные люди в одно и то же время в разных местах. Поэтому роль – не обязательно исполняется одним человеком в одно время. Роль может быть исполнена разными людьми одновременно в разных местах. При этом не надо путать эту огромную роль с типовой ролью директора школы! Такая путаница встречается довольно часто. Кроме того, часто за роль выдают типовую роль.

Надеюсь, теперь ответ ясен: сколько угодно. Можно назвать ролью участие пользователя в каждой сессии. Можно склеить все сессии, относящиеся к одной учетной записи, и для этой склейки определить роль, можно склеить все сессии авторизованных пользователей и для этой склейки определить роль. Можно склеить все сессии и для этой склейки определить роль – это будет склейка авторизованных и неавторизованных пользователей. А можно склеить сессии работ в данной программе с сессиями работ в других программах. И т.д. и как угодно. Вопрос целесообразности. Все зависит от целей нашего учета: построенная модель должна удовлетворять целям нашей работы.

Природа ролей и физических объектов

После нашего разговора остается впечатление, что роль – это нечто эфемерное – склейки, порезки. Но по факту роль имеет ту же природу, что любой другой физический объект. То, что мы получаем роль, разрезая пространство-время, или склеивая его, не делает роль чем-то отличным от любого другого физического объекта. Представьте себе мир, в котором люди знают о переселение душ из одного тела в другое. При этом они не просто это знают, у них паспорта заведены на души, а не на тела. Они часто говорят – я в роли Иванова отлично отдохнул, или я в роли Сидорова плохо поработал над своей кармой. И то, что вы видите как объект, они воспринимают как роль.

Физические объекты также можно склеивать и резать, чтобы получать новые объекты. Например, дощечка плюс дощечка получается скамейка. Или стол можно разрезать на столешницу и ножки. Или материю в Солнечной системе можно разделить на газово-пылевое облако, оставшееся после взрыва сверхновой и на планетную систему, которая возникла позже из этого облака.

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

Объяснение того, как появляются объекты в нашем сознании я сделал в статье