Структура современного методологического базиса открытых систем имеет определяющее значение для развития всей информационной индустрии. Предложенная в статье семиуровневая декомпозиция спецификаций информационных технологий может быть полезной для анализа данной области, а также при разработке профилей открытых систем.
Методологический базис информационных технологий (ИТ), представляет собой основу для создания наиболее экономически рентабельных технологий и систем, удовлетворяющих свойствам открытости или, так называемых открытых систем. В первую очередь к свойствам открытости относятся переносимость и переиспользуемость программного обеспечения, интероперабельность и масштабируемость систем. Наиболее значительными результатами в становлении методологического базиса открытых систем сегодня являются:
- создание целостной системы авторитетных специализированных международных организаций по разработке и стандартизации ИТ открытых систем;
- разработка эталонных моделей и соответствующих им базовых спецификаций для важнейших разделов области ИТ, что позволило сформировать концептуальный и функциональный базис пространства ИТ;
- разработка и широкое использование концепции профиля, предоставляющей аппарат для спецификации и документирования комплексных открытых ИТ, параметризующих и комбинирующих функциональности базовых спецификаций и/или профилей;
- разработка таксономии профилей, представляющей собой классификационную систему ИТ и обеспечивающую систематическую идентификацию профилей в пространстве ИТ;
- разработка концепции и методологии конформности (соответствия) реализаций ИТ-систем тем спецификациям, которые ими реализуются.
По существу сформировались не только концептуальные и методологические основы открытых систем, но и достаточно развитый аппарат конструирования и сертифицирования новых открытых технологий в пространстве базовых стандартизованных решений. Таким образом сегодня можно говорить о формировании новой научной дисциплины, безусловно базовой для информатики, но не получившей еще общепризнанного названия. Предлагаемыми названиями являются: "IT Fundamentals", "The Foundations of IT", "Analysis of IT", "IT-Sience", "Itology", "Анализ ИТ" или "Итология".
Базовые понятия концепции открытых систем
Прежде, чем перейти к анализу указанных выше методологических основ, необходимо ввести набор базовых определений концепции открытых систем [1-4]. При этом следует иметь ввиду, что ИТ имеют две формы представления:
- в виде ИТ-спецификаций или описаний функциональных возможностей и поведения ИТ, задокументированных в строго регламентированной форме;
- в виде ИТ-систем, представляющих собой реализации конкретных ИТ-спецификаций.
Стандарт (по определению ISO). Технический стандарт или другой документ, доступный и опубликованный, коллективно разработанный или согласованный и общепринятый в интересах тех, кто им пользуется, основанный на интеграции результатов науки, технологии, опыта, способствующий повышению общественного блага и принятый организациями, признанными на национальном, региональном и международном уровнях.
Базовый стандарт или базовые спецификации (формальный стандарт или стандарт de-ure). Международный стандарт, принятый ISO или Рекомендация организации ITU-T (до 1993 г. - CCITT) - международного союза по телекоммуникации.
Эталонная модель (Reference Model). Структурированное множество понятий и их взаимосвязей для некоторой предметной области, осуществляющее концептуальную структуризацию данной области и имеющее достаточно обобщенное описание. По существу эталонная модель является формой метазнаний, определяющих принципиальную декомпозицию или архитектурную спецификацию конкретной предметной области.
ИТ-система (IT system). Совокупность ресурсов информационных технологий, предоставляющая сервисы на одном или более интерфейсов.
OSE (Open Systems Environment - Окружение открытых систем). Полный набор интерфейсов, услуг, форматов, а также пользовательских аспектов, обеспечивающих интероперабельность и/или переносимость приложений, и данных в рамках соответствующих спецификаций базовых стандартов и профилей ИТ. Важным и почти обязательным свойством открытости является свойство масштабируемости ИТ. В эталонной модели прикладного пользовательского интерфейса (API) [4] под открытой системой фактически понимается система, реализующая OSE - окружение, удовлетворяющее стандартам.
Переносимость (portability). Свойство ИТ-системы, позволяющее с возможно меньшими накладными расходами осуществлять перенос ее программного обеспечения, информации и пользователей с одной прикладной платформы на другую.
Интероперабельность (interoperability). Возможность совместного использования информации и ресурсов компонентами распределенной системы.
Масштабируемость (scalability). Свойство системы, позволяющее ей эффективно работать в широком диапазоне параметров, определяющих ее собственные технические и ресурсные характеристики и/или ее поддерживающей среды: число процессоров, число узлов сети, максимальное число обслуживаемых пользователей, количество обрабатываемых транзакций.
PAS (Publicly Available Specifications - Общедоступные спецификации). По существу это понятие охватывает опубликованные стандарты de-facto, например, промышленные стандарты. Близким по смыслу понятию PAS является понятие открытых спецификаций, определенное в эталонной модели API [4]. Примерами PAS могут служить спецификации IEEE POSIX и X/Open XPG4, разработанные с целью обеспечения переносимости приложений, а также спецификации IETF для TCP/IP.
Профиль (Profile). Набор, состоящий из одного или более базовых стандартов и/или ISP, содержащий указание области применимости, список выбранных классов сервиса, тестовых наборов, опций и параметров базовых стандартов и ISP, необходимых для выполнения конкретной прикладной функции.
ISP (International Standardized Profile - Международный стандартизованный профиль). Согласованный на международном уровне официальный документ, описывающий один или несколько профилей. В эталонной модели API используется близкое понятие стандартизованного профиля.
OSE-профиль. Профиль, который специфицирует все поведение ИТ-системы или часть ее поведения на одном или большем числе интерфейсов OSE.
OSI-профиль. Конкретный профиль, составленный из базовых спецификаций, соответствующих модели OSI [5], возможно дополненных базовыми стандартами и/или профилями для представления данных обмена и их форматов - так называемыми F-профилями.
API-профиль. Профиль, определяющий конкретную комбинацию базовых спецификаций прикладного пользовательского интерфейса в соответствии с моделью POSIX [6], возможно дополненных базовыми стандартами и/или профилями для представления данных обмена и их форматов.
Таксономия (Taxonomy) - классификационная схема, применяемая для однозначной идентификации профилей или наборов профилей.
Структура методологического базиса
МНОГОУРОВНЕВАЯ МОДЕЛЬ
Методологический базис ИТ, основную часть которого составляют спецификации ИТ различных уровней абстракции, формируется на основе иерархического подхода, что способствует анализу его структуру с помощью некоторой многоуровневой модели. На основе определенного опыта работы в данной области на рис.1 предложена семиуровневая модель, представляющая собой достаточно полную классификационную схему спецификаций ИТ. В данной модели выделены следующие уровни спецификаций ИТ:
Рис. 1. Структура знания итологии.
1) Концептуальный уровень или уровень метазнаний - состоит из архитектурных спецификаций, называемых эталонными моделями (Reference Models). Архитектурные спецификации предназначены для структуризации спецификаций функций, определяющих семантику конкретных областей ИТ.
2) Функциональный уровень или уровень базовых спецификаций (базовых стандартов), включающий также PAS и предназначенный для определения индивидуальных функций или наборов функций, описанных в эталонных моделях.
3) Предметные или локальные профили ИТ (например, OSI-профили, API-профили), т.е. профили, разрабатываемые на основе использования базовых спецификаций, относящихся к предметной области, описанной одной эталонной моделью (возможно вместе с профилями форматов данных, т.е. F-профилями).
4) OSE-профили - спецификации поведения открытых систем на их границах (интерфейсах), комплексирующие базовые спецификации и/или профили, базирующиеся на различных эталонных моделях.
5) Полные OSE-профили открытых платформ и систем - спецификации, предназначенные для описания поведения ИТ-систем на всех их интерфейсах.
6) OSE-профили прикладных технологий. Полная спецификация окружений прикладных технологий обработки данных (например, банковских систем, распределенных офисных приложений и т.п.), построенных на принципах открытости, т.е. удовлетворяющих условиям переносимости, интероперабельности, а также масштабируемости.
7) Стратегические профили (например, GOSEP - Government's Open System Environ-ment Profole), т.е. профили, рассматриваемые в данном случае не как спецификации одной технологии, а как наборы стандартов, определяющих техническую политику в области телекоммуникации и открытых технологий крупной организации или даже государства.
Как следует из описания модели, нижние два уровня выполняют роль концептуального и функционального базиса области ИТ. Рассмотрим подробнее текущее состояние этих уровней.
АРХИТЕКТУРНЫЕ СПЕЦИФИКАЦИИ
Ядром рассматриваемой методологии служат метазнания, структурирующие область ИТ. Роль таких метазнаний выполняют эталонные модели, определяющие архитектуру наиболее важных и достаточно независимых разделов ИТ. Таким образом каждая эталонная модель представляет собой концептуальный и методологический базис конкретного раздела ИТ, определяя структуру множества базовых спецификаций, соответствующих данному разделу. Наиболее известными эталонными моделями являются:
- Базовая эталонная модель взаимосвязи открытых систем (Basic Reference Model for Open Sysnems Interconnection - RM-OSI) [5].
- Руководство по окружению открытых систем POSIX (Portable Operating System Interface for Computer Environments - RM API) [6].
- Эталонная модель для открытой распределенной обработки (Reference Model for Open Distributed Processing - RM-ODP) [7].
- Эталонная модель управления данными (Reference Model for Data Management - RM DF) [8].
- Эталонная модель машинной графики (Reference Model of Computer Graphics - RM CG) [9].
- Эталонная модель текстовых и офисных систем (ISO/IEC TROTSM-1) [10], а также общая (general) модель распределенных офисных приложений [11].
В процессе разработки находятся следующие эталонные модели:
- Конформность (соответствие, подобие) и методы тестирования конформности, называемые также методами аттестационного тестирования;
- основы общей безопасности (generic security frameworks);
- качество OSI-сервиса (Quality of Service for OSI).
УРОВЕНЬ БАЗОВЫХ СПЕЦИФИКАЦИЙ
Базовые спецификации являются основными строительными блоками, из которых конструируются конкретные открытые технологии. Хотя PAS, в соответствии с данным выше определением, охватывают стандарты de-facto, которые не являются международными стандартами, сейчас интенсивно осуществляется процесс принятия наиболее распространенных и сопровождаемых PAS в качестве международных стандартов (по специально разработанной ISO быстрой процедуре баллотирования PAS), что открывает возможность использования PAS в качестве элементов стандартизованных профилей ИТ. Системный подход к проектированию профилей [12] опирается на классификацию базовых спецификаций и PAS, в основе которой используется по существу ортогональный набор эталонных моделей. В частности, возможна следующая классификация базовых спецификаций и PAS.
a) Базовые функции ОС: определяются стандартами по окружению открытых систем POSIX (Portable Operaring System Interface for Computer Environments) [13].
б) Функции управления базами данных: язык баз данных SQL (Structured Query Language) [14]; информационно-справочная система IRD (Information Resource Dictionary System) [15]; протокол распределенных операций RDA (Remote Data base Access) [16]; PAS Microsoft на открытый прикладной интерфейс доступа к базам данных ODBC API [17].
в) Функции пользовательского интерфейса, которые включают следующие ИТ: MOTIF из OSF для графического пользовательского интерфейса (GUI) [18] и стандарт OPEN LOOK [19]; X Window вместе с GUI и телекоммуникациями [20]; стандарты для виртуального терминала (Virtual Terminal - VT) [21], включая процедуры работы VT в символьном режиме через TCP/IP; стандарты машинной графики GKS (Graphical Kernel System) [22], GKS-3D (Graphical Kernel System - 3 Dimentional) [23], PHIGS (Programmers Hierarchical Interactive Graphics System) [24], а также CGI (Computer Graphics Interface) [25].
г) Функции взаимосвязи открытых систем, включающие: спецификации сервиса и протоколов, разработанные в соответствии с моделью OSI (рекомендации серии X.200) [26]; стандарты для локальных сетей (IEEE 802) [27]; спецификации сети Internet [28, 29, 30].
д) Функции распределенной обработки, включая следующие базовые спецификации OSI: вызов удаленной процедуры RPC (Remote Procedure Call) [31], фиксация, параллельность и восстановление CCR (Commitment, Concurrency and Recovery) [32]; протокол надежной передачи (RT) [33]; обработка распределенной транзакции DTP (Distributed Transaction Processing) [34]; управление файлами, доступ к файлам и передача файлов FTAM (File Transfer, Access and Management) [35]; управление открытыми системами (OSI Management) [36]; API для доступа к сервису Object Request Broker (ORB) в архитектуре CORBA и API, определяющий базовые возможности такого сервиса (Commom Object Services - COS 1) [37], а также язык спецификации интерфейсов объектов IDL (Interface Definition Language) [37] и его проекции на объектно-ориентированные языки.
е) Распределенные приложения: спецификации специальных сервисных элементов прикладного уровня модели OSI, стандартов Internet, OMG, X/Open. Как, например: система обработки сообщений MHS (Message Handling System - X.400) [38], служба справочника (The Directory - X.500) [39]; спецификации распределенных приложений с архитектурой клиент-сервер [11] и распределенных объектных приложений [37].
ж) Структуры данных и документов, форматы данных: средства языка ASN.1 (Abstract Syntax Notation One) [40, 41], предназначенного для спецификации прикладных структур данных - абстрактного синтаксиса прикладных объектов; форматы метафайла для представления и передачи графической информации CGM (Computer Graphics Metafile) [42]; спецификация сообщений и электронных данных для электронного обмена в управлении, коммерции и транспорте EDIFACT (Electronic Data Interchange for Administration, Commence and Trade) [43]; спецификации документов: спецификации структур учрежденческих документов ODA (Open Document Architecture) [44]; спецификации структур документов для производства, например: SGML (Standard Generalized Markup Language) [45, 46]; языки описания документов гипермедиа и мультимедиа, например: HyTime [47], SMDL (Standard Music Description Language) [48], SMSL (Standard Multimedia/Hypermedia Scripting Language) [49], SPDS (Standard Page Description Language) [50], DSSSL (Document Style Semantics and Specification Language) [51], HTML (HyperText Markup Language) [45]; спецификация форматов графических данных, например: форматов JPEG [52], JBIG [53] и MPEG [54].
з) спецификации инструментальных окружений (в частности, языков реализации и их библиотек) и CASE-окружений (как, например, [55]). Анализ базовых спецификаций ИТ показывает, что современная методологическая база открытых систем представляет собой сложную систему концептуальных, структурных, функциональных, поведенческих и лингвистических моделей, взаимосвязанных между собой, а также вспомогательных процедур и средств. При этом следует отметить динамичность развития всей этой системы, поддерживаемого целенаправленной деятельностью развитой инфраструктуры специализированных международных институтов.
Естественно, что приведенный обзор базовых спецификаций ИТ является достаточно общим и возможны другие подходы к классификации и анализу спецификаций ИТ. Однако, следует подчеркнуть, что вся область спецификаций ИТ, несмотря на свою обширность и техническую сложность, легко систематизируется, что важно при использовании спецификаций в процессе разработки новых открытых систем и технологий, например, посредством аппарата профилирования.
***
В заключении хотелось бы выразить благодарность коллегам из специальной рабочей группы по функциональной стандартизации (Special Group on Functional Standardization - SGFS of JEC 1), и прежде всего ее председателю Dr. Willem Wakker, за предоставленную возможность участия в деятельности группы и возможность использования ее рабочих материалов.
Литература
1] ISO/IEC TR 10000-1:1995 (final text, June 1995), Information technology - Framework and taxonomy of International Standardized Profiles - Part 1:General Principles and Documentation Framework.
2] ISO/IEC TR 10000-2:1995 (final text, June 1995), Information technology - Framework and taxonomy of International Standardized Profiles - Part 2: Principles and Taxonomy for OSI Profiles.
3] ISO/IEC TR 10000-3:1995 (final text, June 1995), Information technology - Principles and taxonomy of International Standardized Profiles - Part 3: Principles and Taxonomy for Open System Environment Profiles.
4] P1003.0 Draft 18. STANDARDS PROJECT. Draft Guide to the POSIX Open System Environment. IEEE. February 1995.
5] ISO 7498:1984, Information processing systems - Open Systems Interconnection- Basic Reference Model [ITU-T Rec. X.200 (1994)].
6] ISO/IEC DTR 14252, Portable Operaring System Interface for Computer Environments - POSIX. (IEEE, P1003.0 Draft 18, Draft Guide to the POSIX Open System Environment, February 1995).
7] ITU-T Rec. 902|ISO/IEC 10746-2:1995, Reference Model for Open Distributed Processing.
8] DIS 9075:1992, Information technology - Reference Model for Data Management.
9] ISO/IEC 11072:1992, Information Technology - Computer Graphics - Computer Graphics Reference Model.
10] ISO/IEC TRTOSM-1, Information technology - Text and office systems reference model - Part 1. Basic reference model.
11] ISO/IEC 10031/1:1991, Information technology - Text communication - Distributed-office-applications model - Part 1. General model.
12] Draft ETGnn Development and Use of OSE Profiles. EMOS/EG-OSE/95/10, 1995.
13] ISO/IEC 9945/1:1990, (IEEE Std 1003.1 - 1990), Information technology - Portable Operating System Interface (POSIX) - Part 1:System Application Program Interface (API) [C Language].
14] ISO/IEC 9075:1992 (ANSI X3.135-1992), Information technology - Database - Database Language - SQL (Structured Query Language).
15] ISO/IEC 10027:1990, Information technology - Information Resource Dictionary System (IRDS) framework.
16] ISO/IEC 9579:1993, Information technology - Open Systems Interconnection - Remote Database Access (RDA).
[17] Роберт Сигнор, Михаэль О. Стегман. Использование ODBC для доступа к базам данных: Пер. с англ. - М. БИНОМ; НАУЧНАЯ КНИГА. - 386с.: ил.
[18] OSF/MOTIF, Open Software Foundation, MOTIF Release 1.2.
[19] Open Look. Draphical User Interface. Application Style Guidelines. Sun Microsystems, Inc. 1991.
[20] FIBS PUB 158-2: User Interface Component of Application Portability Profile (MIT X Window System) - X library API specification. (X Window System, Version 11, Realease 5, MIT X Consortium).
[21] ISO 9040:1990, Information technology - Open Systems Interconnection - Virtual terminal basic class service.
[22] ISO/IEC 7942:85, Information processing systems - Computer graphics - Graphical Kernel System (GKS) functional description.
[23] ISO/IEC 8805:88, Information processing systems - Computer graphics - Graphical Kernel System for three dementions (GKS-3D) functional description.
[24] ISO/IEC 9592/1:89, Information processing systems - Computer graphics - Programmer's Hierarchical Interactive Graphics System (PHIGS) - Part 1. Functional description.
[25] ISO/IEC 9636:91, Information technology - Computer graphics - Interfacing techniques for dialogues with graphical devices (CGI) - Functional specification - Part 1 - 6.
[26] Зайцев С.С., М.И. Кравцунов, С.В. Ротанов СПРАВОЧНИК. Сервис открытых информационно-вычислительных сетей. М. Радио и связь, 1990. [ITU-T (CCITT), Rec. X.200-X.219, 1988].
[27] ISO/JEC 8802:1990 (IEEE Std 802-1990), Information processing systems - Local area networks.
[28] Transmission Control Protocol (TCP) - RFC 793.
[29] User Datagram Protocol (UDP) - RFC 768.
[30] Internet Protocol (IP) - RFC 791.
[31] ISO/IEC 10148, Information processing systems - Open Systems Interconnection - Basic Remote Procedure Call (RPC) using OSI Remote Operations.
[32] ISO/IEC 9804:1994, Information processing systems - Open Systems Interconnection - Service definition for the Commitment, Concurrency and Recovery service element.
[33] ISO/IEC 9075:1992, Information processing systems - Text communication - Reliable Transfer - Part 1. Model and service definition.
[34] ISO/IEC 10026:1992, Information technology - Open Systems Interconnection - Distributed Transaction Processing - Part 1: OSI TP Model.
[35] ISO 8571/1:1988, Information processing systems - Open Systems Interconnection - File transfer, access and management - Part 1. General introduction.
[36] ISO 10040:1992, Information technology - Open Systems Interconnection - System management overview.
[37] OMG Document Number 91.12.1. The Common Object Request Broker: Architecture and Specification. R.1.1.
[38] ISO/IEC 10021/1:1990, Information technology - Text communication - Message-Oriented Text Interchange System (MOTIS) - Part 1: System and service overview. [ITU-T Rec. X.400, Message handling system and service overview].
[39] ISO 9594:1990, Information technology - Open Systems Interconnection - The Directory - Part 1: Overview of concepts, models and services. [Rec. X.500].
[40] ISO 8824:1990, Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1).
[41] ISO 8825:1990, Information processing systems - Open Systems Interconnection - Specification of Basic Encoding Rules for Abstract Syntax Notation One (ASN.1).
[42] ISO/IEC 8632/1:87, Information technology - Computer graphics - Metafile for the storage and transfer of picture description information - Part 1. Functional description.
[43] ISO 9735:1988, Electronic Data Interchange for Administration, Commerce and Transport (EDIFACT) - Application level syntax rules (Amended and reprinted 1990).
[44] ISO/IEC 8613/1:1994, Information technology - Open Document Architecture (ODA) and Interchange Format - Introduction and general principles. [ITU-T Rec. T.411(1993)].
[45] ISO/IEC 8879:1986, Information processing - Text and office systems - Standard Generalized Marking Language (SGML).
[46] ISO/IEC TR9573:1988, Information processing - SGML support facilities - Techniques for using SGML.
[47] ISO/IEC 10744:1992, Information technology - Hypermedia/time-based structuring language (HyTime).
[48] ISO/IEC 10743:1992, Standard Music Description Language (SMDL).
[49] ISO/SC1/WG8:1993, Standard Multimedia/Hypermedia Scripting Language (SMSL).
[50] ISO/IEC 10180:1994:..., Information technology - Text communication - Standard Page Description Language (SPDL).
[51] ISO/IEC 10179:..., Information technology - Text and office systems - Document Style Semantics and Specification Language (DSSSL).
[52] ISO DIS 11544, Joint Bi-level Image Expert Group (JBIG).
[53] ISO DIS 10918-1,2, Joint Photographic Expert Group (JPEG).
[54] ISO DIS 11172-1,2, Moving Pictures Expert Group (MPEG).
[55] ISO/IEC DIS 13719, ECMA Portable Common Tool Environment.
Владимир Сухомлин (www.sukhomlin.ru) — профессор факультета ВМиК МГУ им. Ломоносова (Москва).