Молодых Александр Геннадиевич

Молодых Александр Геннадиевич

Факультет компьютерных наук и технологий

Специальность: Системное программирование

Тема выпускной работы:

«Разработка и исследование средств топологического анализа технологических схем как объектов моделирования»

Научный руководитель: Святный Владимир Андреевич

Реферат по теме выпускной работы: Разработка и исследование средств топологического анализа технологических схем как объектов моделирования

Цели и задачи, которые должны решаться:

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

Актуальность и мотивация темы работы:

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

Предполагаемая научная новизна:

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

Планируемые практические результаты:

Реализованная и имплементированная в РПМС подсистема топологического анализа.

Обзор наиболее близких исследований и разработок касающихся темы, среди магистров ДонНТУ:

Обзор исследований и разработок по теме в мировой практике:

MatLab [6] - высокопроизводительная среда математического моделирования, которая включает в себя расчеты, визуализацию и программирование в удобной среде с огромным набором инструментов. Типовые задачи для которых используется MatLab, это: математические расчеты, разработка алгоритмов, моделирование, анализ данных, научная и инженерная графика. MatLab работает с MIMD системами разных уровней и способен использовать технологию CUDA.

Simulink - сопутствующая MatLab программа интерактивного блочного моделирования нелинейных динамических систем.

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

Scilab [8] - пакет прикладных математических программ, предоставляющий мощную открытую среду для инженерных, научных и технических расчетов. В системе присутствуют инструменты для работы с 2D и 3D графикой, анимацией, линейной алгеброй, разреженными матрицами, полиномиальными и рациональными функциями, дифференциальными уравнениями, сигналами и многими другими профессиональными задачами. Scilab имеет открытый исходный код и может работать под различными операционными системами и аппаратными средствами.

Scicos - инструмент Scilab для редактирования блочных диаграмм.

Краткое изложение собственных результатов, имеющихся к моменту завершения работы над авторефератом

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

Основные этапы работы подсистемы топологического анализа ТС.

Схема работы подсистемы топологического анализа технологических схем приведена на рисунке 1.

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

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

После формирования общего графа связей происходит его декомпозиция на группы элементов. Каждая группа представляет собой объём вычислений приходящийся на один процесс – гранула. Разбиение на группы осуществляется по следующим критериям:

- необходимо стремится к минимизации внешних связей между группами;

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

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

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

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

Разрешение: векторная графика

Размер файла: 90 Кб

Длительность: 13 сек

Палитра: 24 бит

Рис. 1. Схема работы подсистемы топологического анализа ТС

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

Формат входных данных.

В качестве спецификации входного файла с описанием топологии, предложена разработка международной группы ученых «Modelica Association» - язык Modelica.

Modelica[3,4] – объектно-ориентированный язык для моделирования сложных физических систем. Данный стандарт признан таким лидером построения CAD средств как «Dassault Systemes», который с середины 2006 года заявил о стратегических планах касающихся поддержки языка Modelica в своём продукте «CAD CATIA». Большими поклонниками данного языка являются машиностроительные компании, такие как BMW, Scania, Ford. Использование данного языка обусловлено следующими преимуществами:

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

• наличие некоторого количества бесплатных графических редакторов, которые поддерживают блочный способ описания моделей;

• возможность взаимодействия с другими средствами разработки, например моделирование результатов работы САПР;

• качественная техническая поддержка языка со стороны разработчиков;

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

Стратегия распараллеливания математической модели.

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

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

Согласно работе [1] для технологических схем химической отрасли принято выделять четыре уровня иерархий.

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

TC=MCTC(B1,...,Bp) (1.1),

где: р - количество блоков.

Второй уровень иерархии отражает плотно сгруппированные блоки (детали, узлы) из которых составляются технологические аппараты. То есть каждый блок Вi представлен mi количеством подблоков Сij которые хранятся в матрице подблоков МСВі:

Bi = MCBi(Ci1,...,Cimi) (1.2),

где: і – номер блока технологичной схемы;

j – номер подблока на втором уровне иерархии;

mі – количество подблоков в і блоке.

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

Третий уровень иерархии описывает термодинамическую фазу, он состоит из nij количества элементов Dijk входящих в матрице MCCij:

Cij=MCCij(Dij1,...,Dijnk) (1.3),

где: nj – количество элементов j подблока Сі;

k – номер элемента на третьем уровне иерархии.

Четвертый уровень иерархии является последним и состоит из простейших элементов Eijke являющихся неделимыми. Эти элементы содержат уравнения описывающие простые термодинамические процессы. Рассматриваемый уровень представляет собой уровень минимальной гранулярности.

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

Взаимодействие подсистемы топологического анализатора технологических схем с остальными подсистемами РПМС

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

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

Обработка исключительных ситуаций [5] (англ. exception handling) — механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при выполнении программы и приводят к невозможности (бессмысленности) дальнейшей отработки программой её базового алгоритма.

Преимущества исключений:

• повышает читаемость кода, так как позволяет отделить обработку ошибок от самого алгоритма;

• облегчает использование компонентов других разработчиков;

• нет необходимости в отслеживании кодов возврата которые передаются между разными уровнями программы пока не доберутся до места обработки;

• удобный способ для обработки ошибок дочернего потока.

Но помимо работы с входными и выходными данными, подсистеме ТА необходимо иметь данные по элементам из библиотеки элементов топологий (БЭТ), которая находится в базе данных.

Получение элементов топологий от подсистемы диалога, во время приёма файла с описанием топологии, может быть выполнено двумя способами.

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

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

Исходя из анализа возможных способов получения элементов БЭТ из ПД, подсистеме ТА необходимо непосредственно обращаться к БД через подсистему обмена для получения данных об элементах топологий.

Разрешение: векторная графика

Размер файла: 90 Кб

Длительность: 11 сек

Палитра: 24 бит

Рис. 2. Схема взаимодействия подсистемы топологического анализа ТС с остальными подсистемами РПМС

Заключение

Проанализированы и освещены основные принципы, касающиеся разработки подсистемы ТА ТС затронутые в иных источниках.

Предложены новые концепции и решения, позволяющие повысить эффективность работы подсистемы.

Заложены решения, позволяющие существенно уменьшить вероятность возникновения ошибок во время разработки и имплементации.

Литература

1. Бондарева К.С. Топологічний аналізатор технологічно орієнтованого паралельного моделюючого середовища / В.А.Святный, К.С. Бондарева // Наукові праці ДонНТУ, серія МАП. – Донецьк, 2005. – №78. – С.5-12.

2. Святний В.А. Паралельне моделювання складних динамічних систем // Моделирование – 2006: Международная конференция. Киев, 2006 г. – Киев, 2006. – С. 83–90.

3. Бондарева Е.С. Объектно-ориентированный подход к параллельному моде-лированию химико-технологических процессов / Бондарева Е.С. // Наукові праці ДонНТУ, серія «Інформатика, кібернетика та обчислювальна техніка»–2010. – Вип.9 – С.100-105

4. Modelica [Электронный ресурс] / Андрей Зубинский - Режим доступа : http:// ko.com.ua/modelica_34622, свободный. – Заглавие с экрана. – Яз. рус.

5. Wikipedia [Электронный ресурс]. - Режим доступа : www/ URL: http://ru.wikipedia.org/wiki/Обработка_исключений. – Заглавие с экрана. – Яз. рус.

6. Реферат Математика Matlab [Электронный ресурс]. - Режим доступа : http://works.tarefer.ru/50/100144/index.html. – Заглавие с экрана. – Яз. рус.

7. Octave [Электронный ресурс]. - Режим доступа : www/ URL: http://www.gnu.org/software/octave/. – Заглавие с экрана. – Яз. англ.

8. Home - Scilab WebSite [Электронный ресурс]. - Режим доступа : www/ URL: http://www.scilab.org/. – Заглавие с экрана. – Яз. англ.

9. Буч Г. Объектно-ориентированный анализ и проектирование с примерами на C++ / Буч Г. – [3-е изд. / пер. с англ.] – М.: «Издательство Бином», СПб.: «Невский диалект», 2001. – 560 с.

10. Святний В.А. Паралельне моделювання складних динамічних систем / Святний В.А. // Наукові праці ДонНТУ, серія «Проблеми моделювання та автоматизації проектування динамічних систем» – 2006. – вип.5 – С. 5-20.

Примечание.

При написании данного реферата магистерская работа еще не завершена. Окончательное завершение: декабрь 2011 г. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты