Skip navigation

Community

Currently Being Moderated

READ THIS FIRST to get started with Actor Framework

VERSION 37  Click to view document history
Created on: Aug 1, 2011 8:30 PM by AristosQueue - Last Modified:  Mar 10, 2014 9:29 AM by niACS

About This Document

  • We've uploaded a lot of different documents to this web community to discuss the Actor Framework. This gives you a summary of the documents so you know where to start.
  • You can use the shortcut URL to get to the Actor Framework community website: http://ni.com/actorframework
  • You probably want to download and review the documents on this forum in this order. I'm posting this here because as we add revisions, the documents will be ordered in the forum "newest first", which isn't the most helpful for learning.

Current Versions

Only the newest version of the AF is listed here. Older versions can be found in the complete list of Documents in this community site.

 

The framework is currently released for installation into LV 2011's user.lib and LV 2012's vi.lib. (The user.lib version can be used in LV 2012 but will lack integration with some native features of LV 2012.) There are three kinds of forks in each release path:

  • Main: Anything in MAIN FORK will become a part of LabVIEW the next time LabVIEW updates its shipping version of the Actor Framework. All future versions of the Actor Framework will support all the functionality of the MAIN FORK.
  • Debug: DEBUG FORKs are instrumented versions of the AF to support debugging. DEBUG FORKs are supposed to always be some version of the MAIN FORK but with debugging capabilities.
  • Experimental: EXPERIMENTAL FORKs contain features that may not be stable and may be rewritten many times before they become part of the MAIN FORK (if ever).

 

LV 2011 user.lib Versions

AF 4.1 for LV 2011 user.lib MAIN FORK

     (and the Message Maker patch that goes with it... this makes the earlier install of the Message Maker work with AF 4.1.)

LV 2012 vi.lib Versions

AF 4.1 for LV 2012 and later vi.lib MAIN FORK

AF 4.1 for LV 2012 and later vi.lib DEBUG FORK  <<< ONLY WORKS FOR LV 2012. NOT COMPATIBLE WITH 2013. Aristos Queue's first draft of a debug logger

  For 2013 debugging, please take a look at Monitored Actors.

AF 4.3 for LV 2012 EXPERIMENTAL FORK for remote launching actors over network

 

Add-ons for Framework (Compatible with AF 4.x for either 2011 or 2012)

  • Linked Network Actor uses network streams to create a peer-to-peer link between two already-launched actors. This link is a short circuit of the usual Actor communication tree.  In the intended use case, the actors reside in separate application instances, such as a host application running on a desktop computer and a target application running on a real-time system.  Linked Network Actor is suitable for both continuous and intermittent connections, such as a host which periodically connects to its RT target for monitoring. EXPERIMENTAL_FORK, also compatible with AF 4.0.
  • State Actor Pattern is a behavioral design pattern that “allow[s] an object to alter its behavior when its internal state changes.  The object will appear to change its class.”[1]  Use this pattern if an object must change its behavior based on its internal state (i.e. if the class has two or more modes of operation such that the mode change alters the behavior of most of the class methods).  This pattern lets you avoid adding case structures that test for mode to all of your VIs, generally making for more maintainable code.
    EXPERIMENTAL_FORK, requires AF 4.1
  • Nested Network Actors use VI Server to enable distributed computing. By simply adding a new version of Launch Actor.vi that includes a new Application Instance refnum, an actor may be launched remotely or locally and the two actors -- caller and nested -- do not have to change any of their code. To the actors, it is totally unknown whether their queues are on the same machine or are being redirected to a remote machine. Provided that an actor has been designed to use no other communication other than the queues (which is emphatically recommended by AF designers), an actor tree may be deployed over many machines dynamically as new computing resources become available. Note that the current network code is blocked by firewalls -- anyone wishing to undertake rewriting the code using TCP primitives to deal with reversed opening of network connections would have the community's gratitude. Requires experimental fork 4.3 (fully backward compatible with all the other 4.x branches).
  • The Actor Framework Project Provider This project provider adds a number of useful Actor Framework wizards to the right click menus of your LabVIEW project.  It includes the functionality of the Actor Framework Message Maker that currently ships with LabVIEW, and adds the ability to make zero-coupled messages. You can also more easily add actors to a project.  You access all of these features through right-click menus in your project.

Documentation and Learning Tools

  • The NIWeek 2012 Hands-On Session Far and away the most complete step-by-step walkthrough of the Actor Framework. This hands-on session takes 2-3 hours to finish, but comes in smaller, bite-size chunks. You'll build an actor, build a message, connect them to other actors and from there build up a fully functional application. Includes the tutorial manual and the VIs. Compatible with AF 4.x.
  • Using The Actor Framework.pdf   The original whitepaper that goes into the details of why the AF works the way it does and many of the useful tricks for any AF expert. Notably, it discusses some techniques for debugging such applications.
  • Calling Actors From Non-Actor Code: Two Ways Shows two different methods for integrating non-actor code and actor code together so you can refactor just part of your project to use actors.
  • Web cast video: Introduction to the Actor Framework, recorded by Stephen Mercer and Allen Smith. Although recorded for AF 3.x, everything in the video is still valid for AF 4.x except the icons have changed.
  • Actor Framework.pptx     The introductory-level presentation we gave at NIWeek 2011 and 2012
  • Learning about the Actor Framework project template Eli Kerry's NIWeek 2012 exploration of the advanced project templates, with heavy focus on the AF template and how to build customizations of the template. Includes link to video of the presentation.

Support Tools

  • LV Class  Method Viewer Tool    A completely optional add-on for LabVIEW Quick  Drop that is nice to have if you do any OO work in LV, regardless  of whether you use the Actor Framework or not.
  • Want to build your own EXPERIMENTAL fork of the Actor Framework and be able to share it with the community? Install the "Build Your Own Fork Of The Actor Framework" package, which gives you an isolated version of the files to build from and the already built VI Package Manager data base files needed to create a package that installs and uninstalls correctly.

Old Versions

v3.0.7

Comments (2)