Основы САПР

Методическое обеспечение САПР. Математический и лингвистический виды обеспечений

Разбить на страницы
Показывать лекцию целиком

8.1. Назначение и состав методического обеспечения САПР

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

Обычно в качестве обособленных блоков в методическом обеспечении выделяются математическое и лингвистическое обеспечения.

Математическое обеспечение — это совокупность математических моделей, методов и алгоритмов для решения задач автоматизированного проектирования.

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

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

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

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

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

Совершенствование организации работ в области автоматизации проектирования направлено на централизованное создание типовых программно-методических комплексов (ПМК) в целях их широкого тиражирования. Такие комплексы должны включать наряду с программами для вычислительной техники и базами данных еще комплекты документации. При применении ПМК указанная документация становится частью методического обеспечения САПР [7].

8.2. Математическое обеспечение САПР

Основу этого компонента САПР составляют алгоритмы, по которым разрабатывается программное обеспечение САПР и, следовательно, осуществляется процесс автоматизирования проектирования САПР. Математическое обеспечение ( МО ) при автоматизированном проектировании в явном виде не используется, а применяется производный от него компонент — программное обеспечение.

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

МО любых САПР по назначению и способам реализации делится на две части. Первую составляют математические методы и построенные на их основе математические модели, описывающие объекты проектирования или их части или вычисляющие необходимые свойства и параметры объектов.

Вторую часть составляет формализованное описание технологии автоматизированного проектирования.

В составе любой САПР эти части МО должны органично взаимодействовать.

Способы и средства реализации первой части МО наиболее специфичны в различных САПР и зависят от особенностей процесса проектирования.

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

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

Следовательно, МО САПР должно описывать во взаимосвязи объект, процесс и средства автоматизации проектирования. Для совершенствования МО выделяют два направления работ:

  • Развитие методов получения оптимальных проектных решений, в том числе ориентированных на автоматизированное проектирование.
  • Совершенствование и типизацию самих процессов автоматизированного проектирования.
  • Анализ существующих методов решения оптимизационных задач автоматизированного проектирования показал следующее:

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

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

    Лингвистическое обеспечение САПР состоит из языков программирования, проектирования и управления.

    Языки программирования служат для разработки и редактирования системного и прикладного программного обеспечения САПР. Они базируются на алгоритмических языках — наборе символов и правил образования конструкций из этих символов для задания алгоритмов решения задач.

    Языки проектирования — это проблемно-ориентированные языки, служащие для обмена информацией об объектах и процессе проектирования между пользователем и ЭВМ.

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

    Существуют различные уровни языков программирования: высокие, более удобные для пользователя, и низкие, близкие к машинным языкам.

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

    Основные типы языковых процессоров — трансляторы и интерпретаторы; соответственно преобразования программ называют трансляцией и интерпретацией.

    Трансляцией называют перевод всего текста программы на исходном языке ( исходной программы ) в текст на объектном языке (объектную программу). Если исходный язык является языком высокого уровня, а объектный — машинным, то транслятор называют компилятором. Если исходный язык — машинно-ориентированный (в автокоде), а объектный — машинный, то транслятор называют ассемблером. Если исходный и объектный языки относятся к одному уровню, то транслятор называют конвертером.

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

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

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

    Совокупность языка программирования и соответствующего ему языкового процессора называют системой программирования.

    Классификация языков программирования представлена на рис 8.1.

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

    К машинно-ориентированным языкам относится язык СИ (разработан в 1972 г.). В нем объединяются достоинства низкоуровневых возможностей ассемблеров и мощных выразительных средств языков программирования высокого уровня. Язык СИ является одним из претендентов на роль основного языка программирования в САПР и ориентирован на разработку системных программ. Он, в частности, послужил главным инструментом для создания операционных систем для ЭВМ UNIX и MS DOS.

    Язык Фортран является первым универсальным языком высокого уровня (с 1954 г.). Наиболее эффективен при численных расчетах, прост по структуре и удобен при выполнении программ. Несмотря на свои недостатки, этот язык получил большое распространение при разработке прикладных программ для решения научных задач. Самая популярная в настоящее время версия этого языка — Фортран-77.

    Идеи Фортрана получили развитие в языке PL/I (создан в 1964 г.). В нем сделана попытка преодолеть некоторые недостатки, свойственные языкам для больших ЭВМ, и использованы идеи структурного программирования. В настоящее время имеются различные версии этого языка: PL/M, PL/Z, PL/65 и др. Как язык программирования PL/M, в частности, значительно уступает конкурирующим с ним языкам Паскаль и Модула-2.

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

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

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

    Развитием Паскаля являются языки Модула-2 (в Европе) и Ада (в США). Язык Модула-2 обладает лучшими средствами для обработки больших программных комплексов и позволяет более эффективно использовать особенности аппаратуры. Таким образом, этот язык призван заполнить ниши между Паскалем и СИ. По оценке специалистов, язык Модула-2 через несколько лет станет наиболее популярным среди всех языков программирования.

    Язык Ада можно назвать наиболее универсальным среди созданных языков. Однако трансляторы с этого языка пока не получили достаточного распространения.

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

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

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

    (рис 8.1) Классификация языков программирования

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

    К классу проблемно-ориентированных языков можно отнести Лого, CPSS, Форт и Смолток.

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

    Развитием проблемно-ориентированных языков является объектно-ориентированный подход (языки Смолток, Форт, Модула и Ада). Отличительными особенностями таких языков можно назвать модульность построения процедур, абстракцию данных, динамическую связку программ (позволяет отказаться от перекомпилирования всей программы при внесении изменений в отдельные модули) и использование механизма наследования иерархического типа.

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

    Язык Смолток предназначен для решения нечисловых задач при построении систем искусственного интеллекта. В языке Форт применены структурное программирование и очень компактный машинный код.

    Для разработки систем искусственного интеллекта также используются функциональные языки Лисп, Пролог и СНОБОЛ. Эти языки ориентированы на обработку символьной информации, требуют больших массивов данных и стали применяться в ПЭВМ в связи с появлением дешевой полупроводниковой памяти, позволяющей довести объем ОЗУ до нескольких мегабайт. Языки этого класса относятся к так называемым языкам представления знаний.

    Язык Лисп применяется для программирования интеллектуальных задач — общение на естественном языке, доказательство теорем, принятие решений и т. п.

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

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

    Классификация языков проектирования приведена на рис 8.2.

    Языки проектирования делят на: входные, выходные, сопровождения, промежуточные и внутренние.

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

    (рис 8.2) Классификация языков проектирования

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

    Недиалоговые системы языков сопровождения ориентированы на пакетный режим работы ЭВМ.

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

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

    В качестве примера современного языка проектирования можно указать язык VHDL (VHSIC — hardware description language) — язык описания аппаратуры на базе сверхвысокоскоростных интегральных схем. Этот язык принят в качестве стандарта как инструментальное средство автоматизации проектирования СБИС, ориентированное на методологию нисходящего проектирования. Он является достаточно универсальным, чтобы охватить все аспекты проектирования изделий в области цифровой электроники.

    Контрольные вопросы и упражнения

  • Что включает в себя методическое обеспечение САПР?
  • Входят ли в состав методического обеспечения документы, посвященные созданию САПР?
  • На основе чего создаются компоненты методического обеспечения?
  • Что составляет основу математического обеспечения САПР?
  • Каковы пути совершенствования математического обеспечения?
  • Назовите языки лингвистического обеспечения САПР.
  • Для чего служат языки программирования?
  • Для чего служат языки проектирования?
  • Для чего служат языки управления?
  • Что называется исходной программой?
  • Каково назначение исходной программы?
  • Каково назначение языкового процессора?
  • Что называется трансляцией?
  • Что называется ассемблером?
  • Что называется системой программирования?
  • Страницы:

    8.1. Назначение и состав методического обеспечения САПР

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

    Обычно в качестве обособленных блоков в методическом обеспечении выделяются математическое и лингвистическое обеспечения.

    Математическое обеспечение — это совокупность математических моделей, методов и алгоритмов для решения задач автоматизированного проектирования.

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

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

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

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

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

    Совершенствование организации работ в области автоматизации проектирования направлено на централизованное создание типовых программно-методических комплексов (ПМК) в целях их широкого тиражирования. Такие комплексы должны включать наряду с программами для вычислительной техники и базами данных еще комплекты документации. При применении ПМК указанная документация становится частью методического обеспечения САПР [7].

    8.2. Математическое обеспечение САПР

    Основу этого компонента САПР составляют алгоритмы, по которым разрабатывается программное обеспечение САПР и, следовательно, осуществляется процесс автоматизирования проектирования САПР. Математическое обеспечение ( МО ) при автоматизированном проектировании в явном виде не используется, а применяется производный от него компонент — программное обеспечение.

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

    МО любых САПР по назначению и способам реализации делится на две части. Первую составляют математические методы и построенные на их основе математические модели, описывающие объекты проектирования или их части или вычисляющие необходимые свойства и параметры объектов.

    Вторую часть составляет формализованное описание технологии автоматизированного проектирования.

    В составе любой САПР эти части МО должны органично взаимодействовать.

    Способы и средства реализации первой части МО наиболее специфичны в различных САПР и зависят от особенностей процесса проектирования.

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

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

    Следовательно, МО САПР должно описывать во взаимосвязи объект, процесс и средства автоматизации проектирования. Для совершенствования МО выделяют два направления работ:

  • Развитие методов получения оптимальных проектных решений, в том числе ориентированных на автоматизированное проектирование.
  • Совершенствование и типизацию самих процессов автоматизированного проектирования.
  • Анализ существующих методов решения оптимизационных задач автоматизированного проектирования показал следующее:

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

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

    Лингвистическое обеспечение САПР состоит из языков программирования, проектирования и управления.

    Языки программирования служат для разработки и редактирования системного и прикладного программного обеспечения САПР. Они базируются на алгоритмических языках — наборе символов и правил образования конструкций из этих символов для задания алгоритмов решения задач.

    Языки проектирования — это проблемно-ориентированные языки, служащие для обмена информацией об объектах и процессе проектирования между пользователем и ЭВМ.

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

    Существуют различные уровни языков программирования: высокие, более удобные для пользователя, и низкие, близкие к машинным языкам.

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

    Основные типы языковых процессоров — трансляторы и интерпретаторы; соответственно преобразования программ называют трансляцией и интерпретацией.

    Трансляцией называют перевод всего текста программы на исходном языке ( исходной программы ) в текст на объектном языке (объектную программу). Если исходный язык является языком высокого уровня, а объектный — машинным, то транслятор называют компилятором. Если исходный язык — машинно-ориентированный (в автокоде), а объектный — машинный, то транслятор называют ассемблером. Если исходный и объектный языки относятся к одному уровню, то транслятор называют конвертером.

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

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

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

    Совокупность языка программирования и соответствующего ему языкового процессора называют системой программирования.

    Классификация языков программирования представлена на рис 8.1.

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

    К машинно-ориентированным языкам относится язык СИ (разработан в 1972 г.). В нем объединяются достоинства низкоуровневых возможностей ассемблеров и мощных выразительных средств языков программирования высокого уровня. Язык СИ является одним из претендентов на роль основного языка программирования в САПР и ориентирован на разработку системных программ. Он, в частности, послужил главным инструментом для создания операционных систем для ЭВМ UNIX и MS DOS.

    Язык Фортран является первым универсальным языком высокого уровня (с 1954 г.). Наиболее эффективен при численных расчетах, прост по структуре и удобен при выполнении программ. Несмотря на свои недостатки, этот язык получил большое распространение при разработке прикладных программ для решения научных задач. Самая популярная в настоящее время версия этого языка — Фортран-77.

    Идеи Фортрана получили развитие в языке PL/I (создан в 1964 г.). В нем сделана попытка преодолеть некоторые недостатки, свойственные языкам для больших ЭВМ, и использованы идеи структурного программирования. В настоящее время имеются различные версии этого языка: PL/M, PL/Z, PL/65 и др. Как язык программирования PL/M, в частности, значительно уступает конкурирующим с ним языкам Паскаль и Модула-2.

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

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

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

    Развитием Паскаля являются языки Модула-2 (в Европе) и Ада (в США). Язык Модула-2 обладает лучшими средствами для обработки больших программных комплексов и позволяет более эффективно использовать особенности аппаратуры. Таким образом, этот язык призван заполнить ниши между Паскалем и СИ. По оценке специалистов, язык Модула-2 через несколько лет станет наиболее популярным среди всех языков программирования.

    Язык Ада можно назвать наиболее универсальным среди созданных языков. Однако трансляторы с этого языка пока не получили достаточного распространения.

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

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

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

    (рис 8.1) Классификация языков программирования

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

    К классу проблемно-ориентированных языков можно отнести Лого, CPSS, Форт и Смолток.

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

    Развитием проблемно-ориентированных языков является объектно-ориентированный подход (языки Смолток, Форт, Модула и Ада). Отличительными особенностями таких языков можно назвать модульность построения процедур, абстракцию данных, динамическую связку программ (позволяет отказаться от перекомпилирования всей программы при внесении изменений в отдельные модули) и использование механизма наследования иерархического типа.

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

    Язык Смолток предназначен для решения нечисловых задач при построении систем искусственного интеллекта. В языке Форт применены структурное программирование и очень компактный машинный код.

    Для разработки систем искусственного интеллекта также используются функциональные языки Лисп, Пролог и СНОБОЛ. Эти языки ориентированы на обработку символьной информации, требуют больших массивов данных и стали применяться в ПЭВМ в связи с появлением дешевой полупроводниковой памяти, позволяющей довести объем ОЗУ до нескольких мегабайт. Языки этого класса относятся к так называемым языкам представления знаний.

    Язык Лисп применяется для программирования интеллектуальных задач — общение на естественном языке, доказательство теорем, принятие решений и т. п.

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

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

    Классификация языков проектирования приведена на рис 8.2.

    Языки проектирования делят на: входные, выходные, сопровождения, промежуточные и внутренние.

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

    (рис 8.2) Классификация языков проектирования

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

    Недиалоговые системы языков сопровождения ориентированы на пакетный режим работы ЭВМ.

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

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

    В качестве примера современного языка проектирования можно указать язык VHDL (VHSIC — hardware description language) — язык описания аппаратуры на базе сверхвысокоскоростных интегральных схем. Этот язык принят в качестве стандарта как инструментальное средство автоматизации проектирования СБИС, ориентированное на методологию нисходящего проектирования. Он является достаточно универсальным, чтобы охватить все аспекты проектирования изделий в области цифровой электроники.

    Контрольные вопросы и упражнения

  • Что включает в себя методическое обеспечение САПР?
  • Входят ли в состав методического обеспечения документы, посвященные созданию САПР?
  • На основе чего создаются компоненты методического обеспечения?
  • Что составляет основу математического обеспечения САПР?
  • Каковы пути совершенствования математического обеспечения?
  • Назовите языки лингвистического обеспечения САПР.
  • Для чего служат языки программирования?
  • Для чего служат языки проектирования?
  • Для чего служат языки управления?
  • Что называется исходной программой?
  • Каково назначение исходной программы?
  • Каково назначение языкового процессора?
  • Что называется трансляцией?
  • Что называется ассемблером?
  • Что называется системой программирования?
  • Вернуться к учебному плану