ЖУРНАЛ "ИЗВЕСТИЯ АКАДЕМИИ НАУК. ТЕОРИЯ И СИСТЕМЫ УПРАВЛЕНИЯ"
Номер 6. Ноябрь-Декабрь 2000. С. 63-81. УДК 681. 3. 06 : 62-507
АВТОМАТНОЕ ПРОЕКТИРОВАНИЕ ПРОГРАММ. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ ЗАДАЧ ЛОГИЧЕСКОГО
УПРАВЛЕНИЯ
2000 г. А. А. Шалыто
Санкт-Петербург, Федеральный научно-производственный
центр — ГУП "НПО "Аврора"",
С. -Петербургский гос. ин-т точной механики и оптики
(техн. ун-т)
Поступила в редакцию 21.
06. 98 г. Излагаются основы технологии алгоритмизации и программирования задач
логического управления, обеспечивающей повышение "безопасности" программного
обеспечения. Описываемая технология может быть названа технологией состояний
или, более точно, автоматной технологией, а соответствующая область
программирования — автоматным программированием. Введение. В настоящей работе излагается технология
алгоритмизации и программирования задач логического управления,
названная переключательной технологией (SWITCH-технология). Актуальность разработки такой технологии определяется, во-
первых, необходимостью того, чтобы Заказчик, Технолог (Проектант),
Разработчик, Программист, Оператор (Пользователь) и Контролер
однозначно и полностью понимали друг друга, а, во-вторых,
целесообразностью создания для различных типов управляющих
вычислительных устройств и языков программирования единого подхода к
формальному и желательно изоморфному построению "хорошо понимаемых"
алгоритмов и программ, позволяющих решать задачи рассматриваемого
класса. Эта проблема является актуальной и для других классов задач. Так, Э. Дейкстра во введении к [1] пишет: "Я знал, что программы
могут очаровывать глубиной своего логического изящества, но мне
постоянно приходилось убеждаться, что большинство из них появляются
в виде, рассчитанном на механическое выполнение, и что они
совершенно непригодны для человеческого восприятия. Меня не
удовлетворяло также и то, что программы часто приводятся в форме
готовых изделий, почти без упоминания тех рассуждений, которые
проводились в процессе разработки и служили обоснованием для
окончательного вида завершенной программы". Продвижение в
направлении решения этой проблемы для задач логического управления
имеет особую важность в связи с большой ответственностью их решения
для многих объектов управления, например, для ядерных или химических
реакторов, а предпосылки для такого продвижения определяются
наличием развитого математического аппарата теории автоматов.
2
В рамках разработанной технологии предлагается использовать два
уровня языков: языки алгоритмизации или спецификации (языки общения)
и языки программирования (языки реализации).