Технологии программирования: Звезда, RTST, REAL,QReal. Реинжиниринг.

На мой взгляд, основной научной темой всей моей жизни являются Технологии. В 70-ые годы это были технологии трансляции, в 80-ые – промышленные технологии, в 90-ые – технологии реинжиниринга и технологии разработки средств телекоммуникации. Сейчас слово «Технология» приобретает всё более расширенный характер, например, безусловно, сюда относится такая наука, как управление проектами и вообще работа с коллективами разработчиков. Последние несколько лет я плотно занимаюсь мобильными технологиями, причем это не просто программирование для мобильных телефонов, а проектирование больших информационных систем, часть клиентов которых работает на различных мобильных устройствах.

Термин «Технология» в наш университетский коллектив принес капитан I-го ранга, доктор технических наук Владимир Петрович Морозов. Его неукротимая энергия и бешеный напор иногда даже пугали. Тем не менее, именно он вывел меня на Оборонный отдел Обкома Партии, три или четыре раза мы докладывали о наших работах в Оборонном отделе ЦК КПСС на Старой площади (именно оттуда нас на Чайке отправили на экспертизу в ИТМ и ВТ к Бабаяну и именно оттуда был звонок академику А.П. Ершову с просьбой принять нас и оценить нашу технологию). Особенно нас впечатляло умение В.П. Морозова доставать самые лучшие ЭВМ того времени, довольно быстро наш ВЦ стал много мощнее, чем ВЦ Университета.

Первая наша технология носила имя «Звезда», но никаких публикаций по ней не было, все работы были секретными, позже это же имя получил вновь созданный НИИ в составе ЛНПО «Красная Заря». Затем с группой моих учеников мы стали создавать открытую технологию с расчетом на массового потребителя.

49. «RTST — технология программирования встроенных систем реального времени», Cб. “Системная информатика”, Вып.5. Новосибирск, Сибирская издательская фирма РАН, 1997, соавтор – Парфенов В.В., кол-во страниц – 28.

 

50. «RTST — технология программирования встроенных систем реального времени», Сб. “Записки семинара кафедры системного программирования «CASE-средства RTST++». Вып.1, СПб, Издательство СПбГУ, 1998, кол-во страниц – 14.

 

51. «Объектно-ориентированное расширение технологии RTST», Сб. “Записки семинара кафедры системного программирования «CASE-средства RTST++». Вып.1, СПб, Издательство СПбГУ, 1998, соавторы – Долгов П., Иванов А., Кознов Дм, Лебедев А., Мурашова Т., Парфенов В., кол-во страниц – 20.

 

52. «Удаленное сопровождение корпоративных информационных систем», «Data Communications Russian Edition», №5-6, 1998, соавтор – Терехов А.А., кол-во страниц – 8.



Технология RTST активно использовалась при создании ПО телефонных станций и другого телекоммуникационного оборудования. Даже сейчас многие сотрудники ЗАО «Ланит-Терком» ею пользуются. Но время шло, появлялись новые графические языки, например, UML, мы накапливали опыт, какие-то средства отмирали, а другие приобретали всё больший вес. С новым поколением учеников мы решили создать следующую технологию – REAL.

53. REAL: методология и CASE-средство для разработки систем реального времени и информационных систем, Программирование №5, стр. 44-51, 1999, соавторы — К.Ю.Романовский, Дм.В. Кознов, П.С. Долгов, А.Н. Иванов.

С некоторых пор журнал «Программирование» стал переводиться на английский язык, так появилась публикация на английском языке:

 


54. “RTST++: Methodology and a CASE Tool for the Development of Information Systems and Software For Real-Time Systems”, Programming and Computer Software, Vol. 25, No. 5, 1999, pp. 276–281., соавторы- К.Ю.Романовский, Дм.В. Кознов, П.С. Долгов, А.Н. Иванов

 


55. “Объектно-ориентированная методология разработки информационных систем и программного обеспечения систем реального времени”, Сб. «Объектно-ориентированное визуальное моделирование», СПб, Издательство СПбГУ, 1999, К.Ю.Романовский, Дм.В. Кознов, П.С. Долгов, А.Н. Иванов, колво страниц – 17.

 

56. “Новые возможности технологии REAL”, Вестник СПБГУ, Серия 10. Выпуск 1-2, июнь 2005, соавтор – Соколов В.В., кол-во страниц – 14.

 

57. “Реализация стыка между MSC– и SDL– диаграммами в технологии REAL“, Программирование, №1, 2007, соавтор – Соколов В.В., кол-во страниц – 16.

 

58. “Implementation of the Conformation of MSC and SDL Diagrams in the REAL Technology“, Programming and Computer Software, 2007, Vol. 33, №1, соавтор – Соколов В.В., кол-во страниц – 10.


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

 

59. “Технология программирования” (учебное пособие), Интернет-Университет Информационных Технологий. БИНОМ 2006, кол-во страниц – 148.

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

60. “Архитектура среды визуального моделирования QReal“, Системное программирование, вып. 4, 2009, соавторы — Брыксин Т.А., Литвинов Ю.В., Смирнов К.К., Никандров Г.А., Иванов В.Ю., Такун Е.И., кол-во страниц 26.

Интересно, что уже есть реальные промышленные примеры использования идеи метатехнологий. Буквально в течение двух-трех дней были сгенерированы технология программирования роботов Lego Mindstrorms NXT и технология создания приложений для мобильных телефонов.

Особого упоминания заслуживает пресловутая проблема 2000 года. На Западе эта проблема носила вполне реальный характер – там проникновение вычислительной техники в государственное управление и социальную жизнь намного шире и глубже по сравнению с российскими реалиями. У нас же кроме единственного случая, когда автоматы Метрополитена 29 февраля 2000 года не принимали карточки, ошибочно полагая, что 2000 год не високосный, и вспомнить нечего. Тем не менее, звон был вселенский, мы тоже организовали центр компетенции по решению проблемы 2000 года, причем умудрились получить первый номер. Тогда расплодилось много жуликов, предлагающих примитивные средства, ловящие идентификаторы DATE, TIME и т.п. Разумеется, это было некорректным решением, никто не мешает дату присвоить любому
другому идентификатору. Мы же на основе средства RESCUEWARE, которое мы разрабатывали по заказу американцев, обеспечивали глубокий семантический анализ, т.е. давали некую гарантию.



61. «Перенос приложений и проблема 2000 года», “Компьютер-Пресс”, N8, 1998, соавтор – Терехов А.А., кол-во страниц – 5.

 

 

62. “Комплексное решение проблемы 2000 года в корпоративных информационных системах”, «Информатизация и связь», №1, 1999, соавторы – Терехов А.А., Уфнаровский В.В., кол-во страниц – 19.


С термином «реинжиниринг программного обеспечения» нас познакомили американцы. Именно от них мы узнали, что в мире накоплены «тонны» программ, написанных на Cobol, PL/1, Adabas/Natural и других старых языках. Сопровождение этих программ с каждым годом становится всё дороже, так как университеты не учат старым языкам, инструментальные средства выходят из употребления, авторы старых программ переходят на другую работу или просто умирают, а важность этих программ чрезвычайно высока. Чаще всего с течением времени документация безнадежно устаревает, поэтому единственным реальным источником информации являются исходные тексты этих программ. Наши заказчики из компании SEER Technologies (Северная Каролина) попытались обратиться в университет Дюка в том же штате. Я несколько раз бывал в этом университете, это действительно крупный, хороший университет с сильными математиками. Читал я и отчет этих математиков, в котором объяснялось, что число путей в графах управления и зависимостей по данным растет экспоненциально относительно числа узлов, а узлов этих тысячи. Поэтому «практическое решение полезных задач невозможно». Один из американцев Лен Эрлих, одессит, выходец из СССР посоветовал коллегам обратиться к русским математикам. Встреча со мной была их то ли третьей, то ли четвертой попыткой в России. Для меня это было большой удачей, поскольку мы много лет специализировались на производстве компиляторов, а к началу девяностых годов эта работа была монополизирована компаниями Borland и Microsoft. Я всерьез раздумывал о роспуске своей команды трансляторщиков. А в реинжиниринге наши знания и опыт пригодились. В 2000 и 2001 году Gartner Group признала наш продукт лучшим в мире в областях Legacy Understanding и Legacy Transformation, а в 2003 году мы стали лучшими в тех же областях уже с другим продуктом для другого американского заказчика Level8. Я всегда рассматриваю наши работы по реинжинирингу как классический образец наукоемкого программирования. Мы решили массу сложных и интересных задач, опубликовали множество статей, выполнили десятки дипломных проектов, три моих ученика (в том числе и тот одессит-американец) защитили кандидатские диссертации на эту тему (Лен Эрлих, А.А. Терехов, М.А.Мосиенко).

 

63. “Перспективы реинжиниринга”, «Компьютер-Пресс», №11, 1999, соавторы — А.А.Терехов, Лен Эрлих, кол-во страниц – 7.

 

 

64. “Организация работ в проекте RESCUEWARE”, Сб.»Автоматизированный реинжиниринг программ», Изд-во С.-Петербургского университета, 2000, соавтор – В.В. Оносовский, кол-во страниц – 20.

 

 

65. “История и архитектура проекта RESCUEWARE”, Сб.»Автоматизированный реинжиниринг программ», Изд-во С.-Петербургского университета, 2000, соавторы — А.А.Терехов, Лен Эрлих, кол-во страниц – 13.