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

кандидата физико-математических наук
Кожедуб, Алексей Владимирович
город
Санкт-Петербург
год
2000
специальность ВАК РФ
05.13.16
Диссертация по информатике, вычислительной технике и управлению на тему «Интегрированная среда и язык программирования для физиков»

Оглавление автор диссертации — кандидата физико-математических наук Кожедуб, Алексей Владимирович

Введение.А

1. Особенности языков программирования, используемых для моделирования физических процессов.

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

1.1.1. Возникновение первых языков программирования.

1.1.2. Концепция структурного программирования.

1.1.3. Интегрированные среды для разработки программ.

1.1.4. Объектное программирование.

1.1.5. Системы визуального проектирования и компонентное программирование.

1.1.6. Хронологическая таблица развития некоторых языков программирования.

1.2. Компьютерные языки Internet.

1.2.1. Система World Wide Web.

1.2.2. Язык HTML.

1.2.3. Язык JavaScript.

1.2.4. Язык Java.

1.3. Системы компьютерной алгебры.

1.4. Конструкторы моделей.

1.4.1. "LabView".

1.4.2. "Interactive physics", "Живая физика".

1.4.3. "Soda".

1.5. Системно-ориентерованное и проблемно-ориентированное программирование. BARSIC как язык проблемно-ориентированного программирования.

2. Трансляция и языки интерпретируемого типа.

2.1. Компиляция и интерпретация исходного кода программы.

2.2. Парсеры и парсер-генераторы.

2.3. Парсер и парсер-генератор в BARSIC.

2.4. Проблемы, решенные при реализации парсера.

2.5. Преимущества модели парсера, используемой в BARSIC.

3. Синтаксис языка BARSIC.

3.1. Основные функциональные элементы.

3.1.1. Численные константы (числа).

3.1.2. Численные переменные.

3.1.3. Численные выражения.

3.1.4. Численные функции.

3.1.5. Таблично заданные численные функции.

3.1.6. Строковые константы (строки).

3.1.7. Строковые переменные.

3.1.8. Строковые выражения.

3.1.9. Логические выражения.

3.1.10. Команды пользователя и процедуры-функции.

3.1.11. Массивы чисел и строк.

3.1.12. Экранные формы.

3.1.13. Модули.

3.2. Стандартные команды и функции.

3.2.1. Стандартные команды - операторы общего назначения.

3.2.2. Команды обработки исключительных ситуаций.

3.2.3. Операторы интерпретации строк.

3.2.4. Простые численные функции.

3.2.5. Составные численные функции.

3.2.6. Простые стандартные функции, относящиеся к работе со строками.

4. Объектная модель языка BARSIC.

4.1. Общие сведения.

4.2. Доступ к свойствам и методам объектов.

4.3. Методы класса (статические методы).

4.4. Соглашение об идентификаторах классов и объектов.

4.5. Имеющиеся в BARSIC предопределенные классы.

4.5.1. Класс File.

4.5.2. Класс Folder.

4.5.3. Класс Number.

4.5.4. Классы String и Strings.

4.5.5. Класс StringVariable.

4.5.6. Класс Array.

4.5.7. Класс Module.

4.5.8. Класс Math (сложные математические вычисления).

4.5.9. Класс Graph (работа с графикой).

4.6. Редактор экранных форм.

5. Использование программ-приложений языка BARSIC в области математических вычислений, моделирования физических процессов и управления физическим экспериментом.

5.1. Методы численной обработки и визуализации данных.

5.2. Анимация и моделирование физических явлений.

5.3. Автоматизированные лабораторные работы.

5.4. Научные установки.

Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Кожедуб, Алексей Владимирович

Актуальность работы. На сегодняшний день многие задачи, связанные с научными вычислениями, эффективно решаются с помощью уже готовых прикладных программ - математических пакетов, или систем компьютерной алгебры. Они позволяют работать в интерактивном режиме, более удобно, чем в языках программирования, записывать математические формулы для расчетов, имеют средства для вывода графиков и избавляют от необходимости заботиться об интерфейсной части программы. Недостатком математических пакетов является невозможность создания с их помощью относительно независимых программ-приложений со своим интерфейсом, разработанным под конкретную задачу. Кроме того, отсутствие возможности работы с аппаратурой не позволяет с помощью математических пакетов управлять экспериментальными установками. В области программного обеспечения (ПО) управления экспериментом в настоящее время лидирует программный комплекс Lab View фирмы National Instruments [1]. Это система визуального проектирования, предназначенная для работы с аппаратурой, в первую очередь, выпускаемой фирмой National Instruments. Главным недостатком этой системы является то, что программирование в ней сделано тоже визуальным. По сути, оно сводится к рисованию блок-схем, что крайне неудобно для записи сколько-нибудь сложных алгоритмов.

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

В настоящей работе предложен и реализован объектно-ориентированный язык программирования нового поколения В ARS 1С [2-5], в значительной степени лишенный указанных недостатков. BARSIC (Business And Research Simple Interactive Calculator) - язык проблемно-ориентированного программирования, имеющий интерактивную среду визуального проектирования интерфейса, а также среду-интерпретатор времени выполнения. Основой языка является богатый набор стандартных объектов, команд и функций. Развитие объектной модели позволило избежать неограниченного роста количества стандартных команд и функций, как это произошло во многих математических пакетах. Такой подход, заимствованный из языков Java и JavaScript, значительно упростил процесс обучения программированию, что доказывается примерами пригодных к использованию программ-приложений, написанных студентами. Язык BARSIC поддерживает многие возможности обычных математических пакетов, за исключением символьных вычислений, и в то же время позволяет строить собственные интерфейсы для приложений и работать с аппаратурой. Синтаксис языка в сочетании с системой диагностики ошибок упрощает процесс отладки программ. Если в программе-приложении возникает исключительная ситуация (например, деление на ноль), не предусмотренная создателем программы, то среда BARSIC выдает диагностику об ошибке, давая возможность вернуться в соответствующую экранную форму программы и либо исправить вводимые данные и продолжить работу, либо сохранить полученные результаты.

Для описания синтаксиса языка BARSIC и его реализации был разработан метаязык описания синтаксиса MetaL. Этот язык пока несколько менее универсален, чем широко используемая в мире нотация Бэкуса-Наура [6], но более нагляден и приспособлен для целей реализации языков программирования типа BARSIC. Был разработан парсер-генератор и парсер, которые значительно упростили процесс реализации языка BARSIC. Парсер-генератор преобразует исходный текст описания синтаксиса языка BARSIC, написанный на языке MataL, в специальную структуру данных - сеть синтаксического анализа. После этого парсер, пользуясь сетью синтаксического анализа, производит разбор текста на языке BARSIC и вызывает функции, строящие дерево вычислений в соответствии с этим текстом. Возможность задавать синтаксис на языке MataL и быстро его реализовывать позволила хорошо отладить идеологию языка BARSIC, испробовав различные варианты синтаксиса и выбрав наиболее эффективные конструкции.

На языке BARSIC был написан ряд программ-приложений как для обучения студентов и школьников физике [7-15], так и для управления научными установками [16-22]. Эти программы успешно используются в вузах России и за рубежом. Часть программ была написана студентами физического факультета

СПбГУ. Сравнительный анализ простоты использования студентами языков и сред BARSIC, Visual Basic, Delphi, Java и др. подтвердил преимущества BARSIC в широком классе задач, относящихся к физике, а также простоту обучения данному языку программирования и работы в интегрированной среде.

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

В соответствии с этой целью решались следующие задачи:

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

2. Разработка метаязыка описания синтаксиса (MataL), а также парсера и парсер-генератора для реализации синтаксического анализа в соответствии с синтаксисом, заданным на метаязыке.

3. Разработка и усовершенствование синтаксиса языка BARSIC, включая объектную модель.

4. Разработка программы-интерпретатора, реализующей язык программирования BARSIC посредством взаимодействия с парсером.

5. Написание программ-приложений на языке BARSIC с последующей корректировкой синтаксиса языка, чтобы сделать его максимально удобным для написания такого рода приложений, а также проверка работоспособности среды-интерпретатора на большом количестве программ-приложений.

Научная новизна:

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

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

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

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

5. Разработан язык метаопределений, позволяющий преодолеть ряд недостатков расширенной нотации Бэкуса-Наура при задании синтаксиса языка программирования.

6. Реализован новый подход в создании парсер-генераторов для построения парсеров языков программирования.

Основные положения, выносимые на защиту:

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

2. Разработана интегрированная среда, поддерживающая средства визуального проектирования, псевдокомпиляции и отладки проектов ВАЯБЮ, а также, исполняющая псевдокомпилированные файлы.

3. Предложенный язык метаопределений и поддерживающий работу с ним парсер-генератор позволяют оперативно изменять и добавлять синтаксические конструкции в язык ВАЯБЮ, а также, при некоторой доработке, реализовывать парсеры широкого класса языков программирования и языков разметки.

4. Разработанное в среде ВАЯ81С программное обеспечение эффективно для управления компьютеризированными установками, используемыми в области научного и учебного физического эксперимента.

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

Практическая значимость работы:

1. Новый язык программирования ВАКЕЮ позволяет быстро создавать надежно работающее программное обеспечение в области математического моделирования физических процессов, обработки и визуализации физических данных, компьютеризации физического эксперимента.

2. Новый язык задания синтаксиса и разработанные парсер-генератор и парсер после незначительной доработки позволят значительно облегчить задачу реализации широкого класса языков программирования и разметки.

3. Программное обеспечение, разработанное в среде BARSIC, успешно используется в научных исследованиях и учебном процессе в нашей стране и за рубежом.

Апробация работы. Основные результаты докладывались на международной конференции "Физика и промышленность" (Голицино, Московская обл., 1996 г.), IV международной конференции "Физика в системе современного образования" (Волгоград, 1997 г.), IV международном совещании "Использование информационных технологий в учебном процессе кафедр физики и математики " (Ульяновск, 1997 г.), международной конференции "Modern Trends in Computational Physics" (Дубна, 1998 г.), V международной конференции "Физика в системе современного образования" (СПб, 1999 г.) и еще более чем на 10 российских и международных конференциях.

Публикации. По материалам диссертации опубликована 21 работа, в том числе 4 статьи в реферируемых журналах, 1 учебное пособие для студентов физического факультета СПбГУ и 16 тезисов докладов на научно-технических и научно-методических конференциях.

Объем и структура диссертации. Диссертация состоит из введения, 5 глав, заключения и списка используемой литературы из 85 наименований, содержит 15 рисунков. Общий объем составляет 131 страницу.

Заключение диссертация на тему "Интегрированная среда и язык программирования для физиков"

Заключение.

В итоге проведенной работы, посвященной созданию и совершенствованию нового языка программирования, были выполнены поставленные задачи и полученные следующие основные результаты:

1. Исследованы существующие языки программирования, интегрированные среды, математические пакеты и другое программное обеспечение в плане возможностей их применения для решения физических задач. Выяснены недостатки этих программ и причины, порождающие эти недостатки.

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

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

4. Разработан новый язык метаопределений для описания синтаксиса языков программирования и разметки страниц. Этот язык более нагляден и в ряде случаев более гибок, чем широко известная расширенная нотация Бэкуса-Наура.

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

6. В процессе усовершенствования парсера и парсер-генератора удалось добиться полного разделения задач синтаксического разбора текста программы, написанной на языке программирования, и реализации действий, описываемых в этом тексте.

На новом языке программирования в интегрированной среде ВАИ^Ю создано большое число программ-приложений, которые успешно применяются для решения широкого класса научных и учебных задач.

Библиография Кожедуб, Алексей Владимирович, диссертация по теме Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)

1. National 1.struments Corp. Instrumentation Catalogue. - 1998. - 864 p.

2. Монахов B.B., Кожедуб A.B. Интегрированная среда для научных вычислений. тез. докл. конф. с межд. участием "Теоретическая , прикладная и вычислительная небесная механика", СПб, 1993, с.68-70.

3. Монахов В.В., Кожедуб A.B., Кашин А.Н., Половцев И.Н. Интегрированная среда 'BARSIC' как средство разработки компьютерных обучающих программ. тез. докл. конф. "Новые информационные технологии-96", Новосибирск, 1996, с.95-96.

4. Monakhov V.V., Kozhedub A.V., Kashin A.N., Kauppi M., Klochkov I.V., Polovtsev I.N. Integrated Environment "BARSIC" and its Applications proc. II int. conf. on Distance Education in Russia (ICDED'96), Moscow, 1996, p.323-326.

5. Монахов B.B., Кожедуб A.B., Кашин А.Н., Тупицын П.В. BARSIC -интегрированная среда и язык программирования для физиков. Вестник СПбГУ, Сер.4, 1998, вып.З (№18).

6. Эдди С.Э. XML: Справочник. СПб.: Питер, 1999. - 480 с.

7. Монахов В.В., Кожедуб A.B., Кашин А.Н., Половцев И.Н. Компьютерные лабораторные работы на основе интегрированной среды BARSIC тез. докл. межд. конф. "Физика в системе современного образования", Петрозаводск, 1995, с.137-138.

8. Монахов В.В., Кожедуб A.B., Половцев И.Н. Физический практикум по механике под управлением компьютера тез. докл. 3 конф. стран содружества "Современный физический практикум", М., Московское физическое общество, 1995 - с.208-210.

9. Монахов В.В., Кожедуб A.B., Кашин А.Н., Половцев И.Н. Технология обучения в компьютерной лаборатории тез. докл. региональной конф. "Современные технологии обучения", СПб, 1996, с.66-67.

10. Монахов В.В., Кожедуб A.B., Кашин А.Н., Клочков И.В. Интегрированная среда "BARSIC" перспективное средство для разработки распределенных компьютерных обучающих систем - тез. докл. конф. "ТЕЛЕМАТИКА-96", СПб, 1996, с.143-144.

11. Монахов В.В., Кожедуб A.B., Кашин А.Н., Половцев И.Н. Автоматизированный практикум по механике нового поколения Физическое образование в ВУЗах, 1997, т.З, N 3, с.151-152.

12. Монахов В.В., Кожедуб A.B., Кашин А.Н., Огинец О.В., Половцев И.Н., Смирнов В.Н. Автоматизированный практикум по физике: Механика (учебное пособие для студентов второго курса физического факультета СПбГУ) СПб, Издательство СПбГУ, 1998, 75 с.

13. Kozhedub A.V., Paramonov S.B., Samarin A.S. The modern Educational Methods in Physics Educational Nework. Abstracts of "Physique en Herbe '99'", 1999, Oleron, France, p.3(S01)

14. МонаховВ.В., Кожедуб A.B. Компьютерные лабораторные работы и демонстрации по физике с программным обеспечением на основе интегрированной среды BARSIC тез. докл. V межд. конф. "Физика в системе современного образования", СПб, 1999,т.З, с. 116-117.

15. Монахов В.В., Кожедуб A.B., Клочков И.В., Кашин А.Н., Половцев И.Н., Уткин А.Б. Компьютерная установка для измерения параметров полупроводниковых структур тез. докл. межд. конф. ФИЗПРОМ-96, Голицино, Московская обл., сентябрь 1996, с.285-286

16. Монахов В.В., Кожедуб A.B., Клочков И.В., Комолов A.C., Уткин А.Б., Кашин А.Н. Компьютерная установка для измерения электрофизическихпараметров полупроводниковых структур Вестник СПбГУ, Сер.4, 1997, Вып.1 (№4), с. 106-109.

17. Монахов В.В., Кожедуб A.B., Кашин А.Н., Меркурьев Г.И., Половцев И.Н. Создание лабораторных установок на базе мультимедийного персонального компьютера тез. докл. IV межд. конф. "Физика в системе современного образования", Волгоград, 1997, с. 189-191.

18. Monakhov V.V., Kozhedub A.V., Kashin A.N. Integrated Environment for Physical Experiments Control Abstracts of the First International Conference "Modern Trends in Computational Physics", Dubna, Russia, 1998, p.125.

19. М.Бен-Ари Языки программирования. Практический сравнительный анализ. -пер. с англ. М: Мир, 2000. - 366 с.

20. Г.Учи Персональные компьютеры для научных работников. пер. с англ. -М.: Мир, 1990.-268 с.

21. Салтыков А.И., Макаренко Г.И. Программирование на языке Фортран. М.: Наука, 1976.-256 с.

22. Дьяконов В.П. Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ. М.: Наука, 1987. - 240 с.

23. Боровин Г.К., Комаров М.М., Ярошевский B.C. Ошибки-ловушки при программировании на Фортране /Под ред. Ю.М.Баяковского М.: Наука,1987.-144 с.

24. Перминов О.Н. Введение в язык программирования Ада. М.: Радио и связь, 1991.-288 с.

25. Федоров А., Рогаткин Д. Borland Pascal в среде Windows. Киев: Диалектика, 1993.-656 с.

26. Перминов О.Н. Программирование на языке Паскаль. М.: Радио и связь,1988.-224 с.

27. Вирт Н. Систематическое программирование. Введение. пер. с англ. / Под ред. Ю.М.Баяковского - М.: Мир, 1977. - 183 с.32