П.І.Б.: | Стародубцев Дмитро Миколайович | |
Університет: | 2005-2011 гг. — Донецький національний технічний університет | |
Факультет: | Комп'ютерних наук та технологій | |
Кафедра: | Комп'ютерної інженерії | |
Фах: | Системне програмування | |
Тема випускної роботи: | Компонентно-базована розробка моделюючого програмного забезпечення для розподілених паралельних моделюючих середовищ (РПМС) | |
Науковий керівник: | д.т.н., проф. Святний Володимир Андрійович | |
Реферат за темою магістерської роботи
Компонентно-базована розробка моделюючого програмного забезпечення для розподілених паралельних моделюючих середовищ (РПМС)ВступРозподілені паралельні моделюючі середовища стають дедалі важливішими у промисловості та науці. Зараз більшість наукових та промислових проектів перед реалізацією проходять етап моделювання, результат якого є своєрідною «путівкою у життя». Тому цій галузі приділяється все більше уваги, вона постійно розвивається, а моделюючі середовища стають все складнішими. Для їх роботи вже використовують не один десяток комп’ютерів. Багатокомп’ютерні обчислювальні центри є у багатьох великих наукових лабораторіях. Але використання та проектування таких моделюючих середовищ потребує нових засобів розробки паралельного моделюючого програмного забезпечення. Рішенням такої задачі є використання компонентно-базованого підходу у розробці розподілених паралельних моделюючих середовищ. Такий спосіб проектування моделюючого програмного забезпечення має ряд переваг, інформацію про які наведено в авторефераті. Мета та задачі роботиМетою даної магістерської роботи є пошук способів реалізації моделюючого програмного забезпечення для розподіленої паралельної моделюючого середовища із використанням компонентно-базованого підходу у його розробці. Дана проблема вимагає рішення наступного ряду задач:
Ідея реалізації розподіленого паралельного моделюючого середовища за допомогою компонентно-базованого підходу програмування виникла через ускладнення об'єктів моделювання і, отже, процесу моделювання. У сучасній науці та промисловості вже давно стало набагато зручніше спочатку зробити моделювання розроблюваного об'єкта, а не робити його дослідний зразок. Це економить час і гроші. Як банально це б не звучало, але в сучасному IT-світі ці дві речі дуже важливі. IT-сфера — одна з індустрій, що розвиваються найбільш швидко. Постійно змінюються вимоги, які пред’являються до моделюючих середовищ: складність, об'єкт моделювання, закони опису моделі. Потрібно прискорити, спростити розробку моделюючих середовищ. Це можливо зробити завдяки розділенню розподіленого паралельного моделюючого середовища на підсистеми, представлення їх у вигляді незалежних компонент. А після цього залишається лише розробити інтерфейс взаємодії між ними. У результаті, кожна компонента функціонує незалежно відносно інших, і за потреби (їх удосконалення, виправлення) вони можуть просто замінюватись. Передбачувана наукова новизнаНовизною даної роботи є — реалізація розподіленого паралельного моделюючого середовища за допомогою компонентно-базованого підходу програмування, що дасть нові можливості у використанні, реконфігуруванні таких середовищ. Плановані практичні результатиЗапропонована ідея створення розподілених паралельних моделюючих середовищ дасть можливість зовсім по-іншому побачити проблему. Створювати нове середовище стане набагато легше, заміна його компонент буде вимагати мінімум зусиль. Огляд досліджень і розробок за темоюЛокальний (за матеріалами викладачів, аспірантів і магістрантів ДонНТУ). Розглядом проблем, пов'язаних з реалізацією розподілених паралельних моделюючих середовищ, займалися:
1. Feldmann L. P.,Svjatnyj V. A., Resch M., Zeitz M. FORSCHUNGSGEBIET: PARALLELE SIMULATIONSTECHNIK.
3. Степанов І.С. Тема магістерської роботи «Розподілене паралельне моделююче середовище» 5. Зима К.М. Тема магістерської роботи «ПАРАЛЕЛЬНЕ МОДЕЛЮЮЧЕ СЕРЕДОВИЩЕ ДЛЯ ДИСКРЕТНИХ СИСТЕМ» При пошуку розробок за даною темою на національному рівні було знайдено наступне джерело:
6. Томашевський В.М. Моделювання систем. — К.: Видавнича група BHV, 2005 — c. 9-14.
На світовому рівні знайдені наступні публікації за темою: 7. Jozsef Tick, Special Aspects of Component Based Software Development
8. Crnkovic I., Larsson M. Component-Based Software Engineering – New Paradigm of Software Development
9. Feldmann L. P.,Svjatnyj V. A., Resch M., Zeitz M. FORSCHUNGSGEBIET: PARALLELE SIMULATIONSTECHNIK. Принципи компонентно-базованої розробки Hardware-Software системЗ моменту появи програмування як окремої галузі науки і промисловості, його постійно переслідують різні зміни і нововведення. Це пов'язано з тим, що людина ще не знайшла ідеальної технології розробки програмних і апаратних комплексів. Тому час від часу на програмування, як хвилі, набігають ідеї кардинальних змін, пошуку панацеї. Вчені виділяють кілька етапів еволюції у напрямках створення програмного забезпечення. Наприклад, в [7] автор пропонує наступну структуру:
Мови з перших двох груп зараз не використовуються, або мають дуже вузьке коло застосування. Найбільше поширення мають мови програмування високого рівня. Їх використання є найбільш зручним для виконання більшості завдань. Вони створені таким чином, щоб людина інтуїтивно могла розуміти тексти програм. Але й серед них є велика різноманітність ідей у написанні коду. В [2] виділяється наступна класифікація мов програмування високого рівня:
У [3] наводиться наступне визначення для напрямку компонентно-базованого програмування: «Компонентно-орієнтоване програмування (англ. component-oriented programming) — одна з парадигм програмування, виникла як свого роду дисципліна, тобто набір певних обмежень, що накладаються на механізм об'єктно-орієнтованого програмування (ООП), коли стало зрозуміло, що безконтрольне застосування ООП призводить до виникнення проблем з надійністю великих програмних комплексів. Це так звана проблема крихких базових типів (англ. fragile base class problem): проявляється при спробі змінити реалізацію базового типу (базового класу), коли порушується функціонування класів-нащадків.» Окрема компонента – це програмний пакет або модуль, який вміщує в собі певний набір функцій або даних. Усі функції програми вміщено у різні компоненти. Дані, що знаходяться у складі однієї компоненти, ніяк не пов’язані з даними із іншої. Взаємодія між компонентами відбувається за допомогою спеціальних інтерфейсів. Через них тільки передаються потрібні дані, а про внутрішню роботу одне одного компоненти нічого не знають. Ця ідея дозволяє робити дуже багато варіацій у роботі з компонентно-базованим програмним забезпеченням. Компоненти є взаємозамінними. Головна умова – це реалізація потрібних функцій та підтримка інтерфейсів взаємодії. Компоненти, які мають хороші показники роботи, можуть використовуватись у нових проектах, що заощаджує час та гроші. Важливою умовою у використанні компонент є повне документування інтерфейсів взаємодії. Цій задачі завжди приділялось багато уваги, бо одна маленька помилка у документах та кодах програм, може призвести до поламки всієї системи. Коротко основні особливості та переваги використання компонентно-базованого підходу у програмуванні можна сформулювати наступним чином [2]:
Цикл розробки компонентно-базованого програмного забезпечення має певні етапи, дотримання яких робить роботу більш економічною та продуктивною [4]:
Описану методику зображено на рис. 1. Рисунок 1 — Методика компонентно-базованої розробки проектів (Анімація складається з 5 кадрів з затримкою 700 мс між кадрами; затримка до повторного відтворення становить 1200 мс; кількість циклів відтворення обмежено 7-а, розмір 770*264, 109 кБ, створено в MP GIF Animator) Парадигма компонентно-базованого програмного забезпечення вже дуже міцно увійшла у наше життя. І у таких сферах, як розробка систем керування, контролю, моделювання складних систем, вже витіснила об’єктно-орієнтоване програмування. Розподілені паралельні моделюючі середовища та їх архітектураДля виконання моделювання та симулювання динамічних систем з концентрованими або розподіленими параметрами прийнято використовувати розподілені паралельні моделюючі середовища (РПМС). РПМС – це сукупність дружньої до користувача моделюючої технічної апаратної системи, системного програмного забезпечення для даної архітектури, спеціально розробленого програмного забезпечення для моделювання, симуляції та технічної підтримки підсистем, яке підтримує всі стадії паралельного моделювання та імітації роботи динамічних систем згідно всім можливим вимогам. У [5] наведено структуру РПМС, зображену на рис. 2. РПМС розглядається як складна HW/SW-система. Воно може бути розділене на відносно незалежні та паралельно працюючі підсистеми, залежно від функцій, які вони виконують. Це дає змогу по іншому уявити процес розробки таких моделюючих середовищ. Компонентно-базована організація РПМСБеручи за основу структуру РПМС, зображену на рисунку 2, можна виділити наступні компоненти, виділені згідно функцій, покладених на них, [5]:
Рисунок 2 – Системна організація РПМС ВисновкиРозподілені паралельні моделюючі середовища набувають більш складних рис. Їх розробка та експлуатація стають набагато складнішими. Тому для розробки РПМС потрібно використовувати нові технології, які враховуватимуть властивості як програмного забезпечення, так і апаратної частини. Таку змогу дає компонентно-базований підхід у розробці програмного забезпечення. При його використанні моделююче середовище розбивається на підсистеми, які виконують роль компонент. Кожна з компонент виконує певну групу функцій та взаємодіє з іншими компонентами. При правильному розподілі функцій, проектуванні апаратної частини, реалізації баз даних та інтерфейсів взаємодії, документації розподілене паралельне моделююче середовище набуває багатьох переваг. Розробка, заміна та удосконалення компонент, реорганізація середовищ стають набагато легшими. Список літератури
Copyright © Стародубцев Д.М. 2010 ДонНТУ |