Содержание к диссертации
Введение
МЕТОДЫ АВТОМАТИЗАЦИИ ПРОГРАММИРОВАНИЯ ДЛЯ ВСТРОЕННЫХ МИКРО-ЭБМ 12
1.1. Основная терминология средств микропроцессорной техники 12
1.2. Средства создания программного обеспечения
для встроенных микро-ЭВМ 14
1.3. Состав типового инструментального комплекса производства программного обеспечения встроенных микро-ЭШ 24
1.4. Инструментальные комплексы производства программного обеспечения на отечественных микро-ЭШ 32
1.5. Универсальный инструментальный комплекс как средство создания проблемных комплексов 34
1.6. Выводы по главе 42
2. СМЕШАННЫЕ ВЫЧИСЛЕНИЯ УПРАВЛЯЮЩИХ ПРОГРАММ В
ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ЯЗЫКАХ 45
2.1. Задачи и структура главы 45
2.2. Модель смешанных вычислений . 47
2.3. Классификация интерпретационных алгоритмов смешанных вычислений 54
2.4. Алгоритм UM 1л 56
2.5. Свойства алгоритма UMIX 79
2.6. Смешанные вычисления программ,взаимодействующих с аппаратурой 85
2.7. Выводы по главе 94
3. УНИВЕРСАЛЬНЫЙ ИНСТРУМЕНТАЛЬНЫЙ КОШЛЕКС РАЗРАБОТКИ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВСТРОЕННЫХ МИКРО-ЭШ 96
3.1. Задачи главы 96
3.2. Методика построения объекта 98
3.3. Методика построения универсального инструментального комплекса и настройки его к проблемным применениям 109
3.4. Методика конкретизации программного обеспечения встроенных микро-ЭВМ, созданного на 00Я 112
3.5. Архитектура универсального инструментального комплекса 120
3.6. Информационная база, диалоговая операционная среда,динамический отладчик и конкретизатор в УИК 124
3.7. Основные особенности применения универсального и проблемных инструментальных комплексов . 140
3.8. Выводы по главе 141
4. ИССЛЕДОВАНИН УНИВЕРСАЛЬНОГО И ПРОБЛЕМНЫХ ИНСТРУ
МЕНТАЛЬНЫХ КОМПЛЕКСОВ 144
4.1. Задачи и структура главы 144
4.2. Краткие сведения о разработанных проблемных инструментальных комплексах 145
4.3. Исследуемые характеристики инструментальных комплексов 146
4.4. Исследование характеристик проблемных инструментальных комплексов 153
4.5. Исследование характеристик универсального инструментального комплекса 168
4.6. Выводы по главе 174
Заключение 177
Литература
- Основная терминология средств микропроцессорной техники
- Задачи и структура главы
- Методика построения объекта
- Краткие сведения о разработанных проблемных инструментальных комплексах
Введение к работе
В "Основных направлениях экономического и социального развития СССР на I98I-I985 годы и на период до 1990 года", принятых ХХУІ съездом КПСС, поставлена задача обеспечения широкого применения встроенных систем автоматического управления с использованием микропроцессоров и микро-ЭВМ \l\.
Для решения этой задачи отечественная промышленность освоила выпуск микропроцессорных комплектов и разработанных на их базе микро-ЭВМ. Сфера применений средств микропроцессорной техники чрезвычайно широка и разнообразна: это автоматизированные станки и установки, робототехнические комплексы, гибкие автоматизированные производства. Это средства производства, которые определяют будущее нашей промышленности -соответственно задача их автоматизации особенно актуальна [2,з]г. Основной причиной, сдерживающей повсеместный рост внедрений в промышленность систем на базе микропроцессорной техники, является языковый барьер между ЭВМ и конечным пользователем. Кроме того, сдерживающим фактором является отсутствие технологий разработки программного обеспечения, ориентированных на конкретную проблематику, что приводит к низкой производительности труда программистов. Указанные обстоятельства усугубляет фактор отсутствия достаточного количества квалифицированных программистских кадров, поскольку никакого количества профессиональных программистов не хватит для сопровождения программ, используемых конечными пользователями во всем спектре решаемых шли задач [4]. "Только научная разработка методов автоматизации программирования и внедрение индустриальных способов производства и тиражирования программного продукта наряду с глубокой прора- - б - 'боткой проблем стандартизации и совместимости средств вычис-» лительной техники позволит достижениям микроэлектроники, обеспечившим появление мощных и дешевых микропроцессоров, превратиться в общий прогресс вычислительной техники" [бJ -отметил академик Е.П.Велихов.
Это означает насущную необходимость покрытия комплексными средствами автоматизации всех фаз процесса разработки программного продукта. Технологические комплексы разработки программного обеспечения содержат средства методической, информационной, программной поддержки. Аппартная поддержка технологии программирования для микро-ЭВМ может осуществляться на мощной мини или большой ЭВМ, которая в режиме моделирования позволяет проверить правильность функционирования разработанных программ в соответствии с кросс-методом автоматизации программирования для микро-ЭВМ. Наряду с кросс-методом, не позволяющим проверить все особенности взаимодействия программ микро-ЭВМ с аппаратным окружением, используется резидентный метод, в котором для целей создания и отладки программ используется технологическая микро-ЭВМ того же семейства, что и управляющая.
Резидентный метод позволяет провести комплексную отладку программного обеспечения управляющих микро-ЭВМ в цеховых условиях в составе той системы управления технологическими процессами, для которой готовится программное обеспечение. Для такой работы в производственных условиях инструментальный комплекс производства программ должен быть компактным, но обеспечивать не меньший сервис, чем стационарный.
Реализация резидентного метода на базе компактного инструментального комплекса производства программного обеспечения для микро-ЭВМ, ориентированного на проблемный язык обще- ния,близкий конечным пользователям, является перспективным способом расширения областей внедрения микропроцессорной техники в реальное производство.
Широкое использование существующих отечественных резидентных систем автоматизации программирования затрудняется их ориентацией на программистов высокой квалификации и особенностями реализации, требующей значительных аппаратных ресурсов.
Отсутствие эффективных проблемных инструментальных систем, ориентированных на квалификацию широкого крута инженерных кадров, обуславливает актуальность темы диссертационной работы, которая подчеркивается тем, что задача создания высокоэффективных технологий программирования средств микропроцессорной техники включена в число основных программ ГКНТ СМ СССР в области развития программирования на ХП пятилетку.
Целью диссертационной работы является построение набора средств в рамках универсальной инструментальной системы автоматизации программирования, обеспечивающей оперативную разработку проблемных систем автоматизации программирования для встроенных микро-ЭВМ.
Для достижения поставленной цели решаются следующие задачи:
Разработка теоретической базы построения универсального и проблемных резидентных инструментальных комплексов с использованием механизма "свертки" понятий, присущего объектно-ориентированным языкам программирования.
Разработка методик построения универсального комплекса и создания на его основе проблемных инструментальных комплексов производства программного обеспечения для различных проблемных областей и разных микро-ЭВМ.
3. Создание на базе предложенной методики универсального' резидентного инструментального комплекса, характеризующегося следующими качествами: низкими трудозатратами на создание проблемных инструментальных комплексов; возможностью использования проблемных комплексов программистами низкой квалификации; высокой производительностью труда, обеспечиваемой проблемными комплексами; высокими техническими характеристиками получающихся проблемных комплексов; возможностью интеграции в создаваемом проблемном комплексе программных средств, реализованных с помощью других систем программирования; мобильностью универсального комплекса, т.е. независимостью комплекса от типа микро-ЭВМ и комплектации периферийных устройств; наличием средств повышения эффективности программного продукта в составе проблемных инструментальных комплексов.
Создание с помощью универсального комплекса ряда проблемных инструментальных комплексов.
Исследование возможностей и характеристик разработанных комплексов.
Исследование характеристик программного продукта, создаваемого с помощью разработанных проблемных комплексов.
Методологическую основу работы составляют: теория смешанных вычислений, теория схем программ, элементы теории множеств. Разработка программного обеспечения основывалась на принципах структурного программирования с использованием абстрактных типов данных.
Научную новизну составляют предложенные в диссертационной работе:
1, Классификация алгоритмов смешанных вычислений.
2. Алгоритм смешанных вычислений для управляющих прог рамм, написанных на объектно-ориентированном языке. S. Доказательства свойств предложенного алгоритма смешанных вычислений, важных для его практического применения.
Методики построения универсального инструментального комплекса и создания на его основе проблемных комплексов производства программного обеспечения для встроенных микро-ЭВМ.
Инструментальные программные средства, реализованные на основе предложенной методики, включающие: диалоговую операционную среду, информационную базу, динамический отладчик и конкретизатор программного продукта.
Результаты исследования универсального и проблемных инструментальных комплексов.
Практическая ценность работы определяется реализацией основных компонент универсального резидентного инструментального комплекса, обеспечиващего оперативное создание проблемных инструментальных комплексов разработки программного обеспечения для встроенных микро-ЭШ, внедрение которых приводит к существенному снижению трудозатрат на разработку программного обеспечения управляющих комплексов на базе микро-ЭШ, за счет повышения производительности труда работающих на нем программистов. Одновременно использование проблемных комплексов позволяет существенно понизить требования к квалификации программистов.
Реализация результатов работы. С помощью универсального комплекса создан ряд проблемных инструментальных комплексов, 4 из которых внедрены в 7 организациях. Кроме того, проблем- -іонне инструментальные комплексы внедряются в настоящее время ' еще в 4 организациях. Годовой экономический эффект от внедренных комплексов составил 170 т.рублей/год, что подтверждается соответствующими актами.
Достоверность научных результатов подтверждается опытом использования проблемных инструментальных комплексов в указанных организациях при разработке проблемного программного обеспечения для 3-х различных микромашин.
Структура работы. Работа состоит из четырех глав, введения и заключения.
В первой главе обсуждаются существующие методы построения инструментальных комплексов производства программного обеспечения для микро-ЭВМ, предлагается их классификация. На основе анализа литературы и потребностей пользователей определяются требования к возможностям и характеристикам универсального и проблемных резидентных инструментальных комплексов для микро-ЭВМ.
Во второй главе разрабатывается теоретическая база для построения универсального инструментального комплекса, базирующегося на основе объектно-ориентированных языков программирования. Излагается предложенный автором алгоритм смешанных вычислений для объектно-ориентированных языков, доказываются его свойства, важные для практических применений.
В третьей главе рассматриваются методики построения универсального инструментального комплекса и получения на его основе проблемных комплексов. Обсуждаются вопросы, связанные с причинами эффективной реализации, на основе предлагаемой методики, основных блоков универсального комплекса. Формируются ограничения, связанные с реализацией.
В четвертой главе приводятся результаты исследования воз- - II - можностей и характеристик разработанных универсального и проблемных инструментальных комплексов. Производится сравнение характеристик эффективности продукта и производительности созданных комплексов с соответствующими показателями основных резидентных комплексов на отечественных микро-ЭВМ.
Главы заканчиваются выводами. Выводы по всей работе даны в заключении.
На защиту выносится:
Предлагаемая автором классификация алгоритмов смешанных вычислений.
Предлагаемый алгоритм смешанных вычислений для объектно-ориентированных языков программирования.
Доказательства свойств предлагаемого алгоритма смешанных вычислений.
Методики построения универсального инструментального комплекса и создания на его основе проблемных инструментальных комплексов.
Реализация инструментальных средств универсального комплекса на основе предлагаемой методики.
Реализация проблемных инструментальных комплексов производства программного обеспечения для встроенных микро-ЭВМ, созданных с помощью универсального комплекса.
Исследование характеристик разработанного универсального и созданных с его помощью проблемных инструментальных комплексов. - 12--I. МЕТОДЫ АВТОМШЗЩШ ПРОГРАШИРОВАНИЯ ДЛЯ ВСТРОЕННЫХ МИКРО-ЭШ
I.I. Основная терминология средств микропроцессорной техники
Современный уровень развития средств микропроцессорной техники (МИТ) дал широкую номенклатуру изделий, использование которых в автоматических и автоматизированных системах различного назначения определяется областью применений; требованиями к квалификации персонала, обслуживающего МПТ; характеристиками аппаратных и программных средств МПТ.
Обсуждение различных типов средств МПТ для решения задач автоматизации управления технологическими процессами современного производства, научными исследованиями и т.п. необходимо проводить в рамках единой терминологии,следующие понятия которой следует считать устоявшимися [б,7,8].
Микропроцессор - программно-управляющее устройство, осуществляющее прием, обработку и выдачу цифровой информации, выполненное на основе больших интегральных схем (ШС).
Микропроцессорный комплект (МПК) - совокупность микропроцессорных и других БИС, совместимых по конструктивно-технологическому использованию и предназначенных для совместного применения щи построении средств ШТ.
Микропроцессорный модуль (МПМ) - функционально законченное и конструктивно оформленное в виде платы изделие на базе ШС МПК.
Микро-ЭШ - конструктивно-завершенная ЭВМ, реализованная на МПК или МПМ и оформленная в виде автономного прибора со своим интерфейсом обмена и комплексом программного обес- - ІЗ -печения.
По способу общения с внешним миром микро-ЭШ разделяют на функционально-автономные и встроенные [э].
Функционально-автономные - это универсальные серийные микро-ЭШ, которые отличаются от мини-ЭВЛ и больших ЭВМ только вычислительной мощностью, объемами оперативной и внешней памяти, комплектацией и производительностью периферийного оборудования. Функциональное назначение микро-ЭШ этого класса определяется составом програмшюго обеспечения и подключенными устройствами ввода-вывода. Они успешно применяются для конторских работ и решения задач управления в системах небольшой серийности.
Встроенными называются микро-ЭВМ, которые конструктивно являются частями какого-либо другого устройства, аппарата, технологического оборудования или машины. Основная область применения встроенных микро-ЭШ - это управление производственными процессами, управление технологическим оборудованием, автоматическое регулирование, автоматизация эксперимента. Встроенные микро-ЭВМ отличаются от универсальных специальной архитектурой, специальной комплектацией микропроцессорными функциональными модулями, специальной комплектацией периферии.
Под управляющим комплексом (УК) мы будем в дальнейшем понимать совокупность программных и технических средств, предназначенных для автоматизации управления объектом или сбора некоторой информации. В данной работе рассматриваются УК, использующие преимущественно встроенные микро-ЭШ.
Сфера возможностей применения УК на МЇЇТ чрезвычайно широка. Основной причиной, сдерживающей рост производства продукции с использованием микро-ЭШ, является низкая произво- дительность труда программистов, разрабатывающих проблемное ' программное обеспечение. Это связано, в основном, с недостаточностью средств автоматизации программирования и высокими требованиями к квалификации пользователя, которые предъявляют существующие средства МПТ. Поэтому вопрос создания и использования промышленной технологии программирования и средств ее инструментальной поддержки на микро-ЭВМ становится сейчас особенно актуальным.
Под технологией программирования понимается совокупность принципов, методов и средств, регламентирующих производство программного продукта [ioj.
Программный продукт (программное изделие) - это программа (или комплекс программ), предназначенная для использования в конкретной области применения, прошедшая приемо-сдаточные испытания, обеспеченная конструкторской и эксплуатационной документацией и готовая к эксплуатации пользователями без участия разработчика.
Инструментальный комплекс - это совокупность программных и технических средств, предназначенных для использования программистами при разработке программного обеспечения в соответствии с заданной технологией программирования. В работе мы будем рассматривать инструментальные комплексы (Ж), базирующиеся на микро-ЭШ и предназначенные, в основном, для создания программного обеспечения (ПО) управляющих комплексов.
1.2. Средства создания программного обеспечения для встроенных микро-ЭЕМ
Рабочая группа по технологии программирования Государственного комитета СССР по науке и технике провела в 1981 - 15 -году анализ развития средств программирования МИТ, который ' в частности показал, что развитие средств программирования МПТ идет традиционным путем, так же как для универсальных ЭВМ, без учета специфики ШТ. Утор_делается на языки, а не на технологию программирования. В качестве языков программирования для микро-ЭВМ используются, в основном, универсальные языки широкого применения - БЭЙСИК, СИ, ПАСКАЛЬ, ІШ/І и т.д. Для МПТ это особенно вредный путь, подчеркивается в материалах Рабочей группы ^II], так как языки программирования, какими хорошими они не были бы, обеспечивают лишь 15--20$ работ на всем технологическом цикле изготовления и эксплуатации программных средств МПТ. Кроме того, ни один из этих языков не учитывает таких специфических особенностей программирования для микро-ЭВМ, как проблемная ориентация каждой установки на базе микро-ЭВМ, ее связь с разнообразной внешней аппаратурой и того, что МПТ и, следовательно, средства ее программирования ориентированы на массового пользователя непрограммиста. Этот пользователь должен уметь самостоятельно производить разработку и модификацию ПО встроенных микро-ЭВМ.
В [l2j отмечалось: "Широко распространенная в настоящее время методика работы "по зарубежным прототипам" для МПТ принципиально не приемлема, так как основу программных средств МПТ составляет прикладное программное обеспечение, зависящее от аппаратур!, в которую встраиваются эти средства. Это программное обеспечение прототипов,как правило, не имеет". Все это говорит о высокой актуальности создания технологических комплексов производства ПО для встроенных микро-ЭВМ.
В качестве основных требований к инструментальным сред- ствам создания ПО для микро-ЭШ в [її] выдвигаются следующие:
Понижение требований к квалификации пользователя.
Существенное повышение производительности труда программиста, использующего эти инструментальные средства.
Обеспечение при реализации этих средств учета особенностей управляющих применений встроенных микро-ЭВМ.
Рассмотрим классификацию возможных вариантов реализации технологического комплекса для микро-ЭВМ с точки зрения этих требований. Классификацию Ж для микро-ЭШ предлагается проводить со следующих позиций: возможные варианты технических средств, используемых в Ж; возможные варианты программных средств, используемых в ИК.
Разновидности технических средств.
I. Резидентные комплексы автоматизации разработки программного обеспечения в портативной конфигурации, оснащенные терминалом, памятью для хранения программного и информационного обеспечения, устройством связи с объектом управления и иногда устройством передачи данных по локальной сети. Современные портативные резидентные комплексы имеют небольшие габариты и позволяют, если это необходимо, стыковаться с объектом через интерфейс ввода-вывода, заменяя УК на время натурных или полунатурных испытаний управляющей системы. Портативные Ж могут иметь в своем составе накопители на магнитной ленте или диске, но только для целей начальной загрузки и финишной выгрузки разработанного программного продукта [із]. Портативные ИК обеспечивают разработку программного обеспечения для других микро-ЭВМ, если они используют сход- ный МПК [l4,I5j. Область применения портативных ИК - это разработка, настройка и сопровождение целых групп УК технологического оборудования в современном производстве, УК, используемых для работы в автономном режме в полевых условиях, на удаленных объектах, т.е. там,куда привезти автоматизированное рабочее место (АРМ) разработки программного обеспечения на базе мини или микро-ЭВМ невозможно.
2. Резидентные комплексы - АРМ разработки ПО, содержащие кроме устройств связи с объектом и дисплейного терминала, на копитель на гибком магнитном диске (или постоянном), принтер и иногда графопостроитель. В случае использования таких АРМ для разработки ПО микропроцессорных систем на МПК, отличающихся от МПК, используемого в самом АРМ, последний комплектуется внутрисхемным эмулятором [іб]. Внутрисхемный эмулятор (ВЭ) позволяет провести полноценную отладку и тестирование программных средств для микро-ЭРМ на другом МПК в условиях натурных испытаний [l7J. Примером подобных систем является отечественный комплекс АРМ2-05/4 на базе GM-I800 [l8,I9j. В класс АН следует отнести ДВК-2,3, комплекс "Электроника 60/25", сюда же относятся персональные компьютеры ШЪ*»35 KoSess'O"^ , [l40]. Перечисленные инструментальные комплексы требуют относительно стационарной установки. Накопители на гибких дисках в комплексах типа ATM являются одним из основных источников ненадежности.
3. Терминальная станция - это АРМ разработки ПО с помо щью микро-ЭШ, подсоединенной к мощной мини или большой ЭШ и использующая ресурсы мощной ЭВМ в процессе разработки ПО [2l]. Большая (технологическая) ЭЕМ содержит кросс-систему автоматизации программирования [22,23J, которая через терми нальную станцию может использовать средства внутрисхемной эмуляции, как это сделано в системах и отечественных терминальных станпияхТС-7063, ТО-7206 [24]. Очень интересными является 8-те]жинальная система ПРА на базе CM-I800 с кросс-системой ЯУЗА на БЭСМ-6 [23 ] и система программирования для микро-ЭВМ типа "Электроника 60" на язы-кеі>иЦ25].
4. Кроме перечисленных вариантов аппаратного обеспечения инструментальных комплексов, использующих для отладки непосредственно микро-ЭВМ, в литературе достаточно широко представлена ветвь комплексов для микро-ЭВМ, использующих в своей работе только универсальную ЭВИ [2б]. Для отечественных систем подобного рода обычно используют ЭВМ ВС и БЭСМ-6. Программное обеспечение таких инструментальных ЭШ содержит кросс-систему автоматизации программирования, которая по мере возможности поддерживает основные этапы создания программного продукта [27,28,29].
Разновидности программных средств, используемых в инструментальных комплексах для микро-ЭШ. І. Ж производства ПО на проблемно-ориентированном языке или проблемный инструментальный комплекс (ПЖ). Под проблемно-ориентированным языком понимают [ю] язык, ориентированный на описание процесса решения определенного класса задач, учитывающий существенные особенности задач этого класса. Таким образом, в ПИК создание ПО УК ведется на проблемном языке, хорошо отражающем спеадфку области, для которой создается УК. ПЖ обычно являются моноязыковыми системами, обеспечивающими интеграцию в одном языке примитив программирования и управления вычислительным процессом. Подобные программные средства погружаются в операционную систему общефункционального типа, которая обеспечивает разграничение входных предло- жений на непосредственно исполняемые команды и тексты программ или данных, подлежащие последующей обработке. Операционные системы подобного рода часто реализуются в постоянной памяти [30,140J микро-ЭВМ и позволяют обеспечить большие удобства и высокий сервис проблемному программисту при создании УК, если он следует принятой в данной системе методике программирования [зі].
2. Моноязыковые комплексы на базе универсального языка типа БЭЙСИК, QU&SIC, ФОРТ [l25,3I,I26,32,2l]. Эти инструмен тальные комплексы, так же как и ПИК,обеспечивают простоту эк сплуатации за счет совмещения функций операционной системы и транслятора языка программирования.
3. Полиязыковые комплексы, построенные на базе единой операционной системы, обеспечивающей хранение информации с помощью файловой системы. Это программные системы традицион ной структурі [33,34,127]. Многоязыкоюсть их обеспечивается тем, что операционная система поддерживает один язык управле ния и еще столько языков программирования, сколько соответст вующих трансляторов в нее включено. Операционные системы та кого рода обычно используют внешнюю память на дисках. Заме тим, что основным признаком таких систем является жесткое противопоставление языка управления и языков программирова ния. Это свойство можно отнести также к системам программиро вания на ассемблере в перфоленточных операционных системах микро-ЭЕМ.
Большое количество языков программирования, которые включаются в операционную систему, дают возможность готовить проблемный полупродукт в рамках возможностей соответствующих языков программирования, а средства системы позволяют связывать объектные языковые модули в единые загрузочные модули - 20 -и сохранять их в файлах. Однако, возможности подобной инте-' грации объектных модулей невелики: обычно их соединяют в линейную последовательность, которую можно вызвать одной командой [зз]. Возможности структуризации хранимой в файловой системе информации ограничиваются одним, двумя жестко распределенными уровнями, что тоже не способствует межмодульной свертке. Используя данные примерно о 3000 небольших программ в системе UNIX J128J, можно видеть, что в этом случае представляемые возможности к свертке удовлетворили бы лишь шестую часть рассматриваемых модулей.
Использование полиязыковых ИК для создания УК более эффективно, чем одноязыковых только там, где на внутримодуль-ном уровне за счет одного из языков программирования полиязыкового ИК удается достичь уровня сверток понятий, значительно превосходящих соответствующий уровень для моноязыкового ИК. При относительно равных языковых возможностях многоязыковый Ж будет всегда менее эффективен, поскольку неэффективное манипулирование средствами разных языков программирования и управления, а также ограниченные возможности формирования межмодульных сверток, в значительной мере замедляют процесс создания конечного продукта.
4. Полиязыковые системы с информационной базой и развитым языком управления. К ним, например, относятся ИНМОС [35], система UNIX и ее производные XE.N1X , 0Ш , 1}&IS [зб], используемые для микро-ЭШ. Широкая популярность подобных систем для использования в качестве программного обеспечения технологических комплексов объясняется,как минимум,двумя преимуществами: развитым языком управления [129] и иерархической файловой системой [ізо].
Язык управления S^tlL обеспечивает в \JN\>^ реализацию сверток на модульном уровне, ни в чем не уступающую операционным сверткам на внутримодулъном уровне языка программирования. Более того, экспериментальные данные показывают [128], что в некоторых применениях примерно 60-75% сверток реализуются именно на языке управления.
Иерархическая файловая система позволяет хранить информацию в структурированном виде, обеспечивая к ней надежный и простой для пользователей доступ по траекториям имен узлов (справочников) в инфорлационном графе. Пользователь имеет возможность равноправного использования простых и траектор-ных имен в примитивах языка управления. Свертка необходимой информации осуществляется посредством именования или выделения в составе информационного графа подграфа, через который проходят все траектории имен к искомым данным, и последующего использования этого общего имени для групповых операций над выделенной информацией.
Полиязыковые Ж на основе идеологии UMX имеют существенные преимущества перед полиязыковыми Ж на основе файловой системы, с точки зрения их совместного использования при разработке программного изделия.
Возможные варианты сочетания разновидностей аппаратного и программного обеспечения, используемого при создании управляющих комплексов, приведены в табл.1.1. Невозможные сочетания обозначены значком "-". Для всех возможных сочетаний в таблице приведен минимальный уровень квалификации человека, который необходим, чтобы пользоваться этим комплексом. Для уровня квалификации введены следующие обозначения: "И" - инженер из области, где применяется микро-ЭВМ. Это непрофессиональный программист. Его квалификация предполагает глубокое знание проблематики применения и навыки работы
Таблица I.I Требования, предъявляемые инструментальными комплексами к квалификации программиста-пользователя - 23 -с одним инструментальным комплексом. Такой программист в диалоговом режиме формирует набор программ УК: одни непосредственно подключает из библиотеки Ж, другие программирует, используя проблемную инструментальную систему разработки программного обеспечения, и подключает к набору программ УК; "ШГ- проблемный программист. Это программист профессиональный. Квалификация программиста, кроме знания проблематики, требует глубоких навыков программирования на любом проблемном языке, а также любом универсальном языке, поддерживаемом Ж (символическом высокого уровня, символическом уровня ассемблера, машинном). Кроме того, требуются детальные знания об операционной системе (или системах), на которой базируется данный инструментальный комплекс, а также об архитектуре и особенностях реализации микро-ЭВМ.
В некоторых случаях программирование УК инженером не программистом требует эпизодического (но обязательного) участия программиста профессионала, например, для создания и отладки модулей на языке ассемблера микро-ЭВМ или другом языке программирования, входящем в состав операционной системы. В этом случае мы будем применять обозначение "И/ПЇЇ".
Из таол.1.1 видно, что кросс-системы (строка 4) предъявляют высокие требования к квалификации пользователя. Кроме того, они обладают еще одним существенным недостатком. С их помощью невозможно провести окончательную отладку программного обеспечения управлящих комплексов, так как в ПО УК важное место всегда занимают программы, взаимодействующие с аппаратным окружением. Полной отладки таких программ для ми-кро-ЭШ на большой ЭВМ провести невозможно [э].
Для технологических комплексов, базирующихся на терминальной станции (строка 3 табл.1.1), требуется наличие связи с универсальной ЭЕМ. Для пользователя Ж это требование часто оказывается затруднительно выполнить, особенно при проведении комплексной отладки УК на объекте. В дальнейшем, основное внимание сосредоточим на комплексах, не требувдих наличия универсальной дШ (строки I и 2 табл.1.1).
Из таблицы видно, что для того, чтобы обеспечить создание управлякщих комплексов только силами инженеров из проблемной области, не вынуждая их обладать всем набором знаний профессиональных программистов, необходимо использовать портативные комплексы и АРМ на микро-ЭШ, оснащенные проблемными инструментальными комплексами производства программного обеспечения на специализированном языке.
1.3. Состав типового инструментального комплекса производства программного обеспечения встроенных микро-ЭШ
Основной задачей Ж разработки ПО является поддержка средствами автоматизации по возможности всех этапов процесса создания программного продукта [37,10}. Рассмотрим компоненты ИК, обеспечивающие решение этой задачи. В состав типового резидентного комплекса производства программ для микро-ЭШ (здесь и в дальнейшем мы будем опускать слова "программной части" инструментального комплекса, так как обсуждаться, в основном, будет именно она) входят: операционная система, система хранения информации, транслятор (с одного или нескольких языков), отладчик, конкретизатор программного продукта и документатор. В табл. 1.2 приведена информация об использовании каждой компоненты Ж на соответствующей фазе разработки программного продукта: "пусто" означает, что компонента не используется; "+" - компонента используется на
Таблица 1.2 Использование компонент инструментального комплекса на различных фазах создания программного продукта фазы разработки программного продукта компоненты инструментального комплекса в
Ы й1
Ен>Є< О Я >0 И" СЙ CD РнС СО О Операционная система Система хранения информации Транслятор Отладчик Конкретизатор программного продукта Документатор - 26 -этой фазе. Фаза анализа требований не поддерживается средствами автоматизации в известных ИК, хотя ее трудоемкость составляет примерно 10$ трудоемкости всех работ. Фаза разработки функциональных спецификаций (10$ всех работ) в настоящий момент технически поддерживается крайне редко, хотя примеры организационной и методологической поддержки хорошо известны (системы SA*$T, /S^tM [37], РТК [38] ). Фаза проектирования системы (15$ трудоемкости) технически поддерживается в следувдих технологических системах ЩРО [40], Джексона [37], ПРИЗ [4l], РТК [42]. Причем в двух последних системах ИК реализованы кроме больших ЭЕМ и на микро-ЭВМ ЛррР«-2 и ДВК-2. На этой фазе происходит формирование описаний основных структур данных и определение их системы интерфейсов. Поэтому Ж, в состав которого входит транслятор, поддерживащий поэтапную трансляцию описаний модулей программного обеспечения, контроль допустимых типов и количества параметров, поддерживает эту фазу создания ПО. Степень этой поддержки увеличивается при реализации работы транслятора в интерактивном режиме с минимумом ограничений на формирование сверток. Поддержка этапа, ориентированная на графическое представление информации, реализована в РТК [42] И SMAfftA Ik [131,132]. Фаза кодирования (10$ трудоемкости) широко поддержана в существующих ИК на ассемблерных или развитых языках программирования. Особую эффективность реализации работ на этой фазе обеспечивает интерактивная резидентная система автоматизации программирования. Примерами ИК, в которых поддержана эта фаза, являются портативный ИК на базе ДВК-І для языка БЭЙСЖ [43], и AIM разработки ПО - ДЖ-2 для языков макроассемблера, ПАСКАЛЬ, МОДУЛА-2. Фаза автономной отладки (10$ трудоемкости). Автономная отладка на языке программирования является важным показателем качества Ж. Фаза комплексной отладки и тестирования (30$ тредоемкости) поддерживается в Ж значительно слабее. Проблема заключается в том, что в режиме отладочной прокрутки невыгодно прогонять большие объемы программ и трудно в условиях символической отладки обеспечивать контрольные точки всей необходимой текстовой информацией (листингами, словарями) [44]. Решение проблемы, как это отмечалось в ряде работ [125,45,46, 47,48,50] , заключается в совместной отладке программных интерфейсов, зафиксированных пользователем. Ниже уровня зафиксированных интерфейсов должен быть эффективно-оттранслированный код, выше этого уровня - представление, требуемое режимом символической отладки. Для портативного комплекса организация отладки интерфейсов может быть обеспечена в рамках системы программирования для расширяемого языка программирования типа АДА [5l], поддерживающего программирование в объектах с ограничением видимости. Важную роль в формировании интерфейсов играет методика поиска программных модулей в системе хранения Ж и методика их связывания. Простейшие файловые системы Ф0Д0С (ОС-ДЖ), ОС-1800 не позволяют смоделировать в системе хранения реальную структуру программной системы, что приводит к снижению эффективности символического уровня представления информации. Иерархические файловые системы типа использованной в ОС UNIX [ізо] или ИНМОС [Зб], исправляют этот недостаток, но требуют для своего развертывания больших для микро-ЭШ объемов памяти (порядка сотни килобайт). Экономное решение проблемы информационной базы с простыми для пользователя символическими методами доступа - ' необходимо для Ж на микро-ЭВМ. Наличие хорошей информационной базы в Ж должно поддерживаться средствами связывания как статического, так и динамического типа. Отладка в условиях натурного эксперимента, являщаяся частью комплексной отладки (1($ трудоемкости), специфична для программного обеспечения УК. Это отладка взаимодействия программ с аппаратурой. Как один из видов комплексной отладки, она осуществляется по интерфейсам или по протокольным историям взаимодействующих процессов. Поддержка отладки такого вида реализована в ряде систем, ориентированных на создание программ реального времени [52,16,46,53]. Интерактивная символическая отладка программ, взаимодействущих с аппаратурой, должна поддерживаться в отладчике Ж, ориентированном на разработку управлящих программ для УК. В состав аппаратуры Ж на период отладки должно включаться либо реальное аппаратное окружение, либо его имитаторы [54]. Фаза документирования программного продукта (10% трудоемкости) является важнейшей для закрепления результатов этапа разработки. Средства документирования, позволяющие сформировать программную и эксплуатационную документацию на систему, в соответствии с требованиями ЕСПД, входят в состав большинства Ж [33,70,50]. Однако, проблема заключается в том, что большая часть практически созданной документации - это не зафиксированный в процессе проектирования, соответствующий информационный срез, а вновь созданная по готовому продукту документация. Среди ИК наиболее перспективно организована поддержка процесса документирования в РТК, где документацией является последовательно уточняемая история чертежей-программ, проходящих в процессе последовательного уточнения ста- дни от функциональной спецификации до работающего кода. Этот процесс поддержан стандартизованной формой документирования ^42 J, неотъемлемой частью которой являются Р-графы. Фаза конкретизации (5% трудоемкости) специфична для Ж, ориентированных на разработку встроенных УК. На ней обеспечивается оптимизация параметров ПО УК по времени и памяти с учетом комплектации периферией, использования библиотечных подпрограмм, фиксации значений параметров, известных для данного применения. Рассмотрим известные способы повышения эффективности готового программного продукта. Фаза конкретизации в виде полуавтоматической сборки специализированных операционных систем поддерживается в ОС Ш/80, RMX/&8 , &MX/S6 [4б] для микропроцессорных систем на базе W-eli 8080, 8088, 8086, БК! РВ для CM-I800 [бб] и КТС ЛШС [бб] и позволяет формировать экономные по памяти УК. Направление, связанное с построением оптимизирующих трансляторов, широко освещено в литературе [57,58]. Но,как отмечено в [l33,59] , достаточное количество оптимизирующих трансляторов не обеспечено даже на универсальных ЭВМ, так как разработка каждого из них на порядок сложнее, чем неоп-тимизирующего транслятора. Заметим, что объем его примерно во столько же раз больше, а этот параметр для микро-ЭВМ очень критичен. Кроме того, в оптимизирующей трансляции есть нерешенная проблема сочетания раздельной трансляции модулей и глобального потокового анализа [бэ], необходимого для оптимизации программной системы. Первое существенно затрудняет реализацию оптимизирующего транслятора на микро-ЭШ, второе делает невозможным его применение в Ж, поддерживающем раздельную компиляцию модулей. - ЗО - Использование для конкретизации аннотированных программ ' [бО] предполагает дополнение программы специальными инструкциями - аннтотациями, в которых пользователь задает элементарные конкретизации для обрабатываемой программы. Использование этого способа, а также таких универсальных и традиционных инструментов кошеретизапий, как редактор текста или макропроцессор,предїявляют чрезмерно большие требования к пользователю. Ему в этом случае необходимо еще при разработке программы достаточно хорошо разбираться в том, как и на какое множество параметров ему придется настраивать свой программный продукт. Кроме того, отсутствие общей теории не позволяет в этих случаях безусловно гарантировать корректность преобразований программы [59]. Реализация конкретизатора во всем спектре его возможностей в рамках резидентного ИК разработки программного обеспечения мжро-ЭШ в настоящее время еще не выполнена. В цикле жизни программного продукта [37,10] существует еще этап сопровождения, который по трудоемкости равен или превышает этап разработки [бі]. В традиционных ИК эта фаза не поддерживается. Хотя в портативных Ж, оснащенных системой отладки по интерфейсам, можно обеспечить поддержку поиска ошибок на этом этапе. В п.1.2 были выдвинуты общие требования к инструментальным комплексам производства программного продукта для встроенных мжро-ЭШ. Сформулируем более подробные требования к реализации Ж, позволяющие обеспечить при работе с комплексом высокую производительность труда при минимальном уровне программистской квалификации пользователя. Рассмотрим перечень этих требований. ., I. Проблемная ориентация инструментального комплекса - ЗІ - [і2б]. Ж должен оснащаться единым языком программирования, ориентированным на специфическую область применения. В ИК должна быть обеспечена возможность создания управляющих программ в рамках сиглволического проблемного языка программирования. ИК должен обеспечивать интерактивный режим работы на всех фазах создания программного продукта [62], так как этот режим наиболее уцобен для пользователя. Отладка программ, создаваемых с помощью Ж, должна вестись на символическом уровне, в той проблемной терминологии, в которой велось программирование [б2,63]. Ж должен обеспечивать использование одного языка на всех этапах технологического цикла создания программного продукта [і25,126,1ЗО], т.е. необходимо такое согласование примитив языков управления и программирования, чтобы для пользователя система выглядела как проблемный комплекс с единственным моноязыком. Ж должен обеспечивать четкую фиксацию программных интерфейсов и обеспечение автоматического контроля межпрограммных сопряжений [49,5l]. Необходимо наличие средств модификации Ж без повторного создания комплекса в целом. Сюда относятся расширяемость как языка программирования, так и языка управления заданиями [125,51,130,126]. Ж должен обеспечивать создание программного продукта в "кремнии", т.е. осуществлять подготовку программ к размещению в БИС ПЗУ и ЇЇПЗУ, а возможно и производить их физическую запись в БИС. В составе Ж должны находиться средства повышения эффективности программного продукта, создаваемого комплексом, - 32 -по времени выполнения и по объему занимаемой памяти [б5,6б]. 1.4. Инструментальные комплексы производства программного обеспечения на отечественных микро-ЭВМ Рассмотрим существувдие Ж создания ПО для отечественных микро-ЭШ, определяя щи этом,на сколько они удовлетворяют сформулированным требованиям. Соответствующие данные по резидентным инструментальным комплексам для основных отечественных микро-ЭВМ приведены в табл.1.3. В первых двух графах таблицы приводятся названия рассматриваемых микро-ЭШ и систем программирования для них. Следующие две графы определяют место рассматриваемого ИК в классификации приведенной в табл.І.І. В соответствии с таблицей I.I для каждого из рассматриваемых Ж приводится минимально необходимый уровень квалификации программиста-пользователя. В последующих столбцах табл.1.3 приводится информация о том, каким требованиям из сформулированных в п. 1.3 удовлетворяют рассматриваемые Ж. Здесь "+" в соответствующей клетке означает, что требование удовлетворено полностью, знак "~" - удовлетворено частично, а пустые клетки оставлены там, где соответствующее требование вовсе не удовлетворяется конкретным ТК. Анализ табл. 1.3 показывает, что для существующих ИК микро-ЭВМ характерен высокий уровень требований к квалификации программиста - пользователя Ж, создающего управляющий комплекс (необходимо участие программиста профессионала). Так как, с одной стороны, число програілмистов высокой квалификации ограничено, а с другой, они зачастую не обладают специальными знаниями о технологических процессах, которыми долж- Таблица І.З Инструментальные комплексы на отечественных микро-ЭВМ Электро- ника С5-2ІМ СМ-І800 . ны управлять создаваемые комплексы, то количество и качест- ' во создаваемых УК существенно ниже потребностей, имеющихся в настоящий момент. Из табл.1.3 видно также, что ни один из существующих резидентных ИК разработки ПО не удовлетворяет многим требованиям, сформулированным в п.1.3. Таким образом, можно сделать вывод, что существенное снижение требований к квалификации программиста и, следовательно, существенное расширение круга последних может дать использование проблемных инструментальных комплексов (ПИК). ПИК позволяют привлечь к созданию управляющих комплексов "конечных пользователей" [125], т.е. специалистов в конкретных проблемных областях, не требуя от них профессиональной подготовки в программировании. 1.5. Универсальный инструментальный комплекс как средство создания проблемных комплексов В предыдущем разделе было показано, что использование проблемных инструментальных комплексов позволяет привлечь к разработке ПО УК конечных пользователей, т.е. инженеров и технологов из соответствующих проблемных областей. Рассмотрим существующие средства создания ПИК с тех же позиций, с которых мы рассматривали сами технологические комплексы. Разновидности аппаратных средств. В качестве аппаратуры для разработки ПИК можно использовать те же технические средства, что и для создания УК. I. Портативные резидентные комплексы с большим объемом ОЗУ и ПЗУ, чем для предыдущего случая. ' 2. Резидентные комплексы типа АГМ на прототипных микро-ЭВМ. Терминальные станции на микро-ЭВМ, используемые совместно с большими ЭВМ. Большие ЭВМ, используемые в качестве технологических. Разновидности программных средств. Опишем возможные варианты создания ПЖ и связанное с ними программное обеспечение. Создание ПЖ вручную на одном из универсальных языков программирования, имевшихся на микро-ЭВМ. Очевидно, что в этом случае велики трудозатраты на создание ПЖ. Известно, что только создание транслятора языка программирования традиционным способом занимает от 3 до 40 человеко-лет ^67J. Эти цифры, правда, относятся к транслятору универсального языка, объем которого обычно превышает объем специализированного языка, но они хорошо отражают порядок необходимых трудозатрат. Кроме транслятора проблемного языка, в состав ПЖ еще должны входить средства связи со специализированной операционной системой, система отладки на проблемном языке и т.д. Именно из-за большого объема трудозатрат на разработку ПЖ традиционным способом число их реализаций на отечественных микро-ЭВМ невелико. Расширение функций ранее созданного ПИЙ. Если при создании в ПЖ заложить свойства расширяемости, то при некотором (не кардинальном) изменении проблемной области можно будет провести средствами самого ПИК перенастройку на эту проблемную область. Свойства расширяемости будут обеспечены в случае, если язык программирования ПИК является языком с абстрактными типами данных [68,49]. Концепция абстрактных данных требует, чтобы: каждое описание типа данных включало в себя все операции, применимые к объектам этого типа; пользователь абстрактных данных не нуждался в информации о физическом размещении экземпляров данных в памяти; пользователь абстрактных данных производил над ними только операции, разрешенные для данного типа абстрактных данных, но ни в коем случае операции над представлением этих данных в памяти. Примерами таких языков программирования являются КДУ, АЕВ, АДА, СТЕЛЗы в Р-1РАНе, макросистема в УТОПИСТе [l35, 51,69,70,7IJ. Аналогично расширению языков программирования неебходима возможность расширения языков управления заданиями. К расширяемым системам программирования такого типа относится система ФОРТ [21,134,13б]. Основополагающие идеи расширяемой системы программирования выдвинуты в работах над системой ЯХОНТ [72,6б]. Расширяемые системы позволяют в рамках ПИК использовать механизм свертки не только для накопления типовых решений, программных заготовок, полупродукта для проблемной области, но и для совершенствования и проблемной ориентации технологического инструментария. ПИК такого типа - частное проявление более общих универсальных инструментальных комплексов. 3. Создание ПИК с помощью универсального инструментального комплекса. Наиболее перспективным методом при разработке ПЖ является его создание с помощью универсального инструментального комплекса (УЖ). УЖ - это инструментальный комплекс, рассчитанный на целый класс проблемных областей и типов микро-ЭВ/L УИК позволяет автоматизировать процесс создания проблемных комплексов, пригодных для создания ПО в конкретной области и для конкретной микро-ЭВМ. Различные варианты сочетания разновидностей аппаратного ' и программного обеспечения, используемого при создании проблемных инструментальных комплексов, приведены в табл.1.4. Невозможные сочетания обозначены значком "-". Для всех сочетаний приведен минимальный уровень квалификации программиста, который необходим для успешного создания ПИК. Для уровней квалификации введены следующие обозначения: "ШГ - программист из проблемной области. Это программист с квалификацией, достаточной, чтобы самому сгенерировать версию традиционной ОС. Досконального знания о том,как реализуются трансляторы, отладчики, операционные системы,от такого программиста не требуется; "СП" - системный программист. Квалификация этого человека позволяет ему самостоятельно или в небольшой группе реа-лизовывать любые виды системного программного обеспечения для микро-ЭШ. Из табл.1.4 видно, что использование расширяемого ПИК для локальной переделки проблемного комплекса и использование УИК для создания нового, позволяют снизить требования к квалификации системного программиста. В совокупности с высокой трудоемкостью создания ПИК вручную, это делает очевидным нецелесообразность последнего пути. Использование только большой ЭВМ, оснащенной универсальной кросс-системой автоматизации програюлирования, для создания ПИК нецелесообразно, т.к. программное обеспечение самого ПИК является программой, взаимодействующей с большим количеством различной аппаратуры (стандартная периферия). Провести полную отладку программ такого сорта на кросс-системах очень сложно. Следует отметить, что с помощью терминальных станций, подключенных к большой ЭШ, оснащенной кросс- Таблица 1.4 Требования к квалификации системного программиста в зависимости от программного и аппаратного обеспечения, использованного при создании ПИК -системой типа ЯУЗА, БУЗА, БРА [22,23J, можно также созда- ' вать ГИК, но в данной работе эта инструментальная ветвь не рассматривается, и мы сосредоточим внимание на резидентных вариантах создания ПИК. Очевидно, что наиболее привлекательным является путь модификации ранее созданного ПИК, т.к. он позволяет производить переработку проблемного комплекса на микро-ЭШ в портативном исполнении, не требуя наличия дорогостоящих АРМов. Но, к сожалению, с помощью этого метода можно осуществлять лишь частные доработки ПИК и только в известных пределах. Автоматизировать процесс создания новой версии ПИК можно с использованием УИК. Сформулируем требования к резидентному универсальному технологическому комплексу: УИК ориентирован на разработку ПИК, предназначенных для создания средних и малых программных комплексов для встроенных микро-ЭВМ. Проблемные комплексы, создаваемые с помощью универсального, должны удовлетворять требованиям к ИК, сформулированным в п. 1.3. УИК должен обеспечивать низкие трудозатраты на разработку ПИК. Для этого сам УИК, как один из вариантов проблемного комплекса (предназначенный для создания других комплексов), должен удовлетворять всем требованиям, предъявляемым к Ж (п.1.3). Создаваемые с помощью УИК проблемные комплексы должны обладать высокими эксплуатационными характеристиками. Универсальный комплекс должен обеспечивать возможность использования при создании конкретных ПИК програшлных средств, разработанных в других инструментальных системах. 6. УЖ должен обладать свойством мобильности (т.е. независимости) относительно типа микро-ЭВМ и комплектации ее периферией. При этом УИК должен обеспечивать возможность создания ПИК для разных микро-ЭВМ. Рассмотрим основные возможные типы УИК. I. УИК генерирущего типа. В подобных УЖ по непроцедурному описанию и по заданным в ТЗ значениям параметров (по спецификации) генерируется ПИК. Техника генерации и специфика пользования ею описывались в работах \I25,25,73,74,75j. Успешное применение этой методологии прежде всего связано с использованием макроассемблеров или макрокодов и их потенциальными возможностями в реализации свертки [7б]. Такие средства практически всегда присутствуют в составе ОС мини или больших ЭВМ. Перенесенная на почву микропроцессорной техники эта методология проявила ряд свойств, издержки которых необходимо взвесить перед ее применением. Сюда в первую очередь относятся значительный расход памяти для сгенерированного продукта и значительно большая трудоемкость в отладке. Расход памяти программного продукта в ряде случаев в несколько раз прешшает расход памяти продукта, решающего аналогичные задачи, но изготовленного по методу использования подпрограмм. Трудности в отладке продукта, изготовленного методом макрогенерации - следствие отсутствия инструментальных средств отладки на фазе макропериода [74]. Тем не менее, основная часть универсальных систем программирования, созданных на базе мини и больших инструментальных ЭШ, применяет именно эту методику реализации ПИК. Большие объемы оперативной памяти (0.25 - I Мбайт) и являющееся обычным отсутствие диалоговых символических отладчиков для машин подобного класса, в этом случае, в значительной мере притупляет остроту проявления перечисленных недостатков. 2. УЖ сборочного типа обеспечивают следующую процедуру формирования ПИК: к минимальной версии ядра на основе задан ной спецификации добавляется из библиотеки перечисленное множество программных модулей, которые в совокупности соста вляют собираемое программное средство. Если в состав каких- либо включаемых в ПИК программ входят другие модули, не за данные явно, то они тоже подключаются в формируемый комп лекс. ПЖ, собранный по сборочной технологии, ориентирован на определенное проблемное применение тем, что не содержит в своем составе лишних (неиспользуемых) модулей. Кроме того, при отсутствии требуемых компонент в библиотеке ОС поддерживается процедура создания их вручную и подключения к ПИК. Сборочный метод в первом приближении более привлекателен для микро-ЭБИ, поскольку формирует ПИК с меньшим объемом памяти, чем при использовании метода генерации, за счет использования закрытых подпрограмм. 3. УИК конкретизирующего типа - обеспечивает формирова ние ПЖ следующим образом: копируется максимальная по объему версия УИК, который покрывает все необходимые потребности ПЖ; затем из скопированной версии на основе заданной специ фикации удаляются лишние программные модули и их части, ко торые прямо не упомянуты в спецификации и не потребовались, как строительный матеріал, для формирования конструкций ПЖ. Методика создания ПЖ из УИК методом конкретизации подходит для микро-ЭШ, так как ПИК, созданные с ее помощью, должны давать эффективные показатели по объему занимаемой памяти и времени работы, сравнимыми с показателями Ж, создан- ных вручную. Заметим, что концепция конкретизирующего программирования, выдвинутая А.П.Ершовым [77,78], в настоящее время является лишь общей методологией. В литературе не описывается законченных реализаций резидентных программных проектов для микро-ЭВМ, в основе которых лежал бы метод конкретизирующего программирования. При реализации УИК целесообразно использовать механизм абстрактных данных и действий над ними, присущий объектно-ориентированным языкам программирования [49], что позволяет обеспечить проблемную ориентацию, создаваемых ПИК. Реальная методика разработки сложных систем будет использовать два последних рассмотренных метода в некоторой комбинации, что усиливает возможности применения механизма расширений в языках управления и программирования. Тенденция к объединению разнородных, но полезных технологий, методик, языков ориентирует на создание УИК и ПИК на базе интегрированной технологии разработки программ [78]. 1.6. Выводы по главе В главе: Сформулированы и обоснованы требования к резидентным инструментальным комплексам разработки программного обеспечения для встроенных микро-ЭВМ. Разработана классификация архитектуры инструментальных комплексов, учитыващая особенности аппаратного и программного обеспечения комплексов применительно к квалификации работающих на них программистов. На основе . предложенной классификации были выделены перспективные варианты инструментальных комплексов для встроенных применений. 4. Проведенный анализ позволил обосновать следующие ут верждения: существующие инструментальные комплексы производства программ для микро-ЭВМ характеризуются неоправданно высоким уровнем требований к квалификации программиста-пользователя, что естественно создает дополнительные трудности при создании управлящих комплексов на микро-ЭВЛ; большинство используемых для программирования на микро-ЭВМ резидентных комплексов не удовлетворяет значительной части требований, предъявляемых к современным инструментальным комплексам; путь к снижению требуемого уровня квалификации программиста и значительному повышению производительности его труда заключается в использовании проблемных инструментальных комплексов. Впервые поставлена задача построения резидентных инструментальных комплексов для создания программного обеспечения встроенных микро-ЭВМ на базе объектно-ориентированных языков программирования, что позволяет существенно снизить требования к уровню квалификации пользователей, применяющих ПИК. Рассмотрены возможные способы построения проблемных инструментальных комплексов. Показана актуальность создания универсального инструментального комплекса со следующими свойствами: - ориентацией на создание проблемных комплексов, предназ наченных для создания программного обеспечения малого и сред него размера для управляющих комплексов на базе встроенных микро-ЭШ; низкими трудозатратами на создание проблемных инструментальных комплексов; высокими эксплуатационными характеристиками проблемных комплексов и программного обеспечения, получаемого с их помощью. - 45 -2. СМЕШАННЫЕ ВЫЧИСЛЕНИЯ УПРАВЛЯЮЩИХ ПРОГРАММ В ОЕЬЖтаО-ОРИЕНТИРОВАННЫХ ЯЗЫКАХ 2.1. Задачи и структура главы Острое производство программного продукта заставляет применять методы сборочного программирования [125] , при котором программа собирается из модулей-заготовок, находящихся в библиотеке. Для того, чтобы получащийся программный продукт имел необходимое качество (в частности, в нем были уменьшены издержки на связывание программных фрагментов, возникающие при быстрой сборке), необходимо применять методы конкретизирующего программирования І781> в которых, согласно [тт], все процессы адаптации универсальных программных компонент к заданным параметрам могут выполняться единообразно с помощью процедуры смешанного вычисления. Под смешанным вычислением понимают ^79} некоторый алго- ' ритм, на вход которого подается программа и начальное состояние памяти программы, а на выходе получается текст так называемой остаточной программы вместе с состоянием памяти, называемым промежуточным или частичным результатом. Алгоритм смешанных вычислений определяет процесс выполнения некоторых частей программы, для которых известны все необходимые аргументы. Возможность проведения такого процесса возникает при задании некоторой части аргументов программы. В последующих главах показано, что использование механизма смешанных вычислений для конкретизации программ позволяет получить высокую эффективность программного продукта, как при создании проблемных инструментальных комплексов, так и при их использовании в рамках широкого применения сбороч-. ного программирования. - 46 -В задачи данной главы входит: выработка условии применения и адаптация теории смешанных вычислений в области управляющих программ на объектно-ориентированном языке, с целью разработки методики построения и настройки компонент проблемных инструментальных комплексов на базе универсального комплекса и, кроме того, включения в проблемные комплексы средств повышения эффективности проблемного программного обеспечения; разработка алгоритма смешанных вычислений для 00Я; изучение свойств программ на 00Я, обработанных смешанным вычислителем. Современный уровень развития средств микропроцессорной техники (МИТ) дал широкую номенклатуру изделий, использование которых в автоматических и автоматизированных системах различного назначения определяется областью применений; требованиями к квалификации персонала, обслуживающего МПТ; характеристиками аппаратных и программных средств МПТ. Обсуждение различных типов средств МПТ для решения задач автоматизации управления технологическими процессами современного производства, научными исследованиями и т.п. необходимо проводить в рамках единой терминологии,следующие понятия которой следует считать устоявшимися [б,7,8]. Микропроцессор - программно-управляющее устройство, осуществляющее прием, обработку и выдачу цифровой информации, выполненное на основе больших интегральных схем (ШС). Микропроцессорный комплект (МПК) - совокупность микропроцессорных и других БИС, совместимых по конструктивно-технологическому использованию и предназначенных для совместного применения щи построении средств ШТ. Микропроцессорный модуль (МПМ) - функционально законченное и конструктивно оформленное в виде платы изделие на базе ШС МПК. Микро-ЭШ - конструктивно-завершенная ЭВМ, реализованная на МПК или МПМ и оформленная в виде автономного прибора со своим интерфейсом обмена и комплексом программного обеспечения. По способу общения с внешним миром микро-ЭШ разделяют на функционально-автономные и встроенные [э]. Функционально-автономные - это универсальные серийные микро-ЭШ, которые отличаются от мини-ЭВЛ и больших ЭВМ только вычислительной мощностью, объемами оперативной и внешней памяти, комплектацией и производительностью периферийного оборудования. Функциональное назначение микро-ЭШ этого класса определяется составом програмшюго обеспечения и подключенными устройствами ввода-вывода. Они успешно применяются для конторских работ и решения задач управления в системах небольшой серийности. Встроенными называются микро-ЭВМ, которые конструктивно являются частями какого-либо другого устройства, аппарата, технологического оборудования или машины. Основная область применения встроенных микро-ЭШ - это управление производственными процессами, управление технологическим оборудованием, автоматическое регулирование, автоматизация эксперимента. Встроенные микро-ЭВМ отличаются от универсальных специальной архитектурой, специальной комплектацией микропроцессорными функциональными модулями, специальной комплектацией периферии. Под управляющим комплексом (УК) мы будем в дальнейшем понимать совокупность программных и технических средств, предназначенных для автоматизации управления объектом или сбора некоторой информации. В данной работе рассматриваются УК, использующие преимущественно встроенные микро-ЭШ. class2 СМЕШАННЫЕ ВЫЧИСЛЕНИЯ УПРАВЛЯЮЩИХ ПРОГРАММ В ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ЯЗЫКАХ class2 Острое производство программного продукта заставляет применять методы сборочного программирования [125] , при котором программа собирается из модулей-заготовок, находящихся в библиотеке. Для того, чтобы получающийся программный продукт имел необходимое качество (в частности, в нем были уменьшены издержки на связывание программных фрагментов, возникающие при быстрой сборке), необходимо применять методы конкретизирующего программирования І781 в которых, согласно [тт], все процессы адаптации универсальных программных компонент к заданным параметрам могут выполняться единообразно с помощью процедуры смешанного вычисления. Под смешанным вычислением понимают 79} некоторый алгоритм, на вход которого подается программа и начальное состояние памяти программы, а на выходе получается текст так называемой остаточной программы вместе с состоянием памяти, называемым промежуточным или частичным результатом. Алгоритм смешанных вычислений определяет процесс выполнения некоторых частей программы, для которых известны все необходимые аргументы. Возможность проведения такого процесса возникает при задании некоторой части аргументов программы. В последующих главах показано, что использование механизма смешанных вычислений для конкретизации программ позволяет получить высокую эффективность программного продукта, как при создании проблемных инструментальных комплексов, так и при их использовании в рамках широкого применения сбороного программирования. В задачи данной главы входит: выработка условии применения и адаптация теории смешанных вычислений в области управляющих программ на объектно-ориентированном языке, с целью разработки методики построения и настройки компонент проблемных инструментальных комплексов на базе универсального комплекса и, кроме того, включения в проблемные комплексы средств повышения эффективности проблемного программного обеспечения; - разработка алгоритма смешанных вычислений для 00Я; - изучение свойств программ на 00Я, обработанных смешанным вычислителем. class3 УНИВЕРСАЛЬНЫЙ ИНСТРУМЕНТАЛЬНЫЙ КОШЛЕКС РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВСТРОЕННЫХ МИКРО-ЭШ class3 Тогда наличие целевого пакета, т.е. совокупности типов ч , данных ])u,, команд Ки дает самое быстрое решение задачи. В случае отсутствия готового решения необходимо строить целевой пакет. При построении объекта используются некоторые вычислительные ресурсы системы, т.е. некоторый набор доступных объектов (контекст): & = Ііоьі . В случае, если невозможно (или нецелесообразно) строить пакет в существующем контексте Ь непосредственно, выдешют подзадачи, сводящиеся к пестро-ению промежуточных более простых объектов и достигают цели за несколько шагов. В соответствии с изложенным любой проблемный инструментальный комплекс (ПИК) можно тоже представить как некоторый объект или совокупность объектов. В настоящем разделе предлагается методика построения пакетов, являющаяся основой построения УИК и ПИК. В соответствии с методикой,построение любого пакета разделяется на 2 фазы: построение видимой части и построение невидимой части. При этом, в соответствии с f_68j, в видимой части пакета сосредоточены спецификации вводимых в данном пакете компонент: перечислены новые типы данных, экземпляры данных и действия над новыми и ранее введенными типами. В невидимой части помещена реализация компонент, специ- ицированных в видимой части. Реализация пакета строится как совокупность двух "подпакетов" - текстового (ТЕКСТ) и кодового (КОД). Методика построения видимой части пакета. 1. Перечисляются имена вновь создаваемых компонент пакета и специфицируется их принадлежность к множествам типов, данных и действий, соответствующих решаемой задаче: То,, D f Кч 2. Для всех компонент пакета, являющихся типами, дополнительно задается информация о множестве типов параметров, используемых в качестве аргументов в процедурах генерации данных соответствующего типа. Для всех компонент пакета, являющихся данными, дополнительно специфицируется тип этого данного и значения параметров, необходимых для выполнения процедуры его генерации. Для каждой компоненты пакета, являющейся действием,специфицируется множество типов параметров ТралД) и для каждого параметра информация о его принадлежности к входным и/или выходным. 3. Все компоненты пакета помечаются признаком На этом построение видимой части пакета закончено. В дальнейшем у пакета достраивается невидимая часть, которая является реализацией видимой. Построение видимой и невидимой частей по времени может быть разнесено. Перед построением невидимой части определяем контекст В - уоъ;. f в терминах которого необходимо построить объект оь . Кроме того, при построении і -той компоненты к вводимого объекта разрешено пользоваться всеми компонентами (к ,... 4-і ) этого объекта, введенными ранее, как если бы они были присоединены к контексту объекта. Заметим, что в зависимости от контекста, в котором производится реализация, можно выделить два способа реализации невидимой части пакета. Первый предусматривает реализацию всего пакета или части "его компонент в виде машинных кодов, что свидетельствует о том, что в контекст пакета входит объект микро-ЭШ (ЮВМ). Такую возможность целесообразно предусмотреть для включения в систему некоторого ПО, созданного на ассемблере или каком-либо развитом языке, с помощью других систем автоматизации программирования. В этом случае обеспечивается интегрируемость программных средств инструментального комплекса с программами, созданными в рамках различных операционных систем. Во втором случае контекст строящегося пакета не содержит ПЭВМ , и невидимая часть пакета строится только на 00Я с использованием типов, данных и действии, имеющихся в контексте оь.Ь. При этом очевидно, что полученный пакет будет обладать свойством мобильности (независимости) относительно микро-ЭШ, на которой базируется технологический комплекс. Рассмотрим методику построения невидимой части пакета. 1. Задается контекст строящегося пакета путем перечисления имен пакетов, входящих в него, т.е. 0&.& = у ок 2. Для каждой компоненты пакета, являющейся типом данных . к 9 вводим в пакет процедуру генерации элемента данного соответствующего типа. Реализация тела процедуры генерации может быть ос тцествлена как на 00Я, так и в рамках любой другой системы программирования, генерирующей машинный код. class4 ИССЛЕДОВАНИН УНИВЕРСАЛЬНОГО И ПРОБЛЕМНЫХ ИНСТРУ МЕНТАЛЬНЫХ КОМПЛЕКСОВ class4 В рамках настоящей работы, используя УИК как инструментальное средство, были разработаны четыре проблемных инструментальных комплекса производства программного обеспечения встроенных микро-ЭВМ: УХИМ - проблемный комплекс для создания программного обеспечения управления химико-технологическими процессами; ЛОКАТОР - проблемный комплекс программирования обработки радио-локационной информации; ЇЇТК-МС - комплекс создания проблемного программного обеспечения аппаратуры контроля магистральных линии связи; КОМОК - комплекс отладки математического обеспечения контролеров на машинном языке. Реализация комплексов осуществлялась на трех типах микро-ЭВМ: "Электроника C5-2IM", "Электроника НЦ 80-01" и "Электроника С5-02". Трудозатраты на создание конкретных экземпляров проблемных комплексов с помощью универсального не превышали 4 человеко-месяцев. Все созданные ІШК имеют объем, не превышающий 16 Кбайт, и располагаются в ПЗУ (ППЗУ) микро-ЭВМ; при этом наличие накопителя на гибком магнитном диске не является обязательным условием для функционирования комплекса. Состав и основные характеристики конкретных ПИК, созданных с помощью УЖ, приведены в табл.4.1.Основная терминология средств микропроцессорной техники
Задачи и структура главы
Методика построения объекта
Краткие сведения о разработанных проблемных инструментальных комплексах
Похожие диссертации на Резидентные инструментальные средства для разработки программного обеспечения встроенных микро-ЭВМ