9.2. Прикладное программное обеспечение представляют пакеты прикладных программ (ППП) для выполнения различных проектных процедур. Они разрабатываются на основе единого внутреннего представления графической и текстовой информации, единого входного языка, строятся по модульному принципу и ориентированы на использование непрограммистом-проектировщиком.
Различают несколько типов ППП в зависимости от состава пакета. Пакеты прикладных программ простой структуры характеризуются наличием только обрабатывающей части — набора функциональных программ (модулей), каждая из которых предназначена для выполнения только одной проектной процедуры. Объединение нужных модулей осуществляется средствами операционной системы ЭВМ.
Пакеты прикладных программ сложной структуры и программные системы появились в результате развития прикладного программного обеспечения. В первых из них имеется собственная управляющая часть — монитор, во вторых, кроме того, — языковой процессор с проблемно-ориентированным входным языком. Программные системы вместе с соответствующим лингвистическим и информационным обеспечением называют программно-методическими комплексами САПР.
Управляющая часть программного обеспечения имеет иерархическую организацию, и в общем случае в ней можно выделить различные уровни: уровень операционных систем вычислительной сети, операционных систем отдельных ЭВМ, мониторных систем САПР и мониторов отдельных ППП.
Основные функции управляющей части: связь с пользователем в режиме диалога, планирование вычислительного процесса, распределение вычислительных ресурсов, динамическое распределение памяти и другие.
Специализированное ПО САПР создается с учетом организации и возможностей общесистемного программного обеспечения. В целом состав и структура ПО определяются составом и структурой САПР и ее подсистем.
Существуют чисто конструкторские пакеты, обеспечивающие более полное решение различных задач конструкторского проектирования РЭС.
Пакет программ P-CAD фирмы Personal CAD Systems Inc. — это полное комплексное программное решение для проектирования электронных устройств, в частности, ввода схемы и проектирование схемной печатной платы. Комплексное решение предполагает, что логика, описанная в схеме, воплощается в топологию печатной платы. Программы осуществляют функции логического моделирования, проверяют соблюдение правил проектирования, создают список соединений для моделирования, автоматически размещают компоненты, трассируют печатную плату и создают документы для автоматизированных производственных систем. Пакет содержит взаимодействующие средства проектирования, удобную для пользователя оболочку и интеллектуальную базу данных, обширную библиотеку, диалоговые редакторы, средства сопряжения с популярными средствами анализа. Пакет имеет открытую архитектуру, обеспечивает выдачу готовых документов для технологии монтажа и другую проектную документацию.
Вывод документации после контроля на дисплее может осуществляться на принтер, плоттер или фотоплоттер. Оболочка системы помогает пользователю двигаться сквозь процесс проектирования с помощью меню, подсказок и правок. Система проектирования печатной платы обеспечивает средства для полной разработки топологии: от диалогового редактора до автоматического размещения компонентов, автотрассировки, проверки соблюдения правил проектирования и сопряжения с производством.
Библиотека пакета содержит обширную информацию о компонентах электронных схем от дискретных и электромеханических деталей до существующих и заказных микросборок интегральных схем. Программные средства сопряжения превращают данные из списка соединения компонентов схемы в формат, необходимый для конкретной программы моделирования цифровой и аналоговой схемы (типа PSPICE). Пакет позволяет проектировать печатные платы, имеющие до 500 элементов и 2000 связей.
Пакет программ Or CAD фирмы Or CAD System Corp. является законченным и гибким программным блоком схемотехнического и конструкторского проектирования. Он обеспечивает ввод и вывод на печать принципиальных схем, трассировку печатной платы и другие операции. Пакет управляется с помощью иерархической разветвленной системы меню, легок в обучении пользованию, обладает многими дополнительными возможностями ввода и вывода схем.
Библиотека пакета содержит более 2700 изображений компонентов РЭС; можно легко создавать собственные начертания элементов. Простым нажатием клавиши легко выполняются многие графические операции при вводе и выводе схем: увеличение и уменьшение масштаба, преобразование (вращение, перенос, отображение) элементов и любых заданных фрагментов схемы. В системе предусмотрены создание перечня элементов (спецификаций), возможность разведения проводников, шин, входов модулей.
Пакет Or CAD в настоящее время является самым удобным и богатым по своим возможностям для ввода и вывода графических изображений принципиальных схем РЭС.
Пакет имеет удобный выход на подсистемы моделирования и анализа РЭС, а также другие графические пакеты (PSPICE, P-CAD).
Пакет универсального назначения AutoCAD фирмы Auto Desk разработан на самом современном уровне машинной графики и предоставляет разработчику исключительно широкие возможности проектирования разнообразных объектов, технических систем и устройств: домов, печатных плат, станков, деталей и одежды. Пакет представляет собой систему автоматизированной разработки чертежей, причем чертежи, рисунки и схемы создаются в интерактивном режиме, управляемом системой иерархических меню. В любой чертеж может быть вставлен поясняющий текст. В набор функций входит панорамирование, увеличение, масштабирование, поворот, секционирование, штриховка и другие операции преобразования изображений. В системе предусмотрены подсказки в любом состоянии и для любой команды.
В пакете разработан богатый выбор драйверов графических устройств — графических дисплеев, матричных принтеров, графических планшетов и плоттеров. Одним из важнейших достоинств пакета является возможность работы с трехмерной графикой, позволяющей строить реальные объекты, которые можно наблюдать в различных ракурсах (при желании невидимые линии на изображении стираются). Применен специальный метод полилиний для вывода сложных кривых контуров деталей.
Система AutoCAD непрерывно совершенствуется. Так, в последние версии системы включен интерпретатор языка Auto Lisp — одной из версий языка LISP, широко применяемого в символьной обработке и в системах искусственного интеллекта. Использование этого языка позволяет пользователю, с одной стороны, определять собственные функции и команды в среде AutoCAD, с другой — обеспечивать связь AutoCAD с другими приложениями.
Сейчас начинают появляться еще более сложные системы, включающие не только язык программирования, но и экспертные системы (экспертные настройки) для принятия решений и подсказок конструктору в процессе разработки. В эти настройки включен набор правил и математических моделей; конструктор в процессе работы может получить "советы" по оптимальному выбору тех или иных параметров разрабатываемой системы.
Контрольные вопросы и упражнения
Что представляет собой ПО САПР?
Перечислите документы, которые входят в состав ПО САПР.
Какова структура общесистемного ПО?
Поясните классы системного ПО.
Приведите примеры операционных систем для ПЭВМ.
Приведите основные характеристики и примеры прикладного программного обеспечения САПР РЭС.
Какие функции выполняет программа управления задачами?
Какие функции выполняет программа управления заданиями?
Что представляет собой ППП?
Что характерно для ППП простой структуры?
Чем характеризуется ППП сложной структуры и программные системы?
Что называется программно-методическим комплексом САПР?
Какие функции выполняет операционная система?
Перечислите связи между отдельными программными модулями.
Какие ППП используются для проектирования РЭС?
10. Лекция: Информационное обеспечение САПР
10.1. Назначение и составные части информационного обеспечения (ИО) САПР
Основное назначение ИО САПР — уменьшение объемов информации, требуемой в процессе проектирования от разработчика РЭС, и исключение дублирования данных в прикладном, программном и техническом обеспечении САПР.
ИО САПР состоит из описания стандартных проектных процедур, типовых проектных решений, типовых элементов РЭС, комплектующих изделий и их моделей, материалов, числовых значений параметров и других данных. Эти данные в закодированной форме записываются на машинных носителях: магнитных лентах и магнитных дисках.
Кроме того, в ИО САПР входят правила и нормы проектирования, содержащиеся в соответствующей нормативно-технической документации, а также информация о правилах документирования результатов проектирования. Структура и содержание ИО САПР, а также характер его использования зависят от степени развития банка данных.
Данные ИО обычно группируются в отдельные массивы, каждый из которых относится к определенному объекту описания. Такие массивы называются файлами. Вся совокупность файлов образует базу данных, которую можно многократно использовать при проектировании различных РЭС для различных этапов и уровней.
Для создания, расширения, корректировки и коллективного использования данных создаются специальные системы управления базами данных (СУБД). Совокупность баз данных, систем управления файлами, а также относящихся к ним программных, языковых, технических и организационных средств называется банком данных. Следовательно, банки данных (БНД) являются составной частью ИО САПР и состоят баз данных (БД) и систем управления базами данных (СУБД). БНД создаются как обслуживающие подсистемы САПР и предназначены для автоматизированного обеспечения необходимыми данными проектирующих подсистем САПР. По назначению СУБД является элементом информационного обеспечения, так как организует автоматизированное обеспечение проектировщика информацией, а по содержанию это комплекс программ, то есть элемент программного обеспечения.
Состав БД определяют с учетом характеристик объектов проектирования (технических, метрологических, эксплуатационных), характеристик процесса проектирования (типовые проектные решения, описания технологических операций с вариантами их реализации), действующих нормативных и справочных данных, ранее созданных в организации информационных массивов.
Основные требования к базам данных: установление многосторонних связей по производительности — пропускной способности; минимальная избыточность по затратам на создание и эксплуатацию БД; целостность и возможность поиска данных; безопасность и секретность от несанкционированного доступа; связь с разработанными и проектируемыми БД; простота; возможность настройки и перемещения данных. Последние требования составляют концепцию автоматизированных информационных систем, обладающих адаптацией СУБД к данной предметной области с учетом динамики ее развития.
База данных характеризуется двумя аспектами: информационным и манипуляционным. Первый отражает структуру данных, наиболее подходящую для данной предметной области; второй — действия над структурами данных: выборку, добавление, удаление, обновление и преобразование данных.
При построении БД должен выполняться принцип информационного единства, то есть должны применяться термины, символы, условные обозначения, проблемно-ориентированные языки и другие способы представления информации, принятые в САПР. В качестве основных логических структур баз данных могут использоваться: иерархическая, сетевая, реляционная, смешанная (представляющая собой различные сочетания перечисленных выше структур).
Содержание, структура и организация использования БД должны обеспечивать:
объединение любого числа БД любого объема, допускающее совместное использование общих данных различными подсистемами САПР для разных задач;
возможность наращивания БД, достоверность и непротиворечивость данных, минимальный объем памяти ЭВМ для их хранения;
защиту и регулирование возможности доступа к БД;
многократное использование данных.
Проблема согласования программ является прежде всего проблемой выбора структур данных и массивов в памяти ЭВМ. Если программы рассчитаны на работу с общими данными, сгруппированными по-разному, то такие программы не являются информационно согласованными и не могут непосредственно войти в сочетание программ, обслуживающих некоторый маршрут проектирования. Для обеспечения взаимодействия программ в маршрутах необходимо их информационное согласование, то есть приспособление к работе с информационными массивами одинаковой структуры.
Информационная согласованность программ обеспечивается построением общей для согласуемых программ БД, то есть совокупности всех тех данных, которые обрабатываются в более чем одной программе (модуле).
В БД можно выделить части, играющие различную роль в процессе проектирования.
Первая часть — СПРАВОЧНИК — содержит справочные данные о ГОСТах, нормалях, унифицированных элементах, ранее выполненных типовых проектах. Эта часть изменяется наименее часто, характеризуется однократной записью и многократным считыванием и называется постоянной частью БД.
Вторая часть — ПРОЕКТ — содержит сведения об аппаратуре, находящейся в процессе проектирования. В нее входят результаты решения проектных задач, полученные к текущему моменту (различного типа схемы, спецификации, таблицы соединений, тесты). ПРОЕКТ пополняется или изменяется по мере завершения очередных итераций на этапах проектирования и составляет полупеременную часть БД.
Часто СПРАВОЧНИК и ПРОЕКТ объединяют под общим названием АРХИВ.
Третья часть БД содержит массивы переменных, значения которых важны только в процессе совместного решения двумя (или более) программами конкретной задачи проектирования. Это переменная часть БД.
Первый способ информационного согласования программ — построение централизованной БД, общей для всех модулей программного обеспечения (рис. 10.1).
В соответствии с этим способом при создании САПР сначала разрабатывается БД, а затем — программное обеспечение.
Реализация централизованной БД — сложная задача, т. к. выбранная структура БД не всегда может обеспечить реализацию всех необходимых маршрутов проектирования. Например, ранее принятая структура БД может не удовлетворять требованиям новых элементов информационного и программного обеспечения.
Поэтому второй способ информационного согласования программ — построение системы, в которой несколько частных баз данных сопрягаются с помощью специального программного интерфейса, как показано на рис. 10.2.
Интерфейс представляет собой программы перекомпоновки информационных массивов из форматов и структур одной БД в форматы и структуры, принятые в другой БД.
Основные операции в БД — выборка данных прикладными программами, запись новых данных, удаление старых ненужных записей, перезапись файлов с одних машинных носителей на другие и так далее.
Для выполнения большинства из этих операций требуется специальное программное обеспечение.
Рис. 10.1. Структура программного обеспечения при централизованной БД
Рис. 10.2. Структура программного обеспечения при частных БД
Совокупность программ, обслуживающих БД, называется системой управления базой данных СУБД. БД и СУБД вместе образуют БАНК ДАННЫХ.
Логическое представление БД отображает только состав сведений и связи между элементами сведений, хранящихся в БД.
Физическое представление БД отображает способ расположения информации на машинных носителях.
Структуру БД можно представить в виде графа. Каждая вершина графа отображает группу однотипных записей (группы взаимосвязанных элементов данных), то есть каждой вершине можно поставить в соответствие таблицу, содержащую конкретные значения (экземпляры) записей.
БД, для логического представления которых используются графы, называют СЕТЕВЫМИ. Обычно в сетевых БД в графах, изображающих структуру, можно указать те или иные циклы.
В частном случае сетевых БД граф может представлять собой дерево. В частности, если устранить из БД все сведения, кроме одного номинального, то структура представляется деревом. Такую структуру называют ДРЕВОВИДНОЙ или ИЕРАРХИЧЕСКОЙ. Реализация древовидной структуры проще, чем сетевой структуры общего вида, однако чаще реальные данные имеют сложные сетевые структуры.
Наряду с сетевым подходом к представлению БД существует другой подход, основанный на операции нормализации структуры. Этот подход приводит к логическому представлению БД в виде совокупности таблиц. Такие базы данныхбазы данных называют РЕЛЯЦИОННЫМИБ БД.
Реляционная БД представляет собой совокупность таблиц при условии, что сведения о связях между таблицами удается включить в сами эти таблицы. Включение таких сведений обеспечивается нормализацией. Сетевые и реляционные базы данных имеют свои преимущества и недостатки. В настоящее время развиваются оба направления в логической организации БД.
10.2. Уровни представления данных
Существует три уровня представления данных: уровень пользователя (предметная область), логический и физический.
Каждый объект предметной области характеризуется своими атрибутами, каждый атрибут имеет имя и значение. Например, объект осциллограф. Имена его атрибутов — частота повторения, чувствительность, полоса пропускания; значения атрибутов — соответствующие значения параметров. Или объект транзистор, имена его атрибутов — наименования параметров, значения атрибутов — значения параметров и т. д.
Логический (концептуальный) уровень — это абстрактное представление (абстрактный уровень) данных, независимое от представления в ЭВМ.
Физический уровень — это практическая реализация базы данных на том или ином носителе в ЭВМ. Сюда входят и программные средства управления этими носителями.
Связь между этими тремя уровнями представления данных показана в таблице 10.1.
Таблица 10.1.
Предметная область
Логический уровень
Физический уровень
Вся предметная область
Библиотека
База данных
Подмножество объектов предметной области
Запись
Список
Атрибут
имя
Поля
имя поля
Элемент (сегмент)
значение
значение поля
Вся совокупность информации, описывающей один объект предметной области на логическом уровне, называется записью. Запись полностью характеризует объект и все его атрибуты.
Совокупность записей об одной и той же категории объектов образует файл. Запись состоит из полей, каждое поле соответствует одному из атрибутов. Содержание поля описывает имя и значение соответствующего атрибута.
На физическом уровне каждой записи соответствует одна ячейка — область памяти на том или ином носителе, размер которой должен быть достаточен для хранения записи. Каждому полю, описывающему атрибут объекта, соответствует элемент на конкретном носителе; элемент может быть разделен на сегменты.
Совокупность ячеек образует список, соответствующий одному файлу на логическом уровне. Каждая ячейка имеет ключевое поле; если номера ячеек возрастают, то файл называют ранжированным. Бывают пустые ячейки; тогда список называют неплотным.
Совокупность файлов на логическом уровне называют библиотекой, соответствующей конкретной рассматриваемой предметной области. На физическом уровне библиотеке соответствует база данных.
На логическом уровне данные могут быть представлены тремя способами. В настоящее время существует три модели данных: реляционная, сетевая и иерархическая.
В основу реляционной модели положено понятие теоретико-множественного отношения (реляции), которое представляется в виде таблицы. Она является наиболее удобным инженерным представлением для пользователя (рис. 10.3а). Каждый столбец ее соответствует атрибуту объекта, и ему присваивается соответствующее имя. В столбцах таблицы (отношения) вводятся значения атрибутов. Используя отношения связи и язык реляционной алгебры, можно осуществлять выбор любого подмножества информации: по строкам, столбцам или другим признакам. Применяя операции "разрезания" и "склеивания" отношений, можно получить разнообразные файлы в нужной форме (рис. 10.3б).
При использовании реляционной модели атрибут объекта может сам выступать как объект другой предметной области, т.е. задействуется относительность (отсюда — отношение) понятий объекта и его атрибутов.
Иерархическая модель данных — это некоторая их совокупность, состоящая из отдельных деревьев, в которых все связи направлены от одного сегмента, называемого исходным, к нескольким порожденным, т. е. реализуются связи типа "один ко многим" (рис. 10.4а). Сегмент — это одно или несколько полей, являющихся основной единицей обмена между прикладной программой и языком описания данных. При реализации иерархической системы каждое дерево описывается в виде отдельного файла данных.
Сетевая модель данных является более общей структурой по сравнению с иерархической. Каждый отдельный сегмент (ячейка) может иметь произвольное число непосредственных исходных (старших) сегментов, а также и произвольное число порожденных (младших) (рис. 10.4б).
Рис. 10.3. Пример (а) и общий вид (б) реляционной модели данных
Это обеспечивает представление отношения "многие к многим". Сетевые структуры могут быть описаны с помощью раскрашенных файлов.
Рис. 10.4. Иерархическая (а) и сетевая (б) модели данных
Модели данных необходимо сравнивать по следующим показателям: легкость применения для программиста и пользователя, эффективность реализации по объему памяти и времени поиска информации.
Наиболее легка в использовании реляционная модель; сетевая требует от программиста и пользователя понимания типов записей, связей и их отношений. В то же время сетевая и иерархическая модели возникли исторически раньше и реализованы на языках низкого уровня (Ассемблер, Макрокод и др.). Примеры сетевых БД — КОДАСИЛ — ADABAS, Квант и др.; иерархической — IMS.
Реляционные базы данных реализованы на языках высокого уровня и в ряде стран приняты в качестве национального стандарта. К ним относятся ALPHA, QBE, RISS, SEQVEI, dBASE, FRAMEWORK.
10.3. Проектирование базы данных
Процесс разработки структуры БД на основании требований пользователя называют проектированием БД (ПБД). Результатами ПБД являются структура БД, состоящая из логических и физических компонент, и руководство для прикладных программистов.
Развитие системы БД во времени называют жизненным циклом. Последний делится на стадии анализа, проектирования и эксплуатации.
Первая стадия включает в себя этапы формулирования и анализа требований, концептуального проектирования, проектирования реализации, физического проектирования. Анализ требований является полностью неформализованным этапом. Его основная цель — обеспечить согласованность целей пользователей и представлений об информационных потоках.
Вторая стадия состоит из этапов реализации БД, анализа функционирования и поддержки, модификации и адаптации.
Концептуальное проектирование обеспечивает выбор структуры организации информации на основе объединения информационных требований пользователей.
Проектирование реализации (логическое проектирование) разделяют на две части: проектирование базы данных и проектирование программ. Результатом первой части является логическая структура БД. Результатом второй части считают функциональные описания программных модулей и наборы запросов к БД.
Физическое проектирование разделяют также на две части: выбор физической структуры БД и отладку программных модулей, полученных при проектировании программ. Результатом этапа является подготовка к эксплуатации БД.
На этапе реализации БД ставится задача разработки программ доступа к БД.
Этап анализа функционирования и поддержки обеспечивает статистическую обработку данных о функционировании системы. Восстановление БД и ее целостности после сбоев обеспечивает поддержка БД.
Этап модернизации и адаптации позволяет производить изменения, оптимизацию функционирования, модификацию программ.
Языки, используемые в БД, делят на языки описания данных (ЯОД) и языки манипулирования данными (ЯМД).
В общем случае ЯОД описывает различные типы записей, их имена и форматы, а также служит для определения:
типов элементов данных, которые нужны в качестве ключей;
отношений между записями или их частями и именования этих отношений;
типа данных, которые используются в записях;
диапазона их значений;
числа элементов, их порядка и т. п.;
секретности частей данных и режимов доступа к ним.
Различают три уровня абстракции для описания данных:
концептуальный (с позиции администратора);
реализации (с позиции прикладного программиста и пользователя;
физический (с позиции системного программиста).
На концептуальном уровне описывают объекты, атрибуты и значения данных. На уровне реализации имеют дело с записями, элементами данных и связями между записями. На физическом уровне оперируют блоками, указателями, данными переполнения, группировкой данных.
Обычно ЯМД дают возможность манипулирования данными без знания несущественных для программиста подробностей. Они могут реализоваться как расширение языков программирования общего назначения путем введения в них специальных операторов или путем реализации специального языка.
При работе с БД используются несколько типов языков:
манипулирования данными;
программирования;
описания физической организации данных.
Языки программирования, применяемые в БД, представляют собой распространенные языки типа ФОРТРАН, КОБОЛ и многие новые языки.
Языки описания логических схем пользователя реализуются средствами описания данных языка прикладного программирования, средствами СУБД, специальным языком.
Наиболее широко распространен первый способ описания. Он имеет в основе операторы объявления (например, DECLARE в языке PL/I, STRUCT в СИ, type в ADA).
Языки описания схем БД предназначены для администратора БД. С их помощью определяют глобальные описания данных.
Языки описания физической организации данных описывают физическую структуру размещения схемы на машинных носителях. С их помощью определяют методы доступа, предписывающие размещение данных на тех или иных носителях, и т. п.
Наибольшими преимуществами обладают специальные языки, так как они не зависят от используемых языков программирования или технических средств. Следовательно, при переносе БД на другое ТО или смене языка программирования большинство описаний БД останется без изменения.
Процесс проектирования БД начинают с построения концептуальной модели (КМ). Концептуальная модель состоит из описания объектов и их взаимосвязей без указания способов физического хранения. Построение КМ начинается с анализа данных об объектах и связях между ними, сбора информации о данных в существующих и возможных прикладных программах. Другими словами, КМ — это модель предметной области. Версия КМ, обеспечиваемая СУБД, называется логической моделью (ЛМ). Подмножества ЛМ, которые выделяются для пользователей, называются внешними моделями (подсхемами). Логическая модель отображается в физическую, которая отображает размещение данных и методы доступа. Физическую модель называют еще внутренней.
Внешние модели не связаны с используемыми ТС и методами доступа к БД. Они определяют первый уровень независимости данных. Второй уровень независимости данных связан с отсутствием изменений внешних моделей при изменении КМ.
Важным инструментом при разработке и проектировании БД является словарь данных (СД), предназначенный для хранения сведений об объектах, атрибутах, значениях данных, взаимосвязях между ними, их источниках, значениях, форматах представления. Словарь данных позволяет получить однообразную и формализованную информацию обо всех ресурсах данных.
Главное назначение СД состоит в документировании данных. Он должен обеспечивать централизованное введение и управление данными, взаимодействие между разработчиками любого проекта, например САПР. Существуют интегрированные и независимые СД. В первом случае СД — это часть пакета программ СУБД, а во втором — отдельный пакет программ в виде дополнения к СУБД.
В настоящее время СД рассматривают как связующее звено в системе ПО обработки данных, включающей в себя процессор, СУБД, языки запросов, монитор телеобработки.
В полном объеме СД обязан:
поддерживать КМ, логическую, внутреннюю и внешнюю модели;
быть интегрированным с СУБД, поддерживать тестовые и рабочие версии хранимых описаний;
обеспечивать эффективный обмен информацией с СУБД и процесс изменения рабочей версии при изменении БД.
Словарь данных должен иметь свою БД. Основные составляющие БД словаря данных:
атрибут;
объект;
групповой элемент данных;
выводимый объект данных;
синонимы, т. е. атрибуты, имеющие одинаковое назначение, но различные идентификаторы;
омонимы, т. е. атрибуты с различным назначением, но с одинаковыми идентификаторами;
описание КМ, ЛМ, внешних и внутренних моделей;
описание, позволяющее пользователям формально и однозначно выбирать атрибуты для решения задач.
Контрольные вопросы и упражнения
Что такое система данных?
Определите предметную область, объект, атрибут (элемент данных), значения данных и постройте таблицы связи между ними.
Что такое идентификаторы объекта и ключевые атрибуты?
Что такое запись данных? Приведите примеры.
Что такое файл данных (набор данных)?
Приведите пример взаимно однозначного соответствия между прикладными программами логического проектирования и файлами данных.
Какие проблемы возникают при обработке данных с несколькими файлами?
Приведите известные определения базы данных (БД).
В чем сходство и различие между БД и файлом?
Приведите основные определения системы управления базами данных (СУБД).
Опишите основные функции СУБД и требования к ним.
В чем заключается информационная согласованность в САПР?
Что такое функция администрирования БД и кто такой администратор БД (АБД)? Какие функции выполняет АБД?
Что такое независимость данных?
Какие языки используются в БД?
Что такое концептуальная модель (КМ)?
Приведите определение логической, внешней, внутренней (физической) моделей.
Что такое независимость данных?
Опишите иерархическую модель данных (ИМД). Постройте пример.
Опишите сетевую модель данных (СМД) и постройте пример.
Опишите реляционную модель данных (РМД) и постройте пример.
11. Реляционная модель баз данных
11.1. Реляционная база данных, разработанная Э.Ф. Коддом (Е. F. Codd) в 1970 г., – это конечный набор конечных отношений (таблиц) вида рис. 10.3,б. Над отношениями можно осуществлять различные алгебраические операции. Тем самым теория реляционных баз данных становится областью приложения математической логики и современной алгебры и опирается на точный математический формализм.
Каждое отношение имеет свое имя; столбцы отношения соответствуют тому или иному атрибуту, имеющему имя и значения. Элементы отношения, соответствующие одной строке, составляют кортеж отношения (рис. 10.3, б). Арность кортежа – число значений атрибутов в кортеже, т.е. число атрибутов в отношении [7,13, 31].
Схема отношения – список имен атрибутов вместе с именем отношения; так, для рис. 10.3,а схема отношения – ТРАНЗИСТОРЫ (p, Iк max, Pк, Cк), для рис. 10.3, б – ИМЯ ОТНОШЕНИЯ (A, B, С, D).
Домен – множество значений атрибутов (в том числе и только одного атрибута – один столбец). Вообще столбцы не обязательно являются поименованными, а порядок следования элементов в картежах также несущественен.
Существует три подхода к анализу реляционных БД и формированию запросов в них: реляционная алгебра, реляционное исчисление на переменных-кортежах и реляционное исчисление на переменных-доменах.
В реляционных базах данных основные операции – включение, удаление, модификация и запрос данных – применяются к кортежам и доменам.
Для осуществления операции включения данных задаются новый кортеж и отношение, в которое он должен быть включен. Тогда значения нового кортежа образуют ключ файла включения данных.
При удалении данных должны быть заданы отношение и значения атрибутов, образующих ключ удаляемых кортежей.
При модификации данных задаются отношение, значения атрибутов ключа и новые значения для применяемых атрибутов. Преобразуются ключевые значения в значения полей. К файлу применяется процедура модификации.
Запрос в реляционных базах данных может быть сформулирован к одному или нескольким отношениям (таблицам). Например имеется запрос: указать типы всех транзисторов и их Pк, для которых Ск > 15 пФ. Тогда значение атрибута Ск = 15 пФ. Затем на печать выдается новый файл-отношение "Тип транзистора, Рк, β". Могут быть более сложные запросы: например, определить мощности рассеивания транзисторов, для которых β 40, Iк max > 2а, Ск < 150 пФ и т. д. Тогда эти значения составляют ключ, и по ним составляется новое отношение Рк.
Все эти запросы реализуются с помощью специальных языков манипулирования данными, ряд из которых основан на реляционной алгебре.
Основные операции реляционной алгебры приведены в табл. 11.1. В ней даны исходные отношения, результаты операций, а также в ряде случаев теоретико-множественное представление операций. Первые пять операций являются основными, остальные – дополнительные, которые могут быть выражены через пять основных.
Объединение отношений R S – это множество кортежей (отношений), принадлежащих отношениям R, S или им обоим; отношения R и S должны иметь одинаковую арность.
Разность отношений R – S – множество кортежей, принадлежащих R, но не принадлежащих S. Отношения R и S также должны иметь одинаковую арность.
Декартово произведение отношений R x S – одна из основных операций по затратам машинного времени при формировании запросов к реляционной БД. При умножении отношений к каждому кортежу первого отношения (R) присоединяется каждый кортеж второго отношения (S) – конкатенация кортежей; при этом отношения R и S могут иметь одинаковую или различную арность. При декартовом умножении арности исходных отношений складываются, а количества кортежей – перемножаются.
Проекция отношения R[ X,Y (R)] – операции выборки по столбцам (атрибутам), приведенным в обозначении проекции.
Например, C,A (R) — отношение, составленное из атрибутов С и А отношения R; 2,3 (R) — отношение, составленное из 2-го и 3-го атрибутов отношения R, при этом арность проекции равна числу имен в ее обозначении.
Селекция отношения R [σF (R)] — операция выборки по строкам (кортежам), удовлетворяющим формуле F. В формулу входят операнды, являющиеся константами или номерами (именами) атрибутов, арифметические операторы сравнения: <, =, >, , , и логические операторы (И), (ИЛИ), (НЕ).
Например, σB="f"(R) обозначает множество кортежей, в которых компоненты атрибута В равны f, или σ2>3 D=A(R) обозначает множество кортежей, в которых компоненты 2-го атрибута больше компонентов 3-го атрибута и одновременно равны компоненты атрибутов А и D).
Пересечение отношений R S есть краткая запись для отношения R – (R – S) и обозначает множество кортежей, принадлежащих одновременно R и S.
Частное отношений — множество кортежей, содержащих r – s первых компонентов кортежей отношения R, в которых остальные (s) компонентов принадлежат отношению S.
Соединение (θ-соединение) отношений — это селекция (с формулой θ) декартова произведения отношений R и S:
В частности, означает, что сначала надо выполнить декартово произведение отношений R и S, а затем в новом отношении выполнить селекцию по формуле А < D.
Эквисоединение отношений — это θ-соединение, если в формуле θ используются только равенства (см. таблицу 11.1, строку 9).
Естественное соединение — это эквисоединение, которое выполняется для атрибутов отношений R и S с одинаковыми именами (см таблицу 11.1, строку 10). Так как для указанных атрибутов имена и значения полностью совпадают, то один из них в каждой паре в результирующем отношении устраняют. Естественное соединение — одна из основных операций при формировании запросов к реляционной БД.
Композиция отношений — это проекция θ-соединения или проекции селекции декартова произведения. По сути, естественное соединение — тоже частный случай композиции. Декомпозиция отношений — это операция, обратная композиции, т. е. восстановление двух отношений из одного, естественное соединение которых образует исходное отношение.
Таблица 11.1. Операции реляционной алгебры
№
Операции
Исходные отношения
Результат операции
Объединение
Разность
См. п. 1
Декартово произведение
Проекция
Селекция
Пересечение
Частное
Соединение (θ-соединение)
Эквисоединение
См п. 8
Естественное соединение
Композиция
См п. 8
Декомпозиция
Операция, обратная композиции
В терминах реляционной алгебры легко записываются запросы к реляционной базе данных. Если задано несколько отношений, то запрос выражается в виде операции композиции к этим отношениям. Однако формальное применение композиции — последовательное применение декартова произведения всех отношений, селекции и проекции — приводит к неоправданным затратам машинного времени. Поскольку арность и число кортежей в исходных отношениях могут быть велики (десятки, сотни), нецелесообразно формировать сначала все декартово произведение, а только затем применять селекцию и проекцию. Так, если два отношения имеют по n кортежей и время доступа к каждой записи — t0, то общее время доступа к памяти для формирования полного декартова произведения Tдоступа = n2t0. Если n = 104, t0 = 10 мс, то Tдоступа = 106 11,5 сут. Поэтому с
целью экономии машинного времени необходимо выполнять предварительную оптимизацию запросов к реляционной базе данных. Общая стратегия оптимизации заключается в следующем:
выполнять селекции и проекции как можно раньше до декартова умножения (с целью сокращения арности и количества кортежей);
собирать в каскады селекции и проекции, чтобы выполнять их за один просмотр файла;
обрабатывать (сортировать, индексировать) файлы перед выполнением соединения;
комбинировать проекции с предшествующими или последующими двуместными операциями.
Для осуществления этой стратегии применяются эквивалентные выражения реляционной алгебры, приведенные в табл. 11.2. Законы коммутативности и ассоциативности означают произвольный выбор в очередности соединений и умножений. При перестановках проекции или селекции с декартовым произведением следует обращать внимание на принадлежность тех или иных имен атрибутов к исходным отношениям.
Закон коммутативности для соединений и декартовых произведений
Закон ассоциативности для соединений и произведений
Каскад проекций
Каскад селекций
Перестановка селекции и проекции
Перестановка селекции с произведением
Перестановка проекции с произведением
on_load_lecture()
set_video_reclama();
12. Лекция: Математические методы и модели автоматизированного проектирования
12.1. Иерархическая структура проектных спецификаций и иерархические уровни проектирования
Выполнение проектных операций и процедур в САПР основано на оперировании математических моделей (ММ). С их помощью прогнозируются характеристики и оцениваются возможности предложенных вариантов схем и конструкций, проверяется соответствие предъявляемым требованиям, проводится оптимизация параметров, разрабатывается техническая документация и т. п.
В САПР для каждого иерархического уровня сформулированы основные положения математического моделирования, выбран и развит соответствующий математический аппарат, получены типовые ММ элементов проектируемых объектов, формализованы методы получения и анализа математических моделей систем. Сложность задач проектирования и противоречивость требований высокой точности, полноты и малой трудоемкости анализа обусловливают целесообразность компромиссного удовлетворения этих требований с помощью соответствующего выбора моделей. Это обстоятельство приводит к расширению множества используемых моделей и развитию алгоритмов адаптивного моделирования.
При использовании блочно-иерархического подхода к проектированию представления о проектируемой системе разделяют на иерархические уровни. На верхнем уровне используют наименее детализированное представление, отражающее только самые общие черты и особенности проектируемой системы. На следующих уровнях степень подробности описания возрастает, при этом рассматривают уже отдельные блоки системы, но с учетом воздействий на каждый из них его соседей. Такой подход позволяет на каждом иерархическом уровне формулировать задачи приемлемой сложности, поддающиеся решению с помощью имеющихся средств проектирования. Разбиение на уровни должно быть таким, чтобы документация на блок любого уровня была обозрима и воспринимаема одним человеком [71, 53, 15].
Другими словами, блочно-иерархический подход есть декомпозиционный подход (его называют также диакоптическим), который основан на разбиении сложной задачи большой размерности на последовательно и (или) параллельно решаемые группы задач малой размерности, что существенно сокращает требования к используемым вычислительным ресурсам или время решения задач.
Можно говорить об иерархических уровнях не только спецификаций, но и проектирования, понимая под каждым из них совокупность спецификаций некоторого иерархического уровня совместно с постановками задач, методами получения описаний и решения возникающих проектных задач.
Список иерархических уровней в каждом приложении может быть специфичным, но для большинства приложений характерно следующее наиболее крупное выделение уровней [51, 33, 38, 55]:
метауровень, на котором решают наиболее общие задачи проектирования систем, машин и процессов. Результаты проектирования представляют в виде структурных схем, генеральных планов, схем размещения оборудования, диаграмм потоков данных и т. д.;
макроуровень, на котором проектируют отдельные устройства, узлы машин и приборов. Результаты представляют в виде функциональных, принципиальных и кинематических схем, сборочных чертежей и т. п.;
микроуровень, на котором проектируют отдельные детали и элементы машин и приборов.
В каждом приложении число выделяемых уровней и их наименования могут быть различными. Так, в радиоэлектронике микроуровень часто называют компонентным, макроуровень — схемотехническим. Между схемотехническим и системным уровнями вводят уровень, называемый функционально-логическим. В вычислительной технике системный уровень подразделяют на уровни проектирования ЭВМ (вычислительных систем) и вычислительных сетей. В машиностроении имеются уровни деталей, узлов, машин, комплексов.
В зависимости от последовательности решения задач иерархических уровней различают нисходящее проектирование, восходящее и смешанное проектирование (стили проектирования). Последовательность решения задач от нижних уровней к верхним характеризует восходящее проектирование, обратная последовательность приводит к нисходящему проектированию, в смешанном стиле имеются элементы как восходящего, так и нисходящего проектирования. В большинстве случаев для сложных систем предпочитают нисходящее проектирование. При наличии заранее спроектированных составных блоков (устройств) можно говорить о смешанном проектировании.
Неопределенность и нечеткость исходных данных при нисходящем проектировании (так как еще не спроектированы компоненты) или исходных требований при восходящем проектировании (поскольку ТЗ имеется на всю систему, а не на ее части) обусловливают необходимость прогнозирования недостающих данных с последующим их уточнением, т. е. последовательного приближения к окончательному решению (итерационность проектирования).
Наряду с декомпозицией описаний на иерархические уровни применяют разделение представлений о проектируемых объектах на аспекты.
Аспект описания (страта) — описание системы или ее алгоритмического (разработка алгоритмов и программного обеспечения) и технологического (разработка технологических процессов) проектирования. Примерами страт в случае САПР могут служить также рассмотренные ранее виды обеспечения автоматизированного проектирования.
12.2. Требования к математическим моделям и их классификация
Под математической моделью (ММ) конструкции, технологического процесса и его элементов понимают систему математических соотношений, описывающих с требуемой точностью изучаемый объект и его поведение в производственных условиях. При построении математических моделей используют различные математические средства описания объекта — теорию множеств, теорию графов, теорию вероятностей, математическую логику, математическое программирование, дифференциальные или интегральные уравнения и т. д.
Выполнение проектных операций и процедур в САПР основано на оперировании математическими моделями (ММ). С их помощью прогнозируются характеристики и оцениваются возможности предложенных вариантов схем и конструкций, проверяется их соответствие предъявляемым требованиям, проводится оптимизация параметров, разрабатывается техническая документация и т. п.
В САПР для каждого иерархического уровня сформулированы основные положения математического моделирования — выбран и развит соответствующий математический аппарат, получены типовые ММ элементов проектируемых объектов, формализованы методы получения и анализа математических моделей систем. Сложность задач проектирования и противоречивость требований высокой точности, полноты и малой трудоемкости анализа обусловливают целесообразность компромиссного удовлетворения этих требований с помощью соответствующего выбора моделей. Это обстоятельство приводит к расширению множества используемых моделей и развитию алгоритмов адаптивного моделирования.
К математическим моделям предъявляют требования высокой точности, экономичности и универсальности. Экономичность математических моделей определяется затратами машинного времени (работы ЭВМ). Степень универсальности математических моделей зависит от возможности их использования для анализа большого числа технологических процессов и их элементов. Требования к точности, экономичности и степени универсальности математических моделей противоречивы. Поэтому необходимо иметь удачное компромиссное решение.
Основными требованиями, предъявляемыми к математическим моделям, являются требования адекватности, универсальности и экономичности.
Адекватность. Модель считается адекватной, если отражает заданные свойства объекта с приемлемой точностью. Точность определяется как степень совпадения значений выходных параметров модели и объекта. Пусть εj — относительная погрешность модели по j-му выходному параметру:
(12.1)
где — j-й выходной параметр, рассчитанный с помощью модели; yj — тот же выходной параметр, существующий в моделируемом объекте.
Погрешность модели εj по совокупности учитываемых выходных параметров оценивается одной из норм вектора εj=(ε1,ε2,...εm).
Точность модели различна в разных условиях функционирования объекта. Эти условия характеризуются внешними параметрами. Если задаться предельной допустимой погрешностью εпред, то можно в пространстве внешних параметров выделить область, в которой выполняется условие
(12.2)
Эту область называют областью адекватности (ОА) модели. Возможно введение индивидуальных предельных значений εпред для каждого выходного параметра и определение ОА как области, в которой одновременно выполняются все m условий вида |εj| εпредj.
Определение областей адекватности для конкретных моделей — сложная процедура, требующая больших вычислительных затрат. Эти затраты и трудности представления ОА быстро растут с увеличением размерности пространства внешних параметров. Определение ОА —более трудная задача, чем, например, задача параметрической оптимизации. Для моделей унифицированных элементов расчет областей адекватности становится оправданным в связи с однократностью определения ОА и многократностью их использования при проектировании различных систем. Знание ОА позволяет правильно выбирать модели элементов из числа имеющихся и тем самым повышать достоверность результатов машинных расчетов.
В библиотеку моделей элементов наряду с алгоритмом, реализующим модель, и номинальными значениями параметров должны включаться граничные значения внешних параметров q'k и q''k, задающие область адекватности.
Универсальность. При определении ОА необходимо выбрать совокупность внешних параметров и совокупность выходных параметров уj, отражающих учитываемые в модели свойства. Типичными внешними параметрами при этом являются параметры нагрузки и внешних воздействий (электрических, механических, тепловых, радиационных и т. п.). Увеличение числа учитываемых внешних факторов расширяет применимость модели, но существенно удорожает работу по определению ОА. Выбор совокупности выходных параметров также неоднозначен, однако для большинства объектов число и перечень учитываемых свойств и соответствующих им выходных параметров сравнительно невелики, достаточно стабильны и составляют типовой набор выходных параметров. Например, для макромоделей логических элементов БИС такими выходными параметрами являются уровни выходного напряжения в состояниях логических "О" и "1", запасы помехоустойчивости, задержка распространения сигнала, рассеиваемая мощность.
Если адекватность характеризуется положением и размерами ОА, то универсальность модели определяется числом и составом учитываемых в модели внешних и выходных параметров.
Экономичность. Экономичность модели характеризуется затратами вычислительных ресурсов для ее реализации, а именно затратами машинного времени Тм и памяти Пм. Общие затраты Тм и Пм на выполнение в САПР какой-либо проектной процедуры зависят как от особенностей выбранных моделей, так и от методов решения.
В большинстве случаев при реализации численного метода происходят многократные обращения к модели элемента, входящего в состав моделируемого объекта. Тогда удобно экономичность модели элемента характеризовать затратами машинного времени при обращении к модели, а число обращений к модели должно учитываться при оценке экономичности метода решения.
Экономичность модели по затратам памяти оценивается объемом оперативной памяти, необходимой для реализации модели.
Требования широких областей адекватности, высокой степени универсальности, с одной стороны, и высокой экономичности — с другой, являются противоречивыми. Наилучшее компромиссное удовлетворение этих требований оказывается неодинаковым в различных применениях. Это обстоятельство обусловливает использование в САПР многих моделей для объектов одного и того же типа — различного рода макромоделей, многоуровневых, смешанных моделей и т. п.
on_load_lecture()
set_video_reclama();
12.3. Функциональные и структурные модели
Основные признаки классификации и типы ММ, применяемые в САПР, приведены в следующей таблице 12.1:
Таблица 12.1.
Признак классификации
Математические модели
Характер отображаемых свойств объекта
Структурные, функциональные
Принадлежность к иерархическому уровню
Микроуровень, макроуровень, метауровень
Степень детализации описания внутри одного уровня
Полные, макромодели
Способ представления свойств объекта
Аналитические, алгоритмические, имитационные
Способ получения
Теоретические, эмпирические
По характеру отображаемых свойств объекта ММ делятся на структурные и функциональные.
Структурные ММ предназначены для отображения структурных свойств объекта. В свою очередь, структурные ММ делятся на топологические и геометрические.
Описание математических соотношений на уровнях структурных, логических и количественных свойств принимает конкретные формы в условиях определенного объекта.
Функциональные ММ предназначены для отображения физических или информационных процессов, протекающих в технологических системах при их функционировании.
Обычно функциональные ММ представляются системой уравнений, описывающих фазовые переменные, внутренние, внешние и выходные параметры.
В проектных процедурах, связанных с функциональным аспектом проектирования, как правило, используются ММ, отражающие закономерности процессов функционирования объектов, т.е. функциональные модели. Типичная функциональная модель представляет собой систему уравнений, описывающих либо электрические, тепловые, механические процессы, либо процессы преобразования информации.
В то же время в процедурах, относящихся к конструкторскому аспекту проектирования, преобладает использование математических моделей, отражающих только структурные свойства объекта, например его геометрическую форму, размеры, взаимное расположение элементов в пространстве, т. е. структурные модели. Структурные модели чаще всего представляются в виде графов, матриц инциденций и смежности, списков и т. п. [38].
Как правило, функциональные модели более сложные, поскольку в них отражаются также сведения о структуре объектов. Однако при решении многих задач конструирования использование сложных функциональных моделей неоправданно, так как нужные результаты могут быть получены на основе более простых структурных моделей. Функциональные модели применяют преимущественно на завершающих этапах верификации описаний объектов, предварительно синтезированных с помощью структурных моделей.
Проектирование технологического процесса изготовления изделия также характеризуется различными иерархическими уровнями: самый высокий уровень — разработка принципиальной схемы технологического процесса, который включает отдельные этапы, причем этап может содержать несколько или одну операцию. В данном случае оператором будет являться этап технологического процесса. Моделирование технологических процессов разного уровня происходит с помощью различных моделей и алгоритмов.
Иерархические уровни ММ делятся на микроуровни, макроуровни и метауровни. Особенностью ММ на микроуровне является отображение физических процессов в непрерывном пространстве и времени. С помощью дифференциальных уравнений в частных производных рассчитываются поля механических напряжений и деформаций.
На макроуровне используют укрупненную дискретизацию пространства по функциональному признаку, что приводит к представлению ММ на этом уровне в виде обыкновенных дифференциальных уравнений. В этих моделях имеются две группы переменных — независимых (время) и зависимых (фазовых). ММ на метауровне описывают укрупненно рассматриваемые объекты (технологические системы и т. п.). В качестве математического аппарата используют обыкновенные дифференциальные уравнения, теорию массового обслуживания, элементы дискретной математики (сети Петри и т. д.).
Теоретические модели строят на основании изучения закономерностей. В отличие от формальных моделей (например, эмпирических) они в большинстве случаев более универсальны и справедливы для широких диапазонов изменения технологических параметров. Теоретические модели могут быть линейными и нелинейными, а в зависимости от мощности множества значений переменных модели делят на непрерывные и дискретные. При технологическом проектировании наиболее распространены дискретные модели, переменные которых представляют собой дискретные величины, а множество решений — счетно. Различают также модели динамические и статические. В большинстве случаев проектирования технологических процессов используют статические модели, уравнения которых не учитывают инерционность процессов в объекте.
В полной ММ учитываются связи всех элементов проектируемого объекта, например маршрутная технология. Макро-ММ отображают значительно меньшее число межэлементных связей. Аналитические ММ представляют собой функциональные модели (теоретические или эмпирические) и, как правило, используются при параметрической оптимизации технологических процессов. Алгоритмическая ММ представляется в виде алгоритма. Имитационная модель является алгоритмической, отражающей поведение исследуемого объекта во времени при заданных внешних воздействиях на объект (например, процесс подготовки управляющих программ для роботизированной сборки).
Выбор типа математического моделирования, наиболее эффективного в условиях конкретной задачи, определяется его технологической сущностью, формой представления исходной технологической информации, общей целью исследования