Лингвистическое Обеспечение САПР.

Найдено оптимальное решение , так как все оценки неотрицательные и в базисе нет

искусственных переменных:

x1=28/9, x2=11/9, x3=4/9, x4=0, L=23/3.


6.1.Состав и функции ЛО САПР.

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

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

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

6.2. Языки проектирования и требования к ним

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

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

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

Альтернативой этому подходу является создание специализированных проблемно-ориентированных языков проектирования и трансляторов к ним. Языки проектирования принято классифицировать по следующим основным признакам:

o месту в процессе автоматизированною проектирования;

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

o оперативности;

o преимущественному способу представления информации.

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

Входные языки предназначены для задания исходной информации об объектах и целях проектирования и представляют собой совокупность языков описания объектов (ЯОО) и языков описания задания (ЯОЗ).

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

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

Язык ЯОЗ предназначен для идентификации заданий, описания их характеристик и указания последовательности выполнения проектных процедур на ЭВМ.

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

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

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

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

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

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

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

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

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

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

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

6.3. Языки описания схем и моделирования.

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

Различают форматные и бесформатные схемные языки. На форматных схемных языках описание чаще всего представляется в виде таблиц или входных документов. Каждая

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

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