На первый взгляд может показаться, что речь идет лишь о некой разновидности формы учета, способе оптимизации записи параметров объектов. Однако давайте рассмотрим, что кроется за, казалось бы, простой фразой «фиксация события». Возьмем, к примеру, событие «ввернули болт». Здесь важно обратить внимание на то, что в этом событии участвует не один только болт (A), а еще такие объекты, как соединяемые детали (B и C) и субъект (S), который и реализует это событие. (Здесь обязательно следует сделать уточнение, что речь идет не об акте, не о процедуре, не о действии, а именно о событии «ввернули болт», то есть о фиксации факта достижения результата.) То есть полностью наше событие должно быть названо так: «субъект S соединил болтом A детали B и C». Это значит, что запись каждого события системы содержит в себе не только информацию о задействованных объектах, но и данные об их отношениях (объекты A, B и C с момента указанного события образуют целое D) и плюс описание субъекта (S произвел объект D).
Итак, фиксация всех событий, реализованных в некоторой сложной системе, должна дать нам исчерпывающее (в рамках данной системы) описание каждого объекта, каждого субъекта и их отношений. По сути, полученный событийный поток содержит полную информацию о системе.
Принцип выделения событий
Понятно, что для анализа функционирования сложной системы, скажем, того же предприятия, нет необходимости фиксировать каждое событие на уровне технологических процессов. Скажем, закручивание болта конкретным субъектом в событийном потоке должно быть представлено двумя событиями: «получение A, B и C», «сдача детали D», а не событиями каждого поворота ключа. Можно указать следующие формальные условия, выполнение которых определяет необходимость и достаточность включения некоего события в событийный поток:
событие выполняется или регистрируется одним из субъектов системы;
событие