ИНСТРУМЕНТАЛЬНЫЕ  СРЕДСТВА ДЛЯ ГЕНЕРАЦИИ, ОЦЕНКИ И  ВЫБОРА СТРУКТУР СИСТЕМ


А. В. Болонкин, 
ИПУ  им.В.А. Трапезникова РАН, МТУСИ, г. Москва

Существует огромное многообразие инструментальных средств проектирования программных и других систем. Большинство из них использует только формальный или неформальный подход [1]. Лишь некоторые включают элементы обоих подходов. Поэтому актуально создание инструмента, объединяющего формальный и неформальный подходы. Такое средство упростит процесс проектирования структуры благодаря наглядности, а использование математических формализмов позволит построить структуру, в максимальной степени удовлетворяющую предъявляемым к ней критериям. В настоящей работе представлено программное средство, условно названное «Синтезатор».

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

В результате анализа известных формальных и неформальных методов сформулированы следующие ключевые принципы проектирования структур систем:

Для оценки системы и ЛА с точки зрения набора критериев предложено использовать дискретный интеграл Шоке, основанный на нечеткой l-мере, что позволит не только объединить разнотипные критерии, но и проводить оценку вариантов структуры по взаимосвязанным критериям.

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

1)     формулирование целей и требований к системе;

2)     составление списков характеристик и критериев оценки системы;

3)     составление списка объектов;

4)     создание иерархической структуры процессов;

5)     создание диаграмм деятельности.

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

1)     генерация расширенного списка объектов;

2)     генерация расширенного списка процессов;

3)     генерация вариантов построения системы;

4)     оценка вариантов построения системы и выбор наилучшего из них.

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

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

 

Рис. 1. Пользовательский интерфейс Синтезатора

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

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

Литература

1.       Болонкин А. В. Методы синтеза структур программных систем // Материалы 6-й международной конференции “CAD/CAM/PDM-2006”. М.: ИПУ РАН, 2006.

2.       Артамонов Е. И., Хачумов В. М. Синтез структур специализированных средств машинной графики. — М.: ИПУ РАН, 1991. — 148 с.