Читать онлайн «Автоматное проектирование программ. Алгоритмизация и программирование задач логического управления»

Автор Шалыто А. А.

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