Messages in the actor framework have a lot of boiler plate code. This code is fairly time consuming to create so NI created the Actor Framework Message Maker. It is included with all LabVIEW versions after 2012. This performs scripting actions to deal with creating all of this boiler plate code, but it comes short in many areas. This results in lots of actor framework block diagrams that are extremely hard to read.
There are three main problems with the built in message maker.
Problem 1: Icons
The built in message maker leaves creating icons to the user. Creating icons is tedious, and a lot of times skipped all together, so block diagrams tend to end up looking like this:
Problem 2: VI Descriptions
The send message VI is what appears on the block diagram most of time. Using the message maker, this VI’s documentation is “This VI sends the message to an actor”. The useful documentation for the message is typically on the Actor’s method. This useful description is not where the user will typically see it and finding it would require browsing through the project. Again, updating the description on the send message VI is tedious and this description needs to be kept in sync with the method it’s calling.
Problem 3: Updating
Updating messages is a fairly frequent task. If the connector pane of the actor’s method changes, the message will need to be updated. There is no way to do this in NI’s message maker, so it is a manual process.
The Solutions: An improved Actor Framework Message Maker
MGI’s Actor Framework Message Maker addresses all of these problems
Solution 1: Icons
Notice the new Icons in the screenshot above. The icons have a recognizable glyph in the header to make identifying messages easy. The secondary background color (red in the image above) is taken from the specific actor class addressed by the message. Finally the main body of the icon is copied directly from the invoked method. All of this helps the user identify all of the messages and the actors that will handle them.
Solution 2: VI Descriptions
The new Send VI’s description is partially taken from the method that the message will be calling. It clearly identifies it as an Actor Framework message, it tells you what method it’s going to call on what type of actor. Finally it copies over the description from the Actor Method that it’s calling.
Solution 3: Updating
The MGI Message Maker automatically detects any change to the invoked method’s connector pane, VI description, or icon and will flag the message sender as needing an update. Updating is as easy as selecting the message and clicking the “Build/Update Selected Message(s)” button, or clicking the “Update All Outdated Messages” button.