Применение теории автоматов

Содержание

Ключевае слова:
Автомат
Программирование
Визуализатор
Нейронные сети
Микроконтроллеры
Документооборот

Моделирование работы банкомата

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

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

На основе SWITH-технологии был разработаны граф и выполнена генерация кода с помощью инструментального средства UniMod. При его применении сначала в общем случае строится система взаимосвязанных автоматов (AClient и AServer), а затем на языке Java программируются функции входных и выходных воздействий. Таким образом, программа разделяется на независимые блоки, что позволяет облегчить ее написание и уменьшает вероятность возникновения ошибок.

Граф переходов автомата клиента AClient:

Граф переходов автомата AServer, посылающего запросы на сервер:

Схема связей автоматов:

Несмотря на отсутствие связи между автоматами, AServer вложен в AClient. При нахождении автомата AClient в состояниях «Авторизация», «Запрос баланса» и «Запрос денег» программно управление передается автомату AServer , который отправляет запрос на сервер, получает ответ и возвращает управление автомату AClient. Сам сервер спроектирован традиционным путем и реализован как консольное приложение.

Интерфейс программы:

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


См. также
Пример 2 - Система управления автомобильной сигнализацией


X