Статистический пакет в идеале должен удовлетворять определенным требованиям:
Первый уровень сложности системы - реализация пакета в виде библиотеки модулей. Под модулем СПП понимается внешняя процедура или программа на языке программирования высокого уровня, позволяющие кроме основных функций обрабатывать аварийные ситуации, имеющие стандартные интерфейсы связи по данным и передаче управления между модулями и использующие определенные операторы ввода-вывода.
Независимо от дальнейшего развития СПП организация библиотек обрабатывающих модулей в пакете остается одинаковой. Так, все библиотеки модулей (например, классификации, сокращения размерности, регрессии и т.д.) физически организованы в виде двух наборов данных - библиотеки исходных модулей и библиотеки загрузочных модулей. Первая библиотека содержит тексты модулей на языке программирования, а вторая - загрузочные модули, полученные в результате компиляции и редактировани соответствующих исходных модулей. Наличие библиотеки исходных модулей позволяет проводить модификацию и коррекцию модулей в процессе эксплуатации пакета.
При достаточной квалификации пользователя в области программировани работа с таким пакетом состоит в отборе подходящих модулей и в составлении самим пользователем головной программы на языке программирования, организующей вызов отобранных модулей в определенном порядке.
Набор тематически-ориентированных программ
Следующий уровень сложности СПП - организация пакета в виде набора тематически-ориентированных программ (TOП), осуществляющих автоматизацию вычислительного процесса с помощью набора обрабатывающих модулей, относящихс к данной теме.
Такого типа пакеты представляют собой развитие принципов их организации, продемонстрированных в известном статистическом пакете BMDP. Существенное отличие заключается, однако, в том, что программы пакета BMDP предназначены для выполнения лишь одной какой-либо статистической процедуры (например, линейной регрессии, дискриминантного анализа). А каждый набор TOП являетс пакетом программ для решения некоторого подмножества задач прикладного статистического анализа.
В пакетах данного типа каждый TOП должен взаимодействовать с другими подобными программами по данным. Рассмотрим информацию, доступную TOП в рамках одного задания. Эта информация делится на три части: управляющую, обрабатываемую и терминологическую.
Управляющую информацию задает пользователь с помощью языка пакета, или ее получают в результате работы самой программы. Она содержит описание типа обрабатываемых данных, метода обработки, используемой модели, требования к настройке программы и др.
Обрабатываемая информация состоит в первую очередь из исходных и получаемых на выходе TOП данных (например, параметров регрессионных уравнений, правил классификации, моделей снижения размерности).
Терминологическая информация - это в простейшем случае словарь наименований переменных, групп, определений для качественных переменных, принятых в области исследований, для которой получена обрабатываемая информация. Использование этой информации позволяет провести настройку пакета, и в частности распечатку выходных данных в терминах области исследования. Терминологическа информация является одной из составных частей тезауруса содержательных понятий и общей для всех программ, участвующих в процессе обработки. Ее целесообразно хранить на внешних устройствах в виде отдельного набора, доступного для всех TOП.
Для большинства задач статистической обработки данных достаточно между программами, работающими в составе пакета, допустить обмен информацией в виде векторов, матриц данных и матриц бинарных отношений, а также управляющей информацией.
Для программ ввода-вывода и обрабатывающих модулей матрица данных всегда представляется в виде таблицы чисел. Если в матрице данных имелись неколичественные переменные и пропущенные значения, то они заменяются некоторыми числовыми кодами. Информация о видах переменных, о соответствии определений неколичественных переменных и пропущенных значениях хранится в специальных таблицах вместе с числовыми кодами.
Матрица данных может состоять из нескольких подматриц, которые в ряде случаев используются самостоятельно для статистического анализа.
Принадлежность объектов матрицы данных к самостоятельным частям (подматрицам) можно указать одним из следующих способов:
Более совершенной организацией обладают пакеты с генерацией программ. На этом уровне развития сложности пакета в качестве отдельной структурной единицы выделяется "собирающая" программа, основной функцией которой являетс генерация обрабатывающих программ. Собирающая программа может быть выполнена в виде нескольких программ - транслятора с входного языка, планировщика и т.д. Такая программа управляет работой пакета, осуществляя связь с операционной системой, содержит задание на обработку, в котором определена последовательность использования модулей, необходимых для выполнения задания, организует связь между модулями по информации и управлению. Результатом работы собирающей программы является план вычислений на внутреннем языке пакета.
Входной язык пакета - проблемно-ориентированный неалгоритмический язык высокого уровня, позволяющий описывать манипуляции внешнего управлени пакетом и данные пользователя, а также формулировать задания. Для обеспечени удобства изучения и применения в языке пакета выделяют две части: язык администратора и язык пользователя.
Язык администратора в основном служит для модификации и расширени пакета программ (включение новых модулей, изменение правил умолчания и т.д.).
К языку пользователя предъявляется ряд особых требований,
связанных с тем, что он предназначен для пользователей, большей частью
не являющихся профессиональными программистами. Основное из этих требований
- удобство использования языка.