Структура СПП 

Статистический пакет в идеале должен удовлетворять определенным требованиям:

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

СПП в виде библиотеки модулей

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

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

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

Набор тематически-ориентированных программ

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

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

В пакетах данного типа каждый TOП должен взаимодействовать с другими подобными программами по данным. Рассмотрим информацию, доступную TOП в рамках одного задания. Эта информация делится на три части: управляющую, обрабатываемую и терминологическую.

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

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

Терминологическая информация - это в простейшем случае словарь наименований переменных, групп, определений для качественных переменных, принятых в области исследований, для которой получена обрабатываемая информация. Использование этой информации позволяет провести настройку пакета, и в частности распечатку выходных данных в терминах области исследования. Терминологическа информация является одной из составных частей тезауруса содержательных понятий и общей для всех программ, участвующих в процессе обработки. Ее целесообразно хранить на внешних устройствах в виде отдельного набора, доступного для всех TOП.

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

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

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

Принадлежность объектов матрицы данных к самостоятельным частям (подматрицам) можно указать одним из следующих способов:

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

Пакет с генерацией программ

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

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

Язык администратора в основном служит для модификации и расширени пакета программ (включение новых модулей, изменение правил умолчания и т.д.).

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

TVP logo