Ф.И.О.: | Стародубцев Дмитрий Николаевич | |
Университет: | 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, 116 кБ, создано в MP GIF Animator) Парадигма компонентно-базированного программного обеспечения уже очень прочно вошла в нашу жизнь. И в таких сферах, как разработка систем управления, контроля, моделирования сложных систем, уже вытеснила объектно-ориентированное программирование. Распределенные параллельные моделирующие среды и их архитектураДля выполнения моделирования и симулирования динамических систем с концентрированными или распределенными параметрами принято использовать распределенные параллельные моделирующие среды (РПМС). РПМС — это совокупность дружественной к пользователю моделирующей технической аппаратной части, системного программного обеспечения для данной архитектуры, специально разработанного программного обеспечения для моделирования, симулирования и технической поддержки подсистем, которое поддерживает все стадии параллельного моделирования и симулирования работы динамических систем согласно всем возможным требованиям. В [5] приведена структура РПМС, изображенная на рис. 2. РПМС рассматривается как сложная HW/SW-система. Она может быть разделена на относительно независимые и параллельно работающие подсистемы, в зависимости от функций, которые они выполняют. Это позволяет по-иному представить процесс разработки таких моделирующих сред. Компонентно-базированная организация РПМСОсновываясь на структуре РПМС, изображенной на рисунке 2, можно выделить следующие компоненты, согласно функций возложенных на них [5]:
Рисунок 2 — Системная организация РПМС ВыводыРаспределенные параллельные моделирующие среды приобретают более сложные черты. Их разработка и эксплуатация становятся гораздо сложнее. Поэтому для разработки РПМС нужно использовать новые технологии, которые будут учитывать свойства, как программного обеспечения, так и аппаратной части. Такую возможность даёт компонентно-базированный подход в разработке программного обеспечения. При его использовании моделирующая среда разбивается на подсистемы, выполняющие роль компонент. Каждая из компонент выполняет определенную группу функций и взаимодействует с другими компонентами. При правильном распределении функций, проектировании аппаратной части, реализации баз данных и интерфейсов взаимодействия, документации методов проектирования распределенные параллельные моделирующие среды приобретают множество преимуществ. Разработка, замена и усовершенствование компонент, реорганизация сред становятся намного легче. Список литературы
Copyright © Стародубцев Д.Н. 2010 ДонНТУ |