Содержание к диссертации
Введение
Глава 1. Аналитический обзор. Цель, задачи и методы исследования .з
1.1 Введение. Объект исследования. Актуальность исследования. Формулировка проблемы 3
1.2 Аналитический обзор по проблеме. Состояние вопроса. Методы, применяемые при решении 7
1.3 Методология учета неопределенности
1.4 Формулировка цели исследования и задач, вытекающих для достижения цели 14
1.5 Выводы 15
Глава 2. Методология использования нечеткой логики в системах управления 17
2.1 Нечеткость. Основные положения теории нечетких множеств 17
2.1.1 Введение в теорию нечетких множеств. Основные понятия 17
2.1.2 Нечеткие соответствия и нечеткие отношения 19
2.1.3 Нечеткие ситуации 20
2.1.4 Основные положения нечеткой логики
2.2 модели представления нечетких знаний 23
2.3 Применение нечеткой логики в системах управления
2.3.1 Структура нечетких систем управления, основные этапы нечеткого управления .28
2.3.2 Нечеткий алгоритм и нечеткий вывод
2.4 структура интеллектуальных систем управления с блоком нечеткого логического вывода 31
2.5 Нечеткий логический вывод при ситуационном управлении 33
2.6 Метод вывода на основе нечеткой ситуационной сети 36
2.7 Выводы 41
Глава 3. Построение базы нечетких знаний 43
3.1 Проблемы, возникающие при построении баз нечетких знаний 43
3.2 Принципы классификации состояния объекта 44
3.3 Методы кластер-анализа 47
3.4 Классификация текущих состояний объекта в интеллектуальной системе 52
3.5 Метод построения базы нечетких знаний продукционного типа 54
3.6 Верификация базы знаний продукционного типа 59
3.7 Алгоритм нечеткого ситуационного управления 63
3.8 Выводы 65
Глава 4. Синтез системы автоматического управления автономными энергетическими комплексами с НВИЭ 68
4.1 Особенности автономных энергетических комплексов с нетрадиционными возобновляемыми источниками энергии 68
4.2 Выбор программного обеспечения для реализации системы управления сложным объектом 72
4.3 Структура программного комплекса для управления аэк с нвиэ 75
4.4 Моделирующий комплекс поступления возобновляемой энергии 77
4.5 Синтез системы нечеткого ситуационного управления и результаты работы программного комплекса 90
4.6 Выводы 99
Заключение 100
Литература 1
- Методология учета неопределенности
- Структура нечетких систем управления, основные этапы нечеткого управления
- Классификация текущих состояний объекта в интеллектуальной системе
- Выбор программного обеспечения для реализации системы управления сложным объектом
Введение к работе
Актуальность исследований. Диссертация посвящена развитию методов оперативного автоматического управления сложными техническими системами в условиях неопределенности на основе математического аппарата нечеткой логики и ситуационного подхода.
В условиях высокой степени неопределенности, присущей сложным динамическим системам, применение методов, базирующихся на использовании точных математических моделей, не позволяет построить модели и алгоритмы, порождающие оптимальное управление. Для решения подобных задач большое распространение получили технологии искусственного интеллекта. Однако, они часто не могут в полной мере удовлетворить потребности в управлении сложными динамическими системами.
Поэтому, усовершенствование методов анализа и синтеза алгоритмов, и, в более общем случае, систем управления сложными техническими системами, функционирующими в условиях неопределенности исходной информации, на основе использования современных технологий интеллектуального управления представляют актуальную задачу.
Объект исследования: интеллектуальные системы управления сложными техническими объектами.
Предмет исследования: совокупность математических методов и алгоритмов функционирования систем управления сложными техническими объектами, построенных на базе нечеткой логики.
Цель работы: разработка методического аппарата синтеза математической модели интеллектуальной системы автоматического управления сложными техническими системами на базе нечеткой логики и ситуационного подхода (на примере автономных энергетических комплексов с нетрадиционными возобновляемыми источниками энергии).
Основными задачами исследования являются:
1) изучить современное состояние технологий и способов решения проблем в области оперативного управления сложными техническими объектами;
-
обосновать необходимость развития математического аппарата нечеткой логики для эффективного управления сложными техническими системами с целью расширения области его применения;
-
исследовать существующие алгоритмы автоматического управления сложными техническими объектами; усовершенствовать методическую базу указанных алгоритмов на основе нечеткого логического вывода с использованием ситуационного подхода;
-
разработать методику использования математического обеспечения алгоритма нечеткого ситуационного логического вывода в системах управления автономными энергетическими комплексами с нетрадиционными возобновляемыми источниками энергии (АЭК с НВИЭ); разработать программное обеспечение для реализации предложенной методики на основе имитационного моделирования.
Проводимые исследования базировались на методах системного подхода к изучению систем и процессов управления, математического моделирования статического и динамического поведения сложных технологических объектов, нечетких множеств, кластерного анализа, ситуационного управления, имитационного компьютерного моделирования функционирования сложных объектов и систем управления.
Научная новизна работы:
разработана теоретическая база применения методики ситуационного нечеткого управления сложными техническими объектами с использованием кластеризации состояний;
уточнен алгоритм нечеткого ситуационного управления с включением алгоритма кластеризации состояний сложных технических объектов;
разработана методика ситуационного управления АЭК с НВИЭ на базе нечеткой логики с учетом краткосрочного прогнозирования состояния объекта;
реализован программный модуль нечеткого ситуационного управления АЭК с НВИЭ на основе предложенной методики.
Практическая значимость работы состоит в том, что разработанные методы могут быть применены для построения систем управления широким классом автономных энергетических комплексов с комплексированием разных видов НВИЭ, что позволит повысить эффективность их функционирования и улучшить стоимостные характеристики данных систем.
Обоснованность и достоверность научных положений, основных выводов и результатов диссертации обеспечивается анализом состояния результатов современных российских и зарубежных исследований в области теории нечеткого управления сложными объектами, а также вычислительными экспериментами на имитационной модели АЭК с НВИЭ.
Реализация и внедрение результатов работы.
Проведение исследований, отражённых в диссертации, было поддержано в рамках проекта РФФИ № 11-08-96524 «Разработка теоретических основ оперативного ситуационного управления энергетическими системами с возобновляемыми источниками энергии».
Часть результатов была использована при выполнении работ проектов РФФИ № 06-08-96804 «Системный анализ энергокритичных объектов на основе возобновляемых источников энергии», а также № 08-08-99132, «Теоретические исследования и системные решения развития альтернативной энергетики в Южном Федеральном округе».
Публикация результатов и апробация работы. По результатам диссертации опубликовано 12 печатных работ, из них (2 статьи в издании из Перечня ВАК для публикации научных результатов диссертаций на соискание ученой степени доктора и кандидата наук).
Основные результаты работы обсуждались на 19-ти Международных, Всероссийских и внутривузовских конференциях, основными из которых являются: Международная научно-практическая конференция «Актуальные проблемы управления – 2002» (Москва. 2002); Всероссийская научная конференция молодых ученых и аспирантов «Информационные технологии, системный анализ и управление» (Таганрог, 2003); конференция получателей грантов совместных конкурсов РФФИ, Российского гуманитарного научного фонда и администрации Краснодарского края (Краснодар, 2007); X Юбилейная конференция получателей грантов совместных конкурсов РФФИ, Российского гуманитарного научного фонда и администрации Краснодарского края (Краснодар, 2008); научно-практическая конференция грантодержателей Российского фонда фундаментальных исследований и администрации Краснодарского края «Вклад фундаментальных научных исследований в развитие современной инновационной экономики Краснодарского края» (Краснодар, 2009); IX Всероссийская научная конференция молодых ученых и аспирантов «Информационные технологии, системный анализ и управление» (Таганрог, 2011).
1) методика применения математического обеспечения систем управления сложными техническими объектами на основе нечеткой логики, ситуационного подхода, кластеризации состояний;
2) алгоритм управления сложным техническим объектом с уточненным интеллектуальным блоком нечеткого ситуационного логического вывода;
3) методика применения алгоритма нечеткого ситуационного управления АЭК с НВИЭ;
4) программная реализация автоматического оперативного ситуационного управления режимами работы АЭК с НВИЭ на основе нечеткой логики.
Методология учета неопределенности
Теория нечетких множеств (ТНМ, fuzzy sets theory) ведет свое начало с 1965г., когда профессор Лотфи Заде (Lotfi Zadeh) из университета Беркли опубликовал основополагающую работу «Fuzzy Sets» в журнале «Information and Control» [112]. Прилагательное "fuzzy", которое можно перевести на русский как нечеткий, размытый, ворсистый, пушистый, введено в название новой теории с целью дистанцирования от традиционной четкой математики и аристотелевой логики, оперирующих с четкими понятиями: «принадлежит - не принадлежит», «истина - ложь». Концепция нечеткого множества зародилась у Заде «как неудовлетворенность математическими методами классической теории систем, которая вынуждала добиваться искусственной точности, неуместной во многих системах реального мира, особенно, в так называемых, гуманистических системах, включающих людей» [24].
Началом практического применения теории нечетких множеств можно считать 1975 г., когда Е. Мамдани (Е. Mamdani) построил первый нечеткий контролер для управления процессом обжига цемента на заводе в Дании [4]. Успех первого промышленного контролера, основанного на нечетких лингвистических правилах «Если - то» привел к всплеску интереса к теории нечетких множеств среди математиков и инженеров. Несколько позже Бартоломеем Коско (Bart Kosko) была доказана теорема о нечеткой аппроксимации (Fuzzy Approximation Theorem), согласно которой любая математическая система может быть аппроксимирована системой, основанной на нечеткой логике [107]. Другими словами, с помощью естественно-языковых высказываний-правил «Если - то», с последующей их формализацией средствами теории нечетких множеств, можно сколько угодно точно отразить произвольную взаимосвязь «входы-выход» без использования аппарата дифференциального и интегрального исчислений, традиционно применяемого в управлении и идентификации.
Системы, основанные на нечетких множествах, разработаны и успешно внедрены в таких областях, как: управление технологическими процессами, управление транспортом, медицинская диагностика, техническая диагностика, финансовый менеджмент, биржевое прогнозирование, распознавание образов. Спектр приложений очень широкий - от видеокамер и бытовых стиральных машин до средств наведения ракет ПВО и управления боевыми вертолетами. Практический опыт разработки систем нечеткого логического вывода свидетельствует, что сроки и стоимость их проектирования значительно меньше, чем при использовании традиционного математического аппарата, при этом обеспечивается требуемый уровень робастности и прозрачности моделей.
В основе этой теории лежит достаточно очевидный факт - субъективные представления о цели, а также все оценки субъекта и ограничения с которыми он работает, как правило нечетки, а иногда и вообще лишены в своем начальном виде количественных характеристик. Использование же естественного языка приводит к появлению понятий и отношений с нечеткими границами и высказываний с многогранной шкалой интенсивности [2, 4, 8, 24, 51, 111, 112].
Лежащее в основе этой теории понятие нечеткого множества предлагается в качестве средства математической формализации нечеткой информации с целью ее использования при построении математических моделей сложных систем. Нечеткое множество - это математическая модель с нечеткими или, иначе, размытыми границами. В этом понятии учитывается возможность постепенного перехода от принадлежности к непринадлежности элемента множеству. Иными словами, элемент может иметь степень принадлежности множеству, промежуточную между полной принадлежностью и полной непринадлежностью.
В обычной (четкой) теории множеством называется совокупность объектов, обладающих некоторым общим свойством. Относительно любого объекта можно определенно сказать, принадлежит он или нет данному множеству. Нечеткое множество определяется как совокупность элементов, которые обладают указанным свойством в некоторой степени, выражаемой числом из промежутка [0, 1].
Совокупность этих чисел, присвоенных каждому объекту хА, образует функцию принадлежности /J.A(X) нечеткого множества. Если juA(x)=0, то соответствующие элементы х свойством А не обладают. Если juA(x)=l, то элемент х достоверно принадлежит множеству А. При 0 JUA(X) 1, то соответствующие элементы имеют промежуточную степень принадлежности множеству.
Графически функцию принадлежности juA(x) нечеткого множества А можно представить в виде унимодальной колоколообразной (треугольной, трапециевидной и др.) функции.
В соответствии с определением нечеткого множества обычное множество В можно также определить как совокупность пар вида (х, ілс(х)). Таким образом, нечеткое множество представляет собой более широкое понятие, чем обычное множество и, очевидно, лучше отражают свойства реальных объектов, чем четкие.
Рассмотренное выше понятие нечеткого множества называют нечетким множеством первого рода. Существуют также различные подходы дополняющие или расширяющие понятия нечеткого множества. Широко исследуется [2, 6, 8, 32, 35, 88] понятие нечеткого множества, определенного на лингвистических переменных. Этот метод полезен для представления и приобретения знаний при построении экспертных систем и при введении знаний экспертов в базы данных.
С практической точки зрения (для промышленного применения) почти все нечеткие множества в составе технических систем, как правило, представляются как нечеткие множества первого рода [4]. Даже если исходные данные представляются в словесной форме, они интерпретируются в функции принадлежности со значениями в [0; 1].
Структура нечетких систем управления, основные этапы нечеткого управления
При создании систем управления, используемых для управления объектом, большое значение имеет насколько точно знания, содержащиеся в базе знаний СУ, будут соответствовать практическому опыту и навыкам эксперта в конкретной предметной области.
В процессе получения знаний от эксперта встречается ряд проблем, связанных с психологическими особенностями человека. Часто при решении той или иной проблемы эксперт использует свою интуицию, догадки, основанные на практическом опыте. Воспроизведение в СУ подобных знаний является достаточно трудной задачей. Другой проблемой является то, что любому человеку свойственны ошибки. Даже самый опытный эксперт может принять неправильное решение, если его психофизическое состояние в момент принятия решения не очень хорошее, например, он утомлен, в плохом настроении и т.п.
Среди существующих методов получения знаний от эксперта можно выделить следующие:
1) Эксперт сам формализует свои знания в виде правил «если..., то...». Главным недостатком подобного подхода является то, что для управления реальным физическим объектом число продукций может быть очень велико и эксперту придется довольно долго их формировать. При этом следует заметить, что данная задача является для него непривычной, а также то, что на практике эксперт диагностирует конкретное состояние, в котором находится объект.
2) Эксперту предъявляется набор конкретных состояний объекта с целью их классификации. В данном случае эксперт решает ту же задачу, что и при работе с реальным объектом. Однако число предъявляемых состояний должно быть очень большим, поскольку необходимо рассмотреть все возможные классы состояний. Данный подход трудно реализуем на практике.
3) Эксперт определяет, насколько соответствует каждый признак описания состояния объекта тому или иному управляющему воздействию. Эксперт достаточно легко это может сформулировать. Тем не менее, каждый признак рассматривается отдельно, без учета взаимосвязи с другими признаками. В реальных си 44 туациях сочетание признаков в совокупности определяет управляющее воздействие.
В последнее время тенденцией стало создание «пустых», не наполненных экспертными знаниями, систем, являющихся инструментальными средами для создания СУ, функционирующих в разных предметных областях. В подобных системах эксперт сам явным образом формулирует свои знания, которые заносятся в БЗ при помощи программиста. При этом остается открытым вопрос о непротиворечивости и полноте знаний, находящихся в БЗ.
Предлагаемый в данной работе метод построения БЗ позволяет в значительной мере автоматизировать процесс выявления знаний, произвести значительное сокращение объема БЗ за счет определения состояний объекта, в полной мере соответствующих тому или иному управляющему воздейсивию, производить опрос эксперта в естественной для него форме, а также обеспечить полноту и непротиворечивость проектируемой БЗ.
Анализ вариантов прикладного использования систем нечеткого управления показывает, что в подавляющем большинстве это системы, действующие по принципу нечеткого регулятора, контролирующие очень ограниченное количество параметров системы. Одной из отличительных характеристик сложных объектов (СО) является наличие большого количества независимых входных и выходных параметров, характеризующих состояние системы неоднозначным образом. Построение адекватной модели при большом количестве входных переменных требует большого объема базы нечетких знаний, количество продукционных правил в которой экспоненциально возрастает с увеличением входов модели, что снижает качество нечеткого логического вывода. В этом случае на этапе генерации базы знаний, состоящей из нечетких логических правил, целесообразно оперировать не конкретными параметрами системы, а классами ее состояний. Это, в большинстве случаев приводит к уменьшению объема базы знаний, и соответственно к повышению точности управления. Следовательно управление сложным объектом должно осуществляться не по его параметрам, а по состояниям [63]. Всякому реальному объекту можно поставить в соответствие его состояние.
Пусть состояние объекта или предметной области можно охарактеризовать значениями некоторых признаков или параметров. Если множество состояний объекта обладает общими свойствами, или значениями признаков описания состояний, говорят о наличии класса состояний объекта.
Под процедурой формирования классов, классификацией, понимают упорядочение состояний объекта по их схожести [83]. Процесс классификации можно представить в виде двух этапов: - изучение и установление общих свойств группы состояний одного и того же класса, или выделение класса; - принятие решения, устанавливающего принадлежность нового, ранее в процессе классификации не рассматриваемого входного состояния к данному классу путем сравнения значений признаков (свойств) этого состояния с уже известным состоянием, присущим данному классу. Те состояния, для которых заранее известна их принадлежность к тому или иному классу, называют обучающими состояниями, или образцами. Те, которые требуется классифицировать - испытуемыми состояниями.
Другими словами, СУ, выполняющая классификацию состояний, производит обнаружение и выделение обоих признаков состояний, принадлежащих к одному классу, а также отнесение вводимого в СУ состояния к одному из заданных классов.
Классификация текущих состояний объекта в интеллектуальной системе
При классификации состояний объекта в один и тот же кластер попадают состояния, имеющие различные значения функции /JFJ (s,), где F, - нечеткий кластер, s, - состояние, классифицированное в у -ый кластер, s, є Sj (Sj — множество состояний классифицированное ву -ый кластер). Причем /nFj (s,) Т, где Т - некоторый порог, относительного которого судят о принадлежности состояния кластеру.
Отличие значений jUF, для различных состояний s, є 5, объясняется различными значениями признаков, выделенных для описания состояния в пространстве состояний объекта.
Пусть X/, х2, ..., х„ - множество признаков описания состояний объекта, у і, у2, ..., у„ - множество управляющих воздействий, /, у а, - лингвистические переменные, соответствующие управляющим воздействиям. Значениями лингвистических переменных являются термы 7/ из по возрастанию [40, 42, 43]. Построение графиков функций PTP(dk), \/к = 1,п, р = \,т, 1 = \,\тр\ терм-множеств Ґ, Т2, ..., Т", 1 = \,\тп\, р = \,т. Тогда каждому терму Т," ставится в соответствие некоторая функция 9TiXdk), где dk єDfj k = l,Dk ,Dk - базовая шкала k-го признака. Функция pTP{dk) характеризует, насколько возможно применение управляющего воздействия, имеющего значение 7/ в случае, когда k-ът признак описания состояния объекта принимает значение, равное dk. При этом предполагается, что признаки Х\, х2, ..., х„ являются независимыми друг от друга. Базовые шкалы признаков представляют собой наборы значений, упорядоченных производится путем экспертного опроса. Эксперту предъявляется последовательно значения элементов базовой шкалы d, є Д. Для каждого элемента d, определяется степень возможности применения управляющего воздействия, равного Т," .
Построение покрытия пространства состояний объекта нечеткими классами в соответствии со значениям управляющих воздействий.
Для классификации эксперту предъявляется множество ситуаций S, \S\ = К, где К - количество возможных значений управляющих воздействий.
Ситуации Sj = {dj, d2, ..., dq}, q n, j = \,K определяются для каждого Tf, p = \,M, 1 = \,\гр\, где q - количество признаков, для которых выполняется: pi,,(d,) = max# „ Т, где Гє(0.5;1] - некоторый порог, п - количество признаков, М количество лингвистических переменных, описывающих управляющие воздействия. Если таких точек d, для некоторого Tf несколько, берется средняя из них.
На этапе фазификации определяются нечеткие ситуации ї,,?,,.... , составляющие множество S. Эксперт оценивает, с какой степью возможности 4 „(?,) ситуация s;, соответствует значению Т,р. Положим a j =Т (s,), Производится определение нечеткого покрытия F пространства образов ситуаций при помощи следующего алгоритма. Из всех возможных ситуаций ,,?,,...,?„, формируется выборка ситуаций Seb,e Количество элементов выборки в этом случае равно \Т - \Т \ -...-17".
Строится К пространств образов ситуаций - состояний относительно каждого центра класса (ситуация $; из множества представительных состояний) при помощи определения векторов ajt=(a j„ a JU ..., a"j) значений степени сходства ситуации , и центрау -го класса по признакам, здесь п - количество признаков описания объекта. Для каждой ситуации ; определяются значения функции принадлежности ситуации нечеткому классу Fj: j = \,К по формуле: VrAl) = co]{\-\(cot-cok){\-at)\) (3.1), " = 1 где ctjj - образ ситуации ;, в пространстве состояний, построенных относительно центрау -го класса, вычисляемое по соответствующей формуле ситуационного логического вывода; a j - весовой коэффициент, задаваемый экспертом для ситуации ;, являющейся центрому -го класса; а % = тах ,, где Г/ - терм из терм-множества Тк.
При задании лингвистической переменной в виде нечеткого множества второго уровня, dk рассчитывается как центр площади фигуры, описанной усеченными графиками функций принадлежности термов, являющихся элементами нечеткого множества.
d T1 Тогда значение весового коэффициента щ є [0; 1] определяется формулой: Щ = P,Adk) J = l K Процедура уточнения центров классов, для которых сц у у в (0,75; 1], заключается в следующем. Для каждого класса Fj(a j y) определяется множество Sj = { Д7,...,?. }, где / \цР (Ї;) 0.5.
Определяются признаки, которые имеют различные значения для элементов /, г = 1,2: признаки х-,, у?, ..., x„j. Далее в вычислениях в качестве значения признака нечеткой ситуации полагается центр площади терма, указанного в ситуации. Из выделенных признаков определяется наиболее приоритетный для данного класса признак хК: р (dk) = max p (dt). В случае, когда таких признаков несколько, среди них выбирается произвольный. Значение выбранного признака увеличива
Выбор программного обеспечения для реализации системы управления сложным объектом
Для реализации программного комплекса, необходимо определить технологии его разработки. В силу того, что программный комплекс имеет сложную структуру, объединяющую большое количество подмодулей, реализующих разнотипные специализированные операции, необходимо использование различных программных продуктов для разработки модулей программного комплекса.
В последнее время программные и аппаратно-программные системы нечеткого логического вывода, основанные на нечетких процессорах и контроллерах, разрабатываются и применяются в широком спектре областей применения, от бытовой техники до орбитальных станций. К наиболее известным примерам относятся использование при управлении орбитальными операциями в программе Space Shuttle (США), в системах обработки изображений (Япония), системах управления цементной печью (Чехия), преобразователями мощности (Канада), метропоездами (Япония), бытовыми кондиционерами (Япония), в навигационных системах военных кораблей (Великобритания), в автомобильной электронике (Япония) и т.д.
Среди последних разработок программных продуктов в области проектирования и поддержки баз нечетких знаний и нечеткого логического вывода можно выделить комплексы: - WARP-SDT (Software Development Tool) фирмы SGCHOMPSON Microelectronics; - FuzzyTECH-MP фирмы Inform Software Corporation; - FIDE (Fuzzy Inferece Development Environment) фирмы Aptronix, KBG (Fuzzy Logic Knowledge Base Generator) фирмы Motorola; - FULDEK (FUzzy Logic DEvelopment Kit) компании Bell Helicopter Textron. - MATLAB (Matrix Laboratory) фирмы Math Works.
Наиболее приемлемым выбором в силу своей универсальности является пакет инженерного проектирования MATLAB. MATLAB включает в себя мощную интерактивную систему для моделирования нелинейных динамических систем Simulink, а также пакет конструирования систем с нечетким логическим выводом Fuzzy Logic Toolbox. Кроме того, этот пакет обладает весьма высокими характеристиками и широкими возможностями, основными из которых являются: - создание и редактирование нечетких систем внутри среды MATLAB; - встраивание нечеткой подсистемы в Simulink при моделировании общей системы; - широкие возможности создания нечетких систем (набор встроенных функций принадлежности, методов нечеткого логического вывода, методов де-фадзификации и т.д.); - использование эффективного встроенного языка программирования; - возможность интегрирования созданного модуля в виде процедуры, вызываемой из программы, написанной на языке Си, являющегося стандартом в системном программировании.
На этапе проектирования системы был проведен сравнительный анализ наиболее распространенных компонентных платформ, среди которых необходимо выделить СОМ+, JavaBeans/Remote Method Invocation(RMl), а также Common Object Request Broker Architecture (CORBA). Исследования выявили некоторое преимущество первой из них для приложений реального времени. RMI, по-видимому, имеет пока ограниченное применение, вследствие привязанности к платформе Java, CORBA же накладывает достаточно широкие ограничения на системную архитектуру, в частности, требует наличия промежуточного звена-брокера объектных запросов. Решающим фактором в выборе платформы ПО промежуточного уровня является наличие поддержки собственной компонентной модели для подключаемых модулей, что обеспечивается только СОМ+ и Java.
В качестве базовой платформы программного комплекса была выбрана архитектура СОМ+. Основные принципы выбранной платформы позволяют сформировать ряд основных свойств архитектуры программной системы, построенной на основе использования этой технологии: - соответствие общим требованиям СОМ+; - наличие уровневой, многозвенной архитектуры; - полная унификация механизма моделирования работы с данными; - поддержка внешних открытых интерфейсов для прозрачной интеграции дополнительных компонент.
Разработка программного средства должна опираться на ряд принципов: - использование модульной архитектуры, при которой каждый модуль является законченным программным решением (это позволяет вносить изменение в функционирование модуля, не модифицируя остальные модули); - унификация используемых интерфейсов взаимодействия (это позволяет использовать создаваемые файлы в различных операционных системах и средствах разработки); - разделение функций создания и использования математических процедур. При реализации спроектированной системы необходимо выбрать средства разработки. Из целей разрабатываемой системы и требований технического задания можно выделить те требования, предъявляются к среде разработки: - поддержка объектно-ориентированного программирования; - возможность построения графического интерфейса; - возможность создания исполняемого файла, не привязанного к среде разработки. На сегодняшний день на рынке систем разработки для операционных систем семейства Windows существует множество графических сред разработки имеющих различный интерфейс и методы программирования на различных языках. Из всего множества была выбрана интегрированная среда Microsoft Visual C++. Среда поддерживает все промышленные стандарты фирмы Microsoft (ActiveX, OLE, COM, MAPI, Windows Sockets TCP/IP и др.), позволяет напрямую работать с внутренними функциями операционных систем семейства Windows, включает в себя отладчик низкого уровня, который позволяет анализировать работу программы на уровне машинных кодов. Visual C++ также позволяет реали-зовывать СОМ+ и является средой, которая первой внедрила этот стандарт в процесс разработки программного обеспечения.