Институт системного программирования им. В.П. Иванникова РАН


Развитие теории программ и систем в СССР. История и современные теории программ и систем.

Авторы

Лаврищева Е.М.

Аннотация

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

На начальном этапе создания ЭВМ в СССР сформировались теории построения программ (А.А. Ляпунова, А.П. Ершова, Ю.И. Янова, Е.Л. Ющенко, Э.Х. Тыугу, Г. Буча, К. Джекобсона и др.) и систем АС, АСУ, АСНИ, АСУ ТП (В.М.Глушкова) [1-9]. Системы разрабатывались с помощью готовых элементов – программ и модулей, которые накапливались в Фондах алгоритмов и программ (1976-1992), а позднее в библиотеках и репозиториях систем международного сообщества.

Модулем считался программный элемент, который преобразует множество исходных данных X во множество выходных данных Y методом отображения M: X → Y. Система из модулей - это пара S = (T, χ), где Т – модель системы; χ – характеристическая функция, определяется на множестве вершин X графа модулей G. Две модульные системы S1 = (Т1, χ1) и S2 = (Т2, χ2) тождественны, если Т1 = Т2 и χ1 = χ2, а S1 и S2 являются изоморфными, если Т1 изоморфна Т2 и χ1 = χ2 [10].

Процесс разработки программ и систем из модулей постепенно становился регламентированным с помощью моделей жизненного цикла (ЖЦ) (водопадная, спиральная, интеграционная и др.) и стандартов ISO/IEC 12207 Life Cycle 1996 (2007), ISO/IEC 11404 – GDT 2007, ISO/IEC 9000 Quality SW и др. За рубежом сформировались новые формальные методы спецификации программ (VDM, RSL, Z, B и др.) [11, 12] и их доказательства (Флойд, Хоар, Дейкстра, Грисс и др.) [39, 40]. После модуля новым элементом программирования стал объект в ООП Г.Буча [13] и связанные с ним такие математические понятия, как класс, наследование, полиморфизм, инкапсуляция и др. Разработаны CASE-средства моделирования объектных систем (Rational Rose, UML, MDA, MDD, PIM, PSM, SOA и др.) [21].

Системы разрабатывались на основе характеристических моделей и готовых программных ресурсов (объектов, компонентов, сервисов и др.). Первые вариабельные модели систем и продуктов определены в Product Line/Product Family, GDM, Grid и др. [17-19]. Их основу составляет модель характеристик (Feature Model) и конфигурационная модель (CM) для сборки базовых артефактов и готовых ресурсов (reuses, assets, services и др.). В рамках Software Engineering Methods and Theory (SEMAT-2009) дана классификация дисциплин SE [20] и предложены перспективные теории и методы определения научных основ программирования для повышения уровня знаний и компетенции специалистов и магистрантов ВУЗов, готовящихся к производству программных, информационных и прикладных систем (http://www.semat.org).

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

Полный текст статьи в формате pdf

Издание

Сборник SORUCOM-2017.- Развитие ВТ в России и в странах бывшего СССР. История и перспективы. 3-5 октября 2017.-с.162-176.

Научная группа

Технологии программирования

Все публикации за 2017 год Все публикации