From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Actor Framework Documents

cancel
Showing results for 
Search instead for 
Did you mean: 

AF 4.1 for LV 2011 user.lib MAIN FORK

This package installs AF 4.1 for LV 2011 into user.lib.

This is the same version of the AF that released with LV 2012 with one performance improvement and one new method ("Substitute Actor.vi"). It is fully backward compatible with version 4.0.

This version installs into user.lib. The LV 2012 version installs into vi.lib, as it is now a formal part of LabVIEW.

This is the MAIN FORK. That means this is the blessed, non-experimental, certified, real community version of the Actor Framework. 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.

There will be multiple EXPERIMENTAL and multiple DEBUG forks of the AF posted for the community to use. 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). 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.

Comments
tst
Knight of NI Knight of NI
Knight of NI
on

Is this an upgrade (i.e. a replacement) for 3.x or will it install into somewhere else in user.lib?

Since 4.x changed the API, does that mean If I have apps that use 3.x and I install this, I will have to fix those to conform to the new API?


___________________
Try to take over the world!
cirrusio
Active Participant
Active Participant
on

Appears to be a replacement (i.e. installs in the current directory).  If you have been using 3.x, prepare for some rework.

AristosQueue (NI)
NI Employee (retired)
on

For details about the rework that you have to do, see this thread:

https://decibel.ni.com/content/message/39562

Active Participant
Active Participant
on

v4.1.0.29 installs to "<user.lib>\ActorFramework", but older packages install to "<user.lib>\Actor Framework". If you're upgrading from AF 3.x, you'll also need to rename the folder prior to installing the new package.

Active Participant
Active Participant
on

Upgrade Instructions from Older Versions

Here are instructions for upgrading by hand. Set aside 30-60 minutes to do follow these instructions and check for success. CHECK ALL YOUR PROJECTS INTO SOURCE CONTROL BEFORE STARTING. You'll be happy you did if anything goes wrong halfway through.

  1. Install the vanilla VI Package of your current AF version. Any customizations you've made to the framework will be reverted.
  2. Open a LV Project and copy all classes from existing projects that inherit from AF's classes into this project. Close all other projects to prevent the AF classes from being locked for editing.
  3. Rename the following files in any order using the LV Project. DO NOT rename them using Windows Explorer or a shell prompt. Save the entire project after each rename (just to be safe).

OLD NAMENEW NAME

Message Queue Pair.lvclass

Message Queue.lvclass

Message Queue Pair.lvclass:Obtain Message Queue Pair.viMessage Queue.lvclass:Obtain Message Queue.vi
Message Queue Pair.lvclass:Read Receive Queue.viMessage Queue.lvclass:Read Dequeuer.vi
Message Queue Pair.lvclass:Read Send Queue.viMessage Queue.lvclass:Read Enqueuer.vi
Message Queue Pair.lvclass:Release Message Queue Pair.vi    Message Queue.lvclass:Release Message Queue.vi

Send Queue.lvclass

Message Enqueuer.lvclass

Receive Queue.lvclass

Message Dequeuer.lvclass

Actor.lvclass:Get Queue For Sending To Self.vi

Actor.lvclass:Read Self Enqueuer.lvclass

Actor.lvclass:Get Queue For Sending To Caller.vi

Actor.lvclass:Read Caller Enqueuer.lvclass

LastAck.lvclass:Read error report.viLastAck.lvclass:Read Error Report.vi
LastAck.lvclass:Read Caller-to-Actor Queue.viLastAck.lvclass:Read Caller-To-Actor Enqueuer.vi

Notes on renaming .lvclass files (in bold):

  • Place renamed .lvclass file in a folder of its own name. e.g. move "Message Queue Pair\Message Queue Pair.lvclass" to "Message Queue\Message Queue.lvclass".
  • After renaming any .lvclass file, switch to the "Files" tab in the Project Explorer and drag all class members to the new folder. No class members should remain in the old folder.

  1. Using the LV Project Explorer, move Actor Framework.lvlib from "<user.lib>\Actor Framework" to "<user.lib>\ActorFramework". Now open the "Files" tab in the Project Explorer and drag all of the library's dependencies into the new folder. Repeat for any other parts of the framework you've been using that are not members of the library (e.g. Batch Msg.lvclass).
  2. Save everything, close your project, and close LV.
  3. Uninstall AF.
  4. Install AF 4.1 using the package above.
  5. Open your project. It should load without problems. Verify that everything upgraded successfully.

Notes on upgrading from AF v3.0.7

  • "Stop Core.vi" has a new required input. You'll have to add it to all dispatches of this VI.
benjaminh
Member
Member
on

Works like a charm. Thanks for these nice upgrade instructions.

RaymondFarmer
Member
Member
on

Is there a later version for LV2011 which contains the Launch Nested Actor.vi and Launch Root Actor.VI?

Contributors