автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Технологии повторного использования при разработке программного обеспечения систем реального времени

кандидата технических наук
Шедько, Ольга Геннадьевна
город
Санкт-Петербург
год
2009
специальность ВАК РФ
05.13.12
Диссертация по информатике, вычислительной технике и управлению на тему «Технологии повторного использования при разработке программного обеспечения систем реального времени»

Автореферат диссертации по теме "Технологии повторного использования при разработке программного обеспечения систем реального времени"

На правах рукописи

ШЕДЬКО Ольга Геннадьевна

ТЕХНОЛОГИИ ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ ПРИ РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ

Специальность 05.13.12 "Системы автоматизации проектирования (приборостроение)"

- 1 ОКТ 2009

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Санкт-Петербург 2009

003478577

Работа выполнена в Санкт-Петербургском государственном университете информационных технологий, механики и опшки, кафедра Вычислительной техники

Научный руководитель: Официальные оппоненты:

Ведущая организация:

доцент, кандидат технических наук Платунов Алексей Евгеньевич

профессор, доктор технических наук Арустамов Сергей Аркадьевич

кандидат технических наук Глазунов Александр Григорьевич

ФГУП Санкт-Петербургское ОКБ "Электроавтоматика"

Защита состоится 20 октября 2009 г. в 15 часов 50 минут на заседании Совета по защите докторских и кандидатских диссертаций Д212.227.05 при Санкт-Петербургском государственном университете информационных технологий, механики и оптики по адресу: 197101, г. Санкт-Петербург, Кронверкский пр., Д. 49.

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

Автореферат разослан 18 сентября 2009 г.

Ваши отзывы и замечания по автореферату (в двух экземплярах), заверенные печатью, просим направлять в адрес университета:

197101, г. Санкт-Петербург, Кронверкский пр., д. 49, секретарю диссертационного совета Д212.227.05.

т /(^

Ученый секретарь

Совета Д212.227.05, к.т .н., доцент //Со и. ** Поляков Владимир Иванович

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

Вместе с этим активное использование систем подобного класса сегодня и перспективы еще большего их распространения в будущем заставляют коллективы разработчиков искать пути снижения трудоемкости процесса создания ПО СРВ, повышения его надежности, а также сокращения сроков реализации и стоимости проектов. Исследования, посвященные данной теме, охватывают широкий спектр направлений от создания специальных методик проектирования, например, шаблонно-ориентированный подход, СоП)е51§п, до автоматизации различных составляющих процесса разработки.

Одним из эффективных решений данной проблемы является повторное использование (ПИ) различных продуктов разработки ПО. Множество исследований в этой области проводятся как российскими (Мякишев Д., Липаев В., Сухомлин В. и др.), так и зарубежными (1в(тс О., КоШгот С., Нзшг^ Р.-А.) специалистами.

Использование предыдущих наработок при изготовлении новых изделий приносит немалую выгоду. Однако большинство современных технологий и методов Г1И ориентировано на вычислительные системы общего назначения и не учитывает специфику области СРВ. Это либо сильно сокращает возможность их применения без специальной адаптации для данных систем, либо делает их использование невозможным. Так, например, большинство методов поиска компонентов повторного использования (КПИ) основано на анализе функциональных или структурных характеристик объекта, и не рассматривает временные, надежностные и другие составляющие. Кроме того, часто сами методы ПИ имеют существенные ограничения, снижающие их эффективность.

Анализ технологий разработки ПО, ориентированных на СРВ показывает фрагментарность подходов, неполный охват жизненного цикла ПО, низкую эффективность ПИ.

Целью диссертационной работы являлось создание метода разработки ПО СРВ на базе ПИ, который учитывает' специфические особенности систем данного класса и устраняет ряд недостатков существующих технологий.

Для достижения поставленной цели в работе были решены следующие задачи:

1. Выполнен анализ и оценка текущего состояния проблемы. Выявлены основные направления совершенствования существующих методик ПИ для создания ПО СРВ.

2. Разработан метод сквозного повторного использования (СПИ) различных продуктов процесса разработки ПО СРВ.

3. Созданы модели вычислительного процесса СРВ и описания КПИ СРВ, разработан модифицированный метод точного и аппроксимирующего поиска (МТАП) в библиотеке КПИ.

4. Создан инструментальный комплекс «ОйегСотр1ех1.0», осуществляющий поддержку процесса разработки ПО СРВ на базе метода СПИ.

5. Показана эффективность разработанного метода путем сравнения с аналогами и применения метода на практике.

Методы исследования. Решение поставленных задач производилось с применением элементов логики первого порядка, теории множеств, методов формальных доказательств, элементов теории графов, методов экспертных оценок и методов натурного моделирования.

Научная новизна. Научная новизна работы состоит в следующем:

1. Разработан метод сквозного повторного использования (СПИ), позволяющий улучшить ряд характеристик процесса ПИ и частично автоматизировать поиск и выбор компонентов при разработке ПО СРВ.

2. Предложена классификация единиц ПИ, включающая такие перспективные элементы ПИ, как «продукт процесса тестирования», «инструментальная среда», «документация» и ряд других.

3. Разработана модель вычислительного процесса СРВ, учитывающая различные аспекты СРВ в качестве контекста системы и ее составляющих, а также модель описания КПИ, включающая временные и надежностные характеристики компонента, ряд коэффициентов для сбора и анализа статистики в области ПИ.

4. Получен новый метод точного и аппроксимирующего поиска КПИ в библиотеке (МТАП), позволяющий снизить затраты процессов поиска и сравнения, улучшить их результативность, а также оценить трудоемкость последующей адаптации отобранных элементов.

5. Предложены механизмы генерализации базового запроса и введения иррелевантных множеств, позволяющие находить элементы при несовпадении ряда свойств объекта и запроса.

6. Разработаны способы учета нефункциональных требований к составляющим проектируемой системы при отборе кандидатов для ПИ.

7. Определены коэффициент ПИ компонента и вероятность развития системы в заданном направлении, применяемые для повышения эффективности процесса ПИ.

Практическая ценность выполненной работы состоит в следующем:

1. Сформирован набор компонентов ПО СРВ и определены их свойства, что позволило создать библиотеку системных задач с целью их ПИ.

2. Созданы словарь терминов, правила описания компонентов, аксиоматика предметной области, а также базовые библиотеки КПИ «Планировщики задач СРВ» (2 категории единиц ПИ для 30 элементов) и «Отображение специальных графических объектов» (5 категорий единиц ПИ для 97 элементов).

3. Разработан инструментальный комплекс «OtterCompIexl.O» поиска и отбора компонентов для ПИ на базе формальных спецификаций. Приведены рекомендации по его установке, настройке и модификации.

4. Регламентированы ключевые моменты внедрения и поддержки метода СПИ в процесс разработки ПО СРВ.

Практическая ценность работы подтверждается применением полученных результатов в процессе разработки ПО ряда проектов автоматизированных информационно-управляющих систем (АИУС) различного назначения. Это позволило сократить время разработки и существенно снизить затраты на поддержку систем. Использование предложенного метода также позволяет более эффективно организовать процесс разработки и повысить качество производимого продукта за счет применения неоднократно проверенных компонентов и снижения воздействия человеческого фактора при выполнении ряда операций поиска и выбора, снижая тем самым вероятность возникновения ошибок.

В настоящее время произведенные компоненты повторного использования активно применяются в новых проектах.

Реализация и внедрение результатов работы. Большинство полученных в диссертации результатов в настоящее время используется в процессе разработки ПО СРВ, что подтверждается актами о внедрении с предприятий ГУП НПО "Аврора", ООО "ЛМТ", ООО "Exigen Services".

Практическая ценность подтверждается таюке тем, что ряд материалов исследований вошел в лекции и лабораторные работы курса «Операционные системы реального времени», читаемого на кафедре Вычислительной техники Санкт-Петербургского Государственного университета информационных технологий, механики и оптики.

Апробация работы. По материалам диссертации были выполнены доклады на следующих конференциях и семинарах: Политехнический симпозиум "Молодые ученые - промышленности Северо-Западного региона" (г. Санкт-Петербург, 20012003, 2006-2008 г.), XXXI - XXXIII, XXXVI и XXXVIII научные и учебно-методические конференции СПбГУ ИТМО (г. Санкт-Петербург, 2002-2004, 2007, 2009 г.), Региональная научная конференция студентов, аспирантов и молодых ученых "Наука. Техника. Инновации." (г. Новосибирск, 2002 г.), X Всероссийская научно-методическая конференция "Телематика 2003" (г. Санкт-Петербург, 2003

г.), Всероссийский форум студентов, аспирантов и молодых ученых «Наука и инновации в технических университетах» (г. Санкт-Петербург, 2007 г.).

За активное участие во Всероссийском форуме студентов, аспирантов и молодых ученых 2007 г. автор работы награжден грамотой.

Ряд исследований, посвященных теме планирования задач в СРВ, поддержан грантом АСП №301515 Санкт-Петербургского конкурса 2001 г. для студентов, аспирантов, молодых ученых и специалистов.

Публикации. По теме диссертационной работы опубликовано 17 научных работ, из них 4 статьи в ведущих резензируемых изданиях, входящих в перечень ВАК [6, 10,11, 14].

Структура и объем работы. Диссертационная работа состоит из введения, пяти глав, заключения, списка литературы из 132 наименований и четырех приложений. Основная часть работы ихчожена на 184 страницах машинописного текста, содержит 38 рисунков и 17 таблиц.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

Во введении к диссертации обоснована актуальность рассматриваемой проблемы, сформулирована цель и основные задачи, указаны методы исследования. Описана научная новизна и практическая ценность полученных результатов. Приведены сведения по апробации и публикациям по теме работы.

В первой главе определены основные понятия, применяемые в работе: Повторное использование - неоднократное применение в процессе разработки ПО различных продуктов указанного процесса, произведенных ранее. Компонент повторного использования - элемент разрабатываемой системы, который можно использовать неоднократно в данной и последующих разработках компании. КПИ может принадлежать к любому классу единиц повторного использования (модель, спецификация, программный код и пр.).

Описаны специфические особенности СРВ, такие как: необходимость непрерывного функционирования в масштабе реального времени, соответствие жестким требованиям к безопасности и надежности, поддержка параллельности выполнения процессов, гетерогенность, специфические способы разработки и отладки и т.д.

Проведен анализ подходов применяемых при разработке ПО СРВ и включающих элементы повторного использования ранее созданных продуктов.

Показано, что основным направлением в разработке ПО СРВ на базе ПИ сегодня является выделение и неоднократное применение системных задач. Подобный подход широко распространен среди создателей СРВ и поддерживается большинством ОС РВ, но обладает рядом недостатков. Один из них состоит в том, что круг системных задач ограничен, что ставит искусственную планку в ПИ

программных компонентов в СРВ.

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

Сделан вывод о необходимости создания метода, в основе которого лежит регулярное неоднократное применение ранее созданных элементов.

Оценка эффективности ПИ может быть произведена различными способами. В работе предложено использовать для этих целей следующие характеристики: порог насыщения (П,:11С) - значение максимально возможного процента ПИ для конкретных условий разработки ПО (II,ж е [0;100]%) и функцию насыщения, значение которой определяется как N, / Pv / ФКф где Ф,:к] - функция

количества-качества S tll,l A:j + k Ру + к*Е л,,; Щ, характеризует

количественный и качественный состав продуктов j-ro цикла разработки ПО, j -порядковый номер цикла разработки, Aij - продует соответствующего цикла разработки ПО, произведенный с «нуля», Pij - использованный повторно продукт одного из предыдущих циклов разработки ПО без модификаций, Rij -использованный повторно продукт одного из предыдущих циклов разработки ПО, после его адаптации, г, j eN; к=0 при j=l, к=1 при j>l. ПИ может считаться эффективным при условии:

Пт-*бО...80%, ФшсП Пт/100% (I)

Низкое значение порога насыщения для области ПО СРВ может быть связано с такими причинами, как ограничения на использование готовых компонентов, неоднократное применение в процессе разработки только системных задач, ПИ только в контексте одного цикла разработки и т.д.

На характеристики ПИ также влияет эффективность составляющих его процессов: идентификации, поиска и адаптации КПИ. Так ПИ считается экономически выгодным, когда для компонента, используемого без адаптации, выполняется неравенство (2), а с адаптацией - неравенство (3): Search+ (1-р)*Development < Development (2)

где Search - стоимость поиска, Development - стоимость разработки, р -вероятность нахождения рассматриваемого компонента в базе. Search+(l-p)*AppoxSearch+(l-p) *q*Adaptation <(p+(l-p) * q)*Development (3) где AppoxSearch - стоимость выполнения аппроксимирующего поиска, Adaptation -стоимость адаптации компонента, q - вероятность того, что найденный компонент возможно адаптировать для нужд разработчика.

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

На основании проведенных исследований сформирован перечень перспективных направлений, в которых возможно произвести улучшения характеристик процесса ПИ в области СРВ, а также сформулирована цель работы: создание сквозною метода повторного использования (СПИ), адаптированного к применению в области СРВ и подзадачи, которые должны бьггь решены в рамках общей проблемы.

Во второй главе диссертации представлен разработанный метод сквозного повторного использования (СПИ). В основу метода положены:

1. Регулярность и непрерывность процесса ПИ;

2. Использование компонентов, созданных самой компанией-разработчиком;

3. ПИ элементов системных и прикладных задач ПО СРВ;

4. Учет специфических особенностей ПО СРВ;

5. Применение методов МТАП для поиска и выбора КПИ;

6. Автоматизация операций поиска, сравнения и упорядочивания компонентов в

библиотеке;

7. Рекомендации по внедрению и поддержке.

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

КПИ может являться любой продукт процесса разработки. В работе предложена оригинальная классификация единиц ПИ, включающая такие элементы как: спецификации, абстрактные, виртуальные и реализуемые модели, программный код, продукты процесса тестирования, инструментальную среду, документацию. Показано, что расширение спектра КПИ подобным образом значительно повышает значения порога насыщения и функции насыщения, то есть согласно (1) повышается эффективность процесса ПИ и разработки ПО СРВ в целом.

Также сформулирован ряд дополнительных принципов (отложенного дифференцирования, экономии ресурсов, планирования будущих изменений, абстрагирования от вычислительной платформы), следование которым улучшает характеристики процесса ПИ.

Для увеличения значений порога насыщения и функции насыщения в методе СПИ предложено расширить базу для ПИ, зафиксировав решения разработчиков в их прикладной области, и максимально использовать компоненты, произведенные внутри компании, а в ряде случаев Open Source компоненты, допускающие изменение кода.

Для учета специфики СРВ разработана оригинальная модель

вычислительного процесса, включающая элементы объектно, субьектно и аспектно-ориентированных подходов к разработке ПО (рис.1). Модель позволяет произвести декомпозицию системы с целью нахождения КПИ и их составляющих для последующего их описания и занесения в репозитории.

Большинство элементов модели представляют поведенческий аспект системы и ее составляющих, поскольку он является ведущим с точки зрения разработки ПО и его ПИ. Важные для ПО СРВ нефункциональные аспекты (временной, надежностный, инструментальный, повторного использования, энергетический, конструкторско-технологический и т.д.) учитываются в модели посредством контекста системы и ее компонентов.

Наряду с моделью вычислительного процесса в СРВ в работе также предложена модель описания КПИ для метода СПИ (рис.2).

Описание КПИ={

Общие параметры:

Имя компонента;

Категория = {spec, abstrjnodel, virt model, impljnodel, code, test_comp, doc, framework}; Структура_компонента= {Сложностькомпоненгпа, Имена составляющих_компонентов};

Функциональные параметры: Целевая_функция = (featurelfx) &featureN(x) \featureK(x)) & featureMfy);

Входные/выходные параметры (события); Условия_функционирования; Нефункциональные параметры:

Временные: WCETfworst case execution time), Временной_масштаб;

Надежностные: Стабильность, Устойчивость к ошибке, Способность к восстановлению, Соответствие стандартам;

Эффективности: Зависимость компонента по данным. Использование ресурсов, Внутренняя (цикломатическая) сложность. Размер;

МодифицируемостшИастраиваемость, Расширяемость, Модифицируемость; ПИ: Коэффициент ПИ, Вероятность развития системы в заданном направлении; j

Рис.2

Сложность описания КПИ существенно зависит от его структуры (простой,

составной компонент) и категории (детализация описания увеличивается при переходе от спецификации к программному коду). Поведение компонента в модели определяется его целевой функцией, включающей функциональную спецификацию, используемую в процессе поиска и сравнения. Нефункциональные аспекты задаются 5-ю группами характеристик. Динамические временные параметры - в виде термов или зависимости, выражающей влияние меняющихся величин на характеристику.

Параметры ПИ рассчитываются следующим образом. Коэффициент повторного использования (Кпик) является счетчиком, инкрементируемым при выборе данного компонента для повторного применения. Коэффициент ПИ группы компонентов (КПИгр) рассчитывается как сумма коэффициентов всех ее составляющих: Кпигр- KjjfiJ, где i — порядковый номер компонента в групе, /' сг N; п — количество компонентов в группе; К пи J - коэффициент использования /-го компонента группы на момент расчета.

Вероятность развития системы в заданном направлении вычисляется по формуле Pi = КПИгр1/ZjКпигр)> где ij - номер группы компонентов, / с[l;n]; i,j сг N: п - количество групп; Pi — вероятность развития системы в направлении, определяемом группой /; Kml,pi, /^„^'-коэффициенты использования компонентов групп i и j соответственно на момент расчета.

В методе СПИ нефункциональные характеристики применяются в качестве дополнительных критериев при отборе кандидатов на ПИ. В работе представлен ряд способов для учета данных характеристик при выборе и сравнении КПИ.

Третья глава диссертации посвящена методам поиска КПИ. Здесь обосновывается выбор базового метода поиска и выбора КПИ, рассматривается его модификация, доказывается эффективность нового метода точного и аппроксимирующего поиска и выбора компонентов (МТАП) по сравнению с базовым и его ближайшим аналогом.

Базовый метод точного и аппроксимирующего поиска Мили (БТА), а также ближайший аналог для сравнения - метод Заремски-Винг были выбраны из топологических методов, использующих формальные спецификации.

Метод БТА обобщает ряд лучших решений в области топологического поиска. Релевантность компонентов запросу в методе определяется наличием пересечения во всех свойствах компонента и запроса. Степень соответствия компонента запросу вычисляется при помощи 4 мер функционального расстояния (функциональный консенсус, разность уточнения, дистанция уточнения и коэффициент уточнения). Наиболее подходящим для ПИ является компонент с лучшими показателями по всем мерам. Доказательство соответствий компонента и запроса осуществляется при помощи системы автоматизированного доказательства теорем (прувера) «Otter».

Метод Заремски-Винг выполняет точный и аппроксимирующий поиск на основании выявления отношений соответствия между КПИ и ключевым запросом.

Метод определяет 8 видов соответствий. Доказательство соответствий производится при помощи прувера «Larch».

Путем проведения ряда изменений метода БТА были получены улучшенный метод точного и аппроксимирующего поиска - МТАП1 и его модификации МТАП2 и МТАПЗ. Основным отличием методов МТАП от БТА является то, что в методах МТАП сравнение компонентов проводится только по двум мерам функционального расстояния: функциональному консенсусу и дистанции уточнения, что дает существенный выигрыш во времени поиска.

В ряде случаев дополнительно уменьшить временные затраты позволяет оптимизация порядка перебора компонентов при поиске и сравнении, используемая в методах МТАП2 и МТАПЗ.

Рисунок 3 иллюстрирует различия между методами МТАП1, МТАП2 и МТАПЗ на примере отбора компонентов на основе расчета функционального консенсуса (0) для библиотеки из четырех компонентов. На рисунке показаны операции, выполняемые при сравнении компонентов в каждом методе.

МТАП1 МТАП2 МТАПЗ

0 (К1.К) ->0 (К2.К) ' 2.0 (К2,К)->0<К1,К) 3.0(К1.К)->0(КЗ.К) 4.0(КЗ.К)->0(К1,К) 5.0(К2,К)->0(К4,К) 6.0(К4,К) ->0(К2,К)

Всего: 6 операций

Всого: 2 операции

Всего: 4 операции

Рис.3

Указанные модификации существенно ускоряют процессы поиска и сравнения относительно метода БТА. Рисунок 4 демонстрирует преимущество методов МТАП при поиске в больших библиотеках с высокой детализацией описания компонентов.

Улучшение временных характеристик связано с потерями в качестве поиска до 15% на первом этапе отбора. Это частично или полностью скомпенсировано вторым этапом отбора - выбором компонента, имеющего наилучшие показатели по всем мерам функционального расстояния.

Также МТАП позволяют учесть при выборе КПИ нефункциональные требования к составляющим ПО СРВ (наихудшее время исполнения, надежность), важность параметров поиска, направления дальнейшего развития системы.

Особенностью метода БТА является то, что он дает нулевой результат при разной степени детализации компонента и запроса и при несовпадении любого их свойства. Для устранения данной проблемы в методах МТАП было расширено понятие иррелевантного множества, а также введен механизм генерализации. Применение механизма показало, что количество найденных компонентов

напрямую зависит от генерализуемого свойства и в ряде случаев может возрасти в 3 и более раз.

Изменение времени выбора оптимального компонента в Изменение времени выбора оптимального компонента в

Сравнение методов МТАП и Заремски-Винг сделало очевидным факт, что генерализация позволяет МТАП находить все компоненты, которые находит его конкурент, обладая при этом рядом преимуществ: большая точность результата, учет важности свойств, возможность обобщения У-термов, что делает методы МТАП более привлекательными для применения на практике.

Экономия времени при ПИ также может быть достигнута за счет уменьшения числа ошибок при выборе КПИ, ведущих к замене компонентов при модификациях и расширении системы. Для снижения числа ошибок было предложено учитывать вероятность развития системы в заданных направлениях при формировании запросов на поиск. Это может увеличить время первоначального поиска, однако, сокращает время на проведение операций повторного поиска, адаптации старого и нового компонентов. Эксперименты показали, что примерно в 60% случаев применение данного механизма экономически выгодно.

Полученные результаты экспериментов позволяют говорить о целесообразности использования метода СПИ и его составляющих, в том числе методов МТАП, при разработке ПО СРВ.

Четвертая глава работы посвящена вопросам создания и поддержки среды для разработки ПО СРВ на базе метода СПИ. В первой части рассматриваются технологические мероприятия, проведение которых является необходимым условием для применения и поддержки метода: создание и пополнение библиотеки КПИ, фиксирующей решения разработчиков для прикладных задач области СРВ, создание и расширение словаря терминов, задание аксиоматики предметной области, выработка правил описаиия компонентов, пересчет коэффициентов. Рекомендации по проведению указанных мероприятий сформированы автором и подробно описаны в работе.

зависимости от количества компонентов в библиотеке (КБ)

зазиоимести от детализации описания компонента и запроса (К5)

Ш БТА В МТАП1 □ МТАП2 О МТАПЗ

Рис.4

Во второй части описан созданный инструментальный комплекс для хранения, поиска и сравнения КПИ «OtterComplexl .0».

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

С учетом этого был разработан инструментальный комплекс «OtterComplexl.О» для автоматизации операций поиска, сравнения и упорядочивания компонентов на базе методов БТА и МТАП. Комплекс позволяет работать с неограниченным количеством библиотек различных категорий компонентов в разных предметных областях, расширять набор аксиом предметной области и библиотек КПИ в процессе разработки, измененять алгоритмы и критерии отбора компонентов, работать на Windows платформе, легко переносить комплекс в другие операционные системы.

Кроме этого, «OtterComplexl.0» предусматривает протоколирование результатов поиска и сравнения компонентов, быстрый запуск поиска и упорядочивания через контекстное мешо, простоту установки и настройки инсталляционного пакета.

Структура «OtterComplex 1.0» представлена на рисунке 5. Основная функциональность комплекса реализована автором на языке «Otter 3.3». Вместе с этим, комплекс использует готовую систему автоматического доказательства теорем - прувер «Otter». Данный прувер относится к классу свободно распространяемого ПО и может работать с большинством операционных систем и компьютеров. Доказательство теорем в нем может производиться полностью автоматически, без участия оператора. Согласно исследованиям ряда специалистов «Otter» и ряд его модификаций показывают лучшее время доказательства теорем при поиске и сравнении компонентов.

«OtterComplex 1.0» хорошо зарекомендовал себя на практике, как средство для эффективной автоматизации и поддержки процессов ПИ. Сравнение комплекса с аналогами, например, «Larch\ML» метода Заремски-Винг, показало, что по ряду качественных характеристик комплекс превосходит конкурентов, а в остальных не уступает им.

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

Библиотека «Планировщики задач СРВ» включает 2 категории иерархически упорядоченных единиц ПИ для 30 элементов (упорядочивание производится с целью ускорения поиска и отбора компонентов). Библиотека «Отображение специальных графических объектов» содержит 5 категорий единиц ПИ для 97 элементов. В работе приведены примеры спецификаций данных единиц ПИ. Например, набора тестовых данных и виртуальной модели для объекта «Circle». Для библиотеки планировщиков показаны процессы создания словаря, правил описания компонентов библиотеки и аксиоматики предметной области.

Оценка применения метода СПИ в конкретных проектах была получена на основании анализа таких характеристик, как категория КПИ, характер изменений компонентов, объем изменений, повторное использование. Приведенные ниже диаграммы иллюстрируют полученные результаты.

Рисунок 6 представляет уровень ПИ различных категорий компонентов в ряде проектов с использованием метода СПИ (уровень до внедрения метода оценивается равным 20%). Представленные на диаграмме значения дают практическое подтверждение сделанным в работе выводам о характере влияния процесса расширения спектра единиц ПИ на поведение функции насыщения, а также зависимости значения функции от категории единиц ПИ.

Диаграмма 7 иллюстрирует увеличение процента ПИ компонентов при добавлении в библиотеку КПИ прикладных задач области.

□ Описание КПИ. спецификация

□ Абстрактные, виртуальные модели

□ Реализуемые модели

□ Программный код

В Продукты процесса тестирования

□ Документация

О Инструментвпьиая среда

Категория КПИ

Рис.6

4 5 е

Проекты

Рис.7

Ряд дополнительных показателей увеличения эффективности разработки ПО СРВ, связанных с применением метода СПИ приведен в таблице 1.

Таблица 1

Показатель 1 Значение!0/«) Показатель Значение(%)

Уменьшение времени на обучение новых сотрудников 30 Повышение качества разрабатываемых систем 20

Снижение времени на сопровоздение и поддержку 25 Снижение времени на разработку 45

Улучшение качества производимого кода 45 Снижение стоимости изменений а системе 40

Данные получены методом экспертных оценок при следующих входных условиях:

1. Квалификация экспертов: специализация в данной области от 7 лет;

2. Количество проектов: 9;

3. Общая длительность проектов: 4 года;

4. Размер разрабатываемых систем: -170 ООО...400 ООО строк кода. Приведенные оценки свидетельствуют о том, что применение метода СПИ

позволило существенно улучшить процесс разработки АИУС в оцениваемых проектах. Это дает возможность предположить, что метод с успехом может быть использован и в более широкой практике, что подтверждается рядом внедрений на

различных предприятиях, разрабатывающих ПО для СРВ.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ И ВЫВОДЫ

Основные теоретические результаты настоящей работы состоят в следующем:

1. Разработан метод сквозного повторного использования (СПИ), позволяющий улучшить ряд характеристик процесса ПИ и частично автоматизировать поиск и выбор компонентов при разработке ПО СРВ.

2. Предложена классификация единиц ПИ, включающая такие перспективные элементы ПИ, как «продукт процесса тестирования», «инструментальная среда», «документация» и ряд других.

3. Разработана модель вычислительного процесса СРВ, учитывающая различные аспекты СРВ в качестве контекста системы и ее составляющих, а также модель описания КПИ, включающая временные и надежностные характеристики компонента, ряд коэффициентов для сбора и анализа статистики в области ПИ.

4. Получен новый метод точного и аппроксимирующего поиска КПИ в библиотеке (МТАП), позволяющий снизить затраты процессов поиска и сравнения, улучшить их результативность, а также оценить трудоемкость последующей адаптации отобранных элементов.

5. Предложены механизмы генерализации базового запроса и введения иррелевантных множеств, позволяющие находить элементы при несовпадении ряда свойств объекта и запроса.

6. Разработаны способы учета нефункциональных требований к составляющим проектируемой системы при отборе кандидатов для ПИ.

7. Определены коэффициент ПИ компонента и вероятность развития системы в заданном направлении, применяемые для повышения эффективности процесса ПИ.

К практическим результатам можно отнести следующее:

1. Сформирован набор компонентов ПО СРВ и определены их свойства, что позволило создать библиотеку системных задач с целью их ПИ.

2. Созданы словарь терминов, правила описания компонентов, аксиоматика предметной области, а также базовые библиотеки КПИ «Планировщики задач СРВ» (2 категории единиц ПИ для 30 элементов) и «Отображение специальных графических объектов» (5 категорий единиц ПИ для 97 элементов).

3. Разработан инструментальный комплекс «ОйегСошр1ех1.0» поиска и отбора компонентов для ПИ на базе формальных спецификаций. Приведены рекомендации по его установке, настройке и модификации.

4. Регламентированы ключевые моменты внедрения и поддержки метода СПИ в процесс разработки ПО СРВ. Практическая ценность работы подтверждается применением метода СПИ в процессе разработки ПО для ряда проектов АИУС различного назначения. Использование метода позволило сократить время разработки и существенно снизить затраты на поддержку систем.

СПИСОК РАБОТ, ОПУБЛИКОВАННЫХ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Окулевич В.В., Самохвалова О.Г. Внедрение и поддержка новых технологий в процессе разработки ПО // Телематика 2003. Тез. докл. конф. 14-17 апреля 2003г.- СПб., 2003.- Т. 1,- С. 283-284.

2. Окулевич В.В., Самохвалова О.Г. Повторное использование механизмов операционной среды в информационно-управляющих системах // Политехнический симпозиум «Молодые ученые промышленности Северозападного региона». Тез. докл. декабрь 2002г.- СПб., 2002.- С. 69-70.

3. Окулевич В.В., Самохвалова О.Г. Повторное использование операционных сред при создании ПО СРВ // Наука. Техника. Инновации. Тез. докл.. конф. 5-8 декабря 2002г.- Новосибирск, 2002,- Ч. 2. - С. 19-20.

4. Окулевич В.В., Самохвалова О.Г. Проектирование операционных систем реального времени на базе архитектурных шаблонов // Современные технологии. Сборник научных статей. СПб.:СПбГИТМО(ТУ), 2001,- С. 135-138.

5. Окулевич В.В., Самохвалова О.Г., Платупов А.Е. Разработка программного обеспечения встроенных систем с использованием стандартной библиотеки языка С++ // Политехнический симпозиум «Молодые ученые промышленности Северо-западного региона». Тез. докл. 18 апреля 2003г.- СПб., 2003.- С. 13-14.

6. Самохвалова О.Г. Выбор оптимального алгоритма планирования при разработке программного обеспечения систем реального времени // Научно-технический вестник,- СПб.: СПбГИТМО(ТУ), 2002,- вып. 6. -С. 88-91.

7. Самохвалова О.Г. Планирование в системах реального времени // Сб. аннотаций работ по грантам Санкт-Петербуржского конкурса 2001 г. для студентов, аспирантов, молодых ученых и специалистов,- СПб.: Изд-во С.Петерб.ун-та, 2001,- С. 77.

8. Окулевич В.В., Самохвалова О.Г., Платунов А.Е. Использование инкапсуляции, наследования и полиморфизма при создании программного обеспечения систем реального времени // Современные технологии. Сборник научных статей. СПб.:СПбГИТМО(ТУ), 2003.- С. 128-132.

9. Окулевич В.В., Самохвалова О.Г. Использование стандартных библиотек во встроенных системах (па примере стандартной библиотеки языка С++) // Научно-технический вестник СПбГИТМО(ТУ), выпуск 10, СПб:СПбГИТМО(ТУ), 2003 г, С. 112-115.

10. Самохвалова О.Г. Технологии повторного использования и реинжиниринга и системы реального времени // Научно-технический вестник СПбГИТМО(ТУ), выпуск 10, СГ1б:СПбГИТМО(ТУ), 2003 г., С. 116-119.

П.Окулевич В.В., Самохвалова О.Г. Автоматизация процессов повторного использования и реинжиниринга в разработке программною обеспечения систем реального времени // Политехнический симпозиум «Молодые ученые промышленности Северо-западного региона». Тез. докл. октябрь-ноябрь 2003г.- СПб, 2003,-С. 13.

12. Самохвалова О.Г. Поиск программных компонент с целью их повторного использования // Научно-технический вестник СПбГУ ИТМО, выпуск 14, СПб:СПбГУ ИТМО, 2004 г., С. 183-185.

13. Шедько О.Г. Топологические методы поиска в разработке программного обеспечения на базе повторного использования компонент // Политехнический симпозиум «Молодые ученые промышленности Северо-западного региона». Тез. докл. декабрь 2006г.- СПб.: Изд-во Политехи. Ун-та, 2006.- С. 65-66.

14. Шедько О.Г. Повышение эффективности повторного использования программных компонент при помощи сбора и анализа статистических данных // Политехнический симпозиум «Молодые ученые промышленности Северозападного региона». Тез. докл. 2007г.- СПб.: Изд-во Политехи. Ун-та, 2007.- С. 38-39.

15. Шедько О.Г. Временные характеристики в описании программных компонентов на базе формальных спецификаций // Политехнический симпозиум «Молодые ученые промышленности Северо-западного региона». Тез. докл. 30 ноября 2008г.- СПб.: Изд-во Политехи. Ун-та, 2008,- С. 39.

16. Шедько О.Г. Применение генерализации в методах топологического поиска программных компонент повторного использования // Всероссийский форум студентов, аспирантов и молодых ученых «Наука и инновации в технических университетах». Тез. докл. Октябрь 2007г.- СПб.: Изд-во Политехи. Ун-та, 2007,- С. 52.

17. Шедько О.Г., Окулевич В.В. Поиск программных компонент для повторного использования с помощью автоматизированных систем доказательств теорем // Научно-технический вестник СПбГУ ИТМО, выпуск 45, СПб:СПбГУ ИТМО, 2007 г., С. 86-90.

Тиражирование и брошюровка выполнены в учреждении

«Университетские телекоммуникации»

197101, Санкт-Петербург, Саблинская ул., 14

Тел. (812) 233 4669 объем 1 пл.

Тираж 100 экз.

Оглавление автор диссертации — кандидата технических наук Шедько, Ольга Геннадьевна

Введение.

1. Технологии повторного использования в разработке программного обеспечения систем реального времени.

1.1 Терминология.

1.2 Системы реального времени: основные понятия и особенности.

1.3 Классификации видов ПИ.

1.4 Разработка ПО СРВ на базе ПИ.

1.5 Методы поиска КПИ.

1.6 Постановка задачи разработки метода ПИ программных компонентов, адаптированного к применению в области ПО СРВ.

1.7 Выводы.

2. Метод СПИ и его составляющие в разработке ПО СРВ.

2.1 Основные положения метода СПИ.

2.2 Регулярность и непрерывность процесса ПИ.

2.3 ПИ в условиях ограничений на применение сторонних компонентов

2.4 ПИ прикладных задач в процессе разработки ПО СРВ.

2.5 Учет специфических особенностей ПО СРВ. Модель вычислительного процесса СРВ.

2.6 Модель описания КПИ ПО СРВ для хранения, поиска и ПИ.

2.7 Категория КПИ.

2.8 Структура КПИ.

2.9 Временные характеристики.

2.10 Надежность КПИ.

2.11 Эффективность КПИ.

2.12 Модифицируемость КПИ.

2.13 Коэффициенты ПИ.

2.14 Выводы.

3. Модифицированные методы точного и аппроксимирующего поиска.

3.1 Базовый метод поиска КПИ.

3.2 Модифицированный метод точного и аппроксимирующего поиска КПИСРВ.

3.3 Особенности метода МТАП КПИ ПО СРВ.

3.4 Выводы.

4. Создание и поддержка среды для разработки ПО СРВ на базе метода СПИ

4.1 Мероприятия по внедрению и поддержке процесса разработки ПО СРВ на базе метода СПИ.

4.2 Создание инструментальной среды для хранения, поиска и сравнения КПИ.

4.3 Выводы.

5. Разработка и исследование библиотек КПИ СРВ на базе метода СПИ.

5.1 Библиотека планировщиков задач СРВ.

5.2 Библиотека графических объектов.

5.3 Оценка процесса разработки ПО СРВ на базе метода СПИ.

5.4 Выводы.

Введение 2009 год, диссертация по информатике, вычислительной технике и управлению, Шедько, Ольга Геннадьевна

Создание программного обеспечения (ПО) для систем реального времени (СРВ) считается одной из наиболее сложных и дорогостоящих задач программирования [65]. В значительной мере это обусловлено специфическими требованиями к системам данного класса (гетерогенность, распределенность, функционирование в масштабе реального времени и пр.), условиями их разработки и эксплуатации. Немалую роль в этом играет и фактор требований к повышенной надежности и безопасности систем для их окружения.

Вместе с этим активное использование систем подобного класса' сегодня и перспективы еще большего их распространения в будущем заставляют коллективы разработчиков искать пути снижения трудоемкости процесса создания ПО СРВ, повышения его надежности, а также сокращения сроков реализации и стоимости проектов. Исследования, посвященные данной,теме охватывают широкий спектр направлений, начиная от создания специальных методик проектирования, например, шаблонно-ориентированный подход [9], CoDesign [101], до автоматизации различных составляющих процесса разработки, например [103, 104].

Одним из направлений решения данной проблемы в настоящее время является повторное использование (ПИ) различных продуктов разработки ПО, созданных ранее [66]. Множество исследований в этой области производятся как российскими (Мякишев Д. [32], Липаев В. [26, 27], Сухомлин В. [57] и др.), так и зарубежными (Isovic D., Norstrom> С. [105], Hsiung Р.-А.[103]) специалистами.

Максимальное использование предыдущих наработок при изготовлении новых изделий приносит немалую выгоду. Однако, большинство современных технологий и методов ПИ ориентировано на системы общего назначения и не учитывает специфику области СРВ. Это либо сильно уменьшает возможность их применения без специальной адаптации для данных систем, либо делает их использование невозможным. Так, например, большинство методов поиска компонентов повторного использования (КПИ) основано на анализе функциональных или структурных характеристик объекта, и не рассматривает временные, надежностные и другие составляющие. Кроме того, зачастую сами методики ПИ имеют ряд существенных ограничений, снижающих их эффективность [110, 122].

Анализ технологий разработки ПО, ориентиронных на СРВ также показывает фрагментарность подходов, неполный охват жизненного цикла ПО, низкую эффективность ПИ.

В связи с этим, целью работы являлось нахождение/создание метода разработки ПО СРВ на базе ПИ, учитывающего специфические особенности систем данного класса, а также устраняющего ряд недостатков существующих технологий.

Для достижения поставленной цели в работе:

1. Выполнен анализ и оценка текущего состояния проблемы. Выявлены основные направления совершенствования существующих методик ПИ для создания ПО СРВ.

2. Разработан метод сквозного повторного использования (СЕЛИ) различных продуктов процесса разработки ПО СРВ.

3. Созданы модели вычислительного процесса СРВ и описания КПИ СРВ, разработан модифицированный метод точного и аппроксимирующего поиска (МТАП) в библиотеке КПИ.

4. Создан инструментальный комплекс «OtterComplexl.O», осуществляющий поддержку процесса разработки ПО СРВ на базе метода СПИ.

5. Показана эффективность разработанного метода путем сравнения с аналогами и применения метода на практике.

Решение поставленных задач производилось с применением элементов логики первого порядка, теории множеств, методов формальных доказательств, элементов теории графов, методов экспертных оценок и натурного моделирования.

Научная новизна работы состоит в следующем:

1. Разработан метод сквозного повторного использования (СПИ), позволяющий улучшить ряд характеристик процесса ПИ и частично автоматизировать поиск и выбор компонентов при разработке ПО СРВ.

2. Предложена классификация единиц ПИ, включающая такие перспективные элементы ПИ, как «продукт процесса тестирования», «инструментальная среда», «документация» и ряд других.

3. Разработана модель вычислительного процесса СРВ, учитывающая различные аспекты СРВ в качестве контекста системы и ее составляющих, а также модель описания КПИ, включающая временные и надежностные характеристики компонента, ряд коэффициентов для сбора и анализа статистики в области ПИ.

4. Получен новый метод точного и аппроксимирующего поиска КПИ в библиотеке (МТАП), позволяющий* снизить затраты процессов поиска и сравнения, улучшить их результативность, а также оценить трудоемкость последующей адаптации отобранных элементов.

5. Предложены механизмы генерализации базового запроса и введения иррелевантных множеств, позволяющие находить элементы при несовпадении ряда свойств объекта и запроса.

6. Разработаны способы учета нефункциональных требований к составляющим проектируемой системы при отборе кандидатов для ПИ.

7. Определены коэффициент ПИ компонента и вероятность развития системы в заданном направлении, применяемые для повышения эффективности процесса ПИ.

Практическая ценность работы была подтверждена путем применения указанного метода в процессе разработки ПО для ряда проектов ИУС различного назначения, что подтверждается актами о внедрении с предприятий ГУПНПО "Аврора", ООО "ЛМТ", ООО "Exigen Services".

Использование результатов диссертационной работы в процессе разработки ПО на данных предприятиях позволило сократить время разработки и существенно снизить затраты на поддержку систем. В настоящее время произведенные элементы повторного использования активно применяются в новых проектах.

По результатам работы было сделано 16 докладов на различных конференциях. Всего по теме диссертации выполнено 17 публикаций, из них 4 в изданиях, рекомендуемых ВАК.

За активное участие во Всероссийском форуме студентов, аспирантов и молодых ученых 2007 г. автор работы награжден грамотой.

Ряд исследований, посвященных теме планирования задач в СРВ поддержан грантом АСП №301515 Санкт-Петербургского конкурса 2001 г. для студентов, аспирантов, молодых ученых и специалистов.

Часть материалов диссертации вошла в курс лекций и лабораторных работ по дисциплине «Операционные системы реального времени» кафедры Вычислительной техники СПбГУ ИТМО.

Предложенный в работе метод СПИ рекомендуется к применению разработчикам ПО СРВ для снижения времени создания ПО СРВ и увеличения уровня его качества и надежности, а также с целью повышения эффективности самого процесса разработки.

Заключение диссертация на тему "Технологии повторного использования при разработке программного обеспечения систем реального времени"

5.4 Выводы>

1) На примере области планирования задач в СРВ4 показаны основные этапы внедрения СПИ. Созданы соответствующие словарь терминов, правила описания компонентов, аксиоматика предметной, области, а также базовая библиотека компонентов ПИ «Планировщики задач СРВ», включающая в себя 30 различных объектов.

2) Поведено исследование характеристик библиотеки «Планировщики задач СРВ», результаты которого подтвердили теоретические выводы о характере зависимости числа найденных КПИ и количестве связей между элементами в библиотеке от степени детализации- описания элементов.

Показан процесс выбора планировщика в библиотеке «Планировщики задач СРВ» с целью его использования при проектировании и реализации подсистемы управления процессами в АИУС. На примере разработки подсистемы управления задачами АИУС показана эффективность применения предложенного метода СПИ, а также создания библиотек ПИ на практике. (Подсистема функционирует без изменений уже более четырех лет, не смотря на то, что за указанное время набор задач системы превысил первоначальный в 1,8 раза, а прочие подсистемы претерпели ряд существенных изменений.) Разработана библиотека «Отображение специальных графических объектов», содержащая различные продукты процесса разработки для 97 элементов. Приведены примеры спецификаций данных компонентов. Выполнены оценки эффективности процесса разработки ПО на выбранном предприятии. На основании оценок показано, что применение метода СПИ позволяет существенно повысить уровень ПИ компонентов, созданных ранее, а также улучшить целый ряд других характеристик процесса разработки ПО СРВ.

Заключение

Основные теоретические результаты настоящей работы состоят в следующем:

1. Разработан метод сквозного повторного использования (СПИ), позволяющий улучшить ряд характеристик процесса ПИ и частично автоматизировать поиск и выбор компонентов при разработке ПО СРВ.

2. Предложена классификация единиц ПИ, включающая такие перспективные элементы ПИ, как «продукт процесса тестирования», «инструментальная среда», «документация» и ряд других.

3. Разработана модель вычислительного процесса СРВ, учитывающая различные аспекты СРВ в> качестве контекста системы и ее составляющих, а также модель описания" КПИ, включающая временные и надежностные характеристики компонента, ряд коэффициентов для сбора и анализа статистики в области-ПИ.

4. Получен новый метод точного и аппроксимирующего поиска КПИ в библиотеке (МТАП), позволяющий снизить затраты процессов поиска и сравнения, улучшить их результативность, а также оценить трудоемкость последующей адаптации отобранных элементов.

5. Предложены механизмы генерализации базового запроса и* введения иррелевантных множеств, позволяющие находить элементы при несовпадении ряда свойств объекта и запроса.

6. Разработаны способы учета нефункциональных требований к составляющим проектируемой системы при отборе кандидатов для ПИ.

7. Определены коэффициент ПИ компонента и вероятность развития системы в заданном направлении, применяемые для повышения эффективности процесса ПИ.

К практическим результатам можно отнести следующее:

1. Сформирован, набор компонентов ПО СРВ и определены их свойства, что позволило создать библиотеку системных задач с целью их ПИ.

2. Созданы словарь терминов; правила описания компонентов, аксиоматика'предметной области, а также базовые библиотеки КПИ «Планировщики- задач? СРВ» (2 категории единиц ПИ для 30 элементов), и «Отображение специальных графических объектов» (5 категорий единиц ПИ для 97 элементов).

3.- Разработан инструментальный комплекс «OtterComplexl.O» поиска и отбора компонентов для ПИ" на базе формальных спецификаций. Приведены, рекомендации? по его установке, настройке и модификации;

4. Регламентированы ключевые моменты внедрения и поддержки методаСПИ в процесс разработки ПО СРВ.

Практическая ценность работы была подтверждена? путем применения перечисленных результатов : в процессе разработки ПО для ряда проектов автоматизированных информационно-управляющих систем (АИУС) различного назначения. Это позволило сократить время- разработки и существенно снизить затраты* Hat поддержку систем. Использование предложенного метода; также позволяет более эффективно организовать процесс разработки и повысить качество производимого продукта за счет применения неоднократно проверенных компонентов: и снижения воздействия человеческого фактора при • выполнении ряда операций поиска и выбора, снижая тем самым вероятность возникновения ошибок.

В настоящее время произведенные компоненты повторного использования* активно применяются в новых проектах.

Библиография Шедько, Ольга Геннадьевна, диссертация по теме Системы автоматизации проектирования (по отраслям)

1. Астапкович A.M., Востриков А.А. Обеспечение надежности микропроцессорных систем управления программно-аппаратными методами // BYTE.- 2000.- № 9(25). С. 26-33.

2. Астапкович A.M., Востриков А.А., Гуляев A.M. Операционные системы реального времени для встраиваемых приложений // BYTE.-2000:- № 9(25). С. 34-48.

3. Бек К. Экстремальное программирование: Пер. с англ.- СПб.: Питер, 2002. 224 е., ил.

4. Беме Г., Борн В. Программирование управляющих вычислительных систем: Пер. с нем.- М.: Энергия, 1975 г.

5. Бешенков С. Моделирование и формализация. Методическое пособие/ С.А. Бешенков, Е.А. Ракитина. — М.: Лаборатория базовых' знаний, 2002. -336с.:ил.

6. Богачев К.Ю. Операционные системы, реального времени: Материалы лекций.- М.: МГУ им. Ломоносова; 2000.

7. Бокс Д. Сущность технологии СОМ. Библиотека программиста: Пер. с англ.- СПб.: Питер, 2002.- 400 с.

8. Бьоркандер М. Графическое программирование с использованием UML и SDL // Открытые системы.- 2001.-№1.

9. Гамма Э. и др.* Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес; Пер. с англ.- СПб.: Питер, 2001. 368 е., ил.

10. О.Горбунов-Посадов М. Облик многократно используемого компонента // Открытые системы.-1998.- №3.

11. П.Горбунов Hi Встроенные средства диагностики QNX4 // Открытые системы.-2000.- №5-6.

12. ГОСТ Р ИСО/МЭК 15408 "Информационная технология.1 Методы и средства обеспечения безопасности. Критерии оценки безопасностиинформационных технологий // М.:ИПК Издательство стандартов, 2002.

13. ГОСТ Р ИСО/МЭК 9126-93 Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению //М.:ИПК Издательство стандартов, 2004.

14. Дал. У. и др. Структурное программирование / У. Дал, Э. Дейкстра, К. Хоор; Пер. с англ. М.: Мир, 1975.

15. Дубова Н. СОМ или CORBA? Вот в чем вопрос // Открытые системы.-1999.-№3.

16. Йордон Э., Аргила К. Структурные модели в объектно-ориентированном анализе и проектировании: Пер. с англ.- М.: Лори, 1999.

17. Канер С. и др. Тестирование программного обеспечения / С. Канер, Дж. Фолк, Е.К. Нгуен; Пер: с англ.- К.: Диасофт, 2000. 544 с.

18. Кватрани Т. Rational Rose 2000 и UML. Визуальное моделирование: Пер. с англ.- М.:ДМК Пресс, 2001. 176 е., ил.

19. Коберн А. Современные методы описания требований к системам: Пер. с англ.- М.: Лори, 2002. 263 с.

20. Коуд П. и др. Объектные модели. Стратегии, шаблоны и приложения / П. Коуд, Д: Норт, М. Мейфилд; Пер. с англ.- М.: Лори, 1999.- 434 с.

21. Кузьминский М. Процессы и их приоритеты в ОС Unix // Открытые системы.- 1997.- №6.

22. Кулямин В.В. Компонентный подход в программировании: URL: http://www.intuit.ru/department/se/compprog/

23. Лаврищева Е.М., Рожнов А.М: Концепция аналитической оценки характеристик качества программных компонентов. URL: eprints.isofts.kiev.ua/295/l/D67.DOC

24. Ларман К. Применение UML и шаблонов проектирования: Пер. с англ.-М.: Вильяме, 2000. 496 с.

25. Лефингуэлл Д., Уидгиг Д. Принципы работы с требованиями. Унифицированный подход: Пер. с англ.- М.: Вильяме, 2002.- 448 с.

26. Липаев В. В. Экономика производства сложных программных продуктов. М.: СИНТЕГ, 2008.

27. Липаев В., Филинов Е. Формирование и применение профилей открытых информационных систем // Открытые системы. — 1997. -№5.

28. Майерс Г. Искусство тестирования программ: Пер. с англ.- М.: Финансы и статистика, 1982. — 176 е., ил.

29. Майерс Г. Надежность программного обеспечения: Пер. с англ.- М.: Мир, 1980.

30. Матьяш В.А., Никандров А.В:, Путилов В.А., Федоров А.Е., Фильчаков В.В. Структурный анализ при разработке программного обеспечения систем реального времени. Апатиты, КФ ПетрГУ, 1997. - 78с.

31. Метрики кода и их реализация в IBM Rational ClearCase // URL: http://www.ibm.eom/developerworks/ru/edu/0108novich/section2.html

32. Мякишев Д. Объектно-ориентированное проектирование на основе эталонных моделей // Открытые системы.- 1998.- №3.

33. Никитин В.А. Управление качеством на базе стандартов ИСО 9000:2000.- СПб.: Питер, 2002. 272 е.: ил.

34. Озеров А.А. «Загадочный» мир шаблонного проектирования // Программист,- 2002. -№11.35.0кулевич В.В. Методы построения и верификации программного обеспечения информационно-управляющих систем // Дисс. канд.-СПб., 2004.

35. Окулевич В.В., Самохвалова О.Г. Повторное использование операционных сред при создании ПО СРВ // Наука; Техника. Инновации. Тез. докл. конф. 5-8 декабря 2002г.- Новосибирск, 2002.Ч. 2.-С. 19-20.

36. Окулевич В.В., Самохвалова О.Г. Проектирование операционных систем реального времени на* базе архитектурных шаблонов // Современные технологии. Сборник научных статей. СПб.:СПбГИТМО(ТУ); 2001.- С*. 135-138.

37. Окулевич- В.В., Самохвалова О.Г. Использование стандартных библиотек во встроенных системах (на примере стандартной библиотеки* языка С++) // Научно-технический вестник СПбГИТМО(ТУ), выпуск 10, СПб:СПбГИТМО(ТУ), 2003 г., С. 112115.

38. Окулевич В.В., Самохвалова О.Г. Автоматизация процессов повторного использования и. реинжиниринга в разработке программного обеспечения систем реального времени // Политехнический симпозиум «Молодые ученые промышленности

39. Северо-западного региона». Тез. докл. октябрь-ноябрь 2003г.- СПб:, 2003.- С. 13.

40. Петрухин В.А., Лаврищева Е.М. Методы и средства инженерии ПО. URL: http://www.intuit.ru/department/se/sweboky.

41. Платунов А.Е., Постников Н.П. Перспективы формализации методов проектирования встроенных систем //Электронные компоненты. 2005, №1, с. 24-29.

42. Постников Н.П. Поведенческий и инструментальный аспекты проектирования встроенных вычислительных систем: : Дисс. канд. тех. наук.- СПб., 2004.-152 с.

43. Поречный В. Использование САПР «МАХ+plus II» для разработки цифровых устройств на ПЛИС фирмы «Альтера», URL: http://epos.kiev.ua/pubs/cs/mp22.htm.

44. Робачевский А. Операционная система UNIX. СПб.:ВНУ-Санкт-Петербург, 1998.

45. Ройс У. Управление проектами по созданию программного обеспечения: Пер. с англ.- М.: Лори, 2002.

46. Романюк С. Сюрпризы POSIX // Открытые системы, 1999.- №09-10.

47. Самохвалова О.Г. Выбор оптимального алгоритма планирования при разработке программного обеспечения систем реального времени // Научно-технический вестник.- СПб.: СПбГИТМО(ТУ), 2002.- вып. 6. -С. 88-91.

48. Самохвалова О.Г. Технологии повторного использования и реинжиниринга1 и; системы реального времени // Научно-технический вестник СПбГИТМО(ГУ), выпуск 10, СПб:СПбГИТМО(ТУ), 2003 т., С. 116-119.

49. Зб.Самохвалова O.F. Поиск программных компонент с целью их повторного использования // Научно-технический вестник СПбГУ ИТМО, выпуск 14 , СПб:С1 ГбГИТМО(ТУ), 2004 г., С. 183-185.

50. Сухомлин В. Методологический; базис открытых систем<// Открытые системы. -1996. №4.

51. Терехов А., Верхуф К. Проблемы языковых преобразований:. // Открытые системы, 2001.- №5-6.59;Уайттеккер Д., Воас Д. 50 лет программирования: основные принципы* качества // Открытые системы, 2003 .-№3.

52. Фаулер М., Скотт К. UML. Основы. (Второе издание) : Пер. с англ.-СПб.: Символ-Плюс, 2002.- 192 е.: ил.

53. Федоров А.Л., Казаров А.С., Ческис В.Л. Эмуляция динамического объектно-ориентированного языка на С++ // Программист, 20021 №11.

54. Федоров О. Разработка приложений под ОС QXN // Компьютерная неделя, 1998.-№27(151).

55. Фелсинг Д.М: Практическое руководство по функционально-ориентированной разработке программного обеспечения:: Пер. с англ -М: Вильяме, 2002.- 304 с.

56. Фокс Дж. Программное обеспечение и его разработка: Пер. с англ.-, М: Мир, 1985.-368 е., ил.

57. Фридман А. Л. Объектно-ориентированный дизайн — опыт многократного использования //PC Week/RE, 1996.- №46.

58. Фридман^ A.JI. Основы объектно-ориентированной разработки, программных систем.- М.: Финансы и статистика, 2000. — 192 е., ил.

59. Функционально-временная верификация сложных цифровых систем // Открытые системы, 2002. №6.

60. Харламов А. Автоматический структурный анализ текстов // Открытые системы, 2002. №10.

61. Цирюлик О.И. QNX: Создание приложений в PhAB. Часть 1. URL: http://qnx.org.ru/docs-devel/phab.html.

62. Цирюлик О.И. Создание инкапсулированных GUI-компонентовв QNX RTP Photon Application Builder. URL: http://qnx.org.ru/docs-devel/rtpgui.html.

63. Шаллоуей А., Тротт Д.Р. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию: Пер. с англ.-М: Вильяме, 2002.

64. Шедько О.Г., Окулевич В.В. Поиск программных компонент для повторного использования с помощью автоматизированных систем доказательств теорем // Научно-технический вестник СПбГУ ИТМО, выпуск 45 , СПб:СПбГУ ИТМО, 2007 г., С. 86-90.

65. Шмидт Д., Куне Ф. Обзор спецификации Real-Time CORBA // Открытые системы, 2002. №5-6.

66. Элиенс А. Принципы объектно-ориентированной разработки программ (2-е издание) : Пер. с англ.- М: Вильяме, 2002.

67. Якобсон А. и др. Унифицированный процесс разработки программного обеспечения / А. Якобсон, Г. Буч, Дж. Рамбо; Пер. с англ.- СПб.: Питер, 2002. 496 е., ил.

68. Aldarmi S.A, Burns A., Time-Cognizant Value Function for Scheduling Real -Time System // Technical Report, University of York (England), 1998.

69. Arango G. Domain Engineering for Software Reuse: Ph.D. thesis.- Dep. of Information and Computer Science; University of California at Irvine, 1988.

70. Arnold S.P., Stepoway S.L. The Reuse System: Cataloguing an Retrieval of Reusable Software // in Proceedings of COMPCON S'87.- IEEE Computer Society Press, 1987. pp. 376-379.

71. Basili V.R. Viewing Maintenance as Reuse-Oriented Software Development // IEEE Software, 1990.- Vol. 7(1).- pp.19-25.

72. Bestavros A. Scheduling.- Boston University (USA), 1995.

73. Binns P. Scheduling Slack in MetaH // Honeywell Technology Center, Minneapolis, 1995.

74. Burns A. Fixed Priority Scheduling with Deadlines Prior to Completion // Technical Report, University of York (England).

75. Burton B.A. etc. The Reusable Software Library // IEEE Software, July 1987.-pp.25-33.

76. Common Criteria for Information Technology Security Evaluation (CC), Version 2.1, 1999. ISO/IEC 15408. URL: http://www.niap-ccevs.org/cc-scheme/ccdocs/.

77. Davis R.I. Approximate Slack Stealing Algorithms For Fixed Priority Preemptive Systems // Technical Report, University of York (England).

78. DO-178B, Software Considerations in Airborne Systems and Equipment Certification. URL: http://www.rtca.org.

79. Faustle S., Fugini M:G., Damiani-E. Retrieval of reusable components using functional similarity // Software Practice and Experience, May 1996.

80. Fisher B. Deduction-Based Software Component Retrieval // Ph.D. thesis.-Dep. of Mathematic and Informatic, University of Passau, 2001.

81. Florijn G., Meijers M., van Winsen P. Tool Support for Object-oriented Patterns // Technical Report. Utrecht University, Dep. of Computer Science, 1997.

82. Frakes W. В., Pole T. An Empirical Study of Representation Methods for Reusable Software Components // Technical Report, Software Productivity Consortium, Herndon, VA, 1992.

83. Freeman P. Reusable Software Engineering: Concepts and Research Directions // in Tutorial: Software Reusability, ed Freeman P., 1987.- pp.1023.

84. Garland S. J., Guttag J.V. A Guide to LP, The Larch Prover // Technical Memorandum №82, 1991.

85. Garland S. J., Guttag J.V. LP, The Larch Prover : User and Reference Manual//Technical Report of Massachusetts Institute of Technology, 1994.

86. Girardi R., Ibrahim B. A similarity for retrieving software artifacts // International Conference on Software Engineering and Knowledge Engineering, Jurmala, Latvia, 1994.

87. Harbour M. G., Sha L. An Application-bevel Implementation of the Sporadic Server // Technical Report, Carnegie Mellon University (USA), 1991.

88. Harbour M.G., Sha L. An Application-Level Implementation of the Sporadic Server //Technical Report, Carnegie Mellon University (USA), 1991.

89. Hardware-Software Codesign. // IEEE Design & Test Computers, January-March 2000. P.92-99.

90. Hatley D.J., Pirbhai I.A. Strategies for Real-Time System Specification. Dorset House, 1988.

91. Hsiung P.-A., Object-Oriented Application Framework Design for RealTime Systems // in Proceedings, 4th International Symposium on RealTime and Media ( RAMS'98), pp. 221-227, September 1998.

92. Jeng J.J., Cheng B.H.C. Formal methods applied to reuse // in Proceedings, 5th Workshop on Software Reuse. Palo Alto, CA, 1992.

93. Jilani L. and etc. Retrieving Software Components That Minimize Adaptation Effort // 1997.-22p.

94. Jones T.C. Reusability in Programming: A Survey of the State of the Art // IEEE Transaction on Software Engineering, vol.10 (5), September 1984. -pp. 488-494.

95. Krueger C.W. Software Reuse// ACM Computing Surveys, 24(2), 1992. -pp.131-183.

96. Lee E. F. Embedded software // Advances in Computers. Academic Press, London, 2002. Vol.56.11 l.LP, The Larch Prover Introduction URL: http://mns.lcs.mit.edu/Larch/LP/overview.htiTil.

97. McCune W. Otter 3.3 Reference Manual // Technical Memorandum №263, 2003

98. McElhone C., Adapting And Evaluating Algorithms For Dynamic Schedulability Testing //Technical Report, University of York (England), 1994.

99. McIlroy D. Mass Produced Software Components // in Proceedings Software Engineering Concepts and Techniques: 1968 NATO Conference on Software Engineering, ed. Randell В., Petrocelly, New York, 1969. pp. 8898.

100. Mercer C.W. An Introduction to Real -Time Operation^ Systems: Scheduling Theory // Technical Report. Carnegie Mellon University (USA), 1992.

101. Mili H., Mili F., Mili A. Reusing Software: Issues and Research Direction. -USA-Canada, 1995.

102. Mili R., Mili A., Mittermeir R. Storing and Retrieving Software Components: A Refinement Based System // IEEE Transaction on Software Engineering, vol.23 №7, July 1997.

103. Moorman Zaremski A., Wing J.M. Signature Matching: A Tool for Using Software Libraries // ACM Transaction on Software Engineering and Methodology, 4(2) 146-170, apr. 1995.

104. Moorman Zaremski A., Wing J.M. Specification Matching of Software Components // in Proceedings, SIGSOFT'95: Third ACM SIGSOFT Symposium on the Foundation of Software Engineering. New York, NY:ACM Press.

105. Mrva M., Reuse Factors in Embedded System Design // High-Level Design Techniques Dept. at Siemens AG, Munich, Germany, 1997.

106. Ostertag E., Hendler J., Prieto-Diaz R., Braun C. Computing similarity in a reuse library system: An Al-based Approach //ACM TOSEM, l(3):205-228, July 1992.

107. Panzieri F., Davoli R. Real Time System: A Tutorial // Technical Report. -University of Bologna, Bologna(Italy), 1993.

108. Penix J., Alexander P. Efficient specification based component retrieval // Technical Report. University of Cincinnati, Knowledge Based Software Engineering Laboratory, ECECS, July 1996.

109. Prieto-Diaz R., Freeman P. Classifying Software for Reusability //IEEE Software, 4(1):6-16,1987.

110. Riehle D. Composite Design Patterns // in Proceedings of the 1997 Conference on Object-Oriented Programming, Languages and Applications (OOPSLA' 97). ACM Press, 1997. - Pp. 281-228.

111. Spanoudakis G., Constantopoulos P. Measuring similarity between software artifacts// International Conference on Software Engineering and Knowledge Engineering, Jurmala, Latvia, 1994.

112. Spanoudakis G., Constantopoulos P. Similarity for analogical* Software reuse: A conceptual modeling Approach // in Proceedings, CAiSE'93, LNCS vol 685, June 1993.

113. QNX Operation'System. System Architecture. QNX Software Systems Ltd. Canada, 1997.

114. QNX Neutrino Microkernel. System Architecture . For r.1.0. Canada, 2001.

115. Selic В., Gullekson G., McGee J., Engelberg I. ROOM: An Object-Oriented Methodology for Developing Real-Time System // CASE'92. -Canada, 1992.

116. VxWorks Programmer's Guide 5.4. Edition 1. Wind River Systems, Inc., USA, 1999.

117. Wing J. M., Gong C. Experience with Larch Prover // Proceedings of the ACM SIGSOFT International Workshop on Formal Methods in Software Development. Napa, California, 1990.- pp. 140-143.