Геннадий Тышов писал(а):
http://is.ifmo.ru/belletristic/Shalyto-moi-shastlivye-gody-na-CT.pdfА.А. Шалыто Мои счастливые годы жизни на кафедре «Компьютерные технологии» университета ИТМО (к двадцатилетию кафедры) Редакция от 26.03.2012.
История зарождения и развития автоматного программирования.
...
Надо кому то брать пример с А.А. Шалыто.
В отношении "разрабатывать, документируя" (и открытой проектной документации) - безусловно, надо... Или что имелось в виду?..
Очерк интересный. В частности, из него можно понять, что скорее всего имелось в виду, когда говорилось, что "схемы, похожие на схемы алгоритмов, применять нецелесообразно". Отсюда:
по графам переходов строились изоморфные функциональные
схемы, что до тех пор никогда не делалось (Project 15640. AS21. DG21. Control. АМИЕ.
95564.12М. St. Petersburg. ASS «Avrora», 1991). Это позволило успешно сдать эту систему на судне человеку, который не умел программировать, но с моей помощью создал графы переходов и понимал, как от этих графов изоморфно перейти к тексту программы.
Раз спецификация графами переходов транслируется в программную реализацию - то текст программы человеку вроде и не нужен. И его визуализация тоже не нужна. Это то же "правило Приклонского" - только уже под "тем, во что не лазить", понимается программа независимо от формы её записи. Это справедливо при условии, что правильная система переходов будет и правильно запрограммирована. Что обсуждалось здесь:
viewtopic.php?p=71826#p71826.
Вот, кстати, на этот счёт:
Еще в 1966 г. Э. Дейкстра (Дейкстра Э. Взаимодействие последовательных процессов
/Языки программирования. М.: Мир, 1972, с. 9 – 86) предложил ввести так называемые переменные состояния, с помощью которых можно описывать состояния системы в любой момент времени, и использовал для этих целей целочисленные переменные. При этом им был поставлен вопрос о том, какие состояния должны вводиться, как много значений
должны иметь переменные состояния, и что эти значения должны означать? Он предложил сначала определять набор подходящих состояний, а лишь затем строить программу. Он также предложил сопоставлять процессы с переменными состояния и связывать процессы через эти переменные. По мнению Э. Дейкстры, диаграммы состояний
могут оказаться мощным средством для проверки программ. Все это обеспечивает поддержку его идеи, состоящей в том, что
программы должны быть с самого начала составлены правильно, а не отлаживаться до тех пор, пока они не станут правильными. Несмотря на существование этой работы даже на русском языке, я не знал о
ней, и обрадовался, когда понял, что Дейкстра считал мой подход правильным
. Мне, кажется, что многие и по сей день не знакомы с его мнением по указанному вопросу!
- показывает, в чём ещё правильно брать пример с Шалыто.
Кстати, эта идея Дейкстры хорошо изложена у
Кауфмана (в Гл. 2 второй части).
И сам Шалыто, как видно из этого:
В 1996 г. «на виду» (в журнале, который переводится на английский язык) вышла первая моя статья по программной реализации алгоритмов (Шалыто А.А. Использование граф-схем и графов переходов при программной реализации алгоритмов //Автоматика и телемеханика. 1996. № 6, с. 148 – 158; № 7, с. 144 – 169 (
http://is.ifmo.ru/works/gsgp1_/1/ и
http://is.ifmo.ru/works/gsgp2_/1/)). В этой статье было показано, какой структурой должны
обладать граф-схемы алгоритмов, называемые сейчас схемами алгоритмов, для того, чтобы они были изоморфны графам переходов автоматов – эти схемы должны начинаться с дешифратора состояний, а не дешифратора входных воздействий, как это делается традиционно.
- в реализации автоматов пришёл, в частности, именно к конструкциям Дейкстры или их эмуляциям (в статье ряд типов ГСА - именно ЦД или дейкстралы, другие - выборы Дейкстры в форме переключателей).