Архитектура для жизни

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

SimCity / Maxis, 1989

Все вокруг построено согласно определенной архитектуре: здания и города, печатные платы устройств и протоколы, по которым они подключаются к интернету — и даже карьера бывает подчинена корпоративной архитектуре. О чем бы мы ни говорили, структурный подход облегчает процесс работы и позволяет добиться лучшего результата. В материале, подготовленном вместе с компанией Huawei, N + 1 рассказывает, что за проблемы решает архитектурный подход в IT (и не только) и какой путь к сегодняшнему дню прошли умные системы управления городами.


Подход ко всему

Когда говорят об «архитектуре», в первую очередь на ум приходят города. Бывает, что решения архитекторов не лишены изъянов, но постройки становятся культовыми. Яркий пример — Пизанская башня. Иногда архитекторы забывают, что строят здания не в Minecraft, и тогда появляется что-то вроде отеля Вдара в Лас Вегасе, чьи изогнутые зеркальные стены превращают окрестные улицы в горящий ад. Порой архитекторов осеняют действительно интересные идеи — например, позволить пешеходам самостоятельно вытоптать тропинки, после чего замостить их, как это произошло в университете штата Огайо.

От архитектурных объектов требуется соответствовать назначению и приносить пользу, выдерживать нагрузки и быть эстетически приятными. В цифровом мире архитектура должна соответствовать тем же требованиям — разве что эстетическая красота заменяется понятностью и удобностью для пользователя.

Безусловно, можно написать программу для себя или небольшой коммерческий проект, вообще не обращая внимания на архитектуру. Однако при создании сложных систем необходимо учитывать тысячи параметров и обеспечивать взаимосвязь между множеством компонентов. Здесь не обойтись без четко прописанного плана, который описывал бы как состав компонентов, так и взаимодействие между ними. Таким планом и является архитектура системы. Это верно для любых сложных объектов и систем, создаваемых человеком — не зря целые книги посвящают архитектуре предприятий, процессоров и информационных систем, а Международная организация по стандартизации (ISO) выпустила отдельный стандарт ISO/IEC/IEEE 42010:2011 «Системная и программная инженерия. Описание архитектуры».

Кстати, согласно ISO, определение архитектуры звучит так: «Архитектура (системы) — фундаментальная организация системы, реализованная в ее компонентах, их взаимосвязях друг с другом и с окружающей средой, и руководящие правила проектирования и развития системы».

В вычислительных машинах архитектурный подход появился раньше, чем некоторые города на карте. Задолго до трудов фон Неймана в переписке его обсуждали Чарльз Бэббидж и Ада Лавлейс, которые вместе работали над несостоявшимся проектом аналитической машины — прообразом современного компьютера. Конрад Цузе описывал архитектурный подход при патентовании первой версии своей вычислительной машины Z1. Впрочем, архитектуры современных интеллектуальных систем имеют мало общего с этим механическим устройством.

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

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


Маленькие части большого целого

Каждый из компонентов объемного проекта в IT выполнен по собственной архитектуре: процессор, макетная плата, сетевое размещение, облачные вычисления и нейросети. Более того, для каждого из них существует не одна, а множество архитектур. От архитектора цифровой системы требуется сделать трудный, но правильный выбор.

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

Можно выделить три важнейших комплекса технологий, находящихся в основании современных интеллектуальных систем: программное обеспечение, нейросети и облачные технологии.

Архитектура ПО

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

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

Чем сложнее приложение и выше требования к эффективности работы ПО, тем на более мелкие части эти компоненты могут быть разбиты. Как и архитекторы университета штата Огайо, разработчики программного обеспечения смотрят на цифровые тропинки, протоптанные их пользователями, и в обновлениях учитывают пользовательский опыт, чтобы взаимодействие с программой было максимально быстрым и простым. Архитектура, такая как MVC, серьезно упрощает работу, ведь для изменения интерфейса достаточно изменить одну компоненту — Вид.

Архитектура нейросетей

В мире нейросетей новые архитектуры постоянно появляются в ответ на актуальные задачи. Понятие нейросети было введено в 1943 году Мак-Каллоком и Питтсом и относилось к задаче формализации человеческого мозга.

Первая архитектура, перцептрон, была разработана Фрэнком Розенблаттом в 1957 году. Перцептрон был реализован на компьютере «Марк-1» в 1960 году. С его помощью устройство распознавало некоторые рукописные буквы английского алфавита. Входные элементы перцептрона, S-элементы, напоминают фоторезисторы на матрице цифровой фотокамеры. Каждый S-элемент находится в состоянии покоя или возбуждения и передает его А-элементу, которому обычно соответствует несколько S-элементов с весом -1, 1 или 0. В свою очередь сигналы с А-элементов идут с некоторым весом на сумматор, R-элемент, который принимает решение. Эти веса рассчитываются в процессе обучения нейросети.

Более сложные нейросетевые архитектуры, например, LSTM — долгая краткосрочная память, появившаяся в 1997 году, могут гораздо успешнее решать как задачи распознавания рукописного ввода или речи, так и генерации музыки. А нейросети на основе архитектуры «трансформер» 2017 года уже обучены писать выжимки из текстов и блестяще ведут диалог с человеком.

Облачная архитектура

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

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

  • SaaS — программное обеспечение как услуга. Например, корпоративная электронная почта или среда для документооборота.
  • PaaS — платформа как услуга. Вы будете работать с готовой облачной операционной системой и базами данных, на которых сможете строить что заблагорассудится и при этом не волноваться о распределении нагрузки между серверами.
  • IaaS — инфраструктура как услуга. В инфраструктуре вы вольны самостоятельно распоряжаться ресурсами обработки и хранения данных на серверах. И хотя это непростая задача, зато вам не нужно следить за физическим состоянием серверов — этим занимается поставщик услуги.

Архитектура карьеры

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

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

Но уже сейчас есть и практические советы. Например, можно выделить два основных пути: путь карьериста и путь профессионала.

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

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


За какой алгоритм голосовать будешь?

В середине ХХ века советский кибернетик Анатолий Китов предложил идею ОГАС — общегосударственной автоматизированной системы учета и обработки информации. ОГАС предполагала создание системы управления экономикой СССР с помощью единой государственной сети компьютеров. Тогда же зародилась идея создания облачных систем: Китов предлагал, вместо распыления советских ЭВМ по тысячам предприятий и институтов, группировать их в вычислительные центры. В мирное время они должны были решать гражданские задачи, а в военное — задачи обороны страны. Доступ к таким центрам предполагалось сделать дистанционным.

В 1960-х проект был переработан академиком Виктором Глушковым, которому удалось заручиться поддержкой председателя совета министров Алексея Косыгина. Однако и он не сумел преодолеть сопротивление чиновников, которые считали, что СССР не нуждается в единой информационной системе, и разрабатывать следует только отраслевые — тогда и началась кампания по внедрению на многих предприятиях автоматизированных систем управления, которая продлилась вплоть до начала Перестройки.

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

Во многом успешнее сложилась судьба другого проекта — чилийского Киберсина (Cybersyn), системы управления плановой экономикой. В 1970 году на выборах в Чили победу одержал социалист Сальвадор Альенде. Оказавшись у власти, он посчитал, что в стране недостаточно квалифицированных управленческих кадров для реализации намеченных им радикальных преобразований экономики. Компенсировать эту нехватку было решено за счет внедрения единой компьютерной системы.

Для ее разработки в 1971 году в Чили был приглашен британский кибернетик Стаффорд Бир. Ученый считал, что для эффективного управления экономика страны должна быть прозрачной. Основная идея Бира заключалась в использовании кибернетики для управления, которое он сам называл «наукой эффективной организации».

Все экономические показатели должны были в режиме реального времени стекаться в комнату управления в Президентском дворце в Сантьяго. Взаимодействие с ней было сделано максимально простым — все для того, чтобы любой человек в будущем был способен управлять государством и влиять на его развитие. Этот подход отражал политические взгляды Альенде и научные взгляды Бира. Несмотря на технологическое отставание Чили (в 1971 году в стране числилось всего-навсего 57 ЭВМ), Киберсин удалось запустить. Для анализа экономики Чили Бир использовал VSM — модель жизнеспособной системы, созданную по образу и подобию нервной системы человека.

VSM состоит из пяти подсистем:

  1. Одна или несколько систем №1 выполняют некоторую низкоуровневую задачу;
  2. Система №2 обеспечивает каналы связи для соединения систем первого типа между собой, а также с системой №3;
  3. Система №3 отвечает за структуры управления, созданные для разграничения прав и обязанностей систем №1, а также их связи с системами №4 и №5;
  4. Система №4 наблюдает за окружающей средой и в случае необходимости адаптируется для сохранения жизнеспособности всей системы;
  5. Система №5 отвечает за политические решения в целом.

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

В 1972 году компьютерная сеть связывала основные предприятия, институты и несколько министерств. Во время забастовки грузоперевозчиков 1972 года Киберсин помог снабжать трехмиллионный Сантьяго продовольствием, имея в наличии всего 200 грузовиков.

У создателей системы были и другие амбициозные идеи. Например, CHECO, экономический симулятор, который должен был помочь министерствам тестировать решения и реформы до их введения, и CyberFolk — система обратной связи с населением. Предполагалось, что люди, используя портативные устройства, могли бы выражать свой уровень согласия и недовольства определенными решениями правительства, и информация об их взглядах всегда была бы доступна министерствам.

Однако планам развития Киберсина не суждено было сбыться. После военного переворота 1973 года и прихода к власти Аугусто Пиночета проект был свернут, а знаменитый центр управления — взорван по указу нового правительства.


Как умнеют города

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

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

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

  1. Граждане, бизнес, научное сообщество и органы власти формируют требования к экосистеме и интерфейсам цифровой экономики города.
  2. Информационные системы, приложения и услуги воплощены в электронной форме.
  3. Данные, поступающие со второго уровня, поступают в распоряжение аналитических систем. Они обрабатывают (собирают, очищают, верифицируют, структурируют, анализируют) информацию для обеспечения потребностей первого уровня.
  4. Цифровая инфраструктура (телекоммуникационные сети, центры хранения и обработки данных и проч.) поддерживает работу остальных уровней.

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

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


«Интеллектуальный двойник»

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

Архитектура представляет собой объединение разнообразных технологий: гибридную облачную базу, которая облегчает разработку приложений с внедрением ИИ, разнообразные модели машинного обучения, доступные к внедрению с учетом отраслевых особенностей, а также различные стандарты и протоколы, обеспечивающие связь между всеми компонентами системы: 5G, IoT, IP, Wi-Fi и другие.

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

Архитектура Intelligent Twins — слоеный торт из интеллектуального взаимодействия, интеллектуального подключения, интеллектуального хаба и интеллектуальных приложений, ведущую роль в котором играют облачные технологии и искусственный интеллект. На нижнем уровне взаимодействия располагаются умные устройства, обеспечивающие взаимодействие с физическим миром. Связь между ними и интеллектуальным хабом — центром Intelligent Twins — осуществляется с помощью операционной системы Intelligent Edge Fabric, которая позволяет хабу взаимодействовать с устройствами на базе разных операционных систем, объединяя их в единую экосистему. Интеллектуальный хаб фильтрует, сортирует и анализирует данные различных типов и формирует выводы на основе общих знаний, отраслевых ноу-хау и контекста, а также осуществляет интеллектуальный анализ. В этом ему помогает гибридная облачная система и технологии искусственного интеллекта. Работа «двойников» на местах реализуется с помощью подхода SaaS, то есть пользователи получают доступ к необходимым сервисам удаленно, посредством браузера или собственных гаджетов.

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

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



Богдан Сиротич

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.