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

Молодих Олександр Генадійович

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

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

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

"Розробка та дослідження засобів топологічного аналізу технологічних схем як об’єктів моделювання"

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

Реферат за темою випускної роботи: Розробка та дослідження засобів топологічного аналізу технологічних схем як об’єктів моделювання

Цілі та задачі що повинні вирішуватись:

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

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

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

Пророкована наукова новизна:

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

Практичні результати що плануються:

Реалізована підсистема топологічного аналізу, та імплементована у РПМС.

Перелік найбільш близьких досліджень та розробок що стосуються теми, серед магістрів ДонНТУ:

Огляд досліджень та розробок за темою у світовій практиці:

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

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

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

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

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

Короткий виклад власних результатів, наявних до моменту завершення роботи над авторефератом.

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

Основні етапи роботи підсистеми топологічного аналізу ТС

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

В якості вхідних даних для підсистеми топологічного аналізу технологічних схем виступає файл з описом топології. Отримавши файл вхідних даних від підсистеми діалогу, підсистема топологічного аналізатора приступає до обробки файлу на наявність помилок, після цього етапу відбувається формування базових матриць з'єднань на кожному з рівнів ієрархій ТС з формуванням загальної матриці (графа) зв'язків в якій для кожного базового елементу однозначно визначені його зв'язки з іншими елементами топологій.

Дані етапи роботи ТА пов'язані з періодичними зверненнями до бібліотеки елементів топологій на предмет підтвердження наявності використовуваних компонентів у базі даних,і отриманням матриць зв'язків пов'язаних з використовуваним елементом у випадках коли елемент не є представником нижчого рівня компонентної ієрархії.

Після формування загального графа зв'язків відбувається його декомпозиція на групи елементів. Кожна група представляє собою обсяг обчислень що припадає на один процес - гранула. Розбиття на групи здійснюється за наступними критеріями:

- Необхідно прагнути до мінімізації зовнішніх зв'язків між групами;

- Кількість груп має залежати від обсягу вільних ресурсів;

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

Остання умова є важкою для досягнення, бо різні базові елементи несуть різне обчислювальне навантаження. У якості вирішення задачі запропоновано закріплення за кожним базовим елементом деякого абстрактного значення його обчислювального навантаження. Дане значення може бути введено в базу даних вручну під час створення елемента - статична оцінка, або розраховано програмним шляхом - динамічна оцінка.

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

Розгалуження: векторна графіка

Розмір файла: 64,4 Кб

Протяжність: 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 що входять до матриці МССij:

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 Повний текст роботи та матеріали по темі можуть бути отримані у автора або його керівника після вказаної дати.