Разработка методов поиска неисправностей в программном обеспечении при автоматизированном производстве компонентов электронной техники тема диссертации и автореферата по ВАК РФ 00.00.00, кандидат наук Букарев Антон Владимирович
- Специальность ВАК РФ00.00.00
- Количество страниц 145
Оглавление диссертации кандидат наук Букарев Антон Владимирович
Список сокращений
Введение
Глава 1. Аналитический обзор современных методов и средств поиска неисправностей в программном обеспечении при автоматизированном производстве компонентов электронной техники
1.1 Современные методы поиска неисправностей в программном обеспечении автоматизированных систем
1.2 Современные средства поиска неисправностей в программном обеспечении автоматизированных систем
1.3 Особенности автоматизированного производства компонентов электронной техники и статистические характеристики поиска неисправностей в программном обеспечении
1.4 Постановка задачи диссертации
Выводы по главе
Глава 2. Исследование и разработка математической модели поиска неисправностей в программном обеспечении при автоматизированном производстве КЭТ
2.1 Теоретические подходы и множественное представление поиска неисправностей в программном обеспечении
2.2 Формализация процесса автоматизированного поиска неисправностей с применением математического аппарата теории графов
2.3 Концепция представления поиска неисправностей с применением математического аппарата теории массового обслуживания
2.4 Разработка основополагающих критериев поиска неисправностей ПО при автоматизированном производстве КЭТ
Выводы по главе
Глава 3. Исследование и разработка методического и алгоритмического обеспечения для поиска неисправностей в ПО при автоматизированном производстве КЭТ
3.1 Классификация методов моделирования и средств создания имитационных моделей для разработки авторского метода анализа и оценки эффективности поиска неисправностей в ПО
3.2 Разработка метода анализа и оценки эффективности поиска неисправностей в ПО при автоматизированном производстве КЭТ
3.3 Разработка метода поиска неисправностей в ПО с применением облачных сервисов и технологии RPC при автоматизированном производстве КЭТ
3.4 Разработка алгоритма распределенного запуска сценариев поиска неисправностей в ПО при автоматизированном производстве КЭТ
Выводы по главе
Глава 4. Программная реализация предложенных решений в виде комплекса программных средств поиска неисправностей. Экспериментальные исследования и верификация результатов
4.1 Разработка структуры комплекса программных средств поиска неисправностей как программной реализации предложенных решений
4.2 Технология разработки распределенного запуска тестовых сценариев и определение параметров поиска неисправностей при автоматизированном производстве КЭТ
4.3 Экспериментальные исследования, верификация полученных результатов .. 105 Выводы по главе
Заключение
Список литературы
Приложение
Приложение
Приложение
Список сокращений
АПП - Автоматизация производственных процессов
АСУТП - Автоматизированная система управления технологическим процессом АСУП - Автоматизированная система управления предприятием АСУТПП - Автоматизированная система технологической подготовки производства
АЦП - Аналого-цифровой преобразователь БД - База данных
КЭТ - Компоненты электронной техники
КПС ПН - Комплекс программных средств поиска неисправностей МПН RPC - Метода поиска неисправностей в программном обеспечении с помощью технологии RPC
ОЗУ - Оперативное запоминающее устройство
ОС - Операционная система
ПЗУ - Постоянное запоминающее устройство
ПЛК - Программируемый логический контроллер
ПО - Программное обеспечение
СМО - Система массового обслуживания
ЦАП - Цифро-аналоговый преобразователь
ЦП - Центральный процессор
API - Application Programming Interface
CISC - Complex Instruction Set Computer
CI/CD - Continuous Integration/Continuous Delivery
COTS - Commercial Off The Shelf
DSP - Digital Signal Processor
GDB - GNU Debugger
GNU - GNU is Not Unix
IIoT - Industrial Internet of Things
IoT - Internet of Things
IT - Information Technologies
RISC - Reduced Instruction Set Computer
RPC - Remote Procedure Call
gRPC - Generic Remote Procedure Call
SCADA - Supervisory Control and Data Acquisition
SPI - Serial Peripheral Interface
SQL - Structured Query Language
TWI - Two-Wire Interface
USART - Universal Synchronous and Asynchronous Receiver-Transmitter
Рекомендованный список диссертаций по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Автономные системы управления на базе динамически реконфигурируемых процессоров для промышленных роботов2013 год, кандидат технических наук Павельев, Сергей Александрович
Логический язык программирования как инструмент спецификации и верификации для динамической памяти2020 год, кандидат наук Хаберланд Рене
Автоматизированная система мониторинга технологических процессов производства серы в республике Ирак2015 год, кандидат наук Карим Дия Альдин Али Хамид
Метод повышения устойчивости браузеров мобильных устройств к атакам на основе межсайтового выполнения сценариев2013 год, кандидат наук Глабай, Сергей Николаевич
Разработка эффективного метода организации программного обеспечения для автоматизированных систем управления технологическими процессами производства изделий микроэлектроники2022 год, кандидат наук Лебедев Александр Владимирович
Введение диссертации (часть автореферата) на тему «Разработка методов поиска неисправностей в программном обеспечении при автоматизированном производстве компонентов электронной техники»
Введение
Актуальность проблемы. По оценкам аналитических агентств TAdviser и Statista [1,2], продажи компонентов электронной техники (КЭТ) в настоящее время достигли 2 трлн евро. Тем не менее, современные методы и средства для диагностики неисправностей в программном обеспечении (ПО), используемые при автоматизированном производстве КЭТ, демонстрируют недостаточную эффективность, что обусловлено увеличением сложности ПО и ростом числа взаимосвязей между элементами системы. В результате количество ошибок, обнаруживаемых на этапе эксплуатации КЭТ, в среднем увеличивается на 24% ежегодно.
На такое положение дел указывают отечественные (Ершов А.П., Вичугова А.А., Колдаев В.Д., Одинцов И.О. и др.) и зарубежные (Kasurinen J., Taipale O., Smolander K., Forsberg K., Mooz H. и др.) ученые [35,36,40]. Одной из ключевых проблем поиска неисправностей при автоматизированном производстве КЭТ является использование более 100 КЭТ одновременно.
Исследования подтверждают, что цикл разработки КЭТ становится более продуктивным благодаря внедрению облачных технологий и сервисов, выполняющих различные функции для анализа и диагностики неисправностей в ПО. Данный подход обеспечивает возможность более глубокого и детализированного поиска ошибок. Однако текущие исследования в данной сфере в большей степени сосредоточены на использовании стратегий высокоуровневого проектирования архитектуры ПО, однако детали автоматизации поиска неисправностей ПО при автоматизированном производстве КЭТ оставлены без внимания.
В связи с вышесказанным, особую актуальность приобретает задача разработки эффективных модели, методов и алгоритмов поиска неисправностей в КЭТ с применением облачных сервисов.
Целью диссертационной работы является повышение эффективности поиска неисправностей в ПО при автоматизированном производстве КЭТ за счет применения облачных сервисов и специально разработанных модели, методов и алгоритма.
Для достижения цели требуется осуществить решение следующих задач: 1. Анализ современных методов и средств организации поиска неисправностей
в ПО при автоматизированном производстве КЭТ.
2. Разработка математической модели поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением аппарата теории массового обслуживания.
3. Разработка метода анализа и оценки эффективности поиска неисправностей в ПО при автоматизированном производстве КЭТ на основе имитационного моделирования с использованием предложенного формализованного представления.
4. Разработка метода поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и технологии RPC (Remote Procedure Call - вызов удаленных процедур) при автоматизированном производстве КЭТ.
5. Разработка алгоритма распределенного запуска сценариев поиска неисправностей в ПО с применением облачных сервисов и технологии RPC при автоматизированном производстве КЭТ.
6. Экспериментальные исследования и верификация результатов программной реализации предложенных решений для поиска неисправностей в ПО при автоматизированном производстве КЭТ.
Методы исследования. В рамках текущего исследования, основной теоретической и методологической основой служит системный анализ, применяемый для моделирования сложных структур, а также основные принципы кибернетики и общей теории систем. Для решения специфических исследовательских задач использован формальный аппарат теории множеств, комбинаторного анализа, теории массового обслуживания, теории вероятностей и высшей математики.
Научная новизна. Диссертационная работа является комплексом научно обоснованных технических решений и новых научных результатов, целью которых является обеспечение эффективной организации поиска неисправностей в ПО КЭТ за счет применения облачных сервисов и программной реализации предложенных решений - модели, методов и алгоритма, в частности:
1. Разработана математическая модель поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением формального аппарата теории массового обслуживания, использование которой позволяет заблаговременно дать оценку времени поиска и сократить его.
2. Разработан метод анализа и оценки эффективности поиска неисправностей в ПО при автоматизированном производстве КЭТ на основе имитационного моделирования с использованием предложенной математической модели, который в отличие от существующих позволяет снизить вероятность возможного брака на этапе технологической подготовки производства (свидетельство о регистрации программы для ЭВМ №2023619895) [46].
3. Разработан метод поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и технологии Remote Procedure Call, вызова удаленных процедур, отличающийся тем, что его применение позволяет осуществить одновременный запуск на тестирование более 100 КЭТ одновременно, что на порядок сокращает время поиска (свидетельства о регистрации программ для ЭВМ №2023619895, №2022666491, №2022666723, №2022665933) [42-44,46].
4. Разработан алгоритм распределенного запуска сценариев поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и технологии RPC, использование которого обеспечивает интеграцию предложенных решений в комплекс программных средств поиска неисправностей (КПС ПН) (свидетельство о регистрации программ для ЭВМ № 2022667352) [45].
Достоверность полученных результатов подтверждается оценочными критериями, теоретическими вычислениями, а также успешной эксплуатацией программной реализации предложенных решений при автоматизированном производстве КЭТ с использованием облачных сервисов. Показатели эффективности верифицированы имитационным моделированием и результатами экспериментов. Соответствие паспорту научной специальности.
Диссертация соответствует паспорту специальности 2.3.3. «Автоматизация и управление технологическими процессами и производствами», в частности направлениям исследований п.11, 12, 15.
Теоретическая и практическая значимости результатов работы заключается в том, что основные положения, выводы и рекомендации диссертации ориентированы на широкое применение предложенных решений при автоматизированном производстве КЭТ с использованием облачных сервисов. Проведенные
исследования и полученные результаты составляют теоретическую основу эффективной организации распределенного поиска неисправностей в ПО КЭТ с применением облачных сервисов. Результаты исследования доведены до конкретных методов и алгоритма.
Теоретические результаты диссертационной работы используются при подготовке бакалавров и магистров НИУ МИЭТ по направлениям 09.03.04 и 09.04.04 и используются в дисциплинах «Тестирование программного обеспечения», «Конструирование программного обеспечения», «Программная инженерия управляющих систем» (акт внедрения в учебный процесс).
Самостоятельное практическое значение имеют:
1. Метод анализа и оценки эффективности поиска неисправностей в ПО при автоматизированном производстве КЭТ на основе имитационного моделирования с использованием разработанной математической модели.
2. Метод поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и технологии ЯРС.
3. Алгоритм распределенного запуска сценариев поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и технологии ЯРС.
4. Программная реализация предложенных решений в виде КПС ПН для распределенного запуска сценариев поиска неисправностей в ПО с применением облачных сервисов при автоматизированном производстве КЭТ. Практическая ценность работы подтверждается актами внедрения результатов диссертационного исследования в промышленность (акты внедрения в АО «ЦКБ «Дейтон» и ООО «ЭВМКОМПЛЕКТ»).
Личный вклад автора. Автором лично получены все основные результаты диссертационной работы.
1. Исследованы современные методы и алгоритмы организации поиска неисправностей в ПО при автоматизированном производстве КЭТ с использованием облачных сервисов.
2. Разработан метод анализа и оценки эффективности поиска неисправностей для поиска неисправностей в ПО при автоматизированном производстве КЭТ
на основе имитационного моделирования с использованием предложенного формализованного представления.
3. Разработан метод поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и технологии ЯРС.
4. Разработан алгоритм распределенного запуска сценариев поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и технологии ЯРС.
5. Осуществлена верификация, полученных в диссертационном исследовании результатов применения программной реализации предложенных решений в виде КПС ПН для распределенного запуска сценариев поиска неисправностей в ПО с использованием облачных сервисов при автоматизированном производстве КЭТ.
Реализация полученных результатов. Все работы по реализации предложенных решений в виде модели, методов и алгоритма выполнялись под руководством или непосредственном участии автора. Результаты диссертационного исследования применяются на предприятиях АО «ЦКБ «Дейтон» и ООО «ЭВМКОМ-ПЛЕКТ».
Теоретические результаты диссертационной работы внедрены в НИУ МИЭТ в учебный процесс подготовки бакалавров и магистров по специальностям 09.03.04 и 09.04.04 и используются в дисциплинах «Тестирование программного обеспечения», «Конструирование программного обеспечения», «Программная инженерия управляющих систем».
Положения, выносимые на защиту. В результате выполненных исследований получены и выносятся на защиту следующие основные научные результаты:
1. Математическая модель поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением формального аппарата теории массового обслуживания, позволяющая оценить время поиска неисправностей при автоматизированном производстве КЭТ.
2. Метод анализа и оценки эффективности поиска неисправностей в ПО при автоматизированном производстве КЭТ на основе имитационного моделирования с использованием разработанной математической модели,
предусматривающий снижение вероятности возможного брака КЭТ на этапе технологической подготовки производства.
3. Метод поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и технологии ЯРС, позволяющий сократить время поиска неисправностей в 2 раза.
4. Алгоритм распределенного запуска сценариев поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и технологии ЯРС, программная реализация которого для интеграции предложенных решений в виде КПС ПН обеспечивает одновременное тестирование более 100 КЭТ.
5. Результаты экспериментальных исследований и верификация применения программной реализации предложенных решений в виде КПС ПН, обеспечивающего повышение производительности поиска неисправностей в ПО на 70%.
Апробация работы. Основные выводы, представленные в диссертационной работе, были представлены и обсуждены на 8 международных конференциях.
1. XXXI всероссийская межвузовская научно-техническая конференция студентов, аспирантов и молодых ученых «МИКРОЭЛЕКТРОНИКА и ИНФОРМАТИКА 2024», г. Москва, 2024 г.
2. IV научно-практическая конференция с международным участием «Актуальные проблемы информатизации в цифровой экономике и научных исследованиях», г. Москва, 2023 г.
3. Международная научно-практическая конференция «Задачи и возможности международного трансфера инновационных технологий», г. Уфа, 2023 г.
4. Международная научно-практическая конференция «Научно-технический прогресс как механизм развития современного общества», г. Волгоград, 2023 г.
5. XXI Международная научно-практическая конференция «Актуальные проблемы науки и образования в условиях современных вызовов», г. Москва, 2023 г.
6. XX Международная научно-практическая конференция «Актуальные проблемы общества, экономики и права в контексте глобальных вызовов», г. Москва, 2023 г.
7. Х Международная молодежная конференция «Перспективы науки и образования», г. Прага, 2023 г.
8. VIII международная научно-практическая конференция «Современные тенденции развития науки и мирового сообщества в эпоху цифровизации», г. Москва, 2022 г.
9. L - международная научно-практическая конференция «EURASIASCIENCE», г. Москва, 2022 г.
Публикации. Основные научные результаты, представленные в диссертации, нашли свое отражение в 23 научных работах, включая 5 статей, опубликованных в журналах ВАК и 5 свидетельств о регистрации программ для ЭВМ.
Структура и объем диссертации. Работа состоит из введения, четырех глав, заключения, перечня использованных литературных источников, а также приложений, содержащих листинги программ и акты о внедрении результатов исследования. Объем диссертации - 145 страниц, 3 таблицы, 38 иллюстраций.
Глава 1. Аналитический обзор современных методов и средств поиска неисправностей в программном обеспечении при автоматизированном производстве компонентов электронной техники
1.1 Современные методы поиска неисправностей в программном обеспечении автоматизированных систем
В связи с проникновением цифровизации буквально во все сферы производства, в том числе и в технологические процессы различных изделий, в последнее время ускоренными темпами растет объем их рынка (рис. 1). Однако, существующие в настоящее время методы и средства поиска неисправностей в программном обеспечении (ПО) автоматизированных систем - АСУП, АСУТП, АСТПП, - недостаточно эффективны в связи с быстрым ростом сложности ПО и увеличением количества взаимосвязей между компонентами систем, что затрудняет выявление и устранение неисправностей на ранних этапах и ведет к росту позднего обнаружения в среднем увеличивающегося на 24% ежегодно.
600
2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028
Рис. 1. Годовой объем рынка изделий с применением автоматизированного
производства1
Следовательно, для выпуска современной продукции, отвечающей международным стандартам качества, необходимо уделять приоритетное внимание поиску неисправностей в программном обеспечении автоматизированных систем.
Рис. 2. Распределение скорости исправления ошибок в ПО АСУТП
Согласно статистическим данным (рис.2), основная часть ошибок устраняется в течение нескольких дней, в то время как оставшиеся ошибки обрабатываются в соответствии с установленными приоритетами или устраняются незамедлительно. Вследствие этого существует значительный спрос на инструментарий оперативного поиска неисправностей в ПО при автоматизированном производстве, поскольку эффективная автоматизация облегчает своевременное внесение исправлений в ПО [3,38,77].
В ретроспективе развитие рынка программного обеспечения вообще демонстрирует устойчивый рост ПО автоматизированных производств, в частности ПО АСУТП, что наглядно проиллюстрировано на рис.3.
Анализ российского сектора АСУТП показывает, что ключевым подходом ведущих производств становится создание экономичных стандартизированных решений и их последующая интеграция в различные конфигурации, обеспечивающие:
Рис. 3. Динамика развития рынка ПО АСУТП
• оперативную адаптацию к увеличивающимся и усложняющимся требованиям заказчиков;
• нейтрализацию возрастающей комплексности систем за счет низкой стоимости, простоты и адаптивности основных компонентов, сокращая затраты на разработку, установку, обслуживание и модернизацию системы на протяжении ее эксплуатации;
• скорость достижения стандарта коммерчески доступных решений (COTS -Commercial of The Shelf) при разработке новых продуктов.
В современной практике принято следовать установленным стандартам и схемам структурирования подобных систем (рис. 4). Особенности каждой отдельной системы управления формируются в зависимости от программно-аппаратных платформ, применяемых на различных этапах ее реализации.
Первый уровень, отвечающий за ввод и вывод данных, охватывает сенсоры, задействованные для сбора сведений о прогрессе в технологических операциях, а также исполнительные устройства, предназначенные для осуществления контрольных и управленческих действий. Собранная сенсорами информация направляется к программируемым логическим контроллерам (ПЛК).
Рис. 4. Схематичное представление стандартной структуры АСУТП
Второй уровень предусматривает прямое управление технологическим процессом посредством ПЛК.
Третий уровень занимает диспетчеризация; контрольный центр агрегирует одно или несколько управленческих пунктов, формируя автоматизированное место работы для диспетчера или оператора. Обычно рабочие станции представлены персональными компьютерами, соответствующими стандарту IBM PC [4,95].
Современное развитие АСУТП тесно связано с прогрессом коммерческих промышленных технологий на всех их стадиях, что позволило предприятиям осуществлять разработку, внедрение, поддержку и улучшение АСУТП с помощью внутренних ресурсов, минуя необходимость вовлечения внешних IT-специалистов.
Производительность систем АСУТП непосредственно связана с эффективностью структурирования управленческого ПО (рис. 5). Анализируя архитектуру ПО, связанного с упомянутыми ранее уровнями, можно выделить следующее.
Рис. 5. Уровни структурирования ПО для АСУТП
Управление сенсорами и измерительными устройствами выполняется через драйверы, конфигурируемые с помощью специальных файлов для управления технологическим оборудованием
На уровне управляющего ПО данные, полученные от датчиков через промежуточные буферы, подвергаются обработке, взаимодействуя через серверное ПО, обеспечивающее связь с прикладным ПО для операторов.
Операторы, используя установленное на рабочих станциях ПО, направляют данные к технологическому оборудованию через системы высшего уровня и записывают эти данные в циклический буфер управления в общедоступной памяти. Осуществление локального контроля над технологическим оборудованием производится оператором через интерфейс человеко-машинного взаимодействия.
Информация о текущем состоянии параметров технологического процесса может быть применена для мониторинга и управления процессом с использованием автоматизированных рабочих мест операторов.
Методы организации программного обеспечения для АСУТП на производственных предприятиях классифицируются как «разомкнутые», «замкнутые» и «смешанные».
«Разомкнутые» методы характеризуются ручным управлением технологическими процессами оператором.
«Замкнутые» методы базируются на «едином» подходе к управлению технологическими объектами, где передача данных и управление процессами происходят в автоматическом режиме.
«Смешанные» методы представляют собой интеграцию «разомкнутых» и «замкнутых» подходов к управлению, где часть операций по контролю процессов
выполняется вручную, а другая часть — автоматически. Эти подходы находят применение на производственных площадках, где разнообразное оборудование объединено в единую производственную линию.
Наравне с замкнутыми и смешанными методами важно проверять логику Хоара. Логика Хоара — это формальный метод, включающий в себя набор логических законов, созданных для подтверждения корректности кода программного обеспечения. Система была впервые представлена в 1969 году британским ученым в областях информатики и математической логики Хоаром Ч.Э.Р., который вместе с другими исследователями продолжил ее развитие.
Центральным элементом логики Хоара является так называемая «тройка Хоара». Тройка иллюстрирует, как выполнение части кода модифицирует состояние вычислительной процедуры. Тройка Хоара представлена в форме {Р} С {$}, где Р и Q — это утверждения, а С — это инструкция. Р определяется как предусловие (или антецедент), в то время как Q определено как постусловие (или консеквент). Если предусловие выполняется, то инструкция приводит к выполнению постусловия. Все утверждения являются формулами в предикатной логике.
В логике Хоара есть аксиомы и правила вывода для всех конструкций простого императивного языка программирования. В дополнение к этим конструкциям, разработаны правила и для остальных конструкций: одновременного выполнения, вызова процедуры, перехода и указателя.
Основная концепция логики Хоара заключается в присвоении каждой команде в императивном языке программирования пред- и постусловий, которые записываются как логические формулы. Вот почему в названии присутствует слово «тройка» - предусловие, команда и постусловие.
• Для пустого оператора предусловие и постусловие идентичны.
• Оператор присваивания в своем постусловии требует учета того, что значение переменной изменилось по сравнению с предусловием.
• Для составного оператора имеется цепочка пред- и постусловий. В результате, для составного оператора можно просто присвоить первое предусловие и последнее постусловие.
• Правило вывода допускает усиление предусловия и ослабление постусловия, если это необходимо. Нет нужды поддерживать в программе утверждение, которое не способствует решению конкретной задачи.
• Условный оператор можно разделить на две ветви: then и else. Если к предусловию добавить истину логического условия, то после выполнения ветки then должно следовать постусловие. Аналогично, если к предусловию добавить отрицание логического условия, то после выполнения ветки else также следует постусловие.
• Оператор цикла. Это самое сложное, так как цикл может выполняться множество раз и даже никогда не закончиться. Для решения проблемы повторного выполнения тела цикла используется инвариант цикла. Инвариант цикла — это что-то, что истинно перед его выполнением, истинно после каждого выполнения тела цикла, и, следовательно, истинно и после окончания цикла.
• Цикл с полной корректностью добавляет к предыдущей концепции ограничивающую функцию, которая ограничивает количество выполняемых циклов.
• Качественно написать программу можно разными способами, и во многих случаях она будет эффективной. Выбор усложняет программирование, поэтому используется определенный стиль. Для многих программ необходимо доказать корректность.
Стандартная логика Хоара позволяет доказать только частичную правильность программы, поскольку завершение программы требует отдельного доказательства. Также в рамках этой логики невозможно выразить правило об избегании избыточных частей программы.
«Интуитивное» понимание тройки Хоара можно описать следующим образом: если Р верно до запуска С, то после выполнения С либо будет верно Q, либо С не будет завершено. Действительно, если С не завершился, то нет никакого «после», поэтому Q может быть любым утверждением. Более того, мы можем задать значение Q как «ложь», чтобы показать, что С никогда не завершится.
Полная правильность программы также может быть доказана с использованием расширенной версии правила для оператора while.
Хоаровская логика включает в себя набор аксиом для основных структур императивного языка программирования:
Аксиома пустого оператора устанавливает, что оператор skip (или пустой оператор) не изменяет состояния программы, а значит, утверждение, которое было истинно до выполнения skip, сохраняет свою истинность и после его выполнения:
{Р]БЫр{Р}.
Аксиома оператора присваивания утверждает, что после выполнения операции присваивания, значение любого предиката относительно правой части операции присваивания сохраняется, при условии подстановки правой части на левую:
{Р[Е/х]}х •= Е{Р}, где Р[Е/х] означает выражение Р, в котором все появления свободной переменной х заменены выражением Е.
Данная аксиома присваивания указывает, что истинность Р[Е/х] эквивалентна {Р} после выполнения операции присваивания. Так, если Р[Е/х] было истинно до присваивания, то согласно аксиоме присваивания {Р} будет истинно после присваивания. Аналогично, если Р[Е/х] было ложно до выполнения оператора присваивания, {Р} будет ложно после.
Однако, аксиома присваивания в ее оригинальной формулировке Хоара не применима, когда есть более одного идентификатора, относящегося к одному и тому же значению. В большинстве случаев {у = 3} х •= 2 {у = 3} является некорректным утверждением, если x и у ссылаются на одну и ту же переменную, так как нет такого предусловия, которое могло бы обеспечить равенство у и 3 после присваивания х равного 2.
Правило композиции в системе Хоара применяется к последовательности
С т с т с т ОТЯСМШПД]
программ ^ и I, где ^ выполняется перед I, что записывается как Ь; I: — —.
{Р]Ь;1 {К]
Правило условного оператора
Правило вывода
(Р) if В then S else Т endif (Q)
P'^P,(P]S(Q],Q^Q' (P')S(Q') ■
Т-Г {РЛВШР] п
Правило вывода [Р]д ао5аопеЬВАР], где Р инвариант цикла.
Правило оператора цикла с полной правильностью [р]„ШеВао5аопе ЬВАР], где
помимо сохранения инварианта цикла, также доказывается завершение цикла с использованием терма, называемого переменной цикла (здесь ¿), значение которого строго уменьшается по отношению <, известному как полностью упорядоченное отношение, с каждой итерацией. При этом условие В должно подразумевать, что t
Похожие диссертационные работы по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Методы комплексного подхода к автоматизации дедуктивной верификации программ с финитными итерациями2022 год, кандидат наук Кондратьев Дмитрий Александрович
Методы разработки и контроля качества программных средств обработки и анализа изображений2006 год, кандидат технических наук Балыков, Евгений Александрович
Двоично-разностные и спектрально-сигнатурные методы технической диагностики микропроцессорных информационно-управляющих систем на железнодорожном транспорте2012 год, кандидат технических наук Калинин, Тимур Сергеевич
Автоматизация и управление процессом принятия решений при многокритериальном проектировании пильного блока лесопильного станка2017 год, кандидат наук Фунг Ван Бинь
Совершенствование организации химического производства на принципах интегрированной поддержки жизненного цикла основных фондов2023 год, кандидат наук Флакс Дмитрий Борисович
Список литературы диссертационного исследования кандидат наук Букарев Антон Владимирович, 2024 год
Список литературы
1. TAdviser [Электронный ресурс]. URL: http://tadviser.ru (дата обращения: 08.09.2023).
2. Statista [Электронный ресурс]. URL: http://statista.com (дата обращения: 08.09.2023).
3. Прохоров Н. Л. и др. Технологии проектирования АСУТП: учеб. пособие для студентов вузов, обучающихся по направлению 230100 "Информатика и вычислит. техника". - Москва: МГИРЭА, 2006. - 160 с.
4. Юршев А. Ю., Смирнов М. Б. Методика и результаты тестирования совместимости средств защиты информации и АСУТП // Прикладная информатика. -2019. - Т. 14, № 3(81). - С. 91-102.
5. Яконовская Т. Б., Дергачев А. С. Тестирование программного обеспечения на дефекты как инструмент обеспечения качества // Саморазвивающаяся среда технического вуза: научные исследования и экспериментальные разработки: Материалы VII Всероссийской научно-практической конференции. - Тверь: ТГТУ, 25 января 2023 г. - С. 155-161.
6. Букарев А.В. Средства поиска неисправностей ПО при производстве компонентов электронной электроники // Международный журнал прикладных и фундаментальных исследований. - 2024. - № 1. - С. 22-27.
7. Букарев А.В. Алгоритм анализа и оценки эффективности типа тестирования программного обеспечения при производстве компонентов электронной техники // материалы XXXI Всероссийской межвузовской научно-технической конференции студентов, аспирантов и молодых ученых «МИКРОЭЛЕКТРОНИКА и ИНФ0РМАТИКА-2024», с.56.
8. Букарев А. В. Оценка эффективности метода поиска неисправностей программного обеспечения // «Актуальные проблемы информатизации в цифровой экономике и научных исследованиях - 2023». - сб. тезисов IV научно-практической конференции с международным участием. М., МИ-ЭТ, 2023 с.7.
9. Костин М. А. Функциональные методы тестирования программного обеспечения // Уральский научный вестник. - 2023. - Т. 5, № 9. - С. 80-83.
10. Барабак Н. П., Лукьяев М. М., Хабаров А. Р. Анализ методологий тестирования программного обеспечения // Образование в XXI веке: проблемы и
перспективы: сборник статей XV Международной научно-практической конференции. - Пенза: Приволжский Дом знаний, 23-24 ноября 2023 г. - С. 1518.
11. Шакирова А. И., Хасьянов А. Ф., Даутов Э. Ф. Сокращение времени тестирования программного обеспечения // Современные наукоемкие технологии. -2019. - № 7. - С. 104-109.
12. Гагарина Л. Г., Букарев А. В. Метод автоматизированного тестирования устройств потребительской электроники с помощью вызова удаленных процедур // Известия высших учебных заведений. Электроника. - 2023. - №5, С. 687-699.
13. Егоровская Г., Дорохов А., Чернов В. Система поддержки принятия решений при выборе стратегии тестирования программного обеспечения // The Caucasus. Economic and Social Analysis Journal of Southern Caucasus. - 2019. -Т. 5, № 32. - С. 140-146.
14. Смирнов М. С., Шевнина Ю. С. Сравнительный анализ программных продуктов для автоматизации процесса мониторинга производственной среды предприятия // Инновационные подходы к решению технико-экономических проблем: Сборник трудов Международной конференции. - Москва: НИУ "МИ-ЭТ", 29 мая 2023 г. - С. 141-145.
15. Букарев А. В. Эффективный метод автоматизированного тестирования программного обеспечения устройств потребительской электроники с использованием облачных устройств // Инженерный вестник Дона. - 2023. - №9, С. 212-219.
16. Букарев А. В. Практическое применение формализованного подхода для оптимизации процесса тестирования программного обеспечения в АСУ ТП // Современные наукоемкие технологии. - 2023. - №5, С. 7-12.
17. Зозуля М. М. Особенности применения байесовских графических моделей для тестирования программного обеспечения // Вестник Рязанского государственного радиотехнического университета. - 2022. - № 79. - С. 68-80.
18. Букарев А. В. Анализ статистических характеристик процесса автоматизированного тестирования мобильных приложений с использованием АСУ ТП // Перспективы науки. - 2023. - № 2(161). - С. 39-42.
19. Золотухина Е. Б., Макарова Е. А., Беляков А. А. Обзор методов тестирования программного обеспечения // Аллея науки. - 2018. - Т. 4, № 6(22). - С. 10-18.
20. Варсоцкий А. А. Необходимость автоматизации тестирования при производстве программного обеспечения // Студенческий. - 2019. - № 22-3(66). - С. 38-40.
21. Бахвалова З. А., Камышова Е. А. Роль формализации требований в тестировании программного обеспечения // Информационные и математические технологии в науке и управлении. - 2020. - № 1(17). - С. 120-129.
22. Bukarev A.V. A Comprehensive Examination of Software Verification Methods: Combining Static and Dynamic Approaches // Перспективы науки и образования: материалы X Международной молодежной конференции. - 2023 г.
23. Bukarev A.V. Improving mobile app quality through optimized testing strategies // The Austrian Journal of Technical and Natural Sciences. - 2023.
24. Bukarev A.V. Key features in the android software testing process // The European Science Review. - 2023.
25. Григорьев В. К., Бирюкова А. А., Овчинников М. А. Инфраструктурная поддержка импортозамещения программного обеспечения // Открытое образование. - 2018. - Т. 22, № 3. - С. 52-60.
26. Боровиков С. М., Казючиц В. О., Хорошко В. В. и др. Оценка ожидаемой надежности прикладных программных средств для компьютерных информационных систем // Информатика. - 2021. - Т. 18, № 1. - С. 84-95.
27. Букарев А. В. Сравнение современных методов тестирования для мобильных устройств: преимущества и недостатки // Научно-технический прогресс как механизм развития современного общества: сборник статей по итогам Международной научно-практической конференции. - Волгоград, 2023 г. - С. 5256.
28. Букарев А. В. Актуальные подходы к организации тестирования мобильных приложений // Актуальные проблемы науки и образования в условиях современных вызовов: материалы XXI Международной научно-практической конференции. - Москва, 2023 г.
29. Букарев А. В. Анализ инструментов автоматизированного тестирования мобильного программного обеспечения: сравнительный обзор // Актуальные
проблемы общества, экономики и права в контексте глобальных вызовов: материалы Международной конференции. - 2023 г.
30. Бурый А. С. Тестирование качества программного обеспечения в процессе его сертификации // Правовая информатика. - 2019. - № 1. - С. 46-55.
31. Тютляева Е. О., Одинцов И. О., Московский А. А., Мармузов Г. В. Тенденции развития вычислительных узлов современных суперкомпьютеров // Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика. - 2019. - Т. 8, № 3. - С. 92-114.
32. Vanhala E., Kasurinen J. The role of the customer in an agile project: A multi-case study // Lecture Notes in Business Information Processing. - 2019. - Vol. 370 LNBIP. - P. 208-222.
33. Herala A., Kasurinen J., Vanhala E. Views on open data business from software development companies // Journal of Theoretical and Applied Electronic Commerce Research. - 2018. - Vol. 13, No. 1. - P. 91-105.
34. Букарев А. В. Создание имитационной модели процессов тестирования программного обеспечения в АСУ ТП с использованием теории массового обслуживания // Современная наука: актуальные проблемы теории и практики. Серия: «Естественные и технические науки». - 2023. - №4/2, С. 51-54.
35. Riungu-Kalliosaari L., Taipale O., Smolander K., Richardson I. Adoption and use of cloud-based testing in practice // Software Quality Journal. - 2016. - Vol. 24, No. 2. - P. 337-364.
36. Savchenko D. I., Radchenko G. I., Taipale O. Microservices validation: Mjolnirr platform case study // 2015 38th International Convention on Information and Communication Technology, Electronics and Microelectronics, MIPRO 2015 - Proceedings. - Opatija, 25-29 мая 2015 года. - P. 235-240.
37. Гагарина Л. Г., Шевнина Ю. С. Моделирование цифрового двойника производственного процесса с использованием смарт структуры // Системы компьютерной математики и их приложения. - 2022. - № 23. - С. 84-90.
38. Ullah M., Nardelli P. H. J., Wolff A., Smolander K. Twenty-One Key Factors to Choose an IoT Platform: Theoretical Framework and Its Applications // IEEE Internet of Things Journal. - 2020. - Vol. 7, No. 10. - P. 10111-10119.
39. Mahmud H., Islam A. K. M. N., Ahmed S. I., Smolander K. What influences algorithmic decision-making? A systematic literature review on algorithm aversion // Technological Forecasting and Social Change. - 2022. - Vol. 175. - P. 121390.
40. Riungu L. M., Taipale O., Smolander K. Software testing as an online service: Observations from practice // ICSTW 2010 - 3rd International Conference on Software Testing, Verification, and Validation Workshops. - Paris, 06-10 апреля 2010 года. - P. 418-423.
41. Гринченко Н. Н., Калинин Т. А., Панкова М. А. Обзор и анализ моделей процесса жизненного цикла разработки программного обеспечения // Методы и средства обработки и хранения информации: Межвузовский сборник научных трудов. - Рязань: РГРТУ, 2019. - Вып. 2. - С. 82-86.
42. Свидетельство о регистрации программы для ЭВМ № 2022665933 «Программа перевода данных в заданный JSON формат» / Букарев А.В. - Заявка 2022664824 от 08.08.2022. Дата регистрации 23.08.2022.
43. Свидетельство о регистрации программы для ЭВМ № 2022666491 «Загрузчик тестируемого ПО на WP8 платформу» / Букарев А.В. - Заявка 2022665924 от 29.08.2022. Дата регистрации 05.09.2022.
44. Свидетельство о регистрации программы для ЭВМ № 2022666723 «Загрузчик тестируемого ПО на WinRT платформу» / Букарев А.В. - Заявка 2022665921 от 29.08.2022. Дата регистрации 06.09.2022.
45. Свидетельство о регистрации программы для ЭВМ № 2022667352 «Программа генерации сетевого слоя для тестирования программного обеспечения» / Букарев А.В. - Заявка 2022665981 от 31.08.2022. Дата регистрации 19.09.2022.
46. Свидетельство о регистрации программы для ЭВМ № 2023619895 «Программная реализация модели процессов тестирования программного обеспечения методами ручного, модульного и автоматизированного тестирования» / Букарев А.В. - Заявка 2023619185 от 03.05.2023. Дата регистрации 17.05.2023.
47. Электронный ресурс PVS-Studio [Электронный ресурс]. URL: https://pvs-studio.com/en/pvs-studio/ (дата обращения: 12.03.2024).
48. Электронный ресурс Coverity Scan [Электронный ресурс]. URL: https://scan.coverity.com/ (дата обращения: 12.03.2024).
49. Электронный ресурс CPPCheck [Электронный ресурс]. URL: https://cppcheck.sourceforge.io/ (дата обращения: 12.03.2024).
50. Электронный ресурс Valgrind [Электронный ресурс]. URL: https://valgrind.org/ (дата обращения: 12.03.2024).
51. Электронный ресурс GDB [Электронный ресурс]. URL: https://sourceware.org/gdb/ (дата обращения: 12.03.2024).
52. Электронный ресурс JetBrains IDEA [Электронный ресурс]. URL: https://www.jetbrains.com/idea/ (дата обращения: 12.03.2024).
53. Электронный ресурс Atlassian Jira [Электронный ресурс]. URL: https://www.atlassian.com/software/jira (дата обращения: 12.03.2024).
54. Электронный ресурс Atlassian Confluence [Электронный ресурс]. URL: https://www.atlassian.com/software/confluence (дата обращения: 12.03.2024).
55. Электронный ресурс Selenium [Электронный ресурс]. URL: https://www.selenium.dev/ (дата обращения: 12.03.2024).
56. Электронный ресурс SmartBear TestComplete [Электронный ресурс]. URL: https://smartbear.com/product/testcomplete/ (дата обращения: 12.03.2024).
57. Электронный ресурс Ranorex [Электронный ресурс]. URL: https://www.ranorex.com/ (дата обращения: 12.03.2024).
58. Электронный ресурс Jenkins [Электронный ресурс]. URL: https://www.jenkins.io/ (дата обращения: 12.03.2024).
59. Электронный ресурс Travis CI [Электронный ресурс]. URL: https://www.travis-ci.com/ (дата обращения: 12.03.2024).
60. Электронный ресурс CircleCI [Электронный ресурс]. URL: https://circleci.com/ (дата обращения: 12.03.2024).
61. Электронный ресурс Postman [Электронный ресурс]. URL: https://www.postman.com/ (дата обращения: 12.03.2024).
62. Электронный ресурс OWASP ZAP [Электронный ресурс]. URL: https://www.zaproxy.org/ (дата обращения: 12.03.2024).
63. Электронный ресурс Tenable Nessus [Электронный ресурс]. URL: https://www.tenable.com/products/nessus (дата обращения: 12.03.2024).
64. Электронный ресурс LoadRunner Professional [Электронный ресурс]. URL: https://www.opentext.com/products/loadrunner-professional (дата обращения: 12.03.2024).
65. Электронный ресурс Apache JMeter [Электронный ресурс]. URL: https://jmeter.apache.org/ (дата обращения: 12.03.2024).
66. Электронный ресурс JUnit5 [Электронный ресурс]. URL: https://junit.org/junit5/ (дата обращения: 12.03.2024).
67. Электронный ресурс NUnit [Электронный ресурс]. URL: https://nunit.org/ (дата обращения: 12.03.2024).
68. Электронный ресурс Google Test [Электронный ресурс]. URL: https://github.com/google/googletest (дата обращения: 12.03.2024).
69. Михальчук В. Д., Решентикова И. В. Использование ручного и автоматизированного тестирования ПО в гибких методологиях проектирования // Современные инструментальные системы, информационные технологии и инновации: сборник научных трудов XV-ой Международной научно-практической конференции. - Курск: Юго-Западный государственный университет, 2020. -С. 203-207.
70. Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Технология разработки программного обеспечения: учебное пособие для студентов высших учебных заведений, обучающихся по направлению 230100 "Информатика и вычислительная техника", специальности 230105 "Программное обеспечение вычислительной техники и автоматизированных систем". - Москва: Форум, 2008. -399 с.
71. Карышев А. А., Ромашов П. А. Система для автоматизации ручного тестирования программного обеспечения // Электронный журнал: наука, техника и образование. - 2016. - № 2(6). - С. 140-146.
72. Мухутдинов Р. А., Мухутдинов А. А., Коняева О. С. CI/CD системы // Студенческий вестник. - 2020. - № 19-10(117). - С. 69-70.
73. Drobintsev P. D., Kotlyarov V. P., Letichevsky A. A., Selin I. A. Industrial software verification and testing technology // CEUR Workshop Proceedings. - 2017. - Pp. 221-229.
74. Kanner T. M. Applicability of software testing methods to software and hardware data security tools // Global Journal of Pure and Applied Mathematics. - 2016. -№12. - Pp. 167-190.
75. Garousi V., Felderer M., Karapi?ak M., Yilmaz U. Testing embedded software: A survey of the literature // Information and Software Technology. - 2018. - №104. - Pp. 14-45.
76. Li M. Security Testing Technology and Protection Technology in Computer Software Technology Under the Background of Big Data // Advances in Intelligent Systems and Computing. - 2021. - №1384. - Pp. 382-388.
77. Statista [Электронный ресурс]: [Статья]. - Доступ из сети: https://www.statista.com/chart/5118/mobile-os-fragmentation/ (дата обращения: 23.12.2022).
78. Barabanov A., Markov A., Tsirlov V. Statistics of software vulnerability detection in certification testing // In International Conference Information Technologies in Business and Industry 2018. - Tomsk, Russia, 2017.
79. Bermejo J. R., Bermejo J., Sicilia J. A., Cubo J., Nombela J. J. Benchmarking Approach to Compare Web Applications Static Analysis Tools Detecting OWASP Top Ten Security Vulnerabilities // Comput. Mater. Contin. - 2020. - 64. - Pp. 15551577.
80. Nunes P., Medeiros I., Fonseca J. C., Neves N., Correia M., Vieira M. Benchmarking Static Analysis Tools for Web Security // IEEE Trans. Reliab. - 2018. - 67. -Pp. 1159-1175.
81. Васильев В. И., Вульфин А. М., Кириллова А. Д. Анализ и управление рисками информационной безопасности АСУ ТП на основе когнитивного моделирования // Моделирование, оптимизация и информационные технологии. -2022. - Т. 10, № 2(37).
82. Давидюк Н. В., Учаев Д. Ю. Обеспечение информационной безопасности АСУ ТП как объектов критической информационной инфраструктуры // Новейшие технологии освоения месторождений углеводородного сырья и обеспечение безопасности экосистем Каспийского шельфа: Материалы XIII Международной научно-практической конференции. - Астрахань: АГТУ, 2022. -С. 376-384.
83. Букарев А. В. Моделирование процесса разработки программного обеспечения с использованием Python и теории массового обслуживания // Задачи и возможности международного трансфера инновационных технологий: сборник статей Международной научно-практической конференции, Магнитогорск, 2023 г. С. 11-16.
84. Милютина А. М., Лапшакова А. В., Джураева Д. Х. Анализ мер обеспечения безопасности на диспетчерском уровне АСУ ТП // Вызовы современности и стратегии развития общества в условиях новой реальности: Сборник материалов IX международной научно-практической конференции. - Москва: ООО «Ирок», 2022. - С. 110-113.
85. Кушнев Д. В., Долбилкин А. В., Петровнина А. М., Пилипенко Г. К. Свидетельство о государственной регистрации программы для ЭВМ № 2022683155 Российская Федерация. Программное обеспечение для обработки, сортировки и анализа расчетных элементов АСУ ТП. - № 2022682480. - Заявл. 23.11.2022. - Опубл. 01.12.2022.
86. Петров К. А., Николаев А. С. Разработка программного обеспечения автоматизации формирования проектной документации на системы обеспечения информационной безопасности АСУ ТП // Тинчуринские чтения - 2022 «Энергетика и цифровая трансформация»: Сборник статей. - Казань: КГЭУ, 2022. -Том 3. - С. 114-116.
87. Ненашева Е. А. Современные подходы к обеспечению информационной безопасности АСУ ТП // Актуальные проблемы развития нефтегазового комплекса России: Сборник трудов XV Всероссийской научно-технической конференции. - Москва: РГУ нефти и газа им. И.М. Губкина, 2022. - С. 574-583.
88. Федоров В. А. Особенности обеспечения сетевой безопасности АСУ ТП // Теплоэнергетика: Материалы Восемнадцатой всероссийской (десятой международной) научно-технической конференции. - Иваново: ИГЭУ, 2023. - Том 1. - С. 131.
89. Глухов А. В. Российские управляющие вычислительные комплексы и программное обеспечение для АСУ ТП // Технологии обустройства нефтяных, газовых и газоконденсатных месторождений: Сборник тезисов. - Томск: АО "ТНИПИ нефти и газа", 2023. - С. 203.
90. Шубин Д. Э. Свидетельство о государственной регистрации программы для ЭВМ № 2023618798 Российская Федерация. ПО для сопровождения действий оператора при работе с комплексом обеспечения АСУ ТП. - № 2023617635. -Заявл. 24.04.2023. - Опубл. 28.04.2023.
91. Букарев А.В. Особенности и вызовы в современных процессах тестирования мобильных приложений // Colloquium-Journal. - 2022. - № 30-1(153). - С. 2327.
92. Букарев А. В. Обзор современных методов автоматизированного тестирования ПО для мобильных платформ // Современные тенденции развития науки и мирового сообщества в эпоху цифровизации: сборник материалов VIII международной научно-практической конференции. - 2022 г. - С. 104-111.
93. Букарев А. В. Анализ современного цикла разработки приложений для мобильных устройств // EurasiaScience: сборник статей L международной научно-практической конференции. - Москва, 2022 г. - С. 141-145.
94. Синькова П. О., Половнева С. И. Метрологическая экспертиза как часть метрологического обеспечения элемента контроля качества проектов АСУ ТП // Переработка природного и техногенного сырья. - Иркутск: ИрНИТУ, 2022. -С.221-224.
95. Шевнина Ю. С., Гагарина Л. Г. Подходы к автоматизации процессов центров коллективного проектирования микроэлектроники // Информационные технологии и вычислительные системы. - 2021. - № 4. - С. 12-25.
96. Булгакова Е. И., Волхонская Е. Е., Макаров Д. С. Технологическое программное обеспечение АСУ ТП // Международный студенческий научный вестник. - 2022. - № 6. - С. 57.
97. Дороднов В. В., Усачев А. Е., Бондаренко В. В. Протоколы обмена данными в SCADA TRACEMODE для работы, моделирования и отладки программного обеспечения АСУ ТП // Гидротехника. - 2022. - № 4(69). - С. 42-45.
98. Багусевич С. А., Коровкина Е. В., Литвинов В. Л. Исследование механизмов проникновения вредоносного программного обеспечения в АСУ ТП промышленных предприятий // Молодежная школа-семинар по проблемам управления в технических системах имени А.А. Вавилова. - 2023. - Т. 1. - С. 14-15.
99. Таран В. Н., Щербина И. О. Технологии автоматизации тестирования и их внедрения в процесс создания игровых приложений // Вестник Адыгейского государственного университета. Серия 4: Естественно-математические и технические науки. - 2020. - № 4(271). - С. 75-86.
100. Паршина И. С., Фролов Е. Б. Разработка цифрового двойника производственной системы на базе современных цифровых технологий // Экономика промышленности. - 2020. - Т. 13, № 1. - С. 29-34. - DOI 10.17073/2072-16332020-1-29-34.
101. Индустрия 4.0: "Цифровой двойник" как средство повышения эффективности производственной системы / Е. Б. Фролов, И. С. Паршина, А. С. Зайцев, А. С. Климов // Наукоемкие технологии в машиностроении. - 2019. - № 2(92). - С. 42-48.
102. Данилова А. А., Майорова Е. С. Обзор патентной информации и источников периодической печати по теме: «Анализ автоматизированных систем тестирования программного обеспечения» // Современные тенденции развития науки и технологий. - 2016. - № 7-2. - С. 22-26.
103. Тютюных А. А., Полевщиков И. С. Разработка автоматизированной системы управления процессом тестирования программного обеспечения // Автоматизированные системы управления и информационные технологии: Материалы Всерос. науч.-техн. конф. - Пермь: Изд-во Пермского нац. исслед. политехнического ун-та, 17 мая 2018 г. - Т. 1. - С. 104-109.
104. Филиппов В. А., Хатько Е. Е. Проблемы качества тестирования программного обеспечения для мультизадачных пользовательских комплексов // Качество. Инновации. Образование. - 2011. - № 3 (70). - С. 32-35.
105. Гридин В. Н., Дмитревич Г. Д., Анисимов Д. А. Методика построения веб-сервисов распределенных платформенно-независимых систем автоматизированного проектирования // Системы и средства информатики. - 2014. - Т. 24. - № 1. - С. 213-223.
106. Фатхи В.А., Дьяченко Н.В. Тестирование безопасности приложений [Электронный ресурс] // Инженерный вестник Дона. - 2021. - №5. URL: ivdon.ru/ru/magazine/archive/n5y2021/6947 (дата обращения: 12.03.2024).
107. Полевщиков И.С., Чирков М.С., Леванов А.В. Автоматизированная система разработки тест-планов при проведении тестирования программного обеспечения [Электронный ресурс] // Инженерный вестник Дона. - 2019. - №«8. URL: ivdon.ru/ru/magazine/archive/N8y2019/6252 (дата обращения: 12.03.2024).
108. Галимова Е.Ю., Коваленко А.Н. Выбор способа тестирования как решение многокритериальной задачи [Электронный ресурс] // Инженерный вестник Дона. - 2016. - №3. URL: ivdon.ru/ru/magazine/archive/n3y2016/3756 (дата обращения: 12.03.2024).
109. Паршина И.С., Фролов Е.Б. Разработка цифрового двойника производственной системы на базе современных цифровых технологий // Экономика промышленности. - 2020. - Т. 13, № 1. - С. 29-34.
110. Полевщиков И.С., Чирков М.С., Леванов А.В. Автоматизированная система разработки тест-планов при проведении тестирования программного обеспечения // Инженерный вестник Дона. - 2019. - №8. - С. 212-219.
111. Тютюных А.А., Полевщиков И.С. Разработка автоматизированной системы управления процессом тестирования программного обеспечения // Автоматизированные системы управления и информационные технологии: Материалы всероссийской научно-технической конфереции. - 2018. - Том 1. - С. 104109.
112. Филиппов В.А., Хатько В.А. Проблемы качества тестирования программного обеспечения для мультизадачных пользовательских комплексов // Качество. Инновации. Образование. - 2011. - № 3(70). - С. 32-35.
113. Лопатина К. И., Темникова Е. А. Ручное и автоматизированное тестирование программного обеспечения отличия и взаимозаменяемость // Вестник современных исследований. - 2017. - № 10-1(13). - С. 75-77.
114. Несмеянов П. П. Облачное тестирование в сравнении с традиционным тестированием программного обеспечения // Международный журнал гуманитарных и естественных наук. - 2023. - № 6-3(81). - С. 127-130.
115. Дьяченко Н. В. Тестирование прикладного программного обеспечения // Modern Science. - 2020. - № 7-2. - С. 331-333.
116. Скроботов А. А. Тестирование и контроль качества программного обеспечения // Прогрессивные технологии и экономика в машиностроении: Сборник
трудов X Всероссийской научно-практической конференции для студентов и учащейся молодежи. - Юрга: Национальный исследовательский Томский политехнический университет, 04-06 апреля 2019 г. - С. 160-162.
117. Кислякова А. С. Тестирование как обязательный элемент процесса разработки программного обеспечения // Социально-экономическое управление: теория и практика. - 2019. - № 1(36). - С. 27-29.
118. Шарафиев Д. Е. Тестирование программного обеспечения // Advances in Science and Technology: сборник статей XXVII международной научно-практической конференции. - Москва: Общество с ограниченной ответственностью "Актуальность.РФ", 15 марта 2020 года. - С. 88-89.
119. Кириллов С. С. Ускорение автоматизированных тестов на базе Selenium WebDriver за счет внедрения системы параллельного запуска // Перспективы науки. - 2022. - № 7(154). - С. 34-39.
120. Логачева Н. В., Ладонычева М. Л., Пузырева К. С. Важность тестирования программного обеспечения в процессе разработки программного обеспечения // Инновационная наука. - 2022. - № 2-2. - С. 23-26.
121. Ревков, А. С. Исследование методов интеграционного тестирования программного обеспечения // ПРОБЛЕМЫ ЭФФЕКТИВНОГО использования НАУЧНОГО ПОТЕНЦИАЛА ОБЩЕСТВА: сборник статей по итогам Международной научно-практической конференции. - Тюмень: Общество с ограниченной ответственностью "Агентство международных исследований", 2019. - Том Часть 2. - С. 170-172.
122. Тиханычев, О. В. О показателях качества программного обеспечения автоматизированных систем управления // Программные системы и вычислительные методы. - 2020. - № 2. - С. 22-36. - DOI 10.7256/2454-0714.2020.2.28814.
123. Тиханычев, О. В. Исследование роли научно-технического сопровождения в разработке программных продуктов АСУ // Тренды и управление. - 2020. - № 1. - С. 19-31.
124. Нуйкин, Д. А., Кулакова, Е. С. Эффективность работы моделей надежности отказоустойчивой автоматизированной системы управления // Электротехнические и информационные комплексы и системы. - 2021. - Т. 17, № 1. - С. 113-119.
125. Звонарева, А. А., Толоконский, А. О. Основные аспекты надежности программного обеспечения систем управления // Вестник Национального исследовательского ядерного университета "МИФИ". - 2021. - Т. 10, № 5. - С. 429435.
126. Петров, Д. Ю. Структура информационной системы для разработки цифрового двойника непрерывного технологического процесса // Математические методы в технологиях и технике. - 2021. - № 5. - С. 60-65.
127. Баев, А. В., Самонов, А. В., Сафонов, В. М. Методика проектирования автоматизированных систем управления специальными организационно-техническими системами // Моделирование, оптимизация и информационные технологии. - 2021. - Т. 9, № 4(35).
128. Лопатина, К. И., Темникова, Е. А. Ручное и автоматизированное тестирование программного обеспечения: отличия и взаимозаменяемость // Вестник современных исследований. - 2017. - № 10-1(13). - С. 75-77.
129. Трушников, М. А. Предварительное тестирование программного обеспечения до этапа пуско-наладки АСУ ТП // 13-я научно-практическая конференция профессорско-преподавательского состава ВПИ (филиал) ВолгГТУ. - Волжский: Волгоградский государственный технический университет, 27-28 января 2014 года. - Том 1. - С. 42-44.
130. Кувшинова, Е. А., Глазова, В. Ф. Тестирование как важный компонент системы контроля качества программного обеспечения // Прикладная математика и информатика: современные исследования в области естественных и технических наук: Материалы III научно-практической всероссийской конференции молодых ученых. - Тольятти: Издатель Качалин Александр Васильевич, 24-25 апреля 2017 года. - С. 305-308.
131. Лебедев, В. В., Чернышев, О. Л. Тестирование надежности программного обеспечения системы автоматического управления // Информационные ресурсы и системы в экономике, науке и образовании: Сборник статей VII Международной научно-практической конференции. - Пенза: Автономная некоммерческая научно-образовательная организация «Приволжский Дом знаний», 27-28 апреля 2017 года. - С. 55-60.
132. Лазченко, В. Р. Введение в тестирование программного обеспечения // Форум молодых ученых. - 2019. - № 1-2(29). - С. 495-499.
133. Кислякова, А. С. Тестирование как обязательный элемент процесса разработки программного обеспечения // Социально-экономическое управление: теория и практика. - 2019. - № 1(36). - С. 27-29.
134. Автоматизированный анализ и тестирование программного обеспечения микропроцессорных устройств / Малышева, И. Н., Плахотнюк, Ю. А., Погожев, В. В., Середа, В. А. // Радиолокация, навигация, связь: Сборник трудов XXV Международной научно-технической конференции, посвященной 160-летию со дня рождения А.С. Попова. - Воронеж: Воронежский государственный университет, 16-18 апреля 2019 года. - Том 6. - С. 145-149.
135. Тютюных, А. А., Полевщиков, И. С. Разработка автоматизированной системы управления процессом тестирования программного обеспечения // Автоматизированные системы управления и информационные технологии: Материалы всероссийской научно-технической конференции. - Пермь: Пермский национальный исследовательский политехнический университет, 17 мая 2018 года.
- Том 1. - С. 104-109.
136. Яницкая, Т. С., Гудков, А. А., Андриянова, Е. Е. Модели тестирования программного обеспечения // Информационные технологии. Радиоэлектроника. Телекоммуникации. - 2017. - № 7. - С. 576-580.
137. Полевщиков, И. С., Чирков, М. С., Леванов, А. В. Автоматизированная система разработки тест-планов при проведении тестирования программного обеспечения // Инженерный вестник Дона. - 2019. - № 8(59). - С. 29.
138. Карпунин, А. А., Ганев, Ю. М., Чернов, М. М. Методы обеспечения качества при проектировании сложных программных систем // Надежность и качество сложных систем. - 2015. - № 2(10). - С. 78-84.
139. Герасимчук, В. А. Автоматизация процессов предприятия // Молодой ученый.
- 2016. - № 11(115). - С. 654-657.
140. Иванова, О. В., Борш, А. Д., Херсонский, А. В. Особенности проектирования программного обеспечения для высокотехнологического оборудования // Телекоммуникационные и вычислительные системы - 2017: Труды
международной научно-технической конференции. - Москва: Научно-техническое издательство "Горячая линия-Телеком", 22 ноября 2017 года. - С. 241243.
141. Андиева, Е. Ю., Воробьев, А. Ю. Паттерное проектирование применительно к разработке технологического программного обеспечения // Вестник Иркутского государственного технического университета. - 2015. - № 1(96). - С. 1218.
142. Волович, М. Е., Дерюгина, О. А. Верификация UML-моделей программных систем // Cloud of Science. - 2015. - Т. 2, № 1. - С. 138-146.
143. Самохвалов, Э. Н., Ревунков, Г. И., Гапанюк, Ю. Е. Генерация исходного кода программного обеспечения на основе многоуровневого набора правил // Вестник Московского государственного технического университета им. Н.Э. Баумана. Серия Приборостроение. - 2014. - № 5(98). - С. 77-87.
144. Бененсон, М. З., Дивин, А. П. Методы построения тестового программного обеспечения многопроцессорных вычислительных систем // Вопросы радиоэлектроники. - 2018. - № 5. - С. 95-103.
145. Фадеев, С. Г. Жизненный цикл исходного кода программного обеспечения // Современные проблемы науки и образования. - 2014. - № 6. - С. 175.
Приложение 1
СВИДЕТЕЛЬСТВА ОБ ИНТЕЛЛЕКТУАЛЬНОЙ"СОБСТВЕННОСТИ
Ш0Ш$1ШАШ &ЩЖ&АЦШЖ
Яййййй
ííl-
Й5 Sí й? ffi íS
СВИДЕТЕЛЬСТВО
о государственной регистрации программы хтя ЭВМ
№ 2022666723
Загрузчик тестируемого ПО на WinRT платформу Правообладатели Букарев Антон Владимирович (RU) Агтор(и i: Букарев Антон Владимирович (RU)
Заявка N° 2022665921
Дата поступления 29 aHI уста 2022 г.
Лага госч дарственной регистрации в Реестре программ для ЭВМ 06 Сентября 2022 Л
Руководит.™ Фс<к'ра1ьнои службы по инте.пекттьной собственности
м
-е*
ЮС. Зубов
íñ $
Я
Igg
•:•
S5 Ж ш
SS v
к
,-i
з* •к
ss V 8
Й
Ijg i
Й Sí й S4 й й й й Й Й й Й 2 SE й Й й ¡2 S? й Й Й Й S* й
ТОССТЖСШШ #ВДШРМЦШШ
я
СВИДЕТЕЛЬСТВО
о госуларс I венной регистрации программы для ЭВМ
№ 2022666491
Загрузчик тестируемого ПО на \\Т8 платформу
Правообладатель: Букирев АИГПОИ В.Ш()ШШрович (1111)
Авторы): Букирев Антон Владимирович (Я1/)
Заявка Хе 2022665924
Дата постлтисиня 29 августа 2022 г.
Дата государственной регистрации
в Реестре программ для эвм 05 сентября 2022 г.
Руководитель Федеральной службы по интеллектуальной собственности
/Л
Ю С Зубов
тесшйокАж федерация
СВИДЕТЕЛЬСТВО
о государственной регистрации программы для ЭВМ
№ 2022665933
Программа перевода данных в заданный JSON формат
Правообладатель: Букарев АШПОН Владимирович (RU)
Автореы): Букарев Антон Владимирович (RU)
Заявка № 2022664824
Дата иост>ш1сния 08 августа 2022 г.
Дата государственной регистрации
в Реестре программ для эвм 23 августа 2022 г.
Руководитель Федеральной службы по интеллектуальной собствешикти
ЮС Зубов
российская
СВИДЕТЕЛЬСТВО
о государственной регистрации программы для ЭВМ
№ 2022667352
Программа генерации сетевого слоя для тестирования программного обеспечения
Правообладатель: Букирев Антон Владимирович (ЯII)
Автор<ы): Букарев Антон Владимирович (ЯII)
Заявка X» 2022665981
Дата поступления 31 аВГЛ'СТа 2022 Г.
Дата государственной регистрации
в Реестре программ для ЭВМ 19 Сентября 2022 Л
Руководитель Фе<крашюй службы по интеллектуальной собственности
Ю.С. Зубов
№
гоеотйошн #ВДШРАЩШШ
в я я в в а к а в я
СВИДЕТЕЛЬСТВО
о государственной регистрации программы для ЭВМ
№ 2023619895
Программная реализация модели процессов тестирования программного обеспечения методами ручного, модульного и автоматизированною тестирования
Правообладатель Иукарев Антон Владимирович (М/)
Автор!ы) Иукарев Антон Владимирович (ЯЧ)
Заявка № 2023619185
Дата поступления 03 Мая 2023 Г.
Дата государственной регистрации
в Реестре профамм дли ЭВМ / 7 МОЯ 2023 г.
Руководитель Федеральной аужбы по интеллектуальной собственности
Ю.С. 3\*бов
В
а
Приложение 2
АКТЫ ВНЕДРЕНИЯ РЕЗУЛЬТАТОВ ДИССЕРТАЦИОННОЙ РАБОТЫ
____—*YJ ВЕРЖДАЮ» Директор АО . ЦКБ «Дейтон—' Рубцов К).В.
АКТ ВНЕДРЕНИЯ
резулыатов диссертационного исследования Ьукарева А.К и^ тем\ «Разработка методов поиска неисправностей в программном бе^печенни -
точа (нитрованном производстве компонентов .лекгроиной техйики представленной на соискание ученой степени кап.ш ..на технических на* по специальности 2.3.3 - Автоматизация и управление технологическими процессами производствами (технические пачки)
Настоящим актом удостоверяется, что результаты лиссертаииони. и Ьукарева А В на тему «Разработка методов поиска неисправностей а ::р тр обеспечении при автоматизированном произволе! вс компонентов мсктройной на соискание ученой степени кандидата технических наук по специальности точажзацня и управление технологическим!' процессами и прошв ми (технические науки), а именно:
1) Математическая модель поиска неисправностей в пр< iаммном ''¿снсчс при автоматизированном производстве компонентов .тектроннон ехют применением формальною аппарата теории массовую обслуживания и. ние которой в результате ее программной реализации t ,к состав, яюшеи протраччных средств поиска неисправностей 4КГК IIHim аоляет аранс необходимые ресурсы для проведения операции
2) Метод поиска неисправностей в ПО при автоматизированном произв. ш применением облачных сервисов и технологии К К отличаюшнися t применение позволяет осуществить одновременный запуск на текировл и UK) ЮI одновременно, что на порядок сокращает врсчя поиска
3) Алгоритм распределенного запуска сценариев поиск i неисправн леи и 11 точат изированном производстве ЮТ с применением облачных - ервис< (
работы
1 ммном (НИКИ» I Ав-
UC 1U1-
логии RPC. программная реализация которого для
интет ранни
-KV.C (НТЬ
ею лее
шений в виде КГ1С ИН повышает производительность тестирования на 4) Результаты экспериментального применения K1IC НН при оценке временных за-
. "¿7¥8жкллкь
Ген. диреяюр О(Х) ЭВМКОМПЛЕКТ
___i -".< И. В Мироюв
i»
АКТ ВНЕДРЕНИЯ результатов диссертационной работ Б>карева А.В. на «Разработка методов поиска неисправностей в npoi раччном о&еспеменин при автоматизированном производстве компонентов электронной ¡ехники»
Реализованный в рамках диссертационной работы комплекс программных средств поиска неисправностей (КГ1С ПН) прошел опытную эксплуатацию в <ЮО «ЭВМКОМПЛЕКТ» при технологических исньпаниях микроконтроллеров 1986ВЕ94Т и М1К32
Применение разработанных Ьукаревым А.В новых математической мо ,-ли. двух методов и алгоритма распределенного запуска сценариев поиска неисправим .й в профаммном обеспечении с применением облачных сервисов и технологии ьы) и удаленных процедур при автоматизированном производстве компонентов »лсмронной техники, которые лежат в основе программной реализации KI 1С III1. позволили
• сократить время на обнару жение ошибок для микроконтроллеров <X6Bi Ы I л MIK32 на 50%;
• повысить производительность поиска неисправностей в профаммном обеспечении микроконтро.иеров на 70%.
'V
Технолог
Зайцева Н И
«УТВЕРЖДАЮ» по учебной работе V А.Г Балашов \ 2024 г.
АКТ ВНЕДРЕНИЯ
ф}. i
■ : /
Результатов диссертационной работы Букарева Антона Владимировича на соискание ученой степени кандидата технических наук на тему
РАЗРАБОТКА МЕТОДОВ ПОИСКА НЕИСПРАВНОСТЕЙ В ПО ПРИ АВТОМАТИЗИРОВАННОМ ПРОИЗВОДСТВЕ КОМПОНЕНТОВ ЭЛЕКТРОННОЙ ТЕХНИКИ
Исследованные в рамках диссертационной работы Ьукарева А.В метод и алгоритмы программного комплекса средств поиска неисправностей в up :раммном обеспечении (ПО) при автоматизированном производстве компонентов ...ктронной ■ехники внедрены в федеральном государственном автономном образовательном учреждении высшего образования «Национальный исследовательский университет «Московский институт электронной техники•>.
По результатам диссертационных исследований создано форма. 1и>в,:жое представление тестирования ПО компонентой электронной техники К'Л с применением математического аппарата теории массового обслу живания. ¡ pam ан метод анализа и оценки эффективности типа тестирования ПО ЮТ на основе имитационного моделирования, разработан метод распределенного ;ап\ска автоматизированных сценариев тестирования ПО КЭТ с применением ¡ачных сервисов и технологии RPC (Remole Procedure Call - вьиов удаленных iipo;^ \ j ¡ри ав i ома i тированном производстве КЭТ. разработан алгоритм распределенного запуска сценариев поиска неисправностей в ПО при автоматизированном производстве КЭТ с применением облачных сервисов и ючнологии RPI
На ОСЯОМ разработанных в процессе ДНССфЛЩВОНИОГО исследования математической модели, методов и алгоритма осуществлена их программная реализация в виде комплекса программных средств поиска неисправное ей. целесообразность применения которого под i вер* ¡ас гея эксперимент н.ж ми исследованиями и верификацией предложенных решении при распределенном поиске неисправностей ПО КЭТ с использованием облачных сервисов лосгит то снижение временных затрат на тестирование в среднем на M>'J :
Полученные результаты доведены до уровня практического использования и вошли в курсы учебных дисциплин: «Технология разрабожи программного обеспечения», «Проектирование информационных систем». I еория алгоритмических языков и компиляторов'. «Конструирование программного обеспечения».
Директор СПИНТех л i н.. профессор Гагарина II
Приложение 3
ЛИСТИНГИ ФРАГМЕНТОВ ПРОГРАММНОЙ РЕАЛИЗАЦИИ
from multiprocessing.pool import ThreadPool from random import randrange import time
import matplotlib.pyplot as plt import numpy import pandas as pd from tqdm import tqdm
from AutomatedTestingWithProto import AutomatedTestingWithProto from ManualTestingWithProto import ManualTestingWithProto from UnitTests import UnitTests from RPCBasedTesting import RPCBasedTesting
def simulation(iterations=0): print('Thread started') start time = time.time() avt_automated_testing_with_proto = 0 avt_manual_testing_with_proto = 0 avt_unit_tests = 0 avt rpc tests = 0
for in range(iterations):
testcases amount = randrange(50, 100) functions amount = randrange(40, 100) devices_amount = 100
connected devices amount = randrange(4, 6)
apt = AutomatedTestingWithProto(testcases amount, functions amount, devices amount, connected devices amount) avt automated testing with proto += apt.run()
mtp = ManualTestingWithProto(testcases amount, functions amount, devices amount, connected devices amount) avt manual testing with proto += mtp.run()
ut = UnitTests(testcases amount, functions amount, devices amount, connected devices amount) avt unit tests += ut.run()
rpc = RPCBasedTesting(testcases amount, functions amount, devices amount, connected devices amount) avt rpc tests += rpc.run()
avt_automated_testing_with_proto /= iterations avt_manual_testing_with_proto /= iterations avt_unit_tests /= iterations avt rpc tests /= iterations
print("Took %s seconds" % (time.time() - start time))
return [avt automated testing with proto, avt_manual_testing_with_proto, avt unit tests, avt rpc tests]
iterations number = 10000 threads number = 6
pool = ThreadPool(processes=threads_number) asyncs = [] results = []
for thread_index in range(threads_number):
iterations n = int(iterations number / threads number) iterations n += iterations number % threads number if thread index == 0 else 0
print('> ', iterations n)
async = pool.apply async(simulation, (iterations n,)) asyncs.append(async )
print('Waiting threads')
pool result = pool.map async(asyncs, range(len(asyncs))) pool result.wait()
for thread index in range(threads number): return val = asyncs[thread index].get() results.append(return val)
print(results)
two d array = numpy.array(results)
data = list(numpy.sum(two d array, axis=0)/threads number)
data = simulation(5 00) print(data)
df = pd.DataFrame({'Method': ['Automated', 'Manual', 'Unit Tests', 'RPC'], 'Hours': data})
ax = df.plot.bar(x='Method', y='Hours', rot=0) plt.show()
from helpers import randrange_n
from TestingPipeline import TestingPipeline
class AutomatedTestingWithProto(TestingPipeline): def testcases creation(self):
return randrange n(1, 2, self.testcases amount)
def testcases implementation(self):
return randrange n(1, 4, self.testcases amount)
def prototype implementation(self):
return randrange n(1, 4, self.functions amount)
def testing(self): result = 0
= [result := result + randrange n(1, 2, self.testcases amount) for in range(int(self.devices amount / self.con-nected devices number))] return result
def reports generation(self): return 1
from helpers import randrange_n
from TestingPipeline import TestingPipeline
class ManualTestingWithProto(TestingPipeline):
def testcases creation(self):
return randrange n(1, 2, self.testcases amount)
def testcases implementation(self):
return randrange n(1, 4, self.testcases amount)
def prototype implementation(self):
return randrange n(1, 4, self.functions amount)
def testing(self): result = 0
= [result := result + randrange n(1, 2, self.testcases amount) for in range(self.devices amount)] return result
def reports generation(self):
return self.testcases amount * randrange n(1, 2, 1)
from helpers import randrange_n
from TestingPipeline import TestingPipeline
class RPCBasedTesting(TestingPipeline): def testcases creation(self):
return randrange n(1, 2, self.testcases amount)
def testcases implementation(self):
return randrange n(1, 4, self.testcases amount)
def prototype implementation(self): return 4
def testing(self): result = 0
= [result := result + randrange n(1, 2, self.testcases amount) for in range(int(self.devices amount / 100))] return result
def reports generation(self): return 1
class TestingPipeline:
def init (self, testcases a=0, functions a=0, devices a=0,
connected devices n=0):
self.testcases amount = testcases a self.functions amount = functions a self.devices amount = devices a
self.connected devices number = connected devices n pass
def testcases creation(self): return 0
def testcases implementation(self): return 0
def prototype implementation(self): return 0
def testing(self): return 0
def reports generation(self): return 0
def run(self):
return self.testcases creation() + \
self.testcases implementation() + \ self.prototype implementation() + \ self.testing() + \ self.reports generation()
from helpers import randrange_n
from TestingPipeline import TestingPipeline
class UnitTests(TestingPipeline):
def testcases creation(self):
return randrange n(1, 2, self.testcases amount)
def testcases implementation(self):
return randrange n(1, 4, self.testcases amount)
def prototype implementation(self): return 0
def testing(self): result = 0
= [result := result + randrange n(1, 2, self.testcases amount) for in range(int(self.devices amount / self.connected devices number))] return result
def reports generation(self): return 1
from random import randrange def randrange n(frm, to, number):
result = 0
= [result := result + randrange(frm, to) for in range(num-
ber)]
return result
def generate(self):
helper declarations = Set() helper definitions = Set()
self.typeBld = typegen.TypeBuilderFactory(self.global ns, self.config)
self.dispatcherGenerator = DispatcherGenerator(self.config, self.typeBld)
for file in self.headers list:
input header = os.path.join(self.input dir, file)
self. process namespace(self.global ns, "", os.path.join(os.getcwd(), input header))
PickUpHelpers(helper declarations, helper definitions, self.typeBld)
self.master h.flush() self.master cpp.flush()
self.slave h.out(kNsHeader.format(ns="TRpc", prefix="")) self.slave h.out(kInitSlaveProto)
self.slave h.out(kNsFooter.format(ns="TRpc", prefix="")) self.slave h.out(self.dispatcherGenerator.generate header()) self.slave cpp.out(kInitSlaveBody)
self.slave cpp.out(self.dispatcherGenerator.generate implementa-tion()) " "
self.common h.out(PrintSet(helper declarations)) self.common h.out(self.opcode gen.generate enum())
self.common cpp.out(PrintSet(helper definitions))
self.master h.close include guard() self.slave h.close include guard() self.common h.close include guard()
self.common h.flush() self.common cpp.flush() self.slave h.flush() self.slave cpp.flush() self.master h.flush() self.master cpp.flush()
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.