Языковые средства систем программирования, ориентированные на создание переносимых, эволюционно расширяемых параллельных программ

Языковые средства систем программирования, ориентированные на создание переносимых, эволюционно расширяемых параллельных программ

Автор: Легалов, Александр Иванович

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

Научная степень: Докторская

Год защиты: 2005

Место защиты: Красноярск

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

Артикул: 2883426

Автор: Легалов, Александр Иванович

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

Языковые средства систем программирования, ориентированные на создание переносимых, эволюционно расширяемых параллельных программ  Языковые средства систем программирования, ориентированные на создание переносимых, эволюционно расширяемых параллельных программ 

Введение
Ф 1 Использование систем программирования при создании
переносимых и эволюционно расширяемых параллельных программ
1.1 Цели и задачи процесса разработки.
1.2 Методические приемы.
1.2.1 Формализация предметной области.
1.2.2 Создание методик разработки программного обеспечения
1.3 Технические приемы
1.3.1 Поддержка методических приемов
1.3.2 Вспомогательные средства
9 1.3.3 Системы программирования
1.4 Характеристики систем программирования, влияющие на мобильность и расширяемость программ
1.4.1 Разделение систем программирования по парадигмам
1.4.2 Дополнительные характеристики парадигм программирования
1.5 Анализ методов, определяющих разработку мобильных параллельных программ.
1.5.1 Переносимость последовательных программ.
1.5.2 Переносимость параллельных программ.
9 .3 Использование функциональных и потоковых языков.
1.5.4 Перспективы создания инструментальных средств разработки мобильных параллельных программ.
1.6 Анализ характеристик, определяющих разработку эволюционно расширяемых программ
1.6.1 Факторы, определяющие построение расширяемых программ . . .
1.6.2 Перспективы развития инструментальных средств разработки
Ф эволюционно расширяемых программ.
1.7 Вы воды.
2 Стратегии управления в вычислительных системах и языках программирования
2.1 Модель вычислительного процесса.
2.1.1 Связь между процессами и ресурсами вычислительной системы .
2.1.2 Моделирование процесса
2.1.3 ЮЯсеть.
2.2 Стратегии управления в вычислительных системах
2.3 Стратегии управления в языках программирования
2.4 Связь стратегий управления с мобильностью параллельных программ
2.4.1 Специфика управления при последовательном программировании
2.4.2 Специфика субъективного управления при параллельном программировании
2.4.3 Организация виртуального вычислителя, поддерживающего неявное управление
2.4.4 Организация управления вычислениями в мобильных параллельных программах.
2.5 Выводы
3 Модель функциональнопотоковых параллельных вычислений и язык программирования, построенный на ее основе.
3.1 Общие принципы организации модели.
3.2 Описание программоформирующих операторов.
3.3 Динамика функционирования модели
3.4 Эквивалентные преобразования
3.4.1 Распространение ошибки
3.4.2 Использование пустых элементов
3.4.3 Раскрытие параллельных подсписков в списке данных.
3.4.4 Раскрытие задержанных списков.
3.5 Правила интерпретации списков.
т 3.5.1 Перенос круглых скобок со списка функций на результат
операции интерпретации.
3.5.2 Интерпретация параллельных списков. НО
3.5.3 Интерпретация асинхронных списков
3.6 Функциональный язык параллельного программирования
3.7 Выводы. ИЗ
4 Методы разработки функциональнопотоковых параллельных программ
4.1 Основные методы и приемы построения функциональнопотоковых параллельных программ
4.1.1 Применение параллельных списков
4.1.2 Использование задержанных списков.
4.1.3 Использование параллельной рекурсии.
4.1.4 Использование обобщенных функций.
4.2 Использование эквивалентных обобщенных функций.
4.2.1 Эквивалентные реализации бинарной свертки.
4.2.2 Использование разных форм одной и той же функции для повышения эффективности вычислений
4.3 Использование концепции неограниченного параллелизма для анализа и разработки программ с ограниченным параллелизмом.
4.3.1 Традиционный подход к алгоритмам сортировки.
4.3.2 Алгоритм сортировки с неограниченным параллелизмом
4.3.3 Вывод ограниченных алгоритмов
4.4 Использование событийного асинхронного параллелизма в потоковых вычислениях.
4.5 Выводы.
5 Инструментальные средства для разработки, отладки и выполнения функционапьнопотоковых параллельных программ.
щ 5.1 Общие требования к виртуальному исполнителю функционально
потоковых параллельных программ.
5.2 Методы выполнения функциональнопотоковых параллельных
программ
5.3 Последовательная интерпретация функциональнопотоковых
ф программ.
5.4 Параллельная интерпретация функциональнопотоковых программ
5.5 Реализация последовательной интерпретации функциональнопотоковых программ.
5.5.1 Транслятор
5.5.2 Интерпретатор.
5.5.3 Модуль управления.
5.6 Реализация интерпретатора функциональнопотоковых программ
для кластерных систем.
5.6.1 Общая организация.
5.6.2 Функционирование параллельного интерпретатора
5.6.3 Анализ методов параллельной интерпретации.
5.6.4 Методы повышения эффективности интерпретации
5.7 Выводы
6 Основные принципы процедурнопараметрической парадигмы
программирования
6.1 Используемые понятия и определения
6.1.1 Данные обрабатываемые программой.
6.1.2 Значения данных
6.1.3 Процедуры, используемые для обработки программных объектов
6.1.4 Вызовы процедур
6.2. Задача эволюционного расширения мультиметодов.
6.3 Эволюционное расширение мультиметодов в различных
парадигмах программирования
6.3.1 Расширение мультиметодов при процедурном подходе
6.3.2 Расширение мультиметодов при объектноориентированном
подходе.
6.3.3 Проблемы существующих подходов эволюционной разработки
мультиметодов.
6.4 Особенности процедурнопараметрической парадигмы ф программирования.
6.4.1 Основные понятия процедурнопараметрического программирования
6.4.2 Организация параметрических обобщений.
6.4.3 Организация обобщающих параметрических процедур.
6.4.4 Организация обработчиков параметрических специализаций
6.4.5 Экземпляр параметрического обобщения
6.4.6 Вызовы параметрических процедур
6.5 Классификация механизмов параметрического обобщения.
6.5.1 Способы построения параметрических обобщений
6.5.2 Методы включения специализаций в параметрическое обобщение.
6.5.3 Методы конструирования обобщений
6.5.4 Способы построения параметрических отношений и их
отображение на параметрические процедуры
6.5.5 Способы формирования тел обработчиков специализаций
6.5.6 Способы связывания комбинаций специализаций с конкретным
обработчиком
6.5.7 Фазы формирования параметрических обобщений.
6.7 Выводы
7 Языковая и инструментальная поддержка процедурнопараметрической парадигмы программирования
7.1 Язык программирования М.
7.1.1 Организация параметрических обобщений.
7.1.2 Обобщенные переменные.
7.1.3 Обобщающие процедуры и обработчики специализаций .
7.2 Использование языка для решения задачи эволюционного расширения .
7.2.1 Разработка основной части программы.
7.2.2 Проявление полиморфизма в клиентском модуле.
7.3 Моделирование методов формирования процедурнопараметрических отношений.
7.3.1 Алгоритмы, базирующиеся на объектноориентированной
парадигме.
7.3.2 Использование процедурного подхода для построения
эволюционно расширяемых мультиметодов.
7.3.3 Сравнение объектноориентированной и процедурно
параметрической реализаций полиморфизма.
7.4 Инструменты процедурнопараметрического программирования .
7.4.1 Транслятор с языка М
7.4.2 Компоновщик параметрических отношений.
7.4.3 Сборщик проектов
7.4.4 Оболочка пользователя.
7.5 Выводы
8 Поддержка эволюционного расширения программ в функциональнопотоковом языке параллельного программирования
8.1 Перегрузка функция с одинаковой сигнатурой
8.2 Использование эволюционного расширения при обработке динамических структур данных
8.3 Применение пользовательских типов данных
8.4 Сочетание пользовательских типов и перегрузки функций с одинаковой сигнатурой.
8.4.1 Эволюционное расширение обобщений.
8.4.2 Эволюционное расширение обработчиков обобщений
8.5 Инструментальная поддержка эволюционного расширения функциональнопотоковых параллельных программ.
0
8.5.1 Определение функций с предусловием и постусловием.
8.5.2 Модульное построение программ
8.6 Выводы.
ф Заключение
Список использованных источников


Изначальная ориентация Исполнителя на универсальность вычислений обычно предполагает применение методик для широкого класса задач, не связывая их непосредственно с предметными областями. Они поддерживают взаимодействие моделей, используемых в разработке, определяя процесс преобразования как от модели задачи к модели исполнителя, так и в обратном направлении. Место методик состоящих из набора методов преобразования между различными группами моделей в процессе разработки ПО представлено на рисунке 1. Рисунок 1. Несмотря на обеспечение прямого и обратного проектирования, основное достоинство методик проявляется в поддержке нисходящей разработки, что во многом обуславливается большей наглядностью переходов от универсальных высокоуровневых моделей, ориентированных на описание предметных областей, к моделям, описывающим соответствующих исполнителей. В подобной ситуации знание задачи повышает эффективность разработки. Поэтому, создание программного обеспечения обычно начинается с привязки модели предметной области к моделям анализа и проектирования, предлагаемым используемой методикой рисунок 1. Рисунок 1. К недостатку отдельных методик относится привязка процесса разработки к определенным методам и исполнителям. В настоящее время существуют различные методики. Они являются составной неотъемлемой частью методологий разработки программного обеспечения, которые, наряду с процессами создания программ, дополнительно регламентируют организационную деятельность, анализ, тестирование и сопровождение, что в целом определяет организацию жизненного цикла программы на основе единого концептуального подхода 1. Джексона, используемая для проектирования программы по структурам обрабатываемых данных . Методики широко используются при разработке больших программных систем, так как повышают эффективность проектирования за счет предоставления достаточно простых и ясных подходов, выработанных на основе эмпирического опыта и теоретических исследований. Их использование, в сочетании с инструментальной поддержкой, обеспечивает сокращение семантического разрыва между моделями различных задач и исполнителем. Технические приемы обеспечивают создание инструментальных средств, поддерживающих различные аспекты разработки ПО. Инструментальные средства, обеспечивающие поддержку методических приемов, предназначены для компьютерного представления и анализа разрабатываемых моделей, преобразования построенных моделей в другие модели, автоматизации процесса построения требуемой документации, а также ведения организационной деятельности в ходе разработки ПО. Повышая эффективность процесса разработки, средства поддержки методических приемов, в то же время, не определяют сам процесс построения программы. Их использование предполагает дальнейшую доводку программ с применением инструментов, имеющих более тесную связь с архитектурами вычислительных систем. Примерами ранних средств подобного рода могут служить системы поддержки спецификаций . Во многих из них использовались графические языки, которые в основном играли роль вспомогательного документа. Положение изменилось с внедрением средств 3. Разработанные инструменты сгладили семантический разрыв между рядом моделей предметной области и кодом, обеспечив непосредственное преобразование, как в прямом, так и в обратном направлении. Вспомогательные средства предназначены для повышения эффективности процессов, не связанных с непосредственной разработкой структуры программы, но, в то же время, сильно влияющих на качество и время разработки. Их специфика заключается в работе с уже готовыми программами, что позволяет в дальнейшем игнорировать их влияние на сам процесс разработки мобильных и эволюционно расширяемых параллельных программ, являющийся предметом исследований данной работы. Системы программирования это инструментальные средства, поддерживающие разработку программ для заданного виртуального исполнителя и их последующее автоматическое преобразование в программы реального исполнителя. Использование систем программирования позволяет решать задачу повышения эффективности процесса разработки ПО за счет сокрытия исполнителей более низкого уровня, являющихся реальными вычислительными системами.

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

28.06.2016

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

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

15.02.2015

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

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


Все новости

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