- •Введение
- •1. Структура и классификация сапр
- •1.1.Разновидности сапр
- •1.2.Функции, характеристики и примеры cae/cad/cam-систем
- •1.3.Понятие о cals-технологии
- •1.4.Комплексные автоматизированные системы
- •1.5.Системы управления в составе комплексных автоматизированных систем
- •1.6.Автоматизированные системы делопроизводства (асд)
- •2.Системы автоматизированного проектирования и их место среди других автоматизированных систем
- •3.Системные среды и программно-методические комплексы сапр
- •3.1.Функции сетевого программного обеспечения
- •3.1.1.Системы распределенных вычислений
- •3.1.2.Прикладные протоколы и телекоммуникационные информационные услуги
- •3.1.3.Информационная безопасность
- •3.2.Назначение и состав системных сред сапр
- •3.2.1.Системные среды автоматизированных систем
- •3.2.2.Подходы к интеграции по в сапр
- •3.2.3.Технологии интеграции по типа dde и ole
- •3.2.4.Управление данными в сапр
- •3.2.5.Варианты управления данными в сетях ас
- •3.2.6.Интеллектуальные серверы бд
- •3.2.7.Распределенные базы данных (рбд)
- •3.2.8.Программные средства управления проектированием в сапр
- •3.2.9.Примеры подсистем управления данными и проектированием
- •3.3.Инструментальные среды разработки программного обеспечения
- •3.3.1.Среды быстрой разработки приложений
- •3.3.2.Компонентно-ориентированные технологии
- •3.3.3.Пример реализации компонентно-ориентированной технологии в сапр
- •4.Системный подход к проектированию
- •4.1.Понятие инженерного проектирования
- •4.2.Принципы системного подхода
- •4.3.Основные понятия системотехники
- •5.Структура процесса проектирования
- •5.1.Иерархическая структура проектных спецификаций и иерархические уровни проектирования.
- •5.2.Стадии проектирования
- •5.3.Содержание технических заданий на проектирование
- •5.4.Классификация моделей и параметров, используемых при автоматизированном проектировании
- •5.5.Типовые проектные процедуры
- •6.Виды обеспечения и требования к их компонентам (гост 23501.101-87)
- •6.1.Программное обеспечение сапр
- •6.2.Информационное обеспечение сапр
- •6.3.Методическое обеспечение сапр
- •6.4.Математическое обеспечение сапр
- •6.5.Лингвистическое обеспечение сапр
- •6.6.Техническое обеспечение сапр
- •6.7.Организационное обеспечение сапр
- •7.Математическое моделирование автоматизированных систем
- •7.1.Математическое обеспечение анализа проектных решений
- •7.1.1.Математический аппарат в моделях разных иерархических уровней
- •7.1.2.Требования к математическим моделям и численным методам в сапр.
- •7.1.3.Место процедур формирования моделей в маршрутах проектирования
- •7.2.Математические модели в процедурах анализа на макроуровне
- •7.2.1.Исходные уравнения моделей
- •7.2.2.Примеры компонентных и топологических уравнений
- •7.2.3.Представление топологических уравнений
- •7.2.4.Особенности эквивалентных схем механических объектов.
- •7.2.5.Характеристика методов формирования ммс
- •7.2.6.Узловой метод
- •7.3.Методы и алгоритмы анализа на макроуровне
- •7.3.1.Выбор методов анализа во временной области
- •7.3.2.Алгоритм численного интегрирования соду
- •7.3.3.Методы решения систем нелинейных алгебраических уравнений
- •7.3.4.Методы решения систем линейных алгебраических уравнений
- •7.3.5.Анализ в частотной области
- •7.3.6.Многовариантный анализ
- •7.3.7.Организация вычислительного процесса в универсальных программах анализа на макроуровне.
- •7.4.Имитационное моделирование
- •7.4.1.Имитационное моделирование систем массового обслуживания
- •7.4.2.Событийный метод моделирования
- •7.4.3.Краткое описание языка срss
- •7.4.4.Сети Петри
- •7.4.5.Анализ сетей Петри
- •7.5.Математическое обеспечение синтеза проектных решений
- •7.5.1.Постановка задач параметрического синтеза
- •7.5.1.1.Место процедур синтеза в проектировании
- •7.5.1.2.Критерии оптимальности
- •7.5.1.3.Задачи оптимизации с учетом допусков
- •7.5.2.Обзор методов оптимизации
- •7.5.2.1.Классификация методов математического программирования
- •7.5.2.2.Методы одномерной оптимизации
- •7.5.2.3.Методы безусловной оптимизации
- •7.5.2.4.Необходимые условия экстремума
- •7.5.2.5.Методы поиска условных экстремумов.
- •7.5.3.Постановка задач структурного синтеза
- •7.5.3.1.Процедуры синтеза проектных решений
- •7.5.3.2.Задача принятия решений
- •7.5.3.3.Представление множества альтернатив
- •7.5.3.4.Морфологические таблицы
- •7.5.3.5.Альтернативные графы
- •7.5.3.6.Исчисления
- •7.5.4.Методы структурного синтеза в сапр
- •7.5.4.1.Системы искусственного интеллекта.
- •7.5.4.2.Дискретное математическое программирование
- •7.5.4.3.Элементы теории сложности
- •7.5.4.4.Эволюционные методы.
- •7.5.4.5.Постановка задачи поиска оптимальных решений с помощью генетических алгоритмов
- •7.5.4.6.Простой генетический алгоритм
- •7.5.4.7.Разновидности генетических операторов
- •7.5.4.8.Генетический метод комбинирования эвристик
- •8.Эффективность сапр
- •9.Понятие об открытых системах
- •9.1.История развития открытых систем
- •9.2.Существующие определения открытых систем и терминология
- •9.3.Различные подходы к понятию "открытые системы"
- •10.Технологии и стандарты информационной поддержки жизненного цикла изделий
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
3.3.3.Пример реализации компонентно-ориентированной технологии в сапр
Основные идеи компонентно-ориентированной (объектной) технологии с созданием расширенных специализированных библиотек компонентов реализованы в системе С AS. CADE (Computer Aided Software/ Computer Aided Design Engineering) фирмы Matra Datavision.
Система CAS.CADE состоит из нескольких частей. Основными частями являются библиотеки классов и инструментальная среда для создания программного обеспечения (ПО) технических и научных приложений.
Библиотеки (Object Libraries) в CAS.CADE представляют собой специализированные наборы заранее разработанных компонентов на языке C++. Совокупность библиотек имеет иерархическую структуру. Базовые компоненты соответствуют классам объектной методологии. Примерами компонентов являются строки, списки, точки, матрицы, линии, поверхности, деревья, решатели уравнений, операторы сортировки, поиска на графах и т.п. Классы группируются в пакеты (Packages), пакеты - в наборы (Toolkits), наборы - в домены (Resourse Domains).
В CAS.CADE выделено несколько библиотек. Во-первых, это библиотеки 2D и 3D моделирования, включающие компоненты для определения, создания и манипулирования геометрическими моделями. Во-вторых, ряд библиотек предназначен для связи с ОС и управления данными, для обмена данными с внешними CAD системами, для создания сеточных моделей и др. Так, в состав библиотеки обмена данными входят конверторы данных из формата CAS.CADE в Express-файл прикладного протокола АР214 стандарта STEP и обратно. Аналогичные конверторы имеются для взаимного преобразования данных из формата CAS.CADE в другие популярные в САПР форматы IGES и DXF/SAT.
Необходимо отметить, что основные приложения, на которые ориентирована CAS.CADE, – это приложения машинной графики и геометрического моделирования, поэтому в системе наиболее развиты библиотеки графических и геометрических компонентов.
Геометрическое моделирование и визуализация в CAS.CADE поддерживаются соответствующим ПО. В это ПО входят библиотечные наборы "Геометрия", "Топология", "Визуализация" и др. Для тестирования и демонстрации компонентов перед их встраиванием в проектируемую прикладную САПР используются специальные язык, интерпретатор и просмотрщик, составляющие подсистему "Тестирование".
Набор "Геометрия" включает пакеты канонических геометрических элементов и массивов (множеств) этих элементов.
Пакеты gp, geom2d и geom включают 2D и 3D геометрические элементы (классы), используемые в качестве сущностей в вычислительных процедурах, в том числе в таких операциях, как поворот, отражение, масштабирование и т.п. Примерами элементов могут служить декартовы координаты, точки, векторы, линии, окружности, квадратичные кривые, сферические, тороидальные и конические поверхности, кривые и поверхности Безье, В-сплайнов и др.
Большое число пакетов разработано для выполнения геометрических построений и метрических расчетов. Пакеты gee, GC, GCE2d включают алгоритмы построения сущностей из элементов пакетов gp, Geom, Geom2d, например, построение прямых, дуг окружностей, кривых по заданным параметрам таким, как инцидентные точки, центральные точки и радиусы, параллельные или нормальные прямые и т.п.
Набор "Топология" определяет структуры данных, описывающих связи (отношения) между геометрическими сущностями – классами предыдущего набора "Геометрия". К структурам топологических данных относятся вершины, ребра, линии каркасных моделей, участки поверхности, оболочки – совокупности связанных через ребра участков поверхности, тела – части пространства, ограниченные оболочкой, совокупности тел, в том числе простые конструкции вида частей цилиндра, конуса, сферы, тора. В наборе имеются также средства: 1) для скругления острых углов и кромок, т.е. формирования галтелей постоянного или переменного радиуса; 2) для поддержания непрерывности при сопряжении разных поверхностей; 3) для метрических расчетов – определения длин ребер, площадей участков поверхности, объемов тел, центров масс и моментов инерции.
В подсистему "Тестирование" входят командный язык TCL (Test Command Language), на котором задается программа тестирования и просмотра библиотечных компонентов, интерпретатор TCL и 2D/3D визуализатор. В TCL имеются обычные для языков программирования команды, такие как присвоение значения переменной, организация цикла, условный переход, так и специальные команды. Среди последних выделяют базовые, геометрические и топологические команды. Примеры базовых команд: задержка при исполнении программы (например, при презентациях), обращение к файлу, вывод на экран координат и других параметров геометрических объектов, создание окон для различных видов, масштабирование изображения, его поворот, установка цвета, выделение на экране одного заданного объекта и т.п. С помощью геометрических команд выполняют создание и модификацию кривых, поверхностей, геометрические преобразования типа поворота или зеркального отражения, вычисления координат, кривизн, производных, нахождение точек пересечения линий и поверхностей. Аналогичные действия производят по отношению к топологическим объектам с помощью топологических команд.
Инструментальная среда CAS.CADE включает интегрированную оболочку, подсистему проектирования пользовательского интерфейса, а также ряд многократно используемых специализированных программ, таких как 2D и 3D моделеры, подсистема управления данными, прикладные программы анализа и т.п.
Интегрированная оболочка служит для управления версиями и параллельной работой многих пользователей.
Для проектирования пользовательского интерфейса в CAS.CADE имеются специальные языковые и программные средства. Язык проектирования диалога состоит из команд создания интерфейса и доступа к компонентам.
Создание интерфейса включает создание контейнеров и диалоговых элементов. Контейнер представляет собой экранное окно, в котором будут размещаться элементы. Элементы обеспечивают информирование пользователя создаваемого приложения о возникающих событиях, дают возможность пользователю задавать значения параметров, выбирать режим работы и т.п.
Различают ряд видов контейнеров. Среди них контейнеры для сообщений, предупреждающих об ошибке, запрашивающих от пользователя ответы типа "да/нет", задания размеров или цвета, выбора файла и т.п.
Примерами команд проектирования диалоговых элементов могут служить команды определения позиции элемента в окне, выбора одного элемента из заданного множества, конструирования текстовой строки или меню, фиксации событий, вызванных выбором мышью позиции или пункта меню, и др.
В структуре прикладной программы, создаваемой в среде CAS.CADE, можно выделить диалоговый модуль (модуль пользовательского интерфейса GUI – Graphic User Interface), модуль связи с прикладной частью и собственно прикладную часть, включающую отобранные компоненты и БД, зависящую от приложения
Объединение используемых в приложении компонентов в прикладную программу осуществляется на языке C++ или специальном языке описания интерфейсов, напоминающем язык IDL.. Следовательно, реализуются присущие C++ поддержка наследования и ограничение доступа (компоненты могут иметь статус защиты от несанкционированного доступа).
С помощью CAS.CADE создают специализированные приложения (прежде всего специализированные САПР) с сравнительно малыми затратами времени и средств.