Г. И. Рузайкин
Передано для опубликования в журнале
"Мир компьютерной автоматизации", 2001, № 3.
Взяв в руки книгу А.А.Шалыто, выпущенную Санкт-Петербургским
издательством "Наука", я испытал чувство удовлетворения не столько
от ее фундаментального объема, сколько от того что она находится в
обойме произведений, дающих представление о программировании не
через описание "оконного" интерфейса, а посредством реализации
алгоритмов. Хорошо известно, что, отправляясь от понимания программы
в виде текста, в ходе работы над ней непременно приходится выделять
алгоритмическую и аппаратную сущности, поэтому данная книга,
излагающая методы аппаратной и программной реализации алгоритмов,
будет полезна не только специалистам в области управляющих систем, но
и широкому кругу читателей, интересующихся проблемами программирования.
Так, "Методы аппаратной и программной реализации алгоритмов" (www.
techkniga.spb.ru) займут достойное место рядом с "Искусством
программирования" Д.Кнута и "Структурами данных и алгоритмами" А.Ахо,
Дх.Хопкрофта и Д.Ульмана.
Книга посвящена алгоритмам логического управления, реализуемым с
помощью булевых функций разных классов, булевыми формулами и графами
переходов. Несмотря на то, что булевы функции и конечные автоматы
активно изучались на протяжении более полувека, а возможно благодаря
этому, автору удалось предложить и достаточно полно рассмотреть
различные методы синтеза схем из заранее выбранных произвольных
элементов и построения многофункциональных и универсальных логических
модулей. Дана оценка функциональных возможностей программируемых
логических матриц. Предложены однородные структуры из элементов с
односторонней и двусторонней проводимостью, а также логические
устройства для последовательного вычисления булевых функций, к которым
можно отнести операторные, бинарные, операторно-бинарные,
ассоциативные и микропроцессорные устройства. В книге имеются две
главы, в которых представлены материалы о нетрадиционных методах
вычисления булевых функций с помощью логических шкал, линейных
арифметических выражений, с помощью спектрального метода и
интерполяционными многочленами. Кроме того, можно познакомиться с
реализацией булевых функций с использованием арифметических
многочленов.
Не оставлены без внимания в книге методы построения бинарных
графов для автоматов без памяти и программная реализация автоматов с
памятью. Особый интерес в книге представляет завершающая глава (с
номером 21) "SWITCH-технология. Алгоритмизация и программирование
для систем логического управления и "реактивных" систем", которая
содержит "основные положения" концепции программирования, предлагаемой
автором. По существу автор исходит из системного взгляда на
взаимодействие алгоритма и программы при рассмотрении логического
управления. В основу положено понятие "состояниe", что позволяет
разработчику не только наиболее полно отразить сущность объекта, но и
адекватно построить алгоритм управления. На сегодня необходимость
подобного подхода стала очевидной в связи с широко распространенным
представлением систем управления в виде менеджмент-систем, в которых
вместо состояний рассматриваются бизнес-процессы, т.е. вместо исходных
систем их суперпозиции. При этом равносильность, как правило, не
устанавливается. Отсюда проистекает большинство бед, преодолеваемых
автором с помощью предлагаемой технологии. Разумеется, что в рамках
SWITCH-технологии, по мнению А.А.Шалыто, работают изложенные в книге
методы.
Завершая рецензию, следует заметить, что книга вполне
академический труд, но она рекомендована в качестве пособия для
студентов и аспирантов. Далее, при столь обстоятельном разговоре
с читателем все же остается сожаление, что в ней отсутствует
исторический раздел. Необходимость в нем, по крайней мере, двоякая.
Во-первых, чтобы творчески воспринимать материал книги, полезно
получить его в историческом контексте. Во-вторых, на сломе веков,
возможно в связи с быстрым ростом информационных технологий, в
печатной продукции охотнее описывают отличия в версиях продуктов,
нежели их технологические особенности, что, естественно, приводит
к разрыву теоретических и технологических знаний. Вот здесь история
и поможет. Еще раз проголосую за полезность и своевременность данной
книги.
|