Система автоматизированного проектирования оптимальных программных комплексов тема диссертации и автореферата по ВАК РФ 05.13.12, кандидат технических наук Томаев, Мурат Хасанбекович

  • Томаев, Мурат Хасанбекович
  • кандидат технических науккандидат технических наук
  • 2000, Владикавказ
  • Специальность ВАК РФ05.13.12
  • Количество страниц 145
Томаев, Мурат Хасанбекович. Система автоматизированного проектирования оптимальных программных комплексов: дис. кандидат технических наук: 05.13.12 - Системы автоматизации проектирования (по отраслям). Владикавказ. 2000. 145 с.

Оглавление диссертации кандидат технических наук Томаев, Мурат Хасанбекович

ВВЕДЕНИЕ.

Глава 1. Постановка задач проектирования оптимальных программных комплексов.

1.1 Условные обозначения, определения и допущения:.

1.2 Формальные постановки оптимизационных задач.

1.3 Оптимальное кэширование пользовательских файлов.

1.4 Объединение и декомпозиция моделей.

Глава 2. Случаи, допускающие применение эффективных процедур.

2 Л Минимизация нижней границы времени однократного зацикливания циклящихся процедур.

2.2 Минимизация нижней границы времени выполнения ветвящихся программных алгоритмов.

Глава 3. САПР ОПО: структура, алгоритмы, интерфейс.

3.1 Структура САПР и используемые алгоритмы.

3.2 Интерфейс САПР.;.

Глава 4. Постановка и результаты экспериментальной проверки САПР оптимальных программных комплексов.

Рекомендованный список диссертаций по специальности «Системы автоматизации проектирования (по отраслям)», 05.13.12 шифр ВАК

Введение диссертации (часть автореферата) на тему «Система автоматизированного проектирования оптимальных программных комплексов»

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

Затраты, связанные с переходом такого рода (приобретение новых технических и программных средств, обучение персонала работе с ними, сопряжение остающихся в эксплуатации программных средств с новыми и т.п.), имеют смысл только если реализация всех возможностей имеющихся в распоряжении пользователя вычислительных ресурсов не приводит к желаемым результатам.

Разработка новых ЭВМ, почти всегда, требует создания нового программного обеспечения к нему. Проектирование эффективных программных пакетов связано с большими затратами материальных ресурсов и занимает длительный период времени.

Первым шагом для исправления такой ситуации явилось создание операционных систем, предоставляющих разработчикам стандартный набор инструментов для непосредственного управления всеми ресурсами ЭВМ.

Один из способов повышения эффективности имеющихся в распоряжении пользователей вычислительных систем — это создание инструментальных средств, позволяющих модернизировать исходный программный код, с целью добиться оптимальной производительности при заданных ограничениях ресурсов аппаратных средств.

Использование системного программного обеспечения повысило эффективность эксплуатации используемых аппаратных средств, позволило значительно упростить разработку нового ПО, а также осуществлять тестирование различных узлов электронновычислительных комплексов. Таким образом, использование системного программного обеспечения позволило значительно сократить штат специалистов, осуществлявших контроль за техническим состоянием ЭВМ. Внедрение систем автоматизированного проектирования, позволило снизить стоимость разработки программного обеспечения.

Следующим важным шагом в развитии технологии проектирования программных продуктов явилось появление системного ПО, реализующего поддержку так называемой виртуальной памяти. Приложения, работающие в подобных системах, имеют доступ к адресному пространству, пределы которого теоретически не ограничены, а фактически определены лишь суммарным объемом всех накопительных устройств (в том числе ОЗУ, жесткие диски и другие виды накопителей), в отличие от традиционных систем, в которых адресация возможна лишь в пределах объема оперативной памяти. Задача операционной системы, реализующей поддержку виртуальной памяти -оптимальное использование имеющихся в ее распоряжении ресурсов оперативной памяти, в том числе кэширование данных при работе с дисковыми и иными накопителями, являющимися частью виртуальной памяти. Основной задачей программиста становится декомпозиция программы таким образом, что бы достичь оптимальной производительности при работе с массивами данных (файлами) и отдельными частями приложения, расположенными на внешних носителях. Успешное решение подобной задачи в большой степени зависит от навыков программиста.

Современные языки программирования высокого и среднего уровня содержат набор инструментов для редактирования, синтаксического контроля, отладки и тестирования программ, что позволяет уменьшить трудоемкость создания нового математического обеспечения. Наличие международных стандартов для большинства наиболее популярных трансляторов, позволило, в основном, решить проблему переноса программного обеспечения на различные аппаратные платформы.

Все методы оптимизации можно условно разделить на машинно-зависимые, машинно-независимые и универсальные.

Машинно-зависимые осуществляют преобразования, учитывая технические особенности конкретной ЭВМ, и являются наиболее полезными, если необходимо достичь эффективной работы приложения именно на конкретной аппаратной платформе. Однако при попытке переноса программного обеспечения, подвергшегося подобной оптимизации, на другие ЭВМ, эффективность подобного преобразования не является очевидной и, в некоторых случаях, потребует модификации кода для учета специфики нового оборудования. К примеру, в некоторых средах разработки компилятор автоматически модифицирует объектный код, временно размещая переменные, доступ к которым наиболее интенсивен, в определенных регистрах процессора.

Машинно-независимые методы осуществляют оптимизирующие преобразования только на основе анализа исходных текстов программ без учета особенностей функционирования узлов конкретной ЭВМ.

Многие современные автоматизированные системы разработки содержат инструменты, использующие подобные методы.

Основная идея первого - сокращение избыточного кода. К примеру, подобные средства автоматически объединяют блоки операторов, расположенных в теле последовательно расположенных операторов цикла с одинаковым числом итераций.

Второй подход заключается в замене оператора(выражения) или группы линейно расположенных операторов на аналогичный по своему действию оператор, но более эффективный в конкретно взятом случае. К примеру, следующее выражение на языке С требует двукратного обращения к одной и той же переменной X = Х+1;

- первый раз при вычислении значения выражения в правой части операции присваивания, а второй - для сохранения результата. Аналогичное выражение Х++; требует однократного доступа к переменной X - для осуществления операции инкремент. Причем в первом случае выполняется операция сложения, которая отнимает гораздо больше тактов процессорного времени, чем операция инкремент.

Для достижения максимальной скорости отдельных участков программы также применяется следующий способ: все функции, число обращений к которым невелико, переопределяются как макросы. Ускорение в этом случае достигается за счет сокращения времени на вызов функции и передачу возможных параметров через стек.

Если в качестве исходных данных к преобразованию принимаются отдельные участки программы без учета управляющей логики, связывающей их, то такую оптимизацию принято называть локальной. Если же целью модификации является оптимальная декомпозиция всего алгоритма, то методы её осуществляющие называют глобальными.

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

Целью работы является создание средств программной поддержки технологии проектирования оптимального программного обеспечения, способного эффективно использовать ресурсы применяемых вычислительных систем. Поскольку существуют различные цели оптимизации программного обеспечения, задачей работы является разработка средств программной поддержки, предназначенных для разработки программных единиц, гарантирующих: а) минимизацию верхней границы времени поиска решения прикладной задачи для конечных алгоритмов; б) минимизацию верхней границы объема используемой оперативной памяти при условии, что время счета не превысит некоторой заданной величины; в) минимизацию верхней границы времени однократного зацикливания для циклящихся процедур. Таким образом, реализация данной работы позволяет, за счёт более эффективного использования ресурсов применяемых вычислительных средств, создавать более эффективное программное обеспечение, обладающее высоким быстродействием и сравнительно невысокими требованиями к объёму используемой оперативной памяти. Реализация работы приведёт, следовательно, к снижению потребности в дорогих ЭВМ и. соответственно, снизит затраты на решение прикладных задач. Отсюда следует актуальность представленной работы.

Идея работы состоит в поиске оптимальной декомпозиции программных единиц и эффективного кэширования используемых файлов данных, что позволяет повысить производительность программного продукта при заданных ограничениях на ресурсы ЭВМ и выбранной модели оптимизирующего преобразования. В зависимости от стратегии оптимизации, выбор которой в большой степени зависит от человеческого фактора (оптимист - пессимист), используются эффективные процедуры для минимизации верхней или нижней границы времени выполнения приложения.

Моделирование процесса проектирования оптимальных программных единиц использует следующие модели теории игр: а) антагонистическую позиционную игру двух лиц с полной информацией; б) игру "с болваном". Для оптимального использования иерархической памяти ЭВМ применяются такие методы дискретного программирования, как методы типа ветвей и границ, динамическое программирование. Совмещение обоих подходов осуществляется сочетанием приведенных выше моделей с методами дихотомии и наименьших квадратов.

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

Предложены также научно обоснованные процедуры поиска оптимальной декомпозиции конечных и зацикленных алгоритмов для тех случаев, когда минимизируется нижняя граница времени счета выполнения программ, функционирующих в режиме CHAIN. На основе научно обоснованных методов оптимизации программного обеспечения реализована система автоматизированного проектирования оптимальных программных продуктов, которая позволяет автоматически модифицировать исходные тексты программных пакетов созданных на популярных языках высокого уровня (BASIC, Фортран, Паскаль) соответственно заданным критериям оптимизации. Разработанный программный продукт позволяет значительно упростить технологию создания эффективных программных продуктов 9

Внедрение САПР ОПО снижает стоимость разработки качественного программного обеспечения, позволяет повысить эффективность эксплуатации используемого парка ЭВМ, в полной мере задействовав ресурсы имеющихся электронно-вычислительных систем. Все это также позволит снизить расходы на приобретение нового, более производительного оборудования. В реализованной работе отсутствует привязка к какой-либо аппаратной платформе или к какому-либо системному программному обеспечению, что, очевидно, также расширяет возможности внедрения САПР ОПО.

Теоретические принципы оптимизации программных продуктов подробно изложены в трудах Гроппена В.О., Летичевского A.A., Касьянова В.Н., Левитина В.В. В представленной работе предлагаются новые более эффективные процедуры для поиска оптимальной декомпозиции конечных и зацикленных алгоритмов, функционирующих в режиме CHAIN, когда целью оптимизации является минимизация нижней границы времени выполнения программы. Решается задача практической реализации методов глобальной оптимизации применительно к некоторым популярным языкам программирования (Бейсик, Паскаль, Фортран).

Похожие диссертационные работы по специальности «Системы автоматизации проектирования (по отраслям)», 05.13.12 шифр ВАК

Заключение диссертации по теме «Системы автоматизации проектирования (по отраслям)», Томаев, Мурат Хасанбекович

ЗАКЛЮЧЕНИЕ

Одним из основных препятствий к широкому внедрению оптимизации при проектировании программных продуктов до последнего времени являлась трудоёмкость поиска оптимальных решений. Затраты времени, связанные с поиском оптимальной декомпозиции алгоритма пользователя и выбором оптимального размещения используемых им данных в памяти ЭВМ, как правило, во много раз превышали выигрыш, полученный при однократном использовании оптимального программного продукта. Достаточно аргументированным в этом случае являлось проектирование неоднократно используемых оптимальных программных продуктов со сравнительно слабо меняющимися исходными данными (подсистемы АСУ), либо программ, важность оптимальности которых, даже при однократном применении компенсирует трудоёмкость оптимизации (например, программное обеспечение систем наведения и распознавания целей).

Создание и широкое внедрение пакетов программной поддержки САПР оптимального программного обеспечения кардинально меняет ситуацию. Сокращаются затраты на создание практически любых программных продуктов и, одновременно, повышается качество последних, а более эффективное применение имеющихся ресурсов вычислительных систем позволяет сократить средства, используемые на их модернизацию. Таким образом, последствия внедрения предлагаемой технологии трудно переоценить.

Список литературы диссертационного исследования кандидат технических наук Томаев, Мурат Хасанбекович, 2000 год

1. Аллен Ф. Э. Методы определения информационных связей в программах//Теория программирования.— Новосибирск, 1972- Ч. 2-С. 136-144.

2. Ахо А„ Ульман Дж. Теория синтаксического анализа, перевода и компиляции,— М.: Мир, 1978.— Т. 2.-487 с.

3. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов.— М.: Мир, 1978,— 536 с.

4. Бабецкий Г. И., Бежанова М. М. и др. АЛЬФА-система автоматизации программирования.— Новосибирск: Наука, 1967-308 с.

5. Вальковский В. А., Касьянов В. Н. Крупноблочная сегментация и распараллеливание схем программ // Программирование.— 1976.— п". 1,—С. 16—25.

6. Ветров А. Г., Луцикович В. В. Система построения трансляторов ТУ. Основные принципы выполнения оптимизации транслируемых программ.— Препринт/ИПМ АН СССР,— М„ 1979-№33-15 с.

7. Гвозденко А. А„ Дзелинская А. А., Дзелинский А. М. Алгоритмы конкретизации выражений и чистки циклов в системе СКАТ //Проблемы теоретического и системного программирования.— Новосибирск, 1982.— С. 46—59.

8. Глушков В. М., Цейтлин Г. Е., Ющенко Е. Л. Алгебра. Языки программирования.— Киев: Наукова думка 1978.— 318 с.

9. Годлевский А. Б„ Кривой С. Л. Об оптимизации спроектированных методами «сверху-вниз» программ //Модели в системы обработки информации.— Киев: Вища школа, 1984.— Вып. 3.- С. 2532.

10. Горелик А. М. Средства оптимизации в новой версии трансляторов с языка Фортран.— Препринт/ИПМ АН СССР.— М„ 1979-№12-27 с.

11. Гроппен В.О., Томаев М.Х. Модели, алгоритмы и средства программной поддержки проектирования оптимальных программных продуктов //Автоматика и телемеханика. 2000.

12. Гроппен В.О. Оптимизация программного обеспечения ЭВМ на базе игровых моделей// Автоматика и телемеханика № 8, 1986 г., стр. 135-143.

13. Гроппен В.О., Томаев М.Х. Теоретические принципы проектирования оптимальных программных продуктов// Труды СКГТУ, вып.7 2000, Терек.

14. Гроппен В.О., Томаев М.Х. Технология оптимизации конечных алгоритмов //Научные труды аспирантов СКГТУ, Терек.

15. Гроппен В.О. Мазин В.В. Эффективная реализация одной стратегии взаимодействия внешней и оперативной памяти ЭВМ//Тезисы докладов XI всесоюзного совещания по проблемам управления. Ташкент, 1989 г. С. 202.

16. Гроппен В.О. Мазин В.В. Лавровский В.Л. Теоретические основы создания эффективного программного обеспечения ЭВМ// Тез. Докладов научно-технической конференции посвященной 60-летию СКГМИ, Владикавказ, 1991г. С.202-203.

17. Гроппен В.О. Принципы оптимизации программного обеспечения ЭВМ.// Изд. РГУ, Ростов-на-Дону, 1993 г.

18. Гроппен В.О. Эффективные стратегии использования кэшпамяти.// Автоматика и телемеханика № 1, 1993 г., с. 173-179.

19. Дзелинская А. А. Чистка циклов в крупноблочных схемах // Языки и системы программирования.— Новосибирск, 1981.- С. 6474.

20. Дюар Р. Б. К., Гранд А. и др. Сетл как инструмент построения качественного программного обеспечения //Создание качественного программного обеспечения.— Новосибирск. 1978-Т.2.-С.94-106.

21. Евстигнеев В. А. Применение теории графов в программировании. М.: Наука, 1985,- 351 с.

22. Ершов А. П. Сведение задачи экономии памяти при составлении программ к задаче раскраски вершин графов // Докл. АН СССР,— 1962— Т. 152, IV' 2— С. 785—787.

23. Ершов А. П. Об операторных схемах над общей и распределенной памятью // Кибернетика.— 1968.— № 4.— С. 63—71.

24. Ершов А. П. Универсальный программирующий процессор // Проблемы прикладной математики и механики.— М., 1971.— С. 103—116.

25. Ершов А. П. Аксиоматика распределения памяти//Тр. симпоз. «Теория языков и методы построения систем программирования».— Киев, 1972.— С. 3—21.

26. Ершов А. П. Современное состояние теории схем программ // Проблемы кибернетики.— М.: Наука, 1973.— Вып. 27.-С. 87110.

27. Ершов А. П. Введение в теоретическое программирование (беседа о методе).— М.: Наука, 1977.— 288 с.

28. Ершов А. П. Трансформационный подход в технологии программирования // Технология программирования. Тез. докл. 1 Всесоюзы, конф. Пленарные доклады и общие материалы.— Киев, 1979.— С. 12—26.

29. Ершов А. П. Смешанные вычисления: потенциальные применения и проблемы исследования //Методы математической логики в проблемах искусственного интеллекта. Систематическое программирование.— Вильнюс, 1980.— Ч. 2.— С. 26—55.

30. Ершов А. П. Комплексное развитие системного программного обеспечения — постановка проблемы.— Препринт // ВЦ СО ЛИ СССР,—Новосибирск, 1983,—№ 469.—38 с.

31. Ершов А. П„ Касьянов В. Н., Покровский С. Б. и др. Методика разработки многоязыковых трансляторов на примере системы БЕТА //Математическая теория и практика систем программного обеспечения.— Новосибирск, 1982.— С. 64— 80.

32. Ершов А. П., Курочкин В. М. О некоторых проблемах автоматического программирования //Тр. Всесоюз. совещ. по вычисл. математике и применению средств вычисл. техники.— Баку, 1961.— С. 72—80.

33. Ершов А. П., Сабельфельд В. К. Очерк схемной теории рекурсивных программ //Трансляция и модели программ.— Новосибирск, 1980,—С. 23—43.

34. Зима Е. В. Автоматическое построение систем рекуррентных соотношений // ЖВММФ.—1984,—Т. 24, № 12,—С. 1987— 1992.

35. Иткин В.Э. Критерий реализуемости схем над распределенной памятью // Кибернетика.— 1971.— № 1.— С. 143—145.

36. Касьянов В. Н. Анализ управляющих графов программ //Системное программирование.— Новосибирск, 1973.— Ч. 1.— а 13»-154.

37. Касьянов В. Н. К оценке частоты выполнения операторов и переходов в программе//Программирование.—1975.—М 5.— С. 64—72.

38. Касьянов В. Н. О нахождении аргументов и результатов операторов в схемах с косвенной адресацией // Программирование-— 1976—№1.с. 6—15.

39. Касьянов В. Н. К вопросу о реализации схем над распределенной памятью//Кибернетика.— 1977.—№ 1.— С. 63—68.

40. Касьянов В. Н. Практический подход к оптимизации программ. // Препринт /ВЦ СО АН СССР,—Новосибирск, 1978,— № 135— 43 с.

41. Касьянов В. Н. Разгрузка участков повторяемости.— Препринт/ВЦ СО АН СССР,—Новосибирск, 1979,—№ 178,—26 с.

42. Касьянов В. Н. Анализ структур программ //Кибернетика.-1980.- № 1,- С. 48-61.

43. Касьянов В. Н. Смешанные вычисления и оптимизация программ // Кибернетика,— 1980,— № 2,— С. 51—54.

44. Касьянов В. Н. Перераспределение памяти в крупноблочных программах //Трансляция и модели программ.— Новосибирск, 1980.— С. 81—93.

45. Касьянов В. Н. Свободные интерпретации крупноблочных схем // Теоретические основы компиляции.— Новосибирск, 1980,— С. 24—36.

46. Касьянов В. Н. К обоснованию алгоритмов преобразования крупноблочных программ //Программирование.—1981.— № 3.- С. 16-25.

47. Касьянов В. Н. Вопросы конкретизации программ //Проблемы системного и теоретического программирования.— Новосибирск, 1982,—С. 35—45.

48. Касьянов В. Н. Быстрый алгоритм выделения максимальных линейных участков в программе //Математическая теория и практика систем программного обеспечения.— Новосибирск, 1982.— С. 81—87.

49. Касьянов В. Н. Редуцирующие преобразования программ //Трансляция и оптимизация программ.— Новосибирск, 1983.— С. 86-98.

50. Касьянов В. Н. Спецификация контекста для редукции программ //Проблемы системного я теоретического программирования.—Новосибирск, 1984.—С. 3—14.

51. Касьянов В. Н. Эквивалентные преобразования линейных участков программ //Трансляция и преобразования программ.— Новосибирск, 1984,—С. 56—61.

52. Касьянов В. Н. Введение в теорию оптимизации программ.— Новосибирск, 1985.— 259 с.

53. Касьянов В. Н. Учет априорной информации при анализе свойств состояний программ //Математическая теория программирования.—Новосибирск, 1985.—С. 150—158.

54. Касьянов В. Н., Поттосин И .В. Применение методов оптимизации к проверке правильности программ //Создание качественного программного обеспечения.— Новосибирск, 1978.-7. 1.-С. 225-237.

55. Котов В. Е. Введение в теорию схем программ.//Новосибирск: Наука, 1978,— 258 с.

56. Кривой С. Л. Об одном алгоритме поиска инвариантных соотношений в программах //Кибернетика.—1981.— № 5.— С. 12-18.

57. Лавров С. С. Об экономии памяти в вамкнутых операторных схемах //ЖВММФ- 1961,- Т. 1, № 4,- С. 687—701.

58. Левитин В. В. Реализация оптимизирующего транслятора с языка Паскаль для ЕС ЭВМ.—Препринт/ОНТИ НЦБИ АН СССР,— Пущине, 1982,— 16 с.

59. Летичевский А. А. Эквивалентность и оптимизация программ // Теория программирования.— Новосибирск. 1972.— Ч. 1—С. 166180.

60. Летичевский А. А. Об одном подходе к анализу программ // Кибернетика,— 1979,— № 6,— С. 1—8.

61. Любимский Э. 3. О формальной постановке вадачи реализации циклов // Программирование.— 1979.— № 5.— С. 3—10.

62. Любимский Э. 3., Миташюнас А. Ю. О задаче реализации составных циклов //Программирование.— 1981.— № 1.

63. Мартынюк В. В. Выделение цепей в схемах алгоритмов // ЖВММФ— 1961.— Т. 1, № 1.— С. 151—162.

64. Мартынюк В. В. Об экономном распределении памяти// ЖВММФ,- 1962,- Т. 2, № 3,- С. 445-458.

65. Мартынюк В. В. Об анализе графа переходов для операторной схемы //ЖВММФ.— 1965.- Т. 5.- № 2,- С. 298-310.

66. Миташюнас А. Ю., Тарасов В. В. Об одном свойстве реализации циклов специального вида //Программирование,— 1980.— № 1,—С. 3—10.

67. Непомнящий В.А., Дехтярь М.И. Математическая теория программирования. Обзор зарубежных работ.— Препринт//ВЦ СО АН СССР,—Новосибирск, 1982,—№ 341,—52 с.

68. Оптимизация и преобразования программ.// Материалы Всесоюзного семинара.— Ч. 1, 2.— Новосибирск, 1983.

69. Островский В. В. Формальное исследование алгоритмов реализации циклов оптимизирующими трансляторами. Авто-реф. дис. на соискание учен. степ. канд. физ.-мат. наук.— М.: МГУ, 1983.-16 с.

70. Поддерюгин В. Д. Программа контроля для «СТРЕЛЫ-3» (луч).- М.: ВЦ АН СССР-1960.- 23 с

71. Поттосин И. В. Оптимизирующие преобразования и их последовательность // Системное программирование.— Новосибирск, 1973,—4.t.—С. 128—137.

72. Поттосин И. В. Глобальная оптимизация, практический подход // Тр. Всесоюз. симпоз. по методам реализации новых алгоритмических языков.—Новосибирск, 1975.—Ч. 1.—С. 113— 128.

73. Поттосин И. В. О роли и методах оптимизации программ // Перспективы развития в системном и теоретическом программ мировании,—Новосибирск, 1978.—С.

74. Поттосин И. В. К обоснованию алгоритмов оптимизации программ // Программирование.— 1979.— № 2.— С. 3—13.

75. Поттосин И. В. Направление преобразования линейного участка //Языки системы программирования.— Новосибирск, 1981.— С. 47—63.

76. Поттосин И. В. О математических моделях программ, ориентированных па оптимизацию программ //Mathematical methods in in-formatic.— Varna, 1981.— P. 1—24.

77. Поттосин И. В. Возможности оптимизации программ и перспективы ее развития //Актуальные проблемы развития архитектуры и программного обеспечения ЭВМ и вычислительных сетей,— Новосибирск. 1983.— С. 793—796.

78. С абельфельд В.К. Реализация процедур в многоязыковом трансляторе //Тр. Всесоюз, спмпоз. по методам реализации новых алгоритмических языков.— Новосибирск, 1975,— Ч. 1.— С. 129— 143.

79. Томаев М.Х. Средства программной поддержки САПР оптимальных программных продуктов //Труды СКГТУ, вып.7 2000, Терек.

80. Томаев М.Х. Создание оптимального программного обеспечения //Научные труды аспирантов СКГТУ, Терек.

81. Уичман Б. А. Оптимизация //Мобильность программного обеспечения,—М.: Мир, 1980,—С. 172—183.

82. Ходулев А. Б. Реализация глобального оптимизатора Фортран-программ,—Препринт/ИПМ АН СССР,—М., 1982.— № 92.— 27 с.

83. Ходулев А. Б. Исследование возможностей оптимизации программ на языке фортран: Автореф. дис. на соискание учен. степ, канд. физ.-мат. наук,—М.: ИПМ АН СССР, 1984.—20 с.

84. Черноброд Л.В. Оптимизация теоретико-множественных операций в языке СЕТЛ //Системное и теоретическое программирование,— Новосибирск, 1973.— С. 33—38.

85. Штаркман Вик. С. Исследование методов локальной оптимизации и их реализация в трансляторе с расширенного фортрана (фо-рекс): Автореф. дис. на соискание учен. степ. канд. физ.-мат. наук,— М.: ИПМ АН СССР, 1981.

86. Шура-Бура М. Р., Любимский Э. 3. Транслятор Алгол-60 // ЖВММФ—1964.-Т. 4, № I—С. 96—112.

87. Alien F. E. Program optimization // Ann. Rev. Automat. Program.— 1969,- V. 5,- P. 239-307.

88. Alien F. E. Control Flow Analysis //SIGPLAN Notices.— 1970.— V. 5, № 7,—P. 1—19.

89. Alien F. E. A basis for program optimization //Proc. IFIP Congress 71.—Amsterdam, 1971.—V. 1,—P. 385—390.

90. Alien F. E., Carter J. L. et al. The experimental compiling system //IBM J. Res. and Develop.—1980,—V. 24, №6,— P. 697—715.

91. Babich W. A„ Jazayeri M. The method of attributes for data flow analysis: P. 1. Exhaustive analysis//Acta Inform.— 1978.—V. 10, №3.—P. 245—264; II. Demand analysis—Acta Inform.- 1978,- V. 10, № 3.- P. 265-272.

92. Bauer F. L., Berghammer R., Broy M. et al. The Munich Project CIP //Lecture Notes in Computer Science.—1985,— V. 183.— 275 p.

93. Boyle D., Mundy R., Spence T. M. Optimization and code generation in a compiler for several machine // IBM J. Res. and Develop.— 1980,— V. 24, № 6.— P. 677—683.

94. Busam V. A„ Englund D. E. Optimization of expressions in FORTRAN // Comm. ACM—1969,— V. 12, № 2,— P. 666-674.

95. Cocke J. Global common subexpression elimination // SIGPLAN Notices.- 1970,- V. 5, № 7,- P. 20-24.

96. Cocke J., Kennedy K. An algorithm for reduction of operator strength // Comm. ACM.— 1977,—V. 20, №11 .—P. 850—855.

97. Earley J. High level iterators and a method of data structure choice // J. Comput. Languages.—1975,— V. I, № 4,— P. 321-342.

98. Earnest C. P. Some topics in code optimization // J. ACM,— 1974— V. 21, № 1,— P. 76—102.84

99. Earnest C. P., Baike K. G., Anderson J. Analysis of graphs by ordering of nodes//. ACM.—1972,—V. 19, № 1,—P. 23—42.

100. Faiman R. N„ Jr., Kortesoja A. A. An optimizing Pascal compiler// IEEE Trans, on Software Eng.—1980.— V. 6, № 5— P. 506—511.

101. Fong A. C. Elimination of common subexpressions in very high level languages // Proc. of 4th ACM Symp. on Principles of Program. Languages.— Los Angeles, 1977.— P. 48—57.

102. Fong A., Ullman J. D. Finding the depth of a flow graph // J. Corn-put. and System. Sei.—1977,— V. 15, № 4,— P. 300-309.

103. Groppen V.O. Software optimization by game models //14-th IFIP Conference on System modeling and Optimization. Leipzig, Germany, July 3-7, 1989, p.5-6.

104. Groppen V.O. Models and algorithms of software optimization. //1-st IFAC Workshop on Modeling and Architectures for real-time Control. Abstracts. 11-13 September, 1991, Bangor, North Wales, United Kingdom, p. 46-47.

105. Groppen V.O. Expert systems for computer memory optimal control. // IFAC Workshop on Safety, Reliability and Applications of Emerging Intelligent Control Technologies. Hong Kong, 12-14 December 1994 , p. 226-228.

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.