Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


МОДУЛЬ 2. АСОИУ КАК ОБЪЕКТ ПРОЕКТИРОВАНИЯ



(6-й весенний семестр, 3-й курс)

ГЛАВА 5. МОДУЛЬНЫЙ ПРИНЦИП ПРОЕКТИРОВАНИЯ АСОИУ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Могут быть выделены различные способы разбиения информационного и программного обеспечения АСОИУ на отдельные модули:

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

ресурсный – по имеющимся возможностям технического и программного обеспечения разработки;

элементный – по использованию типовых и стандартных элементов решений;

смешанный – обеспечивающий выше перечисленные.

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

Пусть А={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}.

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

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

 

5.2. Постановка и модель решения задачи разбиения ИЛМ АСОИУ на

функциональные модули с минимальным числом информационных связей

 

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

Исходными данными для задачи являются:

1) множество различных типов входных, промежуточных и выходных данных,

2) множество необходимых процедур преобразования данных.

При этом задачи относятся к одному и тому же уровню (см. л. 8).

Отношение, т.е. оператор отображения множества процедур к множеству информационных элементов можно представить в виде двудольного графа, дуги которого соединяют процедуры с соответствующими информационными данными (см. рис. 4.5.1).

1
1
2
3
2
3
4
5
4
 

 

 


Рис. 4.5.1. Двудольный граф связи процедур и информационных элементов

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

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

Для формализации задачи введем следующие обозначения:

 

А={a1, a2, …, aj, …, am} – множество задач, далее процедур системы обработки данных

R={r1, r2, …, r, …, rL} – множество информационных элементов

 

   1, если информационный элемент r используется для выполнения 

   процедуры аj

  0, в противном случае

 

Введем в рассмотрение следующие переменные:

 

 

1, если процедура аj входит в модуль Аi, j=1,.., m; i=1,.., M=2m-1

0, в противном случае

 

и связанные с ней переменные:

1, если ; i=1,.., M; ℓ =1,.., L

yℓ i=

0, если

т.е. yℓ i=1, если r - й информационный элемент используется процедурой aj, которая размещается в модуле Аi.

При этих обозначения суммарное число различных информационных элементов, являющихся общими для различных модулей Аi, i=1,.., M равно

                                                     (1)

При ограничениях:

1. На число выделяемых модулей M0≤ M                                                   (2)
Каждая процедура хотя бы в одном модуле должна находиться:

 j=1,.., m                                                                                                 (3)
 3. Число процедур в одном модуле может быть ограничено некоторой величиной N: i=1,.., M0                                                                                               (4)
4. Некоторые процедуры j и j` должны быть разнесены по разным модулям, т.е.

         xij+xij`≤ 1, i=1,.., M0                                                                                 (5) 

5. Число информационных элементов, с которыми связан модуль, может быть ограничено, т.е.

i=1,.., M0                                                                  (6)

6. Ограничения на сложность взаимодействия информационных элементов и процедур внутри модулей, т.е.

 i=1,.., M0                                                            (7)

7. Ограничения на количество сложных связей между информационными элементами и некоторой парой i и i` модулей, т.е.

                                                                             (8)

Задача (1)-(8) является задачей квадратичного целочисленного программирования.

Для удобства решения она может быть сведена к линейной форме путем линеаризации выражений (1) и (8).

Введем переменную

            1, если ℓ -й информационный элемент необходим для модулей Аi и Ai`

Zℓ ii`=

   0, в противном случае

Тогда критерий (1) может быть записан так:

                                                 (9)
Ограничение (8) при этом будет иметь вид:

для заданных i и i`                                                                                 (10)

 

Задача разбиения, представленная выражениями (9), (2)-(7), (10) имеет линейный вид и может быть решена с использованием стандартных методов.

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

Пусть граф задачи содержит пять процедур и шесть информационных элементов (см. рис. 4.5.2).

1
1
2
3
2
3
4
5
4
6
5
d                        ar

 


Рис. 4.5.2. Граф взаимосвязи процедур с информационными элементами

 

Матричная форма соотношений между процедурами и информационными элементами приведена в таблице 4.5.1.

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

Рассмотрим решение задачи при следующих ограничениях:

1) общее число модулей V=2;

2) общее число информационных элементов в каждом из модулей Lv≤ 6, v=1, 2;

3) общее число процедур в каждом модуле Mv≤ 4, v=1, 2.

Таблица 4.5.1. Матричная форма соотношений

 

Ar

d

1 2 3 4 5 6
1 + + +   + +
2   +     +  
3 + +     + +
4 +   + +    
5   + + +    

 

Находим матрицу взаимосвязи процедур обработки с информационными элементами:

║ djℓ ║ =

 

 

При заданных условиях возможно четыре варианта разбиения процедур на модули

I  [ a1 ], [ a2, a3, a4, a5 ]

II [ a1, a2 ], [ a3, a4, a5 ]

III [ a1, a2, a3 ], [ a4, a5 ]

IV [ a1, a2, a3, a4 ], [ a5 ]

 

Для каждого варианта разбиения определяем матрицы Xji и Yℓ i и значение критерия S:

 

I. ;             ; SI=5

II. ;             ; SII=5

III. ;             ; SIII=3

IY. ;             ; SIV=3

По критерию оптимальным является IV вариант разбиения.


Поделиться:



Последнее изменение этой страницы: 2019-03-29; Просмотров: 298; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.052 с.)
Главная | Случайная страница | Обратная связь