Тип работы:
Предмет:
Язык работы:


Система контрактов для функционально-потокового языка параллельного программирования

Работа №165904

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы48
Год сдачи2022
Стоимость4550 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
26
Не подходит работа?

Узнай цену на написание


Введение 4
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] предложено задавать информацию о типах данных параметров функций непосредственно в исходном коде программ. Актуальной является проблема формирования на основе этой информации описаний типов данных в форматах, поддерживаемых различными инструментами.
В первой главе работы предложен формат описания типов данных функций языка Пифагор учитывающий, что различные инструменты используют отличающиеся спецификации типов.
Во второй главе рассмотрены детали проектирования инструментального средства, в результате которого сформированы статическая и динамическая модели системы.
В третьей главе рассмотрены вопросы реализации и тестирования инструмента, а также его интеграции в существующую систему ФПП программирования. ..

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Спроектирована система поддержки контрактного программирования для ФШ1 языка Пифагор, позволяющая автоматизировать процесс создания информации о типах данных для различных инструментов ФПП программирования непосредственно на основе исходного кода программы. Такой подход упрощает процесс программирования и сокращает время разработки.
Инструментальное средство имеет гибкую архитектуру, которая позволяет с минимальными усилиями и без модификации существующего кода добавлять поддержку новых инструментов, использующих статическую информацию о типах данных.
После реализации система протестирована на программах, содержащих контракты, из модуля трансформации функционально-потоковых программ в императивную форму.



1. Легалов, А. И. Функциональный язык для создания архитектурно-независимых параллельных программ / А. И. Легалов // Вычислительные технологии. - 2005. - Т. 10. - № 1. - С. 71-89.
2. Свидетельство о государственной регистрации программы для ЭВМ № 2018666577 Российская Федерация. Программа для трансляции функционально¬потокового языка параллельного программирования : № 2018663780 : заявл. 03.12.2018 : опубл. 18.12.2018 / И. В. Матковский, А. И. Легалов, В. С. Васильев, А. И. Постников ; заявитель Федеральное государственное автономное образовательное учреждение высшего образования «Сибирский федеральный университет» (СФУ).
3. Свидетельство о государственной регистрации программы для ЭВМ №
2020612517 Российская Федерация. Программный интерпретатор функционально-потокового языка параллельного программирования : №
2020611538 : заявл. 14.02.2020 : опубл. 25.02.2020 / А. И. Легалов, И. В. Матковский ; заявитель Федеральное государственное автономное образовательное учреждение высшего образования «Сибирский федеральный университет» (СФУ).
4. Свидетельство о государственной регистрации программы для ЭВМ №
2021611582 Российская Федерация. Транслятор архитектурно-независимого описания автоматных и комбинационных схем : № 2021610682 : заявл.
25.01.2021 : опубл. 01.02.2021 / О. В. Непомнящий, Д. С. Романова, И. Н. Рыженко, А. И. Легалов ; заявитель Федеральное государственное автономное образовательное учреждение высшего образования «Сибирский федеральный университет» (СФУ).
5. Свидетельство о государственной регистрации программы для ЭВМ № 2021662788 Российская Федерация. Программа преобразования реверсивных информационных графов языка ПИФАГОР в программы на языке С++ : № 2021661762 : заявл. 26.07.2021 : опубл. 04.08.2021 / В. С. Васильев, О. В. Непомнящий ; заявитель Федеральное государственное автономное образовательное учреждение высшего образования «Сибирский федеральный университет».
6. Свидетельство о государственной регистрации программы для ЭВМ №
2018666434 Российская Федерация. Программа для оптимизации функционально-потокового языка параллельного программирования : №
2018663789 : заявл. 03.12.2018 : опубл. 17.12.2018 / В. С. Васильев, А. И. Легалов, И. В. Матковский, О. В. Непомнящий ; заявитель Федеральное государственное автономное образовательное учреждение высшего образования «Сибирский федеральный университет» (СФУ).
7. Васильев, В. С. Трансформация функционально-потоковых параллельных программ в императивные / В. С. Васильев, А. И. Легалов, С. В. Зыков // Моделирование и анализ информационных систем. - 2021. - Т. 28. - №
2. - С. 198-214.
8. Инструментальная поддержка создания и трансформации функционально-потоковых параллельных программ / А. И. Легалов, В. С. Васильев, И. В. Матковский, М. С. Ушакова // Труды Института системного программирования РАН. - 2017. - Т. 29. - № 5. - С. 165-184.
9. Легалов, А. И. Статически типизированная версия языка функционально-потокового параллельного программирования / А. И. Легалов, И. А. Легалов, И. В. Матковский // Параллельные вычислительные технологии (ПаВТ'2020) : Короткие статьи и описания плакатов, Пермь, 31 марта - 02 2020 года. - Пермь: Издательский центр ЮУрГУ, 2020. - С. 185-192.
10. Легалов, А. И. Особенности хранения функционально-потоковых параллельных программ / А. И. Легалов, И. В. Матковский, А. В. Анкудинов // Вестник Сибирского государственного аэрокосмического университета им. академика М.Ф. Решетнева. - 2013. - № 4(50). - С. 53-57.
11. Ушакова, М. С. Инструментальная поддержка формальной верификации программ, написанных на языке функционально-потокового параллельного программирования / М. С. Ушакова, А. И. Легалов // Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика. - 2015. - Т. 4. - № 2. - С. 58-70.
12. Непомнящий, О. В. Методы, алгоритмы и программные инструменты архитектурно независимого высокоуровневого синтеза однокристальных цифровых систем / О. В. Непомнящий, И. Н. Рыженко, А. И. Легалов // Суперкомпьютерные технологии (СКТ-2018) : Материалы 5-й Всероссийской научно-технической конференции, Дивноморское, Геленджик, 17-22 сентября 2018 года. - Дивноморское, Геленджик: Южный федеральный университет, 2018. - С. 104-109.
13. Старолетов, С. М. Основы тестирования и верификации программного обеспечения : учебное пособие / С. М. Старолетов. - Санкт-Петербург : Лань, 2018. - 344 с.
14. PyContracts // GitHub: Where the world builds software [сайт]. — URL: https://github.com/AlexandruBurlacu/pycontracts (дата обращения: 27.05.2022).
15. jsContract // GitHub: Where the world builds software [сайт]. — URL: https://github.com/oyvindkinsey/jsContract (дата обращения: 27.05.2022)...33


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ