Your SlideShare is downloading. ×
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.

1,448

Published on

Мы расскажем что такое конечный автомат (Finite State Machine - FSM) и как его использовать при разработке ПО. Поделимся опытом использования, расскажем как улучшить дизайн программы или её отдельные …

Мы расскажем что такое конечный автомат (Finite State Machine - FSM) и как его использовать при разработке ПО. Поделимся опытом использования, расскажем как улучшить дизайн программы или её отдельные части при помощи FSM. Рассмотрим некоторые реализации FSM.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,448
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Finite State Machine Никифоров Константинknikiforov@codemastersintl.com
  • 2. Абстрактный конечный автомат Множество состояний Q Начальное состояние q0 Множество конечных состояний F ⊂ Q Допустимый входной алфавит A Множество возможных выходных действий Z Функция перехода δ: Q × A → Q Отображение λ: Q × A → Z
  • 3. Автомат Мили Это конечный автомат, генерирующий выходные воздействия y(t) в зависимости от своего текущего состояния s(t) и входного воздействия х(t)
  • 4. Автомат Мура Частный случай автомата Мили. Входные сигналы изменяют только состояние автомата. Выходной сигнал в автомате Мура зависит только от текущего состояния автомата и не зависит от входного сигнала.
  • 5. Абстрактный КА Детерминированным (ДКА) называется такой автомат, в котором для каждой последовательности входных символов существует лишь одно состояние, в которое автомат может перейти из текущего. Недетерминированный конечный автомат (НКА) является обобщением детерминированного. Нескольких стартовых состояний у автомата.
  • 6. ДКА, распознающий числа в ассемблерном форматеЭто не совсем правильный ДКА. В «правильном» ДКА из каждого состояния есть переход по каждому символу входного алфавита,определением для ДКА не предусмотрено ситуации пустого множества состояний и «засыхания ветки вычислений».Поэтому для полного соответствия нужно добавить в автомат ещё одно состояние, в которое должны сходиться все переходы по«непредусмотренным» символам, а выхода из этого состояния не будет – по любому символу следует переход в себя. Иногда такиесостояния называют «дьявольскими»
  • 7. НКА, распознающий числа в ассемблерном формате
  • 8. От теории к практике Математическая абстракция, модель дискретного устройства, имеющего один вход, один выход и в каждый момент времени находящегося в одном состоянии из множества возможных.Число возможных состояний конечно. Конечный автомат это совокупность состояний и переходов между ними.
  • 9. Когда применять конечный автомат? Всегда (шутка).
  • 10. WorkFlow. Список наиболее известных международных коалиций, разрабатывающих спецификации, относящиеся к WF-системам Спецификации, описывающие Коалиции графические нотации архитектуру WF- языки определения диаграммы описания систем бизнес-процессов бизнес-процессовWfMC www.wfmc.org Workflow reference WPDL, XPDL modelBPMI www.bpmi.org BPML BPMNКоалиция IBM,Microsoft, BEA, SAP, BPEL4WSSiebelOMG www.omg.org Workflow Activity диаграмма Management Facility языка UML Specification
  • 11. UML Unified Modeling Language — унифицированный язык моделирования. Графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых при разработке программных систем. Рисование картинок. Обмен информацией. Спецификация систем.
  • 12. UML. Диаграмма автомата (state machine diagram) илидиаграмма состояний Состояния (States). Простые (simple), составные (composite), специальные (pseudo), ссылочные (submachine), выбор (choice). Переходы (Transitions). События (Events). Действия (Actions). При входе (Entry actions). При выходе (Exit Actions)
  • 13. W3C State Chart XML (SCXML)http://www.w3.org/TR/scxml/Нотация, которая позволяет описывать конечныеавтоматы в общем виде на основе диаграмм состоянийХарела (составная часть UML). Основана на XML.Используя SCXML можно описать различные типыструктур конечных автоматов. В качестве примераможно привести такие случаи, как вложенность,параллельность, синхронизация или конкурентностьподавтоматов
  • 14. Нотация SCXML
  • 15. WorkFlow patterns. Sequence (последовательность) Fork (расщепление) Join (синхронизация)
  • 16. WorkFlow patterns. Decision (выбор) Merge (соединение)
  • 17. Инструменты для построенияWorkflow MS Visio yWorks eYd Altova Umodel Finite State Machine Editor (http://fsme.sourceforge.net/) SCXMLUI (http://code.google.com/p/scxmlgui/) Другие
  • 18. MS Visio
  • 19. yEd Graph Editor
  • 20. Finite State Machine Editor
  • 21. Altova Umodel
  • 22. JFLAP
  • 23. Appccelerate State Machine http://www.appccelerate.com use enums, ints or strings for states and events - resulting in single class state machines. transition, entry and exit actions. transition guards hierarchical states with history behavior to initialize state always to same state or last active state. fluent definition syntax. passive state machine handles state transitions synchronously. active state machine handles state transitions asynchronously on the worker thread of the state machine. extension support to extend functionality of state machine. extensible thorough logging simplifies debugging. state machine reports as text, csv or yEd diagram.
  • 24. Appccelerate State Machine
  • 25. Windows Workflow Foundation
  • 26. Собственная разработка
  • 27. Finite State Machine• Вопросы?• Спасибо за внимание. Никифоров Константин knikiforov@codemastersintl.co m

×