Постановка задачи структурного синтеза

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего образования.

«Тверской государственный технический университет».

(ТГТУ)

 


Реферат

подисциплине

«Системыавтоматизированногопроектирования»

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

Постановка задачи структурного синтеза.

 

 

Выполнил:

студент 5-го курса ЗФ

группы УТС

Волошин А.С.

Проверил:

ТребухинА.Г.

 

 

Тверь 2018

Оглавление

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

2. Постановка задачи структурного синтеза. 12

Список литературы: 16

 

 


 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

Рис. 1. Классификация языков программирования

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

Постановка задачи структурного синтеза.

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

Задачи структурного синтезаклассифицируют по ря­ду признаков.

В зависимости от стадии проектирова­ния, на которой производится синтез, различают такие про­цедуры:

1) Выбор основных принципов функционирования объ­екта(физичес­ких, организационных, ин­формационных и т. п.) — выполняется на ранних стадиях проектирования, обычно на стадиях научно-исследователь­ских работ. Например, при проектировании проходческой машины необходимо принять решение, каким способом она будет разрушать породу: резцовым, шарошечным инструментом, либо буровзрывным способом.

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

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

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

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

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

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

Оформление технической документации регламентируется правилами ЕСКД, что обуславливает специфический «рутинный» характер процедуры и необходимость ее формализации.

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

В зависимости от возможностей фор­мализациизадачи синтеза делятся на несколькоуровней сложности.

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

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

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

К уровню IV сложностиотносят задачи поиска вари­антов решений во множествах неизвестной или неограниченной мощности. Формализация таких задач представляет большие трудности. Их особенно­стью является возмож­ность получения новыхоригиналь­ныхрешений.

К уровню V сложностиотносят задачи синтеза, реше­ние которых является проблематичным.

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

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

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

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

Геометрический синтеззаключается в опреде­лении формы и взаимного расположения элементов проектируемого объекта и оформле­ния конструк­торской документации.

 


 

Список литературы:

1. Хелпикс.Орг - Интернет помощник [Электронный ресурс] // Лингвистическое обеспечение САПР, 2018.

URL:http://helpiks.org/2-35369.html (дата обращения: 09.02.2018).

2. Норенков И.П. «Основы автоматизированного проектирования»: учеб.для вузов. 2-еизд., перераб. и доп. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. - 336 с.:ил. - (Сер.Информатика в техническом университете).


Дата добавления: 2018-04-04; просмотров: 511; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!