Формальная модель контекстно-зависимых программных структур и их преобразований в применении к методологии Language-Driven Development

Формальная модель контекстно-зависимых программных структур и их преобразований в применении к методологии Language-Driven Development

Автор: Седунов, Алексей Александрович

Шифр специальности: 05.13.17

Научная степень: Кандидатская

Год защиты: 2012

Место защиты: Воронеж

Количество страниц: 157 с. ил.

Артикул: 5518078

Автор: Седунов, Алексей Александрович

Стоимость: 250 руб.

Формальная модель контекстно-зависимых программных структур и их преобразований в применении к методологии Language-Driven Development  Формальная модель контекстно-зависимых программных структур и их преобразований в применении к методологии Language-Driven Development 

Оглавление
ОГЛАВЛЕНИЕ .
ВВЕДЕНИЕ
1 АНАЛИЗ ЯЗЫКОВ И СРЕДСТВ РАЗРАБОТКИ.
1.1 Расширение объектноориентированного подхода
1.2 Средства мегаразработки.
2 СТРУКТУРА ВНУТРЕННЕГО ПРЕДСТАВЛЕНИЯ МОДЕЛЕЙ
2.1 Основные обозначения
2.2 Основные понятия
2.3 Метаструктура.
2.4 Графическая нотация для описания моделей. Модель .
3 ДЕЙСТВИЯ В СТРУКТУРЕ МОДЕЛЕЙ.
3.1 Преобразования i тгекста
3.2 Основные структуры механизма действий.
3.3 Семантика действий
4 ОСОБЕННОСТИ РЕАЛИЗАЦИИ.
4.1 Архитектура фреймворка.
4.2
4.3 ЯЗЫК ЗАПРОСОВ .
ЗАКЛ ЮЧ ЕН И Е .
ЛИТЕРАТУРА


А. Расширение языка Java с помощью присоединяемых типажей // Труды всероссийской научно-технической конференции «Молодые исследователи - регионам», Вологда, . Седунов А. А. Формализация объектной структуры с помощью систем объектных уравнений // Вестник ВГУ, серия «Системный анализ и информационные технологии», , №2. Ю.Седунов А. А. Расширение функциональности классов с помощью присоединяемых типажей. Труды XI международной конференции «Информатика: проблемы, методология, технологии», Воронеж, . Седунов А. А. Структура ядра метаязыка в системе LDD-программирования // Вестник ВГУ, серия «Системный анализ и информационные технологии», , №1. Sedunov Aleksey, Tyukachev Nikolay. An Approach to Modular Object-Oriented Programming in Language-Driven Development Framework // 6th ICOOOLPS Workshop, European Conference on Object-Oriented Programming, Lancaster, UK, . Диссертация состоит из введения, 4 глав, заключения и списка литературы. В главе приводится обзор существующих подходов к реализации средств метапрограммирования, а также основных вариантов развития объектно-ориентированного подхода. Представлен обзор ряда языков программирования и описаны их возможные применения в контексте методологии LDD. Кроме того, рассматриваются ключевые реализации программных инфраструктур, предоставляющих средства метапрограммирования, в частности, Meta Programming System (JetBrains, Inc. Whole Platform и XMF. Рассмотрен ряд подходов, направленных на развитие возможностей повторного использования компонентов программных систем. Данный аспект играет важную роль в контексте LDD-подхода, поскольку основные варианты использования соответствующей программной инфраструктуры предполагают расширение и комбинацию различных компонентов, входящих в состав других моделей. Мы рассмотрим основные подходы к улучшения модульности и расширяемости объектно-ориентированных систем [7, 8], а также языки, в которых реализуются эти варианты. К данной группе относятся модификации процедуры простой диспетчеризации, которая выбирает реализацию метода при вызове, основываясь только на фактическом типе (классе) объекта-приемника. Наиболее известной разновидностью альтернативной диспетчеризации является диспетчеризация, основанная на мультиметодах [], которая обобщает простую диспетчеризация, позволяя выбирать конкретную реализацию метода, основываясь на фактических типах всех его аргументов (или типах их подмножества), а не только объекта-приемника. Примером может служить т. Привязка таких аспектов в виде методов к одному объекту создает ситуацию, в которой система типов не позволяет обеспечить статически контролируемую и при этом легко расширяемую реализацию. Решения, существующие в рамках простой диспетчеризации (перегрузка, ручной перебор возможных типов аргумента при диспетчеризации по приемнику, двойная диспетчеризация, варианты паттерна Visitor), так или иначе создают зависимости от конкретных типов или реализаций метода, ограничивая тем самым возможности расширения программной системы. Поскольку использование метаязыка в значительной степени связано с манипуляцией внутренним представлением программ, поддержка мультиметодов является для него вполне обоснованным требованием. Мультиметоды поддерживаются такими языками, как Common LISP, Groovy, Clojure, Perl 6. Существуют также расширения языков Java, С#, Python и других, добавляющие к ним поддержку мультиметодов (Multijava []). Развитием подхода мультиметодов является диспетчеризация, основанная на сопоставлении с образцом []. Еще один известный на практике вариант - предикатная диспетчеризация [], которая является дальнейшим обобщением диспетчеризации, основанной на мультиметодах. Этот вид диспетчеризации позволяет выбирать реализацию, основываясь на истинностном значении ассоциированного с ней предиката. Для сохранения статического контроля возможные варианты предикатов должны быть ограничены таким образом, чтобы проверка их истинности и выбор подходящей реализации могли быть реализованы эффективно и допускали (по крайней мере, частичную) оптимизацию со стороны компилятора.

Рекомендуемые диссертации данного раздела

28.06.2016

+ 100 бесплатных диссертаций

Дорогие друзья, в раздел "Бесплатные диссертации" добавлено 100 новых диссертаций. Желаем новых научных ...

15.02.2015

Добавлено 41611 диссертаций РГБ

В каталог сайта http://new-disser.ru добавлено новые диссертации РГБ 2013-2014 года. Желаем новых научных ...


Все новости

Время генерации: 0.206, запросов: 244