Введение к работе
Актуальность темы. Создание программного обеспечения (ПО) для систем реального времени (СРВ) считается одной из наиболее сложных и дорогостоящих задач программирования. В значительной мере это обусловлено специфическими требованиями к системам данного класса, условиями их разработки и эксплуатации.
Вместе с этим активное использование систем подобного класса сегодня и перспективы еще большего их распространения в будущем заставляют коллективы разработчиков искать пути снижения трудоемкости процесса создания ПО СРВ, повышения его надежности, а также сокращения сроков реализации и стоимости проектов. Исследования, посвященные данной теме, охватывают широкий спектр направлений от создания специальных методик проектирования, например, шаблонно-ориентированный подход, CoDesign, до автоматизации различных составляющих процесса разработки.
Одним из эффективных решений данной проблемы является повторное использование (ПИ) различных продуктов разработки ПО. Множество исследований в этой области проводятся как российскими (Мякишев Д., Липаев В., Сухомлин В. и др.), так и зарубежными (Isovic D., Norstrom С, Hsiung P.-А.) специалистами.
Использование предыдущих наработок при изготовлении новых изделий приносит немалую выгоду. Однако большинство современных технологий и методов ПИ ориентировано на вычислительные системы общего назначения и не учитывает специфику области СРВ. Это либо сильно сокращает возможность их применения без специальной адаптации для данных систем, либо делает их использование невозможным. Так, например, большинство методов поиска компонентов повторного использования (КПИ) основано на анализе функциональных или структурных характеристик объекта, и не рассматривает временные, надежностные и другие составляющие. Кроме того, часто сами методы ПИ имеют существенные ограничения, снижающие их эффективность.
Анализ технологий разработки ПО, ориентированных на СРВ показывает фрагментарность подходов, неполный охват жизненного цикла ПО, низкую эффективность ПИ.
Целью диссертационной работы являлось создание метода разработки ПО СРВ на базе ПИ, который учитывает специфические особенности систем данного класса и устраняет ряд недостатков существующих технологий.
Для достижения поставленной цели в работе были решены следующие задачи:
1. Выполнен анализ и оценка текущего состояния проблемы. Выявлены
основные направления совершенствования существующих методик ПИ для
создания ПО СРВ.
Разработан метод сквозного повторного использования (СПИ) различных продуктов процесса разработки ПО СРВ.
Созданы модели вычислительного процесса СРВ и описания КПИ СРВ, разработан модифицированный метод точного и аппроксимирующего поиска (МТАП) в библиотеке КПИ.
Создан инструментальный комплекс «OtterComplexl.O», осуществляющий поддержку процесса разработки ПО СРВ на базе метода СПИ.
Показана эффективность разработанного метода путем сравнения с аналогами и применения метода на практике.
Методы исследования. Решение поставленных задач производилось с применением элементов логики первого порядка, теории множеств, методов формальных доказательств, элементов теории фафов, методов экспертных оценок и методов натурного моделирования.
Научная новизна. Научная новизна работы состоит в следующем:
Разработан метод сквозного повторного использования (СПИ), позволяющий улучшить ряд характеристик процесса ПИ и частично автоматизировать поиск и выбор компонентов при разработке ПО СРВ.
Предложена классификация единиц ПИ, включающая такие перспективные элементы ПИ, как «продукт процесса тестирования», «инструментальная среда», «документация» и ряд других.
Разработана модель вычислительного процесса СРВ, учитывающая различные аспекты СРВ в качестве контекста системы и ее составляющих, а также модель описания КПИ, включающая временные и надежностные характеристики компонента, ряд коэффициентов для сбора и анализа статистики в области ПИ.
Получен новый метод точного и аппроксимирующего поиска КПИ в библиотеке (МТАП), позволяющий снизить затраты процессов поиска и сравнения, улучшить их результативность, а также оценить трудоемкость последующей адаптации отобранных элементов.
Предложены механизмы генерализации базового запроса и введения иррелевантных множеств, позволяющие находить элементы при несовпадении ряда свойств объекта и запроса.
Разработаны способы учета нефункциональных требований к составляющим проектируемой системы при отборе кандидатов для ПИ.
Определены коэффициент ПИ компонента и вероятность развития системы в заданном направлении, применяемые для повышения эффективности процесса ПИ.
Практическая ценность выполненной работы состоит в следующем:
Сформирован набор компонентов ПО СРВ и определены их свойства, что позволило создать библиотеку системных задач с целью их ПИ.
Созданы словарь терминов, правила описания компонентов, аксиоматика предметной области, а также базовые библиотеки КПИ «Планировщики задач СРВ» (2 категории единиц ПИ для 30 элементов) и «Отображение специальных графических объектов» (5 категорий единиц ПИ для 97 элементов).
Разработан инструментальный комплекс «OtterCompIexl.O» поиска и отбора компонентов для ПИ на базе формальных спецификаций. Приведены рекомендации по его установке, настройке и модификации.
Регламентированы ключевые моменты внедрения и поддержки метода СПИ в процесс разработки ПО СРВ.
Практическая ценность работы подтверждается применением полученных результатов в процессе разработки ПО ряда проектоп автоматизированных информационно-управляющих систем (АИУС) различного назначения. Это позволило сократить время разработки и существенно снизить затраты на поддержку систем. Использование предложенного метода также позволяет более эффективно организовать процесс разработки и повысить качество производимого продукта за счет применения неоднократно проверенных компонентов и снижения воздействия человеческого фактора при выполнении ряда операций поиска и выбора, снижая тем самым вероятность возникновения ошибок.
В настоящее время произведенные компоненты повторного использования активно применяются в новых проектах.
Реализация и внедрение результатов работы. Большинство полученных в диссертации результатов в настоящее время используется в процессе разработіш ПО СРВ, что подтверждается актами о внедрении с предприятий ГУП НПО "Аврора", ООО "ЛМТ", ООО "Exigen Services".
Практическая ценность подтверждается также тем, что ряд материалов исследований вошел в лекции и лабораторные работы курса «Операционные системы реального времени», читаемого на кафедре Вычислительной техники Санкт-Петербургского Государственного университета информационных технологий, механики и оптики.
Апробация работы. По материалам диссертации были выполнены доклады на следующих конференциях и семинарах: Политехнический симпозиум "Молодые ученые - промышленности Северо-Западного региона" (г. Санкт-Петербург, 2001-2003, 2006-2008 г.), XXXI - ХХХШ, XXXVI и XXXVIII научные и учебно-методические конференции СПбГУ ИТМО (г. Санкт-Петербург, 2002-2004, 2007, 2009 г.), Региональная научная конференция студентов, аспирантов и молодых ученых "Наука. Техника. Инновации." (г. Новосибирск, 2002 г.), X Всероссийская научно-методическая конференция "Телематика 2003" (г. Санкт-Петербург, 2003
г.), Всероссийский форум студенгов, аспирантов и молодых ученых «Наука и инновации в технических университетах» (г. Санкт-Петербург, 2007 г.).
За активное участие во Всероссийском форуме студентов, аспирантов и молодых ученых 2007 г. автор работы награжден грамотой.
Ряд исследований, посвященных теме планирования задач в СРВ, поддержан грантом АСП №301515 Санкт-Петербургского конкурса 2001 г. для студентов, аспирантов, молодых ученых и специалистов.
Публикации. По теме диссертационной работы опубликовано 17 научных работ, из них 4 статьи в ведущих резензируемых изданиях, входящих в перечень ВАК [6, 10,11, 14].
Структура и объем работы. Диссертационная работа состоит из введения, пяти глав, заключения, списка литературы из 132 наименований и четырех приложений. Основная часть работы ихтожена на 184 страницах машинописного текста, содержит 38 рисунков и 17 таблиц.