Стандарты, унифицирующие интерфейсы прикладных систем (POSIX)
Липаев В.В.

Стандарты, унифицирующие интерфейсы прикладных систем (POSIX)

_________________________________

В.В. Липаев


      Дано описание комплекса стандартов POSIX, отражающего результаты скоординированной унификации интерфейсов прикладных программных средств с операционной средой и внешним окружением сложных информационных систем

      Задачи и архитектура комплекса стандартов POSIX

      Опыт создания переносимых программных средств, обобщавшийся более 10 лет, подвел к необходимости разработки концепции и комплекса стандартов, обеспечивающих аффективную по трудоемкости переносимость прикладных программ между различными аппаратными и операционными платформами. Ядром явилась группа стандартов, созданная специалистами США под эгидой IEEE (Institute of Electrotechnical and Electronics Engineers) под общим названием — Интерфейсы переносимых операционных систем (Portable operating system interfaces — POSIX). Проблему переноса программ сосредоточили на унификации интерфейсов операционных систем ЭВМ с различными прикладными программами, а также с окружающей средой: с пользователями, базами данных, средствами коммуникации. Эти стандарты не ориентированы на определенную, конкретную архитектуру ЭВМ, однако предполагают использование современной операционной среды Unix System V как стандарта де-факто, а также международных стандартов на языки программирования и стандартов верхних уровней взаимосвязи открытых систем (ВОС — ISO 07498) [1]. В совокупности они образуют нормативную базу открытых компьютерных систем -— OCS, обеспечивающих разработку переносимых программных средств и баз данных.

      При формировании концепции стандартов POSIX были поставлены следующие задачи [2, 3]:

      • содействовать облегчению переноса кода прикладных программ на иные платформы;
      • способствовать определению и унификации интерфейсов заранее, а не в процессе их реализации;
      • учитывать все главные, созданные ранее и используемые прикладные программы;
      • определять необходимый минимум интерфейсов для ускорения создания, одобрения и утверждения документов;
      • развивать стандарты в направлении обеспечения коммуникационных сетей, распределенной обработки данных и защиты информации;
      • рекомендовать ограничивать использование бинарного (объектного) кода для приложений в простых системах.

      Все стандарты POSIX имеют рекомендательный характер. Они не должны служить препятствием для переноса объектного кода, ограничивать или ухудшать исполнение приложений при стандартизированных интерфейсах и ограничивать формирование новых унифицированных интерфейсов по мере необходимости. По функциональному назначению документы POSIX можно разделить на четыре группы стандартов (см. приложение):
      • базовые, определяющие общие принципы построения, директивы, основы реализации и тестирования интерфейсов переносимых приложений, а также общее административное управление программами и данными (IEEE 1003.1, -2, -3, -4, -7);
      • конкретизирующие интерфейсы с операционной платформой прикладных программ, разрабатываемых на трех базовых языках программирования — Си, Фортран и Ада (IEEE 1003.5, -9, -16, -19, -20);
      • определяющие взаимодействие в распределенных открытых системах, телекоммуникацию в сетях, а также защиту информации (IEEE 1003.8, -12, -15,-17,-6);
      • регламентирующие процессы -создания, основные компоненты и структуру профилей прикладного окружения для: интерактивного взаимодействия с пользователями; мультипроцессорных систем; суперкомпьютеров; систем реального времени (IEEE 1003.10, -11, -13, -14, -18).

      Идеология и модель создания переносимых программных средств изложены в документе IEEE 1003.0 — POSIX Guide — Руководство по POSIX окружению открытых систем (OSE), которое детализирует для пользователей модель комплекса стандартов POSIX, а также взаимодействующих с ними стандартов де-юре и де-факто и спецификаций, необходимых для создания переносимых приложений. Модель отражает принципы построения интерфейсов прикладных программ с платформой — операционной системой, через которую осуществляется взаимодействие с компонентами внешнего окружения. Прикладные программы непосредственно не взаимодействуют с внешним окружением, а связаны с ним только через операционную систему. Таким образом, определяющими являются два интерфейса между тремя базовыми компонентами: между прикладными программами и платформой — операционной системой (ARI) и между платформой и внешним окружением (EEI). Определены общие функции — услуги платформы для этих взаимодействий. Внешнее окружение включает компоненты человеко-машинного взаимодействия с пользователями, компоненты информационного взаимодействия с внешними устройствами ЭВМ и с компонентами, обеспечивающими коммуникацию. Эти интерфейсы и услуги более детально должны быть формализованы соответствующими частными стандартами POSIX. Документ включает также общие принципы и руководство по формированию и описанию сложных согласованных профилей и по обеспечению непротиворечивости их интерфейсов с внешним окружением. Понятие профиль в соответствии с ISO 10000 и IEEE 1003.0 определяет документ, который предписывает состав, комплектацию, взаимосвязь и применение нескольких стандартов де-юре и де-факто с указанием параметров и директив, необходимых для построения сложных информационных технологий.

      Детализация интерфейсов начинается в стандарте IEEE 1003.1 — Интерфейсы систем прикладных программ (язык Си) (System Application program interface (API) (С language), в котором уточняется концепция переносимости и принципы ее обеспечения путем унификации интерфейсов прикладных программ с операционными системами. Доработанная версия концептуального стандарта утверждена Международной организацией по стандартизации (ISO 09945-1) и представлена ниже. Основные команды управления и сервисные программы, обеспечивающие переносимость, изложены в стандарте IEEE 1003.2 (Shell and utilities), который послужил базой одноименного стандарта ISO 09945-2. Таким образом, эти два стандарта являются основными в нормативной базе, поддерживающей перенос программ в операционной среде UNIX.

      Развитие и конкретизация методов и средств, обеспечивающих переносимость прикладных программ, излагаются в совокупности из 18 поддерживающих стандартов группы POSIX IEEE 1003.3...20, содержание которых изложено ниже. Разработка стандартов организована по фазам: IEEE — SC22 — JTC1 — ISO [2, 3], каждая из которых продолжительностью полгода — год. Фазу разработки и утверждения каждого из них в данный момент трудно установить и реально действуют как международные отандарты только два отмеченных выше. Остальные стандарты аннотированы далее в утвердительной форме как завершенные разработки, однако некоторые из них не вышли из стадии первоначальных проектов IEEE. В 1991 г. рабочая группа IEEE POSIX совместно с ISO/JTC1/SC22/WG15 подготовила план-график работ по этим стандартам до 1998 г. Однако по имеющимся сведениям, на середину 1993 г. большинство (12) стандартов до конца 1993 г. должны были пройти окончательное голосование в SC22, а пять или шесть из них утверждены. Только два-три стандарта находятся в начальной стадии разработки и обсуждения. По всем стандартам впоследствии возможны дополнения и изменения.

      В стандартах POSIX (IEEE 1003.5, -9, -16, -19,-20) конкретизируются интерфейсы прикладных программ, разрабатываемых на стандартизированных языках программирования: Си (ISO 09899), Ада (ISO 08652), Фортран (ISO 01359, 07846). В базовых стандартах упоминаются некоторые особенности интерфейсов приложений на языках программирования Паскаль (ISO 07185), Кобол (ISO 01989). Рекомендуется применение языков в виде современных модернизированных и дополненных версий и использование компиляторов для трансляции программ, аттестованных авторитетными международными организациями.

      В части взаимодействия переносимых прикладных программ и операционных систем с внешней средой стандарты POSIX ориентируются на международные стандарты взаимосвязи открытых систем — ВОС (OSI), в которые входят группы стандартов [1, 2]:

      • поддерживающие непосредственное взаимодействие, прикладных программ о пользователями и регламентирующие интерфейсы с виртуальными терминалами и графические системы;
      • обеспечивающие управление файловыми системами и различными, в том числе распределенными базами данных;
      • регламентирующие телекоммуникацию и обмен данными на верхних уровнях «талонной модели ВОС;
      • обеспечивающие аттестацию и безопасность применения информационных Технологий, программ и данных в группах стандартов ВОС и криптографии.

      Пять стандартов POSIX посвящены профилям прикладного окружения, взаимодействующего с операционной средой. Они базируются на активном использовании международного стандарта по таксономии профилей (ISO 10000-1, 2), стандартов взаимосвязи открытых систем коммуникации (OSI), а также множества других стандартов де-юре и де-факто. Основы профилей представлены в документе IEEE 1003.18, в котором изложены профили интерфейсов приложений в интерактивных, распределенных, многопользовательских прикладных платформах. Стандарты IEEE 1003.11, -13 и -14 формализуют профили взаимодействия соответственно для диалоговой обработки заданий, для информационных систем реального времени и для мультипроцессорных вычислительных систем.

      При первичной разработке ПС, предусматривающих перенос, целесообразно использовать всю совокупность стандартов, регламентирующих и поддерживающих современные методы, средства автоматизации и технологические процессы создания сложных прикладных программ и баз данных. К ним относятся стандарты, которые практически не упоминаются в группе POSIX, но существенно влияют на качество ПС и БД и определяют [4, 5]:

      • жизненный цикл информационных технологий, программных средств и баз данных;
      • показатели качества программ и данных;
      • планирование и управление обеспечением качества программ;
      • управление конфигурацией совокупности версий комплексов программ;
      • тестирование, испытания, аттестацию и сертификацию программных средств и баз данных;
      • документацию на программные средства и базы данных.

      Содержание стандартов POSIX

      Базовый стандарт ISO 09945-1:1990 — Информационная технология. Интерфейсы переносимых операционных систем. Часть 1: Интерфейсы систем прикладных программ (язык Си) — предназначен для разработчиков приложений, в которых необходимо обеспечить переносимость программ, для разработчиков и пользователей операционных систем, а также для покупателей вычислительной техники и программных средств. Основная цель стандарта — унифицировать интерфейсы приложений и связи с окружением операционной системы UNIX путем формализации описаний внутренних и внешних интерфейсов на базовом языке программирования Си. Концептуально представлено описание синтаксиса и семантики взаимосвязей, используемых при проектировании переносимых прикладных программ. Унификация ориентирована на современные версии UNIX — System V Release 4, а также на другие операционные системы, совместимые по ин-терфейсам с этими версиями UNIX. Считаются недопустимыми дополнительные интерфейсы разработчиков, не входящие в состав определенных стандартами POSIX. Разработчики стандарта стремились предусмотреть все потенциальные функции взаимодействия прикладных программ с ОС UNIX на различных аппаратных платформах, в автономных, сетевых и распределенных информационных системах. Предусмотрены минимальные изменения и доработки при переносе прикладных программ и указываются их элементы, где возможны такие изменения.

      В описании стандарта объемом около 300 страниц выделены пять функциональных частей.

      1. Предисловие, введение, общий взгляд на стандарт и нормативные рекомендации (раздел 1).

      2. Терминология, общие требования и концепция стандартизации интерфейсов прикладных программ (раздел 2).

      3. Процессы, средства и описания компонент интерфейсов изложены в семи разделах:

      компоненты процессов взаимодействия программ (раздел 3); процессы взаимодействия с окружением, с терминалами и пользователями (раздел 4);

      файлы и директории — характеристики, создание, изменение, перемещение (раздел 5);

      примитивы ввода и выгода — манипуляции, передача и контроль операций с файлами (раздел 6);

      взаимосвязь с внешними устройствами — описание и контроль интерфейсов терминалов (раздел 7);

      языково-ориентированные услуги и интерфейсы для языка программирования Си (раздел 8);

      системные базы данных — функции и интерфейсы доступа (раздел 9).

      4. Форматы архивации и обмена файлами данных (раздел 10).

      5. Информационные приложения, содержащие библиографию и ссылки на стандарты, замечания и комментарии, примеры и профили для Дании. Подчеркивается целесообразность применения для взаимодействия с внешней средой концепции и совокупности стандартов, являющихся развитием базовой эталонной модели взаимосвязи открытых систем (ВОС) — ISO 07498.

      В стандарте ISO 09945-2:1992 — Информационная технология. Интерфейсы переносимых операционных систем. Часть 2. Команды управления и сервисные программы (Shell and utilities), который является развитием стандарта IEEE 1003.2, изложено конкретное представление команд операционной системы, обеспечивающих унифицированное взаимодействие с переносимыми прикладными программами. В' терминах языка Си (стандарт ISO 09899:1990) описаны языково-независимые услуги интерфейсов для переносимых приложений и связи с внешним окружением. Описание предназначено для разработчиков прикладных программ, создателей и покупателей информационных систем и конечных пользователей.

      Стандарт содержит семь разделов и 7 приложений (три из них обязательные), объемом свыше 1200 страниц. В двух первых разделах представлены общие сведения об интерфейсах прикладных программ, нормативные ссылки, структурные требования, методы тестирования, терминология. Далее детально описаны язык управления (shell) (раздел 3), утилиты среды взаимодействия программ (раздел 4), управляющие утилиты, поддерживающие переносимость программ и связь внешних пользователей с асинхронными терминалами (раздел 5) и утилиты для взаимодействия комплексов программ (раздел 6), всего описано более 130 директив. В разделе 7 изложены языково-независимые системные услуги для прикладных программ на нескольких языках программирования высокого уровня. В трех обязательных приложениях (А, В, С) конкретизируются детали утилит интерфейсов дм использования в прикладных программах на языках Си и Фортран. В остальных приложениях приводятся библиография, комментарии, пример национальных профилей и предложения для последующего анализа. Таким образом, методология обеспечения переносимости программ, представленная в ISO 9945-1, доведена во второй части стандарта до практического руководства по разработке и применению стандартных интерфейсов прикладных программ на языках Си и Фортран.

      IEЕЕ 1003.3 — Методы тестирования для определения соответствия стандартам POSIX. Стандарт содержит методологию тестирования для проверки соответствия интерфейсов прикладных программ стандартам POSIX. Представлены принципы формирования наборов текстов и предлагается методика развития тестов для контроля создаваемых приложений на соответствие ISO 09945-2. В методе тестирования выделены: подготовка тестов; процедуры тестирования; оформление документов, удостоверяющих соответствие стандартам. Определены и кратко представлены три основных уровня сложности 1 вотирования: исчерпывающий, достаточно полный, оценочный — для установления общих характеристик качества. Подчеркивается, что предлагаемые методы не гарантируют абсолютное соответствие стандартам, так как исчерпывающее тестирование невозможно по техническим и экономическим причинам [5]. Приводятся рекомендации по: классификации тестовых утверждений (раздел 5); подготовке описаний детерминированных тестов и проверке структурных конструкций (раздел 6); кодированию и представлению результатов тестирования (раздел 7); формированию удостоверения о соответствии прикладных программ стандартам POSIX (раздел 8). В информационном приложении А отражены ссылки на 38 стандартов ВОС ISO и языки программирования.

      IEEE 1003.4 — Расширение для переносимых операционных систем реального времени. Стандарт дополняет и конкретизирует интерфейсы программ, которые для переносимых приложений, функционирующих в реальном времени, требуют изменений и расширений относительно синтаксических и семантических положений документа IEEE 1003.1. Стандарт охватывает три основных направления: файловые системы реального времени; согласование функционирования многокомпонентных архитектур ЭВМ; распределение использования памяти посредством семафоров и сигналов. Вводятся понятия, детально рассмотрены применение и интерфейсы: таймеров, приоритетных очередей, файлов реального времени, семафоров, синхронного и асинхронного ввода-вывода, блокировки памяти и т.д. Выделены разделы, посвященные обеспечению обмена сообщениями с внешней средой, организации цепных списков, их управлению и корректировке, слежению за исполнительным временем процессора, управлению прерываниями и взаимодействию с внешними устройствами.

      IEEE 1003.5 — Интерфейсы приложений на языке Ада. В стандарте конкретизируются описания связей прикладных программ, представленные с IEEE 1003.1 и 1003.2 и необходимые для комплексирования с операционной системой приложений, разработанных на языке Ада.

      IEEE 1003.6 — Дополнения для обеспечения защиты информации и безопасности прикладных программ. Расширяются положения стандартов POSIX для обеспечения четырех уровней защиты критических информационных систем в соответствии с критериями, опубликованными в "Оранжевой книге" — Trusted computer system evaluation oriteria (DOD 5200.28-STD.1985) — стандарте Министерства обороны США. Кроме того, представлены 10 классов критериев защиты, согласованных между некоторыми западноевропейскими странами. Представлены особенности услуг дискретного и мандатного контроля, проверки безопасности интерфейсов и защиты от несанкционированного доступа. Введены функции привилегий, которые предназначены для регламентирования доступа суперпользователей разных рангов, а также функции ревизий (аудит) для регистрационных механизмов доступа, записей и контроля. Отмечаются особенности тестирования защиты информации и взаимодействие со стандартами IEEE 1003.7 и -8. Стандарт ориентирован на активное применение методов и средств обеспечения безопасности функционирования прикладных программ, изложенных в группе стандартов ISO, посвященных защите в открытых системах и криптографии.

      IEEE 1003.7 — Системная администрация (управление) — предполагается развитие документа в виде стандарта ISO 09945-3. Стандарт содержит системные интерфейсы и сервисные программы для управления при инсталяции, конфигурировании и сопровождении версий прикладного окружения операционных систем. Рассматривается административное управление со стороны пользователей системными файлами, сопровождением и развитием версий прикладных программ, услугами коммуникаций, а также формирование и печать документов в соответствии со стандартом ISO 10175. Стандарт учитывает требования по управлению IEEE 1003.15 и защите информации IEEE 1003.6, а также отражает управление в системе стандартов де-факто Х/Ореn и протоколы управления в распределенных гетерогенных сетях в соответствии со стандартами OSI и концепцией UNIX.

      IEЕЕ 1003.8 — Сети передачи данных и сетевые интерфейсы. Стандарт ориентирует разработчиков и пользователей на применение базовой эталонной модели ISO взаимосвязи открытых систем (ВОС) коммуникации и ее развитие в стандартах и протоколах верхних уровней ВОС, на стандарты обмена в файловых системах (FTAM, NFS, RFS). Изложена концепция стандарта ISO 08571 — передача, доступ и управление файлами (FTAM), который регламентирует услуги по всем функциям манипулирования файлами, а также отражены процедуры управления файлами в распределенных информационных системах. Представлены принципы применения стандартизированных интерфейсов ВОС в сетях передачи данных и сетевых интерфейсов де-факто X/Open, UNI, ТLI [2, 3].

      IEEE 1003.9 — Интерфейсы приложений на языке Фортран. Специфицируются языково-независимые связи прикладных программ на языке Фортран-77 (ISO) с операционной системой UNIX. Детализируются утилиты интерфейсов, представленные в приложении "С" ISO 09945-2.

      IEEE 1003.10 — Профили прикладного окружения для суперкомпьютеров. В стандарте представлены профили, которые отличаются от традиционных моделей распределения времени в UNIX в части приоритетного обслуживания, наличия рестарта и эффективного ввода-вывода. Особенностями являются также большой объем прикладных программ, интенсивное использование процессора и памяти. Профили используют сценарии заданий, сетевые интерфейсы и графику. Кроме того, могут привлекаться базовые стандарты POSIX, стандарты на языковые Интерфейсы и некоторые стандарты OSI на файловые системы, коммуникацию и т.п.

      IEEE 1003.11 — Профили прикладного окружения для распределенной диалоговой обработки заданий. Стандарт опирается на стандарты ВОС ISO 10026-1-6, на базовые стандарты POSIX и на стандарты де-факто Х/Ореn и их детализацию при обработке удаленных заданий. Поддерживается высоконадежный ввод-вывод, использование эффективных структур файлов, интерфейсов со стандартизированными базами данных, ориентированными на распределенные диалоговые системы ВОС и модель Х/Ореn.

      IEEE 1003.12 — Протоколо-независимые интерфейсы для коммуникации. Регламентированы схемы реализации интерфейсов прикладных программ для взаимодействия с протоколами коммуникации верхних уровней базовой эталонной модели ВОС, вплоть до выхода на транспортный уровень ВОС [1]. Для этого, предложено использовать простые (SNI) и детальные (DNI) сетевые протоколо-независимые интерфейсы, которые непосредственно взаимодействуют с типовыми версиями системы UNIX. Они служат для соединения протоколов TCP/IP, OSI и других коммуникационных систем с приложениями, которые предпочитают непрозрачную коммуникацию [2].

      IEEE 1003.13 — Профили прикладного окружения систем реального времени. Документ является развитием стандарта IEEE 1003.4 и тесно с ним связан. Он поддерживает реализацию функций взаимодействия встроенных систем реального времени, а также взаимодействия окружения с однопроцессорными файловыми системами. Для жесткого регламента времени он покрывает экстенсивный ввод-вывод; логику управления; нормализацию и обработку сигналов прерывания; временные вызовы; циклические операции. Интерфейсы реального времени POSIX отличаются от многих других для систем реального времени.

      IEEE 1003.14 — Профили прикладного окружения мультипроцессорных систем. Стандарт поддерживает только частный вид платформ, представленных типовыми мультипроцессорными системами и не предназначен быть основой для пользователей при разработке других профилей. По структуре он подобен стандарту IEEE 1003.18.

      IEEE 1003.15 — Расширение для очередей пакетов прикладных программ. Стандарт является развитием документа IEEE 1003.10 и дополняет процессы административного управления системами (IEEE 1003.7). Он регламентирует такие особенности работ, как очень длительное исполнение программ и восстановление окружения после прерывания.

      IEEE 1003.16, -19, -20 — Развитие интерфейсов для приложений на языках программирования Си, Фортран и Ада соответственно. Документ IEEE 1003.19 детализирует интерфейсы программ, разработанных на языке Фортран-90 и их взаимодействие с интерфейсами на языке Си (IEEE 1003.16) и далее с языково-независимым представлением интерфейсов. Стандарт IEEE 1003.20 расширяет первичные интерфейсы программ на языке Ада (IEEE 1003.5) в направлении обеспечения систем реального времени и полного применения функций языка Ада.

      IEEE 1003.17 — Обслуживание каталогов и пространство имен. Стандарт регламентирует обслуживающие каталоги интерфейсов переносимых приложений. Каталоги услуг предназначены для применения пользователями детальных сетевых интерфейсов (DNI) в комбинации с сетевыми интерфейсами OSI и стандартами Х.500 для распределенных POSIX систем.

      IEEE 1003.18 — Профили окружения платформы POSIX. Стандарт является развитием концепций стандарта IEEE 1003.1. Эти профили определяют окружение, взаимодействующее с пользователями в традиционных, распределенных, интерактивных, многопользовательских системах. Устанавливается взаимодействие средств для кросс-компиляции программ с одной платформы для использования на другой аппаратной платформе. Различается платформа разработки приложений (ADP), где программы компилируются или интерпретируются, от платформы исполнения приложений (АЕР), где программы функционируют и решают задачи. Тем самым программы могут компилироваться на многопользовательской системе с большими ресурсами для исполнения на однопользовательской персональной ЭВМ. Системы могут соединяться сетевыми средствами, коммутируемой линией или взаимодействовать через переносимые магнитные ленты или диски.

      Заключение

      Для обеспечения доступности и простоты освоения пользователями информационных технологий, реализуемых на различных аппаратных и операционных платформах, целесообразна унификация интерфейсов прикладных программ с внешней средой. Это приводит к необходимости стандартизации компонент комплексов программ, организующих взаимодействие с операционными системами различных типов ЭВМ. Комплекс стандартов POSIX отражает результаты скоординированной унификации интерфейсов прикладных программных средств с операционной средой и внешним окружением сложных информационных систем. Организация создания, реализация и применение такого комплекта документов объемом около 5 тыс. страниц позволит облегчить и резко увеличить повторное использование апробированных программ на различных платформах, сократить многократное дублирование разработок идентичных программ, а также упростить их освоение пользователями. Унификация интерфейсов непосредственно способствует сокращению трудоемкости и длительности создания приложений, так как полный цикл разработки программных средств "с нуля" может быть заменен перетрансляцией программ и их испытаниями на новой платформе. В результате огромный объем программ высокого качества, апробированных на существующих ЭВМ, может при относительно небольших затратах труда использоваться на новых развивающихся архитектурах ЭВМ. Одновременно сохраняется пользовательский интерфейс, а также интерфейс с базами данных и средствами коммуникации. Стандартизация концепций, интерфейсов и компонент открытых систем характеризуется высокой экономической эффективностью при создании информационных систем, а также положительно влияет на конкурентоспособность и длительность жизненного цикла сложных информационных технологий.

      Литература

      1. Зайцев С.С, Кравцунов М.И., Ротанов С.В. Сервис открытых информационно-вычислительных сетей: Справочник. - М.: Радио и связь, 1990.

      2. Quarterman J.S., Wilhelm S. Unix, Posix and open systems: The open standards puzzle. N.Y., Addison - Wesley Publishing; Company, 1993. - 416 p.

      3. Open systems handbook: A guide to building open systems. Digital Equipment Corporation. USA, 1991.

      4. Липаев В.В. Управление разработкой программных средств. Методы, стандарты, технология. - М.: Финансы и статистика, 1993.

      5. Липаев В.В. Отладка сложных программ. Методы, средства, технология. - М.: Энергоатомиздат, 1993.

Статья поступила в редакцию
в ноябре 1994 г.
РосНИИ информационных технологий
и систем автоматизации
проектирования
    ____________________________________________

    Липаев В.В. - доктор технических наук, профессор


    &copy Информационное общество, 1995, вып. 1-2-3