Введение
Развитие технологий открывает широкие возможности по решению новых задач в вопросах автоматизации и интеллектуализации технологических процессов и процессов управления. Появление и всестороннее распространение концепции «умных» элементов инфраструктуры (умных дорог, умных домов, умных городов) предлагает использовать для автоматизации таких процессов новые принципы, выводящие объекты автоматизации на более высокие уровни эффективности и инновационности [Ансофф, 1989].
Вместе с тем, вопросы теоретического осмысления и практического применения новых технологий в автоматизации и интеллектуализации устоявшихся процессов рассматриваются мало. Часто при проектировании и разработке сложных систем управления исповедуется принцип «если работает, не надо трогать», а потому при проектировании используются «выстраданные опытом» подходы, а в практику внедряются морально и технологически устаревшие решения [Писаренко, 2008].
Описанная ситуация касается, к примеру, автоматизации и интеллектуализации процессов жизнеобеспечения, технологических процессов и процессов управления интеллектуальными зданиями [Asadullah, 2016]. Несмотря на всестороннее развитие технологий и появление новых принципов, автоматизация таких процессов осуществляется на основе перевода части операций в составе технологического процесса на средства вычислительной техники или периферийную автоматику, при этом кибернетический принцип новых задач, декларированный В. М. Глушковым, практически не используется [Глушков, 1982].
Однако на текущий момент вполне разработаны, апробированы в различных областях и успешно применяются для автоматизации и интеллектуализации разнообразных процессов следующие технологии [Загоруйко, 1999; Рассел, 2006; Таненбаум, 2003; Kranenburg, 2008; Lee, 2010]:
- Машинное обучение и другие технологии искусственного интеллекта;
- Распределённые вычисления и распределённые базы данных;
- Одноранговые пиринговые сети и «Интернет вещей»;
- Облачные, туманные вычисления и вычисления на стороне оконечного оборудования.
Представленный список не является полным и исчерпывающим, но при этом перечисленные технологии сегодня находятся на острие научных исследований, несмотря на то, что изучение некоторых из них началось десятилетия назад. Совмещение всех этих технологий для повышения эффективности процессов управления и принятия решений возможно в рамках так называемого функционального подхода, который основан на принципах функциональной парадигмы программирования, теории категорий и базового математического понятия функции [Душкин, 2006].
1. Теоретические основы
Функциональный подход был разработан в рамках декларативного программирования и основан на понятии функции [Филд, 1993]. Функциональное программирование оперирует функциями, как базовыми примитивами для описания алгоритмов. Это позволяет рассматривать вычислительные процессы в качестве последовательности вызовов функций, каждая из которых может выражаться через атомарные действия и вызов других функций, в том числе и самой себя при организации рекурсивных вызовов [Guy, 1998].
Математическая функция представляет собой «чёрный ящик» с множеством входов и выходов. Чёрный ящик реализует некоторое вычисление, то есть преобразование входных значений в выходные [Эшби, 1959]. Функции обладают двумя важными качествами — детерминированностью и чистотой [Душкин, 2008]. Детерминированность обозначает, что результат вычислений функции зависит только от значений входных параметров. Чистота обозначает, что функция только возвращает значение, не выполняя никаких побочных эффектов. Фактически, свойства детерминированности и чистоты подразумевают, что функция работает только с выделенной для её работы памятью, ничего не получая из внешней памяти и ничего не записывая в неё. Только вход, выход и чёрный ящик вычислений между ними (рис. 1).
Рис. 1. Общее представление математической функции
Как уже сказано, такие свойства функций позволяют организовывать вычисления в виде организации цепочек выполнения функций, когда одни, закончив свои вычисления, передают результаты следующим. Главная особенность состоит в том, что такие цепочки могут вычисляться параллельно — если функции не зависят друг от друга, то они могут безопасно быть вычислены в параллельном режиме, так как ни одна из них гарантированно не повлияет на память, используемую другой [Душкин, 2006]. Это, в свою очередь, позволяет избежать многих проблем, возникающих в рамках параллельных или конкурентных вычислений, основанных на обычной вычислительной модели [Воеводин, 2002].
Другой важной особенностью чистого функционального подхода является то, что функции можно рассматривать с точки зрения математики, в которой разработано большое количество методов для анализа функций [Колмогоров, 1972]. Так, к примеру, в рамках функционального подхода в программировании имеется возможность оптимизации программ на уровне исходного кода [Касперски, 2003]. Также можно анализировать программы, описывающие вычислительные процессы, состоящие из функций и их вызовов, на предмет корректности определений, оптимальности задействования вычислительных ресурсов, возможности распараллеливания вычислений и т. д. [O’Sullivan, 2008]. Это позволяет уменьшить стоимость эксплуатации систем, реализованных в рамках функционального подхода, так как ошибки часто можно быстро локализовать до конкретной функции, которую можно оперативно обследовать и исправить. В случае системы, которая должна функционировать непрерывно, локализованную проблему и функцию, где она проявляется, можно быстро заменить на корректную, пустив поток технологического процесса по обходному пути [Душкин, 2008b].
Вместе с тем рассмотрение вопросов автоматизации технологических процессов раскрывает важную роль различных устройств ввода-вывода. К устройствам ввода обычно относятся разного рода датчики, в то время как устройства вывода — это обычно исполнительные устройства. Эти типы устройств предназначены для непосредственного взаимодействия со средой, а это означает, что в них нарушаются свойства детерминированности и чистоты. Ввод информации из среды всегда связан с недетерминированностью, а вывод информации в среду — это побочный эффект. Таким образом, использование устройств взаимодействия со средой в процессе выполнения технологического процесса нарушает базовые принципы функционального подхода [Lipovača, 2011].
Естественным методом описания технологических процессов могут являться диаграммы потоков данных [Gane, 1977], на которых указываются элементы системы управления технологическим процессом, между которыми по тем или иным регламентам осуществляется передача потоков информации, материальных ресурсов или управленческих воздействий. Пример такой диаграммы абстрактного характера приведён на рис. 2.
Рис. 2. Пример диаграмма потоков данных, описывающая некоторый абстрактный технологический процесс
Проблема заключается в том, что любое устройство ввода-вывода, является недетерминированным по своей природе, а также часто использует в своей работе побочные эффекты. В принципе, любая операция ввода недетерминирована, а любая операция вывода представляет собой побочный эффект. В рамках функционального подхода эта проблема решается при помощи теоретико-категориального понятия монады [Levent, 2002], в которую «упаковывается» нечистый код и которая, таким образом, скрывает, инкапсулируя недетерминированность и нечистоту, все проблемные зоны кода и, как следствие, технологических процессов. Тем самым, монады возвращают в системы с использованием ввода-вывода возможность полноценного применения функционального подхода со всеми его положительными качествами [Душкин, 2006].
Таким образом, диаграмма потоков данных технологического процесса может быть изоморфно отображена на диаграмму вызова функций. Каждое устройство ввода и вывода, каждая технологическая операция, из которых состоит технологический процесс, представляет собой функцию. И для инкапсуляции недетерминированности и побочных эффектов используется монада, которая скрывает от разработчика системы и её пользователей сквозную передачу состояния о среде, в которой функционирует система, предоставляя всю мощь функционального подхода для разработки и эксплуатации.
2. Сценарии изменения внутренней среды интеллектуального здания
Под внутренней средой интеллектуального здания понимается всё множество объектов управления и их состояний, которые связаны с отдельными автоматизированными подсистемами, входящими в состав интеллектуальной системы управления зданием [Мохов, 2018]. Интеллектуальная система управления зданием при помощи датчиков получает из его внутренней среды информацию о состоянии, принимает решение и воздействует на среду при помощи своих исполнительных устройств. Это можно иллюстрировать при помощи диаграммы, показанной на рис. 3.
Рис. 3. Общая архитектура интеллектуальной системы управления зданием
В свою очередь, система управления состоит из большого количества автоматизированных и информационных подсистем, некоторые из которых имеют датчики и (или) исполнительные устройства, а другие являются чисто информационными, преобразующими информацию для подготовки и принятия решений по управлению внутренней средой интеллектуального здания. Общая классификация подсистем выглядит следующим образом [Душкин, 2017]:
- Единая интеграционная платформа;
- Система управления ресурсами;
- Система мониторинга инженерных систем;
- Система технического обслуживания и ремонта оборудования;
- Система технического и коммерческого учёта электроэнергии;
- Система управления лифтами;
- Система определения присутствия;
- Система управления освещением;
- Система управления водоснабжением и водоотведением;
- Система управления кондиционированием;
- Комплексная система безопасности;
- Другие возможные системы.
Под сценарием понимается последовательность условий и шагов, которые выполняются интеллектуальной системой управления зданием для реагирования на возникающие во внутренней среде события и активации процессов для достижения установленных целей управления. Сценарии могут быть классифицированы на три больших группы:
- Сценарии фиксации состояния — во внутренней среде происходит какое-либо событие, информация о котором через датчики передаётся в систему управления, где информация «принимается к сведению». Никакой ответной реакции системы управления не осуществляется. Например, к такому сценарию относится сценарий мониторинга состояния инженерных систем интеллектуального здания.
- Реактивные сценарии — опять же во внутренней среде происходит некоторое событие, которое передаётся в систему управления. Система управления интеллектуальным зданием принимает решение о том, какую реакцию на случившееся событие необходимо передать во внутреннюю среду. И, собственно, эта реакция направляется через исполнительные устройства. Это обычный сценарий работы любой кибернетической системы. Например, к такому сценарию относится сценарий включения оповещения о пожаре и эвакуации при детектировании задымления.
- Проактивные сценарии — интеллектуальная система управления сама решает на основании своих внутренних стимулов о необходимости влияния на внутреннюю среду здания, после чего посредством исполнительных устройств такое влияние оказывается. Например, к такому типу сценариев относится предварительное включение отопления к приходу посетителей для того, чтобы сделать помещения комфортными для пребывания.
Сценарии могут быть классифицированы и по другим характеристикам. Несколько ортогональных систем классификации сценариев позволяют более чётко рассматривать каждый сценарий при его автоматизации и реализации, что повышает качество работы систем и средств автоматизации при работе в режиме эксплуатации.
Для повышения степени интеллектуальности системы управления необходимо наиболее пристальное внимание уделять проактивным сценариям, так как именно такие сценарии реализуют те функции интеллектуального здания, которые делают его устойчивым к воздействию факторов внешней среды, жизнеспособным с точки зрения поддержания внутреннего гомеостаза и комфортным для пользователей [Бир, 1963].
3. Модель процесса управления
Процесс управления внутренней средой интеллектуального здания основан на применении функционального подхода к сценариям различных типов. Сценарий представляет собой набор операций и условий их выполнения. Операции выполняются отдельными подсистемами и элементами интеллектуальной системы управления, которая проверяет условия применения и запускает соответствующие ветви сценария, если условие выполнено. Функциональный подход требует, чтобы операции в рамках выполняемых сценариев рассматривались в качестве функций, а все недетерминированные аспекты и побочные эффекты были инкапсулированы в монаду [Душкин, 2006]. В связи с этим далее модель управления внутренней средой интеллектуального здания рассматривается и описывается с позиции теории множеств и теории категорий.
3.1. Теоретико-множественное представление модели
Теоретико-множественная модель процесса управления внутренней средой интеллектуального здания представляет собой следующий кортеж:
,
где:
- — механизм вывода и принятия решений;
- — множество сценариев;
- — история состояний внутренней среды здания.
Механизм вывода и принятия решений представляет собой набор информационных массивов и программный комплекс, выполняющий следующие функции:
- Реализация сценариев из множества ;
- Объяснение полученных результатов (в случае необходимости);
- Визуализация текущего и прогнозного состояния объектов управления;
- Предоставление сводной и конкретизированной отчётности.
С теоретико-множественной точки зрения механизм вывода и принятия решений является кортежом следующего вида:
,
где:
- — база знаний;
- — универсальная машина вывода;
- — модуль объяснения результатов вывода и принятия решений;
- — модуль визуализации и отчётности.
База знаний является гибридной и основана на использовании семантической сети и построении онтологии проблемной области управления эксплуатацией интеллектуального здания, и множества продукционных правил, описывающих конкретные правила базового жизненного цикла здания. Также в базе знаний хранится набор установленных форм отчётности для выдачи конечному пользователю или во внешние системы. Таким образом, база знаний представляет собой тройку:
,
где:
- — семантическая сеть проблемной области управления эксплуатацией интеллектуального здания;
- — множество продукционных правил, описывающих конкретные правила базового жизненного цикла здания;
- — набор установленных форм отчётности для выдачи конечному пользователю или во внешние системы.
Универсальная машина вывода представляет собой программное средство, осуществляющий машинный вывод на базе знаний с учётом текущих и исторических фактов о состоянии внутренней среды интеллектуального здания и последовательностей шагов текущих активированных сценариев из множества сценариев .
Модуль объяснения результатов вывода и принятия решений также является программным средством, которое принимает на вход результаты работы универсальной машины вывода и с учётом знаний из базы знаний объясняет полученный вывод и подготовленное и реализованное решение.
Модуль визуализации и отчётности является программным средством, которое принимает результаты работы универсальной машины вывода , модуля объяснения результатов вывода и принятия решений и множества текущих и исторических фактов о состоянии внутренней среды интеллектуального здания , а возвращает набор визуализированных показателей в виде графиков и диаграмм, а также набор отчётности по установленной форме. Набор визуализированных показателей определяется всем объединённым множеством параметров и сводных характеристик, принимаемых с подключённых к системе управления датчиков и исполнительных устройств. Набор форм отчётности определяется базой знаний .
Множество сценариев представляет собой объект следующего вида:
,
где — один сценарий, состоящий из идентификатора, типа (фиксации состояния — , реактивные — , проактивные — ) и направленного графа, состоящего из условий и технологических операций. Другими словами, каждый сценарий представляет собой кортеж:
.
История состояний внутренней среды здания представляет собой множество кортежей вида:
где:
- — временная отметка;
- — наименование параметра внутренней среды;
- — значение параметра внутренней среды.
3.2. Теоретико-категориальное дополнение к модели
Граф , описывающий некоторый сценарий , должен некоторым специальным образом охватывать свойства недетерминированности и наличия побочных эффектов при работе с внутренней средой интеллектуального здания. Для этих целей можно воспользоваться аппаратом теории категорий и использовать понятие монады для инкапсуляции указанных свойств и реализации чистого функционального подхода.
Для этих целей наилучшим образом подходит монада , которая определяется над категорией [Маклейн, 2004]. Эта монада позволяет передавать из функции в функцию некоторое изменяемое состояние, передача которого скрыта и прозрачна для разработчика и пользователя. В случае использования для инкапсуляции недетерминированности и побочных эффектов во внутренней среде интеллектуального здания монада скрывает и передаёт между функциями состояние внутренней среды. При этом при изменении состояния предыдущее значение попадает в историю состояний .
3.3. Общая графическая модель процесса
Все вышеописанные соображения могут быть объединены в рамках графической модели, представляющий общую архитектуру системы управления интеллектуальным зданием (см. рис. 3). Такая архитектура показана на рис. 4.
Рис 4. Общая архитектура системы управления интеллектуальным зданием
Стрелками на представленной диаграмме обозначены:
- От сенсоров в универсальную машину вывода поступают значения параметров внутренней среды интеллектуального здания.
- Универсальная машина вывода берёт из семантической сети и набора продукционных правил все необходимые знания для обработки значений параметров внутренней среды.
- Универсальная машина вывода выбирает один из типов сценариев для обработки полученного из внутренней среды значения.
- Сценарии получают и передают в историю состояний значения параметров внутренней среды.
- Универсальная машина вывода передаёт в модули и результаты выполнения выбранного сценария.
- Модуль объяснения получает из набора продукций все необходимые знания для объяснения полученного универсальной машиной вывода результата.
- Модуль объяснения передаёт в модуль результаты объяснений.
- Модуль визуализации получает из набора форм отчётности необходимый формат вывода результатов.
- Модуль визуализации передаёт на исполнительные устройства или во внешние системы сгенерированную отчётность по установленному формату.
4. Интеллектуальный алгоритм управления
Разработка интеллектуального алгоритма управления внутренней средой интеллектуального здания основана на перечисленных ранее общих принципах функционального подхода, типологии сценариев изменения внутренней среды и представленной модели процесса управления. Тем не менее, имеет смысл перечислить наиболее общие требования, выдвигаемые к такому алгоритму:
- Алгоритм должен быть основан на функциональном подходе.
- Алгоритм должен инкапсулировать в монаде недетерминированность внутренней среды и побочные эффекты воздействия на неё.
- Основная часть алгоритма должна выполняться на центральном оборудовании.
- Отдельные сегменты алгоритма должны быть распределёнными по оконечному оборудованию.
- Алгоритм должен использовать распределённую децентрализованную базу данных.
- Алгоритм должен реализовывать сценарный подход в управлении внутренней средой интеллектуального здания.
С учётом всего вышеперечисленного алгоритм управления внутренней средой интеллектуального здания состоит из следующих укрупнённых шагов:
- Приём значения параметра (сигнала) внутренней среды интеллектуального здания с датчика или возбуждение внутреннего триггера для запуска проактивного сценария.
- Предварительная обработка сигнала на оконечном оборудовании (фильтрация).
- Инкапсуляция отфильтрованного сигнала в монаду и передача инкапсулированного значения в систему управления.
- Запись полученного значения параметра внутренней среды в историю значений с отметкой времени получения.
- Выбор сценария для обработки полученного отфильтрованного сигнала или триггера.
- Выполнение шагов выбранного сценария.
- Постобработка результатов выбранного сценария, включая изменение знаний в базе знаний и адаптацию сценариев.
- Направление результатов выполнения сценария на исполнительные устройства и во внешние системы.
Общая схема описанного алгоритма выглядит так, как представлено на рис. 5.
Рис. 5. Общая схема алгоритма управления внутренней средой интеллектуального здания
Представленная на рис. 5 диаграмма выполнена в нотации BPMN [OMG BPMN 1.2].
Необходимо отметить, что сценарии должны быть сформулированы на специальном языке исполнения сценариев, который должен быть реализован в качестве проблемно-ориентированного языка [Ward, 1994]. В этом случае универсальный решатель выступает в качестве функции высшего порядка, дополнительно реализуя отдельные подходы и идиомы в рамках функциональной парадигмы программирования.
Выводы
Всё перечисленное позволяет говорить о том, что использование функционального подхода при автоматизации технологических процессов в интеллектуальном здании позволит достичь важных эффектов, к которым относятся:
- Повышение эффективности управления технологическими процессами.
- Повышение степени устойчивости внутренней среды интеллектуального здания.
- Снижение времени на локализацию и устранение аварийных ситуаций.
- Снижение расходов на эксплуатацию как самой системы управления, так и всего интеллектуального здания в целом.
Вместе с тем, для получения более конкретных значений показателей эффектов, которые могут быть достигнуты при внедрении функционального подхода в управление внутренней средой интеллектуального здания, требуется проведения дополнительных исследований.
Предполагается, что дальнейшие исследования позволят масштабировать полученные результаты на уровень комплекса зданий, муниципалитета, населённого пункта, региона и даже всего государства. В свою очередь такое масштабирование приведёт к увеличению степени устойчивости и жизнеспособности зданий, населённых пунктов и даже регионов, и, как следствие, снизит нагрузку на экологию.
Список литературы
- Asadullah M. An Overview of Home Automation Systems. Conference Paper. IEEE. Retrieved 22 Dec 2016.
- Gane C., Sarson T. Structured Systems Analysis: Tools and Techniques. McDonnell Douglas Systems Integration Company, 1977
- Guy C., Mauny M. The Functional Approach to Programming. Cambridge, UK: Cambridge University Press, 1998.
- Kranenburg R. The Internet of Things: A critique of ambient technology and the all-seeing network of RFID. — Pijnacker: Telstar Media, 2008. — 62 p. — ISBN 90-78146-06-0.
- Lee G. Cloud Computing: Principles, Systems and Applications / Nick Antonopoulos, Lee Gillam. — L.: Springer, 2010. — 379 p. — (Computer Communications and Networks). — ISBN 9781849962407.
- Levent E. Value Recursion in Monadic Computations. Oregon Graduate Institute. — 2002. — 162 p.
- Lipovača M. Learn You a Haskell for Great Good!. San Francisco: No Starch Press, 2011. ISBN 978-1-59327-283-8.
- OMG BPMN 1.2 версия 1.2 спецификации BPMN.
- O’Sullivan B., Goerzen J., Stewart D. Real World Haskell — O’Reilly, 2008. — 710 P. ISBN 0-596-51498-0. ISBN 978-0-596-51498-3.
- Ward M. Language Oriented Programming. — Computer Science Department, Science Labs, 1994.
- Ансофф И. Стратегическое управление. — М.: Экономика, 1989. — 519 с.
- Бир С. Кибернетика и управление производством./ Пер. с англ. В. Я. Алтаева. — М.: Наука, 1963. — 276 с.
- Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. — СПб: БХВ-Петербург, 2002. — 608 с. — ISBN 5-94157-160-7.
- Глушков В. М. Основы безбумажной информатики. — М.: Наука, 1982. — 552 с.
- Душкин Р. В. Функциональное программирование на языке Haskell. — М.: ДМК Пресс, 2006. С. 608. ISBN 5-94074-335-8.
- Душкин Р. В. Справочник по языку Haskell. — М.: ДМК-Пресс, 2008. — 544 стр., ил. — ISBN 5-94074-410-9.
- Душкин Р. В., Коптев А. П. (2008b) Автоматизация деловых процессов при помощи Единого комплекса автоматизированных систем управления предприятием. В кн.: Сборник тезисов докладов I международной научно-практической конференции «ИНТЕХМЕТ-2008». 9 — 10 сентября 2008 года. — СПб.: СПГГИ, 2008. — стр. 33-34.
- Душкин Р. В., Жарков А. Д., Иванов Д. А. От безопасного к умному городу — Нижний Новгород: ИТ Форум 2020. «Развитие цифрового государства. Создание систем весогабаритного контроля, интеллектуальных транспортных систем». — 12-14 апреля 2017 года.
- Загоруйко Н. Г. Прикладные методы анализа данных и знаний. — Новосибирск: ИМ СО РАН, 1999. ISBN 5-86134-060-9.
- Касперски К. Техника оптимизации программ. Эффективное использование памяти. — СПб.: БХВ-Петербург, 2003. — 464 с. — ISBN 5-94157-232-8.
- Колмогоров А. Н., Фомин С. В. Элементы теории функций и функционального анализа. — 3-е изд. — М.: Наука, 1972. — 496 с.
- Маклейн С. Категории для работающего математика. — М.: Физматлит, 2004.
- Мохов А. И., Душкин Р. В. Концепция умного дома // Что такое «зелёный дом». — Совет по экологическому развитию в России, 28 сентября 2018.
- Писаренко Н. Л., Длигач А. А. Стратегическое управление, 2008.
- Рассел С., Норвиг П. Искусственный интеллект: современный подход = Artificial Intelligence: a Modern Approach / Пер. с англ. и ред. К. А. Птицына. — 2-е изд. — М.: Вильямс, 2006. — 1408 с. — 3000 экз. — ISBN 5-8459-0887-6.
- Таненбаум Э., Стеен М. Распределённые системы. Принципы и парадигмы = Andrew S. Tanenbaum, Maarten van Steen. Distributed systems. Principles and paradigms. — Санкт-Петербург: Питер, 2003. — 877 с. — (Классика computer science). — ISBN 5-272-00053-6.
- Филд А., Харрисон П. Функциональное программирование = Functional Programming. — М.: Мир, 1993. — 637 с. — ISBN 5-03-001870-0.
- Эшби У. Р. Введение в кибернетику = An Introduction to Cybernetics. — Издательство иностранной литературы, 1959. — 432 с.