18+
реклама
18+
Бургер менюБургер меню

Анатолий Левенчук – Системное мышление 2024. Том 2 (страница 12)

18

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

Форматы описания системных уровней

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

Вот предыдущая картинка как аутлайн, проставлены те же цифры, что и на картинке:

Конечно, эти именования (как и любая терминология) более-менее условны. Так, в ТРИЗ надсистема так и называется – надсистема, а англоязычные системные инженеры обычно слово «надсистема» не говорят (очень редко не-инженеры говорят suprasystem, но не supersystem), хотя и говорят «подсистема» (subsystem).

В основополагающем стандарте системной инженерии ISO 15288:2023 вообще не говорят обо всех этих видах систем, подчёркивая их одинаковость: различают только целевую систему (system-of-interest) как вершину системного разбиения. «Выше по системным уровням» идут сразу «системы в окружении», которые рассматривают вообще отдельно, включая саму надсистему. В составе целевой системы в этом стандарте только системы (если у этих систем будут части) и системные элементы (elements, если было принято решение не рассматривать их части, а только ограничиться существованием этих системных элементов как целых, являющихся частями их надсистем).

Дадим эту картинку как многоуровневый список/аутлайн, заодно переведя на русский:

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

Текстовый вариант с аутлайном легко править, он легко вытягивается в просто «длинный текст» (люди привыкли работать с многостраничными текстами, используя скроллирование), длинные имена свободно помещаются в строку (даже ещё можно и комментарии давать!). Так что используйте для работы с системными разбиениями аутлайны/outlines/«nested lists»/«многоуровневые списки».

Альтернативный способ – это использовать явную нумерацию уровня как отдельный элемент списка. Вот та же структура, что в предыдущем списке, только представлена в табличной форме (например, Excel таблице). Целевая система как целая при этом в нашем варианте представления не имеет кода, а число позиций в коде – это системный уровень (1.3.1.1. – это будет четвёртый уровень, если целевая система на нулевом уровне. Как ни печально, но в стандарте ISO 15288 на картинке опечатка в нумерации уровней, четвёртый уровень показан как пятый!)

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

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

• Надсистема (1)         ○ Система в окружении         ○ Система в окружении (3)         ○ Целевая система (2)                   ■ Подсистема                   ■ Подсистема (4)                   ■ подсистема • Целевая система       ○…       ○ Система            ■ Система                 • Элемент системы                 • Система                      ○ Элемент системы                      ○ Элемент системы                      ○ Элемент системы            ■ Элемент системы            ■ Система                 • Элемент системы                 • Элемент системы       ○ Система            ■ Элемент системы            ■ Элемент системы            ■ Система                 • Система                       ○ Элемент системы                       ○ Элемент системы                 • Элемент системы                 • Элемент системы       ○ Элемент системы       ○…

Системные уровни в системной инженерии.

Пример вычислительной техники

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

1. Чистые материалы (кремний и тщательно дозированные его «загрязнения», дающие эффект полупроводимости).

2. Части транзистора (исток-сток-затвор).

3. Полевой транзистор и межтранзисторные соединения.

4. Логические элементы (состоят из нескольких связанных транзисторов).

5. Арифметически-логические устройство/вычислительное ядро, память и прочие части процессоров и разных видов памяти.

6. Процессоры/чипы: общего назначения (CPU), графических/матричных вычислений (GPU), сетевой коммутации между процессорами, оперативной памяти.

7. Компьютерные платы с процессорами и памятью, внешними устройствами (например, твердотельными накопителями).

8. Компьютерный рэк с несколькими компьютерными платами, связным оборудованием ввода-вывода, системой питания и охлаждения. Связные кабели.

9. Серверная стойка для нескольких компьютерных рэков с питанием и охлаждением.

10. Поды (pods) из нескольких связанных друг с другом серверных стоек.

11. Датацентр из нескольких «подов», в его состав может входить даже робот телеприсутствия с видеокамерой для наблюдения ночью. Суперкомпьютер уровня датацентра (по состоянию на июнь 2020 седьмой в мире по мощности) мог быть уже несколько лет назад собран за 3.5 недели всего 6 инженерами. 22

Чистые материалы в масштабах частей транзистора имеют размеры, сравнимые с размерами атомов (ориентир в 2023 году был 1 нанометр для выпуска к 2030 году, хотя речь идёт не совсем о физических размерах транзисторов). Датацентры с суперкомпьютерами сегодня – это десятки тонн оборудования, сотни кубометров по объёму. Инженеры организуют своё мышление вокруг системных уровней: системы на каждом из этих уровней состоят из частей нижележащего уровня и сами являются частью систем более высокого уровня. Системы каждого из системных уровней разрабатываются инженерами, умеющими решать проблемы этих уровней. Вместе все эти уровни дают мощность вычислений, которую нельзя получить, используя редукционистский подход, «суперкомпьютер прямо из чистых материалов» и даже «суперкомпьютер из транзисторов». 23

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