Jump to content

SIMPLE Object Based Framework


Recommended Posts

Hi all,

 

My concern is about object based framework.

I'd like to talk about a "sensitive" subject, which divides people around me.

I'm sure there are a plenty of objects aficionados here.

A few years ago, LabVIEW give us the first object based template : the Actor Framework, which is certainly powerfull

 

...but just

 

UNREADABLE !!!!

 

When I conduct Core3 training, I'm tempted to show what could be an object based framework in LabVIEW, then I remember how the actor framework looks, then I decide to make my trainies continue to use LabVIEW, and finally I don't show the actor framework.

When will NI provide a SIMPLE object based framework in the TEMPLATES ?

Something like the command patern exposed here by Elijal Kerry :

https://ekerry.wordpress.com/2012/01/16/oriented-design-patterns-for-labview-that-can-make-your-life-easier/

or in a the test executive example of the PTP sequencer :

http://www.ptpartners.co.uk/ptp-sequencer/

I still use the "old" QSM (please Daklu, don't bite me), for sure it is not an ideal solution...

I love objects, I used them a lot in my code, but not currently for my high level code.

Any links or suggestions ?

 

Thanks,

 

Sebastien

 

CLA

Link to comment

Full disclosure I don't use the Actor Framework and am not a fan.

 

That being said, NI apparently did consult with many real world CLA's on how to make the Actor Framework.  I don't know who in particular they consulted with, but the intent was to get the opinions of those that would end up using the framework, and try to understand the best way to make it.

 

Also if you are a CLA and have the opinion that the framework is UNREADABLE, then I feel there is something wrong here.  Either the framework does need major overhauling, or maybe you need to look at some training on the framework.  I'm not trying to suggest you aren't competent please don't read it that way.  I just don't know how much you have invested in trying to understand the framework and certainly anyone new to it will feel lost (I know I do).

 

I often fall back into the QMH on a fresh install of LabVIEW, or the JKI state machine if I have a chance to install it.  For larger applications I usually spin my own actor type design using user events and variants.  I can't get over several things with the Actor Framework like the re-entrant actors, which make debugging difficult.  Honestly it might just be how I think about my applications, but there is never a time when I would want to kill just a single actor.  The only time an actor should close, is if the global quit was issued.  With plugin architectures, and factory designs I can see a need, but that just isn't the world I live in.

 

EDIT: Just saw this crosspost.

  • Like 1
Link to comment

Predictably, +1

I laughed but that could be read a few different ways.  Let me clarify I actually made several efforts to use the Actor Framework.  So I wasn't trying to say I hate this thing that I've never used.  I was trying to say I made an effort and didn't like some things about it.  It isn't complete crap, but it over complicates things where I don't need it to be, and doesn't do some of the common things I would like it to.  People with different needs may find exactly what they need in the Actor Framework.

Link to comment

I laughed but that could be read a few different ways.  Let me clarify I actually made several efforts to use the Actor Framework.  So I wasn't trying to say I hate this thing that I've never used.  I was trying to say I made an effort and didn't like some things about it.  It isn't complete crap, but it over complicates things where I don't need it to be, and doesn't do some of the common things I would like it to.  People with different needs may find exactly what they need in the Actor Framework.

Pretty much my assessment so my comment was agreement with you. For clarity, it is well known I dislike the AF, hence the predictably bit since I view it as a Rube Goldberg machine that solves a problem noone really has, in a way noone really needs.

Link to comment

They use Text-Variant messages rather than Command Pattern, but the OP could also consider looking at:

— mje’s Message Pump, which uses “Actorâ€-like objects that can be inherited from to add functionality.

— my Messenger Library, which includes a Sample Project that redoes the NI “Continuous Measurement and Logging†example.  It uses OOP extensively in the Message-passing objects, though the “Actors†are actually just single VIs.   Don’t know if this counts as an “object-based frameworkâ€, as one isn’t required to do much OOP in actually using it.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.