Ковалев А.Л. () - , Нидерле В. () - | |
Ключевое слово: |
|
Ключевое слово: |
|
|
Применение графических методов при разработке программ является одним из наиболее перспективных подходов к автоматизации программирования. Графический подход положен в основу разработки автоматизированного рабочего места программиста на персональной ЭВМ, выполняемой Институтом кибернетики Академии наук Украины (ИК АН УССР) и народным предприятием «РОБОТРОН-ПРОЕКТ Дрезден» (НП РПД, ГДР). Рабочее место программиста позволяет разрабатывать и сопровождать различные программные средства (ПС): компиляторы и СУБД; ПС прикладного назначения; ПС САПР/ АСУТП и др. Работы по созданию рабочего места опираются на результаты исследований, проводимых в РПД в области систем программирования на языке Модула-2 и в ИК АН УССР по графическому представлению алгоритмов и программ в рамках Р-технологии программирования. В рабочем месте программиста объединены два основных подхода к разработке ПС: ■языково-ориентированный стиль программирования; ■графический стиль программирования на основе Р-технологии. Модула-2 характеризуется относительной простотой, широтой возможностей и мощностью изобразительных средств. Язык поддерживает структурное и модульное программирование, он одинаково эффективен при решении задач системного и прикладного программирования, обеспечивает высокое качество результирующих программ, удобен как при индивидуальной разработке, так и при создании больших программных систем коллективами разработчиков. Рассмотрим некоторые возможности графического представления программ. Логической основой графической программы (рис. 1) служит ориентированный нагруженный граф, называемый Р-схемой, который изображает множество возможных путей выполнения программного модуля. Вершины графа в этом случае соответствуют состояниям вычислительного процесса, а направленные дуги изображают переходы из одного состояния в другое, причем текст, записываемый над дугой, определяет условие перехода по дуге, а текст под дугой — выполняемые в этом случае действия. Ориентированный граф в Р-технологии выполняет ту же роль, что операторы управления в традиционных языках. Явная «видимость» путей выполнения программы упрощает понимание взаимосвязей между исходным текстом программы и порождаемым ею процессом вычисления. Р-схемы строятся из двух видов графических структур, используя правила последовательного и вложенного их соединения. Ввод дополнительного графического алфавита не только сокращает использование текста, но и повышает структуризацию его записи. Пространственное представление алгоритма повышает информативность записи и ее восприятие, причем логика алгоритма благодаря графическому алфавиту воспринимается как самостоятельная составляющая. Наряду с повышением наглядности графическая форма естественным образом обеспечивает соблюдение таких важных технологических приемов, как структурное и модульное программирование. Р-схемы легко поддерживаются на ЭВМ и обеспечивают новые технологические возможности для автоматизации программирования. Использование идей объектно-ориентированного взаимодействия с ЭВМ в графическом подходе обеспечивает более простой и надежный способ ввода программ в ЭВМ — крупными и законченными по смыслу логическими (графическими) конструкциями, с которыми программист имеет дело при проектировании программ. Кроме того, это исключает возможность ошибок при вводе и редактировании графической структуры программы. «Видимость» путей выполнения графической программы при их отладке и тестировании позволяет: • продемонстрировать на экране дисплея реальный ход вычислительного процесса; • визуально оценить полноту тестирования графических программ, выделяя пройденные при выполнении тестов дуги и маршруты программы; • помочь программисту составлять проверочные тесты, демонстрируя на экране маршруты наиболее эффективного тестирования программ. Все это снижает трудоемкость отладки и повышает надежность результирующих программ. Все инструментальные средства рабочего места (рис. 2) интегрированы в единую систему с общим верхним уровнем управления с помощью меню и едиными принципами диалога с пользователем на основе многооконного интерфейса. Ввод и модификация графических программ осуществляются графическим редактором, обеспечивающим непосредственное взаимодействие с графическими объектами — элементами Р-схем. Ввод и редактирование Р-схем осуществляется с помощью меню пиктограмм, выполнение команд которого приводит к автоматическому выводу или изменению изображения Р-схемы на экране дисплея. Графический редактор одновременно выполняет и функции универсального текстового редактора. Рабочее место включает и ориентированный на язык Модула-2 шаблонный текстовой редактор, имеющий специальные команды для ввода отдельных синтаксических конструкций языка Модула-2, что существенно сокращает ввод и уменьшает число ошибок. Графический вариант языка Модула-2 допускает представление программ как в текстовой, так и в графической формах. Во втором случае исполнительная часть процедуры или модуля задается в виде Р-схемы. Выдача диагностических сообщений может осуществляться как в виде листинга, так и через связанный с компилятором графический редактор путем непосредственного указания курсором на экране места ошибки. После исправления ошибок программа из редактора может быть направлена на повторную компиляцию. Графический отладчик обеспечивает отладку программ в терминах исходного графического представления, используя выводимый на экран граф для демонстрации в динамике конкретного пути вычислительного процесса (перемещением цветной планки по выполняемым операторам) Отладка программы производится в шаговом режиме и в режиме выполнения до останова. Отладка в шаговом режиме может производиться с ручным управлением (очередной оператор выполняется по нажатию клавиши) и автоматически (операторы на дугах графа выполняются с некоторой регулируемой задержкой, позволяющей наблюдать за тем, как идет вычислительный процесс). Во втором режиме выполнение осуществляется до одной из точек останова, которые устанавливаются непосредственно в процессе отладки, на выведенном на экран графе или нажатием любой клавиши. Графическая отладка возможна на двух уровнях, допускающих укрупненное рассмотрение выполнения программы (уровень иерархической структуры) и более детальное (уровень отдельных процедур и модулей). На любом из уровней отладки в специальном окне доступны для визуализации и модификации значения переменных программы Возможности отладки расширяются средствами тестирования, решающими две зада-чи; • Первая — генерация маршрутов, обеспечивающих наиболее эффективное тестирование модулей по тем или иным критериям. Генерируемые маршруты поочередно демонстрируются на экране путем раскраски дуг графа, входящих в очередной маршрут. Кроме того, результаты генерации могут быть выведены на печать с указанием маршрутов (перечислением номеров входящих в них дуг). Благодаря структуризации текста на графе отображение маршрутов достаточно просто дополняется выдачей записанных над дугами предикатов, выполнимость которых обеспечивает проход по указанному маршруту. Это намного облегчает составление тестовых примеров. Вторая — обеспечение визуальной оценки полноты тестирования программы после выполнения тестовых примеров. Критериями оценки являются минимальное покрытие дуг графа модуля и покрытие линейно-независимыми маршрутами. Пройденные маршруты и дуги выделяются на графах раскраской. Кроме того, степень покрытия оценивается в процентном отношении. Контроль полноты тестирования возможен как на уровне отдельных процедур и модулей, так и на уровне графа вызова. Средства проектирования обеспечивают разработку программы методом поуровневого нисходящего уточнения с использованием графического языка и неформальных обозначений. Этот метод позволяет получить программную документацию высокого качества. Разработка на каждом уровне разделяется на последовательность регламентированных шагов — задание спецификаций, описывающих в словесной анкетной форме особенности данного уровня проектирования, описание интерфейсов на языке Модула-2, описание данных и описание алгоритма в графической форме с использованием обозначений (в том числе на естественном языке), смысл которых раскрывается либо на данном уровне заданием соответствующего программного кода, либо уточняется на следующих уровнях проектирования. Результатом проектирования является текст модуля на языке Модула-2, а также программная документация. Система управления проектом обеспечивает надежное управление ходом выполнения работ и улучшение комфорта разработчика благодаря работе в диалоге с использованием техники окон и меню. Она позволяет описать иерархическую структуру проекта и коллектива разработчиков с указанием ответственных за весь проект, его подсистемы и отдельные компоненты; распределяет пространство на диске в соответствии со структурой проекта и обеспечивает простой доступ к отдельным его компонентам с проверкой полномочий разработчиков и защитой от несанкционированного доступа. Система управления снимает с пользователей функции ведения версий и модификаций, осуществляет контроль и управление версиями транслируемых компонент. Информация о структуре проекта хранится в виде графа в отдельном файле и используется для автоматической повторной компиляции недостающих модулей при обнаружении конфликтных ситуаций с версиями. Информационная база разработки содержит наименование проекта и сосгаь входящих в него компонент, состояние проекта и его ком понент, сведения о пользователях с указанием их полномочий и компонент проекта, за которые они отвечают, планируемые и действительные затраты календарного времени на разработку проекта и его компонент, затраты машинного времени. Кроме того, эта база содержит и ряд метрических данных, отражающих оценку качества разрабатываемых программ. Она поддерживается специальной встроенной СУБД реляционного типа. Доступ к информационной базе осуществляется практически всеми инструментами рабочего места. В состав рабочего места входит ряд сервисных программ (калькулятор, таблица кодов, записная книжка). Оно имеет развитые средства помощи (функция HELP), относящиеся к системе в целом и к каждому из входящих в нее инструментов. Все инструментальные средства пользуются рядом общих механизмов, предназначенных главным образом для организации удобного интерфейса с пользователем. К ним относятся: средства оконного интерфейса, поддерживающие одновременно до 15 окон на экране дис-плея с возможностью их перекрытия, управления размерами, перемещением, цветом; реализация нескольких типов меню; единые средства организации функций HELP с возможностью простой смены языка, на котором написаны поясняющие тексты; общесистемные средства обработки ошибок и выдачи диагностических сообщений; средства управления памятью ЭВМ Автоматизированное рабочее место реализуется на персональной ЭВМ, совместимой с IBM PC (EC 1841,A7150,EC 1834), под управлением МS/DOS. Объединение при проектировании концепций графического стиля программирования и языково-ориентированного стиля программирования на базе Модула-2 обеспечивает широту применения рабочего места Разработка такой сложной системы наглядно показывает преимущества совместных работ различных организаций в рамках Комплексной программы научно-технического прогресса стран—членов СЭВ, |
http://swsys.ru/index.php?id=1487&lang=%29&page=article |
|