Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Евстифеев, Андрей Александрович

  • Евстифеев, Андрей Александрович
  • кандидат технических науккандидат технических наук
  • 2006, Москва
  • Специальность ВАК РФ05.13.11
  • Количество страниц 135
Евстифеев, Андрей Александрович. Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли: дис. кандидат технических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Москва. 2006. 135 с.

Оглавление диссертации кандидат технических наук Евстифеев, Андрей Александрович

Определения.

Список сокращений.

ВВЕДЕНИЕ.

1. Подходы к оценке эффективности программного обеспечения с промежуточным языком.

1.1. Анализ принципов выбора языков программирования, определение области их использования и основные показатели языков высокого уровня.

1.2. Существующие подходы к компиляции программного кода написанного на ЯВУ при разработке программного обеспечения.

1.3. Анализ языков программирования представленных на рынке информационных технологий.

1.4. Пути повышения эффективности проектирования программных систем с промежуточным языком.

1.5. Основные требования и стандарты разработки программных систем.

1.6. Выводы.

2. Технология построения промежуточного языка.

2.1. Принцип разработки программного обеспечения.

2.1.1 Выделение целевого класса и базового набора унифицируемых языков высокого уровня.

2.1.2 Унификация языков высокого уровня, включенных в базовый набор.

2.1.3 Разработка унифицированного единого транслятора программ.

2.2. Критерий полноты и оперативной проверки правильности ведения глоссария операторов.

2.3. Критерий требуемой разрядности операндов.

2.4. Методика формирования промежуточного языка.

2.5. Построение промежуточного языка.

2.6. Выводы.

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

3.1. Характеристики языков программирования.

3.2. Анализ существующих подходов к оценке затрат на программное обеспечение.

3.3. Характеристики промежуточных языков и определение их структуры.

3.4. Анализ связи характеристик промежуточного языка с затратами на разработку и эксплуатацию.

3.5. Оценка затрат на разработку, отладку и эксплуатацию программного обеспечения с применением компилирующего транслятора.

3.5.1.Оценка затрат на разработку программного обеспечения с применением компилирующего транслятора.

3.5.2. Оценка затрат на отладку программного обеспечения с применением компилирующего транслятора.

3.5.3.0ценка затрат на эксплуатацию программного обеспечения с применением компилирующего транслятора.

З.б.Оценка затрат на разработку, отладку и эксплуатацию программного обеспечения с применением промежуточного языка.

3.6.1.Оценка затрат на разработку программного обеспечения с применением промежуточного языка.

3.6.2.0ценка затрат на отладку программного обеспечения с применением промежуточного языка.

3.6.3.Оценка затрат на эксплуатацию программного обеспечения с применением промежуточного языка.

3.7.0ценки затрат на разработку программной системы с учетом различных технологий трансляторов.

3.7.1.Определение основных коэффициентов для проведения расчетов.

3.7.2.0ценка затрат на разработку программной системы.

3.8.Выводы.

4. Применение созданного промежуточного языка для реализации проектов газовой отрасли.

4.1. Результаты экспериментальных исследований внедрения Технологии диссертационной работы.

4.2.Сравнение характеристик программных систем разработанных с применением компилирующей технологии построения транслятора и транслятора построенного по предлагаемой Технологии.

4.3.0пределение границы применимости предлагаемой Технологии.

4.4.Выводы.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

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

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

С другой стороны, происходит постоянный рост производительности и состава вычислительных средств. По просьбам отдельных фирм-производителей в аппаратуру включаются дополнительные машинные команды, функциональность которых раньше реализовывалась программными средствами. В ряде случаев система машинных команд дополняется командами, выполняющими операции с расширенной функциональностью, что связано с появлением в аппаратуре специализированных функций. Примером такого расширения является дополнение процессоров фирмы Intel технологиями ММХ и ХММ. Для работы с этими аппаратурными расширениями, введенными в микропроцессор, было добавлено в общей сложности 172 новых машинных команды (66 команд для ММХ и 106 для ХММ)[14]. Существующие трансляторы для языков высокого уровня и средства разработки, как правило, не поддерживают машинные команды с расширенной функциональностью, поскольку на момент разработки транслятора эти команды отсутствовали.

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

В этом случае фирма-разработчик сталкивается с рядом проблем, обусловленных следующими факторами:

-специалисты, которые разрабатывали систему, уже не работают в данной области;

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

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

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

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

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

- Независимая трансляция модулей на разных входных языках в промежуточный код с последующим его исполнением на виртуальной машине под фиксированную программно-аппаратурную платформу. Примером данного подхода является платформа MS.NET с интегрированной средой разработки Visual Studio.NET и средой периода исполнения .NET Framework. К недостаткам данной платформы можно отнести ограниченный набор входных языков и реализацию среды периода исполнения только для операционной системы Windows. Платформа не поддерживает широко используемые при разработке информационно-аналитических систем газовой отрасли системы программирования Fortran, Pascal и др.

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

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

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

Для достижения поставленной цели в диссертационной работе решены следующие основные задачи:

- Проведен анализ функциональности языков высокого уровня и областей их применения;

- Определены требования к промежуточному языку программирования:

- Разработан метод построения глоссария операторов промежуточного языка;

- Определены критерии полноты глоссария операторов промежуточного языка и глубины детализации операндов;

- Разработана процедура формализованных подстановок генератора кода для промежуточного языка;

- На основе предложенного метода разработан промежуточный язык и прототип универсального компилятора для систем программирования С++ и Java;

- Определены показатели затрат на разработку программного обеспечения информационно-аналитических систем газовой отрасли и разработана методика их предпроектной оценки;

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

Методы исследования. При разработке использовались элементы комбинаторики и методы математической статистики.

Научная новизна. Научную новизну представляют следующие результаты диссертационной работы:

- Технология построения единого универсального транслятора множества входных языков высокого уровня, применяемых в промышленном программировании на промежуточный язык программирования;

- Метод построения глоссария операторов промежуточного языка;

- Критерии полноты глоссария операторов промежуточного языка и глубины детализации операндов;

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

Основные положения, выносимые на защиту:

- Технология построения единого универсального транслятора множества входных языков высокого уровня, применяемых в промышленном программировании на промежуточный язык программирования;

- Результаты экспериментальных исследований функциональности операторов языков высокого уровня;

- Метод построения глоссария операторов промежуточного языка;

- Критерии полноты глоссария операторов промежуточного языка и глубины детализации операндов;

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

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

Достоверность полученных результатов подтверждается применением предложенного метода при разработке прототипа универсального компилятора для систем программирования С++ и Java и его внедрения при разработке ПК «Разрешения» и сравнением оценок затрат на разработку, отладку и сопровождение проектов по разработанной методике и реальных затрат. Разность между предварительными оценками и реальными затратами не превышают 5%.

Реализация результатов и практическая ценность работы. Результаты работы применяются в ВНИИПромгаз ОАО «Промгаз» на этапах реализации, тестирования, модификации и эксплуатации программных систем. Результаты работы по теме диссертации использовались при выполнении научно-исследовательских работ по следующим темам:

- Договор с ОАО «Газпром» № 0300-02-2 от 03.01.2002 г, «Совершенствование системы ценообразования при проектировании, строительстве объектов газовой промышленности и научное сопровождение перехода отрасли на новую смет-но-нормативную базу»;

- Договор с ОАО «Газпром» № 0304-02-2 от 03.01.2002 г, «Создание системы управления распределением и поставками газа потребителям регионов РФ, информационное обеспечение принятия управленческих решений по совершенствованию внутреннего рынка газа»;

- Договор с ОАО «Газпром» № 0307-02-2 от 03.01.2002 г, «Разработка и внедрение научно-методических основ, нормативов и регламентов по проектированию, строительству и эксплуатации систем распределения и использования газа». Работа по данному договору удостоена отраслевой премии по науке ОАО «Газпром» за 2003 год.

Апробация работы. Основные результаты работы докладывались и получили одобрение на научной сессии МИФИ, проходившей в Московском Инженерно-физическом Институте (Государственном Университете) в феврале 2004 года.

Публикации. Основные положения диссертационного исследования опубликованы в монографии, 3 статьях и 3-х отчетах о научно-исследовательских работах.

1. Евстифеев А.А., Хетагуров Я.А. "Анализ затрат при создании вычислительных систем, связанных с выбором языка программирования". Научная сессия МИФИ

2004. Направление - Информатика. Секция -3, Информатика и процессы управления. Москва, МИФИ январь 2004.

2. Евстифеев А.А., "Предложения по оснащению котельных ОАО "Газпром" приборами учета, газоанализаторами и сигнализаторами горючих и токсичных газов". Научно-технический сборник « Отраслевая энергетика и проблемы энергоснабжения» приложение к журналу "Наука и техника в газовой промышленности", Москва 2004 апрель 2004

3. Евстифеев А.А., "Программный комплекс для анализа систем теплоснабжения предприятий ОАО "Газпром". Ежемесячный научно-технический и производственный журнал "Газовая промышленность", Москва ноябрь 2004 года.

4. Сторонский Н.М., Евстифеев А.А. Отчет о научно-исследовательской работе № 0300-02-2, «Развитие программного комплекса по результатам опытной эксплуатации и актуализация базы данных по вновь разработанным ГЭСН», Москва, ВНИИПромгаз, 2004.

5. Кисленко Н.А., Магдеев Р.А., Евстифеев А.А.Отчет о научно-исследовательской работе № 0304-02-2 этап №1 «Разработка информационной системы (ИС) анализа и прогноза использования топливно-энергетических ресурсов (ТЭР) по регионам РФ и по отраслям промышленности», Москва, ВНИИПромгаз, 2002.

6. Ярыгин Ю.Н., Магдеев Р.А., Евстифеев А.А. Отчет о научно-исследовательской работе № 0304-02-2 этап №3 «Научно-методическое и программное обеспечение разработки и внедрения отраслевой системы мониторинга, диагностики и управления газовым хозяйством ОАО «Газпром», Москва, ВНИИПромгаз, 2003.

Структура работы. Диссертация состоит из введения, четырех глав, заключения, списка использованных источников из 87 наименований и 2-х приложений и содержит 115 страниц машинописного текста без учета приложений.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Евстифеев, Андрей Александрович

4.4. Выводы

1) Результаты диссертационной работы внедрены:

• в Отрытом Акционерном Обществе «Промгаз» город Москва; предлагаемая технология, оформлена в виде методики, используется при разработке программных систем для обеспечения автоматизации деятельности предприятий газовой отрасли, в частности: о При разработке программного комплекса «Ведение и анализ разрешений на право использования природного газа в качестве топлива в газоисполь-зующих установках выданных с Министерством экономического развития Российской Федерации и администрациями субъектов федерации»; о При разработке программно-методического комплекса «Мониторинг уровня цен на строительные материалы, используемые при строительстве объектов газовой отрасли»;

2) Применение предлагаемой Технологии в программных продуктах позволило:

• Сократить трудоемкость процесса перехода с одного языка высокого уровня используемого при проектировании программных средств;

• Сократить затраты на проектирование программных средств путем снятия ограничения по квалификации персонала используемого при проектировании программных средств;

• Сокращение времени разработки программных систем за счет использования ранее реализованного и отлаженного программного кода;

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

ЗАКЛЮЧЕНИЕ

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

1) Определены требования к промежуточному языку программирования:

2) Разработан метод построения глоссария операторов промежуточного языка;

3) Определены критерии полноты глоссария операторов промежуточного языка и глубины детализации операндов;

4) Разработана процедура формализованных подстановок генератора кода для промежуточного языка;

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

6) На основе предложенной технологии разработан прототип универсального компилятора для систем программирования С++ и Java.

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

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

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

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

Список литературы диссертационного исследования кандидат технических наук Евстифеев, Андрей Александрович, 2006 год

1. Холстед М. Начало науки о программах. М.: Финансы и статистика, 1981. -128 с.

2. Хетагуров Я.А. Основы проектирования управляющих вычислительных систем М.: Радио и связь, 1991 - 287 с.

3. Рамбо Дж., Якобсон А., Буч Г. UML: специальный справочник. СПб.: Питер, 2002.-656 е.: ил.

4. Мацяшек, Лешек Анализ требований и проектирование систем. Разработка информационных систем с использованием UML. Пер. с англ. - М. : Издательский дом «Вильяме», 2002. - 432 е.: ил. - Парал. тит. англ.

5. Васютович В.В., С.С. Самотохин, Г.С. Никифоров. Регламентация жизненного цикла программных средств // М., Computerworld Россия, журнал «Директору информационной службы» № 07-08, 2000г.

6. ГОСТ 34.003-90 Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы. Термины и определения.

7. ГОСТ 34.601-90 Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы. Стадии создания АС.

8. ГОСТ 34.602-89 Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы. ТЗ на создание АС.

9. Калянов Г.Н. CASE. Структурный системный анализ (автоматизация и применение). М.: Лори, 1996г.

10. Международный стандарт ISO/IEC 12207. Первое издание 01.08.1995г.

11. Методические указания. РД 50-34.698-90 Требования к содержанию документов.

12. Скрипкин К.Г. Экономическая эффективность информационных систем -М.:ДМК Пресс, 2002г. 256с.: ил.

13. Black A., Wright P., Bachman S. In Search of Shareholder Value. London, Pitman Publishing, 1998.

14. Юров В.И. Assembler. Учебник для вузов. 2-е изд. СПб.: Питер, 2003. - 637 с.:ил.

15. Ахо А.В., Сети Р., Ульман Д.Д. Компиляторы: принципы, технологии и инструменты. : Пер. с англ. М.: Издательский дом «Вильяме», 2003. - 768 е.: ил. - Парал. тит. англ.

16. Пратт Т., Зелковиц М. Языки программирования: разработка и реализация / Под общей ред. А. Матросова. СПб.:Питер, 2002. - 688 с.:ил.

17. Kay A. Early History Of SmallTalk. ACM History of Programming Languages Conference II, Cambridge, MA (April 1993), 67-95.

18. IBM, The Man Behind FORTRAN, IBM Computing Report (2)4, November 1966, 7-10,19.

19. Griswold, R., String and List Processing in CNOBOL4: Techniques and Applications, Prentice-Hall, Englewood Cliffs, NJ (1975).

20. C.C. Камынин, Э.З. Любимский. Алгоритмический машинно-ориентированный язык АПМО // Сб. "Алгоритмы и алгоритмические языки". — Изд-во ВЦ АН СССР, — 1967. — вып.1.

21. И.В. Поттосин, А.Ф. Рар, В.Л. Катков. ЭПСИЛОН система автоматизации программирования для задач символьной обработки // Тр. 1-ой Всесоюзной конф. по программированию. — Киев, 1968.

22. А.Р. Ershov, A.F. Rar. SYGMA, a symbolic generator and macroassembler // In "Symbol manipulation languages and technique". — North-Holland Publ. Co., 1968.

23. Strassmann Paul A. Will Big Spending on Computers Guarantee Profitability? /Datamation, February, 1997.

24. Strassmann Paul A. The Value of Computers? Information and Knowledge / www.strassmann.com, 1996.

25. Доймлинг Ф., Силлеску Д. Язык программирования PostScript: Пер. с нем. -М.: Физматлит, 1993- 136 с.

26. Смешко Г.Л., Салтыков А.И. Программирование на языке Паскаль. М.: Наука, 1993-208с.

27. Майоров С.А. Электронные вычислительные машины (справочник по конструированию). М.: Советское Радио, 1975, 504 с с ил.

28. Международный стандарт ISO/IEC 12207. Первое издание 01.08.1995г.

29. Международный стандарт ISO/TR 10006:1997/ Первая редакция 15.12.1997г.

30. Maurice J. Bach The design of the unix operating system. Prentice-Hall, Bell Telephone Laboratories, 1986.

31. Bach, M.J., and S.J.Buroff, "Multiprocessor UNIX Systems", AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2, pp. 1733-1750.

32. UNIX Programmer's Manual, 4.2 Berkeley Software Distribution, Virtual VAX-11 Version, Computer Science Division, Department of Electrical Engineering and Computer Science, University of California at Berkeley, August 1983.

33. Bourne, S.R., "The UNIX Shell", The Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2, pp. 1971-1990.

34. Методика определения экономической эффективности автоматизированных систем управления предприятиями и производственными объединениями. -М.: Статистика, 1979.

35. Методика оценки экономической эффективности отраслевых автоматизированных систем управления (ОАСУ) в промышленных объединениях. М.: Экономика, 1976.

36. Neumann М. Smith В. Factor analysis // J. Royal Statistical Society. 1950. - Ser. B.-V. 12. -№ 1.

37. Schwidetzky I. Faktoren des Schadelbaus bei der Vorspanfschen Bevolkerung der Kanarischen Inseln // Homo. 1959. - V.10 -№4.

38. Методические рекомендации по оценке эффективности инвестиционных проектов: (вторая редакция). М.: Экономика, 2000-421 с.

39. Хетагуров Я.А., Гамазова Е.А. О некоторых количественных оценках языков программирования при проектировании ЦВМ // Вопросы радиоэлектроники. Сер. ЭВМ. 1983. - Вып. 7. - С. 7-19.

40. Липаев В. В., Потапов А.И. Оценка затрат на разработку программных средств. М.: Финансы и статистика, 1988. - 224 с.

41. Вильям Варна, Марек Омилиан Увеличение доходов компаний: экономическая эффективность использования Windows ХР Professional // Microsoft Corporation • One Microsoft Way • Redmond, WA 98052-6399 • USA 0302, март 2002 г.

42. Statement of Position ("SOP") 98-1, "Accounting for the Costs of Computer Software Developed or Obtained for Internal Use", www.bcclinc.ru/vc/nvse/report/1998/ncfseng.asp, март 1998 г.

43. Пол Мантер SOP 98-1. Учет затрат на разработку программного обеспечения, http://consulting.ru/econswp3035. 2003 г.

44. Карпов В.Э. Теория компиляторов. Учебное пособие — Московский государственный институт электроники и математики. М., 2001. 79 с

45. Википедия — свободная многоязычная энциклопедия. http://ru.wikipedia.org/wiki/, 2005 г.

46. Abrams, М. D., and Zelkowitz M.V., Belief in Correctness, National Computer Security Conference, Baltimore, MD (October, 1994), 132-141.

47. ACM Computing Surveys: Special Issue on Programming Language Paradigms (21) 3 (1989).

48. Formal Definition of the Ada Programming Language, Honeywell, Inc. (prelminary) (1980).

49. Adobe Systems Inc., Postscript Language Reference Manual, Addison-Wesley, Reading, MA (1990).

50. ANSI, American National Standard Programming Language COBOL, X3.23, ANSI, New York (1985).

51. ANSI, American National Standard Programming Language С, X3.159, ANSI, New York (1989).

52. ANSI, American National Standard Programming Language FORTRAN 90, X3.198, ANSI, New York (1990).

53. Appel, A. W., and MacQueen D. В., Standard ML of New Jersey, in Third International Symp. on Programming Language Implementation and Logic programming, M. Wirsing (Ed.), Springer-Verlag, New York (1991).

54. Brainerd, W.S., Goldberg C.H., and Adams J, C., Programmer's Guide to FORTRAN 90, McGraw-Hill, New York (1990).

55. Harbison, S. P., and Steele G. L, C: A Reference Manual, 4th edition, Prentice-Hall, Upper Saddle River, NJ (1995).

56. Wexelblat, R. (Ed,), History of Programming Languages, Academic Press, New York (1981).

57. Wirth, N., Recollections About the Development of Pascal, ACM History of Programming Languages Conference II, Cambridge, MA (April 1993) SIGPLAN Notices (28)3 (March 1993)., 333-342.

58. Jensen, K., and Wirth N., Pascal User Manual and Report, Springer-Verlag, New York (1974).

59. Ledgard, H., The American Pascal Standard with Annotations, Springer-Verlag, New York (1984).

60. Feuer A., and Gehani N., A Comparison of the Programming Languages С and Pascal, ACM Computing Surveys (14)1 (1982), 73-92.

61. Wirth, N., Programming in Modula-2, Springer-Verlag, Berlin (1988).

62. Whitaker, W. A., The Ada Project: The DOD Higher Order Language Working Group, ACM History of Programming Languages Conference II, Cambridge, MA (April 1993) SIGPLAN Notices (28)3 (March 1993)., 299-332.

63. Booch, G., Software Engineering with Ada, Benjamin/Cummings, Menlo-Park, CA (1983).

64. Lippman, S. В., С++ Primer, Third Edition, Addison-Wesley, Reading, MA (1998).

65. Pokl. I., С++ distilled: A Concise ANSI/ISO Reference and Style Guide, Addison-Wesley, Reading, MA (1996).

66. Stroustrup, В., The С++ programming language, Special Edition, Addison-Wesley,Reading, MA (1990).

67. McCarthy, J., LISP 1.5 Programmer's Manual, 2nd edition, MIT Press, Cambridge, MA (1961).

68. Steele, G., Common LISP: The Language, 2nd edition, Digital Press, Bedford, MA (1990).

69. Steele, G. L, and Gabriel R. P., The Evolution of LISP, ACM History of Programming Languages Conference II, Cambridge, MA (April 1993) SIGPLAN Notices (28)3 (March 1993)., 231-270.

70. Milner, R., Tofte M., and Harper R., The Definition of Standard ML, MIT Press, Cambridge, MA (1989).

71. UllmanJ. D., Elements of ML Programming, Prentice-Hall, Englewood Cliffs, NJ (1994).

72. Gosling J„ Joy В., Steele G., Bracha G., The Java ™ Language Specification Second Edition, Addison-Wesley, CA (2000).

73. Clocksin, W, F., and Mellish C. S., Programming in Prolog, Springer-Verlag, Berlin (1987).

74. Knuth, D. E„ The TEXbook, Addison-Wesley, Reading, MA (1984).

75. Kurtz, Т. E., BASIC, ACM History of Programming Languages Conference, Los Angeles, CA(1978) SIGPLAN Notices (13)8 (August 1978)., 103-118.

76. ГОСТ 28195-89 Оценка качества программных средств. Общие положения.

77. ГОСТ Р ИСО/МЭК 12119-2000 Информационная технология. Пакеты программ. Требования к качеству и тестирование.

78. ГОСТ 28806-90 Качество программных средств. Термины и определения.

79. Ремнев Анатолий «Программирование в средней школе», журнал «Инфо-Net», выпуск 2, 2005.

80. Укрупненные нормы времени на изготовление и сопровождение программных средств вычислительной техники, 1989 г.

81. Евстифеев А.А., Хетагуров Я.А. «Анализ затрат на создание программного обеспечения», М: МИФИ, 2004.

82. Евстифеев А.А. «Технология создания рациональных промежуточных языков программирования для разработки программного обеспечения», М.: ВНИИПромгаз, 2005.

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