28
ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ ПРИКЛАДНЫХ ПРОГРАММ « Спасение утопающих, дело рук самих утоп ающих» Автор: Еремин Леонид Васильевич, доцент кафедры Информационные технологии

ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ ПРИКЛАДНЫХ ПРОГРАММ

  • Upload
    happy

  • View
    72

  • Download
    6

Embed Size (px)

DESCRIPTION

ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ ПРИКЛАДНЫХ ПРОГРАММ. « Спасение утопающих, дело рук самих утопающих» Автор: Еремин Леонид Васильевич, доцент кафедры - PowerPoint PPT Presentation

Citation preview

Page 1: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ

ПРИКЛАДНЫХ ПРОГРАММ

«Спасение утопающих, дело рук самих утопающих»

Автор: Еремин Леонид Васильевич, доцент кафедры

Информационные технологии Финансового университета при

Правительстве РФ

Page 2: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

• Успехи в развитии языков программирования в 60-70 годах прошлого века в были настолько впечатляющими и обнадеживающими, что в 1974 году в Стокгольме на VI конгрессе IFIP (International Federation for Information Processing) был даже провозглашен лозунг:

“Программирование без программистов

в 1980 г.".- Эпштейн В.Л. Проблемы автоматизации проектирования систем управления. В сб.: Автоматизация проектирования систем управления. Вып.1. Под ред. акад. В. А. Трапезникова, - М.: Статистика, 1978, стр. 12.

Page 3: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

Однако «кризис прикладного программирования» до сих пор остается проблемой №1 в “computer science”, несмотря на успехи развития технологий и языков программирования. Стало очевидным, что решение этой проблемы лежит в плоскости создания принципиально новых непроцедурных языков программирования языков постановки задач (PSL - problem statement language ), характеризующих лишь специфику требований конечного пользователя к их компьютерной реализации и позволяющих автоматизировать весь процесс перехода: от анализа исходного описания постановки задачи непосредственно к соответствующей прикладной компьютерной программе. (Л. Еремин. Роль специалистов управления в разрешении кризиса прикладного программирования. М.: Финансовая газета. Региональный выпуск, № 35, август, 2010, с. 16). В качестве одного из возможных вариантов такого подхода можно рассмотреть традиционную схему процесса проектирования прикладных программ:

Page 4: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

Принципиальная схема процесса разработки компьютерных программ для задач организационно-экономического управления:

• ЕЯ – естественный профессиональный язык (сленг) специалистов управления;

• ЯЭМО – язык экономико-математического описания вычислительной модели;

• ЯОА – язык описания алгоритма (алгоритмической схемы);• ЯП – язык программирования;• ЯЭВМ – внутренний язык вычислительной машины.

Page 5: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

“… в перспективе разработкой будет

заниматься не программист (человек, умеющий шаг за шагом

объяснять машине, как решать задачу), а

квалифицированный пользователь (( человек,

умеющий формулировать, что

ему нужно “на выходе”.

А. Евтюшкин. Рассуждения о технологической

платформе. ж. Банковские технологии, февраль, 1998, стр. 14-16.

Page 6: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

Достаточно близкое по идее направление рассматривалось и в передаче «Эволюция языков программирования»

http://archive.svoboda.org/programs/sc/2004/sc.012004.asp

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

Page 7: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

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

• Разработка системы генерации прикладных программ осуществлялась в ПНИЛ МО АСУ МЭСИ в рамках проекта «Латорица 2МВО»: «Исследование и разработка многоуровневой системы программирования, обеспечивающей моделирование и машинное проектирование систем обработки данных различных уровней».

• Проект «Латорица 2МВО» выполнялся в 1976 - 1980 гг. в рамках тематики Министерства высшего образования по заказу НИИАА (Научно-исследовательского института автоматической аппаратуры).

• Научным руководителем проекта был ректор МЭСИ, проф. В.В. Шураков.

Page 8: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

По инициативе ректора МЭСИ, в ноябре 1979 г. (в качестве демонстрации

отечественных достижений в области “computer-science”)

концепция системы проектирования прикладных

программ по запросам на естественном языке

обсуждалась на встрече с группой ведущих американских IT-

специалистов, возглавляемой проф. Д.Тайкроу

(D. Teichroew - один из авторов известного проекта ISDOS –

Information System Design and Optimization System).

Page 9: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

Стимулом же к развертыванию работ по созданию системы генерации прикладных программ послужил 5-летний опыт (в 1971 - 1975 гг.) «ручного» проектирования прикладных программ с использованием шаблонов, управляющих процессом формирования алгоритмов компьютерной реализации учетно-статистических задач. Вместе с тем, следует отметить, что идея управления проектированием прикладных алгоритмов посредством моделей была высказана еще в 1963 году двумя математиками: А. Чарнсом и У. Купером на симпозиуме в Кейсовском технологическом институте (США). В своем докладе они отметили целесообразность такой организации процесса компьютерного моделирования, при котором "… сама модель становится «метапрограммой» в том смысле, что она устанавливает общие правила для составления вычислительных алгоритмов…" (стр. 118, Чарнс А., Купер У. Модели условной экстремизации и их использование для оценки качества систем. // В сб. Общая теория систем. – М.: Мир, 1966)

Page 10: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

«Проекты, предлагающие программирование на естественном языке, гибельны по своей сути».

(Дейкстра Эдсгер Вибе)

Page 11: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

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

• В принципе идея использования шаблонов не является новой для сложившейся практики проектирования (и широко используется, например, при изготовлении обуви и одежды, в автомобиле-, авиа- и судостроении, в гражданском и промышленном строительстве и т.п.).

• В этом плане характерно, что особый вклад в распространение этой идеи среди разработчиков прикладных программ принадлежит американскому архитектору Кристоферу Александру, который составил набор шаблонов (“patterns”) для проектирования зданий и предложил язык шаблонов (“pattern language”) в качестве средства описания архитектурных решений.

Page 12: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

• Разработанная в МЭСИ концепция получила свое практическое подтверждение – в мае 1980 года на ЭВМ ЕС-1020 была осуществлена экспериментальная апробация системы, обеспечивающей генерацию уникальных прикладных ПЛ-программ по запросам на языке, близком к естественному профессиональному языку специалистов управления .

• Еремин Л.В. «К проблеме проектирования шаблонов процедур обработки данных при создании АСП СОД». Программное обеспечение АСУ. Сб. научных трудов. Вып.4., М.: МЭСИ, 1977, стр. 113-124.

• Еремин Л.В. «Характеристика языков двухуровневой системы машинного проектирования программ обработки учетно-статистической информации - «СИНТЕЗ». / Материалы семинара «Автоматизация проектирования». – М.: МДНТП им. Ф.Э. Дзержинского, 1981, с. 17-22.

• Еремин Л.В. «Исследование и разработка системы автоматизированного проектирования программ обработки учетно-статистической информации». Автореферат диссертации на соискание ученой степени кандидата экономических наук, – М.: МЭСИ, 1981, 24 с.

Page 13: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ
Page 14: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

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

Здания могут:• быть одно- или многоэтажными;• иметь жилое, офисное или смешанное назначение (в

последнем случае офисные помещения занимают нижние этажи здания, а последующие отводятся для жилья);

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

(прозванных в народе – «курьи ножки»);• завершаться стандартной крышей или крышей со смотровой,

либо вертолетной площадкой.

Page 15: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

• Очевидно количество возможных вариантов возводимых зданий (даже в рамках представленных ограничений – приближается к бесконечному множеству).

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

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

• Недаром, как отмечают американские специалисты: «Если у вас есть пакет прикладных программ, и вы устанавливаете его в 16 различных организациях, то при этом вы создаете 16 различных пакетов» (стр. 169., Громов Г.Р. Очерки информационной технологии. - М.: ИнфоАрт, 1993).

Page 16: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

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

зданийХарактеристики строящихся зданий:

N1 Количество этажей подземного паркинга

N2 Наличие несущих колонн-опор (да = 1, нет = 0)

N3 Количество этажей офисного назначения

N4 Количество жилых этажей

N5Стандартная крыша (0)Крыша с вертолетной площадкой (1)Крыша со смотровой площадкой (2)

Page 17: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ
Page 18: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ
Page 19: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ
Page 20: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

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

Page 21: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ
Page 22: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ
Page 23: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ
Page 24: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

Подготовка Инструкция на строительство здания:

- с 3-мя этажами подземного паркинга (N1 = 3);- на несущих колоннах-опорах (N2 = 1);- с 2-мя этажами офисного назначения (N3 =2);- с 24-мя этажами жилого назначения (N4 =24);- с крышей со смотровой площадкой (N5 =2);.

N1=3; N2=1; N3=2; N4=24; N5=2.

f (3; 1; 2; 24; 2)

Page 25: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

Задание на строительство зданияХарактеристики строящихся зданий:

N1 Количество этажей подземного паркинга

N2 Наличие несущих колонн-опор (да = 1, нет = 0)

N3 Количество этажей офисного назначения

N4 Количество жилых этажей

N5Стандартная крыша (0)Крыша с вертолетной площадкой (1)Крыша со смотровой площадкой (2)

3

1

2

24

2

Page 26: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

Начало

Бетонирование фундамента

Строительство 2-этажа

паркинга

Возведение несущих

колонн-опор

Строительство 1-этажа

паркинга

Строительство 3-этажа

паркинга

Строительство 2-офисного этажа

Строительство 1-офисного этажа

N4=0 ?

Строительствоi-жилого этажа

N4=N4-1

Установки смотровой площадки

Конец

N1=3-1

N1=3-2

N1=3-3

N2=1

N3=2-1

N3=2-2

N4>3

N4>3

N4>3

N5=2

да

нет

N1=3; N2=1; N3=2; N4=24; N5=2

Page 27: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

Возможные перспективы применения предлагаемой технологии (помимо автоматизации проектирования уникальных прикладных программных средств непосредственно по запросам пользователей-специалистов управления) – это автоматизация подготовки различного рода инструктивно-методических материалов: - руководства пользователей;- руководства оператора;- положения об организации и ее подразделениях;- должностные инструкции специалистов управления; - и т.п.,то есть всего того, что в настоящее время возлагается на «технического писателя».

Page 28: ШАБЛОНЫ КАК СРЕДСТВО АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ    ПРИКЛАДНЫХ  ПРОГРАММ

На этом мое сообщение заканчивается,

Благодарю за внимание!