08-01-2013 11:47 AM
Actor Framework slides from the July 25, 2013 PLUG+ user group meeting. Motivates using the Actor Framework for applications with parallel processes that need a standard communication framework, and how the Actor Framework maps to the Queued Message Handler architecture. Major topics include:
08-01-2013 12:24 PM
I'd like to discuss further the question that Phillip posed near the end of the presentation: What is the purpose of the Do method [if all it does is call other methods]?
I'm sure others can provide a more complete answer to this question, and I hope they will. But 2 things that come to my mind in response to this question.
Complete sidebar, but one thing I think the Actor Framework currently lacks is an easy way to cross Application Instance boundaries. The message queues have limited scope. Network capability can be built into your system by creating "gateway actors", no doubt. But it would be nice if there was a native way to send a message to an actor running on a different machine or application instance running on the same machine. Even better, take advantage of the built in security features of VI Server, at a minimum. Some prototypes have been demonstrated by NI, but it doesn't seem to be high priority to make it part of standard Actor Framework.
08-02-2013 11:24 AM
Do.vi also provides a place where the message can do custom handling. For example, the Batch Msg.lvclass uses its Do.vi to execute a loop of all the internal messages' Do.vi. There are also messages that may need to call multiple methods on the actor in a row. This is uncommon for classes designed as actors from scratch but does happen on classes that are being retrofitted to be actors.
Regarding the sidebar: on ni.com/actorframework, please check out both of the network actor approaches.
You mention that this does not seem to be a high priority to make it a part of standard AF. You are correct insofar as I only push changes into the official LV version of AF after community feedback and adoption confirms the approach. Having said that, the framework that ships with LV 2013 is fully sufficient to support such networking if you want to use mine or Allen's or write your own. It was a priority to enable the possibility of such communication. It has not been a priority to promote any one particular style unless/until we are confident of that style.
Are they prototypes? Or open-source libraries? 😉
08-02-2013 11:38 AM