Перспективы развития ТП (но А. П. Ершову)

Академик А. П. Ершов выступил на конференции «Технология программирования» в 1986 г. Ниже приводится фрагмент его выступления[1].

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

Технологии и методологии — это всегда наука, в то время как метод входит в технологию составной частью.

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

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

Законченная ТП должна:

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

Пример достигнутой ТП на мировом уровне приведен фирмой IBM.

Ориентиром для развития ТП в советских условиях является статья А. П. Ершова в журнале «Программирование» (1986, № 3). В ней он говорит о трех поколениях интегральной промышленной ТП и ее перспективах.

«Первое поколение (организационное программирование) 1975—1985 гг.

ЯП не формализован. Переход от прототипа к программной версии не формализован.

ЯП — Фортран, Кобол, ПЛ/1, Ассемблер.

База знаний отсутствует.

Развитие продукта — версионнос.

Второе направление (сборочное программирование) 1985—1995 гг.

Язык спецификации регламентирован.

Переход от протопипа к промышленной версии регламентирован. Язык разработки — формализованный язык высокого уровня со средствами модуляризации.

ЯП объединен с языком разработки, допуская комплексирование с ассемблерными модулями...»

Третье направление (доказательное программирование) 1995—2005 гг.

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

ЯП объединен с языком разработки.

БД проекта машинизирована.

Применение ЭВМ в проекте — полное.

Развитие продукта — эволюционное — адаптивное.

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

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

Идеи академика А. П. Ершова получили широкое развитие в нашей стране и за рубежом. В 1995 г. созданы системы CORBA и UML. В CORBA реализован брокер ORB, который осуществляет сборку разноязыковых объектов и обработку обмениваемых данных.

На данный момент приведена конкретная реализация процесса сборки КПИ в системе .NET (Приложение 2)[2]. В ней показан процесс сборки и преобразования разных ТД. Процесс сборки используется в системах общего назначения (IBM, VS.Net, CORBA, Oberon и др.) в виде системных фабрик AppFab и коммерческих системах (ЕПАМ, ИБК и др.).

Контрольные вопросы и задания
  • 1. Дайте определение ТП.
  • 2. В чем суть ТП?
  • 3. Определите основы модульного программирования.
  • 4. Определите пути развития технологии систем, агрегатов.
  • 5. Определите смысл систем программирования с ЯП.
  • 6. Что такое синтез, сборка и композиция программ?
  • 7. Дайте определение технологии модульного проектирования.
  • 8. Определите тестирование модульных структур.
  • 9. Назовите виды тестирования программ, КПИ, агрегатов.
  • 10. Рассмотрите основы сборочного программирования.
  • 11. Опишите метод сборки модулей с использованием интерфейса.
  • 12. Какие виды программирования по А. П. Ершову вы знаете?
  • 13. Что такое доказательное программирование?

  • [1] Всесоюзная конференция ВПК1 «Программирование» (1968) и ВПК2 (1979). ТрудыВПК1, ВПК2.
  • [2] См.: Радецкий И. О. Один подход к обеспечению взаимодействия сред MS.Netи Eclipse // Проблемы программирования. 2011. № 2. С. 45—52.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >