Phoenix LabVIEW User Group (PLUG)

cancel
Showing results for 
Search instead for 
Did you mean: 

Using Objects By Reference 111013.pdf

Please feel free to submit comments regarding the accuracy and completeness of this presentation.

Nate Moehring

SDG
Message 2 of 7
(7,254 Views)

Quite a nice description of definitions, capacities, and options for implementation of by reference objects.  Thanks Nate!

0 Kudos
Message 3 of 7
(7,254 Views)

I'm a huge fan of #5 Private DVR / Protected Data -- it's the biggest bang for the buck with the fewest drawbacks/cons.

0 Kudos
Message 4 of 7
(7,254 Views)

Thanks Jim.  Do you do this style of programming exclusively with GDS, manually, or home grown tools?

Nate Moehring

SDG
0 Kudos
Message 5 of 7
(7,254 Views)

Hi Nate. We should defitely chat more about this.  Over the years I've created (and collaborated on) several by ref frameworks (and I've certainly used GDS) -- I was originally inspired by the Endevo GOOP toolkit. At JKI, we've got some in house tools that I'm hoping to open up more (to the community) in the future. I'd love your input on this topic -- it's near and dear to me.

FYI, there's an appendix in LabVIEW for Everyone 3rd Edition that talks about the evolution of by ref OOP (prior to LVOOP) -- I added this, since LVOOP was supposed to be released around the time of the book, but LVOOP got delayed and I was inspired to include a taste of OOP in the book.  I based this chapter on my work implementing OpenG OpenGOOP (semaphored reentrant LV2G's called by reference and some of the SciWare GOOP Developer templates.

Tomi Maila and I worked together on more sophisticated OpenG Object templates that support nested locks. At JKI, we developed a sophisticated (and somewhat bloated) active object framework (think By Ref Objects + JKI State Machines + GUIs + Public/Private Events). Lately, we've been working to decompose these into tools/templates that are more lightweight and composable.

I've played a bit with Actor Framework, but it tends to solve problems I don't really have (I've never really been a fan of the Enum+Variant based Queued Message Handler architectures, due to the difficulty in visualizing and debugging the program flow) and create new problems I didn't have before. I much prefer the ease of development and debugging of the JKI State Machine and then adding support around it for by reference OOP and life-cycle management. However, I'm thinking that Actors could be a nice way to implement some of the communication between class methods and their asynchronous process(es).

Hmmm. I should probably add some more info the History of GOOP on the LabVIEW Wiki

0 Kudos
Message 6 of 7
(7,254 Views)

I'll also add that I loved reading your "Using Objects By Reference" doc, Nate.  Very good stuff! Kudos.    

0 Kudos
Message 7 of 7
(7,255 Views)