Форум
Философия программирования
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, roro, Вы писали: R>Здравствуйте, Cyberax, Вы писали: C>>Здравствуйте, roro, Вы писали: C>>>>Получится уйма переходов - жена может позвонить на каждом шаге. Нужно вводить что-то типа исключений, которые графически не особо красиво рисуются. R>>>Если новые состояния переключаются event`ом будет только одна точка входа wait_events -> process. R>>>Прерывания, насколько знаю, тоже можно в одной функции обрабатывать и иметь одну точку входа обработчик. C>>Тогда схема превратится в жуткую неудобную вещь. Так как выворачивать наизнанку алгоритм - неудобно. R>Можно пример, в каком месте вывернет? C>>>>Для state-машины графическое представление может быть удобно. А может быть и неудобно - я сейчас как раз пишу планировщик задач, где state-машин полно. Но мне их удобнее описывать кодом (в виде набора узлов и переходов), а потом генерировать по ним graphviz'овский .dot-файл для документации (собственно, я так и нарисовал "эргономичный quicksort"). R>>>Диаграмма нагляднее отображает что происходит, даже в случае очень высокоуровневых шаблонов. C>>Чем нагляднее? Я тут не увидел ни одной реальной диаграммы кроме кривых детских примеров. R>Диаграммы тут обобщенные, но хорошо иллюстрируют подход к проблеме. R>Например так создают AI и постановочные сцены в популярных игровых движках. R>[url=http://udn.epicgames.com/Three/KismetReference.html]Kismet[/url] редактор в Uneral Engine. R>[url=http://freesdk.crydev.net/display/SDKDOC2/Flow+Graph+Editor]Flow Graph Editor[/url] редактор в CryEngine 3. R>Вообще, прочитав статью у меня прошла ассоциация с комбинациями в Го и сохранением рисунка игры (захватом территории). R>Знаю что без фреймворка или dsl писать сложные поведения и fsm на c/c++/java/c# то еше удовольствие. А ревьюить без знания кода практически невозможно, только в случае если кто-то будет подсказывать что делает тот или другой кусок кода. R>Некоторое время баловался [url=http://msdn.microsoft.com/en-us/devlabs/debuggercanvas.aspx]Debugger Canvas[/url], достаточно удобно. Если в таком-же стиле сделать редактор дракона, да с отладкой схем. R>И еше добавить уровни: R>1 Большие логические модули R>2 Подпрограммы R>3 Низкоуровневые алгоритмы R>И придумать как это все сгруппировать и отобразить ) C>>>>Ну и в любом случае, state-машины - это крайне нишевая область. По крайней мере из-за того, что в них нельзя описать структуру [b]данных[/b] - у чистой state-машины вообще данных нет (кроме состояния). Как графически описать связный список или хэш-карту - очень интересный вопрос. R>>>Вот не надо, установить tcp соединение это уже стейт-машина примитивная. C>>И чем это противоречит моим словам? Как я напишу реализацию TCP-стека с помощью state-машины? R>Тут наверно недопонимание, имел ввиду что простая установка соединения уже требует отслеживания состояния сокета. тоесть работать с сокетом можно только в connected состоянии, при состоянии error нужно переподключится итд..., я в этом вижу стейт машину
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …