Диссертация (1148255), страница 9
Текст из файла (страница 9)
Вопрос надёжностивыделился в отдельную тему для исследований, и по сегодняшний день содержит множество нерешённых проблем.Параллельно создаются конечные реализации DSM систем. Ранние реализации были скорее экспериментальными, демонстрирующими, например, возможность лёгкой адаптации программного обеспечения, разработанного для систем с общей памятью, к работе в распределённой среде. Постепенно решениястановились всё более универсальными, а в последние годы тенденция вновьизменилась – сегодня DSM системы создаются для решения узконаправленныхзадач и всё чаще уже изначально внедряются в состав более крупных систем,расширяя их возможности DSM механизмами.Несмотря на то, что концепция DSM применима к любым видам МАС илираспределённых систем, сфера устройств Интернета вещей (англ.
Internet ofThings – IoT) – одна из наиболее бурно развивающихся, стимулирующая массовый интерес к распределённым системам – остаётся данной концепцией неохвачена. Таким образом, в настоящий момент имеется возможность привнестив бурно развивающуюся область МАС для IoT технологию DSM, позволяющуюзаметно упростить создание конечных распределённых решений, привнести вних сложный функционал «больших систем», сократив при этом время на разработку. Параллельно возникают задачи анализа, адаптации или создания новыхмоделей консистентности и алгоритмов, более полно соответствующих требованиям данной сферы.51Глава 2.
Постановка и решение задачи2.1. Назначение, требования и соглашенияПрежде чем приступить к созданию решения, определим предпосылки еговозникновения, назначение и условия применимости.2.1.1. Назначение решенияВсплеск интереса к распределённым решениям обусловлен бурным развитием сферы Интернета вещей (англ. Internet of Things – IoT), в том числе еёиндустриального сегмента, отражающего потребности Индустрии 4.0. В этойобласти типична ситуация, когда на относительно небольшой площади имеетсямножество интеллектуальных устройств, которым необходимо взаимодействовать между собой для решения стоящих перед ними задач. Системы могутбыть самые разнообразные – от АСКУЭ до беспилотных летательных аппаратов, однако организация информационного обмена между ними может вытьвыполнена единым образом.Для удобства дальнейших формулировок разделим все механизмы взаимодействия в МАС на три иерархических уровня: нижний уровень обеспечиваетвозможность связи вообще; верхний – определяет семантику передаваемой информации; средний же, основываясь на нижнем, учитывает специфику МАС,решает присущие такой системе задачи, предоставляя уровню выше возможность сосредоточиться на семантике, обусловленной целью создания конкретной системы.
В данной терминологии целью исследования является разработкасреднеуровневого DSM механизма для обеспечения взаимодействия агентов вмультиагентных системах.Поскольку среднеуровневый механизм не может работать «сам по себе»,ему необходим нижний уровень, обеспечивающий его связь с конкретным оборудованием.
Данный уровень обычно реализуется в виде операционной системы,52а в случае микроконтроллеров – операционной системы реального времени. Попричинам, описанным в разделе «Введение», существующие сегодня на рынкеОСРВ не вполне отвечают нашим запросам. Кроме инженерных и политическихфакторов (обусловленных современной внешнеполитической обстановкой), имеется фактор и идеологический – автор считает, что будущее в разработке подмикроконтроллеры – за языком Си++ (несмотря на то, что на данный моментгораздо более популярен в данной области язык Си).
На взгляд автора, здесьпрослеживаются параллели в развитии подходов к программированию с настольными системами, где сегодня язык Си++ держит уверенный паритет сязыком Си, а большинство авторов соглашаются, что Си++ позволяет создавать более структурированные и компактные решения. Имеющиеся же на рынке ОСРВ начали своё развитие достаточно давно – когда подобные идеи ещёне были достаточно распространены – а затем в созданных решениях оказалосьуже слишком поздно что-то кардинально менять без риска отпугнуть миллионыпользователей из-за потери совместимости со старыми решениями.Российская ОСРВ МАКС[7] изначально создавалась объектно-ориентированной, а основным её языком является Си++. Более того, назначение ОСРВМАКС – упрощение создания МАС и IoT решений, а DSM механизм изначально планировался в качестве конкурентного преимущества системы.
В связи свышеизложенным, назначение создаваемого DSM решения – включение результатов в состав именно этой операционной системы (что нашло отражение и вназвании создаваемого механизма – МАКС DSM).Тем не менее, результаты исследования предполагаются достаточноуниверсальными для того, чтобы быть применимы и к другим системам иокружениям. Выделим основные требования к МАКС DSM:– в системе может быть от одного до полутора десятков узлов;– система допускает выход из строя отдельных узлов без потери общейфункциональности.53Отметим, что последнее требование обеспечивает высокую надежность решения в условиях, когда отдельные узлы/агенты могут «выпадать» из системы (по причине проблем со связью, поломки и др.).
Это заметно сужает кругвозможных технических решений и вносит новую проблематику, которая режерассматривается в теории организации многопроцессорных систем.Итак, если говорить неформально, система МАКС DSM должна решатьбазовые проблемы МАС и предоставлять прикладному программисту возможность относительно простой реализации таких традиционно непростых верхнеуровневых и контекстно-зависимых возможностей, как резервирование, горячаязамена оборудования, масштабирование и др.Далее опишем требования к решению. Заметим, что в некоторых случаяхтребования обусловлены интеграцией с ОСРВ МАКС (например, требованияк среде разработки), что однако не является существенным препятствием кпортированию решения на другие платформы.2.1.2. Аппаратное окружениеКак правило, ввиду большого количества одновременно задействуемыхустройств и их повышенной автономности, основные требования к этим устройствам можно выразить «формулой» SWaP – размер, вес и энергопотребление(англ.
size, weight and power). Очевидно, что классические рабочие станции неудовлетворяют данным требованиям, однако с ними прекрасно справляютсямикроконтроллеры. Одной из наиболее распространенных платформ в данномсекторе являются платформы группы ARM Cortex-M (M0, M1, M3, M23, M4,M33), однако мы будем использовать их лишь как «ориентир», и хотя опробовать конечное решение будем именно на Cortex-M, при разработке МАКСDSM не будем ограничивать себя какими-либо особенностями данной или любой другой платформы (например, наличие MMU, в отличие от решений типаTreadMarks, нам требоваться не должно).54Итак, требования к аппаратному окружению:– решение исполняется на микроконтроллерах ARM Cortex-M4 (совместимость со всей линейкой ARM Cortex-M предполагается, но не проверяется);– требования или ограничения по наличию/отсутствию каких-либо платформо-специфичных особенностей – отсутствуют.2.1.3.
Программное окружениеСоздаваемое решение планируется включить в состав операционной системы ОСРВ МАКС, разрабатываемой с целью обеспечения разработчиков удобными средствами проектирования распределённых решений на микроконтроллерах, что должно способствовать популяризации как операционной системы,так и DSM парадигмы ей предлагаемой.Конечное решение, однако, должно быть выполнено в виде отдельного модуля, что позволит при необходимости встраивать его и в другие продукты.С целью обеспечения максимальной переносимости на различные платформы,разработка должна вестись на языке Си++ (в частности, доступном для микроконтроллеров Cortex-M).
Отказ от языка Си вызван соображениями, описанными в разделе 2.1.1. В соответствии с требованиями раздела 2.1.2, МАКСDSM не должна использовать платформо-специфичные особенности конкретной системы, а значит и требовать наличия соответствующих API интерфейсовв ОС (платформо-специфичные инфраструктурные задачи решаются на уровене операционной системы, но доступ к ним «из вне» может отсутствовать).Также МАКС DSM должна собираться (компилироваться) в наиболее распространенных средах разработки под микроконтроллеры.Итоговые требования к программному окружению и оформлению:55– язык программирования Си++;– поддержка следующих сред разработки:– Keil MDK-ARM 5;– IAR Embedded Workbench for ARM 7.5;– функционирование под управлением ОСРВ МАКС;– реализация в виде отдельного модуля.2.1.4. Физическое окружениеРазрабатываемая система предназначена для поддержки DSM парадигмыв коммуникациях МАС, и, в первую очередь, ориентирована на динамическиегруппы агентов или устройств, в которых одни узлы со временем могут исчезать, а другие появляться.