Новиков Фёдор Александрович Методы алгоритмизации предметных областей Специальность 05. 13. 11 «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей» автореферат

Вид материалаАвтореферат

Содержание


Общая характеристика работы
Предмет исследований
Алгоритмизацией предметной области
Цель работы
Проблема сбалансированной предметной ориентации
Проблема унифицированного определения языков
Проблема выразительной силы моделей
Методы исследования
Таблично-ориентированный метод алгоритмизации предметных областей
Автоматный метод реализации проблемно-ориентированных языков
Язык исполняемых программных спецификаций
Практическая значимость.
Апробация диссертации.
13 — статьи в журналах из списка ВАК, и 7
Структура диссертации.
Содержание работы
Первая глава
В разделе 1.2
В разделе 1.3
Командные предметно-ориентированные языки
...
Полное содержание
Подобный материал:
  1   2   3   4

На правах рукописи


Новиков Фёдор Александрович


Методы алгоритмизации предметных областей


Специальность 05.13.11 – «Математическое и программное обеспечение
вычислительных машин, комплексов и компьютерных сетей»


АВТОРЕФЕРАТ

диссертации на соискание ученой степени

доктора технических наук


Санкт-Петербург

2011

Работа выполнена на кафедре «Технологии программирования» Санкт-Петербургского государственного университета информационных технологий, механики и оптики (СПбГУ ИТМО)



Научный консультант

доктор физико-математических наук

Новосельцев Виталий Борисович



Официальные оппоненты

доктор физико-математических наук,

профессор

Баранов Сергей Николаевич


доктор технических наук,

профессор

Калайда Владимир Тимофеевич


доктор технических наук,

профессор

Тропченко Александр Ювенальевич



Ведущая организация

Государственный научный центр Центральный научно-исследовательский и опытно-конструкторский институт робототехники и технической кибернетики




Защита диссертации состоится «06» июля 2011 года в 15 часов 30 минут на заседании диссертационного совета Д 212.227.06 в Санкт-Петербургском государственном университете информационных технологий, механики и оптики по адресу: 197101, Санкт-Петербург, Кронверкский пр. 49.


С диссертацией можно ознакомиться в библиотеке СПбГУ ИТМО.


Автореферат разослан «__» ______________ 2011 г.



Ученый секретарь диссертационного совета,

доктор технических наук, профессор


Л.С. Лисицына


Общая характеристика работы


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

Традиционные, и до сих пор распространенные методы алгоритмизации заключаются в том, что объекты предметной области представляются средствами систем управления базами данных (СУБД), операции программируются на языках программирования общего назначения в форме пакетов прикладных программ (ППП), а методы решения типовых задач, частично остаются в форме математических моделей вне компьютера, а частично встраиваются в СУБД и ППП. Традиционные методы алгоритмизации хороши тем, что опираются на универсальные средства, и могут быть применены в любом случае, в котором алгоритмизация вообще возможна. Недостатки традиционных методов также давно известны: процесс алгоритмизации является трудоемким, дорогим и не способствует повторному использованию результатов.

Наряду с традиционными методами, распространение получили методы алгоритмизации, основанные на применении проблемно-ориентированных языков (ПОЯ) и моделей предметных областей (МПО).

Наблюдения автора и других исследователей1 показывают, что реализация ПОЯ и программное представление МПО, при выполнении определенных условий, дает выигрыш в степени алгоритмизации конкретных предметных областей, по сравнению с традиционными методами. Таким образом, разработка методов определения, реализации и применения ПОЯ и МПО для алгоритмизации предметных областей, выбор критериев целесообразности применения ПОЯ и МПО, выявление факторов выигрыша при алгоритмизации, является актуальной и востребованной задачей.

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

Алгоритмизацией предметной области называется разработка методов и программ, которые позволяют прикладным специалистам решать на компьютере все или большинство типовых задач данной предметной области. Алгоритмизация предметной области включает три аспекта: 1) определение предметно-ориентированных структур данных, представляющих объекты предметной области; 2) реализацию программных процедур обработки этих структур — действий, или операций предметной области; 3) разработку методов и алгоритмов решения типовых задач предметной области — последовательностей действий, доставляющих значимый для пользователя результат. Считается, что предметная область достаточно четко очерчена, а множества объектов, операций и типовых задач надежно идентифицированы. При этом степень алгоритмизации может быть различной. Чем больше типовых задач можно решить, и чем меньше затраты на их решение, тем выше степень алгоритмизации.

Таким образом, предметом диссертационного исследования являются методы алгоритмизации предметных областей. Предлагаемые методы развивались постепенно, с конца 70-х годов, в результате анализа опыта выполнения работ по алгоритмизации конкретных предметных областей, сначала под руководством члена-корреспондента АН СССР С. С. Лаврова, а позже под руководством автора. Различные аспекты и элементы методов испытывались и постепенно совершенствовались в практических применениях, перечисленных в диссертации. К настоящему времени сложилась целостная методология, допускающая распространение на различные классы предметных областей.

Цель работы состоит в построении, теоретическом обосновании и практическом подтверждении применимости методов алгоритмизации предметных областей на основе определения ПОЯ и МПО. Для достижения поставленной цели в диссертации исследованы следующие три проблемы и предложены подходы к их решению.
  • Проблема сбалансированной предметной ориентации, состоящая в выборе способов представления объектов и операций предметной области в ПОЯ и МПО. Представление должно быть по возможности специфичным, чтобы обеспечить необходимую эффективность, но, в тоже время, представление должно быть достаточно общим, чтобы учесть разнообразие типовых задач в данной предметной области.
  • Проблема унифицированного определения языков, состоящая в выборе способов задания абстрактного синтаксиса, контекстных условий, конкретного синтаксиса и операционной семантики. С одной стороны, определение языка должно быть полным и точным, с другой стороны, должно обеспечивать приемлемую трудоемкость реализации языка.
  • Проблема выразительной силы моделей, состоящая в выборе способов представления знаний предметной области. Языковые средства должны быть достаточны для декларативной постановки типовых задач при условии сохранения алгоритмической разрешимости.

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

Научная новизна полученных результатов определяется следующими результатами, выносимыми на защиту.
  • Таблично-ориентированный метод алгоритмизации предметных областей, интегрирующий средства работы с базами данных и пакетами прикладных программ. Метод обеспечивает сбалансированную предметную ориентацию в предметных областях, в которых решение любой типовой задачи сводится к регулярному и независимому решению последовательности однородных элементарных задач. Реализовано и внедрено семейство таблично-ориентированных языков в областях, связанных с обработкой экспериментальных данных.
  • Автоматный метод реализации проблемно-ориентированных языков, в том числе визуальных, позволяющий определить все аспекты языка — структуру, внешнее представление, контекстные условия и операционную семантику. Полное определение языка автоматным методом является реализацией языка. В основу метода положена модель взаимодействующих автоматных объектов, обобщающая возможности автоматных моделей, предложенных ранее.
  • Язык исполняемых программных спецификаций, позволяющий описывать модели предметных областей, в том числе графически, ставить на них вычислительные задачи и автоматически синтезировать программы решения этих задач. Язык обладает выразительной силой, в точности соответствующей эффективно разрешимой теории структурного синтеза программ.

Практическая значимость. Предлагаемая в диссертации методология многократно применялась автором на практике для определения и реализации разнообразных ПОЯ и МПО (всего 17 случаев) в следующих предметных областях: 1) инструментальные средства разработки программного обеспечения; 2) эфемеридные расчеты в астрономии; 3) компьютерная верстка табличных изданий; 4) описание графического интерфейса пользователя; 5) автоматизация бизнес-процессов в системах менеджмента качества. При этом достигнуты и подтверждены положительные результаты алгоритмизации, то есть разработанное программное обеспечение используется прикладными специалистами для решения типовых задач регулярно и в течение продолжительного времени в разных организациях (табл. 2).

Апробация диссертации. Различные аспекты результатов работы докладывались на многих семинарах и форумах, в том числе, на следующих конференциях: Всесоюзная конференция «Методы математической логики в проблемах искусственного интеллекта и систематическое программирование», Вильнюс, 1980; III конференция «Применение методов математической логики», Таллин, 1983; III Всесоюзная конференция «Автоматизация производства пакетов прикладных программ и трансляторов», Таллин, 1983; III Всесоюзная конференция «Автоматизация производства систем программирования», Таллин, 1986; IAU Colloquium 109, Gaithersburg, 1988; Всесоюзное совещание «Эфемеридная астрономия и позиционные наблюдения», Л., 1991; IX научная школа по ППП «Программное обеспечение математического моделирования, управления и искусственного интеллекта», Адлер, 1991; Всероссийское совещание с международным участием «Компьютерные методы небесной механики», СПб., 1992, 1995, 1997; Международная конференция «Современные проблемы теоретической астрономии», СПб., 1994; Colloquium «International cooperation in dissemination of the astronomical data», St. Petersburg, 1996; Фестиваль Microsoft в Санкт-Петербурге, 1998; International Computer Science Symposium in Russia CSR 2006, СПб, 2006; Международная научная конференция «Космос, астрономия и программирование» (Лавровские чтения), СПб., 2008; Научно-практическая конференция «Научные исследования и инновационная деятельность», СПбГПУ, 2009; Семинар Института программных систем РАН, 2009; International conference «Asteroid-Comet Hazard – 2009», St. Petersburg, 2009; Семинар Института прикладной астрономии РАН, 2010; Семинар Санкт-Петербургского института информатики и автоматизации РАН, 2011; Семинар компании Jet Brains, 2011; Семинар компании Scite, 2011.

Публикации. По материалам диссертации опубликовано 55 работ, из которых 13 — статьи в журналах из списка ВАК, и 7 — многотиражные монографии, выпущенные издательствами «Питер», «БХВ-Санкт-Петербург» и «Наука и Техника». Основные работы, в которых содержатся результаты, выносимые на защиту, перечислены в конце автореферата. В работах, выполненных в соавторстве, личный вклад автора во всех случаях в равных долях с соавторами.

Структура диссертации. Диссертация изложена на 175 страницах. Список литературы содержит 120 наименований. Работа иллюстрирована 45 диаграммами.