WWW.KNIGI.KONFLIB.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 
<< HOME
Научная библиотека
CONTACTS

Pages:     || 2 | 3 | 4 | 5 |   ...   | 11 |

«Диссертация допущена к защите И.О. зав.кафедрой В. Е. Клавдиев _ 2008 г. ДИССЕРТАЦИЯ на соискание ученой степени МАГИСТРА Тема: Определение языков программирования ...»

-- [ Страница 1 ] --

Санкт-Петербургский государственный политехнический университет

Физико-механический факультет

Кафедра прикладной математики

Диссертация допущена к защите

И.О. зав.кафедрой

В. Е. Клавдиев

""_ 2008 г.

ДИССЕРТАЦИЯ

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

МАГИСТРА

Тема: «Определение языков программирования интерпретируемыми автоматами»

Направление: 510200 – Прикладная математика и информатика Магистерская программа: 510209 – Математическое и программное обеспечение вычислительных машин Выполнила студентка группы 6057/2 У. Т. Тихонова Руководитель, к. ф.- м. н. Ф. А. Новиков Консультант по охране труда В. В. Монашков Санкт-Петербург Реферат В диссертации описан метод определения проблемно-ориентированных языков с помощью интерпретируемых автоматов. Этот метод позволяет формально определить проблемно-ориентированный язык в виде трех составляющих: абстрактного синтаксиса, конкретного синтаксиса и семантики. Программная реализация этого метода, машина автоматного программирования, осуществляет интерпретацию автоматов формального определения языка, и таким образом выполняет разбор и интерпретацию программ на данном языке. Метод описывается на примере языка предметной области СЛОН.

В работе рассмотрены существующие для описания проблемно-ориентированных языков методы и инструменты, проведен анализ диаграмм классов UML как средства задания языка, описаны автоматы, определяющие язык СЛОН, и методы их полуавтоматического построения.

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

Содержание Введение

1. Обзор

1.1. Экономическая потребность решения задачи

1.2. Научный контекст

1.3. Технологический контекст

1.3.1. Языковый инструментарий Meta Programming System

1.3.2. Среда разработки MetaEdit+ Domain-Specific Modeling (DSM)

1.4. Технический контекст

1.4.1. Система ЭРА

1.4.2. Определение абстрактного синтаксиса с помощью диаграмм классов UML

1.5. Постановка задачи

2. Теоретическая часть

2.1. Основные положения

2.2. Определение абстрактного синтаксиса языка программирования с помощью диаграммы классов

2.2.1. Неформальный анализ диаграммы классов как метамодели проблемно-ориентированного языка

2.2.2. Метамодель языка СЛОН

2.3. Определение конкретного синтаксиса языка программирования с помощью распознающих автоматов

2.3.1. Использование парадигмы автоматного программирования

2.3.2. Система автоматов из метамодели: абстрактный конкретный синтаксис

2.3.3. Конкретный синтаксис и нотация языка СЛОН

2.4. Определение семантики языка программирования с помощью интерпретирующих автоматов 2.4.1. Семантика табличного сложения и умножения в языке СЛОН

2.4.2. Семантика табличных выражений языка СЛОН

2.4.3. Интерпретатор программы на языке СЛОН

3. Проектирование

3.1. Машина автоматного программирования

3.1.1. Структура автоматной программы

3.1.2. Графический синтаксис автоматной программы

3.1.3. Семантика автоматной программы

3.2. Интерфейс дерева программы

4. Реализация и применение машины автоматного программирования

4.1. Компонентная структура машины автоматного программирования

4.2. Транслятор автоматной программы

4.3. Реализация компонентов

4.4. Тестирование

Заключение

Литература

Приложение 1. Лог выполнения автоматной программы

Приложение 2. Лог выполнения автоматной программы в режиме раскрутки

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

Языки программирования общего назначения универсальны и позволяют решить практически любую задачу. Но эта универсальность делает их довольно сложным инструментом, требующим высокой квалификации программиста и решения ряда общеизвестных проблем, возникающих при разработке прикладной программы. В отличие от языков программирования общего назначения, проблемно-ориентированные (или предметно-ориентированные) языки, известные также как языки предметной области (Domain Specific Language, DSL) создаются для решения некоторого ограниченного класса задач, специфичных для данной предметной области. Они позволяют перенести решение задачи на более высокий уровень абстракции по сравнению с уровнем языков программирования. Примерами таких языков являются SQL, Maple, TEX.

Стиль программирования, основанный на использовании языков предметной области, существует уже давно и известен сейчас как языкоориентированное программирование (Language Oriented Programming, LOP) [1]. Он обладает рядом приятных преимуществ, основанных на изложенной выше идее. Основным недостатком данного подхода является сложность создания нового языка и всего сопутствующего ему программного обеспечения. Одной из технологий, разработанных с целью устранить этот недостаток, является языковый инструментарий Meta Programming System (MPS) [2]. В его основе лежит постулат о том, что программа на языке предметной области – это любое точно определенное решение некоторой задачи, а не набор инструкций для компьютера.



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

Язык предметной области, как и язык программирования общего назначения, является средством выражения решения задачи. Он определяется синтаксисом и семантикой. Абстрактный синтаксис описывает класс допустимых языком программ (в смысле решений некоторых задач). Конкретный синтаксис определяет представление для этого класса программ. Семантика придает программам содержание и смысл, определяет их поведение. Следовательно, описание языка программирования включает в себя определение всех этих трех составляющих. На практике обычно формально определяется только конкретный синтаксис языка (в виде его грамматики), а семантика и абстрактный синтаксис описываются неформально и скрываются в реализующий язык транслятор.

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

Одним из методов определения языков программирования, включающих в себя не только формальное описание конкретного синтаксиса языка, но и формальное определение его абстрактного синтаксиса и семантики, является Венский метод [3]. Для описания абстрактного синтаксиса в нем используется абстрактная грамматика, а для определения семантики языка – интерпретирующие автоматы.

На данный момент автоматы широко применяются как для описания и проектирования алгоритмов, так и для их реализации [0]. Программирование с использованием автоматов, или автоматное программирование, основано на работе интерпретирующей автоматы виртуальной машины. Согласно этого подхода, определение семантики языка с помощью автоматов является одновременно интерпретатором данного языка.

В данной работе рассматривается метод определения языков предметной области с помощью системы автоматов, интерпретируемых виртуальной машиной автоматного программирования. Структура языка, его абстрактный синтаксис, определяет представление конкретной программы, которое используют автоматы. Согласно наиболее популярной на данный момент объектно-ориентированной парадигмы программирования, структура языка описывается в виде диаграммы классов в нотации UML. Семантика языка задается системой автоматов, которые реализуют интерпретацию программы как экземпляра абстрактного синтаксиса. Конкретный синтаксис задается с помощью системы автоматов, реализующих разбор программы. При этом прототипом такой системы автоматов является структура языка. Автоматы интерпретируются виртуальной автоматной машиной, поэтому такая спецификация языка и есть программа, его реализующая.

Целью данной работы является исследование этого метода на примере описания спецификации языка СЛОН (СЛежение и Обработка Наблюдений) [4] системы ЭРА (Эфемеридные Расчеты Астрономии) – прикладной проблемно-ориентированной системы программирования, предназначенной для решения разнообразных задач астрономии [5].

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

1.1. Экономическая потребность решения задачи Создание программного обеспечения – это сложный и плохо управляемый процесс.

Наиболее критичной частью этого процесса является непосредственно программирование приложения, так как программистам приходится работать с двумя предметными программирования. Программист осуществляет отображение одной предметной области в Программирование в смысле такого отображения может быть упрощено с помощью языков предметной области (DSL). Языки предметной области позволяют решать целевую задачу в терминах этой задачи, а не в терминах вычислительной машины [2] и в идеале могут использоваться непосредственно специалистами в данной области. Такой подход не только облегчает разработку программ, но и как следствие повышает их качество.

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

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

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



Pages:     || 2 | 3 | 4 | 5 |   ...   | 11 |
 



Похожие работы:

«Федеральное государственное бюджетное учреждение науки Уфимский научный центр Российской академии наук ОБЩЕЕ СОБРАНИЕ Постановление 7 июня 2012 г. №1 г. Уфа Заслушав и обсудив доклады Председателя Уфимского научного центра РАН член-корреспондента РАН У.М. Джемилева Важнейшие результаты научных исследований учреждений Уфимского научного центра РАН за 2011 год, и.о. главного ученого секретаря Президиума УНЦ РАН д.х.н. О.Б. Казаковой О результатах научно-организационной деятельности учреждений УНЦ...»

«Annals of Mechnicov Institute, N 3, 2006 74 УДК 616.9 (093) НАУЧНОЕ ТВОРЧЕСТВО Р. КОХА И Л. ПАСТЕРА И СТАНОВЛЕНИЕ ФУНДАМЕНТАЛЬНОЙ И ПРИКЛАДНОЙ МИКРОБИОЛОГИИ Пугач Н.Б. Институт микробиологии и иммунологии имени И.И. Мечникова АМН Украины, г. Харьков Мы ставим задачу: проследить исторический путь науки в борьбе с невидимыми, ненаблюдаемыми врагами человека – возбудителями заразных заболеваний, в особенности сибирской язвой. В научной литературе по истории медицины еще нет обобщающей работы,...»

«Hungry Minds™ H N R MN S I C U G Y I D,N. 3s e- Eo •Dt lDwlas•eok •AseNwk •^ e se •Bre W Ss•een g e- l g nk g ond Bos n r eos - wer a d e e Lam S l s ia o l i w t r N lts 'd b ti - r t NwY r,N •C v a d O •I da a oi,I e ok Y e e n, H n i n p ls N ll Энди Ратбон ДИАЛЕКТИКА Москва • Санкт-Петербург • Киев 2003 ББК 32.973.26-018.2.75 Р25 УДК 681.3.07 Компьютерное издательство Диалектика Зав. редакцией В.В. Александров Перевод с английского и редакция И. Б. Тараброеа По общим вопросам...»

«ОТЧЕТ О НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ ХИМИЧЕСКОГО ФАКУЛЬТЕТА ЗА 2002 ГОД Казань - 2002 I. Сведения о наиболее значимых научных результатах НИР (кафедра аналитической химии) 1. Разработаны новые амперометрические химические сенсоры на биологически-активные вещества различной природы с низкими пределами обнаружения, имеющие различный механизм отклика, работающие на принципах биораспознавания и электрокатализа. 2. 31.19 3. а) Развитие теоретических и прикладных основ методов определения малых...»

«СОВРЕМЕННЫЕ ПРОБЛЕМЫ ИНФЕКЦИОННОЙ ПАТОЛОГИИ ЧЕЛОВЕКА Сборник научных трудов выпуск 5 Минск 2012 УДК 616.9(082) ББК 55.14 С 56 Сборник научных трудов Основан в 2008 г. Редакционная коллегия: Т.В. Амвросьева, д.м.н., проф.; В.А. Горбунов, к.м.н., доц.; В.Г. Гудков, к.м.н, доц.; В.Ф. Ерёмин, д.м.н., доц.; Н.П. Мишаева, д.б.н., доц.; С.В. Орлова, к.м.н.; А.С. Петкевич, к.м.н., доц.; Н.Н. Полещук, д.м.н., проф.; Т.И. Самойлова, д.б.н., доц.; Е.О. Самойлович, д.м.н., доц. (Беларусь); А.Н. Алексеев,...»

«8. ЕСТЕСТВЕННО-НАУЧНЫЕ АСПЕКТЫ ТЕХНОЛОГИЙ 8.1. РАЗВИТИЕ СРЕДСТВ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Технологии и естествознание. Технология — совокупность методов обработки, изготовления, изменения состояния, свойств, формы сырья или полуфабрикатов, осуществленных в процессе производства продукции. Слово технология означает, кроме того, научную дисциплину, изучающую физические, химические, механические и другие закономерности различных производственных процессов. В последнее время это слово стало...»

«ЛОЦИЯ ВОД ТУРЦИИ и КИПРА Род и Люсинда Хейкелл та не ла П оя М Д И © ПОЛНОСТЬЮ ПЕРЕРАБОТАННОЕ ДЕВЯТОЕ ИЗДАНИЕ Руководство для плавания яхт у средиземноморского и черноморского побережий Турции и острова Кипр УДК 656.6 ББК 39.471.12 Х 35 Хейкелл Род, Хейкелл Люсинда Х 35 Лоция вод Турции и Кипра / пер. с англ. П.В. Чечехин. – М.: ИД Моя Планета, 2014. – 400 с. ISBN 978-5-90544-510-1 Руководство для плавания яхт у средиземноморского и черноморского побережий Турции и острова Кипр. Настоящее...»

«КАФЕДРЫ ТЕОРЕТИЧЕСКОЙ ФИЗИКИ УМК по ЭКСПЕРИМЕНТАЛЬНЫМ И ТЕОРЕТИЧЕСКИМ МЕТОДАМ В ФИЗИКЕ КОНДЕНСИРОВАННОГО СОСТОЯНИЯ Составители: д.м.- м.н., проф. В.М. Самсонов к.ф.- м.н., доцент В.Л. Скопич к.ф.-м.н., доцент А.Н. Базулев МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Тверской государственный университет УТВЕРЖДАЮ Декан физико-технического факультета Б.Б. Педько 2012 г. Учебно-методический комплекс по...»

«И.С. КОЗАЕВ В.И. ДЕМЕНТЬЕВ ОРГАНИЗАЦИОННОЭКОНОМИЧЕСКИЙ МЕХАНИЗМ РАЗВИТИЯ РЕГИОНАЛЬНОГО СКОТОВОДСТВА: ТЕОРИЯ, МЕТОДОЛОГИЯ, ПРАКТИКА Мичуринск - наукоград РФ 2007 PDF created with FinePrint pdfFactory Pro trial version www.pdffactory.com УДК 338.31:636.2(471.32) Издается по решению методического ББК 65.325.2(235.45) совета МичГАУ К 59 Рецен зенты: доктор экономических наук, профессор, руководитель Регионального отделения социального страхования по Тамбовской области Н.И. К у л и к о в кандидат...»

«НАУЧНЫЕ РАЗРАБОТКИ ЮТИ ТПУ Наименование разработки Автор Стр. ОБОРУДОВАНИЕ И ТЕХНОЛОГИИ СВАРОЧНОГО 5 ПРОИЗВОДСТВА Способ сварки высокопрочных легированных сталей Чинахов Д.А., 5 без предварительного подогрева и последующей тер- Федько В.Т., мообработки Сараев Ю.Н. Федько В.Т., Князьков А.Ф., Крампит Н.Ю., Способ импульсно-дуговой сварки Крампит А.Г., 5 Князьков С.А., Петриков А.В., Князьков В.Л. Брунов О.Г., Сварка с импульсной подачей сварочной проволоки 5 Крюков А.В., Солодский С.А. Федько...»






 
© 2013 www.knigi.konflib.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.