- •1 Introduction (Введение)
- •2 Generalized block diagram of a finite state machine (Обобщенная структурная схема конечного автомата).
- •Push – вталкивать данные в стек;
- •Graphs (Графы)
- •Figure 3: Directed labeled graph for the edge detector Ориентированный помеченный граф для краевого детектора)
- •4 Finite State Machines (Конечные Автоматы)
- •5 Unified Modeling Language (Унифицированный язык моделирования)
- •Uml state machines (конечные автоматы унифицированного языка моделирования).
- •Fsm logic (логическая схема работы конечного автомата).
- •State diagrams versus flowcharts (диаграммы состояний в сравнении с блок-схемами программ)
- •Uml state diagram (диаграмма состояний уям)
- •Defining a State diagram (построение диаграммы состояний)
- •Elements of a State diagram (Элементы диаграммы состояний)
- •Asm Chart (диаграмма алгоритмического конечного автомата)
- •Detailed asm Chart (подробная диаграмма asm).
- •Register transfer level (Условное изображение на уровне rtl).
- •Rtl in the circuit design cycle (описание на уровне rtl для разработки имс).
- •Automata-based programming (программирование с помощью модели конечных автоматов).
- •Example (пример)
- •Traditional (imperative) program (обычная императивная программа).
- •Расшифровка операторов программы на языке с:
- •Automata-based style program (программа на основе модели конечного автомата)
- •A separate function for the automaton step (отдельная функция для этапа конечного автомата)
- •Explicit state transition table (таблица переходов состояний в явном виде)
- •Using object-oriented capabilities (использование объектно-ориентированных возможностей)
- •Other extensions
- •Moore machine
- •Formal definition
- •Mealy machine
- •Formal definition
- •Mathematical model
- •Advantages and disadvantages (преимущества и недостатки).
- •Formal definition (формальное определение).
- •Example (пример)
- •Example (пример)
- •Transformations from/to state diagram (переход от/к диаграмме состояний).
- •Directed graph of a finite state machine (направленный граф конечного автомата).
- •Harel statechart (диаграммы Harel).
- •С. State transition table (таблица смены состояний).
- •Δ and λ aren’t shown in Fig.1. Δ и λ не показаны на схеме для визуального упрощения.
- •The methods to define automata (Способы задания автоматов)
- •Transition and output tables (Таблицы переходов и выходов)
- •Transition and output tables for Mealy automaton (тпв автомата Мили)
- •Transition and output tables for Moore automaton (тпв автомата Мура)
5 Unified Modeling Language (Унифицированный язык моделирования)
The Unified Modeling Language has a very rich semantics and notation for describing state machines. UML state machines overcome the limitations of traditional finite state machines while retaining their main benefits. UML state machines introduce the new concepts of hierarchically nested states and orthogonal regions, while extending the notion of actions. UML state machines have the characteristics of both Mealy machines and Moore machines. They support actions that depend on both the state of the system and the triggering event, as in Mealy machines, as well as entry and exit actions, which are associated with states rather than transitions, as in Moore machines.
Унифицированный язык моделирования (УЯМ) имеет богатую семантику и условные знаки (условный алфавит) для описания конечных автоматов. Конечные автоматы УЯМ преодолевают ограничения, связанные с традиционными конечными автоматами, но в то же время сохраняют их основные достоинства. Конечные автоматы УЯМ вводят новую концепцию иерархически вложенных состояний и ортогональных регионов, но в то же время расширяя понятийный аппарат действий.
Orthogonal regions are concurrent substates in a composite state – ортогональные регионы являются субсостояниями, происходящими одновременно в комбинированном состоянии.
Конечные автоматы УЯМ имеют характеристики, свойственные как автоматам Мура, так и Мили. Они поддерживают действия, которые зависят как от состояния системы, так и от запускающего события, как в автоматах Мили, а также входные и выходные действия, которые ассоциируются скорее с состояниями, чем с переходами, как в автоматах Мура.
Uml state machines (конечные автоматы унифицированного языка моделирования).
UML state machine example (a toaster oven) - пример конечного автомата унифицированного языка моделирования (духовой шкаф тостера).
Условные обозначения
Heating – нагревание;
Entry/heater_on() – вход/ нагревание_вкл.;
Exit/heater_off() – выход/ нагревание_выкл.;
Toasting – приготовление тостера;
Entry/arm_time_event (me->toast_color); – вход/установка_времени (оценка->цвет тостера);
Exit/disarm_time_event(); – выход/отключение_таймера;
Baking – выпекание;
Entry/set_temperature(me-> temperature); – вход/установка_темпер.(оценка->темп.);
Exit/set_temperature(0); – выход/установить_темпер.(0);
Door_open – дверь открыта;
Entry/internal_lamp_on(); – вход/включение_внутр.лампы;
Exit//internal_lamp_off(); – выход/ выключение_внутр.лампы;
Door_Close – дверь закрыта;
Do_Baking – выполнять выпекание;
Do_Toasting – выполнять изготовление тостеров.
Fsm logic (логическая схема работы конечного автомата).
The next state and output of an FSM is a function of the input and of the current state. The FSM logic is shown in Figure 5.
Следующее состояние и выход конечного автомата является функцией входа и текущего состояния.
Fig. 5 FSM Logic (Mealy) - логическая схема работы конечного автомата (Мили).
Условные обозначения:
Inputs – входы;
Outputs – выходы;
State transition condition – условия перехода состояний;
State – состояние;
Output conditions – выходные условия.