
- •Глава 1. Анализ процессов проектирования алгоритмов
- •1.1. Актуальность создания системы проектирования алгоритмов
- •1.2. Анализ форм представления алгоритмов
- •1.3. Анализ процесса проектирования алгоритмов
- •1.4. Документы описания алгоритма
- •1.5. Определение системы программирования татра
- •Раздел 2. Языки описания алгоритмов
- •4.1. Язык заполнения сводной документа описания признаков
- •4.2. Язык описания правил выбора решений (язык описания таблицы предикатов)
- •4.3. Язык описания решений задачи
- •5. Дополнительные возможности описания алгоритмов
- •5.1. Оптимизация объема памяти, занимаемой алгоритмом (язык описания таблицы предикатов)
- •5.2. Язык заполнения таблицы признаков
- •5.3. Язык описания правил выбора решений без ссылки на сводный документ описания признакового пространства
- •6. Организация ввода алгоритмов в базу данных
- •6.1. Ввод данных в пакетном режиме
- •Int filtr(long n, long a, short l, short *I, short *j, long *m, int RazM, long *k, int RazK) ,
- •Int predi( long n, long k, long m, int RazM, long r, int RazM) ,
- •Int resch(long n, short f, long a, short l, short I, short j, long m, int RazM) ,
- •7.2. Методика проектирования программы вычисления признаков
- •7.3. Методика проектирования программы оформления решения
- •8. Организация хранения алгоритмов в базе данных
- •7.2. Организация информационных массивов в системе программирования tatra
- •8.1. Структура массива мо
- •8. Состав программного обеспечения
8. Организация хранения алгоритмов в базе данных
Все данные о сводном документе признаков и документы описания алгоритмов и хранятся в базе данных.
8.1.
Структура базы данных на уровне обрабатывающих программ представлена в виде абстрактной иерархической модели, показанной на рис.10. Прямоугольниками обозначены поисковые ключи записей базы, а квадратами собственно данные (информационные массивы), имеющие переменную структуру и длину записей. Ключи системы TATRA представлены на рис. 11.
Размер таблицы предикатов ограничен отношением:
,
где Н - число машинных слов, занимаемых таблицей:
,
где М - количество номеров решений, представленных в таблице ( с учетом повторений);
L - число строк в таблице;
Р - число признаков;
K[J] - количество градаций J-го признака:
7.2. Организация информационных массивов в системе программирования tatra
Для работы табличных алгоритмов в системе необходимы данные:
о пространстве признаков, в которых решается прикладная задача;
о правилах выбора решений;
о решениях, которые принимаются в заданиях.
Массив данных о признаковом пространстве системы технологического проектирования (сводной таблицы признаков) представляет собой совокупность сведений о каждом признаке. Для описания информации об одном признаке отводится гнездо в 12 байт (если признак не вычисляется по программе) или в 20 байт (если признак вычисляется по программе). Структура гнезда представлена на рис.12: первые 8 байт - имя признака, последующие 4 байта:
Рис.10. Абстрактная иерархическая модель
TATRA
1
ключ
имя алгоритма
имя системы
2
ключ
3
ключ
FILTR
PREDI
RESCH
таблица
Рис.11. Ключи системы TATRA
T - код обращения к программе для вычисления значения признака:
A - признак изменения номера строки и столбца:
J, K - соответственно номера строки и столбца, указывающие на расположение значения признака.
Массив данных о пространстве признаков одного алгоритма представляет собой совокупность сведений о каждом признаке. Для описания информации об одном признаке отводится гнездо в 16 байт (если признак не вычисляется по программе) или в 24 байта (если признак вычисляется по программе). Структура гнезда следующая (см. рис.13):
T - код обращения к программе для вычисления значения признака:
A - признак изменения номера строки и столбца:
J, К - номера строки и столбца соответственно, указывающие на расположение значения признака;
ε - разбиение признака;
αmin - минимальное значение признака;
αmax - максимальное значение признака.
В случае вычисления признака по программе гнездо увеличивается еще на 8 байт, хранящих имя программы (см. рис14).
В конце описания признаков, т.е. после гнезда, хранящего данные о последнем признаке, записывается число 8000000116. Максимальное число признаков, которое используется при решении конкретной задачи, не должно превышать 50.
Размер массива данных о правилах выбора решения конкретной задачи зависит от количества предложений, из которых состоит предложение, и от градации признаков. На каждое предложение отводится целое число машинных слов.
В качестве разделителей предложений используется код FFFF000116. В качестве разделителей системы предложений - код FF00000116.
Рис.12. Структура гнезда файла данных о признаковом пространстве системы технологического проектирования (сводной таблицы признаков) (указаны номера битов)
Рис.13. Структура гнезда файла данных о пространстве признаков одного алгоритма (указаны номера битов)
128
159
160
191
Рис.14. Дополнение к гнезду файла данных о пространстве признаков одного алгоритма при вычисления признака по программе (указаны номера битов)
Каждое правило начинается с номера решений. В конце описания правил ставится код 8000000116.
Структура записей, хранящих данные о правилах выбора решений, представлена на рис.15.
Массив данных о решениях представляет собой совокупность данных о всех решениях этого алгоритма. Данные об одном решении могут занимать гнездо произвольной длины, что зависит от количества констант, которые необходимо записать при реализации конкретного решения. На каждое решение отводится целое число машинных слов. В конце описания решения ставится код 8000000116.
Структура записи, хранящей данные о решениях, представлена на рис.16.
T - признак обращения к программе решений:
A - признак изменения номера строки и столбца:
L - число констант;
J, K - соответственно номера строки и столбца, указывающие на расположение значения решений;
В - номер решения.
Если требуется по решению занести константы, то гнездо, хранящее решение, увеличивается на количество машинных слов, равное количеству констант, т.е. после двух служебных слов располагаются число констант и константы данного решения.
Если решение определяется по программе, то гнездо увеличивается на 8 байт, хранящих имя программы.
Максимальный размер во внутреннем представлении:
таблиц фильтров - 201 слово;
таблиц предикатов - 1005 слов;
таблиц решений - 201 слово.