М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ (1184225), страница 11
Текст из файла (страница 11)
Интерпретация часто позволяет сократить объем оперативнойпамяти, используемой пакетом при выполнении вычислений. Наконец,режим интерпретации расчетной цепочки весьма удобен, если решениезадачи ведется в форме диалога.В некоторых случаях целесообразно комбинировать техникукомпиляции и интерпретации при исполнении расчетной цепочки. При этомнаиболее критичные с точки зрения времени выполнения участки расчетнойцепочки компилируются, и интерпретируется уже не цепочка, а частичносгенерированная программа.
Такой подход обеспечивает возможностьдостижения разумного компромисса между временем исполнения задания итребуемыми ресурсами оперативной памяти.Хранение информации. Информация, которую приходится хранить иобрабатывать с помощью пакетов прикладных программ, весьма разнородна:программный материал, исходные данные расчетов, промежуточные данныерасчетов (записи контрольных точек), результаты расчетов, документация.Среди средств системной поддержки хранения этой информациитрадиционно выделяются два крупных раздела: хранение программногоматериала и хранение расчетных данных [18,34,46,58].Хранение программного материала может быть организовано на базештатныхсредств,используемыхобщецелевымиредакторами,трансляторами и загрузчиками. Однако в случаях, когда при созданиирабочей программы используются развитые алгоритмы генерациипрограммноготекста,возникаетнеобходимостьвреализацииспециализированных средств хранения [40,97].Для организации хранения расчетных данных обычно используютсявозможности штатных файловых систем.
Эти возможности могут бытьдополнены, например, специализи-рованными средствами буферизации данных в оперативной памяти, которыеучитывают специфику вычислительных процессов приложения и позволяюттем самым существенно снизить временные издержки [18.98].Вместе с тем противопоставление данных и программ в рядеприложений представляется весьма искусственным и, более того,препятствует эффективной организации работ.Нередко при проведении серии расчетов требуется в каждом очередномварианте расчета изменить не только часть исходных данных, но инекоторый фрагмент алгоритма расчета. В этом случае при традиционномподходе для формирования требуемого варианта приходится обращаться кдвум разнородным системам хранения, что сопряжено с известныминеудобствами.Сходные сложности возникают и при попытке связать некоторыйвариант программы, хранящийся как программный материал, с результатамирасчета по нему, хранящимися как данные.
Тем самым, в частности,появляется препятствие на пути применения таких современных методов,как инкрементальный подход к поддержке разработки и отладки программ[99].Наконец, множество неудобств доставляет автономное хранениепрограммной документации. Если преодолеть эту автономию, можно былобы широко использовать ссылки из программ и данных насопроводительные документы и наоборот.Приведенные аргументы говорят в пользу единой системы дляорганизации хранения всей информации. Помимо разрешения трудностей,подобныхперечисленнымвыше,ееиспользованиепозволяетунифицировать средства доступа к разнородной информации и за счетконцентрации усилий на одной системе хранения снабдить ее богатымнабором возможностей.
Следует отметить, что разработка подобных системв силу специфики пакетов прикладных программ нередко выходит за рамкитрадиционной проблематики систем управления базами данных [46,47,100].Общение пользователя с пакетом. Штатное программное обеспечениепредоставляет обычно достаточно широкий (от операторов языкауправления заданиями и директив операционной системы до диалоговыхсистем) набор средств для организации общения пользователя с пакетом[101].
Это позволяет при необходимости относительно легко обеспечить неодну, а несколько форм общения, отражающих содержание различныхэтапов работы пакета и, главное,различную степень активности пользователя на каждом из этапов.В пакетах программ реализуются следующие формы общения спользователем или, другими словами, режимы выполнения заданий.Наименее активное взаимодействие пользователя с пакетом происходитпри закрытой обработке заданий. (Во избежание терминологическойпутаницы мы используем слово «закрытая» вместо слова «пакетная».) Притаком режиме пользователь и на этапе подготовки задания, и на этапе егоисполнения не имеет прямой связи с пакетом и все взаимодействиевыражается в тех сообщениях и листингах, которые пользователь получаетот пакета после успешного или неуспешного прохождения задания черезвычислительную систему. Некоторые пакеты предоставляют определеннуюдиалоговую среду, используемую на этапе подготовки задания, носформированные с ее помощью задания выполняются все же в закрытомрежиме.
Закрытая обработка находит применение в пакетах программ,генерирующих рабочие программы с большим временем прогона (такназываемые фоновые программы) [18,65,74].В пакетах, предназначенных для обслуживания ограниченного наборасравнительно простых задач, часто используется режим «запрос-ответ». Притаком режиме пользователь, находящийся за терминалом, оперативнополучает результаты вычислений по формируемым им заданиям (запросам).В некоторых пакетах в режиме «запрос-ответ» можно выполнять несложныеарифметические вычисления, знакомиться с возможностями пакета или с еготекущим состоянием и т.д.
[102,103].Применяются и более совершенные формы диалога, позволяющиепользователю и пакету регулярно обмениваться информацией, уточняющейи направляющей работу пакета на всех этапах его функционирования. Вчастности, можно предоставить пользователю средства оперативногоуправления ходом выполнения расчетной программы, позволив ему вопределенных узловых пунктах решения выбирать дальнейшее направлениевычислительного процесса [17,44,104-107].Сервис. Сервисные компоненты системного наполнения пакета, как исервисные средства всякой развитой программной системы, обеспечиваютпользователя инструментарием для оперативного решения вопросов,возникающих при эксплуатации, развитии и сопровождении пакета.Одной из наиболее распространенных сервисных возможностейявляется редактирование исходных текстов модулей функциональногонаполнения пакета.
Эта услуга особенно необходима при проведениивычислений в режиме активной дисциплины, когда пользователь, выполняяс помощью пакета сборку новой версии программного комплекса, долженпредварительно модифицировать ряд модулей, входящих в этот комплекс.Длявыполненияредактированиялибоиспользуютсяштатныеуниверсальные редакторы, либо создаются специализированные средства,ориентированные на базовый язык (языки) пакета и позволяющиередактировать модули, не выходя за пределы среды задания для пакета[40,66,102].Другой важный раздел сервисных возможностей охватывает функцииотладки и наблюдения за процессом исполнения задания пользователя.Сюда входят, в частности, средства диагностики ошибок и выдачисообщений, локализующих ошибки, средства прослеживания ходавыполнения рабочей программы и избирательной распечатки ееуправляющих параметров [50,63,64].При работе с пакетами программ, функциональное и системноенаполнение которых интенсивно развивается, возникает задача постоянногоотслеживания в пользовательской документации всех вносимых впрограммы изменений.
Для развивающихся пакетов на смену выпускубыстро устаревающих печатных руководств приходят сервисные средстваоперативного документирования. Эти средства, во-первых, позволяют влюбой момент получать печатные документы, отражающие текущеесостояние пакета, и, во-вторых, предоставляют возможность простого илегкого внесения изменений в тексты существующих документов. Крометого, они облегчают процесс подготовки текущих документов к публикации[102,108].1.8. Информационное обеспечениеТрудно достигнуть высокого уровня автоматизации прикладнойдеятельности, не уделив должного внимания средствам информационногообслуживания.
Хотя это обстоятельство и признается абсолютнымбольшинством разработчиков пакетов, вопросы информационногообслуживания в пакетной проблематике проработаны недостаточно. Повидимому, это объясняется тем, что над разработчиками довлеют сложившиеся формы использования универсального программного обеспечения.Однако пакеты как специализировнные программные системы и посвоей внутренней организации, и по назначению существенно отличаются отдругих общецелевых компонентов программного обеспечения и привносятразнообразные стили и формы ведения работ, весьма отличающиеся от«штатных».