М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ (1184225), страница 27
Текст из файла (страница 27)
вычисление с помощью моделиустановки по типичным структурам (моделям) изучаемого объекта точныхвыходных данных «модельного эксперимента».Следует отметить, что принципы и методы, определяющие логическуюструктуру и программную реализацию рассматриваемых систем обработки,носят достаточно общий характер и поэтому обеспечивают присоответствующем развитии функционального наполнения возможностьиспользовать каждую из этих систем при обработке данных экспериментовдругих типов. В связи с этим термин «многоцелевая» отражаетфункциональную многоаспектность системы не только в смыслеразнообразия задач, решаемых при обработке результатов эксперимента, нои в смысле широты класса обслуживаемых экспериментов.
Вместе с темсистемное наполнение каждого такого пакета уникально и не ориентированона самостоятельное использование при создании другого пакета.Возникает вопрос: нельзя ли выделить в структуре подобных пакетовобщую часть, т.е. разработать системное обеспечение, предназначенное длясоздания, развития и эксплуатации широкого класса многоцелевыхпроблемно-ориентированных систем обработки экспериментальныхданных?С точки зрения постановки такой задачи прежде всего необходимоотметить, что специфика прикладной деятельности, для обслуживаниякоторой предназначен пакет, всегда находит отражение в его структурныхсоставляющих.
Это проявляется и в виде зависимости состава модулейфункционального наполнения от предметной области приложения, и в видесоответствия конструктивов языка заданий дисциплине организации ипроведения расчетов, принятой в приложении. Специфика прикладнойдеятельности, естественно, учитывается и в архитектуре системногонаполнения, поскольку именно оно, интерпретируя с помощьюмодулей функционального наполнения инструкции языка заданий, реализуетдисциплину работы пользователя с пакетом.В связи с этим целесообразно начинать разработку системногообеспечения для класса пакетов, характеризуемых общностью проблематики(в данном случае имеется в виду проблематика сплошной обработки данныхфизических экспериментов) с выделения базовой дисциплины работы спакетом.
При этом под базовой дисциплиной мы понимаем обстоятельства,правила и формы проведения вычислений, инвариантные относительноширокого круга предметных областей (т.е. типов физическихэкспериментов), рассматриваемых в данной проблематике. Далее,ориентируясь на базовую дисциплину, можно специфицировать связанные сней инвариантные свойства системного обеспечения рассматриваемогокласса пакетов. Так, для языка заданий можно установить общий стильформулирования заданий и определить внешний синтаксис, т.е.представление языковых конструкций, не зависящее от конкретных типоврешаемых задач.
В свою очередь для системного наполнения можноопределить основные принципы регламента модуляризации прикладныхпрограмм, включаемых в пакет, зафиксировать форму организациимежмодульного интерфейса (по управлению и по данным), установитьспособ исполнения расчетной цепочки, выбрать режим взаимодействияпользователя с пакетом при исполнении заданий и схему внешнегоинформационного обслуживания.Затем, руководствуясь полученными спецификациями, необходиморазработать (или адаптировать имеющийся) комплекс языковых ипрограммных средств, который будет обеспечивать поддержку базовойдисциплины расчетов.
На основе такого комплекса (будем называть егобазовым системным обеспечением) можно уже создавать родственные вдисциплинарном отношении пакеты, отличающиеся друг от другафункциональными наполнениями (т.е. обслуживаемыми предметнымиобластями) и языками заданий (с точки зрения их внутреннего синтаксиса исемантики).При такой организации разработки класса пакетов, естественно,возникает вопрос о том, как осуществить переход от базового системногообеспечения к конкретному пакету (рис. 5.1).
Вообще говоря, такой переходможно выполнить, ограничившись только средствами штатного программного обеспечения (трансляторы, редакторы текстов и внешних связей,возможности файловой системы и т.д.). Правда, при этом от разработчиковпакетов потребуютсядостаточно глубокие знания возможностей штатных системных программи умение использовать их с учетом внутренних механизмов базовогосистемного обеспечения. С другой стороны, процесс перехода отбазового системного обеспечения к пакету может быть значительноупрощен, если предусмотреть специальные инструментальные средства,автоматизирующие основные этапы этого процесса.В этом случае задачу создания универсального системногообеспечения для пакетов обработки данных физических экспериментовможно определить как задачу разработки соответствующейинструментально-базовой системы.
Рассмотрим теперь основныеособенности многоцелевых систем сплошной математической обработкиэкспериментальных данных, которые должны быть учтены в архитектуреинструментально-базовой системы.Квалифицированное обслуживание пользователей, не имеющихспециальной программистской подготовки (так называемых конечныхпользователей), прежде всего, предполагает, что общение с системойосуществляется с помощью проблемно-ориентированного языказапросов [16,17]. Такой язык дает возможность составлять задание наработу системы в виде последовательности команд (приказов),сформулированных в терминах, которые либо непосредствен-но заимствованы из сферы обработки научных наблюдений, "либоестественно отражают основные задачи обработки данных, решаемые спомощью многоцелевой системы.
Необходимо подчеркнуть, чтофункциональная многоаспектность системы обработки обусловливает дваважных обстоятельства, касающихся организации общения пользователя ссистемой:- во-первых, содержательное многообразие команд, применяемых приработе с системой; дело в том, что к услугам системы могут прибегатьразличные независимые группы конечных пользователей, каждая из которыхзанимается исследованием результатов экспериментов конкретного типа; вэтих группах могут складываться свои специфические формы проведениярасчетов, отражение которых пользователи хотят видеть в языковыхсредствах системы;- во-вторых, постоянное расширение и модифицирование языка общенияс системой вследствие развития функционального наполнения системы иувеличения числа использующих ее прикладных специалистов; другимисловами, отмеченное выше содержательное многообразие команд системыне является фиксированным, а расширяется по мере развития и эксплуатациисистемы.Если еще не накопились такие программные фонды, которые можнобыло бы использовать в качестве источников функциональных модулей присоздании многоцелевых систем, то функциональное наполнение каждоймногоцелевой системы в основном формируется из оригинальных программ,которые специально разработаны для данной системы в соответствии спринятым в ней регламентом программирования функциональных модулей.Для многоцелевых систем характерно использование различных формполуавтоматического планирования расчетных цепочек.
Это объясняетсятем, что для каждой типичной задачи (из числа решаемых в процессесплошной математической обработки) можно заблаговременно определитьодин или несколько возможных вариантов оптимальной расчетной цепочкии указать четкие критерии выбора варианта.Особенности операционных возможностей многоцелевых систем(жесткий интерфейс, исполнение задания в режиме интерпретации, диалог спользователем) отражают их ориентацию на обеспечение широкоиспользуемого при автоматизации научных исследований человекомашинного подхода к организации расчетов. Ориентация на такой подходобусловлена тем, что логическая структура процесса сплошнойматематической обработки, как правило, не может бытьполностью формализована заранее, поскольку она сложным образом зависитот значений исследуемых экспериментальных данных и получаемых в ходеобработки промежуточных результатов.
Поэтому в большинстве случаевсеанс сплошной обработки данных наблюдений реализуется не по схемесквозного выполнения задания, а по схеме его поэтапного выполнения, когдапосле завершения очередного этапа, описываемого одной или несколькимикомандами языка заданий, пользователь, оценив сложившуюся расчетнуюситуацию и полученные результаты, имеет возможность указать, как долженпротекать процесс обработки дальше.Еще одной характерной чертой развитых многоцелевых системобработки данных [105] является наличие в них средств внешнегоинформационного обслуживания, снабжающих пользователей сведениями офункциональных возможностях системы, о типах допустимых команд, ихсинтаксисе и семантике, а также обучающих правилам работы с системой.Рассмотренные особенности пакетов обработки экспериментальныхданных позволяют сделать вывод, что инструментально-базовая система,которая будет использоваться как универсальное системное обеспечениетаких пакетов, должна удовлетворять следующим требованиям:- язык системы должен содержать средства (будем в дальнейшемназывать эти средства языком генерации), обеспечивающие возможностьопределения и расширения языка заданий;- основными конструктивными единицами языка заданий должны бытьпользовательскиекоманды(запросы,приказы),характеризуемыеунифицированным внешним синтаксисом и выражаемые в терминахпредметной области, охватываемой пакетом.