From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
03-13-2017 02:37 PM
03-14-2017 08:10 AM
I just realized that there's an Actor Framework solution provided for the car wash exam. I made the erroneous assumptions that all the example solutions would be more or less the same. Sorry for asking dumb questions.
03-15-2017 10:14 AM - edited 03-15-2017 10:24 AM
Hey Thomas,
Welcome to the CLA and Actor Framework. Take a look at a few of my examples and then the discussion that followed for some of my journey. http://forums.ni.com/t5/Certification/Sample-Exam-Solutions-for-Review/m-p/3588940#M2879
Basically I just passed the CLA using the AF and I agree with some of your ideas, and you can see how I did things. I can not guarantee that my examples would pass, but it should give you some ideas.
As far as the root versus nested solution. I would suggest making the controller the root. Then all the other modules are nested actors. So there is no need for a global storage of the enqueuers, but you are correct each module talks through the controller. Then yes you can utilize out of the box the error handler and the stop core.
I also just re-read your question about the withdrawal... Not sure this is the best advice but... The CLA didn't appear to me to require that level of thought. I say this as a non NI grader, so buyer beware. They are not looking for the in depth implementation that handles that level of detail. They are looking at an architecture with some notes. The developer should worry about the fine details.
So the UI can say controller I want to withdraw $X. Then the control can ask the DB withdraw $100. The DB can either reply success or failure. The controller then can tell the UI etc, success or error. It is up to you how many messages that is, and you could easily make a DB VI that takes an amount in and returns a true\false or an error. Then in your comments say this is a message with reply. Don't implement it, and don't try to script the messages or even the reply classes. The developer gets to do that.
When you look at my examples you can see in some of my examples, you really are more saying I need a message "withdraw" and some DB query. You do not need to every make those messages work, so logic in regards to race conditions etc are not really necessary to the CLA. Though in general the architecture should protect against that and depending on the messages you make the AF will handle that for you.
Good luck
03-16-2017 02:30 PM
Hi Thomas,
First off, I watched a youtube video of performing the CLA, so if that was you, thanks for publishing it!
Second, I will share a method to perform "synchronous" data operations with asynchronous modules that I took from the Delacor QMH. There are two main components, the API call to the module which other modules can use, and the handling of the call inside the module. First, here is an API call for "Get Status" that gets string data from the module, but the data can be anything. The data should be in a typedef'd cluster in case you change it at all, but I skipped that to save time. It creates a notifier, enqueues the "Get Status" state to the module, and waits for a notification to come back.
Next, here is what the module looks like. It converts the variant back to a notifier, and send a notification with the data.
Now when the API is called from another module, you get the data right there and can act on it how you please.
01-14-2018 12:37 PM
Hello Everyone,
I am preparing for LabVIEW CLA Exam and have been using QMH architecture for developing the architecture for sample project application as I am not familiar with Actor Framework. My question is, Shall I use QMH architecture for CLA exam? Will I lose any points as I am not using Actor Framework?
01-14-2018 02:43 PM
You will only lose points if the architecture won't solve the problem. So just use whatever you are used to.
01-15-2018 01:43 AM
Thanks for your reply. Do we need to recreate the UI on Front Panel with respect to question given on CLA Exam?
Thanks
Durai S
01-15-2018 11:02 AM
Yes, you create any UI elements, which are usually the simulated hardware pieces. Keep it simple though, there is no extra credit for a nice UI.
01-15-2018 04:11 PM
Durai, Make sure you download the sample exams along with the solution examples. Study the solutions that others have given, I believe all of them have an example of a Queued Message Handler then practice re-creating them. What I did the day before the CLA is I took the whole day off work and I solved each of the 3 CLA sample exams using the method I choose (Actor Framework in my case, QMH in your case).
02-18-2018 08:40 AM
Hello Everyone,
I have made attempt with CLA ATM sample exam. Kindly review and let us know your comments.