Слайд 1 - Институт прикладной астрономии РАН

advertisement
ДИССЕРТАЦИЯ
на соискание ученой степени
кандидата физ.-мат. наук
Предметно-ориентированное расширение
языка программирования общего назначения
средствами решения задач эфемеридной
астрономии
01.03.01 – «Астрометрия и небесная механика»
Михеева Вероника Дмитриевна
Научные руководители:
к.ф.-м.н. Новиков Ф. А.
к.ф.-м.н. Скрипниченко В. И.
Институт прикладной астрономии РАН
Санкт-Петербург 2010
«Дельта»
1. Исторические предпосылки
и постановка задачи
Глава 1
•
•
•
•
•
Успешное применение
системы ЭРА более 20 лет
Периодические издания
ИПА РАН: АЕ, МАА-2, МАЕ,
PersAY, Штурман
Ограничения системы ЭРА
Потребность в
одновременном
применении средств СЛОН
и Object Pascal
Потребность в
графических средствах
Стр. 2/22
Михеева В.Д. «Дельта»
16.06.2010
Основная цель и задача
Глава 1
• Цель. Расширение области применения системы
ЭРА (Эфемеридные Расчеты в Астрономии) за счёт
развития её выразительных и функциональных
средств.
• Задача. Разработать подход, позволяющий
интегрировать в одной системе программирования
средства предметно-ориентированного языка
(СЛОН) и языка программирования общего
назначения (Object Pascal).
• На стыке научных областей:
1. Предметная область – эфемеридная астрономия
2. Теоретическая информатика
Стр. 3/22
Михеева В.Д. «Дельта»
16.06.2010
Обоснование
поставленной задачи
Глава 1
• Практическое обоснование
• Теоретическое обоснование
Стр. 4/22
Михеева В.Д. «Дельта»
16.06.2010
Глава 1
Конкретизация постановки задачи
Разработать новый язык Дельта как расширение
языка программирования общего назначения
табличными операторами ЭРА и реализовать
соответствующие средства программирования.
Требования:
–
Доступ к табличным операторам СЛОН в Object Pascal с возможными
расширениями
–
Эффективность исполнения не хуже интерпретации СЛОН-процессором
–
Усовершенствованные средства отладки целевых программ
–
Обратная совместимость с программами на языке СЛОН
–
Настройка на предметную область по описанию конфигурации ЭРА
–
Развитие инструментальных средств в области
графического представления данных эфемеридной астрономии
Стр. 5/22
Михеева В.Д. «Дельта»
16.06.2010
Анализ методов расширения
языков программирования
Глава 1
• Определены методы расширения языков прог. (8)
• Выделены соответствующие классы расширений (8)
• Выработаны методы реализации языка Дельта (5)
Интеграция расширений: Исполнение расширений:
1. API к внешней
реализации
2. Подмножество языка
3. Строковый параметр
4. Новые конструкции
языка (расширение
синтаксиса)
Стр. 6/22
1. Библиотека объектов
на основном языке
2. Библиотека объектов
на другом языке
3. Программная
интерпретация
4. Аппаратная
интерпретация
Михеева В.Д. «Дельта»
16.06.2010
2. Определение языка Дельта
Глава 2
• Формальное определение языка
• Табличный подход к обработке данных
(из системы ЭРА)
– Описание предметной области
– Определение таблицы ЭРА
– Алгебра таблиц
• Основные конструкции языка
– Табличные операторы
D := (A+B)‫٭‬C begin y=2‫٭‬x end.
Стр. 7/22
Михеева В.Д. «Дельта»
16.06.2010
Основные нововведения системы Дельта
•
Два вида программ на языке Дельта:
– Только табличные операторы
– Расширение ими кода на Object Pascal
Глава 2
•
Различные типы приложений Дельта:
– Консольное, графическое GUI, отдельный модуль
– Многомодульные приложения
•
•
Доступ ко всем выразительным средствам Object Pascal
Расширение средств описания блоков-действий:
–
–
–
–
Определение локальных и глобальных переменных
Вызов внешних функций, не включенных в конфигурацию
Pascal-подобный стиль синтаксиса операторов СЛОН
Употребление операторов Object Pascal
Доступ к специализированным функциям из конфигурации
вне табличных операторов
• Употребление табличных операторов внутри структурных
операторов: циклы и условные переходы, оператор выбора
(case), оператор доступа к полям структур данных (with), в
телах процедур* и функций*
•
Стр. 8/22
Михеева В.Д. «Дельта»
16.06.2010
Сопоставление с реляционной
моделью данных
Использовано сопоставление ТОП <=> Реляционная модель
[С.В. Крашенинников,

Реляционная
ТОП-модель]
ТОП-модель
Дельта’

|
ЭРА-таблицы
ЭРА’

Глава 2
модель
Дельта
Стр. 9/22

ЭРА
Михеева В.Д. «Дельта»
[В.Д. Михеева]
Вывод:
Модель данных
системы Дельта (ЭРА)
реляционно суб-полна.
16.06.2010
3. Система программирования
Дельта
• Основные принципы реализации
Глава 3
• Жизненный цикл приложений Дельта
• Категории пользователей
• Инструментальные средства
• Сравнение архитектур ЭРА и Дельта
• Интегрированная среда PersAY
• Технологические процессы Дельта
Стр. 10/22
Михеева В.Д. «Дельта»
16.06.2010
Глава 3
Жизненный цикл
приложений Дельта
Стр. 11/22
Михеева В.Д. «Дельта»
16.06.2010
Процесс разработки
приложения на языке Дельта
• Редактирование исходного
Глава 3
текста
• Первый этап трансляции
(с помощью транслятора Дельта)
• Второй этап трансляции
(с помощью компилятора Borland
Delphi)
Стр. 12/22
Михеева В.Д. «Дельта»
16.06.2010
Набор инструментальных
средств Дельта
Глава 3
• Транслятор Дельта
• Интерпретатор Дельта (или СЛОН')
• Компилятор, компоновщик, отладчик
Object Pascal (Borland Delphi 6.0)
• Конфигуратор Дельта
(транслятор конфигурации)
• Подсистема средств научной графики
Стр. 13/22
Михеева В.Д. «Дельта»
16.06.2010
4. Дополнительные средства
графической интерпретации
• Концепция научной графики
Глава 4
для эфемеридной астрономии
– ERA-7, Ample, AGAT, … => ERA-32, PersAY
• Объектная модель научной графики
–
–
–
–
–
–
Объекты, Параметры, Методы
Отображение табличных данных в модель научной графики
Метод изображения «Живая графика»
Сохранение (EGC, BMP, JPG)
Внешние интерфейсы (GUI, API, DSL)
Мастер настройки графика
• Сравнение с концепцией графики ЭРА-7
Стр. 14/22
Михеева В.Д. «Дельта»
16.06.2010
Реализация в контексте системы ЭРА
Глава 4
Организация процесса построения
графического изображения:
1. Система ЭРА генерирует таблицу
2. Имена столбцов — это атрибуты предметной
области (описанные в конфигурации ЭРА)
3. Пользователь выбирает атрибуты (столбцы)
в диалоговом интерфейсе (GUI)
4. Значения выбранных атрибутов в строке таблицы
определяют
значения соответствующих параметров
графического изображения
Стр. 15/22
Михеева В.Д. «Дельта»
16.06.2010
Настраиваемый рисунок
обобщенного вида
Составные части графика:
• Область прямоугольных
координат X, Y в 2D-плоскости
• Набор графиков (серий )
•
Графический образ
•
Пояснительные надписи
Разметка осей
Координатная сетка
Фоновый рисунок
Автомасштабирование (3 вида)
•
•
•
•
Графическая интерпретация в эфемеридной астрономии:
• График точки – последовательность положений объекта
• График линии – орбита, координатная линия
• Графический образ – тип и состояние объекта (н-р, фазы Луны)
Стр. 16/22
Михеева В.Д. «Дельта»
16.06.2010
Пример 1. Остаточные невязки LLR
измерений эфемериды ERA EPM в метрах
ERA-32, PersAY (Windows)
Стр. 17/22
ERA-7 (MS-DOS)
Михеева В.Д. «Дельта»
16.06.2010
Пример 2. Траектории видимых движений малых планет
Сизиф, Церера, Паллада
(1 января 2000 г. – 1 января 2100 г.)
AMPLE
ERA-32, PersAY
Стр. 18/22
Михеева В.Д. «Дельта»
16.06.2010
5. Применение
инструментальных средств Дельта
Глава 5
• Элементы реализации приложений Дельта
• Примеры программ решения реальных
задач эфемеридной астрономии на языке
Дельта
• Решение задач в других предметных
областях (медицина, физика, финансы…)
• Оценка результатов работы
Стр. 19/22
Михеева В.Д. «Дельта»
16.06.2010
СЛОН
Дельта
Пример 3. Определение поправки компаса.
Общий метод. [МАА-2] Вычислить tM⊙
1
2
3
4
5
6
7
8
9
10
11
t_gr_Sun = t_grt_Sun + D1t + D2t
if t_gr_Sun => 360*600 then t_gr_Sun = t_gr_Sun - 360*600
t_m_Sun = t_gr_Sun + lambda_c_sign*(lambda_c_ddd*600+
lambda_c_m1*100+lambda_c_m2*10+lambda_c_m3)
if t_m_Sun => 360*600 then t_m_Sun = t_m_Sun360 - 360*600
if t_m_Sun < 0
then t_m_Sun = t_m_Sun360 + 360*600
t_m_Sun_EW = "W"
t_m_Sun180 = t_m_Sun360
t_m_Sun180_EW = "W"
if t_m_Sun180 > 180*600 then begin t_m_Sun180 = 360*600 - t_m_Sun
t_m_Sun180_EW = "E" end
1
2
3
4
5
6
7
8
9
10
11
l[44]=l[41]+n[25]+n[26]
⊙
⊙
⊙
⊙
if l[44]=>360*600 then l[44]=l[44]-360*600 tГР = tГР,T + Δ1tГР + Δ2tГР
l[45]=l[44]+n[28]*(n[15]*600+
tM⊙ = tГР⊙ ± λ
n[16]*100+n[17]*10+n[18])
if l[45]=>360*600 then l[45]=l[45]-360*600
if l[45]<0
then l[45]=l[45]+360*600
name[28]="W"
l[46]=l[45]
name[29]="W"
if l[46]>180*600 then begin l[46]=360*600-l[45] Вычислить t ⊙ по t ⊙
ПР
M
name[29]="E" end
Стр. 20/22
Михеева В.Д. «Дельта»
16.06.2010
Разновидности приложений Дельта
Глава 5
Типы приложений Дельта
•
•
•
Консольное приложение (EXE)
Приложение с графическим интерфейсом (GUI)
Библиотека динамической загрузки (DLL)
Разновидности сборки
приложений Дельта


С использованием общей библиотеки
Интерпретатора Дельта в виде DLL
С включением библиотеки
Интерпретатора Дельта в состав
приложения
Стр. 21/22
Михеева В.Д. «Дельта»
16.06.2010
Положения и результаты,
выносимые на защиту
•
•
•
•
•
•
Архитектура системы Дельта, существенно дополняющей
функциональные возможности системы ЭРА и расширяющей
перспективные пути её применения.
Синтаксис языка Дельта, инструментальные средства
программирования на языке Дельта.
Применение этих средств для МАА-2, PersAY, Штурман.
Анализ методов расширения языков программирования.
Формальное определение модели данных систем ЭРА и Дельта,
доказательство реляционной суб-полноты этой модели,
определение достаточных условий для обеспечения реляционной
полноты этой модели.
Оригинальная модель графического представления данных для
предметных областей, связанных с обработкой данных, и
реализованная на ее основе графическая подсистема.
14 публикаций: 7 самостоятельных и 7 в соавторстве, из них 2 в рецензируемых изданиях
Стр. 22/22
Михеева В.Д. «Дельта»
16.06.2010
Архив
Страница 23
Михеева В.Д. «Дельта»
16.06.2010
Публикации (основные)
1.
2.
3.
4.
5.
6.
7.
Михеева В. Д., Скрипниченко В. И. Расширение языка Object Pascal (Delphi)
таблично-ориентированными средствами решения задач эфемеридной астрономии //
Сообщения ИПА РАН. СПб., 2006, №168. — 20 c.
Михеева В. Д., Новиков Ф. А., Скрипниченко В. И. Дельта — язык и система
программирования для решения прикладных задач с табличными данными // Научнотехнические ведомости СПбГПУ. СПб., 2007, № 4 (52), том 2 — сс. 57-60.
Михеева В. Д. Разработка предметно-ориентированных приложений с помощью
инструментальных средств Дельта // Сообщения ИПА РАН. СПб., 2008, № 179. — 32 с.
Глебова Н. И., Лукашова М. В., Михеева В. Д., Нецветаева Г. А., Парийская Е.Ю.,
Свешников М. Л., Скрипниченко В. И. Программная система PersAY —
«Персональный астрономический ежегодник». // Труды ИПА РАН, Вып. 17. — СПб.:Наука,
2007. — сс. 223-228.
Глебова Н. И., Лукашова М. В., Михеева В. Д., Нецветаева Г. А., Парийская Е.Ю.,
Свешников М. Л., Скрипниченко В. И. Система PersAY — Персональный
астрономический ежегодник. Версия 1.0 // Сообщения ИПА РАН. СПб., 2010, №185. 68 c.
Михеева В. Д. Методы расширения языков программирования (часть 1)
// Информационно-управляющие системы. СПб., 2010, № 4. — сс. 46-52.
Михеева В. Д. Проблемно-ориентируемый язык Дельта и его модель // Актуальные
проблемы гуманитарных и естественных наук. — Москва, 2010, № 6. — в печати.
Страница 24
Михеева В.Д. «Дельта»
16.06.2010
Публикации (по графике)
8.
9.
10.
11.
12.
13.
14.
Михеева В. Д. Разработка и реализация представления и визуализации графической информации в
системе таблично-ориентированного программирования АстроТОП. // Диссертация на соискание ученой
степени магистра. Направление: 510200 – Прикладная математика и информатика. Руководитель, к. ф.-м.
н., доц. Ф. А. Новиков. Санкт-Петербургский государственный технический университет, физикомеханический факультет, кафедра прикладной математики, Санкт-Петербург, 1999. — 103 с.
Shor V. A., Bytsin A. Yu., Chernetenko Yu. A., Kochetova O. M., Mikheeva V. D., Netsvetaeva G. A.,
Parijskaya E. Yu., Skripnichenko V. I., Sumzina N. K., Vinogradova T. A. New possibilities for ephemeris
support of minor planets. // IAA Transactions, No. 8 “Celestial Mechanics”, St.-Petersburg, 2002, Труды ИПА
РАН. Вып.8. Небесная механика. — С.-Петербург, 2002, — сс. 159-160.
Михеева В. Д. Научная графика в электронной версии эфемерид малых планет // Сообщения ИПА РАН №
151, Санкт-Петербург, 2003. — 40 с.
Shor V. A., Bytsin A. Yu., Kochetova O. M., Mikheeva V. D., Netsvetaeva G. A., Parijskaya E. Yu.,
Skripnichenko V. I., Sumzina N. K., Vinogradova T. A. A M P L E — Integrated multi-purpose software
package for minor planets. // Communications of IAA RAS, St.-Petersburg, 2003, N 153. — 56 с.
Михеева В. Д. Эффективная технология графического представления астрометрических данных // Труды
Государственного астрономического института им. П.К. Штернберга, Т.75, М., 2004, 278 с. (Тезисы
докладов на Всероссийской астрономической конференции ВАК-2004 «Горизонты вселенной», Москва,
МГУ, ГАИШ, 3-10 июня 2004 г. — с. 234).
Shor V. A., Chernetenko Yu. A., Kochetova O. M., Mikheeva V. D., Netsvetaeva G. A.,
Parijskaya E. Yu., Skripnichenko V. I., Vinogradova T. A., Zheleznov N. B. AMPLE — Integrated multipurpose software package for minor planets // Communications of IAA RAS, St.-Petersburg, 2006, N 175. — 54 с.
Михеева В. Д. Средства графического представления данных в 32-разрядной версии системы ЭРА
// Сообщения ИПА РАН. СПб., 2010, № 183 — 40 с.
Страница 25
Михеева В.Д. «Дельта»
16.06.2010
Архив
Страница 26
Михеева В.Д. «Дельта»
16.06.2010
Настраиваемый рисунок
Страница 27
Михеева В.Д. «Дельта»
16.06.2010
Пример. Движение полюса
График на основе таблицы EOP.ERA
Кадр «А»
Кадр «B»
Михеева В.Д. «Дельта»
16.06.2010
Режим «Живая графика»
• Базовые принципы [5]:
– Постепенное последовательное построение изображения
(в процессе перебора кортежей таблицы)
– В каждый момент времени отображается текущее состояние
изображения
– Возможность моделирования динамических процессов и
явлений (движение/состояние объектов с течением времени)
• Разновидности «живых» графиков
объектов:
– Движение, след, трек (точки/линии)
Михеева В.Д. «Дельта»
16.06.2010
Пример 2. Траектории видимых движений малых планет
Сизиф, Церера, Паллада
(1 января 2000 г. – 1 января 2100 г.)
AMPLE
ERA-32, PersAY
Стр. 30/22
Михеева В.Д. «Дельта»
Решение задачи
• Разработана концепция научной графики для
эфемеридной астрономии (базовые принципы):
– Применение таблично-ориентированного подхода
– Объектная модель представления научной графики в
астрометрии
– Ее отображение на таблично-ориентированные данные
• Разработано средство графического представления:
– Двумерный рисунок обобщенного типа, настраиваемый для
каждого конкретного случая с помощью широкого набора
параметров.
– Набор параметров изображения на основе графической
интерпретации табличных данных и их отображения в
объектную модель научной графики. Подавляющее
большинство параметров могут получить свое значение
автоматически по умолчанию.
– Набор операций с изображением: построение графика,
сохранение в статическом (BMP, JPG) или изменяемом виде
(EGC), настройка параметров, режим «Живая графика».
Михеева В.Д. «Дельта»
16.06.2010
Многомодульное приложение
Включение модуля на
языке Дельта в
многомодульное
приложение на языке
Object Pascal
32
16.06.2010
Настройка на предметную область
с помощью Конфигуратора
Транслятор конфигурации Дельта создан на базе Конфигуратора СЛОН
• Конфигурация
СЛОН-процессора

Конфигурация средств
системы Дельта
33
16.06.2010
Настройка параметров трансляции
программ на языке Дельта
Некоторые параметры:
Использовать интерфейс к
библиотеке интерпретатора Дельта
из заданной папки
Папка для помещения
результирующего приложения Дельта
Включать ли интерпретатор СЛОН’ в
состав приложения
Использовать исходный код ядра
СЛОН’ из заданной папки
Использовать исходный код
интерфейса интерпретатора СЛОН’ из
заданной папки
Выбрать результат трансляции – тип
приложения (EXE, DLL, модуль)
Вывести краткую справку о
параметрах транслятора Дельта
34
Михеева В.Д. «Дельта»
16.06.2010
Отладка приложения Дельта с
помощью отладчика Borland Delphi
35
16.06.2010
Основное
содержание работы
• Структура и объем диссертации
– Введение
– Глава 1. Исторические предпосылки и постановка задачи
– Глава 2. Определение языка Дельта
– Глава 3. Система программирования Дельта
– Глава 4. Доп. средства графической интерпретации данных
– Глава 5. Применение инструментальных средств Дельта
– Заключение
– Список литературы
– Приложения 1-9.
• Описания примеров решения эфемеридных задач
• Синтаксис языков СЛОН, Дельта, Object Pascal
• Краткое руководство пользователя инстр. средств Дельта
Страница 36
Михеева В.Д. «Дельта»
16.06.2010
Заключение
• Решена поставленная задача разработки нового
•
•
•
•
языка Дельта и графической подсистемы как
развитие концепций и средств системы ЭРА
Выполнены предъявленные требования
Получены новые теоретические и практические
результаты
Подтверждена практическая ценность
Открыты пути расширения применения концепций
ТОП, реализованных в системе ЭРА, и улучшения
качества решений задач в предметных областях, в
первую очередь, в эфемеридной астрономии
Страница 37
Михеева В.Д. «Дельта»
16.06.2010
Положения,
выносимые на защиту
•
•
•
•
•
•
•
•
Теоретические
результаты
Определение языка Дельта, в т.ч. формальный синтаксис
языков СЛОН и Дельта в форме РБНФ
Определение методов расширения языков
программирования и классификация расширений
Подбор методов реализации предметно-ориентированного
расширения – языка Дельта
Формальное определение модели данных систем ЭРА и
Дельта, в т.ч. алгебры таблиц
Формальный вывод о суб-полноте этих моделей данных
Описание категорий пользователей, жизненного цикла
приложений Дельта, технологических процессов их
разработки и использования
Формальное выражение метода двухпроходной трансляции
для языка Дельта
Концепция графического представления данных
Страница 38
Михеева В.Д. «Дельта»
16.06.2010
Положения,
выносимые на защиту
Практические
результаты
• Реализованы инструментальные средства
программирования Дельта, удовлетворяющие
предъявленным требованиям
• Расширена функциональность конфигуратора
системы ЭРА для настройки на предметную
область средств Дельта
• Реализована графическая подсистема для
визуализации данных в предметной области
с табличными данными
• Выполнена интеграция с графической оболочкой
системы PersAY
Страница 39
Михеева В.Д. «Дельта»
16.06.2010
Оценка результатов
• Достоверность
• Практическая ценность
• Реализация и внедрение
• Личный вклад автора
• Апробация работы
• Публикации
Страница 40
Михеева В.Д. «Дельта»
16.06.2010
Download