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

кандидата технических наук
Запреев, Сергей Степанович
город
Новосибирск
год
1991
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Поддержка разработки многоязыковых программных комплексов»

Автореферат диссертации по теме "Поддержка разработки многоязыковых программных комплексов"

АКАДЕМИЯ. НАУК - ССОР Ордена Ленина Сибирское отделение Институт систем информатики

На. правах рукописи

Запреев Сергей Степанович- •

УДК 681.03.06

ПОДДЕРЖКА РАЗРАБОТКИ МНОГОЯЗЫКОВЫХ ПРОГРАММНЫХ КОМПЛЕКСОВ

Специальность 05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

А в т о р е ф е р .а г диссертации на соискание учейой степени кандидата технических наук _

■ ч 2 , Новосибирск - 1991.

- г -

Работа выполнена в Новосибирском филиале Института точной механики и вычислительной техники ш. O.A. Лебедева АН СССР.

Научный руководитель - кандидат физико-математических наук

Чеблаков Б. Г.

Официальные оппоненты - доктор физико-математических

наук, профессор Касьянов ЕЕ

кандидат технических наук Шелестов С. М.

Ведущее предприятие - НИИ системного программирования

г. Москва

Защита диссертации состоится " 11 " октября 1991 г. в 14.30 час. на заседании Специализированного совета К. 003.93.01 Института систем информатики Сибирского отделения АН СССР по адресу: 630090, г. Новосибирск 90, проспект Академика Лаврентьева, 6.

С диссертацией можно ознакомиться в читальном зале Отделения ГПНТБ: 630090, г. Новосибирск, 90, пр. Академика Лаврентьева, 6.

Автореферат разослан ":*г<С" . {^'^/е'Л'Ь 1991 г.

Ученый секретарь специализированного совета кандидат физико-математических наук

Сабельфёльд В. К.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность проблем* Среди факторов, затрудняющих в настоящее время адекватное удовлетворение потребности в программном обеспечении (ПО) в целом, следует выделить недостаточность производительности труда программистов и надежности разрабатываемого ими ПО.

Вместе с тем, в текущей ситуации основным этапом существования ПО, обеспечивающим повышение его надежности, стала фаза сопрововдения, на которую приходится от 50% до 70% общего объема затрат.

Перечисленные факторы, с учетом экспоненциального характера зависимости себестоимости разработки от объема ПО, обуславливают возмошость решения проблем производительности и надежности путем переиспользования системного и прикладного ПО и обеспечения развитой технологии производства программ.

Именно такое решение используется в известном проекте STARS с акцентом на язык АДА и обеспечением распространяемой технологии разработки ГО на его основе (Ada Programming Support 'Environnant) и родственном ему западноевропейском проекте (Portable Соптоп Tool Environment), учитывающем аспект многоя-зыковости разработок, в том числе в плане переиспользования накопленного ПО.

Определенный вклад в решение'обсуддаемых проблем был внесен при разработке и реализации . многопроцессорных вычислительных комплексов (ЫВК) ряда "Эльбрус" и их общего системного программного обеспечения. Особенности системы "Эльбрус" состоят:

- в аппаратной ориентации на поддержку языков высокого уровня;

. - переходе на высокоуровневое системное программирование;

- переносимости системного ПО в рамках ряда;

- реализации интегрированной многоязыковой системы программирования (МОЮ и т.д.

МСП МВК "Эльбрус" характеризуется.ориентацией на обеспечение повышенного уровня межъязыкового сопряжения, многодиалект-

ность включаемых в ее состав языков программирования. Она предоставляет многоязыковую технологию поддержки жизненного цикла разрабатываемого в вей ПО, которая основывается на унификации текстового» кодового и, в определенном смысле, оперативного представлений программных объектов, .представления соответствия текста и кода, на предоставлении унифицированных средств ведения перечисленных представлений (пакеты ИНТЕРТЕКСТ, ИНГЕРКОД, ИНГЕРПАЫ, ИНТЕРПОЛ) и предоставлении интегрированных многоявы-ковых компонентов СИМК) поддержи технологии.

Таким образом, в УСП ЫШ "Эльбрус" вопросы производительности и надежности программирования также решаются через организацию переисподьэования прикладного и системного ПО, обеспечение развитой технологической поддержки фаз существования программ.

Проект "Эльбрус" обеспечивает эволюцию, составляющего его системного Ю. Па этой основе проводится развитие в процессе внедрения языков в МСП (в том числе вновь создаваемых языков) всех ее.составляющих: поддержки технологии, поддержки трансляции, динамической поддержки исполнения и т.д.

• Данная диссертационная работа, посвящена проблемам развития МСП и связана, в основном, с развитием средств реализации современных языков модульного программирования. Этот этап развития предполагает решение следующих актуальных проблем:

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

- модификация существующей интегрированной структуры ШП, связанная с унификацией средств ведения модульных многоязыковых ПК (МПЮ;

- развитие динамической поддержки модульного программирования с учетом семантической близости модульных^средств современных языков;

■ -"унификация поддержки механизмов исключений как средства межъязыкового межмодульного взаимодействия, интегрального решения этой проблемы в комплексе с ыногоязьковыми компонентами обеспечения динамического диагностирования и отладки программ;

- наконец, .обеспечение версионной дисциплины ведения модульных МПК,' как естественное завершение средств их организации и ведения.

Цель работы - на основе анализа многоявыковой системы программирования МВК "Эльбрус" и учета опыта внедрения в нее распространенных языков традиционного процедурного ряда; учета современных тенденций развития языков модульного программирования расширить механизмы поддержки фаз разработки многоязыковых программных комплексов, усилить степень интегральности. системы, скорректировать требования к ее отдельным инструментальным многоязыковым компонентам. Целью работы является также упрощение интерфейса взаимодействия пользователей с МОП и расширение предоставляемых им возможностей.

К практическим целям работы относится реализация разработанных принципов в рамках систем программирования на базе языков КОБОЛ и Ада-Эльбрус.

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

На основе модели разработан подход к версионному программированию многоязыковых комплексов, рассмотрены основные проблемы его реализации.

предложен подход к созданию интегрированной поддержки высокоуровневой системы динамического диагностирования и отладки, решаемый в комплексе' с поддержкой языковых механизмов исключений. ,

В рамках впервые разработанных и реализованных для МВК "Эльбрус" СП КОБОЛ и СП Ада-Эльбрус создан значительный ряд входящих в их состав программных подсистем.

Практическая ценность. В рамках диссертационной работы раз-

работай ряд подсистем СП КОБОЛ и СП Ада-Эяьбрус, функционирующие на ШК "Эльбрус" и внедренных в эксплуатацию.

Личный вклад автора. Автором разработана модель организации н ведения МПК, а на ее основе - модель версионного программирования. Спроектированы механизмы их реализации. Разработан интегрированный подход к обеспечению динамической диагностики и отладки МПК, динамической поддержки языковых механизмов исключений. Ряд теоретических положений моделей и подхода апробированы при реализации систем программирования КОБОЛ и Ада-Эль-брус, где автором разработан, запрограммирован и отлажен ряд алгоритмов общим объемом 30500 строк на языке Эль-7б.

Апробация работы Основные положения и результаты работы докладывались на конференции молодых специалистов и членов НТО РЭС имени A.C. Попова (Москва, 1985), I Всесоюзной конференции "Применение и реализация языка программирования Ада" (Рига, 1987), Всесоюзной конференции "Методы трансляции и конструирования программ" (Новосибирск, 1988), конференции "Язык программирования Ада" (ТбилисиД988).

Структура диссертации. Диссертация изложена на 144 страницах машинописного текста, состоит из введения, четырех глав, заключения и списка литературы, включающего 127 названий.

СОДЕРЖАНИЕ РАБОТЫ

Во введении обосновывается актуальность решения проблем повышения надежности и производительности разработки ' ПО для удовлетворения возрастающего.на него спроса путем организации переиспользования и обеспечения развитой технологии поддержки жизненного цикла ПО. Определяется, что для текущего периода характерна значительная роль МСП в решении этих проблем. Затрагивается история развития подходов к построению МСП. Выявляется целесообразность построения интегрированных систем, поддерживающих технологию разработки, сопровождения и зкеплуата^ ции. Обосновывается принадлежность МСП МВК "Эльбрус" к данному классу систем. Ставится задача повышения качеств интегральнос-ти и технологичности ШП МВК, более полного учета тенденций развития средств декомпозиции в современных языках традицион-

ной процедурной линии.

Далее во введении дается краткая аннотация глав работы.

В главе 1 рассматривается подход к построению многоязыковой системы программирования системы "Эльбрус" и исследуются некоторые пути ее развития.

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

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

С учетом сформированного обобщенного набора средств организации, Известных форм существования ПК и связанных с ними способов подготовки комплексов к исполнению предлагается определенная структурная реорганизация интегрированного ядра МОП МВК и корректировка функций отдельных ее элементов, что отражено на рис. 1.

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

- от транслирующей подсистемы; ■

- в процессе организации динамического взаимодействия между объектными и оперативными представлениями программных единиц;

- от дополнительных средств,. используемых пользователями

г->

Диалоговый коммутатор

Коммутатор динамического взаимодействия

Корректор оперативного представления

Текстовый компонов-вдк

Банк мета-языковых объектных представлений

Верификатор межъязыковых сопряжений

Транслирующая подсистема (в т. ч.. частичная трансляция, трансляция в контексте произвольного допустимого языка)

1—>

Координатор (конфигурационное управление, версии, программная библиотека)

Условное пространство совокупных предствлений модулей

Текст Докум.

Код . . .

Оперативное представле-ление

Средства ведения совокупного представления модуля

Средства ведения ПВ

Средства ведения версий

Средства конфигурационного управления

Универсальный интерфейс пользователя

Рис. 1 функциональная схема поддержки способов организации МПК в рамках ПБ-модели

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

Далее в главе 1 вводится понятие программного пространства. В соответствии с математическим определением пространства как логически мыслимой формы (или структуры), служащей средой, в которой осуществляются другие формы и те или иные конструкции, программное пространство - структурированная форма, предоставляемая системой программирования для организаций, развития й использования программ на базе их декомпозиционных элементов. Программное пространство служит основой развертывания над ним технологической инструментальной поддержки фаз разработки, сопровождения и эксплуатации программ. Для программного пространства, тем самым, определяются способы группирования (например, справочники) необходимых представлений программных компонентов (например, файлы текста, кода, документации, внешних данных программ и т. д.), способы порождения таких представлений, способы адресации ' к группам и отдельным представлениям компонентов, способы организации взаимосвязей, взаимодеиствия, компоновки разнотипных представлений и т.д. В зависимости от контекста употребления столь широкого понятия, как правило, требуется доопределение вспомогательных характеристик. Так например, предполагается уточнение физического пространства, используемого в качестве основы развертывания программного пространства, поскольку последнее может реализоваться и в оперативной памяти, в момент исполнения программы, и на внешних запоминающих устройствах, и на совокупной оперативно-внешней памяти, в зависимости от рассматриваемого этапа существования программ.

Затем в главе 1 определяется путь развития МСП в отношении

средств организации и ведения МПК пользователями системы, строящийся на использовании общеязыковой семантической базы развитых модульных средств, на внедрении основанного на концепции абстрактных типов данных подхода (АТД-подход) к реализации системного отображения модулей ПК и выходу через него на аспекты общепринятой технологии разработки. Такой путь назван программно-библиотечной моделью ведения программных пространств (ПБ-модель) в силу использования термина "программная библиотека" языка Ада, который правильно отражает уровень языковой системы понятий средств декомпозиции, обеспечиваемый предлагаемой формой ведения МПК. ПБ-модель характеризуется еще и специальными средствами обработки модульных комплексов в целом. Элементы поддержи ЛБ-модели также находят отражение на рис.1. Б их число входят средства ведения совокупного системного представления произвольного модуля, обеспечивающие скрытие деталей его системного отображения, и набор средств 'ведения программной библиотеки (ПБ), поддерживающих работу пользователя на уровне понятий языковых модульных средств.

Таким образом, основная идея предлагаемой ПБ-модели заключается б следующем. Разработчики формируют и модифицируют модульные МПК на уровне семантик используемых языков, что означает оперирование модулями с присущими им типами по соответствующим программным именам под контролем языковых правил организации и трансформации модульных систем с учетом возникающих межмодульных взаимосвязей и т. д. При этом исключается достаточно традиционное видение разработчиками системной. сущности отображения программ в СП (файлы текста, кода, документации, промежуточных представлений и т. д.), а дополнительные технологические средства доступны в качестве набора функций по обработке модулей и ПК в целом, что достигается за счет скрытия вспомогательных технологических представлений модулей на основе АТД-подхода. Наконец, ПБ-модель (как и проект ее реализации) значительно • ориентирована на предоставление расширенных возможностей по организации межъязыковых сопряжений, на их развитие и углубление.

В главе 2 детально раскрывается суть ПБ-модели. Для этого, прежде воего, проводится анализ средств декомпозиции языков с

развитыми модульными свойствами в плане влияния на организацию поддержи динамического исполнения МПК, на средства технологии разработки и сопровождения. Анализ приводит к формированию обобщенного набора свойств средств декомпозиции "в рамках следующей классификации:

- экспортируемые модулем ресурсы;

- видимость ресурсов;

- именование модулей и ресурсов;

- правила компиляции и перекомпиляции модулей;

- правила порядка предвыполнения;

- свойства настраиваемое™ модулей;

- свойства скрытия реализационной сущности;

- способы генерации экземпляров модулей (статический, динамический) ;

- возможности модульной рекурсии;

- возможности параллельного взаимодействия;

- специфические возможности взаимодействия (исключения).

Каждая из позиций классификации существенно содержательна

Например, видимость ресурсов, во-первых, может классифицироваться как глобальная, регламентируемая, блочная, смешанная, во-вторых, может управляться по месту открытия в использующем модуле, в-третьих, регулироваться по полноте видимости ресурсов и так далее.

Делается вывод о принадлежности модульных средств языков традиционного процедурного ряда единой модульной концепции, то есть о их непротиворечивости и взаимной дополняемости в целом, что становится основой развития унифицированной поддержки модульных свойств по аспектам организации, трансляции, технологии разработки, сопровождения, тиражирования и эксплуатации, наконец, динамической поддержки модульных МПК

Далее в главе 2 детально обсуждается предлагаемая модель ведения программной библиотеки 1 (ПБ-модель) и . проектируются элементы ее реализации. Для этого выделяются общетехнологический (в смысле пригодности для разработки модульных МПК на любом входном языке МСП) и модульный общеязыковый аспекты модели. Общетехнологический аспект включает предоставление наряду с общепринятыми средствами и специализированных средств комп-

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

В главе 2 анализируется ряд разработок систем программирования для развитых модульных языков и выявляется тенденция усиления языкового декомпозиционного фактора в средствах ведения ПК Показывается родственность рассмотренных подходов принципам построения ПБ-моделш.

Затем специфицируются средства поддержки модульного Общеязыкового аспекта ПБ-модели, апробированные автором в СП Ада-Эльбрус и включающие возможности отображения и коррекции типов модулей, их состояний в модульном контексте, их взаимосвязей в рамках системы и другие возможности. Определяются пути организации и системного ведения ЫПК на уровне языковых модульных понятий, включая модификацию, трансляцию, перетрансляцию, отражение состояния и г. д. на основе средств поддержки общеязыковой семантики. Формулируются требования к набору инструментальных многоязыковых компонентов по поддержанию предложенного языкоориентированного пути ведения ЫПК с учетом возможностей межъязыкового сопряжения.. Формулируются требования (принципиально новые и дополнительные к уже обеспеченным) к ядру МОП МВК, его общей организации, набору и функциям компонентов. Поддержка конструирования МПК на уровне языковых понятий средствами ядра МСП отражена на рис.2, где представлен набор инструментальных многоязыковых средств системного ведения многомодульных программ (система информирования о ЫПК, система компилирования МПК и т. д.), приведен набор реализационных интегрированных инструментов (система развертывания многоязыкового контекста трансляции модуля, средства организации отображения типов, состояний, связей модулей и т.д.), поддерживающих функционирование инструментальных многоязыковых средств. Кроме того, на схеме отражена гипотетическая система восприятия формализованной семантики языковых средств декомпозиции, выделенная на схеме ломаной линией, для рассматриваемого в работе класса языков. Эта система призвана упростить настройку интег-рированнных компонентов на вновь включаемые в МОП МВК входные языки.

Интегрированная многоязыковая система поддержки

Инструментальные■ средства

Система инфор-информирования о МПК

Система организации и ведения МПК

Система редактирования текстов МПК

Система компилирования МПК

Система запуска МПК на исполнение

Система отладки и диагностирования МПК

Система тестирования ЖЖ

Система документирования ыпк

Координатор в ПВ-пространстве

Верификатор межязыковых сопряжений

Система развертывания многоязыкового контекста трансляции модуля

Система ведения унифицированного промежуточного представления спецификаций модулей

Средства отображения типов, состояний, связей модулей

Система восприятия семантики понятий языковых программных библиотек (ЯПБ)

Результат -> обработки задания

>

Формализованное представление семантики ЯПБ (правила компиляции и перекомпиляции, правила видимости, типы отношения модулей, правила модификации ПК, правила межязыковых сопряжений, правила упорядочивания предвыполнения модулей и т. д.)

Рис. 2 Схема отображения функций МСП по поддержанию модульной метаязыковой семантики в рамках МПК

Наконец, детально обсуждается общетехнологический аспект в рамках предлагаемой модели и схемы ее реализации в сопоставлении с существующим состоянием дел в ДОП МВК "Эльбрус". Обсуждение строится следующим образом.

Сначала детально анализируются пути и оледствия обеспечения базисных средств организации МПК (специфицированных в главе 1), в том числе, в плане сочетания с общеязыковым фактором ПБ-модели и его реализацией. Определяются способы обеспечения в ПБ-модели возможностей предшествующих форм ведения Ж

Затем рассматриваются функции ключевых инструментальных многоязыковых компонентов по поддержке ПБ-модели ведения ШК. Исследуются вопросы сочетаемости АТД-подхода к отображению модулей и ПБ-модели с обеспечением, по крайней мере, общепринятой технологии разработки ПК

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

Итак, основными чертами ПБ-модели и проекта ее реализации следует считать:

- упрощение взаимодействия пользователя с МСП путем скрытия реализационных аспектов отображения ШК и поддержки технологии за счет использования АТД-подхода к отображению модулей и перехода на уровень оперирования языковыми понятиями;

- определенная унификация в отношении используемых языков разработки средств ведения ШК благодаря подобию модульных средств рассматриваемого класса языков;

- обеспечение традиционных и новых путей организации МПК, обеспечение возможностей предшествующих форм организации программных пространств;

- предоставление средств комплексного ведения МПК;

- обеспечение перспективы развития межъязыковых сопряжений на уровне микро- и макроконструкций.

Далее в главе 2 рассматриваются вопросы динамической поддержки исполнения многоязыковых многомодульных программ.

С учетом обобщенного набора свойств средств декомпозиции определяется достаточность средств динамической поддержки мо-

дульного программирования системы "Эльбрус" по отображению динамической модульной семантики рассматриваемого ряда языков.

Особо выделяется вопрос подготовки модулей к исполнению в силу сложности и трудоемкости его решения в части подготовки и проведения процесса активизации модулей для начала исполнения. Предлагается решение (опробованное, в принципе, автором в ходе разработки и реализации систем программирования КОБОЛ и Ада-Эльбрус) выявленных основных проблем этого периода путем реализации монитора предвыполнения. Интерфейс взаимодействия с монитором совместим с существующим интерфейсом системных средств активизации модулей, поэтому вероятно и реализационное совмещение функций монитора с этими средствами. Определено назначение монитора и его интерфейсные функции: распределение и контроль за освобождением памяти под модульные ресурсы, обеспечение доступа к информации, специфицирующей состояние, связи и т.д. модулей, генерация, смена состояния и ликвидация экземпляров модулей и т. д.

Унификация средств поддержки предвыполнения способствует упрощению и углублению возможностей по сопряжению разноязыко-вых модулей.

В главе 3 предлагается интегрированный подход к решению вопросов создания универсальных средств динамической поддержи языковых механизмов исключений и обеспечения'возможностей динамического диагностирования и отладки ШК. Подход сформирован автором в ходе разработки и реализации средств динамического диагностирования и средств поддержи исключений для систем программирования КОБОЛ и Ада-Эльбрус.

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

Сложности реализации механизма исключений даже с учетом развитости соответствующей программно-аппаратной поддержки системы "Эльбрус", наличие механизмов исключений в ряде языков (ПЛ/1, Ада, Югу, Фортран 8Х), большое их семантическое подобие , а значит и подобие в их реализации наталкивают на путь

■ - 16 -

создания интегрированной многоязыковой поддержи в области так называемых "стандартных" исключений.

Подобие процессов отождествления стандартных исключений и системных ситуаций с процессами проведения динамического диагностирования и отладки приводит к гипотезе о возможности их поддержки единым интегрированным механизмом - системой динамического- диагностирования, отладки и поддержки исключений, при этом особенно проявляется системная сущность решения проблем построения ЮТ

Следует отметить, что такое решение подготовлено внедренным в МОП ЫШ подходом к обеспечению многоязыкового динамического диагностирования и отладки. Решение предусматривает использование существующей реализации этого подхода в качестве диагностического средства системного характера при возникновении еще неучтенных ситуаций, что не выглядит парадоксальным в системе "Эльбрус" с ее концепцией высокоуровневого системного программирования.

Проблема интеграции решается путем использования специализированного языка описания нештатных ситуаций и реакций на них (язык спецификации'ситуаций). Язык базируется на общеязыковой системе понятий, принятой для представления, устанавливающего соответствие текста и кода в МСП МВК. Решение обеспечивает ускоренное . внедрение средств поддержки исключений и средств динамического диагностирования и отладки для подключаемых к МСП языков за счет обобществления в качестве инструментальных многоязыковых компонентов средств идентификации прерываний как языковых ситуаций, диалоговых средств взаимодействия с интегрированной ■ системой и т. д. По своей эффективности оно равноценно моноязыковому подходу, позволяет принимать наиболее подходящее решение в объективно обусловленном диапазоне от эффективности при исполнении до экономичности в представлении информации для идентификации.

Вопроры отладки предлагается решать путем внедрения специализированных языковых средств для описания точек отладки того же класса, что и средства описания ситуаций. '

В качестве основных преимуществ рассматриваемого в главе .решения следует выделить:

- обеспечение полной адекватности средств поддержки исключений, динамической диагностики и отладки языкам, включаемым в МСП; ' •

значительную экономию системного ГО,и времени расширения набора языков МСП;

- повышенную технологичность внедрения языков ■ в данной проблемной области, за счет использования языковых средств;

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

- обеспечение достаточной эффективности, что особенно принципиально в области поддержки исключений.

Функциональная схема реализации предлагаемого подхода приводится на рис. 3 и отображает все основные компоненты интегрированной системы обеспечения диагностики, отладки и поддержки исключений, а также внешний контекст ее работы в плане взаимодействия с существующая! базовыми компонентами МСП (интерпакетами) и подсистемами включения в МСП отдельных языков.

В глава 4 исследуется актуальная проблема организации вер-сионного ведения МПК, разрабатываемых с использованием языков с высокоуровневыми модульными средствами. Возможности версион-ного программирования рассматриваются как естественный и необходимый этап развития возможностей по организации и системному развитию модульных МПК, обеспечиваемых ПБ-моделью. В силу чего предлагаемый подход .строится на основе поддерживаемых ПБ-моделью языковых конфигурационных свойств и АТД-подхода к отображению модулей.

Обосновывается достаточность базовых средств системы конфигурационного управления и версионного программирования системы "Эльбрус" для реализации предлагаемого подхода

Подход отличается от известных тем, что не предусматривает на уровне пользователя специальных средств описания конфигураций (ни языковых, ни системно-технических),, а базируется на определяемых непосредственно в языках программирования понятиях программных конфигураций.

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

тимальности представления.

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

Подход учитывает все рассмотренные в главе 1 виды организации МПК.

Рис. 3 Структура системы диагностики, отладки, поддержки исключений

Реализация модели предполагает тесное взаимодействие базовых средств поддержки версионного программирования (которые, в принципе, в виде макетных возможностей разработаны автором в

рамках развития системы программирования Ада-Эльбрус) со средствами поддержки ПВ-модеди. Легко прогнозируемо внедрение и тех и других средств в ШП путем расширения набора интерпакетов.

К основным принципам предлагаемого подхода относятся:

- использование языковых средств конфигурирования;

- оперирование понятием варианта программной системы в целом;

- обеспечение оптимальности представления вариантов Внутренними средствами системы;

- сочетаемость с возможностями организации МПК ПБ-модели;

- ориентация на обеспечение межъязыкового связывания конфигураций;

- обеспечение синхронного и асинхронного способов развития программ группами разработчиков;

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

- ограничение лишь языковоопределяемыми правилами возможностей межконфигурационного взаимодействия для обеспечения расширенного переиспользования;

- упрощение интерфейсных средств за счет их близости к языковым понятиям.

В злклзочении приведены основные результаты диссертационной работы:

1. Разработана и обоснована модель организации и ведения многоязьзшвых ПК, учитывающая известные способы связывания, базирующаяся на подобии модульной семантики языков традиционного процедурного ряда; определен ее внешний интерфейс; предложен структурный проект ее реализации и определены основные функции элементов проекта."

2. Разработана и обоснована модель версионного ведения ЫПК; определена структура, функциональный состав реализующей ее системы.

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

при функционировании МЛН.

4. Сформулированы предложения по развитию средств.динамической поддержки исполнения модульных программ общего системного КО МВК "Эльбрус" возможностями поддержки процессов пред-выполнения модулей.

5. Разработаны и реализованы при внедрении в ШП МБК "Эль-, брус" языка КОБОЛ:

- механизм компиляции раздела данных с получением соответствующего объектного кода;

- механизм компиляции языковых элементов модуля межпрограммных связей с получением соответствующего объектного кода;

- метод и средства формирования обвей структуры объектного кода программы;

- средства формирования представления соответствия текстового и кодового представлений программы;

- модуль динамического диагностирования программы.

6. Разработаны и,реализованы при внедрении в МОП МВК "Эльбрус" языка Ада-Эльбрус:

- механизм объединения фаз анализа модулей и синтеза их объектного представления, средства системного сервиса;

- средства общей организации фазы синтеза, средства генерации структуры кода модуля, средства формирования таблично-символьного представления модуля., средства формирования кода;

- метод и средства формирования общей структуры объектного кода модулей, объектного кода внутримодульных конструкций типа процедура, пакет, оператор block;

- метод и средства формирования объектного кода языковых элементов механизма исключений; '

- средства диалогового и пакетного взаимодействия с системой Ада-Эльбрус;

- распределенный механизм реализации программной библиотеки, явившийся практическим прототипом модели организации МПК (ее основных концепций: оперирование языковой системой понятий, поддержка комплексных средств обработки модульных систем, ATД-подход к реализации модулей).

Автор выражает благодарность коллегам по разработкам СЛ. КО-

ВОЛ и СП Ада-Эльбрус sa плодотворное сотрудничество, КХ И. Миха-левичу . за постоянную поддержку. И. В. Шттосину за советы по данной работе и помощь в подготовке ряда публикаций по теме диссертации. Автор благодарит научного руководителя R Г. Чебла-кова га постоянное внимание, поддержку и помощь.

Основное содержание диссертации опубликовано, в следующих работах:

1. Запреев С. С. О реализации функции .создания ДЮК программы в KOBOJî-трансляторе // Конф. молодых специалистов и членов НТОРЭС им. А. С. Попова: Тез. докл. - Мэсква, И1М и ВТ, 1985. -С. 94-95.

2. Запреев С. С. О реализации модуля межпрограммных связей в КОВОЛ-трансляторе для ЫВК "Эльбрус"//Еонф. молодых специалистов-и членов НТОРЭС им. А. С. Попова: Тез. докл. - Мэсква, ИГМ и ВТ, 1985. - С. 97-99.

3. Запреев С. С. Использование средств общего системного программного обеспечения МВК "Эльбрус" в реализации системы программирования Ада-Здьбрус // Применение и реализация языка Ада: Тез. докл. / I Всесоюз. науч. конф., Рига, 1987. С. 42-43.

4. Запреев С. С. Системная среда поддержки конструирования программных комплексов на.ЫВК "Эльбрус"//Методы трансляции и конструирования программ: Тез. докл. ' / Всесоюз. конф. Новосибирск, 1988. - С.. 89-91.

5. Запреев С. С. Язык Ада в многоязыковой среде МВК "Эльбрус"// Язык программирования Ада: Тез. докл. / Науч. конф., Тбилиси, 1988; - С. 22-25. '

6. Запреев С. С. Ада-Эльбрус. Фаза синтеза транслятора. -М., 1989. - 33 с. - ( Препринт/АН СССР. Ин-т точной механики и вычисл. техники. Новосиб. фил.;. N18).

?. Запреев С. С. Ада-Эльбрус. Реализация исключений. - М., 1989.-20 с. - (Препринт/АН СССР. Ин-т точной механики и вычисл. техники.- Новосиб. фил.; N 17).

8. Запреев С. С. АДа- Эльбрус. Работа в системе программирования. - Новосибирск, 1990. - 38 с. - (Препринт/АН СССР. Ин-т точной механики и вычисл. техники^. Новосиб. фил. ; N 4).

9. Запреев О. С. Ада-Эльбрус, Программная библиотека. - Новосибирск, 1990. - 58 с. - (Препринт/АН СССР. Ин-т точной механики и вдайся, техники. Новосиб. фил.-, N8).