Jump to content

    

Реальный пример использования State Machine в Embedded разработке

8 минут назад, AlexandrY сказал:

 

Мда не рассмотрел исходник. Но сути не меняет)

Вы уже столько раз себя клоуном выставляли, что уже смех рефлекторно))

Цитата

И вот такие контроллеры нынче надо программировать исключительно в StateFlow и Simulink. 

По другому никак ?) Партия осудит и AlexandrY лично ?))

Share this post


Link to post
Share on other sites
21 минуту назад, iliusmaster сказал:

https://ru.wikipedia.org/wiki/ДРАКОН

Развлекайтесь))))

А то конечные автоматы... симулинки....

Все придумано до нас.

Вы что! Так нынче нельзя! Щаз AlexandrY Вас осудит:acute:

Share this post


Link to post
Share on other sites
10 hours ago, Сергей Борщ said:

State machine = "конечный автомат". Лучше пользоваться общепринятыми терминами, чем дословным переводом.

Вот это утверждение, кстати, характерный признак непонимания о чем идет речь.

Нет, в этом все и дело,  термин  state machine в контексте программирования происходит от термина extended state machine (ESM), а не finite state machine (FSM)
И это отличается как город от деревни. Читать по этому поводу надо "Practical UML Statecharts..." Миро Самека 

Большинство смотрят на диаграммы и чувствуют тошноту от детерминизма FSM, жуткое впечатление от ограниченного формализма блок-схем ДРАКОН-а (ну так как он описан в википедии).
А на самом деле ESM дает абсолютную свободу в выражении своего представления работы системы.  Состояния ESM это совсем не те состояния о которых идет речь в FSM.

Share this post


Link to post
Share on other sites
19 hours ago, Segment said:

 Но я не представляю, как будет выглядеть большой (и которым будет гордиться программист) проект на автоматах. Могу разве что представить лапшу, которую иногда вижу в картинках при поиске.

А зачем описывать большой проект автоматами состояний? Автоматы применяются там, где они нужны и решают нужную задачу с максимальной эффективностью и минимальным временем реализации алгоритма.

Например, в системах управления, автоматы состояний часто реализуются как верхний уровень управления чем либо - нормальная работа, старт, стоп, авария, различные режимы. А в каждом из этих состояний уже реализуется свой алгоритм. Или наоборот, автоматы хорошо работают на очень низком уровне - например машина приема/передачи SPI, контроль/защита IGBT или как вы написали - обработка клавиш, индикация.

Тогда есть, чем гордиться.

Share this post


Link to post
Share on other sites
21 minutes ago, syoma said:

А зачем описывать большой проект автоматами состояний? Автоматы применяются там, где они нужны и решают нужную задачу с максимальной эффективностью и минимальным временем реализации алгоритма.

Просто надо прекратить применять этот термин "автоматы состояний". Надо говорить "диаграммы состояний".
И тогда ум проясниться, не надо будет искать ту переменную которая хранит код состояния. 
Эт все же не  разработка  под ПЛИС, состояние в  диаграммах может не иметь никакой явной количественной оценки.  

 

Share this post


Link to post
Share on other sites
В 11.04.2019 в 18:30, AlexandrY сказал:

Смотреть надо примеры StateFlow или IBM Rational Rhapsody

И где найти примеры реального использования в крупных проектах, а не учебные пособия? Может быть у Вас есть подобные примеры?

Share this post


Link to post
Share on other sites
2 minutes ago, Segment said:

И где найти примеры реального использования в крупных проектах, а не учебные пособия? Может быть у Вас есть подобные примеры?

Интересно как вы определяете что пример учебный, а не из реального проекта? Что для вас критерий реальности? 
Вы ж, как понимаю, не можете понять всех тонкостей моделей, так откуда уверенность? 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now