Лингвистическое Обеспечение САПР.
Найдено оптимальное решение , так как все оценки неотрицательные и в базисе нет
искусственных переменных:
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, СПАРС, АРОПС, КРОСС и др. Описание схем с помощью схемных языков состоит из совокупности предложений, каждое из которых содержит сведения об одном элементе схемы и его связях. Сведения об элементе включают его тип, имя (номер) и числовые значения параметров. Связи задаются номерами узлов, к которым подсоединяются внешние входы (выходы) элементов, а также типами связей, например, в расчетных схемах конструкций.
Различают форматные и бесформатные схемные языки. На форматных схемных языках описание чаще всего представляется в виде таблиц или входных документов. Каждая
строка таблицы представляет собой предложение на языке описания, а колонки соответствуют определенной части предложения (тип элемента, номера узлов связи, параметры и т. п.). Табличная форма описания удобна для ввода схем с однородными элементами по числу связей и количеству параметров. Правила заполнения таблиц просты и не требуют специальных знаний в области программирования.
В бесформатных схемных языках части предложений и сами предложения отделяются друг от друга специальными разделителями типа запятая, точка с запятой, наклонная черта и т. п. Бесформатные языки более удобны для описания схем с разнохарактерными элементами. На практике также нашли применение и смешанные формы схемных языков, в которых используются элементы форматирования в виде полей записей с фиксированным и переменным числом позиций, а также описание последовательности параметров с применением разделителей. Для полей с переменным числом позиций допускается использование специальных признаков строк продолжения.