- •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 (тпв автомата Мура)
Lecture 9
Finite State Machines (конечные автоматы)
The fundamentals of automatons (Общие сведения об автоматах)
The generalized block diagrams of automatons (Обобщенная структурная схема автомата с памятью и конечного автомата)
Mealy and Moore automata (Автоматы Мили, Мура и их обобщенные структурные схемы)
Unified Programming Language (Универсальный язык программирования (UML)
1 Introduction (Введение)
Теория автоматов имеет широкие возможности применения:
Designing the systems with logic control (проектирование систем с логическим управлением);
text processing (word processing) and compilators designing (обработка текстов (слов) и построение компиляторов);
defining specifications and verification of cooperative processes (определение спецификаций и процесса верификации систем взаимодействующих процессов);
data description and object-oriented languages (языки описания документов и объектно-ориентированных языков программирования);
optimization of logic programs etc. (оптимизация логических программ и т.д.).
In addition to their use in modeling reactive systems presented here, finite state automata are significant in many different areas, including electrical engineering , linguistics , computer science , philosophy , biology , mathematics , and logic . A complete survey of their applications is outside the scope of this article. Finite state machines are a class of automata studied in automata theory and the theory of computation . In computer science, finite state machines are widely used in modeling of application behavior, design of hardware digital systems, software engineering, compilers, network protocols, and the study of computation and languages.
Данная теория, кроме ее использования для моделирования реагирующих систем (которые изменяют своё поведение в ответ на конкретные ситуации), широко используется во многих отраслях науки, включая электротехнику, лингвистику, компьютерные науки, философию, биологию, математику и логику.
В компьютерных науках эта теория широко используется для моделирования прикладного поведения, конструирования аппаратных средств цифровых систем, программного обеспечения, построении компиляторов, сетевых протоколов, вычислительных аспектов ЭВМ и языков программирования.
2 Generalized block diagram of a finite state machine (Обобщенная структурная схема конечного автомата).
A finite state machine (FSM) or finite state automaton (plural: automata), or simply a state machine, is a model of behavior composed of a finite number of states, transitions between those states, and actions. A finite state machine is an abstract model of a machine with a primitive internal memory.
Конечный автомат является таким автоматом, поведение которого включает конечное число состояний, переходов между ними и действий. Конечный автомат – это абстрактная модель (вычислительной) машины с примитивной внутренней памятью.
Условные обозначения:
CPU – ЦП;
Memory – память.
Different Kinds of Automata (различные типы конечных автоматов).
Automata are distinguished by the temporary memory (конечные автоматы различаются по наличию различных устройств памяти).
Условные обозначения:
Automaton – автомат;
CPU – ЦП;
Temporary memory – оперативное ЗУ;
Input memory – входное (буферное) ЗУ;
Output memory – выходное (буферное) ЗУ;
Program memory – память программ.
Example: (пример расчета ).
Finite Automata: no temporary memory (конечный автомат: отсутствие оперативного ЗУ).
Example: Vending Machines (small computing power) – пример – торговые автоматы (с небольшими вычислительными возможностями).
Pushdown Automata: stack (магазинный автомат: наличие стека).