ni.com checkout is currently experiencing issues.

Support teams are actively working on the resolution.

Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Learning LVOOP through Actor Framework

Yes, when I run the Cooler example for about a minute, then it errors out.

Also, I am really confused about a certain part of the Cooler Demo.  Maybe there is a missing Do.vi?  Could anyone look at this and comment?  The missing Do.vi is in the Temp Update Message.lvclass maybe?

The reason that I am confused is because I cannot figure out what is processing the Temp Update Message that is sent by  "Send Temp Update.vi"   Is there maybe a parent Do.vi that is handling this instead?

Ben Yeske
0 Kudos
Message 21 of 31
(1,660 Views)

Yes... something is messed up in what's posted. Not sure what... give me a bit and I'll try to puzzle it out.

(Now, the big question is why no one has mentioned this until now...)

0 Kudos
Message 22 of 31
(1,660 Views)

monzue wrote:

Yes, when I run the Cooler example for about a minute, then it errors out.

Also, I am really confused about a certain part of the Cooler Demo.  Maybe there is a missing Do.vi?  Could anyone look at this and comment?  The missing Do.vi is in the Temp Update Message.lvclass maybe?

The reason that I am confused is because I cannot figure out what is processing the Temp Update Message that is sent by  "Send Temp Update.vi"   Is there maybe a parent Do.vi that is handling this instead?

So, there's no missing VI... Temp Update Message does not have a Do.vi --- it is an abstract class. The two child classes ("Temp Sensor Update Message" and "Temp Monitor Update Message") both have Do.vi methods.

This is an example of the zero coupling pattern (albeit a bit of an early prototype... we've refined this concept a bit over the last year or so)... the owning actor gives a message to the temp sensor when the temp sensor is launching and says, "Now, when you have an update, send this message to your owner." The temp sensor has no idea who its owner is, just that the owner will know how to read this message. The Feedback Cooler provides one type of message; the Temperature Monitor provides a different type of message.

The error handling being messed up is still a mystery to me.

0 Kudos
Message 23 of 31
(1,660 Views)

Ok... everything is mostly working fine. There are no missing VIs. My initial "something is messed up" was because this is an older app written against an older version of the AF (ok, so it is the most recent version that you guys have... I haven't used that version for four months!). It just works differently, but it isn't broken, per se.

There is one improvement easy improvement to be made that might make things a bit easier to understand... I'll post the modified VI to monzue privately since I can't attach files to this reply (why oh why can't I attach files to replies?).

0 Kudos
Message 24 of 31
(1,660 Views)

GRRR... can't post files as private messages either. So, I have posted the VI here: https://decibel.ni.com/content/docs/DOC-20928?uploadSuccess=true

0 Kudos
Message 25 of 31
(1,660 Views)

This has been a long time coming.  I have put together some example code, it compares some code written with a traditional QMH, LVOOP, and the Actor Framework.  The functionality of the code is intentionally simple as I wanted people to be able to focus on the implementation without first having to understand the codes purpose.  I think that this is exactly what I was looking for two years ago.  I hope that it helps someone, and am very open to feedback if anyone has thoughts on making it better.  One idea is to iterate over this principle of apples to apples code comparisons, increasing complexity as we go.  This is written with LV2013, no reason it couldnt be rolled back to 2012 if need be.

You can find it here: https://decibel.ni.com/content/docs/DOC-32600

0 Kudos
Message 26 of 31
(1,660 Views)

I didn't see it at that link. I see it here, though:

https://decibel.ni.com/content/docs/DOC-32600

0 Kudos
Message 27 of 31
(1,660 Views)

Thank you Todd, I will update that link in my post ASAP to minimize confusion.  I am working on an unpublished blog post for that code sample and must have accidentally copied a link to the blog portion of the community page.  Thank you for catching it.

0 Kudos
Message 28 of 31
(1,660 Views)

Welcome! Pointing it out is the least I could do, since I use some of your GUI techniques for just about every project, now. Thanks for allowing the video to be shared.

0 Kudos
Message 29 of 31
(1,660 Views)

I'd appreciate a 2012 version to look at 🙂

0 Kudos
Message 30 of 31
(1,660 Views)