Washington Community Group

cancel
Showing results for 
Search instead for 
Did you mean: 

EDQSM - producer-consumer based actor design pattern backed by a Mealy state machine

In connection with today's presentation I would like to show you one of my old design patterns (2006!) which, as opposed to MLA presented today, allows to keep overall structure of the code of every actor VI the same while the programmer fills it with specific functionality.

Key features beyond keeping the same structure and plumbing code regardless of the functionality of a particular actor:

- Separation of notions of events, states, and actions

- Separate queues for events and actions to facilitate Run To Completion scheduling

- State machine implementation where actions can be associated not only with entering a state but also with transitions between states (Mealy state machine)

- Isolation of the high level state machine logic (on which event in which state to run which actions and switch to which state) in a dedicated place in the code. This is worse than storing that information as a separate data structure and maybe even in a separate file editable with a specialized editor like it was done in my LabHSM toolkit but still much better than branching depending on the state in the actions themselves.

 

The original LAVA thread:

https://lavag.org/topic/4623-simple-event-driven-queued-state-machine-with-front-panel-events-and-a-...

The code saved in LabVIEW 2016 is attached.

 

If you want me to do a presentation on this at one of the meetings, please let me know.

 

By the way, I am looking for a job right now.

 

So, here is my LinkedIn:

https://www.linkedin.com/in/stanislav-rumega/

 

With Best Regards,

 

Stanislav

0 Kudos
Message 1 of 1
(2,354 Views)