Часть II. Развитие и применение открытых систем в России
Часть III содержит поданные членами рабочей группы проекты, соответствующие разделам Части II.
Следует отметить, что поданные проекты не закрывают всего множества задач в области развития открытых систем. Это, по-видимому, отражает уровень понимания проблемы, и это, видимо, неизбежно на данном этапе. При дальнейшем развитии работ совокупность проектов приобретет большую полноту.
2.1. Роль открытых систем в процессе информатизации России.
Основные концептуальные положения информатизации России изложены в
[36,37], где, в частности,
отмечено, что информатизация
России не может быть кампанией, подобной провозглашенным ранее,
но не реализованным, таким как программы комплексной автоматизации,
компьютеризации, электронизации народного хозяйства. Подобные лозунги,
выхваченные из общего процесса развития общества, не
могли дать серьезных результатов, т.к. не поддерживались смежными
областями науки и техники. Информатизацию следует рассматривать
как процесс, органически связанный с общими тенденциями в экономике и
общественной жизни России на длительный период. Современные системы и
средства информатики будут использоваться там, где
их применение диктуется естественными условиями развития данной
области, а не внедряться (в старом понимании внедрения) по каким-либо
навязываемым сверху программам и планам. Следовательно,
создание и/или модернизация существующих информационных, вычислительных и
управляющих систем будет происходить (и уже происходит)
одновременно на предприятиях, в организациях и учреждениях разных
регионов России в зависимости от конкретных условий потребности в
информационном обеспечении их деятельности и наличия ресурсов.
Управлять этим процессом на государственном уровне с помощью
программ или указаний невозможно. Однако в этих условиях тем более нужна
обоснованная государственная научно-техническая политика, выраженная в
виде стандартов и методических рекомендаций, которая обеспечила бы
информационный обмен между разными системами
в случае такой необходимости, доступ к информационным ресурсам
общего пользования и, в конечном счете, единое информационное
пространство общества России. Методологической основой этой
государственной научно-технической политики должна стать концепция
развития и применения открытых систем в условиях России и стандарты,
реализующие принципы открытых систем.
Длительный период эксплуатации и развития прикладных систем определяет необходимость обязательного учета возможности их эволюции по наращиванию функций, пополнению их информационного обеспечения силами пользователей (а не разработчиков систем), модернизации аппаратного и программного обеспечения. Поэтому следование принципам и стандартам открытости (в плане расширяемости) становится определяющим требованием для подавляющего большинства массовых систем. Исключение здесь могут составлять лишь отдельные классы специальных целевых систем, для которых ресурсные ограничения препятствуют реализации стандартов открытых систем, ибо надо давать себе отчет в том, что за открытость "надо платить" добавочными ресурсами, в первую очередь такими как производительность, объем памяти и т.д. В этом отношении особый интерес с точки зрения концепции открытых систем представляют системы реального времени, имеющие, как известно, ограничения на быстродействие.
В рыночной экономике, в процессе перехода к которой находится Россия, не может сохраняться диктат производителя над потребителем, определяемый монопольным положением первого. Прикладные системы должны иметь возможность использования аппаратных и программных средств разных поставщиков. Это означает необходимость следования стандартам открытых систем (в плане мобильности программного обеспечения применительно к разным аппаратным платформам). Следовательно, процесс информатизации России с точки зрения обеспечения средствами информатики необходимо сопровождать согласованным применением и реализацией стандартов открытых систем, учитывающих интересы четырех групп участников этого процесса: пользователей, разработчиков систем, производителей средств, разработчиков стандартов.
Ввиду значительной продолжительности и масштабов процесса информатизации России требуется поддержка этого процесса перспективными методологиями проектирования, создания и интеграции информационных систем. Необходимо обеспечить в условиях неизбежно децентрализованной одновременной разработки систем в разных регионах страны повторное использование информационных ресурсов, образованных в этих системах, так как объемы и ценность накопленных информационных ресурсов (баз данных, знаний, программ) велики и продолжают стремительно расти. Взаимосвязь первичных информационных ресурсов в распределенных системах обеспечивается технологией сетей ЭВМ или технологией систем передачи данных. В частности это связано с реализацией стандартов взаимодействия открытых систем по эталонной модели ИСО (см. раздел 1.2.1.1).
Что же касается вопросов организации среды информационных ресурсов, кооперативного их взаимодействия при решении задач, то для этого требуются специальные информационные технологии и специальные технические и программные средства. Поэтому весьма актуальной представляется разработка методологии и соответствующих программных средств для создания интероперабельных сред информационных ресурсов, использующих массовые средства вычислительной техники (ПЭВМ и рабочие станции). Многие прикладные системы информатизации России будут использовать опорные базы данных общего пользования (например, по населению, физическим и юридическим лицам, недвижимости, земельному Кадастру) как первичные информационные ресурсы. То же относится к информационным ресурсам государственной статистики, законодательным актам, системам научно-технической информации и другим системам массовых информационных услуг. Для таких банков данных и информационных систем требование соответствия стандартам открытых систем является необходимым и первоочередным с точки зрения всего процесса информатизации России.
Вхождение России в мировое экономическое и информационное сообщество определяет необходимость взаимодействия с международными организациями, доступа к международным банкам информационных ресурсов. В связи с этим при информатизации России обязательно должны учитываться международные стандарты и прежде всего стандарты открытых систем [38].
Таким образом, программа развития и применения открытых систем в России играет роль научной поддержки процесса информатизации и обоснования государственной научно-технической политики в этой области и принятия Государственного профиля открытых систем в России.
Как было видно при изложении Части I, в области открытых систем существует большая неопределенность в терминах и определениях. Поэтому один из первых проектов в рамках данной Программы должен быть направлен на упорядочение в этой сфере.
2.2. Системный анализ важнейших областей применения открытых
систем.
Системный анализ выделенных важнейших областей применения
необходим для того, чтобы получить обобщенные данные по состоянию
применения открытых систем в России в настоящее время, обобщить
требования потребителей, определить тенденции развития. Результаты этого
анализа должны составить базу концепции развития и применения открытых
систем в условиях России, в том числе исходные
данные для технико-экономических обоснований информатизации в
этих областях. Предполагается, что в рамках предложенных проектов,
будет сделан анализ по следующим аспектам:
2.3 Исследования международных базовых стандартов в области
информационных технологий, открытых систем и программной
инженерии с целью их применения в условиях России.
Как уже было сказано выше (п. 2.1), вхождение
России в мировое
экономическое и информационное сообщество определяет необходимость
взаимодействия с зарубежными, в том числе международными,
организациями, концернами и фирмами, доступа к международным банкам
информационных ресурсов. Учет международных стандартов, определяющих
правила обмена информацией, является обязательным условием развития
информатизации России. Участие России в международном разделении труда в
области создания систем и средств информатики также требует соблюдения
требований международных стандартов.
Как отмечалось в разделе 1.1.5, в области информационных технологий, открытых систем и программной инженерии международными организациями по стандартизации к настоящему времени разработаны и введены в действие более 1000 международных стандартов. Применение этих стандартов в условиях России требует проведения тщательного предварительного анализа.
В проектах данного раздела Программы предполагается провести исследование взаимосвязей существующих стандартов с точки зрения построения открытых систем, определение групп родственных стандартов в разрезе модели открытых систем, имея в виду обеспечить комплексный подход к их применению.
Чрезвычайно важным представляется анализ реализуемости международных стандартов в условиях России, с учетом специфики этих условий (например, специфики каналов связи, используемых для обмена информацией, необходимости использования существующей технической базы информатизации, накопленных информационных ресурсов). Предполагается также проработать задания и мероприятия, которые нужно будет проводить для внедрения и реализации международных стандартов в разработках открытых систем и необходимых для них средств информатики.
Методологические работы по исследованию и анализу международных стандартов будут организованы в разрезах: основных областей применения открытых систем (см. п. 2.2) и базовых аппаратно-программных платформ (см. п. 2.5). Результаты этих исследований составят базу научного обоснования конкретных работ по стандартизации открытых систем в России.
2.4 Исследование и разработка профилей стандартов открытых
систем для основных областей применения.
Данный раздел программы предусматривает исследования и разработку
профилей стандартов открытых систем для основных областей
применения по аналогии с APP США (см. раздел
1.3.3), в том числе
Государственного профиля открытых информационных систем. Эти разработки
базируются на результатах работ, указанных в разделах 2.2
и 2.3.
Профиль стандартов определяет спецификации протоколов и интерфейсов, составляющих структуру открытой системы. Профиль включает набор согласованных между собой стандартов, охватывающих взаимодействие аппаратных и программных компонент системы. Для построения профиля структура системы разбивается, по крайней мере, на 3 уровня: прикладные программы и комплексы программ, операционная среда и аппаратная платформа, между которыми определяются правила взаимодействия. На каждом из этих уровней определяются типы взаимодействующих функциональных компонент в соответствии с принятой моделью открытых систем (например, MUSIC): интерфейсы с пользователем и внешней для системы средой, системы программирования, управление прохождением задач, управление данными, коммуникации. Для каждой из выбранных областей применения структура открытых систем и модель функциональных компонент определяются конкретно, в зависимости от характера решаемых задач, назначения и принципов построения системы. При этом используются общие методологические рекомендации по моделям открытых систем и известные разработки профилей, например, только что упомянутый профиль АРР (профиль переносимых приложений), принятый для государственных учреждений США (см. раздел 1.3.3).
Результаты работ по данному разделу представляются как предложения по принятию государственных стандартов Российской Федерации с обоснованием статуса их распространения и сферы действия (например, как обязательные для применения при построении и развитии информационных систем госучреждений и как рекомендуемые для использования при информатизации коммерческих структур).
Как отмечалось в разделе 1.3, функциональные профили стандартов или наборы стандартов для конкретной прикладной области служат стержневой нормативной базой при создании открытых систем. В связи с этим и в рамках данной программы основное внимание должно быть уделено вопросам построения профилей, в том числе:
Классификация профилей должна быть проведена по вертикали:
Кроме вертикального разреза должен быть сделан разрез "по горизонтали" - построение профилей для различных отраслей народного хозяйства.
Обязательными и наиболее важными профилями на Федеральном уровне должны быть Российский правительственный профиль переносимости приложений (аналог Application Portability Profile правительства США), а также Российский правительственный профиль взаимодействия открытых систем (аналог GOSIP разных стран). Работа над GOSIP в России уже ведется в ряде организаций: Московском научно-исследовательском центре, НПК "Автоматика" г. Омск.
Методика построения профилей должна быть разработана, в основном, специалистами в области информационных технологий (при ведущей роли специалистов институтов ОИВТА РАН) и должна быть документирована в виде стандартов, руководств и других материалов подобно тому, как это сделано в международной практике.
Крайне желательно для построения сложных профилей предложить и использовать формализованные методы с привлечением аппарата оптимизации, экспертных систем, теории графов и др. Насколько известно , такие методы применительно к построению профилей на Западе до сих пор не развивались. Безусловно, целесообразность такого подхода должна быть проанализирована и обоснована. Представляется однако, что при наличии более 1000 международных стандартов задача построения профилей нуждается в информационной и программной поддержке.
Методы формализации должны быть также привлечены для доказательства полноты профилей и гармонизации входящих в него стандартов.
Должны быть также разработаны методики и соответствующие документы, позволяющие использовать профили для:
В предельном случае документы по профилям должны быть доведены до уровня национальных стандартов и соответствовать международным.
При разработке профилей всех уровней надо самым тесным образом привлекать руководство, администрацию, управленческий персонал и специалистов всех уровней - от уровня аппарата Президента РФ, Госдумы, Министерства экономики и его департаментов до отраслей, предприятий, а также специалистов по информатизации фирм, объединений и других коммерческих структур.
2.5 Разработка технических требований к аппаратным и программным
средствам открытых систем.
В открытых системах могут применяться разные аппаратно-программные
платформы в зависимости от характера и сложности задач,
которые необходимо решать. Классы этих платформ охватывают: персональные
компьютеры, рабочие станции, микро и мини-ЭВМ и управляющие,
информационно-измерительные комплексы на их базе, универсальные ЭВМ и
системы обработки данных, высокопроизводительные
вычислительные системы вплоть до супер-ЭВМ. Кроме того, распределенные
информационные и вычислительные системы базируются на
аппаратно-программных средствах и сетях передачи информации.
Указанные средства могут быть изготовлены разными поставщиками. Они могут включаться в гетерогенные системы. Поэтому весьма актуальной является задача унификации технических требований к этим средствам, согласование этих требований на основе идеологии и стандартов открытых систем.
Разрабатываемые в данном разделе программы технические требования будут распространяться как на отечественные разработки оборудования и программного обеспечения, так и на средства, приобретаемые для реализации прикладных систем по импорту.
Разработка требований будет опираться на результаты работ по системному анализу применений, анализу реализуемости международных стандартов в условиях России, обоснованию и выбору профилей открытых систем для основных областей применения. В процессе этой работы предполагается проработка компромиссных решений по согласованию интересов пользователей систем и поставщиков аппаратных и программных средств.
Технические требования в виде профилей стандартов применительно к разным аппаратно-программным платформам предполагается сформулировать в разрезе функциональных ролей этих платформ в открытых системах: среда рабочих станций, среда серверов процессов, среда серверов данных, среда транзакций, среда реального времени, среда суперкомпьютеров.
2.6. Разработка концепции развития и применения открытых
систем в условиях России.
Комплексный проект, направленный на разработку концепции
развития и применения открытых систем в условиях России, должен
содержать, в основном, технические и технологические аспекты
построения открытых систем. Разработку этого проекта предполагается
проводить параллельно с работами по системному анализу важнейших
областей применения, анализу применения и реализации международных
стандартов с учетом специфики условий России, обоснованию и выбору
профилей стандартов открытых систем и выработке
требований к аппаратно-программных платформам.
Результаты указанных выше проектов будут отражены в концепции с тем, чтобы обеспечить необходимыми методологическими и техническими материалами все группы участников процесса информатизации России: пользователей, проектировщиков систем, разработчиков и поставщиков аппаратных и программных средств. Предполагается, что в процессе разработки концепции будет проведена работа по согласованию противоречивых интересов указанных групп организаций и предприятий.
2.6.1. Содержание концепции.
Проект будет определять выбор концептуальной модели открытых
систем и ее конкретизацию применительно к классам решаемых задач,
способам представления информации, применяемым информационным
технологиям в разрезе основных областей применения.
В соответствии с выбранной моделью (моделями) открытых систем в концепции будут также определены критерии и методы оценки открытости (т.е. уровень взаимодействия систем/подсистем и компонент) с учетом ограничений, которые налагаются необходимостью использования существующих информационных и технических ресурсов. При этом будут указаны способы преодоления известных ограничений открытости ( при использовании, например, платформ ЕС ЭВМ, СМ ЭВМ) и необходимые для этой цели разработки.
В концепции развития и применения открытых систем применительно к специфике условий России предусматривается проработка технических решений по всем группам компонент открытых систем:
Концепция предусматривает также освещение вопросов программной инженерии в части методологии и средств проектирования открытых систем. В этой части будут проанализированы и рекомендованы CASE-технологии, поддерживающие все этапы жизненного цикла открытых систем: формализацию требований пользователя и спецификации функций прикладной системы, описание модели предметной области, проектирование и прототипирование системы, детальное проектирование отдельных элементов на основе повторного использования программных конструктивов, кодирование, тестирование компонент и системы в целом, документирование.
При разработке концепции предполагается учитывать перспективные тенденции 90-х годов, связанные с интеграцией различных способов представления информации (мультимедиа-технологии), интеграцией автономных систем и подсистем в комплексные интегрированные системы, обслуживающие учреждения или предприятия, интеграцией информационных и телекоммуникационных систем. Актуальным представляется также развитие и реализация объектно-ориентированного подхода в средствах проектирования информационных моделей предметных областей, объектно-ориентированных систем программирования и баз данных, объектно-ориентированных операционных систем.
Детализацию материалов данного проекта предполагается довести до такого уровня, который позволит использовать концепцию как методологическое и техническое руководство при создании и развитии открытых систем в России, как своего рода "белую книгу" по средствам и системам информатизации.
2.6.2. Интеграция средств в неоднородных открытых системах.
Одним из главных вопросов развития и применения открытых
систем в России является обеспечение интеграции ЭВМ, рабочих
станций, абонентских ПЭВМ и соответствующих программных продуктов
различных производителей путем "прозрачного" использования и работы со
всеми основными протоколами локальных и глобальных сетей,
реализованных различными физическими способами: волоконно-оптические
линии, коаксиальные кабели, телефонные линии (сети), высокоскоростные
последовательные интерфейсы, локальные сети [30,
39].
Это вопрос комплексный, требующий серьезного обсуждения и разработки. Он, по сути своей, является центральным для обеспечения возможности использования разнородных структур, причем разнородных как на уровне оконечных программно-аппаратных средств, так и на уровне систем связи и передачи данных.
Дальнейшим развитием такого базового подхода является создание технологий, ориентированных на независимость прикладных программ от способов конкретных реализаций информационных вычислительных систем.
2.6.2.1. Основные стандарты транспортного и прикладного
уровней.
Предполагается, что средства передачи информации, составляющие базу
неоднородных открытых систем в России, должны удовлетворять требованиям
стандартов транспортного и прикладного уровней.
Прежде всего - это удовлетворение стандартам МККТТ Х.25, Х.75, электронной почты (Х.400-Х.420, Х.500), обмена деловой информацией (Х.435, F.435) и ряду других. Система передачи данных (СПД) такой сети должна поддерживать функцию обмена данными при максимальном обмене большими массивами структурированной информации и управление файлами территориально удаленных ресурсов с целью просмотра, манипулирования их атрибутами в соответствии с международными требованиями, предъявляемыми к таким службам - ASCCI и др. (доприем, допередача при разрыве сетевых соединений, обеспечение ряда уровней доступа, просмотр текущей информации, сбор статистики о работе и др.).
В СПД должны поддерживаться телематические службы: обмен графическими и полутоновыми изображениями в цифровом виде, звуковой информацией, телекс, телетекс, факс (телефакс), видеотекс (Т.100, Т.101 и др.).
2.6.2.2. Ориентация на широкий спектр оконечных вычислительных и
сетевых средств различных архитектур.
Системы должны быть рассчитаны на широкий перечень используемого
оконечного аппаратно-программного вычислительного оборудования
наиболее популярных архитектур, а также сетеобразующего
оборудования: центры коммуникации пакетов, пункты управления
сетью, пакетные адаптеры, шлюзы, модемы, интеллектуальные адаптеры
локальных сетей и т.д..
2.6.2.3. Интегрированное включение в открытую сеть первичных
каналов и сетей связи.
Анализ состояния и перспектив развития связи в России приводит к
целесообразности использования всех доступных каналов и сетей связи и
передачи данных, обеспечение возможности комплексного
использования различных сетей и каналов связи - первичной сети на
основе аналоговых и цифровых систем связи, организованных в кабельных,
радиорелейных, оптоволоконных, тропосферных и спутниковых линиях связи;
вторичных сетей с коммутацией каналов, в том
числе ОГСТФС, "Искра", выделенной коммутируемой цифровой (ВЦКС,
затем ЕНЦ ССИО); сети абонентского телеграфирования; ведомственных и
коммерческих систем спутниковой связи; ведомственных и коммерческих сетей
ПД и документального обмена с коммутацией пакетов
и сообщений; систем радиотелеграфной связи с подвижными и стационарными
объектами.
2.6.2.4. Направление дальнейшего развития единой модели
взаимодействия в интересах неоднородных открытых систем. Базовый
механизм распределенных вычислений.
Следующим особо принципиальным вопросом данной проблемы является
вопрос реализации в условиях России и дальнейшего развития
модели открытых систем OSI/ISO.
Он наиболее принципиален потому, что именно здесь дается конструктивное решение вопроса обеспечения сетевой поддержки разнородных сетевых и вычислительных средств, решение вопросов сетевого и межсетевого взаимодействия, информационно-логического сопряжения и ряд других.
Решение такой сложной задачи практически уже осуществляется в рамках ONC и представляется, что нам целесообразно творчески принять и адаптировать эту концепцию.
Концепция должна определять модульный настраиваемый набор сетевых протоколов и услуг, позволяющий организовать взаимодействие и распределенные вычисления в разнородной сети.
В частности, подлежат анализу:
Важно учитывать, что в дополнение к известному механизму NFS (прозрачный доступ к удаленным файловым системам по сети) предложен протокол RPC (вызов удаленной процедуры, инструкция в программе для выполнения на удаленной ЭВМ) и протокол XDR (переход на внешнее сетевое представление данных, машинно-независимый сетевой стандарт).
Такой механизм реализован в OC UNIX SVR4. Большинство производителей ЭВМ и локальных сетей (включая Novell) перешли на этот стандарт де-факто.
2.6.2.5. Безопасность, защита данных в открытых системах.
Следующий вопрос, касающийся проблемы открытых сетей - защита
данных. Эта проблема здесь особенно актуальна, поскольку сама
природа открытых сетей, интегрированно использующая все виды физических
средств от сетей связи до вычислительных средств, исключает аппаратную
ограниченность подсетей, подсистем т.п. как метода обеспечения защиты
данных. Здесь мы имеем дело с функциональной ограниченностью,
виртуальными подсетями и т.п. В этой связи
защита и обеспечение безопасности данных в открытых системах
должна базироваться на принципиально иной концепции, отличной от
ранее применявшихся методов. В этом вопросе также нет необходимости
искать неапробированные решения. Практика создания и широкого
использования ряда коммерческих сетей и международный опыт
подсказывают пути решения. Это гарантированная защита данных путем
шифрования с передачей данных по "открытым" каналам, использование
цифровой подписи, регистрация обращений и сеансов обмена,
предотврашение несанкционированого доступа, переход на международные
протоколы (например, PPC, применение программных и
программноаппаратных методов шифрования, использование "открытых"
ключей, генерация и пересылка ключей для пар абонентов (направлений),
пароли на уровне почтамтов и модемов с обратным вызовом
абонентов и многое другое). Критерием должна быть 100-процентная
гарантированная доставка сообщений по назначению, исключающая перехват,
искажение, расшифровку, обеспечивающая достоверность передачи данных не
хуже 10-12.
Как отмечалось в разделе 1.6, проблемы защиты информации касаются и операционных систем.
2.6.3. Распределенные вычисления, концепция ABI.
Конечной целью сетевых распределенных вычислений в открытой
неоднородной сети является машиннонезависимость прикладных программ и
информационно-вычислительных процессов, реализуемых ими. В
конце концов, все вышеперечисленное делается ради этого. С этой
целью необходимо специфицировать взаимодействие прикладных программ с
ОС, специфицировать вычислительную среду - системные вызовы,
библиотеки, файлы, форматы, последовательность вызовов и
подпрограмм, определить базовую ОС и др.
В качестве базы для такого подхода целесообразно использовать т.н. спецификацию взаимодействия прикладных программ с ОС ABI (Application Binary Interface). В ABI ряд стандартов - спецификаций: базовая (общая) и машиннозависимая. Базовая - одинаковая для всех архитектур (форматы файлов, структура файловой системы, системные команды, оконная система) и машинно-зависимая (элементы интерфейса - внутреннее представление данных в ЭВМ, последовательность вызова подпрограмм, способ доступа к системной информации, взаимодействие с ОС и др.)
2.6.4. О концепции управления в открытых неоднородных сетях.
Последний вопрос, касается менеджмента, управления в открытых
системах, администрирования, управления ресурсами и т.п.
вопросов. Это наиболее слабо разработанная проблема, не имеющая
пока четко выраженного прототипа.
Некоторые предпосылки, расширяющие функции управления ресурсами и вытекающие из возможностей ABI, - взаимодействие процессов через общую память, поддержка файлов своппингом, реализация на одной машине различных файловых систем (виртуальный файл).
Ретроспективный анализ принципов сетевого управления приводит к следующей динамике их развития: равноправный межпрограммный доступ (свойственно, в основном, однородным структурам), клиент-серверный принцип, его развитие на случай множественных функциональных серверов (специализация отдельных или групп функций). В неоднородных сетях мы снова повторим этот цикл развития принципов управления, вернувшись на новой уже основе к равноправному управлению в сети, причем управлению на уровне вычислительных процессов.
Поскольку интегрированная система в общем случае может реализовать множество таких процессов, возникает вопрос о том, как будут распределяться ресурсы сети в конкретных ситуациях.
Нам представляется, что это непростая научно-техническая проблема, имеющая своей целью оптимизацию производительности сети, времени ответа (или других критериев). Можно предположить, что ее решение будет базироваться на фиксации информации о состоянии ресурсов. Такая задача управления будет реализоваться децентрализованно, на основе обработки соответствующих статистических или эвристических рекомендаций, установок, получаемых путем накопления статистических данных о состоянии ресурсов, измерений показателей вычислительного процесса, самообучения и корректировки стратегии управления в конкретных ситуациях. Возможно, к выработке этой стратегии будут привлечены методы ситуационного моделирования, работающие на реальных статистических данных процессов и предназначенные для обучения соответствующих эталонов, с использованием которых осуществляется принятие решений.
Указанные направления предполагается более детально осветить в материалах концепции.
2.7. Создание методологии и инструментальных средств поддержки
проектирования открытых систем.
2.7.1. Языки и системы программирования.
Стандартизация языков программирования (а также примыкающих
к ним языков баз данных) исключительно важна для обеспечения мобильности
прикладных систем, свойственной открытым системам. Остановимся сначала
на тех языках программирования, для которых существуют международные
стандарты и соответствующие стандартам реализации.
Из семейства языков, обеспечивающих средства определения типов данных, стандартизован только язык Ада. Соответствующий стандарт имеет номер ISO 8652. Помимо прочего, язык Ада включает развитые средства образования и управления параллельными процессами и используется главным образом при проектировании, программировании, отладке и сопровождении систем реального времени.
Стандартизован простой и популярный среди непрофессионалов язык Бейзик (ISO 6373). Специфика языка приводит к его реализации в виде интерпретатора.
Один из наиболее популярных в настоящее время язык программирования Си определен стандартом ISO 9899. Хотя язык Си вышел на мировой рынок вместе с ОС UNIX, в настоящее время он широко используется в среде большинства аппаратно-программных платформ, начиная от персональных компьютеров и заканчивая суперкомпьютерами.
Старый, но все еще использующийся язык Кобол 85 имеет стандарт ISO 1989. Его использование, по-видимому, объясняется не какими-либо выдающимися качествами языка, а исторической распространенностью в мире бизнеса.
Широко распространенный в среде научных работников, связанных с численными расчетами, язык Фортран имеет стандартную версию Фортран 77 (ISO 1350). Ведется работа по выработке международного стандарта следующего поколения языка - Фортран 9х.
Красивый и популярный среди преподавателей ВУЗов и любителей структурного программирования язык Паскаль давно стандартизован (ISO 7185). Однако следует заметить, что стандарт этого языка содержит так много не полностью определенных свойств, что реализации языка существенно различаются между собой.
Наконец, имеется стандарт языка ПЛ/1. Этот сильно перегруженный и некрасивый язык продолжает использоваться на машинах основного класса фирмы IBM.
Ведется работа по стандартизации других популярных языков, в том числе, Си++, Common LISP, Пролог. Видимо, наиболее актуальной является стандартизация Си++. Этот язык все более широко распространяется, и отсутствие стандарта приводит к появлению плохо совместимых реализаций.
Эти языки программирования являются первоочередными с точки зрения стандартов РФ, хотя спектр этих вопросов для анализа много шире.
2.7.2. Интерфейс мобильной операционной системы для компьютерных
сред (POSIX)
Определение точных решений по операционным системам, совместимым с
ОС UNIX, весьма важно для всей программы развития и применения открытых
систем в России.
Первая рабочая группа POSIX (Portable Operating System Interface) была образована в IEEE в 1985 г. на основе UNIX-ориентированного комитета по стандартизации (ныне UniForum). Отсюда видна первоначальная направленность работы POSIX на стандартизацию интерфейсов ОС UNIX. Однако постепенно тематика работы рабочих групп POSIX (а со временем их стало несколько) расширилась настолько, что стало возможным говорить не о стандартной ОС UNIX, а о POSIX-совместимых операционных средах, имея в виду любую операционную среду, интерфейсы которых соответствуют спецификациям POSIX.
В настоящее время функционируют и регулярно выпускают документы следующие рабочие группы POSIX.
POSIX 1003.0. Рабочая группа, выпускающая "Руководство по POSIX-совместимым средам Открытых Систем". Это руководство содержит сводную информацию о работе и текущем состоянии документов всех других рабочих групп POSIX, а также других тематически связанных организаций по стандартизации интерфейсов Открытых Систем.
POSIX 1003.1. Интерфейсы системного уровня и их привязка к языку Си. В документах этой рабочей группы определяются обязательные интерфейсы между прикладной программой и операционной системой. С выпуска первой версии этого документа началась работа POSIX, и он в наибольшей степени связан с ОС UNIX, хотя в настоящее время интерфейсы 1003.1 поддерживаются в любой операционной среде, претендующей на соответствие принципам Открытых Систем. Заметим, что несмотря на очевидную важность 1003.1, в документе отсутствуют спецификации многих важных интерфейсов, в частности, интерфейсы системных вызовов, обеспечивающих межпроцессные взаимодействия.
POSIX 1003.2. Shell и утилиты. Рабочая группа специфицирует стандартный командный язык shell, основанный главным образом на shell Борна (Bourne shell), но включающий некоторые черты shell Корна (Korn shell). Кроме того, в документах этой рабочей группы специфицировано около 80 утилит, которые можно вызывать из процедур shell или прямо из прикладных программ. В документах серии 1003.2a описываются дополнительные средства, позволяющие пользователям работать с системой с помощью только ASCII-терминалов.
POSIX 1003.3. Общие методы проверки совместимости с POSIX. Целью рабочей группы является разработка методологии проверки соответствия реализаций стандартам POSIX. Документы рабочей группы используются в различных организациях при разработке тестовых наборов.
POSIX 1003.4. Средства, предоставляемые системой для прикладных программ реального времени. В соответствии с определением 1003.4 системой реального времени считается система, обеспечивающая предсказуемое и ограниченное время реакции. Работа ведется в трех секциях: файловые системы реального времени, согласованные многопотоковые (multithread) архитектуры, а также в секции, занимающейся такими вопросами, как семафоры и сигналы.
POSIX 1003.5. Привязка языка Ада к стандартам POSIX. В документах этой рабочей группы определяются правила привязки программ, написанных на языке Ада, к системным средствам, определенным в POSIX 1003.1.
POSIX 1003.6. Расширения POSIX, связанные с безопасностью. Разрабатываемый набор стандартов базируется на критериях министерства обороны США и будет определять безопасную среду POSIX.
POSIX 1003.7. Расширения, связанные с администрированием системы. Стандарт, разрабатываемый рабочей группой, будет определять общий интерфейс системного администрирования, в частности, разнородных сетей. Отправной точкой является модель OSI.
POSIX 1003.8. Прозрачный доступ к файлам. Будут обеспечены интерфейсы и семантика прозрачного доступа к файлам, распределенным в сети. Работа основывается на анализе существующих механизмов: NFS, RFS, AFS и FTAM.
POSIX 1003.9. Привязка языка Фортран. Определяются правила привязки прикладных программ, написанных на языке Фортран, к основным системным средствам.
POSIX 1003.10. Общие черты прикладной среды суперкомпьютеров (Application Environment Profile - AEP).
POSIX 1003.11. Общие черты прикладной среды обработки транзакций (On-line Transaction Processing Application Environment - OLTP).
POSIX 1003.12. Независимые от протоколов коммуникационные интерфейсы. Разрабатываются два стандартных набора интерфейсов для независимых от сетевых протоколов коммуникаций "процесс-процесс". Результаты должны обеспечивать единообразную работу с TCP/IP, OSI и другими системами коммуникаций.
POSIX 1003.13. Общие черты прикладных сред реального времени.
POSIX 1003.14. Общие черты прикладных сред мультипроцессоров. Помимо прочего, должны быть предложены соответствующие расширения стандартов других рабочих групп.
POSIX 1003.15. Расширения, связанные с пакетной обработкой. Определяются интерфейсы пользователя и администратора и сетевые протоколы для пакетной обработки.
POSIX 1003.16. Привязка языка Си. Задача проекта, выполняемого реально рабочей группой 1003.1, состоит в выработке правил привязки международного стандарта языка Си (ISO 9989) к независимым от языка интерфейсам, определяемым POSIX 1003.1-1990 (ISO 9945-1).
POSIX 1003.17. Справочные услуги и пространство имен. Задачей рабочей группы является анализ и выработка рекомендаций по работе со справочниками и пространством имен в контексте X.500.
POSIX 1003.18. Общие черты среды POSIX-платформы. В одном документе должны быть специфицированы основные характеристики интерактивной многопользовательской прикладной платформы, соответствующей стандартам POSIX. Работа выполняется группой 1003.1.
Все указанные материалы POSIX необходимо проанализировать с точки зрения их распространения и реализации в России.
2.7.3. Создание методологии и инструментальных средств поддержки
проектирования открытых систем.
Этот раздел программы должен включать проекты, охватывающих
наиболее существенные аспекты поддержки проектирования открытых
систем. К ним относятся:
Набор этих средств позволит обеспечить пользователей и проектировщиков прикладных систем современным инструментарием, позволяющим значительно сократить сроки создания этих систем, повысить качество проектов.
2.8. Разработка методов и средств тестирования, аттестации,
верификации, измерения производительности.
В этом разделе программы представлены работы, связанные с
созданием нормативной базы в области открытых систем, отвечающей
международным требованиям и рекомендациям. Имеется в виду определение
концептуальных принципов стандартизации в области открытых
систем, разработка комплекса стандартов России, рекомендаций и
методических материалов, определяющих развитие и применение открытых
систем. Одновременно предлагается разработать методику сертификации
информационных технологий и программных средств на соответствие
указанной выше нормативной базе. Предусмотрены также
мероприятия по созданию и поэтапному введению в действие системы
сертификации в области открытых систем, в том числе сети испытательных
аттестационных центров и органов сертификации [40]. При
реализации этих мероприятий предполагается учитывать уже принятые
решения по сертификационным центрам средств вычислительной техники и
передачи данных.
2.8.1. Подготовка рекомендаций по национальным стандартам на
программные и аппаратные интерфейсы открытых систем,
соответствующие международным.
Работы международных и зарубежных организаций по стандартизации в
области открытых систем охарактеризованы в разделе
1.7.
Ведущее место в области стандартизации открытых систем принадлежит Совместному техническому комитету СТК-1 (JTC-1) "Информационная технология" Международной организации по стандартизации (ИСО), Международной электротехнической комиссии (МЭК), а также Международному консультативному комитету по телефонии и телеграфии (МККТТ). В частности ИСО выдвинула научно-обоснованную концепцию взаимосвязи открытых систем (ВОС), согласно которой вычислительные и информационные системы могут взаимодействовать друг с другом с помощью сети передачи данных. Методологической основой стандартизации в области ВОС является семиуровневая базовая эталонная модель ВОС, предложенная ИСО совместно с МККТТ. Еще раз отметим, что разрабатываемые в рамках ИСО/МЭК СТК-1 документы образуют взаимоувязанный комплекс так называемых "базовых стандартов", которые для сложных объектов по составу требований "многовариантны" и при конкретной реализации ставят перед разработчиками проблему выбора варианта применения стандарта в реальной системе в части выбора различных протокольных классов, режимов работы, подмножеств процедур, набора и значений параметров, факультативных возможностей и других альтернатив.
Для устранения определенного противоречия между мультивариантностью базовых стандартов и необходимостью выбора конкретного подмножества для реальных систем в ИСО/МЭК СТК-1 была разработана концепция многоэтапной функциональной стандартизации, в соответствии с которой весь процесс стандартизации в области открытых систем подразделяется на следующие этапы:
ИСО при участии МККТТ, ЭКМА и других организаций опубликовала свыше 300 международных стандартов и дополнений к ним по ВОС, протоколам и услугам для отдельных уровней базовой эталонной модели ВОС. В России утверждено и находится в стадии разработки свыше 80 международных стандартизированных профилей ВОС. Работы по созданию стандартов профилей для конкретных проблемно-ориентированных областей применения практически не начаты.
В 1993 году были утверждены основополагающие государственные стандарты Российской федерации ГОСТ Р ИСО/МЭК ТО 10000-1-93 и ГОСТ Р ИСО/МЭК ТО 10000-2-93, определяющие структуру и таксономию международных стандартизированных профилей.
Одна из важных задач, которая ставится при разработке международных функциональных стандартов на профили, состоит в том, чтобы создать основу для разработки международно признанных комплектов аттестационных тестов, т.е. тестов, определяющих соответствие конкретной реализации протоколов требованиям стандартов. В 1993 году было разработано и утверждено 5 государственных стандартов Российской Федерации по методологии и структуре аттестационного тестирования ГОСТ Р ИСО/МЭК 9646-1-93 - ГОСТ Р ИСО/МЭК 9646-5-93, определяющих:
Кроме 360 международных стандартов по ВОС, в рамках ИСО находятся в стадии разработки свыше 430 стандартов по различным направлениям информационных технологий.
В России, как и во всех развитых странах мира, следует принять прямое внедрение международных стандартов открытых систем в национальные стандарты, обеспечив практическую реализацию положений этих стандартов в средствах вычислительных систем и сетей везде, где это возможно.
Как уже говорилось, в настоящее время в области открытых систем в России разработано около 80 государственных стандартов, соответствующих требованиям международных стандартов, что свидетельствует о крайне низких темпах работ по применению международных стандартов открытых систем в стране. Это объясняется рядом причин, к важнейшим из которых следует отнести следующие:
Создавшаяся ситуация определяет необходимость активизации работ по созданию национальной нормативной базы в области открытых систем, разработке государственного профиля развития и применения открытых систем. Представляется целесообразным на первом этапе сосредоточить усилия на введении в России базовых и функциональных стандартов открытых систем, с учетом реальных условий применения этих стандартов и исходя из конкретных областей применения открытых систем и международного опыта в этой области.
Нормативная база в области открытых систем должна включать в себя комплекс взаимоувязанных государственных стандартов.
В связи с изложенным в составе данной Программы представлены проекты, реализация которых обеспечит создание и внедрение в стране нормативной базы в области открытых систем, отвечающей международным требованиям, развитие работ по аттестационному тестированию и сертификации средств вычислительных систем и сетей, организацию информационного обслуживания разработчиков и пользователей систем.
2.8.2 Создание и поэтапное введение в действие "Системы сертификации
в области открытых систем",
в том числе:
Предлагается создать и поэтапно ввести в действие распределенные базы данных (аннотированные, полнотекстовые, тематические, проблемноориентированные) в области открытых систем с тем, чтобы обеспечить оперативное и мобильное информационное обслуживание исследователей, разработчиков средств, проектировщиков и пользователей систем.
В настоящее время имеются базы данных аннотаций и содержания международных стандартов по тематическим направлениям информационных технологий, где описаны около 600 документов [41].
Должны быть созданы базы данных с удаленным доступом к ним по:
Одновременно предлагается создать сеть консультационных и обучающих региональных центров открытых систем и обеспечить электронный обмен данными между ними.
Кроме того, предлагается создать информационно-телекоммуникационную систему для обмена информацией по продуктам Free Software Foundation, спецификациям public domain для открытых систем, работающую на базе средств спутниковой и междугородней связи с доступом к банкам данных этого профиля в США, ФРГ и других странах.
Предусмотрена разработка учебно-методических материалов по открытым системам, перевод и издание руководств ведущих западных фирм.
Необходимо систематически проводить конференции и семинары по проблеме, осуществлять телеконференции. Шире использовать периодические издания, такие как журналы " Открытые системы" и "Re- ad me".
2.10. Исследование направлений развития открытых систем;
разработка новых компонент, отвечающих концепции развития и применения
открытых систем.
Область открытых систем является объектом активных исследований
мирового сообщества в информатике на 90-е годы. Предлагаемый раздел
Программы развития и применения открытых систем в России направлен на
исследования и разработки перспективных методов
и средств открытых систем. Результаты проектов этого раздела
программы должны определить пути развития открытых систем в России и
составить вклад российской науки в проблематику открытых систем.
2.10.1. Интероперабельные среды неоднородных информационных
ресурсов.
Информационными ресурсами являются разнообразные компьютеризованные
представления данных и программ, накопленные в различных
вычислительных и информационных системах. В качестве примеров
информационных ресурсов можно привести базы данных, файлы данных (в
том числе мультимедиа), пакеты программ, базы знаний, транзакции.
Число, объем и ценность накопленных обществом информационных ресурсов
велики и продолжают стремительно расти. В процессе информатизации
общества необходимо максимально использовать существующие информационные
ресурсы. Основной проблемой повторного использования таких ресурсов
является преобразование данных и/или программ, составляющих ресурсы, в
информацию, необходимую для решения
некоторой конкретной задачи человеком или другой программой.
Технологии сетей передачи информации и сетей ЭВМ обеспечивают доступ к информационным ресурсам. Однако, требуется создать специальные теории, методы и технологии, которые позволяли бы находить имеющиеся в сети ресурсы, информационно релевантные решаемой задаче, создавать композиции ресурсов, вырабатывающие результаты, правильные в контексте этой задачи. Конечной целью работ в этом направлении является создание методов и средств поддержки интероперабельных сред информационных ресурсов.
Отличительными чертами интероперабельных сред являются:
Предлагаемые исследования и разработка интероперабельных средств информационных ресурсов включают:
2.10.2. Поддержка открытых систем средствами
объектно-ориентированного проектирования программирования.
Объектно-ориентированный подход к созданию программных систем
характеризуется следующими основными принципами:
Свойства объектно-ориентированных средств: инкапсуляция (скрытые реализации), полиморфизм (многозначность сообщений, означающая различные понимания одинаковых сообщений объектами, принадлежащими различным классам), динамическое связывание (определение значений имен-областей памяти данных и текстов программ для процедур во время выполнения программы), абстрактные типы данных, наследование - позволяют обеспечить эффективную поддержку открытости систем.
Мобильность. Инкапсуляция позволяет скрыть машинно-зависимые компоненты системы, которые при переходе на другую аппаратную платформу должны быть реализованы заново. Остальная часть системы при этом не требует изменений. При реализации новых машинно-зависимых частей многое может быть взято из уже существующей системы, благодаря механизму наследования.
Расширяемость. Наследование позволяет экономить значительные расходы при расширении систем, т.к. многое не нужно создавать заново, а некоторые новые компоненты можно получить, лишь слегка изменив старые. Кроме повторного использования при этом увеличивается надежность программ, поскольку используются уже отлаженные компоненты.
Интероперабельность. Взаимодействие данной системы с другими системами поддерживается механизмом посылки сообщений, свойствами полиморфизма и динамического связывания. Для того, чтобы разные системы могли обмениваться сообщениями, необходима либо единая трактовка всех типов данных, в том числе абстрактных, либо процедура преобразования сообщений, своя для каждой пары взаимодействующих неодинаковых систем. Простота понятия абстрактных типов данных в объектно-ориентированных системах существенно облегчает разработку таких процедур.
Дружественность. Удобство взаимодействия человека с системой (настраиваемый интерфейс пользователя) обеспечивается сочетанием всех трех указанных выше качеств: мобильностью, необходимой при смене старых и появлении новых устройств, в частности средств мультимедиа, расширяемостью в части программной поддержки новых парадигм общения человека с машиной, интероперабельностью, дающей возможность рассматривать человека как другую систему, с которой данная открытая система взаимодействует.
В предлагаемом разделе программы не планируется вводить все аспекты реализации объектно-ориентированного подхода. Здесь будут представлены проекты, направленные на комплексное представление этой парадигмы и взаимосвязанную проработку методов представления информационных моделей предметных областей, методов проектирования и прототипирования информационных систем, объектно-ориентированных систем программирования, объектно-ориентированных баз данных и операционных систем. Результаты проектов могут быть представлены в виде исходных данных для создания новых программных и аппаратных средств открытых систем.
2.10.3. Средства комплексирования.
Третье направление развития открытых систем составляют
средства комплексирования, которые необходимо разрабатывать в
связи с предстоящей реализацией принципов открытых систем. В
частности, для области автоматизации научных исследований требуются
средства комплексирования систем, построенных на основе интерфейсов
VME и VXI, с системами, имеющими другие интерфейсы и протоколы.
2.11. Создание представительных пилотных систем.
Проекты данного раздела программы связаны с созданием действующих
систем, на примере которых обеспечивается практическая
апробация предлагаемых принципов и профилей стандартов открытых
систем, в том числе, распределенных информационно-вычислительных
систем обработки экспериментальных данных, сосредоточенных
контрольно-измерительных систем автоматизации научных исследований,
информационных систем, содержащих базы знаний и базы данных по
некоторым областям науки.
Выбранные для этого раздела системы позволят осуществить практическую аппробацию предлагаемых принципов и профилей стандартов открытых систем.
Кроме того, выбор систем учитывает наличие богатых сведений, которыми располагают институты РАН в своих областях, с точки зрения возможного интереса к ним ученых западных стран при обеспечении взаимодействия с соответствующими международными базами данных Европы, США, Канады, Японии.
2.12. Координация с другими программами.
Программа "Развитие и применение открытых систем" не дублирует
существующие Государственные научно-технические программы.
Они направлены на разработки прикладных систем (ГНТП "Информатизация России), средств вычислительной техники (Федеральная инновационная программа "Развитие средств вычислительной техники на 1993-1995 гг."), средств телекоммуникаций (ГНТП "Перспективные средства телекоммуникаций и интегрированные системы связи"), новых информационных технологий (ГНТП "Перспективные информационные технологии").
Предлагаемая программа направлена на проработку вопросов, общих для всех указанных программ, представление для них единой методологической основы. С этой точки зрения, программа по открытым системам может служить инструментом координации работ по смежным программам.
Одновременно предполагается, что программа по открытым системам обеспечит научное обоснование стандартизации информационных технологий и средств для них в условиях России, учитывающей международные стандарты и рекомендации, действующие в этой области.
2.13. Международное сотрудничество.
По самому смыслу проблемы открытых систем, которые строятся
на базе международных стандартов, решить эту проблему без тесного
международного сотрудничества невозможно. Важным обстоятельством
на современном этапе развития России служит, также, возможность
получения иностранных инвестиций по различным каналам.
Как неоднократно отмечалось в данном документе, в решении проблемы открытых систем участвуют четыре группы специалистов:
Соответственно, международное сотрудничество в области развития и применения открытых систем должно идти по следующим направлениям:
Формы сотрудничество могут быть самыми разнообразными.
В настоящее время от имени Рабочей группы подписан протокол о взаимопонимании с ведущей компьютерной компанией в области открытых систем Sun Microsystems (США) и компанией Roy International Consultancy (США), выступающий как интегратор открытых систем. Сотрудничество с этими компаниями значительно продвинуло понимание проблемы, в частности, получено большое количество документации.
2.14. Этапы реализации Программы.
Основные направления Программы должны реализовываться параллельно, с
другой стороны, все они тесно связаны между собой (см. рис. 2.1).
С целью рационального использования ресурсов и завершения работ в кратчайшие сроки целесообразно использовать формализованные методы из области задач теории расписаний и массового обслуживания.
По отдельным проектам имеются свои этапы реализации.