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



[ << | Введение | 1 | 2 | 3 | 4, 5, Заключение | Литература | >> ]

(c) А.А.Шалыто

4. Выводы.

Предлагаемый подход позволяет:

5. Аппробация.

Предлагаемый подход, в частности, использован:

Заключение.

В течение всего времени пока создавалась предложенная и внедренная автором в 1991 году SWITCH-технология [41,44], складывалась весьма странная ситуация, состоящая в том, что ни одна (за исключением [22]) из ведущих в области автоматизации фирм мира не предлагала технологий алгоритмизации и/или программирования на базе графов переходов, являющихся основой рассматриваемой методологии.

Только в 1996 году эта ситуация существенно изменилась - фирма "Сименс" в дополнение к своим программным продуктам разработала новый продукт, названный "S7-HiGraph technology software", который позволяет использовать в качестве языка программирования диаграммы состояний (state diagram), что является другим названием графов переходов. При этом по описанию на этом языке автоматически генерируется исполняемый (только на программируемых логических контроллерах этой фирмы) код.

По мнению фирмы "Сименс", описание на таком языке не только подходит для Программиста программируемых логических контроллеров, но также понятно Инженеру-механику, Инженеру по запуску оборудования и Инженеру по обслуживанию [21].

Особенно странным в этой ситуации является то, что подобный продукт мог быть разработан, например и 15 лет назад, так как диаграммы состояний, в свою очередь, были предложены более сорока лет назад, однако, всемирное увлечение сетями Петри, которые обеспечивают возможность описания параллельных процессов одной компонентой (функциональной единицей) и являются поэтому основой языка "Графсет" (S7-Graph technology software), видимо, психологически не позволило этого сделать.

Автор надеется, что после появления указанного продукта будет иметь место эффект "домино", и в ближайшее время многие фирмы мира создадут аналогичные продукты.

При этом книга [39], подробно описывающая предлагаемую технологию, в которой графы переходов и системы взаимосвязанных графов переходов предлагается использовать не только в качестве языка программирования, но и в качестве языка спецификаций задач логического управления при применении любых других языков программирования, например Си или Си++, может стать полезным пособием по использованию управляющих графов при алгоритмизации и программировании для широкого класса Пользователей промышленных компьютеров и программируемых логических контроллеров, например [45], в том числе и в случаях отсутствия трансляторов с этого языка спецификаций.

Излагаемая технология - существенное дополнение Международного стандарта IEC 1131-3 [46], в котором описываются языки программирования программируемых логических контроллеров, но не излагаются методы алгоритмизации и программирования, которые подробно описаны в [39].

Предлагаемая технология может стать основой для повышения безопасности программного обеспечения систем логического управления [47]. Эта технология, не исключая других методов построения программного обеспечения "без ошибок" [48], существенно более конструктивна, так как позволяет начинать "борьбу с ошибками" еще на стадии алгоритмизации.

Использование пентады (состояние - независимость от "глубокой" предыстории - система взаимосвязанных графов переходов - многозначное кодирование - конструкция switch (или ее аналог в любом языке программирования, например, в языке функциональных схем)) обеспечивают наглядность, структурность, вызываемость, вложенность, иерархичность, управляемость и наблюдаемость программ, а также их изоморфизм (изобразительную эквивалентность) со спецификациями, по которым они формально строятся. Это позволяет Заказчику, Технологу (Проектанту), Разработчику, Программисту, Оператору (Пользователю) и Контролеру однозначно понимать друг друга и точно знать, что должно быть сделано, что делается и что сделано в программно реализуемом проекте. Это позволяет также разделять работу и ответственность, легко и корректно вносить изменения в алгоритмы и программы.

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

В заключение отметим, что в [49] было предложено использовать графы переходов при программной реализации алгоритмов логического управления технологическими процессами. Однако изложенный в этой работе подход был недостаточно "изящным", что не позволило ему найти широкое практическое применение.

Применение систем взаимосвязанных графов переходов было рассмотрено в работах В.В. Руднева (например, [50]). Однако теоретический характер этих работ и использование двоичных переменных для связи графов ограничили применение этой модели на практике.

Автор надеется, что судьба предлагаемого подхода в части его практического использования будет более успешной.


[ << | Введение | 1 | 2 | 3 | 4, 5, Заключение | Литература | >> ]