crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Конечный автомат на Qt, (Qt State Machine Framework)
Litkevich Yuriy
  опции профиля:
сообщение 31.1.2009, 18:53
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Нашел в лаборатории у тролей Qt State Machine Framework
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
kuzulis
  опции профиля:
сообщение 20.4.2010, 19:56
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


ООО!!! Хоть тема и старая, но подниму... Наткнулся на нее и свои 5 копеек добавлю.

Цитата
вообще чаще используют переключатель:


Дадада.. Именно! Есть такая штука - как SWITCH технология программирования в которой и используется такой подход. Чаще всего оно применяется в автоматике, АСУТП, при программировании ПЛК и т.п.

В инете оч много литературы по этому поводу (кратко ознакомится на википедии можно).

Этот подход очень удобен, но необычен для основного контингента программистов, которые привыкли думать "классически". :)
Этот подход в сложных алгоритмах со множеством состояний избавляет нас от большого кол-ва ошибок, позволяя делить алгоритм на несколько КА по вложенности и т.п.

Как я к примеру делаю:
1. Делю алгоритм на различные КА, выполняющие определенные функции
2. Для каждого КА рисую граф переходов
3. По графу пишу программу

При этом каждый КА имеет у меня набор свойств:
1. Набор состояний
2. Набор входных воздействий

И в зависимости от текущего воздействия на автомат и его состояния выполняется некий алгоритм, который переводит КА в другие состояния и т.п. В общем, все оч просто и удобно. :)

Я сам нечто похожее делаю для ПЛК (правда к Qt4 это никоим образом не относится)... Результаты - впечатляют! Ошибок по сравнению с "классикой" гораздо меньше и код гораздо понятнее и читабельней!

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Litkevich Yuriy   Конечный автомат на Qt   31.1.2009, 18:53
- - SABROG   Я не совсем понимаю предназначение. В качестве при...   31.1.2009, 21:13
- - Litkevich Yuriy   Цитата(SABROG @ 1.2.2009, 0:13) Так вот ч...   31.1.2009, 23:12
- - SABROG   Почитал в инете примеры со строками на эту тему ту...   1.2.2009, 0:04
|- - Tonal   Цитата(SABROG @ 1.2.2009, 3:04) Почитал в...   2.2.2009, 15:25
- - Litkevich Yuriy   Цитата(SABROG @ 1.2.2009, 3:04) Возможно ...   1.2.2009, 0:14
- - SABROG   Цитата(Litkevich Yuriy @ 1.2.2009, 0:14) ...   1.2.2009, 0:55
- - Antrix   Конечный автомат, это ориентированый граф, который...   1.2.2009, 16:23
|- - kwisp   Цитата(Antrix @ 1.2.2009, 16:23) У игры е...   1.2.2009, 17:11
- - Litkevich Yuriy   Цитата(kwisp @ 1.2.2009, 20:11) мне кажет...   1.2.2009, 17:19
|- - kwisp   Цитата(Litkevich Yuriy @ 1.2.2009, 17:19)...   1.2.2009, 17:28
- - Antrix   Возможно пример неудачен, ну я старался объснить к...   1.2.2009, 17:33
- - Litkevich Yuriy   вообще любой пример не удачен, если все состояния ...   1.2.2009, 18:04
- - kwisp   Litkevich Yuriy, Цитатавообще любой пример не уда...   1.2.2009, 18:11
- - Litkevich Yuriy   Цитата(kwisp @ 1.2.2009, 21:11) а пример ...   1.2.2009, 18:18
- - SABROG   Видимо if'ы обеспечивают как раз тот механизм ...   2.2.2009, 15:45
- - Litkevich Yuriy   вообще чаще используют переключатель: примерно так...   2.2.2009, 15:58
- - kuzulis   ООО!!! Хоть тема и старая, но подниму....   20.4.2010, 19:56
- - Анна   Вот сейчас читаю про паттерн "Состояние...   18.12.2017, 17:31
- - Litkevich Yuriy   Цитата(Анна @ 18.12.2017, 19:31) Но вот к...   10.1.2018, 22:33


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 12.12.2024, 12:32