Автоматная реализация иерархического меню



(С) 2003 г. В.С. Билык, В.С. Писарьков, А.А. Шалыто

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

Отсюда можно скачать полный текст документации в формате pdf (435 Кб)
Отсюда можно скачать приложение (80 Кб)
Исходные тексты (30 Кб)
Для запуска приложения необходимы dll-файлы библиотеки MFC

Аннотация

Наиболее часто применяемым пользовательским интерфейсом является оконный интерфейс, в котором существенную роль играет меню. Существует множество различных методов реализации, как самого оконного интерфейса, так и меню.

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

Таким образом, весьма актуальна задача разработки эффективных методов реализации управления пользовательским меню.

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

Отметим, что хотя пунктов меню может быть любое количество, поведения от этого не изменяется. Поэтому стало ясно, что SWITCH-технология, как она описана в известных работах, не удовлетворяет полностью поставленной задаче, так как количество пунктов меню, а, следовательно, количество состояний автомата может быть произвольным и заранее не известным.

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