на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Реферат: Андрей Петрович Ершов (1931-1988)


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

Для реальных приложений смешанных вычислений помимо, разумеется, необходимых свойств корректности и надежности важными оказываются их гибкость и глубина. И здесь Ершову и его ученикам удалось существенно продвинуться в исследованиях. Гибкость смешанных вычислений может быть заметно увеличена, если смешанный вычислитель будет при получении остаточной программы учитывать не только свойства данных иметь конкретное значение, но и более тонкие свойства, определяемые известными соотношениями между данными (предикаты над данными). В этом случае смешанный вычислитель оперирует с некоторой определенной на данных обстановкой. Глубина смешанных вычислений определяется схемой смешанных вычислений. Наряду со строгой схемой смешанных вычислений, введенной вначале, была определена поливариантная схема, связанная с продвижением смешанных вычислений в альтернативы, даже если выбор альтернатив не может быть определен при таком вычислении.

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

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

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

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

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

Заключают работы Ершова по теории программирования его публикации, посвященные понятию вычислимости. Сам он определяет эти работы как попытку синтеза взглядов на вычислимость, сложившихся как в математической логике, так и в теоретическом программировании. Так как понятие вычислимости является одним из главных как в той, так и в другой области и имеет фундаментальное значение для других программистских понятий, очевидно, что определение понятия вычислимости, абстрагированного от несущественных синтаксических или модельных понятий и вместе с тем вбирающего необходимые для теории и многочисленной практики сущности, является одной из главных задач, определяющих дальнейшее взаимовлияние математики и программирования. В фундаментальной работе «Проблемы программирования: Всесоюзная конференция в Новосибирске» (Вестник АН СССР, 1970, №6) проводится глубокий анализ большого числа определений вычислимости, сложившихся в указанных областях, их сопоставление и оценка вклада в общую теорию. На основании данного анализа Ершов нащупывает идею определения вычислимости: свести определение вычислимой функции к понятию детерминанта, т.е. того, что является инвариантным к различным способам задания вычислений. По-видимому, эти работы Ершова будут иметь такое же стимулирующее значение для исследований в данной области, как и его работы начала 70-х гг. для теории схем программ.

Проект АИСТ

Одной из важных заслуг Ершова перед отечественным и мировым программированием является то, что он умел оценить текущее состояние науки и практики и наметить те реальные точки роста и перспективы исследований, которые будут определять развитие программирования. Так, во второй половине 60-х гг. он одним из первых в стране осознал те новые возможности общения с ЭВМ, которые создают системы разделения времени. В 1966 г. он организует работы по автоматическим информационным станциям (проект АИСТ). Проект АИСТ, создателем и руководителем которого был А.П.Ершов, объединял широкий круг исследований по архитектуре вычислительных комплексов, их программному обеспечению и моделированию вычислительных систем. В рамках этого проекта была создана первая в стране развитая система разделения времени АИСТ-0, проект которой был предметом доклада на Конгрессе AFIPS 1967 г. («Входной язык системы автоматического программирования» предварительное сообщение — М.: ВЦ АН СССР, 1961), а итоговый доклад был сделан на 2-й Всесоюзной конференции по программированию в 1970 г. («Программирующая программа для машины» Третье Всесоюзное совещание по вычислительной математике и применению средств вычислительной техники, 1961). Реализованная на многомашинном комплексе из отечественных ЭВМ, эта система была во многом пионерской и внесла большой вклад в развитие отечественных работ по архитектуре ЭВМ и операционным системам, которые, к сожалению, были в дальнейшем заторможены ориентацией на копирование зарубежных разработок. Ряд таких свойств системы, как разделение в процессорах комплекса управления и обработки, иерархичность строения программного обеспечения, выделение ядра операционной системы, естественное сочетание различных режимов общения и обработки, обеспечили хорошую эффективность и гибкость системы.

Осмысливая опыт проекта АИСТ и других подобных работ у нас в стране и за рубежом в своем докладе на Конгрессе ИФИП-68, Ершов выдвигает несколько насущных тезисов: о специализации процессов в многопроцессорном комплексе для разделения времени, об универсальных и специализированных системах разделения времени и областях их применимости, о различии требований профессионалов и непрофессионалов в программировании к общению с системами разделения времени и о том аспекте систем, который впоследствии будет назван дружественностью к пользователю.

Опыт руководства такими большими проектами, как АЛЬФА и АИСТ, и работы в этих проектах дали Ершову осознание общих проблем программирования и создания программного обеспечения. В 1973 г. - появляется оказавшая большое влияние на развитие отечественных работ статья. В этой работе проводился глубокий и развернутый анализ как внешних свойств машин четвертого поколения, так и различных видов программных систем: операционных систем, систем программирования и их входных языков, специализированных систем обработки информации, в том числе пакетов прикладных программ (в работе дается классификация ППП, сохраняющая свою ценность и в наше время). Выделен ряд характерных систем обработки информации и определены их внешние и внутренние свойства. Очерчена общая модель операционной системы - так называемая базовая операционная система с концентрическим строением. Отмеченная в работе общность в реализации языков программирования, создании процессоров диалоговых языков и систем отображения хотя и не вылилась, как предполагал автор, в создание универсальных систем, но стимулировала работы по нахождению общей методологии создания таких систем (впрочем, некоторая ограниченная в своей универсальности многоязыковая транслирующая система на данной общности была построена - это система БЕТА, о которой говорилось выше).

Технологические проблемы

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

Ершов еще в 60-х гг. отстаивал точку зрения, что программирование, несмотря на интеллектуальность и творческий характер этого процесса, нуждается в организации и регламентации, наборе или системе соглашений и правил, не говоря уже об инструментальном обеспечении. Руководя и активно участвуя в больших программных проектах, Ершов с его пытливым умом не мог не задуматься над вопросом: "Как это делается?" Еще в работах по АЛЬФА и АИСТу он пишет о ряде организационных принципов и регламентирующих соглашений. Первой его работой, полностью посвященной технологии программирования, была статья («Об одном виде контакта человека с машиной»). Автоматизация мыслительных процессов» материалы научных семинаров по теоретическим и прикладным вопросам кибернетики, 1963.), она же была первой советской работой в этом возникшем в те годы новом направлении, и сам русский термин - технология программирования (software ingineering) - был предложен Ершовым. В соответствии с названием большая часть работы была посвящена собственно технологии трансляции. В ней рассматривались общие вопросы проектирования трансляторов: их структуры, системы технических процедур и пр., вопросы выбора методов реализации, вопросы организации отладки и документирования. Отдельно рассматривались проблемы автоматизации построения трансляторов и автоматизированного построения документации. Важной стороной работы было то, что проблемы технологии трансляции рассматривались в общем контексте технологии создания больших программных систем.

В ряде других работ Ершов исследует и развивает идеи технологии программирования. Им была предложена матричная организация коллектива разработчиков, внесен вклад в спецификацию этапов разработки, в том числе применительно к разработке трансляторов, проведен анализ реальной разработки (АЛЬФА-6) с точки зрения ее технологичности. В работе «Алгоритмические языки программирования» (Вестник АН СССР. —1968. — №3), написанной совместно с Г.Д.Чининым, определяется, как должен быть организован коллектив, ведущий разработку промышленных трансляторов, как должна решаться такая важная проблема, как преемственность и переиспользование разработанного программного обеспечения, как должен проходить и информационно обеспечиваться процесс разработки. Ориентированная на технологию трансляции, эта работа дает ряд хороших идей по технологиям промышленной разработки других видов программного обеспечения.

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

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

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

Мини- и микро- ЭВМ

Работа “An Experimental Automatic Information Station AIST-O» (AFIPS Conf. Proc., Atlantic City, April 18–20, 1967. — Washington; London: Acad. Press., 1966) оценивает с точки зрения применения средств вычислительной техники новый тогда феномен - появление мини - и микроЭВМ, прогнозирует те неограниченные возможности, которые они создают, выделяет те новые черты, которые характерны для программного обеспечения микроЭВМ: интегральность подхода к совместному проектированию оборудования и софтвера, специализированность программного обеспечения (ПО), его ориентация на использование непрофессионалами в программировании. Здесь же делается оправдавшийся впоследствии вывод о крайней важности для ПО этих ЭВМ проблем переноса и совместимости, а также намечаются возможные пути решения этих проблем. В одной из своих работ он справедливо отрицает выдвигавшийся некоторыми специалистами тезис о стабилизации положения в программировании и излагают активные точки роста - новые концепции в языках программирования, кристаллизация и фундаментализация понятий трансляции, переход от баз данных к базам знаний (в работе они называются "сложными" базами данных), появление инструментальных комплексов (что впоследствии с легкой руки "адистов" стало называться "окружением программирования"). Надо сказать, что прогноз Ершова полностью оправдался. Здесь же оценивается состояние теории программирования и ее соотношения с практикой, что весьма существенно для определения путей развития теории. Много в работе говорится об обучении программированию, о подготовке кадров - но об этой ее стороне скажем позднее.

Программирование – вторая грамотность

Ершов выявил и прояснил ряд существенных черт, свойственных программированию как науке и человеческой деятельности. Замечания и суждения Ершова по этому поводу разбросаны во многих его работах, но есть несколько широко известных его статей, многократно переведенных и изданных, которые целиком посвящены не научным или техническим проблемам программирования, а вопросам, что есть программирование как наука и деятельность, что есть программист как специалист специфического интеллектуального труда. Это такие работы, как "О человеческом и эстетическом факторах в программировании", "Программирование - вторая грамотность", "Два облика программирования" и др. В работе, посвященной памяти рано умершего талантливого программиста Г.И.Кожухина, содержится конструктивный анализ противоречий, возникающих между творческой природой программистского труда и необходимой для любых массовых профессий производственной его организацией. Главный тезис статьи: "Программирование обладает богатой, глубокой и своеобразной эстетикой, которая лежит в основе внутреннего отношения программиста к своей профессии, являясь источником интеллектуальной силы, ярких переживаний и глубокого удовлетворения. Корни этой эстетики лежат в творческой природе программирования, его трудности и общественной значимости". Статья полна глубоких суждений и замечаний, поясняющих этот тезис. В статье отмечается элитарность программистов и в то же время говорится о необходимости сделать искусство программирования общим достоянием.

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

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

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

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

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

Другие проекты

Ершов был инициатором и идейным руководителем и ряда других проектов, не упомянутых выше. Приведем в качестве примера такие проекты, как система программирования СЕТЛ для языка сверхвысокого уровня (языка спецификаций), профессиональная рабочая станция МРАМОР или школьная система программирования ШКОЛЬНИЦА. Хотя Ершов не был разработчиком в таких проектах и не участвовал в публикациях по ним, эти проекты питались его идеями и обсуждениями с ним.

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

Вывод

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

            Возможно, идея лексикона является одной из основных, оставленных нам Ершовым. Она может служить источником создания научных и методических основ программирования на десятки лет вперед. Многомерные значения – массивы и списки, содержащие сходные данные, были также придуманы и впервые реализованы научной группой Ершова. Им созданы такие языки программирования, как АЛЬФА, АЛЬФА-6 и БЕТА, он активно участвовал в создании Алгола и его вариаций. Нельзя не заметить, что наиболее распространенный учебный язык программирования – Паскаль и наиболее популярный язык среди профессионалов – Си и его модификации являются алголоподобными, т.е. за основу взяты принципы, используемые в Алголе.

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

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


Используемая литература:

1) http://thl.narod.ru/a/3.htm, без названия - около 10 декабря 2003г..

2) Архив академика Ершова, электронная версия http://ershov.iis.nsk.su/archive - около 10 декабря 2003г.:

           

            А) «Об одном методе обращения матриц» - доклад АН СССР, 1955г.

Б) «АЛЬФА-рождение, или как создавалась система автоматического программирования» - «За науку в Сибири», 1965.

В) статья Поттосина о Ершове

Г) «Операторные алгоритмы. Об операторных схемах Янова» - «Проблемы кибернетики», 1968.           

3) «Наука в Сибири», http://www.sbras.ru/HBC/2001/n25/f09.html , около 10 декабря 2003г.

4) «Советская Сибирь»,  http://www.sovsibir.ru/show.shtml?tp=day&nart=4718 , около 10 декабря 2003г.


Страницы: 1, 2


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

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


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.