Общая постановка задачи

Формализация разбиения проектируемой АС на модули

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

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

Модульное проектирование АСУ обладает рядом преимуществ:

— упрощается процесс разработки и отладки программного и информационного обеспечения АСУ;

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

— улучшается организация управляющих программ;

— появляются возможности внедрения передовых методов разработки и автоматизации проектирования АСУ.

Реализация модульного принципа проектирования АСУ предполагает, что каждый модуль обладает следующими качествами:

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

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

алгоритмичность, т.е. функции модуля группируются на алгоритмической основе;

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

однородность, т.е. в модуле объединяются однородные по своему функциональному назначению процедуры.

Основой для формализованной постановки и решения задач анализа и синтеза модульных АСУ является определение модулей системы и межмодульного интерфейса.

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

Перейдем к формализации.

Пусть А={a1, a2, …, am} – множество задач, выявленных на предпроектной стадии. Каждое ai в общем случае характеризуется n – мерным вектором показателей xi, которыми являются время выполнения, число входных и выходных переменных, требуемый объем памяти и т.д.

Все задачи информационно взаимосвязаны. Это можно задать орграфом Г=(A,D), у которого вершины А={a1, a2, …, am} – это задачи, а ребра D – информационные связи между задачами (процедурами).

Пусть граф Г задан матрицей смежности ║dij║, причем dij=1, если существует информационная дуга из задачи ai в задачу aj, и dij=0 в противном случае. Каждая дуга между элементами ai и aj характеризуется некоторым параметром ρij, который может быть и вектором. Будем считать, что ρij=0, если dij=0.

Обозначим через Е={θ} – множество всех возможных разбиений множества А на отдельные подмножества, т.е. каждое θ таково, что

Θ=(А1θ, …, Аθ, …, АL(θ)θ), , , i,j=1,..,L(θ), i≠j.

Рассмотрим некоторое разбиение θ. Подмножество Аθєθ будем в дальнейшем называть модулем.

Для данного разбиения θ множество дуг исходного графа Г распадается на L(θ)+1 попарно не пересекающихся подмножеств: а) подмножество внутреннее Gθ дуг, соединяющих вершины из Аθ; б) подмножество внешнее Dθ дуг, концы которых лежат в разных модулях. Внешние дуги, входящие в какой-либо элемент модуля Аθ называют его входом, а выходящие из какого-либо элемента – выходом.

Разбиению θ можно сопоставить агрегированный граф Гθ, получающийся из исходного графа Г в результате объединения всех вершин подмножества Аθ в одну для каждого ℓ=1,..,L(θ). Из вершины Аrθ в вершину Аkθ идет дуга тогда и только тогда, когда в графе Г имеется дуга, направленная от некоторой вершины aiє Аrθ в вершину ajє Аkθ. Дугам графа Гθ сопоставим параметры r≠k,

где Crkθ={(i, j): aiєArθ, ajєAkθ, dij=1}.

Агрегированный граф Гθ описывает разбиение исходной системы на модули.

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

Мы рассмотрим несколько таких постановок и соответствующих им математических моделей.