Файл: Садовников, В. И. Потоки информации в системах управления.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 104
Скачиваний: 0
1, если! ß тезаурусе T найдено отношение, допускающее применение 2-го правила;
О, в противном случае.
1, если в массиве X найдена компонента, удовлетворяющая требованиям k-ro пра вила (k = 1, 3, 4, 5);
О, в противном случае.
Гі = [1, если і > m ;
[ О , если і < , т .
гІ --
fl, если У> /г*-;
[О, еСЛИ ] < П і .
1, если ß > 5 ;
Гк = О, если &<5.
|1, если k = 2;
\0, если k^=2.
1, если в процессе поиска компоненты с по мощью правила (2) запомнен хотя бы один
признак Zij и хотя бы одна компонента;
.0, в противном случае.
со — означает тождественно ложное логическое усло вие; после этого условия дальнейший порядок работы всегда определяется стрелкой, так как © = 0.
В этих обозначениях логическая схема алгоритма получения функционально-эквивалентных формул имеет следующий вид:
Каждый цикл работы алгоритма представляет собой проверку возможности записи и запись формул для каж дой из т компонент массива с помощью одного из пра вил (1.4.1) — (1.4.5).
В результате работы алгоритма можно получить одну или несколько функционально-эквивалентных формул и,
114
как следствие, один или несколько непротиворечивых выводов для каждой СК, так как:
1) алгоритм просматривает каждую компоненту за
данного массива |
и применяет к ней последовательно |
|
каждое из правил |
„(1.4.1) — (1.4.5); |
' |
2) относительно применяемых в алгоритме правил |
||
(1.4.1) —(1.4.4) доказано (теорема |
1-1), что компонен |
ты, выводимые с помощью этих правил, непротиворечи вы компонентам, участвующим в их выводе;
3) тезаурус ОИЯ построен так, что для каждой ха
рактеристики рі СК Хі записано соответствующее отно шение или эта характеристика отмечена как исходная, а вывод любой характеристики не содержит противоре чивых характеристик, т. е. компоненты, выводимые с по мощью правила (1.4.5), непротиворечивы компонентам, участвующим в их выводе;
4) для |
каждой компоненты потока записана форму |
|
ла вычисления |
ее значений, принятая в существущей |
|
системе, |
или |
эта компонента отмечена как ис |
ходная. |
|
|
Рассмотрим пример получения функционально-экви валентных формул для вычисления значений СКПусть массив СК, для каждой из которых записана принятая в существующей системе формула вычисления ее значе ний, задан в виде табл. 1-35.
При записи формул использованы фрагмент тезауру са ОИЯ (§ 1-4, п. «е») и формализованный язык для записи формул (§ 1-4, п. «ж»),
В соответствии с рассмотренным алгоритмом ко всем компонентам массива последовательно применялись пра вила (1.4.1) —(1.4.5); в результате:
1) с помощью правила (1.4.1) записана формула
04217 = 204213; |
|
данном случае |
не |
2) правила (1.4.2) — (1.4.4) в |
|||
позволили записать |
ни одной |
эквивалентной |
фор |
мулы; |
|
|
|
3) с помощью правила (1.4.5) записаны формулы |
|||
14015=13757—13770 |
и 13770 = 04217X13761; |
|
4) выполнен контроль правильности записи сущест вующих формул для вычисления значений девяти струк
турных компонент (13234, 13241, 04213, |
14015, 13766, |
13770, 13757, 14013, 10667, 10721). |
|
В этом примере СК 14015 имеет выводы, изображен |
|
ные на рис. 1-14. |
115 |
8* |
Номера |
Наименования компонент в кодах |
||
компо- |
|
|
ои я |
нент |
|
|
|
1 |
|
|
2 |
04213 |
021, |
222, |
201 |
04217 |
021, |
222 |
|
10334 047, 222, 201, 207, 210, 211, 214, 216, 220
10667 015, 222, 201, 203, 207, 210, 211, 214, 216
10717 050, 222, 201, 205, 207, 210, 211, 212, 214, 216, 220
10721 016, 222, 201, 203, 205, 207, 210, 211, 212, 214, 216
13212 200, 000, 214
13234 015, 222, 201
13241 016, 222, 201
13755 141, 222, 201
13757 141, 222
13761 136
13766 142, 222, 201
13770 142, 222
14013 173, 222, 201
14015 173, 222
Формулы, принятые в существующей системе
3
13234+13241
213234+213241
исх.
El0334 (Т220Т <— >203)Х13212
исх.
210717 (Т220І <— >203)Х13212
------
И С Х .
210667
210721
И С Х .
213755
И С Х .
04213X13761
213766 13755—13766 214013
Т а б л и ц а 1-35
Эквивалентные формулы
4
(13234+13241)*
204213
(210334 (Т2207 <— *-203)X 13212) ;
(210717 (Т2207 <— ►203)Х13212*
(210667)*
(210721)*
(213755)*
(04213X13761)* 04217X13761, (213766)* (13755—13766)* 13757—13770, (214013)*
Приведенный способ получения эквивалентных фор мул вычисления значений СК используется на этапе фор мирования Генеральной спецификации структурных ком понент потока информации (§ 3-7).
и ) О б о б щ е н н а я с т р у к т у р а и н ф о р м а ц и о н н о г о м а с с и в а
Одну из основных функций автоматизированной ин формационной системы составляют процессы хранения и поиска информации. Они во многом влияют также на принципы программирования. Формализованное описа ние потоков информации позволяет выявить структуру информационного массива и реконструировать этот мас сив для того, чтобы рационально организовать эти про цессы.
8* |
117 |
Здесь рассматриваются три возможных способа орга низации информационного массива (массива CK): 1) в ви
де массива скалярных функций f (г,, г2, |
zn) векторов |
аргументов (zJt z2, ..., f n); 2) в виде вектор-функций, ко
торые будем обозначать |
(г,, г2, ..., zn); 3) в виде |
вектор-функций с устойчивыми сочетаниями аргументов. Для каждого способа приводится один из возможных вариантов представления информации в памяти системы.
Скалярные функции
Пусть информация, подлежащая хранению в памяти системы, образует массив, элементами которого являет-
вя СК, записанные на ОИЯ. Отдельная CK (ja, г,, г2,...,г„)
содержит характеристику р. и набор признаков г. СК можно рассматривать как функцию, аргументами которой
служат признаки. Набораргументов"(г,, z2, ...,zn) каждой функции представляет собой вектор. Такая СК является
скалярной функцией' f(zt, z2, .../г„) вектора (z^, г2, ..., г„). Рассмотрим представление информационного масси ва, элементами которого являются скалярные функции,
в памяти системы.
Все элементы структурных компонент записываются
в кодах |
ОИЯ. Структурные компоненты (скалярные |
функции) |
нумеруются. Запись функций и аргументов, их |
привязка к массивам, содержащим реализованные зна чения функций и аргументов, осуществляются с помощью системы управляющих слов. Управляющие слова делят ся на управляющие слова функций (УСФ 1) и управляю щие слова аргументов (УСА).
Структура УСФ 1, описывающего скалярную функ цию, показана в табл. 1-36.
р — признак УСФ 1, тождественно равный 0 (см. ниже УСФ 2);
f — номер функции (структурной компоненты) х; L — Логическая шкала, состоящая из 0 и 1;
118
â — базовый адрес массива реализованных значений компоненты х ;
b — базовый адрес таблицы косвенных адресов (ТКА) аргументов*
входящих в состав компоненты х ;
п — число реализаций компоненты х.
Работа |
с УСФ |
1 производится следующим образом. |
1. По |
номеру |
і структурной компоненты находится |
соответствующее ей УСФ 1 (соответствие определяется по части управляющего слова).
2. По логической шкале L найденного УСФ 1 опреде ляются коды аргументов этой функции. Число разрядов в L соответствует числу всех аргументов рассматривае мого массива структурных компонент. Между номерами разряда в L и кодами аргументов существует однознач ное соответствие. Если в некотором разряде L данного УСФ 1 стоит 1, то это означает, что функция зависит от соответствующего данному разряду L аргумента.
3. По части п УСФ 1 определяется общее число реа лизаций СК (количество значений).
Для того чтобы извлечь конкретное значение СК, используется базовый адрес а массива реализованных значений компоненты. Этот адрес — адрес расположения первого слова массива в ЗУ ЭВМ, т. е. пе_рвой реализа ции компоненты. Адрес /-й реализации данной компонен ты получается сложением базового адреса а с относи тельным адресом — числом (}—1).
4. Чтобы найти значения аргументов конкретной, на пример /-й, реализации СК, надо воспользоваться ТКА и УСА. Базовый адрес ТКА указан в части b УСФ 1. Это истинный адрес первого слова ТКА в ЗУ ЭВМ. ТКА — это прямоугольная таблица, число строк которой равно числу реализаций СК, а число столбцов — числу аргу ментов, от которых зависит эта компонента. Номера строк соответствуют номерам реализаций, а номера столбцов — порядковым номерам аргументов в СК (т. е. самый левый аргумент, найденный в L, является первым, а самый правый — последним). В клетках ТКА записы ваются косвенные адреса значений аргументов в масси вах значений аргументов.
Таким образом, чтобы найти значения аргументов, соответствующие /-й реализации СК, надо найти /-ю строку соответствующей ТКА. Это немедленно дает на бор косвенных адресов значений для всех аргументов.
119
Чтобы извлечь сами значения, надо знать базовые адре са массивов значений аргументов. Для этой цели исполь зуются УСА. Каждое УСА содержит базовый адрес с массива реализованных значений аргумента и число реализаций п. Все УСА собраны в массив. Существует однозначное соответствие между местом УСА в массиве, кодом аргумента и номером разряда логической шка лы L.
Таким образом, по L находятся УСА, из них извлека ются базовые адреса, которые складываются с косвен ными адресами, извлеченными из ТКА. По этим истин ным адресам находятся значения аргументов.
Так может быть представлен в памяти системы мас сив СК, каждая из которых является скалярной функ цией.
Вектор-функции
Когда векторы аргументов нескольких скалярных функций конкретного массива полностью совпадают друг с другом, они служат вектором аргументов векторфункции, в которой каждому конкретному вектору аргу ментов соответствует набор структурных компонент.
Пусть, например, задан массив СК, наименования которых записаны в кодах ОИЯ:
Я = 006,223,206 |
= /, (223,206); |
Я= 013,222,207,211 = /2 (222,207,211 ); "Я = 014,222,207,211 = /3 (222,207,211);
Я, = 020,222,207,211 = /4 (222,207,211);
Я= 031,223,201,206 = /5 (223,201,206);
X, = 046,222,207,211 = ft (222,207,211);
я= 052,222,207,211=/, (222,207,211).
Вэтом массиве полностью совпадают векторы (222.
207,211) аргументов |
скалярных функций /2, /3,/4, /„ и /, |
|
Эти |
векторы служат |
вектором аргументов вектор-функ" |
ции |
К = [ / 2, / 3, / 4, / в, / 7 |
(222, 207, 211) ] = [Я- x t, х 4,х„ Я |
(222, 207, 211)] = [013, 014, 020, 045,052(222,207, 211)].
120
Для описания вектор-функций (с целью их представ ления в памяти системы) можно было бы использовать набор УСФ 1, однако видно, что во всех УСФ 1 этого набора части L и b идентичны. Поэтому достаточно при помощи УСФ 1 описать только первую компоненту век тор-функции, а остальные описывать более компактными словами УСФ 2, извлекая недостающую информацию из УСФ 1 «первой компоненты.
Структура слова УСФ 2 показана в табл. 1-37.
|
|
Т а б л и ц а 1-37 |
Р |
f-1 |
а |
р — признак УСФ 2, |
тождественно равный |
1; |
f —-номер СК (скалярная составляющая); |
данной вектор-функции |
|
f . l — номер первой скалярной составляющей |
||
(ссылка на УСФ |
1 первой составляющей); |
а— базовый адрес ТКА аргументов скалярной составляющей компо ненты.
При работе с УСФ 2 значения реализаций скалярной составляющей извлекаются из массива с базовым адре сом а из УСФ 2. Остальные данные находятся по УСФ 1 первой скалярной составляющей. Отметим, что для пра вильной выборки информации порядок расположения реализаций вектор-функции во всех массивах ее скаляр ных составляющих должен быть один и тот же. При этом совпадающие между собой значения реализаций каж дой скалярной функции должны повторяться. При хра нении значений аргументов одинаковые значения не по вторяются, а хранится только один представитель. Это оказалось возможным сделать из-за использования ТКА. Ясно, что косвенные адреса ТКА могут многократно выбирать -одно и то же значение аргумента.
Таким образом, представление информации в памяти системы в виде скалярных функций позволяет умень шить объем памяти, необходимый для хранения аргу ментов, за счет того, что одинаковые значения аргумен тов в памяти не записываются, а указываются только с помощью косвенных адресов в ТКА. Эти адреса зани мают существенно меньшее число разрядов в памяти по сравнению с самими значениями аргументов.
Представление информации в виде вектор-функций позволяет, кроме того, уменьшить объем памяти благода