Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АПCОС_ЛЕКЦИИ_10.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2.46 Mб
Скачать

2.6 Общие принципы представления информации о системах

Общие принципы представления информации о системах известны: блочность, иерархичность, структурность, выделение аспектов рассмотрения, стадий проектирования и т.д. [1]. Разработка новой системы, а также средств автоматизированного проектирования основаны на ряде общих подходов к созданию метасистемы, описывающей (представляющей) ее состав и функционирование. Таким образом, для создания и изучения систем требуется представление информации о целях проектирования (граф целей), функциях системы и последовательности их выполнения (функциональный граф-схема), типовые варианты структуры систем с конструктивными вариантами исполнения ее элементов и системы в целом (дерево «И-ИЛИ»). Структурные элементы (узлы, подузлы) связанные с реализацией функций, являются более общими понятиями по сравнению с конструктивными и не содержат информации о физических принципах работы. Конструктивные элементы: содержат физические и геометрические характеристики объектов, взаимодействующих между собой и выполняющих функции системы.

В общем случае система представляется графом G, моделирующим ее структуру. Граф - совокупность множества (непустого, конечного) элементов - вершин V(G) и семейство (конечное) неупорядоченных пар элементов, называемых ребрами. Математический аппарат – теория графов позволяет оценить и исследовать разработанную систему. В качестве общих функций, применимых к представлению системы в виде графа можно выделить: построение матриц смежности и инцидентности, укладка графов (исключение пересечений ребер на плоскости), привязку узлов к сетке, сравнение графов, выделение подграфов и деревьев на графе, контроль связности и т. д. [2]. Большое значение имеет частный случай графов - деревья, которые широко используются для различных задач представления информации в ЭВМ, например, в случаях классификаций объектов в различных предметных областях. Примером представления и исследования систем является математическое моделирование, основанное на методе эквивалентных электрических схем.

Для достаточного обобщения задач при построении программного продукта необходимо выделить общие функции, необходимые для работы независимо от прикладной задачи. Это позволит разработать структуру и иерархию необходимых классов для программной реализации. Например, изображения элементов, обычно используемых для создания диаграмм, имеют вид окружности, прямоугольника, ромба и др. В общем случае с каждым узлом или ребром связывается пиктограмма, полученная с помощью известных редакторов ресурсов. Для каждого блока можно закрепить за сторонами информацию различного типа, как это делается при построении SADT – диаграмм [3]. Существующие программные средства в определенной степени реализуют приведенные функции в конкретных прикладных областях. К таким системам можно отнести ER-WIN (создание ER-диаграмм), BP-WIN (создание DFD-диаграмм потоков данных), средства управления проектом в CAD системах. Из программных продуктов, разработанных в России, можно отметить Stratum 2000 (моделирование систем). Перечисленные выше функции являются в ряде случаев вспомогательными, обеспечивающими сервис работ с основной системой. Для ЭВМ такой сервис для работы с файлами обеспечивают, например, FAR, Проводник Windows.

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

А.Ф. Тарасов, М.А. Винников (ДГМА, г. Краматорск)

Сценарий развития предметной области

Проблема изучения механических колебаний актуальна для многих областей современной техники. В одних случаях колебательные явления опасны и способны принести значительный вред, в других – целенаправленно применяются в технике. Традиционный подход в изучении колебаний основан на анализе решения системы дифференциальных уравнений, описывающих поведение исследуемого объекта. Такой подход достаточно трудоемок и применим только к простым системам с небольшим числом элементов [1]. Существующее программное обеспечение (ПО) для универсального моделирования динамических систем весьма «тяжеловесно» и дорого. Поэтому существует потребность в разработке инструментального средства, позволяющего быстро создавать модели колебательных систем различной степени сложности и проводить с ними численные эксперименты. В частности, такое инструментальное средство необходимо для моделирования динамических режимов работы гидропрессового оборудования, возникающих при быстром изменении давления в гидросистеме, например, в процессе выполнения разделительных операций (вырубка, пробивка).

В настоящее время требуемая эффективность решения задач моделирования технических объектов может быть обеспечена только системным подходом. Структура предметной области может быть представлена в виде ключевых понятий на трёх уровнях абстракции: метасистема (гидропрессовое оборудование), системы (механическая и гидравлическая), элементы (станина, гидроцилиндр и др.) [2].

На начальном этапе для разработки способа представления системы, применительно к гидропрессовому оборудованию, рассмотрим обобщенную структуру пресса, для которого составим следующую функциональную диаграмму (рисунок 1). Исполнительный механизм преобразует накопленную в приводе энергию в технологическое усилие на заготовку (А1). При ходе подвижных частей (А2) до момента касания заготовки и в процессе деформирования (А3) в приводе происходят различные виды преобразования энергии. При этом силы замыкаются в раме (А4). Применим для описания бизнес-процесса работы гидравлического пресса SADT технологию.

Рисунок 1 – Функциональная схема (описание бизнес-процесса) работы гидравлического пресса

Использование функциональных диаграмм позволяет отразить связи структурных составляющих, управление, показать исполнителей (конструктивные решения) в соответствии с последовательностью действий. Функциональный подход при представлении системы делает возможным ее анализ абстрагируясь от конкретного конструктивного исполнения [3].

Выделим элементы объекта моделирования для последующей разработки классов программной системы.

В состав гидропрессового оборудования входит ограниченное количество обязательных конструктивных составляющих. Они могут быть представлены в виде элементов, которые моделируют детали гидромеханической системы пресса и достаточно точно описывают её поведение при работе. Функциональный анализ показал, что независимо от конструктивного исполнения любую колебательную систему можно представить как совокупность кинематических (класс «массы») и топологических элементов (класс «связи»). Основная функция элементов первого класса – аккумулировать кинетическую энергию, второго –накапливать потенциальную энергию. Основными атрибутами класса «масса» являются: инерционность, жесткость (абсолютная), геометрические размеры; класса «связь» - упругость, невесомость и геометрические параметры.

Содержанием следующего этапа являлась разработка классификации элементов классов «масса» и «связь». В основу классификационных признаков элементов типа «масса» были положены: тип распределения массы по объему и способность перемещаться (рисунок 2).

МАССЫ

Вид

Тип

Сосредоточенные

Распределенные

Подвижные

Неподвижные

- Узел «ИЛИ» - Узел «И»

Рисунок 2 – «И-ИЛИ» дерево элементов типа «масса»

При классификации элементов типа «связь» рассматривали вид (линейность) зависимости передаваемой силы и влияние связи на энергию системы (рисунок 3).

СВЯЗИ

Вид зависимости

Тип

Комбинированные

Простые

Распределяющие F = f (y)

Линейные

Нелинейные

Диссипативные

F = f (y)

Генерирующие

F = f (t)

Смешанные

F = f (y, y, t)

Рисунок 3 –«И-ИЛИ» дерево элементов типа «связь»

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

, (1)

где вид Fj см. рисунок 3, причем для каждого дискретного момента времени правая часть уравнения определяется только действующими на массу связями.

Современный уровень развития компьютерной техники и технологии позволяет комплексно решить проблему моделирования динамических систем на основе объектно-ориентированного метода проектирования (ООП) программных продуктов [4]. С применением ООП возможна разработка программного обеспечения для систем практически любой степени сложности. Наиболее важной является проблема корректной постановки задачи на разработку ПО и определение требований, предъявляемых к объектно - ориентированной библиотеке (ООБ) как инструментальному средству моделирования. Выделим следующие общие требования к ООБ и ПО в целом:

  • адекватность - подразумевает необходимую и достаточную полноту описания исследуемого объекта, достоверность данных о нём;

  • производительность - удовлетворяющая пользователя скорость выполнения операций;

  • гибкость - возможность как горизонтального, так и вертикального развития структуры библиотеки классов, её модифицируемость.

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

Основными задачами при разработке ООБ для моделирования гидропрессового оборудования как сложной колебательной системы являются следующие [5]:

  • объектно-ориентированная декомпозиция предметной области и выделение классов;

  • построение иерархии классов;

  • разработка внутреннего строения классов.

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

На основании этих принципов была разработана ООБ для моделирования одномерных колебательных систем. В качестве базовых были выделены два класса: абстрактная масса и абстрактная связь, которые не имеют определенного конструктивного представления, обладают только атрибутивными признаками и наиболее общими методами обработки данных. Дальнейшая иерархия классов строилась на их основе путём наследования. Иерархическая диаграмма разработанных к настоящему времени компонент ООБ приведена на рисунке 4. Класс «Сосредоточенная масса» уже обладает «поведением» – численно решая заданным способом уравнение (1), он определяет собственные кинематические параметры (перемещение и скорость) для данного момента времени, на основании которых присоединенные связи определяют свое «поведение». Для представления получаемой в ходе моделирования информации каждый класс реализует возможность визуального представления происходящего процесса колебаний, строит графики изменения собственных параметров во времени (перемещения, скорости, действующей силы и т.д.).

Абстрактный базовый класс-предок

Абстрактный элемент

Модель

Интерфейс

Абстрактная масса

Абстрактная связь

Неподвижная опора

Пружина

Сосредоточенная масса

Гидроцилиндр

Деформируемая заготовка

Резьба

Демпфер

Стык

Сухое трение

Рисунок 4 – Иерархия классов ООБ для моделирования гидропрессового оборудования

Внутреннее строение классов определялось компромиссом требований видимости и защиты информации. Проблема производительности функционирования ООБ решалась путём повышения эффективности выполнения наиболее критических с точки зрения временных затрат операций по инициализации - деинициализации объектов, передаче сообщений непосредственному обработчику.

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

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

В данном ПК можно выделить следующие библиотеки классов, обеспечивающие создание, эффективное сопровождение и развитие проектируемых систем: классы графического представления информации (на базе стандартной библиотеки средств разработки MFC, VCL), классы создания, хранения и работы с динамическими структурами данных, классы импорта и экспорта данных (базы данных, CAD системы, OLE между приложениями); классы, обеспечивающие заданные функции обработки информации о созданных структурах данных (получают объект класса Graf, List, Тree), а также внешние функции, обеспечивающие алгоритмы обработки данных в соответствии с задачами предметной области и др.

Обобщение подходов к представлению информации требует использования современных средств реализации программных продуктов на ЭВМ:

  • объектно-ориентированного подхода к проектированию;

  • использования динамических структур (данных, объектов);

  • реализации возможности манипулирования различными объектами (полиморфизм);

  • возможность развития, конкретизации информации о элементах системы на основе наследования.

Эти возможности реализованы в современных средствах разработки программного обеспечения (Visual C++, Visual Basic, Delphi и др.).

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

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

В данном случае система рассматривается на двух уровнях абстракции: «деталь» – атомарный элемент и «сборка» – совокупность элементов «деталей», связанных между собой. Иерархия классов программной системы приведена на рисунке 2.6.

Абстрактный базовый класс-предок

Класс «Деталь»

Класс «Окружение»

Класс «Сборка»

Рисунок 2.2 - Иерархия классов системы

Абстрактный базовый класс-предок обладает наибольшей степенью общности. Реально он может, например, реализовывать механизм работы с динамической структурой параметров на основе использования TList (добавление, удаление, изменение, сохранение-восстановление и др.). Причем, в качестве параметров может выступать практически любая информация – числовые переменные, графические изображения, логические правила, ссылки на базы данных и т.д. Путем наследования получаем классы «Деталь», «Окружение» и «Сборка» (рисунки 2.7‑2.8). Выделение класса «Окружение» позволяет совершенствовать логику применения деталей, рассматривать различные варианты отдельно от представления «Деталей». Логика сборки базируется на информации о деталях, которую они предоставляют о себе, т.е. об «Окружении» деталей.

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

Рисунок 2.3 - Обобщенная структурная схема класса «Деталь»

Рисунок 2.4 - Обобщенная структурная схема класса «Сборка»

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

Рассмотрим возможные варианты (программной) реализации такой логической структуры. Анализ показал, что в этом случае одно из главных требований к структуре системы – динамичность, т.е. ситуативное ее формирование. В наиболее распространенном в настоящее время семействе операционных систем Windows реализован механизм динамических структур данных на основе ООП. Так, например, класс TList содержит динамический список ссылок на объекты и основные методы работы с этим списком (добавить ссылку, удалить ссылку, отсортировать список, найти объект по ссылке и др.). Используя данный класс в качестве базового, путем наследования и/или включения можно создавать достаточно универсальные динамические структуры, описывающие проектируемый объект.

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

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

Рисунок 2.5 - Обобщенная схема структуры класса

Построение (организация) системной части ПП, ее общность и гибкость определяет возможности применения в различных предметных областях. На таком подходе основана генерация шаблонов приложений в генераторах (Мастерах) приложений и классов [ ].

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