Отношение состава

Главные отношения в системах (воплощениях систем, помним о физичности!) --- это отношения «часть-целое» (part of), они же отношения состава/сборки (composition). Инженеры часто говорят об этом как о разбиении (breakdown) системы. В системах главное --- это системные разбиения/breakdowns. Уровни этого разбиения --- это и есть системные уровни. Разбиения делаются вниманием, ничего в физическом мире специально не разбивается! Если вы разбили бабочку на крылья, тушку, ножки и усики, то это не означает, что вы оторвали от тушки крылья, ножки и усики: нет, вы просто выделили в живой бабочке эти части своим вниманием! Более того, вы и саму бабочку выделили вниманием как часть её окружения!

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

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

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

Если принять, что все системы существуют не просто в физическом пространстве, но в пространстве-времени, то весь разговор о разных состояниях системы или её разных ролях превращается в разговор о частях во времени. Например, яйцо является просто частью бабочки во времени --- пока бабочка проходит стадию «яйцо», никакой другой «бабочки» в мире, которая занимает место яйца в физическом мире, нет.

Тем самым с состояниями системы или её ролями (те состояния/периоды времени, когда система выполняет какую-то функцию для её надсистемы, то есть отыгрывает свою роль) можно работать как с отдельными объектами, они могут получать отдельные имена. Бабочка на стадии «яйцо» называется «яйцо». Пётр Сидорович в состоянии болезни называется «пациент». И «пациент» тут просто роль/состояние Петра Сидоровича. Микроскоп, молоток или камень в роли «забивало» для гвоздя --- в тот момент, когда они для этого используются (они аффордансы, выполняющие какие-то функции).

Удобно представлять воплощения системы эдакими «червяками» во времени, в которых их место в физическом мире проходит какую-то траекторию во времени/«развёртку во времени»:

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

Например, в позном беге[1]событием является «поза бега» --- всё тело бегуна в определённый момент времени. «Поза бега» является ключевой для правильного бега, весь бег оказывается основан на событии принятия правильной позы.

Описания очень сложных систем (от микропроцессоров с их диаграммами состояний до предприятий с их регламентами работы) часто опираются на связанную с ними событийную структуру. Проще всего выяснить что-то про незнакомую систему --- это спросить, какие с ней связаны события, то есть какие объекты меняют свои состояния с каких на какие в какие моменты. В разработке информационных систем предприятия этот метод называется «событийный штурм»[2] (event storming, по аналогии с «мозговым штурмом»). Очень удобно строить онтологию/мета-модель предметной области, задавая вопрос о том, что там меняется в ходе работы, «какие события у вас происходят, какие заметные моменты» --- вот моменты изменений и будут тамошними событиями, а дальше вы интересуетесь объектами, которые поменяли одно состояние на другое, и тем самым находите эти объекты. Скажем, всех волнует момент, когда, наконец, прекращается сквозняк. ОК, что в этот момент происходит? Закрывают дверь! ОК, дверь меняет состояние с «дверь открыта» на «дверь закрыта», речь идёт о событии «закрытие двери».

Когда говорят о событиях, то рассматривают их в контексте таких больших отрезков времени, на которых длительностью события можно пренебречь. Если мгновенное/простое событие рассмотреть «в лупу», то мы найдём там сложное событие, которое занимает некоторое ненулевое время. Так, между двумя часами «дверь открыта» (и скозняк в комнате, состояние комнаты «комната проветривается») и сутками «дверь закрыта» (перед очередным проветриванием) происходит событие «закрытие двери». Временем этого события можно пренебречь. Но если не пренебрегать, то найдём 30 секунд, когда агент (человек или робот) подходит к двери и выполняет работу по какому-то методу закрытия двери (предложите три разных метода/способа/практики/стиля/культуры выполнения этой работы). Эта работа переводит дверь из состояния «дверь открыта» в состояние «дверь закрыта». Проект --- это выполнение работ по каким-то методам, результатом работ будет перевод каких-то объектов из одного состояния в другое.

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

Вот диаграмма пространства-времени (space-time map) из книги Chris Partridge «Business Objects: Re-Engineering for Re-Use»[3], которая это иллюстрирует:

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

Событие «вторая мировая война» тоже длилось много лет, но при рассмотрении «предвоенного мира» и «послевоенного мира» это событие войны считается прошедшим «мгновенно», простым.

В упомянутой книге можно прочесть много любопытного про подобный 4D (4 dimensions, 4 измерения, три пространственных и одно времени) подход к описанию мира, в котором огромное множество самых разных отношений между объектами сводятся к ключевому для системного мышления отношению части-целого в физическом мире. «Состояние», «событие», «роль» --- все они оказываются просто частями системы, что существенно облегчает мышление, делает его универсальным и компактным. Системное мышление --- это прежде всего мышление про части и целое, отношение состава/композиции/разбиения/is_part_of. Самое тут важное, что при таком подходе резко упрощается рассмотрение самых разных других видов отношений: описание мира в таком подходе становится короче, рассуждения о самых разных явлениях унифицируются. И этот подход хорошо формализуется, что важно для инженерных применений[4].

Что тут можно спутать при рассмотрении истинного/физического отношения «часть-целое»? Удивительно, но естественный язык даёт богатый материал для путаницы.

Например, можно сказать, что шероховатость --- это часть богатого опыта восприятия стола. Тут сразу несколько засад: шероховатость --- это не физический объект. Богатый опыт восприятия --- это не физический объект. Поэтому все молекулы шероховатости не будут входить в число молекул опыта восприятия. Но слово «часть» было использовано, и оно не режет слух! Вот и источник путаницы: невнимательные (нетренированные в системном мышлении) люди не удерживают отношение часть-целое в материальном мире на несколько уровней. Они путают отношение«часть-целое» с отношением классификации. Тигры --- это часть зверей. Слово «часть» тут не обозначает того, что все молекулы тигров как объект входят во все молекулы зверей, как объекта! Нет, разговор идёт об абстрактных объектах/математических множествах/классах.

Появление абстрактных/идеальных «частей систем» нужно отслеживать и устранять, это ошибки в системном мышлении. Части ---это всегда физические части, физические объекты, выделяемые вниманием из целого-окружения этих частей. У меня есть неоскудевающая рука и бесконечная доброта к студентам. Нельзя сказать, что это части меня, как системы! Если ещё можно сказать, что все молекулы моей руки входят в число моих молекул, то уж про молекулы доброты, которые входят в мои молекулы как часть этих молекул --- этого нельзя сказать. Не путайтесь!

Отдельный источник путаницы --- это сначала перепутать воплощение системы и её описание, а потом говорить о частях описания как о части системы. Так, усы на моей фотографии можно признать моей частью. Но это не так: все молекулы краски, из которых состоят усы на моей фотографии не входят в число молекул, из которых составлен я в целом! Это путаница между усами и документацией усов, усами и описанием усов! Документация моста --- это не часть железнодорожного моста! Молекулы документации (будь это информационные модели на серверах в датацентре, или по старинке пара грузовиков мёртвых деревьев с частицами краски) не входят в число молекул моста. Мост и его части (опоры, дорожное полотно и т.д.) --- это одно, а документация на мост --- это не часть моста, это просто документация на мост. Документация не входит в состав моста, не взаимодействует с другими частями моста как физический объект, не является истинной частью конструкции моста!

Проверяйте себя, можете ли вы удержаться от бытового использования слов «часть» и «целое», ограничиться для отношенияcomposition только физическим миром, удерживать физичность разбиения на несколько уровней вверх и вниз от той системы, которая находится в центре вашего внимания. Если вы разбили своё описание на три части, то это не системное разбиение! Это просто вы разбили описание на три каких-то части. Эти части ещё и не взаимодействуют друг с другом, описания ведь пассивны, они не в физическом мире. Это не про воплощение систем, не про системные разбиения, это про другое.

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

Даже граница системы становится из «мыслимой»/абстрактной/идеальной какой-то вполне материальной, тоже занимающей объём: мембраны клеток, корпуса кораблей, стены домов --- они тоже в ходе усложнения организации жизни (и технологической жизни), по мере эволюции (и техно-эволюции) становятся полноценными системами! Подробней о том, что границы систем в физическом мире проходят не совсем случайным образом, а отражают фундаментальные законы природы, определяющие стабильность систем перед лицом разрушительного времени (физики тут упоминают неизбежный рост энтропии, преодолеть который может только жизнь, обучающаяся его преодолевать в ходе эволюции), можно почитать в работах Fields, Glazebrook, Levin и других авторов[5].


  1. https://sportpriority.com/blog/gid-novichka/metod-poznogo-bega-chto-eto-i-zachem-on-nuzhen/ ↩︎

  2. https://en.wikipedia.org/wiki/Event_Storming ↩︎

  3. https://disk.yandex.ru/i/2SgjvILB3PqJEZ (занимающимся моделированием данных в части создания корпоративных информационных систем знание этой книжки обязательно). ↩︎

  4. https://ailev.livejournal.com/1653296.html ↩︎

  5. 2021, C.Fields et. al, "A free energy principle for generic quantum systems", https://arxiv.org/abs/2112.15242, 2020, Fields, Glazenbrook, "Information flow in context-dependent hierarchical Bayesian inference" https://chrisfieldsresearch.com/contextual-pre.pdf, 2018, Fields, Glazenbrook, "A mosaic of Chu spaces and Channel Theory with applications to Object Identification and Mereological Complexity", 2018, https://arxiv.org/abs/1803.08874. ↩︎