Методы и инструментальные средства формальной верификации функционально-потоковых параллельных программ

Ушакова, Мария Сергеевна

Введение …………………………………….. 5
1 Методы и средства формальной верификации программ . . . . . . . . . . . 11
1.1 Классификацияошибоквпрограммах …………………… 11
1.2 Методыверификациипрограмм………………………. 12
1.2.1 Классификация формальных методов верификации программ . . . . . . . 13
1.2.2 Методыпроверкимоделей ……………………… 16
1.2.3 Методыдедуктивногоанализа ……………………. 17
1.2.4 Применимость формальных методов к верификации ФПП программ . . . 21
1.2.5 Методыдоказательствазавершенияпрограмм . . . . . . . . . . . . . . . . 23
1.3 Инструментальная поддержка доказательства корректности программ . . . . . 27
1.3.1 Уточняющиетипы ………………………….. 27
1.3.2 Контрактноепрограммирование …………………… 28
1.3.3 ВерификаторBoogie…………………………. 29
1.3.4 Верификация Java-программ со спецификацией на JML . . . . . . . . . . 31
1.3.5 СредстваверификацииС-программ …………………. 32
1.3.6 Предикатноепрограммирование …………………… 34
1.3.7 Обобщённая схема инструментальных средств и её применимость к ФПП
программам……………………………… 35
1.3.8 Инструментальная поддержка доказательства теорем . . . . . . . . . . . . 37
Выводы …………………………………….. 40
2 АксиоматическаясемантикаФППпрограмм ………………. 41
2.1 СемантикаязыкаПифагор…………………………. 41 2.1.1 Общие принципы организации модели вычислений . . . . . . . . . . . . . 41 2.1.2 Этапывыполненияоператораинтерпретации . . . . . . . . . . . . . . . . 42 2.1.3 СемантикатиповданныхязыкаПифагор………………. 43
2.2 СпецификациясвойствпрограммнаязыкеПифагор. . . . . . . . . . . . . . . . 46 2.2.1 Систематиповязыкаспецификации…………………. 48 2.2.2 Синтаксисязыкаспецификации …………………… 48 2.2.3 Семантикаязыкаспецификации …………………… 51 2.2.4 Теорииязыкаспецификации …………………….. 52 2.2.5 Совместимость языка спецификации с системой HOL . . . . . . . . . . . . 58
2.3 АксиоматическаятеорияязыкаПифагор …………………. 59
3
2.3.1 Языкаксиоматическойтеории ……………………. 59 2.3.2Аксиомы……………………………….. 61 2.3.3 Правилавывода …………………………… 63
2.4 Преобразования информационного графа с разметкой . . . . . . . . . . . . . . . 67 2.4.1 Разметкадуг …………………………….. 68 2.4.2Свёртка……………………………….. 71 2.4.3 Изменениеинформационногографа…………………. 77
Выводы …………………………………….. 83
3 ФормальнаяверификацияФППпрограмм ……………….. 84
3.1 Доказательство корректности рекурсивных функций . . . . . . . . . . . . . . . 84 3.1.1 Доказательство частичной корректности рекурсивной функции . . . . . . 85 3.1.2 Доказательствозавершениярекурсии………………… 89
3.2 Верификацияпрограммсовзаимнойрекурсией. . . . . . . . . . . . . . . . . . . 92 3.2.1 Универсальнаярекурсивнаяфункция………………… 94 3.2.2 Объединениефункций………………………… 95 3.2.3 Алгоритм преобразования произвольной рекурсии в прямую . . . . . . . . 96 3.2.4 Преобразование рекурсивных функций на языке Пифагор . . . . . . . . . 97
Выводы …………………………………….. 110
4 Инструментальная поддержка формальной верификации ФПП программ 112
4.1 Реализациясистемы ……………………………. 114
4.2 МодульподдержкиРИГ ………………………….. 114
4.2.1 Текстовое и внутренне представление информационного графа программы 115
4.2.2 ОсновныефункциимодуляподдержкиРИГ . . . . . . . . . . . . . . . . . 116
4.3 Модульподдержкитермов…………………………. 117 4.3.1 Текстовоепредставлениетермов …………………… 117 4.3.2 Внутреннеепредставлениетермов ………………….. 118 4.3.3 Трансляция термов из текстового представления во внутреннее . . . . . . 122 4.3.4 Основныефункциимодуляподдержкитермов . . . . . . . . . . . . . . . . 123
4.4 МодульподдержкиИГР ………………………….. 123 4.4.1 Внутренне представление информационного графа с разметкой . . . . . . 123 4.4.2 ОсновныефункциимодуляподдержкиИГР . . . . . . . . . . . . . . . . . 124
4.5 Модульподдержкидеревадоказательства…………………. 127
4.6 Модульподдержкибиблиотекиаксиомитеорем . . . . . . . . . . . . . . . . . . 128 4.6.1 Внутреннепредставлениеаксиомитеорем ……………… 128

4
4.6.2 Основные функции модуля поддержки библиотеки аксиом и теорем . . . 130 4.7 Интерфейспользователя………………………….. 130 4.7.1 РедакторИГР ……………………………. 131 4.7.2 Редакторузловдеревадоказательства ……………….. 137 4.7.3 Управлениебиблиотекойаксиомитеорем ……………… 137 Выводы …………………………………….. 138
Заключение ……………………………………140 Списоклитературы ………………………………. 141 Списоксокращений ………………………………. 157 ПриложениеА Актыовнедрении ……………………… 158 Приложение Б Семантика встроенных функций языка Пифагор . . . . . . . 160 Приложение В Стандартные теории языка спецификации . . . . . . . . . . . 168 Приложение Г Описание условий корректности ФПП программ с помощью
| логики HOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Приложение Д Аксиомы встроенных функций языка Пифагор . . . . . . . . 181 Приложение Е Примеры верификации рекурсивных функций . . . . . . . . . 186 Приложение Ж Частный случай рекурсии с явно выраженным
| рекуррентнымсоотношением ………………. 198 Приложение З Алгоритм работы системы поддержки доказательства . . . . 204 Приложение И Пример текстового представления РИГ . . . . . . . . . . . . . 205 Приложение К Синтаксис текстового представления языка спецификации 206 Приложение Л Входные данные глобального окружения . . . . . . . . . . . . 209 Приложение М Диаграмма лексического анализа текстового
| представлениятермов …………………… 212 Приложение Н Диаграмма синтаксического анализа текстового
| представлениятермов …………………… 213 Приложение О Пример текстового представления ИГР . . . . . . . . . . . . . 215

Актуальность темы и степень её разработанности. Постоянный рост объёма разрабатываемых программных систем и их ориентация на параллельную обработку дан- ных ведут к увеличению сложности программного обеспечения (ПО), что, в свою очередь, повышает вероятность возникновения различных ошибок. Традиционный способ обеспече- ния надёжности программ путём тестирования не может полностью удовлетворить возрас- тающие требования практического использования. Альтернативой тестированию являются методы формальной верификации, которые обеспечивают анализ всех возможных вариан- тов поведения системы. Формальная верификация — это формальное доказательство того, что программа соответствует своей спецификации [1, 2]. Методы формальной верификации позволяют доказать отсутствие ошибок в программе, в то время как тестирование лишь выявляет ошибки, но не даёт гарантии их отсутствия.
Существуют разнообразные подходы к формальной верификации программ [3]. Основ- ными являются методы проверки моделей [4], дедуктивный анализ [1], различные варианты уточнения программ [5, 6].
В настоящее время достигнуты определённые успехи в практическом применении фор- мальной верификации к последовательным программам. Разработан ряд систем для под- держки этого процесса. В качестве примера можно привести верификаторы программ на языке Си: Boogie [7] и система СПЕКТР [8]; системы для верификации объектно-ориентиро- ванных программ на Java: LOOP [9] и KeY [10]; системы для верификации функциональных программ: DSOLVE [11], HSOLVE [12].
Параллельное программирование позволяет существенно увеличить производитель- ность на современных вычислительных системах. Однако параллелизм приводит к значи- тельному усложнению разработки, а особенно отладки и верификации программ. Непосред- ственная ориентация современного параллельного программирования на существующие ар- хитектуры затрудняет формальную верификацию, так как наряду с логической корректно- стью программ приходится исследовать и влияние ресурсных ограничений, порождающих дополнительные ошибки. Ситуация может быть улучшена, если при разработке параллель- ных программ на первоначальных этапах можно было бы избавиться от ресурсных конфлик- тов. Одним из таких подходом является архитектурно-независимое параллельное програм- мирование [13, 14, 15, 166]. Представитель данного направления — функционально-потоковая модель параллельных вычислений (ФПМПВ) и созданный на её основе язык программиро- вания Пифагор [16, 17]. Основными идеями подхода являются исключение ресурсных огра- ничений и неявное управление вычислениями. В функционально-потоковой параллельной (ФПП) программе описываются только информационные связи между выполняемыми функ-
6
циями. Взаимодействие между функциями при этом осуществляется по готовности данных, что позволяет создавать программы с неограниченным параллелизмом, «сжатие» которого к конкретным вычислительным ресурсам и условиям эксплуатации будет происходить после верификации и отладки написанных программ [166, 167].
Перспективным видится то, что в отсутствии ресурсных ограничений основной упор в разработке параллельных программ и их анализе можно сделать именно на формальную верификацию при отсутствии ресурсных конфликтов. Вместе с тем следует отметить, что вопросы, связанные с формальной верификацией, в рамках данного направления практиче- ски не проработаны. Имеются работы, связанные с организацией отладки ФПП программ и использованием методов верификации для анализа корректности данных, не связанных с формальным доказательством логической корректности кода [18, 19, 168, 169].
Поэтому актуальной является разработка формальных методов и средств верифика- ции для языка функционально-потокового параллельного программирования, обеспечиваю- щих проверку логики функционирования программ.
Цель и задачи исследования. Целью работы является повышение надёжности и корректности функционально-потоковых параллельных программ посредством разработки методов формальной верификации.
Для достижения указанной цели в работе решаются следующие задачи:
— проанализировать существующие подходы к формальной верификации и возмож- ности их использования при функционально-потоковом параллельном программировании;
— формально описать семантику языка ФПП программирования Пифагор для фор- мирования основы методов анализа ФПП программ;
— разработать методы, обеспечивающие формальную верификацию ФПП программ;
— разработать инструментальное средство, обеспечивающее поддержку методов фор- мальной верификации ФПП программ.
Объектом исследования является функционально-потоковая модель параллельных вычислений и язык функционально-потокового параллельного программирования.
Предметом исследования являются методы и средства формальной верификации функционально-потоковых параллельных программ.
Научная новизна.
1. Для доказательства корректности функционально-потоковых параллельных про- грамм, написанных на языке Пифагор, впервые разработан метод верификации на базе ис- числения Хоара, эквивалентный по сложности методам доказательства корректности для по- следовательных программ, но позволяющий доказывать корректность программы без огра-

7
ничения параллелизма, что обеспечивается концепцией неограниченных вычислительных ре- сурсов.
2. Для доказательства завершения функционально-потоковых параллельных прог- рамм впервые предложен метод, использующий ограничивающую функцию, который до- пускает изменение спецификации программы таким образом, чтобы доказательство частич- ной корректности одновременно характеризовало и завершение программы. Это позволяет строить инструментальные средства поддержки доказательства на одной общей основе.
3. Для функционально-потоковых параллельных программ впервые предложен метод удаления взаимной рекурсии нескольких функций, позволяющий преобразовывать произ- вольную функцию в функцию с прямой рекурсией, это повышает эффективность верифика- ции за счёт преобразования программы только к одной функции.
4. Впервые разработана архитектура и реализован прототип инструментального сред- ства, обеспечивающего поддержку верификации функционально-потоковых параллельных программ с помощью предложенных методов. Это позволяет упростить процесс формаль- ной верификации за счёт наглядной визуализации дерева доказательства и автоматизации преобразований графа анализируемой функции.
Положения, выносимые на защиту.
1. Разработанный метод верификации на базе исчисления Хоара для ФПП программ на языке Пифагор позволяет доказывать частичную корректность ФПП программ.
2. Разработанный метод доказательства завершения ФПП программ совместно с ме- тодом верификации позволяет доказать тотальную корректность программы.
3. Предлагаемый метод удаления взаимной рекурсии нескольких функций позволяет преобразовать любую рекурсивную функцию ФПП программы в прямую рекурсию, чтобы применить к ней метод верификации.
4. Разработанный прототип инструментального средства для поддержки верифика- ции ФПП программ позволяет визуализировать процесс доказательства и автоматизирует построение дерева доказательства для упрощения процесса формальной верификации.
Теоретическая и практическая значимость работы. Результаты работы могут быть использованы для повышения эффективности разработки параллельных программ. На основе предложенных методов формальной верификации разработано инструментальное средство, обеспечивающее поддержку верификации функционально-потоковых параллель- ных программ.
Исследование выполнено при финансовой поддержке РФФИ в рамках научных про- ектов No 13-01-00360, No 17-07-00288 и ФЦП «Научные и научно-педагогические кадры инно- вационной России» No 14.А18.21.0396.

8
Полученные научные и практические результаты использованы в учебном процессе на кафедре вычислительной техники и кафедре высокопроизводительных вычислений Ин- ститута космических и информационных технологий СФУ при изучении дисциплин «Техно- логии разработки программного обеспечения», «Параллельное программирование», «Высо- копроизводительные вычисления на графических процессах» и при выполнении выпускных квалификационных работ.
Результаты исследования использованы при разработке функционально-потоковых параллельных программ для процесса высокоуровневого проектирования цифровых схем на базе функционально-потоковой парадигмы. Для разработки ФПП программ использовалась формализованная семантика языка Пифагор, проводилась формальная верификация ФПП программ перед их преобразованием в программы для сверхбольших интегральных схем.
Результаты практического применения диссертационного исследования подтвержде- ны актами о внедрении (приложение А).
Методы исследования. В работе использовались элементы теории множеств, ме- тоды математической логики (различные логики и аксиоматические теории, -исчисление, метод доказательства теорем на основе исчисления Хоара, методы доказательства заверше- ния программ на базе трансфинитной индукции), методы теории рекурсивных функций (по- строение универсальной рекурсивной функции для удаления взаимной рекурсии нескольких функций), элементы теории графов, методы и понятия теории алгоритмов, теории языков программирования, теории языков и формальных грамматик, теория разработки транслято- ров. Для описания результатов использовались UML-диаграммы, диаграммы Вирта и формы Бэкуса-Наура.
При создании программных инструментов использовались структурное и объектно- ориентированное программирование, кросс-платформенная библиотека Qt.
Апробация работы. Основные положения диссертации докладывались и обсуж- дались на 15 конференциях и семинарах, основные из которых: Международная научная конференция «Параллельные вычислительные технологии» (Челябинск, 2013; Ростов-на- Дону, 2018), Parallel Computing Technologies International Conference (Санкт-Петербург, 2013), Международная конференция «IX Сибирский конгресс женщин-математиков» (Красноярск, 2016), Всероссийская научная конференция памяти А.Л. Фуксмана «Языки программирова- ния и компиляторы» (Ростов-на-Дону, 2017), Международная конференция «Суперкомпью- терные дни в России» (Москва, 2018).
Получено два свидетельства о регистрации программного обеспечения (2013, 2021).
По теме диссертации опубликовано двадцать три научные работы; из которых шесть статей в изданиях, рекомендуемых ВАК; три статьи входят в список Web of Science Core

9
Collection; пять статей индексируется в Scopus.
Личный вклад автора. Основные результаты являются новыми и получены лично
автором. Автором проведён значительный объём научных изысканий, подготовлены публи- кации; предложен метод верификации на базе исчисления Хоара и доказательства завер- шения ФПП программ на языке Пифагор; предложен метод удаления взаимных рекурсий нескольких функций в программах на языке Пифагор; разработано инструментальное сред- ство поддержки формальной верификации ФПП программ. Научные работы, опубликован- ные в соавторстве с научным руководителем, заключаются в разработке метода формальной верификации ФПП программ на основе дедуктивного анализа; разработке архитектуры ин- струментального средства поддержки формальной верификации ФПП программ. Совместно с научным руководителем автор осуществлял постановку целей и задач и анализ полученных результатов. В совместных публикациях автора с Удаловой Ю.В. включен разработанный автором метод доказательства завершения программ на языке Пифагор. В совместных пуб- ликациях автора с Непомнящим О.В., Матковским И.В., Васильевым В.М. и Романовой Д.С. научные результаты автора являются дополнением к концепции разрабатываемого ими транслятора функционально-потоковых параллельных программ.
Структура работы. Диссертационная работа состоит из введения, 4 глав, заклю- чения, списка литературы, включающего 188 наименований, списка сокращений и 14 при- ложений. Работа изложена на 157 листах машинописного текста, содержит 41 рисунок, 6 таблиц.
Во введении приводится общая характеристика работы и даётся краткий обзор содер- жания диссертации.
В первом разделе проводится анализ существующих подходов к формальной верифи- кации программ. На основе проведённого анализа выбираются наиболее подходящие методы для верификации ФПП программ. Проводится анализ инструментальных средств поддержки формальной верификации программ. На основе анализа предлагается общая схема архитек- туры инструментального средства, подходящая для верификации ФПП программ.
Во втором разделе анализируются и предлагаются методы формальной верификации ФПП программ. Разрабатывается аксиоматическая система для верификации ФПП про- грамм на языке Пифагор, являющегося практическим воплощением ФПМПВ. Для этого проводится формализация семантики ФПП программ, выбирается язык спецификации для формулировки свойств ФПП программ, разрабатываются аксиомы и правила вывода аксио- матической системы. Предлагается наглядный способ проведения доказательства на инфор- мационном графе программы.
В третьем разделе рассматривается доказательство корректности функций, содержа-

10
щих рекурсию. Процесс доказательства разделяется на два этапа: доказательство частич- ной корректности и завершения программы. Предлагается метод доказательства завершения программы, расширяющий исчисление Хоара для доказательства тотальной корректности, и метод удаления взаимной рекурсии нескольких функций.
В четвёртом разделе представлена архитектура системы, обеспечивающей поддерж- ку доказательства корректности ФПП программ, написанных на языке Пифагор. Описан прототип системы, построенный на базе данной архитектуры. Данная система визуализиру- ет процесс доказательства. Часть этапов доказательства выполняется автоматически; для другой части этапов, проходящих в интерактивном режиме, система предоставляет всевоз- можные варианты пути доказательства, из которых пользователь выбирает допустимые.
В заключении формулируются основные результаты работы.
Автор благодарен научному руководителю профессору Легалову Александру Ивано- вичу за постановку задачи и внимание к работе. Признателен сотрудникам кафедры вычис- лительной техники Института космических и информационных технологий СФУ за хорошие условия работы над диссертацией.

Заказать новую

Лучшие эксперты сервиса ждут твоего задания

от 5 000 ₽

Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям

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

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

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

    Хочешь уникальную работу?

    Больше 3 000 экспертов уже готовы начать работу над твоим проектом!

    Анна Н. Государственный университет управления 2021, Экономика и ...
    0 (13 отзывов)
    Закончила ГУУ с отличием "Бухгалтерский учет, анализ и аудит". Выполнить разные работы: от рефератов до диссертаций. Также пишу доклады, делаю презентации, повышаю уни... Читать все
    Закончила ГУУ с отличием "Бухгалтерский учет, анализ и аудит". Выполнить разные работы: от рефератов до диссертаций. Также пишу доклады, делаю презентации, повышаю уникальности с нуля. Все работы оформляю в соответствии с ГОСТ.
    #Кандидатские #Магистерские
    0 Выполненных работ
    Татьяна Б.
    4.6 (92 отзыва)
    Добрый день, работаю в сфере написания студенческих работ более 7 лет. Всегда довожу своих студентов до защиты с хорошими и отличными баллами (дипломы, магистерские ди... Читать все
    Добрый день, работаю в сфере написания студенческих работ более 7 лет. Всегда довожу своих студентов до защиты с хорошими и отличными баллами (дипломы, магистерские диссертации, курсовые работы средний балл - 4,5). Всегда на связи!
    #Кандидатские #Магистерские
    138 Выполненных работ
    Андрей С. Тверской государственный университет 2011, математический...
    4.7 (82 отзыва)
    Учился на мат.факе ТвГУ. Любовь к математике там привили на столько, что я, похоже, никогда не перестану этим заниматься! Сейчас работаю в IT и пытаюсь найти время на... Читать все
    Учился на мат.факе ТвГУ. Любовь к математике там привили на столько, что я, похоже, никогда не перестану этим заниматься! Сейчас работаю в IT и пытаюсь найти время на продолжение диссертационной работы... Всегда готов помочь! ;)
    #Кандидатские #Магистерские
    164 Выполненных работы
    Антон П. преподаватель, доцент
    4.8 (1033 отзыва)
    Занимаюсь написанием студенческих работ (дипломные работы, маг. диссертации). Участник международных конференций (экономика/менеджмент/юриспруденция). Постоянно публик... Читать все
    Занимаюсь написанием студенческих работ (дипломные работы, маг. диссертации). Участник международных конференций (экономика/менеджмент/юриспруденция). Постоянно публикуюсь, имею высокий индекс цитирования. Спикер.
    #Кандидатские #Магистерские
    1386 Выполненных работ
    Олег Н. Томский политехнический университет 2000, Инженерно-эконо...
    4.7 (96 отзывов)
    Здравствуйте! Опыт написания работ более 12 лет. За это время были успешно защищены более 2 500 написанных мною магистерских диссертаций, дипломов, курсовых работ. Явл... Читать все
    Здравствуйте! Опыт написания работ более 12 лет. За это время были успешно защищены более 2 500 написанных мною магистерских диссертаций, дипломов, курсовых работ. Являюсь действующим преподавателем одного из ВУЗов.
    #Кандидатские #Магистерские
    177 Выполненных работ
    Анна Александровна Б. Воронежский государственный университет инженерных технол...
    4.8 (30 отзывов)
    Окончила магистратуру Воронежского государственного университета в 2009 г. В 2014 г. защитила кандидатскую диссертацию. С 2010 г. преподаю в Воронежском государственно... Читать все
    Окончила магистратуру Воронежского государственного университета в 2009 г. В 2014 г. защитила кандидатскую диссертацию. С 2010 г. преподаю в Воронежском государственном университете инженерных технологий.
    #Кандидатские #Магистерские
    66 Выполненных работ
    Ольга Б. кандидат наук, доцент
    4.8 (373 отзыва)
    Работаю на сайте четвертый год. Действующий преподаватель вуза. Основные направления: микробиология, биология и медицина. Написано несколько кандидатских, магистерских... Читать все
    Работаю на сайте четвертый год. Действующий преподаватель вуза. Основные направления: микробиология, биология и медицина. Написано несколько кандидатских, магистерских диссертаций, дипломных и курсовых работ. Слежу за новинками в медицине.
    #Кандидатские #Магистерские
    566 Выполненных работ
    Дмитрий М. БГАТУ 2001, электрификации, выпускник
    4.8 (17 отзывов)
    Помогаю с выполнением курсовых проектов и контрольных работ по электроснабжению, электроосвещению, электрическим машинам, электротехнике. Занимался наукой, писал стать... Читать все
    Помогаю с выполнением курсовых проектов и контрольных работ по электроснабжению, электроосвещению, электрическим машинам, электротехнике. Занимался наукой, писал статьи, патенты, кандидатскую диссертацию, преподавал. Занимаюсь этим с 2003.
    #Кандидатские #Магистерские
    19 Выполненных работ
    Ольга Р. доктор, профессор
    4.2 (13 отзывов)
    Преподаватель ВУЗа, опыт выполнения студенческих работ на заказ (от рефератов до диссертаций): 20 лет. Образование высшее . Все заказы выполняются в заранее согласован... Читать все
    Преподаватель ВУЗа, опыт выполнения студенческих работ на заказ (от рефератов до диссертаций): 20 лет. Образование высшее . Все заказы выполняются в заранее согласованные сроки и при необходимости дорабатываются по рекомендациям научного руководителя (преподавателя). Буду рада плодотворному и взаимовыгодному сотрудничеству!!! К каждой работе подхожу индивидуально! Всегда готова по любому вопросу договориться с заказчиком! Все работы проверяю на антиплагиат.ру по умолчанию, если в заказе не стоит иное и если это заранее не обговорено!!!
    #Кандидатские #Магистерские
    21 Выполненная работа

    Последние выполненные заказы

    Другие учебные работы по предмету

    Метод и алгоритмы назначения заданий в распределенной информационной системе Интернета вещей
    📅 2022год
    🏢 ФГБОУ ВО «Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет)»