Разработка и реализация методов потокового анализа распараллеливаемых программ в Преобразователе программ СБкЗ_ПП
Разработка представления методов потокового анализа распараллеливаемых программ, управляемых базой знаний; требования к системе; проект верхнего и нижнего уровней. Математическая модель и техническая документация программного средства; тестирование.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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