Лингвистическое обеспечение САПР
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

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

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

Все языки программирования принято разделять на языки высокого и низкого уровней. Согласно ГОСТ 19781—90 языком высокого уровня называется язык программирования, понятия и структура которого удобны для восприятия человеком.

Языки низкого уровня близки к машинным языкам.

Машинный язык — язык программирования, предназначенный для представления программы в форме, позволяющей выполнять ее непосредственно техническими средствами обработки информации. Низкоуровневые языки программирования применяются для написания программ, учитывающих специфические свойства конкретной аппаратуры и (или) критичных к используемым ресурсам памяти, например, для микроконтроллеров. Типичным представителем языков низкого уровня является Ассемблер. В соответствии с ГОСТ 19781—90 Ассемблер — язык программирования, который представляет собой символьную форму машинного языка с рядом возможностей, характерных для языка высокого уровня.

ПримерамивысокоуровневыхязыковпрограммированияявляютсяязыкиFortran, Basic, С, Pascal, HTML, DHTML, XML, Java, JavaScript, JScript, VBScript, PHP, Lisp, Prologидр. Их отличают гибкость и наличие развитых средств построения алгоритмических конструкций. Значительная часть из них позволяет использовать объектно-ориентированный подход к проектированию программного обеспечения.

Рассмотрим некоторые из наиболее известных языков.

Язык Fortran — один из первых универсальных языков высокого уровня. Сильной стороной языка является высокая эффективность численных расчетовпри относительно простой структуре кода. Благодаря этим свойствам язык получил большое распространение при разработке прикладных программ для решения научных задач. С момента своего появления в стандарт языка несколько раз вносились дополнения и изменения. Последние версии основаны на стандарте Fortran-90, например MicrosoftFortranPowerStation 4.0.

До недавнего времени самыми распространенными для ПЭВМ были различные версии языка Basic(GWBasic, TurboBasic, QuickBasic). Появление визуального стиля программирования привело к появлению среды MicrosoftVisualBasic и VisualBasicforApplication (VBA). Несомненные достоинства языка: простота разработки и наглядная структура программ, универсальность. Кроме того, VВА является встроенным языком некоторых программных продуктов. Так, все приложения пакета MicrosoftOffice используют VBA для создания пользователем дополнительных надстроек (макросов),позволяющих реализовать функции, изначально не предусмотренные программой.

Тем не менее ограниченные возможности языка затрудняют его использование для разработки сложных программных продуктов, поэтому в этих случаях программисты прибегают к использованию других языковых средств, например,С, C++, C # или Pascal , Exspress.

В языке С объединяются достоинства возможностей низкоуровневых языков и мощных средств языков программирования высокого уровня (например, объектно-ориентированный подход). Язык С является одним из претенденто на роль основного языка программирования в САПР и ориентирован на разработку системных программ. Он, в частности, послужил главным инструментом для создания таких операционных систем для ПЭВМ, как UNIX, MSDOS и Windows. Современные версии языка — C++, C# включены в ряд систем разработки программного обеспечения, например BorlandC++ Builder или MicrosoftVisualStudio.NET.

Язык Pascal — один из наиболее популярных языков программирования для разработки базового и прикладного программного обеспечения САПР. Так, его объектно-ориентированная модификация ObjectPascal составляет основу интегрированной среды разработки Delphi [25]. К настоящему времени по мощности и гибкости он сравним с языком С и используется для создания таких сложных программных продуктов, как системы управления базами данных, корпоративные информационные системы, управление проектами и др.

Язык HTML ( HyperTextMarkupLanguage — язык разметки гипертекста) предназначен для написания Web-страниц, на которых в Интернете принято размещать информацию. Его расширениями являются языки DHTML (DynamicHTML — динамический HTML) и XML (extensibleMarkupLanguage — расширяемый язык разметки). В состав Web-страницы могут входить текстовая и графическая информация, аудио- и видеоинформация, а также ссылки на другие Web-страницы. Для доступа к Web-страницам используются специальные программы — Web-обозреватели (Web- браузеры), находящиеся на компьютерах пользователей.

Язык Java дляпрограммирования сетевых приложений разработан на базе языка C++. Его основными достоинствами являются простота в использовании, аппаратная независимость и интеграция с браузерами, поэтому в настоящее время этот язык широко применяется для создания Web-приложений. Технология программирования на Java основана на создании так называемых апплетов (applet — «маленькое приложение»), выполняемых на машинах клиентов и динамически формирующих интерфейс пользователя. Код апплета интерпретируется виртуальной Jаvа-машиной, входящей в состав браузера ПЭВМ. Для включения апплета в Web- страницу применяется специальный тег (tag — метка). На сервере для обработки запросов, передаваемых от клиентских мест, должны выполняться специальные сервлеты.

Языки JavaScript , JScript или VBScriptпредназначены для написания сценариев (скриптов), использующихся для динамического управления интерфейсными компонентами Web-документа. Эти языки являются интерпретируемыми, т. е. код скрипта выполняется непосредственно в процессе интерпретации. Интерпретацию и выполнение сценариев осуществляет обозреватель или Web-cepвер. Скрипты рассматриваются как расширение языка HTML и могут включаться в тело HTML-документа. Одна часть сценария может исполняться во время загрузки документа, а другая — в ответ на действия пользователя. Использование того или иного языка сценариев определяется типом применяемого обозревателя (MicrosoftInternetExplorer, NetscapeNavigator и др).

Для разработки интеллектуальных САПРчасто используются специализированные высокоуровневые языки Lisp, Prolog и др. Язык Lisp применяется для решения интеллектуальных задач, таких как общение на естественном языке, доказательство теорем, принятие решений. Модификация языка — AutoLisp является встроенным языком системы AutoCAD.

Язык Prolog ( PROgramminginLOGic — логическое программирование) приобрел большую популярность в Японии и Европе в связи с проектом создания ЭВМ пятого поколения, основная суть которого заключалась в переходе от обработки данных к обработке знаний. Предполагалось, что такие вычислительные системы будут обеспечивать простоту управления за счет возможности общения с пользователями при помощи естественного языка. Эти системы должны были самообучаться, использовать накапливаемые в памяти знания для решения различного рода задач, предоставлять пользователям экспертные консультации. В качестве основной методологии разработки программных средств для проекта ЭВМ пятого поколения было избрано логическое программирование. В 1991 г. предполагалось создать первый прототип компьютеров пятого поколения* Несмотря на то что поставленные цели (* На конференции в Токио в 1992 г. был продемонстрирован образец ЭВМ пятого поколения с машиной логических выводов РІМ и базой знаний «Каппа-Р») в полной мере не были достигнуты, проект стимулировал исследования в области искусственного интеллекта, баз знаний и экспертных систем. Для решения задач в этих областях применяют логическое программирование, ярким представителем которого и является Prolog.

Основные области применения языка Prolog:

• реализация экспертных систем и оболочек экспертных систем;

• доказательства теорем;

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

• перевод с одного естественного языка на другой;

• разработка прототипов прикладных программ;

• управление производственными процессами;

• создание динамических реляционных баз данных;

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

В 1996 г. при участии группы российских программистов датская компания PrologDevelopmentCenter (PDC) выпустила систему VisualProlog 4.0. В состав среды были включены инструментальные средства генерации кода, конструирующие управляющую логику, интерфейс визуального программирования и многие другие средства для ускорения разработки приложений. Интересно отметить, что PDC реализует два варианта поставки VisualProlog — коммерческий (commercialedition) и бесплатный (personaledition), последнюю версию которого можно загрузить с официального сайта http://www.visual-prolog.com/. Независимо от того какой язык программирования был выбран, от момента написания программы до ее реализации на ЭВМ необходимо выполнить ряд этапов.

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

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

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

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

Ассемблеры работают с автокодами (символьный язык программирования, предложения которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка) или языками Ассемблера,

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

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

Результатом работы редактора связей являетсязагрузочный модуль, который представляет собой программныймодуль в форме, пригодной для загрузки в оперативную память для исполнения. Загрузочный модуль сохраняется в виде файла на внешней памяти. Для выполнения программа должна быть перенесена (загружена) в оперативную память. Эта функция выполняется специальным загрузчиком, который обычно входит в состав операционной системы.

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

В случае сетевых приложений (например, Web-приложений или Web-страниц) единственно возможным способом запуска программы становится интерпретация, поэтому такие языки, как HTML, XML, Java, РНР, Perl и другие, являются интерпретируемыми. Совокупность языка программирования и соответствующего ему языкового процессора называют системой программирования.

В последние годы появились так называемые интегрированные среды разработки (IDE — IntegratedDevelopmentEnvironment), пользовательский интерфейс которых служит для организации взаимодействия с пользователем. С помощью средств интегрированной среды разработчику удобно проектировать интерфейсную часть приложения, а также писать программный код. В интегрированной среде разработки проходят все этапы создания программного продукта, включая отладку. Как правило, в IDE совмещены функции интерпретатора и компилятора. Режим интерпретации используется в основном для отладки программного кода, а режим компиляции — для создания исполняемых загрузочных модулей (исполняемых файлов). Все современные IDE поддерживают визуальный стиль проектирования приложений и принципы объектно- ориентированного подхода. Наиболее популярными IDE являются Delphi, C++ Builder фирмы Borland, а также VisualBasic и VisualStudio.NET фирмы Microsoft.

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

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

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

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

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

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

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

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

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

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

Примерами современных языков проектирования служат языки описания аппаратуры HDL (HardwareDescriptionLanguage), предназначенные для использования на всех этапах разработки цифровых электронных систем — проектирования, верификации, синтеза и тестирования, модификации и сопровождения. Наиболее универсальным и распространенным языком описания аппаратуры является VHDL. На этом языке возможно как поведенческое, так и структурное и потоковое описание цифровых схем. Язык VHDL используется во многих системах для моделирования цифровых схем (OrCAD), проектирования программируемых логических интегральных микросхем, базовых матричных кристаллов, заказных интегральных микросхем. Другим примером может служить встроенный язык Spice системы схемотехнического моделирования, позволяющий создавать математические модели электрических схем на основе моделей элементов и схемы их соединений. В системе подготовки конструкторской документации AutoCAD имеется встроенный язык проектирования AutoLisp — модификация языка Lisp, имеющая функции доступа к объектам, таблицам и словарям системы AutoCAD. Основой языка является работа со списками, которые могут иметь произвольную длину и включать элементы разной природы (числа, текстовые строки, указатели файлов и т.д.). В то же время в языке доступны обычные арифметические вычисления, логические операции, работа с файлами и т. д. С помощью языка AutoLisp можно писать программы или вводить в командной строке выражения, которые затем вычисляет система AutoCAD. Для чтения и разбора выражений в систему AutoCAD встроен интерпретатор AutoLisp.

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

 

Дата: 2019-02-19, просмотров: 290.