О PCO

Здесь описывается научная деятельность, осуществляемая Лабораторией Конструирования и Оптимизации Программ Института Систем Информатики (ИСИ) Сибирского Отделения Российской (СО) Академии Наук (РАН) и образовательная программа членов этой лаборатории.

Как независимый и автономный институт Сибирского Отделения, ИСИ существует с 1990 г. Не смотря на это, как научная школа, заинтересованная фундаментальными и прикладными аспектами системной информатики, он существовал уже два десятилетия прежде этого как отдел Вычислительного Центра Сибирского Отделения Российской Академии Наук.

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

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

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

В 1979 г. научно-исследовательская группа «Теория и методы компиляции», возглавляемая В. Н. Касьяновым, была организована как лаборатория по инициативе Ершова. Группа была занята созданием теоретической базы и экспериментальных систем для создания качественных программ методами семантических преобразований.

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

Параллельно с этим, некоторые экпериментальные и прикладные проекты по валидации теоретических концепций и методов были созданы сотрудниками этой группы: универсальный оптимизатор мультиязычной системы BETA, конкретизатор TRAP, и система конкретизации SKAT для аннотированных FORTRAN-программ, трансформационная машина TM для Pascal-программ и системы для статического семантического анализа аннотированных Modula и Fortran — программ.

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

Группа школы информатики была основана А. П.  Ершовым в Лаборатории Экспериментальной Информатики Компьютерного Центра в 1975 г. , когда школьный курс  «Основания Информатики и техника вычислений» был задуман. Школьники, выпустившиеся из Летней Школы Юных Программистов, основанной в 1967 г. А. П. Ершовым принимали участие в деятельности этой группы.

Когда Г. А. Звенигородский (один из лидеров этой группы) умер в 1984 г., группу возглавила Л. В. Городняя. Новосибирское подразделение «Школа-1» было основано на базе этой группы. С 1988 г. школьники, выпускающиеся из Школы Юных Программистов и студенты, интересующиеся проблемами школьной информатики после выпуска из Новосибирского Государственного Универститета, стали сотрудниками этой группы.

Сейчас группа школьной информатики и Лаборатория Конструирования и Оптимизации Программ как единое целое продолжают исследования и разработку экспериментальных образовательных систем программирования для различных целей и также использует знания в информатике и обучении программированию, накопленные под прямым лидерством А. П. Ершова. Некоммерческая СИбирская интеррегиональная Организация Информатики и Образования была основана в 1991 сотрудниками Лаборатории совместно с В. Е. Котовым и другими учениками Ершова для поддержки Летней Школы Юных Программистов и другой деятельности в области компьютерного образования, начатой А. П. Ершовым.

Текущие исследования лаборатории направлены на обеспечение высоких эффективности и надёжности программного обеспечения. Они разделены на две взаимнодополняющие части: теоретические работы и разработка программных систем, основанных на этих работах. Исследователи двигаются по следующим пяти направлениям:

  1. теория и методы трансформационного и функционального программирования,
  2. базовые алгоритмы и понятия информатики,
  3. инструменты для конструирования, анализа и преобразования программ,
  4. дружелюбный к пользователю интерфейс программных систем,
  5. программы для представления знаний и обучения.