444 000 произведений, 109 000 авторов.

Электронная библиотека книг » Владимир Липаев » Очерки истории отечественной программной инженерии в 1940-е – 80-е годы » Текст книги (страница 9)
Очерки истории отечественной программной инженерии в 1940-е – 80-е годы
  • Текст добавлен: 5 октября 2016, 22:41

Текст книги "Очерки истории отечественной программной инженерии в 1940-е – 80-е годы"


Автор книги: Владимир Липаев



сообщить о нарушении

Текущая страница: 9 (всего у книги 20 страниц) [доступный отрывок для чтения: 9 страниц]

3.3. История разработки основной операционной системы ОС ЕС

В августе 1968-го года в НИЦЭВТе было сформировано отделение системного (технологического) программного обеспечения [24]. В 1970-м году его возглавил Леонид Дмитриевич Райков, руководивший работами по программному обеспечению семейства ЕС ЭВМ бессменно более 20 лет.

В ГДР работали несколько машин IBM-360, и специалисты комбината «Роботрон» имели хороший опыт освоения ДОС-360 и ОС-360. В начале 1970-го года комбинат «Роботрон» принял делегацию специалистов НИЦЭВТ, которая сгенерировала на машине IBM-360 технологический вариант операционной системы. Результатом последующих командировок программистов НИЦЭВТ в ГДР были распечатки молу лей ОС IBM-360 на языке Ассемблер, полученные с помощью специально разработанной программы. В том же 1970 м году был оформлен контракт на совместную разработку ДОС ЕС и ОС ЕС специалистами НИЦЭВТ и комбината «Роботрон». Был найден удачный вариант контракта, когда коллективы, работая отдельно на своих площадях и при собственном финансировании, производили половину общего объема работ и результаты передавали партнеру. Таким образом, при выполнении своих обязательств каждая сторона получала полный продукт при половинном финансировании.

В 1970-м году в ВЦ НИЦЭВТ появились две модели IBM-360/40, а в сентябре 1972-го года к ним добавилась модель 145 семейства IBM-370. Машины были куплены в ФРГ в обход существовавшего эмбарго западных стран и существенно ускорили процесс создания ОС ЕС, а главное – обеспечили контроль её совместимости с ОС-360. В апреле 1973-го года издание 10 ОС ЕС прошло государственные испытания вместе с ЭВМ ЕС-1050. Она предоставляла пользователю два режима пакетной обработки данных – однопрограммный и мультипрограммный с фиксированным (до 15) числом задач. Система была модульной и открытой для расширения. В ее состав помимо комплекса программ, управляющих данными, заданиями и задачами, входили компиляторы с языков Ассемблер, РПГ, Фортран, Алгол-60, ПЛ-1, Кобол. Общий объем системы составил 2 млн. команд. В 1975-м году появилось издание 4.0, предоставлявшее пользователю три режима пакетной обработки данных: однопрограммный, многопрограммный с фиксированным числом одновременно решаемых задач (MFT) и новый – многопрограммный с переменным числом одновременно решаемых задач (MVT).

Важным этапом в развитии ОС ЕС был выпуск в 1976-м году издания 4.1, одного из наиболее популярных среди пользователей ЕС ЭВМ. В ОС ЕС издания

4.1 впервые появились:

диалоговый удаленный ввод заданий;

• общий телекоммуникационный метод доступа;

• обеспечение дисплеев в качестве консоли оператора;

• обеспечение 29 Мб накопителей на магнитных дисках;

• программное обеспечение графопостроителей.

ОС ЕС издания 4.1 насчитывала около 3 млн. команд, в ее состав входили 90 документов общим объемом более 16 тыс. страниц [24].

В 1978-м году была закончена разработка ОС ЕС 6.0 для второй очереди машин ЕС ЭВМ.

Система предоставляла пользователям ЕС ЭВМ три режима пакетной обработки: мультипрограммирование с фиксированным и переменным числом задач и новый режим виртуальной памяти, обеспечивающий 16 Мб виртуальной памяти для самой системы и пользователей ЭВМ. В ОС ЕС 6.0 впервые появились:

программное обеспечение 100 Мб накопителей на магнитных дисках;

• обеспечение режима разделения времени;

• обеспечение средств комплексирования моделей ЕС ЭВМ (адаптера канал-канал, средств прямого управления и общего поля внешней памяти);

• монитор динамической отладки;

• универсальное средство трассировки.

В ОС ЕС издания 6.0 получили дальнейшее развитие диалоговый удаленный ввод заданий (обеспечение дисплея ЕС 7906), средства восстановления для моделей ЕС 1060 и ЕС 1035, средства машинной графики и телеобработки (графический и базисный телекоммуникационный методы доступа в режиме виртуальной памяти), измерения и учета (системная мониторная программа в режиме виртуальной памяти).

С 1978-го года разрабатывалась ОС ЕС издания 6.1 — дальнейшее развитие системы 6.0. В этом издании ОС ЕС были обеспечены все модели ЕС ЭВМ-2 в полном объеме, развиты все компоненты ОС для режима виртуальной памяти, в том числе: средства комплекси-рования, диалоговый удаленный ввод заданий, общий телекоммуникационный метод доступа, обеспечение режима разделения времени. По мере развития ОС 6.1 разработаны девять ее модификаций, в которых усовершенствованы алгоритмы управляющей программы, расширена номенклатура периферийных устройств. В ОС 6.1 включено обеспечение многомашинной подсистемы ввода заданий РОС. Для нее были разработаны новые, усовершенствованные системы программирования Фортран, Кобол, ПЛ-1 (отладочный и оптимизирующий), подсистема ввода заданий КРОС, расширенная Сортировка-Объединение. ОС ЕС 6.1 была, самой распространенной и популярной из основных операционных систем ЕС ЭВМ.

ОС 7 ЕС издания 01 появилась в 1983-м году. В ней были усовершенствованы принципы функционирования предшествующих изданий ОС ЕС путем введения в систему в качестве основы концепции виртуальной машины. Это позволило упростить внутреннюю структуру ОС и благодаря этому повысить эффективность ее функционирования при сохранении программной совместимости на пользовательском уровне с предыдущими изданиями ОС ЕС. В состав системы ОС 7 ЕС входили две составные части: система виртуальных машин (СВМ ЕС разработки НИИЭВМ) и базовая операционная система (БОС). СВМ обеспечивала основу для функционирования ОС-7 ЕС путем реализации концепции виртуальных машин. С помощью виртуальных машин осуществлялись все режимы и подсистемы ОС-7 ЕС. СВМ ЕС с помощью подсистемы диалоговой обработки (ПДО) реализовала режим диалога.

БОС была предназначена для создания ОС и выполнения основных функций ОС ЕС. Она ориентирована на режим пакетной обработки и могла быть использована только в среде виртуальных машин. При этом сохранялась преемственность и программная совместимость с ОС ЕС издания 6.1 по программам пользователя. Ориентация БОС на функционирование только в среде виртуальных машин СВМ ЕС, определяла ряд ее особенностей по отношению к режимам управляющей программы (MFT, MVT, SVS) ОС ЕС издания 6.1. В состав БОС входили программы:

• управления заданиями, работой, задачами, данными;

• обеспечения машинной графики и средств телеобработки;

• системные обрабатывающие программы;

• средств восстановления, измерения и учета, генерации.

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

Система позволяла:

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

• организовать передачу заданий, распределение работ по выполнению заданий в сети и выполнение заданий;

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

До 1989-го года было выпущено четыре издания ОС 7 ЕС соответственно четырем изданиям системы СВМ. Подобная структура ОС 7 полностью оригинальна и не имела аналогов за рубежом [24].

Мультивиртуальная операционная система (МВС ЕС) разрабатывалась в НИЦЭВТ с 1984-го года в кооперации с комбинатом «РОБОТРОН» коллективом программистов под непосредственным руководством В.Г. Лесюка. Для ЕС ЭВМ она являлась дальнейшим развитием ОС 6.1 ЕС. МВС была предназначена для эксплуатации на старших моделях ЕС ЭВМ-2 и ЕС ЭВМ-3. Каждому пользователю она предоставляет адресное пространство размером 16 Мб вне зависимости от режима работы – пакетная обработка или в режиме разделения времени. В первом случае выполнение задания контролировала подсистема обработки заданий, во втором – монитор абонентского пункта. До 1989-го года были выпущены четыре издания системы МВС ЕС.

Операционная система реального времени (ОС РВ) была разработана в мае 1985-го года (первая версия) для бортовых ЭВМ Аргон, создаваемых в НИЦЭВТ и совместимых с ЕС ЭВМ (см. главу 2). Она была построена на базе ППП «Супервизор реального времени» (СРР). ОС РВ представляла собой универсальную операционную систему для управления в реальном масштабе времени устройствами ввода-вывода, в том числе и нестандартными на уровне процессов. Она могла функционировать как в монопольном режиме, так и совместно с ОС ЕС. В монопольном режиме выполнение программ происходит в среде ОС РВ без обращения к средствам ОС ЕС. В этом случае резидентные накопители на магнитных дисках не применялись. Монопольный режим был предназначен для управления вычислительным процессом как на одной ЭВМ, так и на вычислительном комплексе, использующем в качестве средств комплексирования адаптеры канал-канал.

Мобильняя операционная система для ЕС ЭВМ (МОС ЕС) – это интерактивная ОС общего назначения с разделением времени. Она представляла средства для создания мобильных программных комплексов, имеющих единый пользовательский интерфейс и функционирующих на ЭВМ различных архитектур под управлением операционных систем, концептуально совместимых с ОС Unix. Основным языком программирования в МОС ЕС являлся язык Си. Помимо этого, поддерживались языки Паскаль и Фортран-77. Диалог пользователей с МОС ЕС обеспечивал интерпретатор командного языка, сочетающего интерактивные средства с возможностями языка программирования. В МОС ЕС имелся диалоговый отладчик программ, средства программирования на языке Си, средства обмена с дисплейными комплексами ЕС 7920, генераторы синтаксических и лексических анализаторов, универсальный калькулятор, развитые средства редактирования и форматирования текстов, комплекс программ обеспечения межмашинного обмена, а также полностью автоматизированные средства информационного справочного обслуживания.

В течение 1975-го – 80-го годов был разработан ряд пакетов прикладных программ для применения в составе ОС ЕС. Назначение пакета супервизор реального времени (СРВ) – обеспечивать эффективное использование моделей ЕС ЭВМ с ОС ЕС, поддерживающих режимы реального времени с жесткими ограничениями на время отклика. Пакет прикладных программ «ОКА» был разработан в 1980-м году и представлял собой универсальную систему управления базами данных. Пакет предназначен в качестве базового для областей применения, использующих централизованные банки данных в режиме пакетной обработки и в режиме оперативного доступа с удаленных терминалов. Пакет функционировал под управлением ОС ЕС изданий 4.0, 4.1, а также 6.1 в режиме SVS. В 1984-м году закончена разработка ППП «ОКА-ВС», обеспечивающего расширенный набор функциональных возможностей и более эффективное использование виртуальной памяти.

В 1980-м году был закончен третий этап разработки ППП «КАМА>, в результате в него вошли локальный и удаленный комплексы терминалов ЕС 7920 со средствами форматирования сообщений и было обеспечено функционирование ППП «КАМА» под управлением ОС 6.1 в режиме SVS. Пакет прикладных программ для построения информационно-справочных систем представлял собой универсальный монитор телеобработки данных с развитыми средствами управления данными. Пакет был предназначен для использования при создании систем оперативного сбора и ввода данных, систем удаленной пакетной обработки данных, различного рода информационно-поисковых и информационно-справочных систем, работающих в режиме одновременного обслуживания широкой сети терминалов, обеспечивающих коллективный доступ и обновление общих массивов информации, интерактивных систем обучения.

Развитие операционных систем ЕС ЭВМ было ориентировано на возможность создания крупных комплексов программ большими коллективами специалистов предприятий, для автоматизации административных, финансовых, организационных, штабных и иных функций. Это способствовало освоению и массовому переходу в стране специалистов от программирования «в малом» к программированию «в большом» крупных программных продуктов. Стоимость прикладного математического обеспечения, имеющегося у пользователей для разных типов машин к этому времени должна, была составить уже 8 – 10 млрд. рублей. Широкий набор средств программирования и унификация программного инструментария в операционных системах ЕС ЭВМ позволяли в значительной степени автоматизировано переносить имеющийся задел прикладных программ на ЕС ЭВМ. Таким образом, мог быстро расширяться накопленный состав готовых прикладных программных продуктов [24].

Однако некоторые важнейшие концептуальные положения и функции программной инженерии не вошли в состав методов и средств операционных систем ЕС ЭВМ, даже последних версий. В них практически полностью отсутствуют средства автоматизации менеджмента и управления качеством крупных проектов программных средств, поддержка формирования и верификации спецификации требований к программным компонентам. Не уделено внимания методологии и поддержке координации и взаимодействия специалистов, совместно работающих над сложными комплексами программ, их сопровождению в процессе развития и модернизации с контролем и гарантированием качества. Тем не менее, стратегическое решение о развитии ЕС ЭВМ на основе IBM-360, позволило сконцентрировать ресурсы страны на промышленном создании необходимой номенклатуры аппаратуры вычислительной техники и инструментальных операционных систем для массовой эффективной разработки программных продуктов и систем автоматизации в различных отраслях народного хозяйства.

3.4. История технологической программной системы
ЭВМ М-10 и М-13

Технологическое программное обеспечение машины М-10 включало (1970-е годы): операционную систему, обеспечивающую разделение времени и оборудования, диалоговый режим одновременной отладки до 8 независимых программ и мультипрограммный режим автоматического прохождения до 8 независимых задач. Система автоматизации программирования, включала машинно-ориентированный язык – Автокод и проблемно-ориентированный язык – Алгол-60, соответствующие трансляторы и средства отладки; библиотеку типовых и стандартных программ; диагностические программы; программы контроля функционирования (тесты).

Сразу после установки ЭВМ, до завершения испытаний, проводилась отладка новых боевых программ [9, 11]. Долгое время не удавалось добиться устойчивой работы вычислительного комплекса с новой боевой программой. Каждые два – четыре часа происходили сбои ЭВМ с обнулением информации. Наработка на отказ составляла 10–15 часов. Причины сбоев разработчики боевой программы объясняли неустойчивой работой ЭВМ, а разработчики ЭВМ – ошибками в боевой программе. Несмотря на все усилия разработчиков, устойчивость функционирования ЭВМ повышалась медленно. Хотя наработка на отказ увеличилась до 40–50 часов, она, все же была значительно меньше той, что задавалась техническими требованиями. При грамотной эксплуатации и отработанной боевой программе количество отказов было впоследствии снижено в несколько раз по сравнению с данными, полученными на испытаниях.

На стадии программирования начались дискуссии между сторонниками единой, монолитной программы и ее модульного построения (в начале 70-х годов это было удивительно!?) [9]. Сначала победили представители первой школы. Но возникли большие трудности отладки при неустойчивой работе ЭВМ. Поэтому программу все же разбили на модули с простыми принципами передачи управления от модуля к модулю. Позже, при вводе КП СПРН, специалисты НИИВК сравнительно быстро повысили надежность ЭВМ М-10 до приемлемого уровня. На стадии комплексной отладки между алгоритмистами и программистами, работающими в разных подразделениях, возникали трения. Один из разработчиков, войдя в роль неформального лидера, взял на себя управление отладкой, и доработкой алгоритма в процессе отладки.

Еще одна трудность заключалась в том, что отлаживать программу до ввода ЭВМ на объекте было негде – изготавливаемые ЭВМ, шли с завода прямо на объекты. Поэтому монтаж аппаратуры и отладка программ велись последовательно, хотя выполнялись разными коллективами, которые могли бы работать параллельно. К тому же, качество изготовления и степень отладки аппаратуры были низкими, фактически доводка ЭВМ происходила одновременно с отладкой программ. Время разработки программ составляло от трети до половины времени создания всего объекта.

3.5. История технологии программирования для специализированных ЭВМ реального времени на БЭСМ-6 в 1970-е годы

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

Быстрый рост сложности функциональных задач и потребных ресурсов ЭВМ для их решения в 60-е годы, не могли быть удовлетворены при доступной в то время технической и элементной базе вычислительных машин. Эту проблему разработчики систем стремились решать путем адаптации архитектуры ЭВМ к особенностям и характеристикам сложных функциональных задач (см. п. 1.3). Наиболее сильно эта тенденция проявилась при необходимости применять вычислительную технику в мобильных системах оборонного назначения. Поэтому во многих организациях оборонной промышленности еще в конце 50-х годов начали разрабатываться многочисленные специализированные ЭВМ. При создании требований к таким объектным ЭВМ военного назначения для эффективного использования их ограниченных вычислительных ресурсов, необходим был детальный анализ алгоритмов и программ, предназначенных для функционирования в реальном времени.

В конце 60-х годов в МНИИПА (Московский НИИ приборной автоматики – НИИ-5 – директор Анатолий Леонидович Лившиц, а затем Владимир Алексеевич Шабалин) был выделен небольшой коллектив для разработки системы автоматизации программирования. Принципиально возможности открылись в начале 70-х годов в связи с появлением в институте ЭВМ БЭСМ-6. Началось создание системы автоматизации разработки и отладки программного обеспечения (САРПО) ЯУЗА-6 (под руководством Владимира Васильевича Липаева и Льва Александровича Серебровского). Эти работы были активно поддержаны со стороны руководства института и министерства. Министерством радиопромышленности СССР было открыто достаточное финансирование работ и последовательно значительно увеличен коллектив специалистов. Были сформулированы следующие основные концептуальные особенности САРПО ЯУЗА-6:

возможность автоматизированной настройки системы на структуру команд различных мобильных и бортовых, специализированных ЭВМ;

• три входных языка программирования для специализированных ЭВМ – автокод, макроязык, алгоритмический язык;

• высокое качество программ, транслированных с алгоритмического языка (коэффициент эффективности – расширения кодов программ в пределах 1,1 – 1,2);

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

• автоматизированный контроль структурного построения и использования памяти программами;

• автоматизированная отладка компонентов на универсальной технологической ЭВМ на уровне входного языка программирования с интерпретацией команд специализированной ЭВМ;

• автоматический выпуск документации на весь комплекс программ и на отдельные подпрограммы в соответствии с ГОСТами и пригодной для ввода программ в специализированную ЭВМ.

Перечисленные особенности отличали САРПО ЯУЗА-6 от обычных трансляторов как комплексную систему программной инженерии, предназначенную для автоматизации основных этапов разработки крупных комплексов программ, при условии высокой эффективности создаваемых программ по использованию ресурсов ЭВМ (рис. 3). Комплексная автоматизация должна была в несколько раз повысить производительность труда при разработке больших управляющих программ (размером порядка 100 тыс. команд). При этом должны были исследованы, и учитываться принципиальные особенности мобильных, специализированных ЭВМ и комплексов программ оборонных систем того времени [16, 18].

Значительное расширение функций автоматизации разработки программ на мощных технологических ЭВМ (БЭСМ-6), а также быстрый рост числа различных структур мобильных и бортовых ЭВМ, для которых была необходима автоматизация программирования, приводили к сокращению общей доли, изменяемой части инструментальных систем разработки программ для множества применяемых ЭВМ. В результате было показано, что экономически целесообразно выделять в инструментальных технологических системах программирования машинно ориентированную на специализированные ЭВМ часть программ, и отдельно автоматизировать их разработку. Впоследствии, примером могла служить система ЯУЗА-6, в которой из 400 тысяч команд, для настройки на различные специализированные ЭВМ оказалось необходимо всего около 3–5 % изменяемых команд- Для автоматизации такой настройки целесообразно было разработать дополнительную подсистему размером около 10–20 тысяч команд и соответствующие инструкции по ее применению.

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

Рис. 3

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

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

При полной трудоемкости создания ЯУЗА-6 около 300 человеко-лет, для адаптации всей системы на архитектуру любой специализированной ЭВМ, требовалось только около одного человеко-года квалифицированного специалиста.

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

• автокоды, предназначенные для записи программ с полным учетом структуры и системы команд конкретной специализированной ЭВМ;

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

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

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

Было исследовано расширение текста транслированных программ при программировании на языках высокого уровня. Для специализированных ЭВМ по отношению к программе, записанной на автокоде, трансляторы с макроязыка давали расширения не более 10 %, а с алгоритмического языка около 20 %. Поэтому при жестких требованиях к эффективности программы по занимаемому объему памяти и производительности, программирование рекомендовалось проводить на автокоде. При более слабых требованиях к полноте использования ресурсов специализированных ЭВМ и хороших трансляторах, алгоритмические языки оказывались предпочтительными, поскольку программирование на них удобнее и сопровождается меньшим числом программных ошибок.

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

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

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

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

В результате проведенных исследований были сформулированы основные особенности реализации системы автоматизации программирования и отладки, которые практически полностью были реализованы в системе ЯУЗА-6, построенной на технологической ЭВМ БЭСМ-6 в середине 1970-х годов. Исключение составляли задачи комплексной отладки управляющих программ в динамике, для реализации которых необходима была организация взаимодействия технологической и реальной управляющей ЭВМ.

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

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

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

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


    Ваша оценка произведения:

Популярные книги за неделю