Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Learning LVOOP through Actor Framework

Good call LVB.  Had I seen that I probably would not have gone through the trouble of porting the v1.1 Demo.  But it is done though and attached.  I make no guarantees on how well it works.  It was just hack and slash replacements, but you can get an idea of another application.

Kurt

0 Kudos
Message 11 of 31
(1,678 Views)

Hi LVB, last time I looked at this niACS had not yet replied with an outline of the steps that need to be taken to use the demo.  It will probably make more sense with that info.  I will give it another look this evening.

0 Kudos
Message 12 of 31
(1,678 Views)

Thanks for putting that together KuGr.  I will take a look at it this evening as well.  I appreciate all the responses pointing me towards existing demo code.  Hopefully this thread will be helpful to others as well!

0 Kudos
Message 13 of 31
(1,678 Views)

I posted a reply, with steps, for the NI Week demo.  It's an extremely simple demo, just enough to get started.  I hope to write a better set of examples in the near future.

0 Kudos
Message 14 of 31
(1,678 Views)

If you are just getting started with LVOOP, I recommend you take some time making sure you understand the core language features *before* trying to dive into Actor Framework.  AF applies LVOOP to implement a particular, very common LabVIEW design pattern, as outlined in our slide presentation, but you need to understand how classes work in LabVIEW before you can use AF effectively, or understand how it is put together.  In particular, you need to have a good understanding of how and why to encapsulate and abstract, and when and how to use inheritance.  These are important concepts for all LVOOP implementations, of which AF is but one (we think very effective) example.

0 Kudos
Message 15 of 31
(1,678 Views)

I agree with niACS on the difficulty with learning both.  Perhaps you have no choice here with your upcoming presentation.  We are here to help so ask away.  Also use LAVA if you have not already.  I don't really watch the NI forums except this group.

Does your audience for your presentation know object oriented programming or better yet, LVOOP?  If not, you might want some simple examples on that too or at least slides.  I know there have been a number of presentations that were posted on NI.  If you need some links I can probably dig some up.

Does your audience understand reasons for implementing a messaging system?  Have they done this in the past?  At my company, I struggle with that every day.  They have gotten by without it, without object oriented programming, without ever exploring many of the new features LV.  They are a bunch of chemists with a dirty little programming habit and those dirty little habits are now haunting us.

Anyway, I have a soapbox I carry around at work and at least for now I have the backing of management.

Message 16 of 31
(1,678 Views)

Hi KuGR, I spent a good deal of time last night on both the alliance day demo and the 2011 offline demo.  I agree with both you and niACS that my lack of experience with OOP is my main hurdle at this point.  My audience is made up mostly of CLA's with minimal to no LVOOP experience.  We do have a few people who are well versed in LVOOP but the majority are not.  We definitely are familiar with QDSM and make use of them pretty heavily in our work.  The people who do use LVOOP will use it as a supplement to a classic LabVIEW architecture, the idea of using LVOOP to define the architecture will be new.

I have visited LAVA, I find that the information there is usually over  my head when it comes to LVOOP.  It may be a good place to post a few questions though.  If you have any links to LVOOP presentations handy I would like to take a look at them.

My goal for this weekend is to work on a Actor Framework approach to an Alarm Clock.  Once complete I will write a similar application using the AMC refernce library for comparison.

I have attached my first attempt at a class hierarchy.  I am intending for the Alarm Clock class to be the main actor that launches the other actors.  The other actors will need to communicate with the Alarm Clock or whichever one of its children get launched (I am sticking pretty close to the Cooling System demo layout).  I have not thought about the Message classes yet.  I need to get this laid out in a project first.  I apprecaite any thoughts on this initial layout, I am going to try and stumble through this and learn as I go.

0 Kudos
Message 17 of 31
(1,678 Views)

So, bring your kool-aid to the presentation and make sure everyone takes a sip.  Seriously, though, at least you have some knowledgeable people.

The level of some LAVA discussions is indeed intense.  I still have trouble there sometimes.  They won't bite though and if you can't get a reasonable answer elsewhere, you should feel free to post.  I am by no means an expert and would put my level below niACS.  I believe he is one of the AF authors, working with Aristos Queues.

Hierarchy looks pretty good.  I was not sure what Alarm will do as an Actor.  I am thinking of it as a verb which makes it more like a message so it may be symantics.

We can get into some discussions about slightly different hierarchies later.  For now, it is best to use an example that works.

Oh wait, now I get it, the Alarm is the noise.  If enabled on the AlarmClock, AlarmClock will send a message to turn on.  Am I right?

I will put together some links for you soon.  I checlk my mail though the weekend too, so post away!

-Kurt

0 Kudos
Message 18 of 31
(1,678 Views)

From Shaun Hayward of Bloomy Controls:

     http://www.ieee.li/pdf/viewgraphs/ni_object_oriented_programming.pdf

also:

     www.bloomy.com/resources/Bloomy_LVOOP.ppsx

LAVA back to NI gets you videos:

     http://lavag.org/topic/11218-excellent-intro-presentation-on-object-oriented-programming-in-labview/

Tomi Maila of ExpressionFlow:

     http://expressionflow.com/wp-content/uploads/2008/05/nidays2008_maila.pdf

You can simply search on the NI site for "object oriented programming".  One hit is this (with additional links):

     https://decibel.ni.com/content/groups/western-pa-labview-users/blog/2009/03/25/what-the-heck-is-obje...

0 Kudos
Message 19 of 31
(1,678 Views)

I've been slowly coming up to speed on AF, today. The Cooler example isn't error-ing out the way I expect, so I added what I thought was a good next step to StartAndStopActor.vi. A zipped 2011 project is attached.

0 Kudos
Message 20 of 31
(1,678 Views)