Разработка и реализация методов потокового анализа распараллеливаемых программ в Преобразователе программ СБкЗ_ПП

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.04.2012
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Приложение 2. Таблица соответствий понятий

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

Dfdef

Фрагмент

Описание_одной_функции

Dpdef

Фрагмент

Описание_одного_параметра

Dvdef

Фрагмент

Описание_одной_переменной

Dfdefbody(Dfdefsch)

Фрагмент

Блок_описаний_функций

Dpdefbody(Dpdefsch)

Фрагмент

Блок_описаний_параметров

Dvdefbody(Dvdefsch)

Фрагмент

Блок_описаний_переменных

Dass

Фрагмент

Присваивание

Dinput

Фрагмент

Ввод

Doutput

Фрагмент

Вывод

Dbody

Фрагмент

Программный_блок

Dif

Фрагмент

Условный_оператор

Dfor

Фрагмент

Цикл_с_шагом

Dwhile

Фрагмент

Цикл_с_предусловием

Drepeat

Фрагмент

Цикл_с_постусловием

Dcall

Фрагмент

Вызов_процедуры

Ddispose

Фрагмент

Уничтожение_динамической_переменной

Dsch

Фрагмент

Последовательность_операторов

Dexpr

Фрагмент

Выражение

FragClass

Функция

Класс_фрагмента

Isline

Атрибут

Непрерывная_последовательность_фрагментов

TypeSet

Фрагменты_члены_последовательности

Parent_Level

Количество_фрагментов_предков

Result

Переменная_результат_функций

Prefix

Конструирование_новых_типов

IsPsevdo

Псевдопеременная

Value

Атрибут

Зарезервированные_значения_констант

(ссылка на область памяти)

ParDo

Гнездо циклов

A

Атрибут

Аргументное множество

R

Атрибут

Результатное множество

RR

Атрибут

Сильно_результатное_множество

Begin

Атрибут

Первый_элемент_последовательности

End

Атрибут

Последний_элемент_последовательности

Sch

Дуга

Дуга_последовательность_операторов

Parent

Дуга

Фрагмент_предок

Image

Атрибут

Обратная_польская_запись

IsArray

Атрибут

Результат_есть_массив

IsPointer

Атрибут

Результат_есть_указатель

IsRec

Атрибут

Функция_прямо_рекурсивна

IsEffects

Атрибут

Побочный_эффект

IsLValue

Атрибут

Адресное_выражение

Level

Уровень_вложенности

Priority

Приоритет_операции

Type

Атрибут

Тип

FormRefParam

Параметры_по_ссылке

Form_Val_Param

Параметры_по_значению

RefParam

Фактические_параметры_по_ссылке

ChangeRefParam

Изменяемые_фактические_параметры_по_ссылке

ValParam

Фактические_параметры_по_значению

OwnerFunc

Оператор_описания_функции

If

Если

Then

То

Else

Иначе

Cond

Условие_цикла

For

Начальная_граница_цикла

Until

Конечная_граница_цикла

Step

Шаг

Body

Тело

FDefbody

Дуга

Описание_функций

PDefbody

Описание_параметров

TDefbody

Описание_типов

VDefbody

Описание_переменных

Expr

Дуга

Выражение_справа

LvalueExpr

Дуга

Выражение_слева

Next

Следующий_элемент_последовательности

Param

Список_параметров

Id

Идентификатор

Def

Опеараторы_описания

Par

Счетчик_цикла

Left (IsLeft)

Атрибут

Тип_левой_части

LeftExpr

Атрибут

Левая_часть_выражения

Right (IsRight)

Атрибут

Тип_правой_части

RightExpr

Атрибут

Правая_часть_выражения

IsFunc

Атрибут

Является_функцией

IsVar

Атрибут

Переменная_не_параметр

Op

Символ_операции

ByValue

Передача_по_значению

Length

Количество_фрагментов

Name

Оригинальное_строковое_имя

LowBound

Атрибут

Нижняя_граница_массива

HighBound

Атрибут

Верхняя_граница_массива

Eval

Атрибут

Значение

Oper

Дуга

Оператор

El

Атрибут

Номер_элемента

Sim ()

Отношение

Подобие

Prec (<)

Отношение

Непосредственное предшествование

PrecN (<<)

Отношение

Предшествование

Submodel (<*)

Отношение

Являться_частью

SubmodelN (<**)

Отношение

Являться_подмоделью

SubmodelPrec (<*<)

Отношение

Предшествование_подмоделей

PointerValues

Атрибут

Значения_указателя

Conc

Отношение

Объединенная_последовательность

Pred

Отношение

Предшествующая_последовательность

Posl

Отношение

Следующая_последовательность

Between

Отношение

Промежуточная_последовательность

Main

Зарезервированные имена

Имя главной функции

Global

Зарезервированные имена

Идентификатор глобальной перемнной

Expr

Зарезервированные имена

Возможное значение атрибута IsLeft (Тип_левой_части)

Num

Зарезервированные имена

Возможное значение атрибута IsLeft (Тип_левой_части)

Call

Зарезервированные имена

Возможное значение атрибута IsLeft (Тип_левой_части)

Var

Зарезервированные имена

Возможное значение атрибута IsLeft (Тип_левой_части)

Type

Зарезервированные имена

Возможное значение атрибута IsLeft (Тип_левой_части)

Приложение 3. Синтаксис языка методов потокового анализа (расширенная БНФ)

1. <Метод потокового анализа> ::= “Метод_потокового_анализа” “(“ <Название метода> “)” <Блок объявления переменных> <Последовательность конструкций>

2. <Название метода> ::= <Строка>

3. <Строка> ::= <Буква> | <Строка> <Буква> | <Строка> <Цифра>

4. <Буква> ::= А | ... | Я | a | ... | я| - | _ |

5. <Цифра> ::= 0 | 1 … | 9

6. <Последовательность конструкций> ::= “{” [<Конструкция>] “}”

7. <Блок объявления переменных> ::= [<Объявление переменной>]

8. <Объявление переменной> ::= <Тип переменной> “:” (<Переменная-фрагмент> | <Переменная-атрибут> | <Переменная-дуга> | <Переменная-отношение> | <Переменная> [“,”] ) “;”

9. <Тип переменной> ::= “Переменная-фрагмент” | “Переменная-атрибут” | “ Переменная-дуга ” | “ Переменная-отношение ” | “Целое” | “Вещественное”

10. <Конструкция> ::= <Формула> | <Обход> | <Выбор> | <Цикл> | <Присваивание> | <Модификация программы>

11. <Формула> ::= <Формула над фрагментом> | <Формула над множеством> | <Логическая формула>

12. <Обход> ::= <Обход дерева программы> | <Обход дерева выражения>

13. <Выбор> ::= “Если” “(” <Логическая формула> ”)” “То” < Последовательность конструкций > [“Иначе” <Последовательность конструкций>]

14. <Цикл> ::= “Пока” <Условие> <Последовательность конструкций>

15. <Присваивание> ::= <Левая часть присваивания> “=” <Правая часть присваивания>

16. <Модификация программы> ::= <Создание фрагмента> | <Создание атрибута> | <Изменение атрибута> | <Создание дуги> | <Создание отношения> | <Создание переменной>

17. <Формула над фрагментом> ::= <Фрагмент по дуге> | <Атрибут фрагмента> | <Получить класс> | <Получить переменную выражения> | <Первый фрагмент по дуге из последовательности> | <Следующий фрагмент по дуге из последовательности>

18. <Фрагмент по дуге> ::= “Фрагмент_по_дуге” “(” <Переменная-фрагмент>, <Имя дуги>, <Переменная-фрагмент> “)”

19. <Атрибут фрагмента> ::= “Атрибут_фрагмента” “(” <Переменная-фрагмент>, <Имя атрибута>, <Переменная-атрибут> “)”

20. <Получить класс> ::= “Получить_класс” “(” <Переменная-фрагмент>, <Класс фрагмента>“)”

21. <Получить переменную выражения> ::= “Получить_переменную_выражения” “(” <Переменная-фрагмент>, <Переменная> “)”

22. <Первый фрагмент по дуге из последовательности>? ::= “Первый_фрагмент_по_дуге_из_последовательности” “(” <Переменная-фрагмент>, <Переменная-фрагмент > “)”

23. <Следующий фрагмент по дуге из последовательности?> ::= “Следующий_фрагмент_по_дуге_из_последовательности” “(” < Переменная-фрагмент >, < Переменная-фрагмент >, < Переменная-фрагмент > “)”

24. <Формула над множеством> ::= <Пересечение множеств> | <Объединение множеств> | <Равенство множеств>

25. <Пересечение множеств> ::= “Пересечение_множеств” “(” <Переменная-множество> <Переменная-множество> <Переменная-множество> “)”

26. <Объединение множеств> ::= “Объединение_множеств” “(” <Переменная-множество> <Переменная-множество> <Переменная-множество> “)”

27. <Равенство множеств> ::= “Равенство_множеств” “(” <Аргумент-множество> < Переменная-множество> <Булево множество> “)”

28. <Логическая формула> ::= <Терм логической формулы>

29. <Составная логическая формула> ::= <Терм логической формулы> <Знак логической операции> <Терм логической формулы>

30. <Терм логической формулы> ::= <Составная логическая формула> | <Булево множество> | <Равенство множеств> | <Класс фрагмента> | <Имя дуги> | <Переменная-фрагмент> | <Переменная-атрибут> | <Переменная-дуга> | <Переменная-отношение> | <Имя атрибута> | <Имя отношения> | <Переменная>

31. <Знак логической операции> ::= “>” | “<” | “>=” | “<=” | “<>” | “==” | “И” | “ИЛИ” | “НЕ”

32. <Обход дерева программы> ::= “Обход_дерева_программы” “(“ <Переменная-фрагмент>, <Переменная-фрагмент>, <Логическая формула> “)” <Последовательность конструкций>

33. <Обход дерева выражения> ::= “Обход_дерева_выражения” “(“ <Переменная-фрагмент>, <Переменная-фрагмент> “)” <Последовательность конструкций>

34. <Модификация программы> ::= <Создание фрагмента> | <Создание атрибута> | <Создание дуги> | <Создание отношения> | <Создание переменной>

35. <Создание фрагмента> ::= “Создать_фрагмент” “(“ <Переменная-фрагмент>, <Класс фрагмента> “;” <Переменная-фрагмент> “)”

36. <Создание атрибута> ::= “Создать_атрибут” “(“ <Переменная-фрагмент>, <Имя атрибута>, <Переменная-атрибут> “)”

37. <Создание дуги> ::= “Создать_дугу” “(“ <Переменная-фрагмент>, <Переменная-фрагмент>, <Имя дуги>, <Переменная-дуга> “)”

38. <Создание отношения> ::= “Создать_отношение” “(“ <Переменная-фрагмент>, <Переменная-фрагмент> [, <Переменная-фрагмент> <Переменная-отношение> “)”

39. <Значение> ::= <Целое> <Вещественное> <булево множество>

40. <Целое> ::= (<Цифра>)

41. <Вещественное> ::= (<Цифра>)[,(<Цифра>)]

42. <Присваивание> ::= <Левая часть присваивания> = < Правая часть присваивания >

43. <Левая часть присваивания> ::= <Переменная-фрагмент> | <Переменная-атрибут> | <Переменная-дуга> | < Переменная-отношение> | <Переменная>

44. <Правая часть присваивания> ::= <Переменная-фрагмент> | < Переменная-атрибут> | <Переменная-дуга> | < Переменная-отношение> | <Переменная> | <Значение> | <Арифметическое выражение>

45. <Арифметическое выражение> ::= <Терм арифметического выражения> <Знак арифметической операции> <Терм арифметического выражения>

46. <Знак арифметической операции> ::= “+” | “- ” | “* ” | “/ ” | “^”

47. <Класс фрагмента> ::= “Описание_переменной” | “Описание_функции” | “Описание_параметра” | “Описание_переменных” | “Описание_функций” | “Описание_параметров” | “Присваивание” | “Ввод” | “Вывод” | “Программный_блок” | “Условный_оператор” | “Цикл_с_шагом” | “Цикл_с_предусловием” | “Цикл_с_постусловием” | “Вызов_процедуры” | “Уничтожение_динамической_переменной” | “Выражение” | “Последовательность_операторов”

48. <Имя атрибута> ::= “Обратная_польская_запись” | “Результат_массив” | “Указатель” | “Функция_рекурсивна” | “Побочный_эффект” | “Ссылка_на_область_памяти” | “Уровень_вложенности” | “Приоритет” | “Тип” | “Параметры_по_ссылке” | “Параметры_по_значению” | “Фактические_параметры_по_ссылке” | “Изменяемые_фактические_параметры_по_ссылке” | “Фактические_параметры_по_значению” | “Аргументное_множество” | “Результатное_множество” | “Сильнорезультатное_множество” | “Оператор_описания_функции” | “Непрерывная_последовательность_фрагментов” | “Классы_фрагментов_последовательностей” | “Количество_фрагментов” | “Идентификатор_результата” | “Псевдопеременная” | “Конструирование_новых_типов” | “Леводопустимое выражение”

49. <Имя дуги> ::= “Если” | “То” | “Иначе” | “Условие_цикла” | “Для” | “До” | “Шаг” | “Тело_оператора” | “Блок_параметров” | “Блок_локальных_параметров” | “Блок_вложенных _функций” | “Выражение_справа” | “Выражение_слева” | “Первый_элемент_последовательности” | “Последний_элемент_последовательности” | “Дуга_последовательность_операторов” | “Сопоставляет_фрагменты” | “Следующий_фрагмент” | “Список_параметров”

50. <Имя отношения> ::= “Непосредственное_предшествование” | “Предшествование” | “Подобие” | “Являться_частью” | “Являться_подмоделью” | “Предшествование_подмоделей” | “Объединенная_последовательность” | “Промежуточная_последовательность” | “Предшествующая_последовательность” | “Следующая_последовательность”

51. <Булево множество> ::= “истина” | “ложь”

52. <Переменная> ::= <Строка>

53. <Переменная-множество> ::= <Строка>

54. <Переменная-фрагмент> ::= <Строка>

55. <Переменная-атрибут> ::= <Строка>

56. <Переменная-дуга> ::= <Строка>

57. <Переменная-отношение> ::= <Строка>

Размещено на Allbest.ru


Подобные документы

  • Анализ графических пользовательских интерфейсов современных систем оптимизации программ. Создание математической модели и алгоритма системы управления СБкЗ_ПП, ее архитектурно-контекстная диаграмма. Техническая документация программного средства.

    дипломная работа [1,1 M], добавлен 18.04.2012

  • Характеристика предприятия ТОО "Com Sales Group". Составление программ на языке программирования. Составление алгоритмов, разработка численных методов решения задач. Методы откладки программ. Анализ технологии машинной обработки экономической информации.

    отчет по практике [1,3 M], добавлен 19.04.2016

  • Создание приложения для контроля знаний студентов, программ-тестов, созданных с помощью пакета прикладных программ Microsoft Office. Основные требования к его структуре и функциональности, взаимосвязь компонентов. Составление и листинг программы.

    курсовая работа [900,3 K], добавлен 03.06.2014

  • Изучение составляющих этапов разработки программ, процесса их тестирования, отладки и документирования в контексте курса обучения начинающих программистов. Теоретический анализ постановки задачи и модели программы, создания текста, семантической отладки.

    курсовая работа [29,2 K], добавлен 28.11.2010

  • Проектирование программ в среде Рascal с интерфейсом типа "Меню". Разработка и отладка программы сортировки массива данных. Освоение методов проектирования Pascal-программ с использованием графических процедур и функций из стандартного модуля Graph.

    контрольная работа [581,1 K], добавлен 16.01.2015

  • Средства интегрированной среды Microsoft Visual Studio, предоставляемые программисту для реализации программ на языке С++. Особенности стиля написания программ. Типовые приемы и методы создания и отладки программ. Листинги программ и их тестирование.

    лабораторная работа [814,3 K], добавлен 26.05.2013

  • Первый прототип вируса. Идея создания самовоспроизводящихся программ. Разработка вирусоподобных программ. Основные признаки проявления вирусов. Классификация компьютерных вирусов. Рынок антивирусных программ. Основные виды антивирусных программ.

    презентация [1,8 M], добавлен 25.10.2012

  • Методы статического и динамического анализа зависимостей по данным для последовательных программ. Разработан и реализован алгоритм гибридного анализа, объединяющий достоинства обоих методов. Статическая библиотека представления базы данных САПФОР.

    дипломная работа [169,6 K], добавлен 21.11.2010

  • Использование операционных систем. Контрольно-испытательные методы анализа безопасности программного обеспечения. Логико-аналитические методы контроля безопасности программ и оценка технологической безопасности программ на базе метода Нельсона.

    контрольная работа [22,6 K], добавлен 04.06.2012

  • Обзор разнообразных методов теории линейных систем: методов корреляционного и регрессионного анализа, косинор-анализа. Особенности применения факторного анализа. Программная реализация метода главных компонент. Разработка нелинейных регрессионных моделей.

    дипломная работа [390,2 K], добавлен 03.09.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.