Новые статьи.
Новые статьи
Так получилось, что в связи с моими многочисленными административными обязанностями все меньше времени остается на научную работу. Тем не менее, несколько тем я все-таки стараюсь не забывать. Одна из них – это, несомненно, технология проектирования кристаллов. Первоначально это было связано с CoDesign (см. 048_Terekhov_Fominykh_Gorla_DSP ) но постепенно акценты сместились в сторону упрощения технологии разработки кристаллов. В 2004 году под моим руководством защитил диссертацию Дмитрий Булычев, в этой диссертации был предложен языка PADLA (Processor Architecture Definition LAnguage), который существенно упростил описание алгоритмов работы кристаллов. Сразу после защиты диссертации было принято решение о доведении этого научного результата до промышленного продукта. Примерно в 2011-2012 годах были получены первые действительно практические результаты, правда, за это время язык изменил свое название на более благозвучное – HaSCoL (Hardware and Software CoDesign Language). У меня есть многолетняя привычка – первым апробировать все новые технологии, созданные в нашем коллективе. Это некоторая страховка, чтобы не выпустить в свет нечто, над чем потом будут смеяться. Я не изменил этой привычке и сейчас: как раз в это время мы получили грант Фонда Сколково по разработке алгоритмов компьютерного стереозрения, в рамках которого нужно было создать заказной кристалл, который взял бы на себя большую вычислительной нагрузки. Примерно за месяц, не отрываясь от основной работы, я написал на HaSCoL нужное решение (определение сигнатуры в задаче поиска изображения). Так как остальная часть алгоритма писалась квалифицированными инженерами на традиционном языке VHDL, моя работа была признана экспериментальной, а ровно такой же алгоритм разработал взрослый инженер с довольно высокой зарплатой за полгода. При комплексной отладке оказалось, что он не сумел справиться с ошибками, а сроки сдачи в Сколково поджимали, поэтому за пару дней инженеры вставили в общую работу мой кусок. Так, совершенно неожиданно, был проведен промышленный эксперимент, на который в обычной ситуации я как генеральный директор ни за что бы не пошел. Я решил, что рассказ об этом эксперименте может стать основой для хорошей статьи.
Статья была принята на вторую по значимости международную конференцию в области программной инженерии в мире – ESEC/FSE 2013 (хотя некоторые рецензенты возражали против не слишком научного названия статьи, по их мнению):
102. “Good technology makes the difficult task easy”, ESEC/FSE 2013 Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering Pages 683-686 ACM New York, NY, USA ©2013
По русской версии статьи я сделал пленарный доклад на конференции Лавровские чтения в 2013 году. Текст доклада и все остальные материалы конференции доступны по ссылке: «Хорошая технология делает трудную задачу простой»
Без сомнения, моей любимой темой за последние 30 лет являются графические технологии программирования (см. часть 5 раздела Научные публикации). Так как у нас на кафедре не принято научным руководителям вписывать свою фамилию в публикации учеников, я не слишком часто состою в авторстве или соавторстве. Но когда основные работы по многолетней теме QReal, которой я руководил, завершились, а два моих аспиранта Ю.Литвинов и Т.Брыксин представили кандидатские диссертации, я принял активное участие в написании «генеральской» статьи.
103. QReal: платфоpма визуального пpедметно-оpиентиpованного моделиpования, Программная инженерия, 6, 2013, Соавторы: Брыксин Т.А, Литвинов Ю.В.
Оказалось, что мета-технология QReal очень удобна для создания специализированных языков, наиболее популярным примером стала среда программирования роботов, о которой мы сделали доклад на крупнейшей в России конференции по программной инженерии – SECR. Доклад был признан одним из лучших и в числе буквально нескольких докладов был опубликован в сборнике ACM.
104. QReal:Robots an environment for teaching computer science and robotics in schools, Proceedings of the 9th Central & Eastern European Software Engineering Conference in Russia, ACM New York, NY, USA ©2013, Соавторы: Yurii Litvinov, Timofey Bryksin
Так получилось, что еще на третьем курсе мат-меха Григорий Самуилович Цейтин привлек меня в составе большой группы студентов и преподавателей к изучению, а затем и к реализации нового языка Алгол 68 для новой ЕС ЭВМ. Язык оказался очень сложным, зато это был первый алгоритмический язык, описанный достаточно точно и формально, чтобы рассуждать о его особенностях без разночтений. Пару лет мы потратили на изучение языка, ЕС ЭВМ к обещанному сроку так и не появилась, поэтому начали реализацию транслятора в стиле «баня – через дорогу раздевалка». Анализирующая часть писалась на Алголе 60 и отлаживалась на ЭВМ Одра 1204, а синтезирующая часть писалась на макроязыке ассемблера ЕС ЭВМ, но, поскольку ЕС ЭВМ появилась только через 3-4 года, мы вынуждены были ездить на отладку в Москву, где в НИЦЭВТе были установлены две машины IBM 360/50. Время нам давали только ночное («Спорт любят только москвичи!»). Спросить было не у кого. Поэтому работа шла медленно и требовала больших усилий. Взрослые участники нашей команды быстро отвалились, да и Цейтин в большой степени потерял интерес к этой практической работе. В результате, я стал руководить договором по реализации транслятора. В СССР Алгол 68 реализовывали во многих местах, была образована рабочая группа по Алголу 68, которую возглавлял академик А.П. Ершов, сначала его заместителем был Цейтин, а через несколько лет – я. Так образовалось сообщество компиляторщиков, которое занималось далеко не только Алголом 68. Историю развития Алгола 68 в России и его влиянию на другие аспекты программирования я опубликовал в большой статьей на конференции SORUCOM. Чем старше я становлюсь, тем с большим пиететом я отношусь к истории. Я лично знал многих великих программистов, на моих глазах эта наука развивалась и превращалась из искусства в инженерное ремесло. Мне грустно, что современная молодежь практически ничего не знает о нашей истории, хотя довольно хорошо осведомлена об успехах западных программистов. В своих лекциях по архитектуре ЭВМ в разделе «История ЭВМ» я очень кратко рассказываю о западных машинах и довольно подробно о советских. Недавно я записал видео курс «История ЭВМ и программирования» в Лекториуме.
105. Алгол 68 и его влияние на программирование в СССР и России (часть 1) и Алгол 68 и его влияние на программирование в СССР и России (часть 2), Труды SORUCOM. 2014. Развитие вычислительной техники и ее программного обеспечения в России и странах бывшего СССР: история и перспективы Сборник материалов конференции. Под редакцией д.ф.-м.н. А.Н. Томилина. 2014
106. Алгол 68 и наш коллектив, Материалы всероссийской научной конференции по проблемам информатики «Лавровские чтения 2014»
107. Отечественные инструментальные средства обучения программированию, Материалы VI международной конференции «Информационные технологии для новой школы», 2015
108. Конфигурируемая ОС РВ Embox для встроенных систем, журнал Системный администратор, выпуск 7-8, 2015
109. Инженерная лаборатория в общеобразовательных учреждениях, журнал Компьютерные инструменты в образовании, №5, 2015, Соавторы — Геворкян Т.Г., Киселев М.М., Немешев М.Х.
110. Робототехнический конструктор ТРИК на уроках «Технология» в школе, Материалы VIII Международной конференции «Современные информационные технологии и ИТ-образование», Москва, 2015, соавтор – Киселев М.М.
111. View to view transformations in domain specific modeling, Programming and Computer Software (PCS) 41(4), 2015, Соавторы – D.V.Koznov, E.V.Larchik
112. Инструментальное средство обучения программированию и технике трансляции, Компьютерные инструменты в образовании, 2016 №1, стр. 36-47