08-10-2010 11:30 AM - edited 08-10-2010 11:38 AM
All of the presentations for NI Week 2010 are available in the NIWeek 2010 Community. If you attended NI Week, you should already be a member of the community. If you did not attend NI Week, click on the link and request to join the community (you will have to create a user profile if you have never used the NI Community pages ever before).
Once you are a member of the community, you can go here to get a full copy of the "LabVIEW Classes: The State of the Art" presentation that Mike Benza and I gave, along with all the VIs used during that presentation.
I spent the bulk of that presentation discussing my new Actor Framework.Many users have spent time developing mechanisms for starting up multiple top-level VIs, establishing communications among those VIs and then tearing those VIs down when the app completes. It is easy to make a system that works sometimes. It is very hard to make one that always starts cleanly (so no VI misses early messages), avoids deadlocks during communication, and actually shuts down all running processes. Very hard. Multiple users have posted their attempts to me.
At the same time, I've been looking at state machines, that very common design pattern for LV programmers, and lamenting that if I build one statemachine for a project and then I need that same machine but with just one more frame of the case structure in another project, I have to copy all the code. How do I build a state machine that I can inherit from and extend?
These twin challenges lead to the development of the Actor Framework. It incorporates ideas from several similar frameworks developed by users (both internal and external to NI), and adds a few extras to make it really robust. I found one CLA who lives near NI to test drive the framework in a real-world application. That work is still ongoing, but so far, the framework appears to function well, with good performance and no missing functionality. More importantly, it is easy to pick up and learn -- we decided that was important since so many of the macroscale frameworks that have appeared in the last five years have a steep learning curve.
The framework should not be considered "finished". The presentation includes some notes about further refinements that we have planned, and I am open to further suggestions from the community. I would like to see this develop into something that we can share next NI Week as a polished set of VIs and classes that any of our users can pick up and run with.
Please post any comments you have about the framework on the community page where the framework can be downloaded. That way any conversation about it is centralized instead of being spread across the forums, LAVA and the NI Community.
PS: The Actor Framework is saved in LV 2009. You do not need LV 2010 to view and use the framework.
09-09-2010 02:36 PM
Why posted to a non-open forum?
09-09-2010 02:45 PM
I looked at this framework after some co-workers showed it to me (post-NI week), but I must admit it's still a bit over my head! I plan on spending some time wrapping my brain around it in the near future though.
09-09-2010 02:47 PM
It sorta of sounds like my Active objects that consist of generic vit's that pick-up their personality depending on which class I pass them to use but... since I am locked out of that conversation, i can only wonder.