Метод устранения повторных фрагментов кода при реализации конечных автоматов



(C) 2003 г. Заякин Е.А., Шалыто А.А.

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Отсюда можно скачать полный текст документации в формате pdf (286 кб)
Отсюда можно скачать приложение (256 кб)
Исходные тексты (7 кб)

Аннотация

SWITCH-технология, предназначенная для алгоритмизации задач управления, основана на применении графов переходов конечных автоматов.

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

Поэтому первой задачей, рассматриваемой в настоящей работе, является обеспечение изоморфизма и в этом случае. Хотя указанная задача может быть решена процедурно, в настоящей работе для этой цели использован объектно-ориентированный подход.

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

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