Cтруктурное проектирование
систем
Е.И. Артамонов
зав.лаб. №18 , д.т.н., проф.
ИПУ РАН, г. Москва
Формализованные методы структурного проектирования позволяют ускорить процесс разработки систем, улучшить их эксплуатационные характеристики и обеспечить передачу знаний по принципам структурной организации. Эти методы включают процедуры формальной генерации возможных вариантов построения структур систем, их анализа, обоснования и выбора лучшего варианта, а также процедуры регенерации структур, перепроектирования, кодификации и создания руководств по эксплуатации [1].
Последнее время получили широкое применение средства описания структур систем и их анализа - SADT (Structured Analysis and Design Technique). Эти средства разработаны для начальных стадий проектирования сложных информационных, программных и технических систем в областях управления, производства, бизнеса.
Разработана технология IDEF (Integrated DEFinition), включающая семейство стандартов по функциональному (IDEF0), информационному (IDEF1 и IDEF1Х) и поведенческому моделированию (IDEF2), объектно-ориентированному проектированию (IDEF4) и др. Эти стандарты позволяют описывать структуры систем в виде набора взаимосвязанных блоков, реализующих отдельные процедуры заданного алгоритма функционирования, анализировать структуры систем и информационные потоки в них, а также документировать все процессы, происходящие в системах [2]. Предполагается, что за счет детального документирования алгоритмов функционирования систем и их анализа разработчики в последующем могут выбрать варианты реализации каждого из блоков и системы в целом. Однако генерация возможных вариантов построения структур не формализована и зависит от опыта разработчика.
В то же время, очевидно, что, чем больше вариантов построения системы рассматривается в процессе их проектирования, тем больше вероятность выбрать лучшую систему. Число возможных вариантов построения систем зависит от выбранных правил по разделению их на функциональные блоки, характеристик информационных потоков, выбранных структур объектов информации, исходных знаний о существующих вариантах реализации систем, аналогичных проектируемой. В стандартах IDEF не учитываются перечисленные факторы, выбор лучшей реализации в большей степени производится на основе анализа разработчиком схем алгоритмов, полученных в процессе составления IDEF-диаграмм, а не направленного синтеза структур на их основе.
В работе акцентируется внимание на формальной генерации вариантов построения структур систем в разработанном автором методе синтеза структур [3]. Накоплен большой опыт по проектированию структур специализированных вычислительных систем и программных комплексов автоматизированного проектирования. Дальнейшие исследования показали, что разработанный метод синтеза структур может быть использован при проектировании структур различного рода систем. Приводятся примеры генерации вариантов построения структур вычислительных систем, программных комплексов, структур систем уборки снега и малого бизнеса.
Предполагается, что любая система работает по заданному алгоритму. Алгоритм функционирования любых систем характеризуется следующей четверкой параметров:
, (1)
где Р - множество объектов информации, поступающих в процессе функционирования систем по входам, выходам и связям между блоками;
О - множество операций над объектами информации;
Г - множество связей между операциями;
t - времена выполнения операций.
Множество объектов информации в свою очередь характеризуется тройкой:
, (2)
где A - множество способов внутренней организации объектов информации;
Ф - множество форм внешнего представления объектов информации;
D - множество степеней детализации внешнего представления объектов информации.
Введено понятие «локальный алгоритм» (ЛА). Под локальным алгоритмом понимается сильно связанная часть общего алгоритма функционирования системы с последовательным выполнением операций над данными при A = const и D = const.
Сформулированы правила первоначального разделения общего алгоритма функционирования системы на локальные алгоритмы и их последующего объединения в смысле реализации в виде самостоятельной структурной единицы. После каждого объединения ЛА образуется новый набор вариантов структур. Одному локальному алгоритму (ЛА) всегда соответствует набор блоков – локальных структур (ЛС), реализующих этот ЛА.
Технология выбора лучшей структурной организации систем основана на предварительной систематизации базовых типовых решений по возможным формам внешнего представления объектов информации для всех ЛА. На основе общей структуры алгоритма с использованием систематизации базовых реализаций строится сетевая модель вариантов реализации системы. Вершинами сетевой модели является множество форм внешнего представления информации, дугами – показатели качества реализации операций. Задача выбора лучшей структуры системы сводится к определению кратчайшего пути в сетевой модели.
Рассмотрим процесс генерации множества возможных вариантов построения систем, реализующих алгоритм, структура которого показана на рис.1, при этом для простоты предположим, что A = const и D = const. Структура алгоритма содержит блоки (локальные алгоритмы) последовательных операций ввода и вывода объектов информации (на рис.1 «Ввод», «Вывод»), преобразования объектов информации (Пр), хранения (Хр) и их обработки (Об). Для наглядности на рисунке условно показан только один блок обработки, в действительности же таких блоков может быть конечное множество, определяемое заданным алгоритмом.
С целью формального представления множества возможных вариантов реализации заданного алгоритма предварительно структура алгоритма расширяется за счет введения нескольких дополнительных блоков операций промежуточного хранения объектов информации Хр и блоков Пр операций преобразования форм Фi их внешнего представления. Набор этих блоков располагается до и после блоков обработки Об. Такая операция способствует формальному увеличению множества возможных вариантов реализации. Она принципиально не изменяет заданный алгоритм.
Следующим шагом по образованию исходного множества вариантов реализации является конкретизация внутренней структуры каждого из блоков, представленных на рис.1. При этом генерируется конечное множество вариантов реализации каждого из блоков. В основном это множество определяет общее число возможных форм Фi внешнего представления объектов информации в блоках Пр. На рисунке в каждом из блоков Пр изображены четыре различных формы Ф1-Ф4.
Рис.1
Таким образом, общее исходное множество возможных вариантов реализации системы может быть представлено в виде ориентированной сети, вершинами которой являются формы представления Фi , дугами - возможные реализации отдельных операций. Дуги сети ориентированы по направлению обработки информации и имеют весовые коэффициенты, соответствующие сложности реализации.
Задача синтеза лучшей структурной организации системы может быть сведена к определению кратчайшего пути от входа сети (вершина Ф0) до выхода (вершина ФN).
Рассмотрим на простом примере процедуру образования вариантов построения систем на элементах вычислительной техники. Допустим, что система должна реализовать алгоритм, показанный на рис. 2, т.е. с периодичностью t вычислять сумму двух переменных.
Рис. 2
На первый взгляд существует только один вариант реализации этого алгоритма - использовать суммирующее устройство. Однако, если учесть возможные формы внешнего представления операндов, то появятся дополнительные варианты, существенно отличающиеся стоимостью, быстродействием и т.п. Для элементов вычислительной техники различные формы внешнего представления и их взаимные преобразования (блоки Пр на рис.1) показаны на рис.3. Здесь приняты следующие обозначения форм внешнего представления информации:
{F} - частотный сигнал,
{1/F} - время-импульсный сигнал,
{Y} - число-импульсный или унитарный код,
{C} - последовательный код,
{P} - параллельный код,
{H} - аналоговый сигнал.
Рис.3
Модификация рис. 1 применительно к указанному алгоритму, реализованному на элементах вычислительной техники, показана на рис.4. Цифры на дугах сети указывают на конкретную реализацию соответствующей операции. Блоки преобразования на рисунке обозначены – gпр, сложения – gсл, хранения - gо. Из рисунка видно существование значительно большего количества вариантов реализации операции сложения, чем можно было предположить заранее. Например, вариант 1 использует один сумматор параллельного типа (СМп) и два параллельных регистра (Ргп). Эта реализация на рис.4 изображена в виде дуги 11. Информация на входе и выходе представлена параллельным кодом {P}. Вариант 2 реализован на одноразрядном сумматоре (Смо) - дуга 10, информация на входе и выходе представлена последовательным кодом {C}. Вариант n реализован на одной схеме ИЛИ со входом и выходом информации в виде унитарного кода {Y} – дуга 12.
Рис.4
Пример вариантов реализации блоков преобразований
для систем, обеспечивающих уборку снега
(блоки Пр на рис.1), показан на
рис.5, где Ф1 – снег, Ф2 – лед, Ф3 – вода, Ф4 – пар. При совместном рассмотрении
рисунков 1 и 5 видно, что на всех стадиях уборки (сбора, хранения и утилизации)
не обязательно иметь дело непосредственно со снегом. Практика уборки снега в
г.Москве убедительно подтверждает факт предварительного преобразования снега в
воду. Однако из рисунка 1 следуют и другие варианты, в силу разных обстоятельств
пока еще не имеющие практической реализации.
Рис.5
Далее рассмотрим возможность использования предлагаемого метода синтеза структур для генерации вариантов ведения малого бизнеса. Допустим, что предполагается собрать из комплектующих деталей некоторый продукт и продать его на рынке. Требуется выбрать лучшую по наперед заданным критериям структуру малого предприятия. Примерами таких постановок задач могут являться сборки автомобилей, компьютеров, графопостроителей, печатающих устройств, нанесение изображений на различные изделия и много других.
Как формально могут быть получены возможные варианты решения этой проблемы? Обратимся снова к рис.1. На схеме практически определена последовательность основных операций исходного алгоритма. Неопределенными остаются числовые значения дуг сети и параметры Ф1 – Ф4. Числовые значения дуг рассчитываются по наперед выбранным критериям таким, например, как время и стоимость. В качестве форм внешнего представления выберем следующие: Ф1 - соответствует поставке комплектующих из-за рубежа, Ф2 – поставке комплектующих от сторонней организации (от «дяди»), Ф3 – собственное производство комплектующих, Ф4 – другое. На рис.6 показаны только три возможных варианта решения этой задачи. Первый вариант соответствует «челночному бизнесу», когда конечный продукт полностью ввозится из-за рубежа. Во втором варианте комплектующие покупаются на рынке, собственными силами производится сборка или другие операции различной сложности и конечный продукт реализуется на рынке. В третьем варианте все операции по созданию конечного продукта производятся собственными силами. Рассмотренные варианты хорошо видны в представленном на рис.1 возможном множестве вариантов структурной организации.
Рис.6
1. Артамонов Е.И., Макаров В. Анализ и синтез архитектуры сложных программных систем. Приборы и системы.7-2000 г. С.22-29.
2. Черемных С.В., Семенов И.О., Ручкин В.С. Структурный анализ систем: IDEF - технологии.– М.: Финансы и статистика, 2003 – 208 с.
3. Е.И. Артамонов. Структурная организация интерактивных систем. КОГНИТИВНЫЙ АНАЛИЗ И УПРАВЛЕНИЕ РАЗВИТИЕМ СИТУАЦИЙ (CASC'2004). Труды 4-й Международной конференции в 2-х томах. Том 2 / Под ред. В.И. Максимова. М.: Институт проблем управления РАН. - 2004.