Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #25789
| Path | csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Don Y <blockedofcourse@foo.invalid> |
| Newsgroups | comp.arch.embedded |
| Subject | Re: Do you use FSMs or HSMs? |
| Date | Mon, 6 Feb 2017 18:11:58 -0700 |
| Organization | A noiseless patient Spider |
| Lines | 70 |
| Message-ID | <o7b6pj$3ln$1@dont-email.me> (permalink) |
| References | <o79gce$om1$1@dont-email.me> <AdednQRvfaY4EwXFnZ2dnUU7-d_NnZ2d@giganews.com> <2d444841-11b7-470d-915b-4ee0dc8633ca@googlegroups.com> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8; format=flowed |
| Content-Transfer-Encoding | 7bit |
| Injection-Date | Tue, 7 Feb 2017 01:10:23 -0000 (UTC) |
| Injection-Info | mx02.eternal-september.org; posting-host="871ad573714350337df2b5ea6232d383"; logging-data="3767"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+H+sa0eaGzEapM1Dv+oaIR" |
| User-Agent | Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
| In-Reply-To | <2d444841-11b7-470d-915b-4ee0dc8633ca@googlegroups.com> |
| Cancel-Lock | sha1:5lacb9ov1wnhQhXxHUgU73RTL7U= |
| Xref | csiph.com comp.arch.embedded:25789 |
Show key headers only | View raw
On 2/6/2017 5:52 PM, jim.brakefield@ieee.org wrote: > On Monday, February 6, 2017 at 8:56:45 AM UTC-6, QL wrote: >> Let me start with the full disclosure: I'm the author of the book >> "Practical UML Statecharts in C/C++, 2nd Edition" and I run a company >> called Quantum Leaps that makes open-source state machine software >> frameworks and a free state machine modeling tool. The company website >> is: >> >> http://www.state-machine.com >> >> >> So, yes, I also strongly believe that hierarchical state machines (a.k.a. >> UML statecharts) combined with event-driven programming are the best way >> to go when it comes to developing real-time embedded software. >> >> From my two decades of experience, however, I see that the biggest >> obstacle in adopting state machines is the required paradigm shift from >> sequential programming based on blocking (like blocking on a semaphore or >> a time delay in a traditional RTOS or a "superloop") and the event-driven >> programming based on run-to-completion event processing without blocking >> (like in a state machine). >> >> Anyway, if you are seriously interested in (hierarchical) state machines >> for embedded real-time systems I would recommend to start with the key >> concepts: >> >> http://www.state-machine.com/doc/concepts.html >> >> >> You might also wish to try the free state machine modeling tool called >> QM, which allows you to draw hierarchical state machine diagrams and >> automatically generate production-quality C or C++ code from them: >> >> http://www.state-machine.com/qm >> >> >> Miro Samek www.state-machine.com >> >> --------------------------------------- Posted through >> http://www.EmbeddedRelated.com > > ]> Anyway, if you are seriously interested in (hierarchical) state machines > ]> for embedded real-time systems I would recommend to start with the key ]> > concepts: > > Not entirely enlightened on hierarchical state machines. Gather that the > lower level state "inherits" from the higher level state. E.g., unless > over-ridden, the lower level state defaults to the actions of the higher > level state? > > Side issue: in communications many states use a timer to have a time-out > action, and the methodology/diagrams accommodate this? In my implementations, you can "call" (bad choice of terms but it is something to which a programmer can easily relate!) a "state table" as if it had been inserted into the current state table, "in line" (though it doesn't incur the expected space penalty). [likewise, common data entry FSMs "shared" in a larger UI FSM] So, you take these common things and wrap them in a "pseudo state (table)" and then reference (CALL) it from every state in which it should apply (which might not be ALL states!) E.g., I will embed power fail handling in such a pseudo table and add it to every state that CAN support power fail handling (some might not be designed to tolerate that exception). Likewise, power *recovery* in the same pseudo table (each maintaining a separate FSM orthogonal to the FSM in question and interacting with it in the applicable "transition routines")
Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Do you use FSMs or HSMs? pozz <pozzugno@gmail.com> - 2017-02-06 10:43 +0100
Re: Do you use FSMs or HSMs? Don Y <blockedofcourse@foo.invalid> - 2017-02-06 03:20 -0700
Re: Do you use FSMs or HSMs? Dave Nadler <drn@nadler.com> - 2017-02-06 06:38 -0800
Re: Do you use FSMs or HSMs? "QL" <80499@EmbeddedRelated> - 2017-02-06 08:56 -0600
Re: Do you use FSMs or HSMs? Don Y <blockedofcourse@foo.invalid> - 2017-02-06 12:13 -0700
Re: Do you use FSMs or HSMs? jim.brakefield@ieee.org - 2017-02-06 16:52 -0800
Re: Do you use FSMs or HSMs? Don Y <blockedofcourse@foo.invalid> - 2017-02-06 18:11 -0700
Re: Do you use FSMs or HSMs? Les Cargill <lcargill99@comcast.com> - 2017-02-06 23:32 -0600
Re: Do you use FSMs or HSMs? pozz <pozzugno@gmail.com> - 2017-02-07 10:39 +0100
Re: Do you use FSMs or HSMs? John Speth <johnspeth@yahoo.com> - 2017-02-06 09:17 -0800
Re: Do you use FSMs or HSMs? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-06 18:03 +0000
Re: Do you use FSMs or HSMs? Don Y <blockedofcourse@foo.invalid> - 2017-02-06 11:56 -0700
Re: Do you use FSMs or HSMs? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-06 20:34 +0000
Re: Do you use FSMs or HSMs? Don Y <blockedofcourse@foo.invalid> - 2017-02-06 14:19 -0700
Re: Do you use FSMs or HSMs? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-06 22:12 +0000
Re: Do you use FSMs or HSMs? Don Y <blockedofcourse@foo.invalid> - 2017-02-06 15:29 -0700
Re: Do you use FSMs or HSMs? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-02-08 12:15 -0500
Re: Do you use FSMs or HSMs? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-08 23:52 +0000
Re: Do you use FSMs or HSMs? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-02-08 19:59 -0500
Re: Do you use FSMs or HSMs? Steve Watt <steve.removethis@Watt.COM> - 2017-02-17 00:30 +0000
Re: Do you use FSMs or HSMs? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-02-17 00:44 +0000
Re: Do you use FSMs or HSMs? Clifford Heath <no.spam@please.net> - 2017-02-07 10:12 +1100
Re: Do you use FSMs or HSMs? Les Cargill <lcargill99@comcast.com> - 2017-02-06 23:36 -0600
Re: Do you use FSMs or HSMs? George Neuner <gneuner2@comcast.net> - 2017-02-07 03:15 -0500
Re: Do you use FSMs or HSMs? Les Cargill <lcargill99@comcast.com> - 2017-02-10 17:41 -0600
Re: Do you use FSMs or HSMs? Clifford Heath <no.spam@please.net> - 2017-02-07 19:56 +1100
Re: Do you use FSMs or HSMs? Paul Rubin <no.email@nospam.invalid> - 2017-02-07 01:30 -0800
Re: Do you use FSMs or HSMs? Clifford Heath <no.spam@please.net> - 2017-02-07 20:42 +1100
Re: Do you use FSMs or HSMs? Paul Rubin <no.email@nospam.invalid> - 2017-02-07 02:46 -0800
Re: Do you use FSMs or HSMs? Clifford Heath <no.spam@please.net> - 2017-02-08 00:27 +1100
Re: Do you use FSMs or HSMs? Paul Rubin <no.email@nospam.invalid> - 2017-02-06 18:35 -0800
Re: Do you use FSMs or HSMs? Don Y <blockedofcourse@foo.invalid> - 2017-02-06 21:50 -0700
Re: Do you use FSMs or HSMs? Les Cargill <lcargill99@comcast.com> - 2017-02-06 23:39 -0600
Re: Do you use FSMs or HSMs? Paul Rubin <no.email@nospam.invalid> - 2017-02-06 23:20 -0800
Re: Do you use FSMs or HSMs? Les Cargill <lcargill99@comcast.com> - 2017-02-10 17:47 -0600
Re: Do you use FSMs or HSMs? Paul Rubin <no.email@nospam.invalid> - 2017-02-10 16:11 -0800
Re: Do you use FSMs or HSMs? Les Cargill <lcargill99@comcast.com> - 2017-02-11 15:43 -0600
Re: Do you use FSMs or HSMs? Les Cargill <lcargill99@comcast.com> - 2017-02-06 23:24 -0600
csiph-web