Научная статья на тему 'Управление жизненным циклом программного продукта в нечётких системах с искусственным интеллектом'

Управление жизненным циклом программного продукта в нечётких системах с искусственным интеллектом Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
265
99
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Управление жизненным циклом программного продукта в нечётких системах с искусственным интеллектом»

УДК 004.415.2.031.43

УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ ПРОГРАММНОГО ПРОДУКТА В НЕЧЁТКИХ СИСТЕМАХ С ИСКУССТВЕННЫМ ИНТЕЛЛЕКТОМ

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

Россия, Тамбов, ser23n2005@yandex.ru

Введение

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

Мы рассмотрим жизненный цикл программных средств (ПС) как непрерывный процесс с момента принятия решения о необходимости использования ПС до полного его изъятия из эксплуатации [2]. Структура жизненного цикла ПС базируется на трех группах процессов:

• основные процессы жизненного цикла;

• вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, конфигурационное управление, верификация, решение проблем);

• организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и совершенствование жизненного цикла ПС, обучение).

Анализ опыта организации работ на фазах жизненного цикла ПС [1] показывает, что это сложная работа, требующая высокой квалификации специалистов. Использование существующей методологической базы показало низкую точность предлагаемых методик даже по сравнению с экспертным подходом к оценке трудоемкости. На данный момент эта проблема не решена [2]. Жизненный цикл ПС носит итерационный характер: результаты очередного этапа вызывают изменения решений, выработанных на более ранних этапах проекта. Это необходимо учитывать при оценке трудоемкости процессов жизненного цикла.

Стандарт ГОСТ Р ИСО/МЭК 12207-99 не предписывает конкретную модель жизненного цикла и методы разработки ПС. Пользователь стандарта отвечает за выбор модели жизненного цикла для конкретного проекта ПС и за адаптацию процессов, действий и задач стандарта к данной модели.

Стандарт IEEE 1209:1992 содержит рекомендации по оценке инструментальных средств и их выбору, поддерживая процессы программной инженерии, включая процессы управления проектами, разработки и последующие, а также интегральные процессы жизненного цикла программного средства.

1. Методы оценки и модели

Методологии, технологии и инструментальные средства поддержки процессов жизненного цикла составляют основу инфраструктуры проекта ПС. Многие модели оценки ПС запатентованы, следовательно, их структуру по известным причинам нельзя сравнить и сопоставить с другими. Поэтому функциональная форма этих моделей определена экспериментально на основе анализа открытых публикаций [2].

Рассмотрим две модели жизненного цикла ПС. Первая модель жизненного цикла ПС (SLIM). Л. Путнэм (L. Putnam), сотрудник компании Quantitative Software Measurement, в конце 70-х годов XX века разработал модель жизненного цикла программных средств -SLIM [4]. Модель SLIM базируется на анализе жизненного цикла на основе распределения Райли (Rayleigh distribution), отражающего соотношение между количеством исполнителей и длительностью проекта. Эта модель (рис.1) поддерживает методы оценки масштаба проекта, включая методы приближения, первичные инструкции, балльную функциональную оценку.

62

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

Рис. 1 Модель SLIM на основе распределения Райли

В модели SLIM производительность используется для связи основной модели распределения рабочей силы Райли с параметрами проектов, связанных с разработкой ПС, как масштабы проекта и технологический фактор. Производительность (Р) — это отношение размеров программного продукта (S) к трудозатратам на его разработку (Е):

P = ^ (1)

E

dy = 2Kate ~ at 2 (2)

dt

На рис. 1 показан вид кривой, при K = 1,0, а = 0,02, td = 0,1, на основе которой Путнэм предполагает, что максимальное значение количества занятых в выполнении проекта людей на кривой Райли соответствует срокам выполнения проекта. Кривая Райли принимает различные размеры и форму при различных значениях K, а и td. Некоторые возможные варианты кривой Райли нечасто встречаются на практике (например, горизонтальный вид кривой количества занятых в проекте людей при пошаговом выполнении проекта). Для устранения подобных несоответствий и с учетом подобных вариантов Путнэм разработал ряд дополнений к этой модели.

2. Вторая модель - СОСОМО II

Первоначально модель СОСОМО была изложена в работе Б. Боэма (В. Boehm) [3,4] и стала одной из самых популярных параметрических моделей оценки расходов в 80-х годах XX века. Но модель СОСОМО образца 1981 г. наряду с обновлением модели под язык Ada в 1987 г. при оценке расходов на разработку ПС столкнулась с рядом проблем. Модифицированная модель СОСОМО II позволяет использовать обобщенную информацию о факторах затрат на ранних этапах проекта и более детальную информацию на последующих этапах. С ее помощью можно получать не точечные оценки трудозатрат и стоимости разработки ПС, а некоторые диапазоны оценки, тесно связанные со степенью детализации входных данных. Области неопределенности (ось абсцисс) на рис. 2 использовались в качестве точки для определения диапазонов оценки (ось ординат).

В недавнем обновлении модели СОСОМО II был применен байесовский подход к базе данных, содержащей характеристики 161 проекта. Байесовский анализ обладает всеми преимуществами «стандартной» регрессии и учитывает априорные знания экспертов.

63

Оценки, получаемые при обработке фактических данных при помощи СОСОМО II 2000 г. -обновленной модели СОСОМО, - в 75% случаев отклоняются от реальных значений не более, чем на 30%. Это является значительным улучшением по сравнению с СОСОМО II 1997 г., где, как показано в табл. 1, прогнозы отличались от реальных значений в пределах 30% только в 52% случаев [2]. Для увеличения точности прогнозов для однотипных проектов предприятиям, применяющим данную модель рекомендуется настраивать ее с использованием собственных данных.

Преимущества смешанного подхода наглядно иллюстрируются в табл. 1, где показано, что точность прогнозов, получаемых с помощью СОСОМО II 2000 г. и байесовского подхода, выше, чем точность оценок, получаемых при использовании СОСОМО II 1997 г. и линейной модели с фиксированной долей входных данных.

Таблица 1. Сравнение точности прогнозов моделей СОСОМО II на 1997 и 2000 гг.

COCOMO II Точность прогнозов До диверсификации, % После диверсификации, %

1997 г. PRED (.20) 46 49

PRED (.25) 49 55

PRED (.30) 52 64

2000 г. PRED (.20) 63,6 70

PRED (.25) 68 76

PRED (.30) 75 80

Классические статистические подходы для формирования результата используют весь объем доступных данных. Однако для принятия наилучшего решения крайне необходимо в дополнение задействовать априорную и неэмпирическую релевантную информацию. Байесовский подход наилучшим образом использует релевантную априорную информацию совместно с собранными опытными данными.

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

64

3. Решение проблем - применение нечетких моделей

Математическое моделирование и программирование упрощают знания об окружающем нас мире. Однако многие современные задачи управления просто не могут быть решены классическими методами из-за очень большой сложности описывающих их математических моделей. В последнее время широкий научный интерес вызывают нечеткие системы, успешно функционирующие в условиях неопределенности динамических систем. Такие системы можно назвать синергетическими. На рис. 3 показаны области наиболее эффективного применения современных технологий управления. Как видно, классические методы управления хорошо работают при полностью детерминированном объекте управления и детерминированной среде, а для систем с неполной информацией и высокой сложностью объекта управления оптимальными являются нечеткие методы управления.

В последнее время нечеткая технология завоевывает все больше сторонников среди разработчиков систем управления и программистов. Начало было положено в 1965 году профессором Лотфи Заде в работе [5]. Нечеткая логика добилась успехов на нескольких направлениях: в программных средствах, в контроллерах и в интегральных схемах. Контроллеры на базе нечеткой логики выпускают Fuji Electric, Klockner-Moeller, Rockwell-Automation, Allen-Bradley, Siemens и Yokogawa и другие фирмы.

Рис. 3 Области наибольшей эффективности современных технологий управления

После взрывного роста количества прикладных нечетких систем в Японии многие разработчики США и Европы наконец-то обратили внимание на эту технологию. Но время было упущено, и мировым лидером в области нечетких систем стала Япония, где к концу 1980-х годов был налажен выпуск специализированных нечетких контроллеров, выполненных по технологии СБИС. В такой ситуации Intel нашла поистине гениальное решение. Имея большое количество разнообразных контроллеров от MCS-51 до MCS-96, которые на протяжении многих лет успешно использовались во многих приложениях, корпорация решила создать средство разработки приложений на базе этих контроллеров, но с использованием технологии нечеткости. Это позволило избежать значительных затрат на конструирование собственных нечетких контроллеров, а система от Intel, получившая название fuzzy TECH, завоевала огромную популярность не только в США и Европе, но и прорвалась на японский рынок.

Дополнительные возможности для экспансии нечеткой логики дает объединение производителей контроллеров с поставщиками программных средств. Стандарт IEC 1131-7, программирование на базе нечёткой логики, определяет НЛ-компоненты, а также

65

взаимодействие НЛ-модулей с другими стандартными языками программирования. Чтобы использовать теорию нечеткости на цифровых компьютерах, необходимы математические преобразования, позволяющие перейти от лингвистических переменных к их числовым аналогам и программированию для ЭВМ.

При управлении жизненным циклом программного продукта на основе нечеткой логики и развитии современного производства важно стимулировать инновационные проекты. Известна модель, позволяющая оценить привлекательность инновационных проектов по нескольким критериям [6]. Данная модель основана на использовании нечеткой логики по алгоритму Мамдани, применение которого объясняется тем, что при помощи классических методов математики оптимальное решение такой задачи трудно получить.

Нечеткий логический вывод по алгоритму Мамдани выполняется по нечеткой базе знаний, в которой значения входных и выходной переменной заданы нечеткими множествами:

kj f n

xi = ai, jpC _ весом _ Wjp

y = dj ,J = 1, m

(3)

p=\ i=1

Введем следующие обозначения: др(х;) - функция принадлежности входа х; нечеткому терму а;др; ду(у) - функция принадлежности выхода у нечеткому терму dj. Степени принадлежности входного вектора X* =(хЦ,x*,...xn) нечетким термам dj из базы знаний

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

у(л)_

j = \,т

(4)

где: VH- операция из множества реализаций логической операций ИЛИ (И). Наиболее часто используются следующие реализации: для операции ИЛИ - нахождение максимума и для операции И - нахождение минимума. В результате получаем такое нечеткое множество у,

*

соответствующее входному вектору X :

у = <<йИ+ ^dj^ + <dm(X*) (5)

d1 d2 dm

Особенностью этого нечеткого множества является то, что универсальным множеством для него является терм-множество выходной переменной у. Такие нечеткие множества называются нечеткими множествами второго порядка. Для перехода от нечеткого множества, заданного на универсальном множестве нечетких термов {di, d2,..., dm} к нечеткому множеству на интервале [у,у] необходимо:

1. «срезать» функции принадлежности ду(у) на уровне Ду(Х*);

2. объединить (агрегировать) полученные нечеткие множества. Математически это записывается следующим образом:

f \

y = agg__ j=1,m

У *

J min(<dj(X )<dj(У))dy ’

У

(6)

\__ „

где agg - агрегирование нечетких множеств, которое наиболее часто реализуется операцией нахождения максимума.

*

Четкое значение выхода у, соответствующее входному вектору X, определяется в результате дефаззификации нечеткого множества у. Наиболее часто применяется дефаззификация по методу центра тяжести. В реальной работе эти множества могут расширяться. Результатом оценки привлекательности проекта будет являться число от 0 до 1. Ноль соответствует минимальной привлекательности, 1 - максимальной.

Выводы

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

66

связи с этим системы управления имеют тенденцию отхода от жёстких алгоритмов управления к нечётким, лингвистическим, обеспечивающим значительное ускорение вычислений. При этом скорость вычислений обеспечивается программируемыми СБИС, что и создаёт возможность интеллектуального управления в нечётких системах. Использование нечеткого логического вывода по алгоритму Мамдани, выполняемое по нечеткой базе знаний, позволяет использовать прикладные программы MatLab и CAD-системы fuzzy TECH при проектировании синергетических систем.

Литература

1. Колчин, А.Ф. Управление жизненным циклом продукции / А.Ф. Колчин, М.В. Овсянников, А.Ф. Стрекалов, С.В. Сумароков. - М.: Анахарсис, 2002.-304 с.

2. Котов, С.Л. Нормирование жизненного цикла программной продукции / С.Л. Котов. - М.: ЮНИТИ-ДАНА, 2002. - 143 с.

3. Barry W. Boehm. Software Engineering Economics. IEEE Transactions on software engineering, vol. se-10, No.1, January 1984. http://www.cs.drexel.edu/~vfcai/CS451/papers/boehm.pdf.

4. Степанова А.С. Разработка распределённых информационно-управляющих систем реального времени // Объектные системы -2010: Материалы I Международной научно-практической конференции. Россия, Ростов-на-Дону, 10-12 мая 2010 г / под общ. ред. П.П. Олейника. -Ростов-на-Дону, 2010. С. 29-34.

5. Zade L. A. The concept of a linguistic variable and its application to approximate reasoning. Part 1, 2, 3 // Information Sciences, n. 8 pp.199-249, pp.301-357; n. 9 pp. 43-80.

6. Усова, Ю.П Модель оценки привлекательности инновационных проектов, построенная на нечёткой логике / Ю.П.Усова, Н.М. Бухонова, А.В. Яковлев. Режим доступа: http://ftacademv.ru/science/intemet-conference/index.php?c=1&a=71 , свободный.

УДК 004.4

АЛГОРИТМИЗАЦИЯ ВЫБОРА ОСНАСТКИ СОВРЕМЕННОЙ

НОМЕНКЛАТУРЫ ДЛЯ ПЕРЕХОДОВ СВЕРЛЕНИЯ В САПР "TECHCAR"

Кисиль Татьяна Вячеславовна, магистр техники и технологии, инженер-технолог, Челябинский радиозавод «Полёт», Россия, г. Челябинск, tatiana kisil@mail.ru

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

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

67

i Надоели баннеры? Вы всегда можете отключить рекламу.