Тема: Система контрактов для функционально-потокового языка параллельного программирования
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 Разработка спецификации требований 6
1.1 Анализ существующего подхода к разработке ФШ1 программ 6
1.2 Разработка универсального формата описания типов данных 8
1.3 Разработка функциональных требований 10
1.3.1 Анализ функциональных требований 10
1.3.2 Формализация функциональных требований 13
1.4 Выводы по главе 17
2 Проектирование 18
2.1 Модель предметной области системы 18
2.2 Динамическая модель системы 19
2.3 Статическая модель системы 25
2.4 Выводы по главе 28
3 Реализация и интеграция с существующими инструментами 29
3.1 Модули обработки контрактов и анализа ввода пользователя 29
3.2 Обработка ошибок 29
3.3 Интернационализация 30
3.4 Платформо-зависимые части системы 31
3.5 Модульное тестирование 32
3.6 Интеграция с существующими инструментами 32
3.7 Выводы по главе 34
Заключение 35
Список сокращений 36
Список использованных источников 37
Приложение А Инструкция по сборке проекта и запуску модульных тестов . ... 41
📖 Введение
Функционально-потоковая парадигма (Ф1111) параллельного
программирования обладает рядом особенностей, затрудняющих использование готовых решений для создания интегрированной среды разработки (ИСР). Наиболее развитым ФНН языком является Пифагор [1]. Для этого языка существует множество инструментальных средств, которые должна объединять ИСР. Среди них:
- транслятор [2], преобразующий текстовое представление программы в набор реверсивных информационных графов (РИГ) и управляющих графов (УГ), имеющих текстовое и графическое представление;
- интерпретатор [3], обеспечивающий возможность исполнения этих программ;
- система синтеза сверхбольших интегральных схем (СБИС) на основе РИГ [4];
- верификатор, позволяющий доказывать свойства программ;
- отладчик, предоставляющий возможность исполнения программы в пошаговом режиме и просмотра текущих значений переменных;
- система преобразования программ в императивную форму (программ языка C++) [5];
- система оптимизации кода, позволяющая выполнять 14 различных преобразований [6];
- система, реализующая хранение программ в различных репозиториях.
Некоторые из этих инструментов помимо исходного кода программ, РИГ и УГ ожидают информацию о типах данных параметров функций. В работе [7] предложено задавать информацию о типах данных параметров функций непосредственно в исходном коде программ. Актуальной является проблема формирования на основе этой информации описаний типов данных в форматах, поддерживаемых различными инструментами.
В первой главе работы предложен формат описания типов данных функций языка Пифагор учитывающий, что различные инструменты используют отличающиеся спецификации типов.
Во второй главе рассмотрены детали проектирования инструментального средства, в результате которого сформированы статическая и динамическая модели системы.
В третьей главе рассмотрены вопросы реализации и тестирования инструмента, а также его интеграции в существующую систему ФПП программирования. ..
✅ Заключение
Инструментальное средство имеет гибкую архитектуру, которая позволяет с минимальными усилиями и без модификации существующего кода добавлять поддержку новых инструментов, использующих статическую информацию о типах данных.
После реализации система протестирована на программах, содержащих контракты, из модуля трансформации функционально-потоковых программ в императивную форму.



