Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
mOleg писал(а): Зачем других людей привлекать-напрягать, да еще ждать пока они что-то сделают? Да и не знаю я наперед, что может мне для отладки понадобиться, особенно, когда ТЗ все время корректируется и дополняется. Ну наверное у нас разная организация процесса. Свою систему я отлаживаю сам а "утилитки" нужны в процессе отладки изделия в комплексе тут в любом случае много людей задействовано, и программисты в том числе. Если я за них буду работу делать то кто сделает мою за меня?
[quote="mOleg"]Зачем других людей привлекать-напрягать, да еще ждать пока они что-то сделают? Да и не знаю я наперед, что может мне для отладки понадобиться, особенно, когда ТЗ все время корректируется и дополняется.[/quote] Ну наверное у нас разная организация процесса. Свою систему я отлаживаю сам а "утилитки" нужны в процессе отладки изделия в комплексе тут в любом случае много людей задействовано, и программисты в том числе. Если я за них буду работу делать то кто сделает мою за меня?
|
|
|
|
Добавлено: Пт сен 27, 2019 10:03 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
_Harry писал(а): А утилитки для себя на работе не пишу для этого у нас штатные программисты трудятся. Ну, так, в процессе отладки изделия просто удобно использовать консолью форта и всякие там команды подавать. Зачем других людей привлекать-напрягать, да еще ждать пока они что-то сделают? Да и не знаю я наперед, что может мне для отладки понадобиться, особенно, когда ТЗ все время корректируется и дополняется.
[quote="_Harry"]А утилитки для себя на работе не пишу для этого у нас штатные программисты трудятся.[/quote] Ну, так, в процессе отладки изделия просто удобно использовать консолью форта и всякие там команды подавать. Зачем других людей привлекать-напрягать, да еще ждать пока они что-то сделают? Да и не знаю я наперед, что может мне для отладки понадобиться, особенно, когда ТЗ все время корректируется и дополняется.
|
|
|
|
Добавлено: Чт сен 26, 2019 19:59 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
Hishnik писал(а): Эээ... "состояния - это функции"??? Это как минимум требует пояснения. Это предложение узнавать состояние КА вызовами функций? КА - это, к примеру, настольная лампа с сенсорной кнопкой. У нее два состояния - "включено" и "выключено". Но это не функции. Вот очень спорно что не функции особенно с сенсорной кнопкой и особенно если не только лампочка управляется МК. А как правило так и бывает. Ну и никто не отказывается от более простых способов типа CASE: Но когда автомат имеет много состояний указатель работает быстрее и код вообщем получается более понятным и читаемым.
[quote="Hishnik"]Эээ... "состояния - это функции"??? Это как минимум требует пояснения. Это предложение узнавать состояние КА вызовами функций? КА - это, к примеру, настольная лампа с сенсорной кнопкой. У нее два состояния - "включено" и "выключено". Но это не функции.[/quote] Вот очень спорно что не функции особенно с сенсорной кнопкой и особенно если не только лампочка управляется МК. А как правило так и бывает. Ну и никто не отказывается от более простых способов типа CASE: Но когда автомат имеет много состояний указатель работает быстрее и код вообщем получается более понятным и читаемым.
|
|
|
|
Добавлено: Чт сен 26, 2019 15:29 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
mOleg писал(а): а я пользую, но для оснастки, отладки, диагностики, в различных утилитарных целях, не касающихся готового изделия, т.к. там требуется, чтобы кроме меня кто-то что-то мог понять. Остается только позавидовать У меня такой возможности нет однозначное требование только Си Си++ или Ассемблер. А утилитки для себя на работе не пишу для этого у нас штатные программисты трудятся. Мое дело схемы и МК и там у меня сплошные автоматы....
[quote="mOleg"]а я пользую, но для оснастки, отладки, диагностики, в различных утилитарных целях, не касающихся готового изделия, т.к. там требуется, чтобы кроме меня кто-то что-то мог понять.[/quote] Остается только позавидовать :) У меня такой возможности нет однозначное требование только Си Си++ или Ассемблер. А утилитки для себя на работе не пишу для этого у нас штатные программисты трудятся. Мое дело схемы и МК и там у меня сплошные автоматы....
|
|
|
|
Добавлено: Чт сен 26, 2019 15:19 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
_Harry писал(а): Я тоже последнее время этот способ активно использую. Кстати считал себя "изобретателем" :) нигде не встречал описания такого способа реализации автоматов. ну, я тоже не встречал, прижало - пораскинул мыслями 8) (хотя очень подозреваю, что все же кто-то уже давно придумал раньше) Так однозначно удобнее, чем: _Harry писал(а): Но для малого количества состояний использую swith() case: классический способ он как то нагляднее особенно если на одну страницу все помещается. тем более, чем более сложные переходы между состояниями и чем больше их приходится править (расширять). _Harry писал(а): (Мне вот даже жалко стало что воспользоваться кодом не могу на работе только Си.) а я пользую, но для оснастки, отладки, диагностики, в различных утилитарных целях, не касающихся готового изделия, т.к. там требуется, чтобы кроме меня кто-то что-то мог понять.
[quote="_Harry"]Я тоже последнее время этот способ активно использую. Кстати считал себя "изобретателем" :) нигде не встречал описания такого способа реализации автоматов.[/quote] ну, я тоже не встречал, прижало - пораскинул мыслями 8) (хотя очень подозреваю, что все же кто-то уже давно придумал раньше)
Так однозначно удобнее, чем: [quote="_Harry"]Но для малого количества состояний использую swith() case: классический способ он как то нагляднее особенно если на одну страницу все помещается.[/quote] тем более, чем более сложные переходы между состояниями и чем больше их приходится править (расширять).
[quote="_Harry"](Мне вот даже жалко стало что воспользоваться кодом не могу на работе только Си.)[/quote] а я пользую, но для оснастки, отладки, диагностики, в различных утилитарных целях, не касающихся готового изделия, т.к. там требуется, чтобы кроме меня кто-то что-то мог понять.
|
|
|
|
Добавлено: Пт сен 20, 2019 20:35 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
Wlad писал(а): Поясню: переменная состояния представляет собой указатель на функцию. То есть просто нет переменной, хранящей текущее состояние? Понимаю, как должно работать для одного единственного автомата, а если их пучок?
[quote="Wlad"]Поясню: переменная состояния представляет собой указатель на функцию.[/quote] То есть просто нет переменной, хранящей текущее состояние? Понимаю, как должно работать для одного единственного автомата, а если их пучок?
|
|
|
|
Добавлено: Пт сен 20, 2019 20:31 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
Hishnik писал(а): Эээ... "состояния - это функции"??? Это как минимум требует пояснения. Это предложение узнавать состояние КА вызовами функций? КА - это, к примеру, настольная лампа с сенсорной кнопкой. У нее два состояния - "включено" и "выключено". Но это не функции. Поясню: переменная состояния представляет собой указатель на функцию. Эта функция - сосредоточие логики обработки входящих событий (через аргумент функции), на основании которых (+ учёта ряда условий) предпринимается решение о (возможной) смене состояния (назначение "хранителю текущего состояния"-указателю на функцию адреса другой функции). В этой же функции есть участки кода для обеспечения вызова кода при "входе" и "выходе" из состояния и вызов "функций-менеджеров" возможных вложенных состояний. Для справки: https://www.state-machine.com/psicc2
[quote="Hishnik"]Эээ... "состояния - это функции"??? Это как минимум требует пояснения. Это предложение узнавать состояние КА вызовами функций? КА - это, к примеру, настольная лампа с сенсорной кнопкой. У нее два состояния - "включено" и "выключено". Но это не функции.[/quote] Поясню: переменная состояния представляет собой указатель на функцию. Эта функция - сосредоточие логики обработки входящих событий (через аргумент функции), на основании которых (+ учёта ряда условий) предпринимается решение о (возможной) смене состояния (назначение "хранителю текущего состояния"-указателю на функцию адреса другой функции). В этой же функции есть участки кода для обеспечения вызова кода при "входе" и "выходе" из состояния и вызов "функций-менеджеров" возможных вложенных состояний. Для справки: https://www.state-machine.com/psicc2
|
|
|
|
Добавлено: Пт сен 20, 2019 19:29 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
Эээ... "состояния - это функции"??? Это как минимум требует пояснения. Это предложение узнавать состояние КА вызовами функций? КА - это, к примеру, настольная лампа с сенсорной кнопкой. У нее два состояния - "включено" и "выключено". Но это не функции.
Эээ... "состояния - это функции"??? Это как минимум требует пояснения. Это предложение узнавать состояние КА вызовами функций? КА - это, к примеру, настольная лампа с сенсорной кнопкой. У нее два состояния - "включено" и "выключено". Но это не функции.
|
|
|
|
Добавлено: Пт сен 20, 2019 14:44 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
Wlad писал(а): состояния это - функции/статические методы классов/структур.
Так вроде и тема про это. только класcов нет но это же Forth, зачем они нужны? (Мне вот даже жалко стало что воспользоваться кодом не могу на работе только Си.)
[quote="Wlad"]состояния это - функции/статические методы классов/структур. [/quote] Так вроде и тема про это. только класcов нет но это же Forth, зачем они нужны? (Мне вот даже жалко стало что воспользоваться кодом не могу на работе только Си.)
|
|
|
|
Добавлено: Пт сен 20, 2019 11:12 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
У Миро Самека (который https://www.state-machine.com ) состояния это - функции/статические методы классов/структур. Правда у него - идеология "активных объектов". Не встречал кто-то такого же в реализациях КА на Форте?
У Миро Самека (который https://www.state-machine.com ) состояния это - функции/статические методы классов/структур. Правда у него - идеология "активных объектов". Не встречал кто-то такого же в реализациях КА на Форте?
|
|
|
|
Добавлено: Чт сен 12, 2019 12:05 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
Цитата: Кроме того, в тех же сях я автоматы реализую аналогично: Я тоже последнее время этот способ активно использую. Кстати считал себя "изобретателем" нигде не встречал описания такого способа реализации автоматов. Но для малого количества состояний использую swith() case: классический способ он как то нагляднее особенно если на одну страницу все помещается.
[quote]Кроме того, в тех же сях я автоматы реализую аналогично:[/quote] Я тоже последнее время этот способ активно использую. Кстати считал себя "изобретателем" :) нигде не встречал описания такого способа реализации автоматов. Но для малого количества состояний использую swith() case: классический способ он как то нагляднее особенно если на одну страницу все помещается.
|
|
|
|
Добавлено: Ср авг 14, 2019 12:21 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
mOleg писал(а): простыни на стороннем ресурсе. А что Вы хотели от реальной задачи? Это же не школьный пример, который кто-то будет для Вас специально причесывать. Кстати "вменяемо" и "здесь" одновременно - это ненаучная фантастика.
[quote="mOleg"]простыни на стороннем ресурсе.[/quote]А что Вы хотели от реальной задачи? Это же не школьный пример, который кто-то будет для Вас специально причесывать. Кстати "вменяемо" и "здесь" одновременно - это ненаучная фантастика.
|
|
|
|
Добавлено: Пн фев 19, 2018 20:07 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
gudleifr писал(а): Кстати, вот реальная задача: и вспомнились мне строчки: "так мелко и так много, что прочитал чуть-чуть - не пишут так коряво, когда на веки рвут" Мне лень читать ваши простыни на стороннем ресурсе. Пишите вменяемо здесь.
[quote="gudleifr"]Кстати, вот реальная задача:[/quote] и вспомнились мне строчки: "так мелко и так много, что прочитал чуть-чуть - не пишут так коряво, когда на веки рвут" Мне лень читать ваши простыни на стороннем ресурсе. Пишите вменяемо здесь.
|
|
|
|
Добавлено: Пн фев 19, 2018 19:45 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
Кстати, вот реальная задача: пара автоматов, вложенных друг в друга - ТЕМА #70, примерно АБЗАЦ #762. Сможет ли кто-нибудь написать на FORTH красивее убогого GW-BASIC? Тем более, избежать этапа программирования на бумажке? Или, как обычно, строим "елочки" и "матрешки" на C++, а потом эмулируем на "FORTH со структурами, исключениями и локальными переменными"?
Кстати, вот реальная задача: пара автоматов, вложенных друг в друга - [url=http://gudleifr.forum2x2.ru/t70-topic#762][img]https://i62.servimg.com/u/f62/19/65/89/34/leaf10.gif[/img]ТЕМА #70, примерно АБЗАЦ #762[img]https://i62.servimg.com/u/f62/19/65/89/34/leaf10.gif[/img][/url]. Сможет ли кто-нибудь написать на FORTH красивее убогого GW-BASIC? Тем более, избежать этапа программирования на бумажке? Или, как обычно, строим "елочки" и "матрешки" на C++, а потом эмулируем на "FORTH со структурами, исключениями и локальными переменными"?
|
|
|
|
Добавлено: Пн фев 19, 2018 12:42 |
|
|
|
|
|
Заголовок сообщения: |
Re: Автоматы (FSM) |
|
|
да, а еще интересно то, что FSM: Name создает сразу три определения: Name - сам автомат вызываемый (Name) - словарь, куда определяются все состояния Name: - метод позволяющий создавать новые состояния
В свою очередь Name: State создает сразу два определения State - переключатель в новое состояние :State - описатель состояния
да, а еще интересно то, что FSM: Name создает сразу три определения: Name - сам автомат вызываемый (Name) - словарь, куда определяются все состояния Name: - метод позволяющий создавать новые состояния
В свою очередь Name: State создает сразу два определения State - переключатель в новое состояние :State - описатель состояния
|
|
|
|
Добавлено: Чт фев 15, 2018 16:32 |
|
|
|
|