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

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

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

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

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

Год защиты: 2010

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

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

Артикул: 4902174

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

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

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

Содержание
Содержание
Введение
1 Анализ методов эволюционного конструирования понятий.
1.1 Обзор общих методов трансформации понятии
1.2 Трансформация понятий при эволюционной разработке программного обеспечения
1.3 Модель трансформации понятий.
1.4 Пример фаз преобразования программы
1.5 Модификация понятий в процессе трансформации исходной программы
1.6 Модель зависимостей понятий
1.7 Графическое представление модели зависимости понятий.
1.8 Описание элементов модели зависимостей понятий.
1.9 Описание исходных зависимостей для различных парадигм программирования.
1. Выводы
2 Анализ методов реализации эволюционного конструирования модульной структуры программы
2.1 Существующие методы организации модульных структур.
2.1.1 Модульное программирование.
2.1.2 Модульность в немодульных языках.
2.2 Трансформация понятий в модульных программах.
2.2.1 Трансформация понятий в языках программирования Оберон и Оберон2.
2.2.2 Трансформация понятий в языке программирования М.
2.3 Особенности применения подключаемых модулей
2.4 Анализ трансформации понятий процедурнопараметрической программы на основе подключаемых модулей
2.4.1 Использование общего промежуточного представления.
2.4.2 Использование раздельной обработки
2.4.3 Использование динамически загружаемых модулей.
2.5 Комбинированные методы организации фаз трансляции процедурнопараметрической программы.
2.6 Выводы
3 Реализация процедурнопараметрического подхода при использовании подключаемых модулей
3.1 Трансформация понятий процедурнопараметрической программы в языке i.
3.2 Трансформация модульной структуры.
3.3 Трансформация параметрических обобщений.
3.4 Трансформация обобщенных записей
3.5 Трансформация обобщающих параметрических процедур и обработчиков специализаций
3.6 Результирующая модель зависимостей
3.7 Выводы
4 Разработка процедурнопараметрического языка, использующего подключаемые модули.
4.1 Инструментальная поддержка процедурнопараметрического языка
4.1.1 Транслятор с языка i
4.1.2 Компоновщик параметрических отношений.
4.2 Объектная модель транслятора
4.2.1 Объекты транслятора.
4.2.2 Промежуточная модель
4.2.3 Xпредставление
4.3 Организация массивов
4.3.1 Обычные массивы.
4.3.2 Открытые массивы
4.4 Выводы
Заключение
Список использованных источников


Вместе с тем следует отметить, что методы разработки программного обеспечения постоянно расширяются, обеспечивая инструментальную поддержку новых критериев. Многообразие существующих стилей программирования порождает интерес к исследованию того, какие методы и приемы используются для конструирования программных объектов в каждой из существующих парадигм программирования. В общем случае под программным объектом понимается любая конструкция, независимо от ее семантического значения. Понятие программного объекта различается в разных парадигмах и языках программирования. В процедурном подходе к ним относятся процедуры, абстрактные типы данных, переменные. В объектно-ориентированной парадигме основным программным объектом является класс, используемый для порождения экземпляров (собственно объектов). В функциональной парадигме программирования в качестве основного программного объекта используется функция []. Разработка программного обеспечения зачастую опирается на методы и подходы, при которых виды программных объектов, применяемые при создании исходных текстов, сильно отличаются ог тех, которые используются в окончательном исполняемом коде. Во многом это определяется семантическим разрывом, существующим между парадигмами программирования и реальным исполнителем компьютерных программ, базирующимся в настоящее время на фон-неймановской архитектуре []. В интерпретируемых языках программирования этот разрыв в основном ликвидируется за счет формирования промежуточной виртуальной машины, структура программных объектов которой- во многом соответствует концептуальным понятиям исходного языка. Однако при использовании компиляции процесс интерпретации исходных понятий заменяется на их поэтапную трансформацию в программные объекты, используемые в реальном исполнителе программ. Подобная трансформация может протекать на различных фазах трансляции исходного текста и на конечном этапе отображается в исполняемом коде, структура и семантика понятий которого может значительно отличаться от исходного текста программы. Подобное изменение затрагивает не только эволюционно расширяемые, но и другие программы. Изучение этого процесса позволяет глубже понять механизмы и методы, используемые при эволюционной разработке программного обеспечения. Трансформация программных объектов начала осуществляться с появлением первых символических языков программирования и их трансляторов. В меньшей степени она затрагивала первые ассемблеры, в которых каждая символическая инструкция однозначно отображалась в соответствующую машинную команду. Современные ассемблеры, впитали многие достижения из языков программирования высокого уровня, включая абстракцию данных и представление классов, что еще больше увеличило разрыв между исходным текстом и исполняемым кодом [, ]. Однако большинство этих преобразований первоначально отрабатывались на языках программирования высокого уровня (ЯПВУ). В, первых ЯГТВУ, таких как Фортран [, ] и Алгол [, ], делался акцент на повышение мощности операторов и выражений; сокращающих, по сравнению с машинным кодом, размер записываемого алгоритма. Обрабатываемые данные в основном записывались с использованием базового типа. Другим фактором, способствующим сокращению размера программы, являлось использование статического полиморфизма на уровне операций, что обеспечивало автоматическую трансформацию в нужные машинные команды таких операций, как сложение, вычитание и т. Появление абстрактных типов данных позволило использовать сокращенное представление для описания идентичных переменных []. Идентичность переменных, создаваемых пользователем, стала определяться по имени типа, а при генерации кода происходила трансформация абстрактного понятия и его разыменование с подменой на неконтролируемое обращение к выделяемым областям памяти, представляющим ранее описанные переменные. Таким образом, надежный контроль типов на этапе написания программы заменялся на неконтролируемый исполняемый код без какого-либо участия программиста, надежность которого определялась надежностью компилятора.

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

28.06.2016

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

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

15.02.2015

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

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


Все новости

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