Научная статья на тему 'Разработка программного обеспечения для автоматизации процесса создания банка данных эволюции орбит астероидов'

Разработка программного обеспечения для автоматизации процесса создания банка данных эволюции орбит астероидов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
156
81
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗА ДАННЫХ / МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ / МЕТОД ЭВЕРХАРТА / АСТЕРОИДЫ / АВТОМАТИЗАЦИЯ ВЫЧИСЛЕНИЙ / EVERHART'S METHOD / DATABASE / MATHEMATICAL MODELING / ASTEROIDS / AUTOMATIZATION OF CALCULATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Денисов Сергей Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Денисов Сергей Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Software development for automating the process of creation database of asteroids orbital evolution

This paper describes the software system that automates the process of calculating the asteroids orbital evolution. These applications allow automatically calculating on multiple computers simultaneously. Also the optimization of the algorithms implementation was done.

Текст научной работы на тему «Разработка программного обеспечения для автоматизации процесса создания банка данных эволюции орбит астероидов»

УДК 521.31

РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА СОЗДАНИЯ БАНКА ДАННЫХ ЭВОЛЮЦИИ ОРБИТ АСТЕРОИДОВ

С. С. Денисов

Самарский государственный технический университет,

443100, Самара, ул. Молодогвардейская, 244.

E-mail: denisovsergey777@rambler .ru

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

Ключевые слова: база данных, математическое моделирование, метод Эверхарта, астероиды, автоматизация вычислений.

В данной работе рассматривается разработка программного обеспечения для математического моделирования движения малых небесных тел Солнечной системы и автоматизации этого процесса.

Создан банк данных эфемерид астероидов групп Аполлона, Амура и Атона и их тесных сближений на интервале времени с 1800 по 2206 годы. Проведено исследование эволюции орбит 7650 малых тел. Среди 7591 астероидов, входящих в каталог по состоянию на 08.02.2011, выявлено 1029 объектов, тесно сближающихся с внутренними планетами, из которых 774 проходят через сферу действия Земли [1]. Полученная информация представлена на сайте SmallBodies. ru [2]. Эти данные могут быть использованы для оценки вероятности столкновения астероидов с Землёй, изучения эволюции орбит астероидов.

В качестве математической модели, описывающей движение астероида, использованы дифференциальные уравнения с учётом гравитационных и релятивистских эффектов в барицентрической системе координат. Эти 72 уравнения решались модифицированным методом Эверхарта 27 порядка с переменным шагом интегрирования, адаптированным для решения астероидной задачи. Критерием изменения шага служило минимальное расстояние между исследуемым объектом и объектами Солнечной системы [1]. О точности вычислений говорит тот факт, что вычисленные координаты и скорости планет согласуются с вычислениями по DE405 — одной из самых точных численных теорий движения больших планет, Луны и Солнца.

Исходные данные элементов орбит астероидов для сайта SmallBodies.ru берутся из банка данных DASTCOM (Database of ASTeroids and COMets) американской лаборатории реактивного движения. Так как с течением времени обнаруживаются новые объекты и уточняются орбиты существующих, база данных на сайте SmallBodies.ru обновляется с периодичностью раз в 100 дней. При её обновлении производится расчёт эволюции орбит новых астероидов, а также объектов, имеющих тесные сближения с внутренними планетами, по новым (уточнённым) данным. В связи с этим возникает задача расчёта эволюции орбит порядка 1500 объектов и добавления полученных результатов в банк данных. Эта задача довольно трудоёмка, поэтому требует программного обеспечения, автоматизирующего данный процесс [3].

Алгоритм вычислений ранее был реализован на языке C++ [3], в качестве компилятора был выбран Microsoft Visual Studio 2008 Express Edition. В настоя-

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

щее время выполнена оптимизация кода, в результате быстродействие программы возросло в 4,3 раза. Так, эволюция орбиты астероида 99942 Apophis на интервале времени с 05.01.1800 по 05.08.2206 предыдущей версии программы вычислялась за 960 секунд, а новой — за 220 (так как новая программа производит вычисления в два потока, то реальное время вычислений составляет 110 секунд).

Разработанный программный комплекс состоит из трёх приложений:

1) Calculation Server — серверная часть, отвечающая за добавление, изменение, удаление заданий, а также осуществляющая мониторинг текущих вычислений;

2) Calculation Client — клиентское приложение, отвечающее непосредственно за вычисления и автоматически отслеживающее появление новых заданий;

3) Database Manager — менеджер базы данных, осуществляющий обработку результатов вычислений, обновление базы данных, выборку информации из базы данных.

Все задания и результаты вычислений хранятся в базе данных. Все вышеперечисленные приложения обращаются к ней через динамические библиотеки. Эти библиотеки реализуют следующий набор интерфейсов:

1) получение начальных данных;

2) работу с заданиями (добавление, удаление, изменение), логирование процесса вычислений, сохранение информации о результате;

3) сохранение и получение результатов вычислений;

4) получение полной информации об эволюции орбит конкретного объекта, занесённого в банк данных;

5) получение информации, необходимой для создания SQL-запросов для обновления банка данных, предоставляющего первый и/или четвёртый интерфейс.

Приложение Calculation Server использует первые два интерфейса для создания новых заданий. Приложение Calculation Client использует второй и третий интерфейсы для получения заданий и сохранения результатов соответственно. Приложение Database Manager использует третий и четвёртый интерфейсы для обновления базы данных и экспорта данных в другие форматы (например, сохранение эволюции орбит объекта в формате Excel). Database Manager также использует пятый интерфейс для занесения результатов в базы данных.

Решение о выносе кода для работы с базой данных в динамические библиотеки принято для большей гибкости системы. Например, третий интерфейс реализуют две библиотеки. Одна сохраняет результаты в базу данных, реализованную в СУБД MySQL 5, а вторая — в файл на диск в одном из форматов: CSV, XML, двоичный. Благодаря такому подходу с использованием динамических библиотек можно расширять количество форматов вывода, не меняя код приложений, а только разработав соответствующую библиотеку. На данный момент разрабатывается библиотека реализации второго и третьего интерфейса для базы данных, размещённой на сайте SmallBodies.ru. Это позволяет вести вычисления на различных компьютерах в автоматическом режиме, используя базу данных на сайте для синхронизации их работы и сохранения результатов вычислений.

Приложения Calculation Server и Database Manager имеют многодокументный интерфейс со вкладками, в каждой из вкладок отображается база заданий и база результатов вычислений соответственно (все приложения разрабатывались с учётом того факта, что баз данных может быть несколько). Программа Calculation Client имеет SDI-интерфейс. Во всех приложениях для создания графического интерфейса пользователя использовался набор базовых функций Windows API. Также

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

Приложение Calculation Client периодически опрашивает заданные пользователем базы данных и при появлении новых заданий автоматически начинает вычисления. Если заданий несколько, то сначала выполняются более приоритетные (в случае равных приоритетов берутся добавленные раньше задания). Максимальное число вычислительных потоков и их приоритет задаются пользователем. По окончании вычислений результаты сохраняются в указанные базы данных.

Вычислительные алгоритмы и функции преобразования координат, величин и времени вынесены в динамические библиотеки Calculation и Calculation Utility соответственно. Такое разделение вызвано тем, что функции, входящие в библиотеку Calculation Utility, используют все три приложения, а алгоритмы интегрирования нужны только для Calculation Client. Так как функции, экспортируемые из этих библиотек, достаточно универсальны, они могут использоваться в других приложениях, не относящихся к данному комплексу, например в приложении Asteroid Viewer [3]. В дальнейшем планируется модификация данного приложения для адаптации его к работе с вышеупомянутыми библиотеками, реализующими доступ к базам данных.

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

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

Работа выполнена при поддержке Министерства образования и науки РФ в рамках АВЦП «Развитие научного потенциала высшей школы» (проект 2.1.1/14069).

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Заусаев А. Ф., Абрамов В. В., Денисов С. С. Каталог орбитальной эволюции астероидов, сближающихся с Землёй с 1800 по 2204 гг.. М.: Машиностроение-1, 2007. 608 с. [Zausaev A. F., Abramov V. V., Denisov S. S. Catalogue of orbital evolution of asteroids approaching to the Earth between 1800 and 2204. Moscow: Mashinostroenie-1, 2007. 608 pp.]

2. Денисов С. С. Разработка базы данных и программного обеспечения для web-сайта в задаче моделирования астероидной и кометной безопасности Земли / В сб.: Математическое моделирование физических, экономических, технических, социальных систем и процессов: Тр. Седьмой Международной конференции. Ульяновск, 2009. С. 91-93. [Denisov S. S. Development of a database and software for the web-site at the problem of modeling the asteroid and comet security of the Earth / In: Mathematical modeling of physical, economic, technological, social systems and processes. Ul’yanovsk, 2009. Pp. 91-93].

3. Денисов С. С. Создание банков данных астероидов, сближающихся с Землёй: 100 лет Тунгусскому феномену: прошлое, настоящее, будущее. М., 2008. С. 114-115. [Denisov S. S. Create a data bank of asteroids near Earth/ In: 100 Years Since Tunguska Phenomenon: Past, Present, Future. Moscow, 2008. Pp. 114-115].

Поступила в редакцию 22/IV/2011; в окончательном варианте — 08/XI/2011.

MSC: 85-04

SOFTWARE DEVELOPMENT FOR AUTOMATING THE PROCESS OF CREATION DATABASE OF ASTEROIDS’ ORBITAL EVOLUTION

S. S. Denisov

Samara State Technical University,

244, Molodogvardeyskaya St., Samara, 443100, Russia.

E-mail: denisovsergey777@rambler.ru

This paper describes the software system that automates the process of calculating the asteroids orbital evolution. These applications allow automatically calculating on multiple computers simultaneously. Also the optimization of the algorithms implementation was done.

Key words: database, mathematical modeling, Everhart’s method, asteroids, automatization of calculation.

Original article submitted 22/IV/2011; revision submitted 08/XI/2011.

Sergey S. Denisov, Postgraduate Student, Dept, of Applied Mathematics & Computer Science.

i Надоели баннеры? Вы всегда можете отключить рекламу.