Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Will I lose points on the CLD Exam if I use a Launcher vi in addition to the provided Front Panel?

Solved!
Go to solution

I've been practicing the CLD sample exams. I feel like AF provides more flexibility than the "fixed" state machines in the provided solutions. I use a launcher VI that bundles the "root" directory into an actor's private data, then launch that actor and wait for Last Ack. I copy the provided FP onto the UI Actor Core.Any idea whether I'll get dinged for having a launcher? Should I just name the launcher "ATM.vi", or so? How should I allow the final display state to be seen, since the actor closes its FP on stop? I've thought about crazy things like putting an image of the final FP state on the FP of the launcher - or creating all control refs and user events on the launcher, and passing them to a headless UI actor. Any thoughts?

0 Kudos
Message 1 of 9
(6,685 Views)

This is a probably a better question to post over on the Certification board: http://forums.ni.com/t5/Certification/bd-p/Certification

The folks who actually grade the CLD exams check that board, and would be able to give you a more concrete answer.

Bear in mind that we use automated tools when grading the CLD exam, and part of that is a reliance on a VI with the correct name (with the correct controls of the correct types and the correct control names) being located at the correct path.  If you break that, you will probably lose points.

I suspect that you will run out of time if you try and get too fancy with the CLD.

Cheers,

Matt Pollock
National Instruments
Message 2 of 9
(4,433 Views)

Thanks MattP. Posted: http://forums.ni.com/t5/Certification/Will-I-lose-points-on-the-CLD-Exam-if-I-use-a-Launcher-vi-in/m...

I posted two solutions for review, there, just this week and thought I'd ping the AF board.

I realize I was being fanciful about FP images, and such. It's just so easy to use AF on these little apps. I'll find out next week how the grading goes.

0 Kudos
Message 3 of 9
(4,433 Views)

Are there multiple processes required for the CLD exam samples?  If not, I have to question why you would want to use AF.  It seems a queued message handler (QMH) would be more appropriate architecture for the CLD.

The CLA however generally requires multiple processes and inter-process communcation with a hardware abstraction layer.  The AF seems more appropriate for these requirements.

CLA, CTA
0 Kudos
Message 4 of 9
(4,433 Views)

Required? No. Yes: concurrency and IPC are benefits of AF. However, compartmentalization and modularity are also benefits. Of the four sample CLD exams I've tried, it's very easy to create FP obj refs for "static" controls (pass the refs to the business-logic actor), user events for display elements (pass those to the actor, too, and maintain display state in the actor's private data), and value-change events for FP response (to send messages to the actor). AF is A KIND of QMH, except the case structure is done via dynamic dispatch, and state is maintained in the actor's private data.

When I talk to people (both of them) about AF, they always ask, "You're not using parallel processes - how does using AF make sense?" My old answer was, "Hey, just trying to learn.". My new answer is, "Wow, AF makes it easy to create 'cases' (methods) that the caller AND the actor can use - and it just makes more sense to me to see a list of methods (VIs) instead of a list of case statements. The logic is all settled nicely into one class. And that class can be inherited from, overridden and extended. And I can package up the actor and use it in other projects without copy-pasting the case structure." (I keep talking, but they lose interest.)

When they do need parallelism, they spin up a VI with ACBR. That's not difficult to manage, but (as my AF skills slowly improve) it is getting pretty easy to spin up another actor.

I'll put it this way: CLD code could be (and has been) written with a single loop, polling controls, single SR per indicator, two-loop QMH, etc. Check out the stage lighting example code in Core 3 - they have a producer q, consumer q, and UI q. They feed those queues to an error handler LV2/MFVI. Isn't that four concurrent processes - except each process is gated in time by all others in a traffic light hyperbolic two-step?

The meager solutions I crafted (two of which are posted, so far) are not very complicated. And if someone wanted to change the traffic light's requirements to accomodate nine streets instead of four (e.g., for a traffic light, such as an intersection I saw in Boston this morning - go runners!), AF makes it easier to modify - in my opinion.

0 Kudos
Message 5 of 9
(4,433 Views)

MattP wrote:

.

Bear in mind that we use automated tools when grading the CLD exam, and part of that is a reliance on a VI with the correct name (with the correct controls of the correct types and the correct control names) being located at the correct path.  If you break that, you will probably lose points.

This doesn't sound like much actual grading is being done

0 Kudos
Message 6 of 9
(4,433 Views)

Jed394 wrote:

This doesn't sound like much actual grading is being done

They didn't say that the automated is the *only* grading, only that some of the grading is automated. It's like a math exam... the machine grades whether you wrote down the right answer or not. The instructor grades the "show your work" part where you showed how you got that answer.

Message 7 of 9
(4,433 Views)
Solution
Accepted by Todd_Lesher

The original question has been replied to on the certification board.

One note, please be assured that there is a lot of grading being done.  The VI analyzer is also used.  

The CLD is about problem solving with LabVIEW.   So, any type of architecture is fair game.  Proper style and documentation is required and demonstrated functionality is also required. 

A general piece of advice would be to not use any techniques that are not familiar methods.  The exam is four hours, so keep this in mind when evaluating the time needed to use any architecture.

Mark Ramsdale
Program Manager & CLA
Global Demo and Equipment at National Instruments
0 Kudos
Message 8 of 9
(4,433 Views)

Thank you! It doesn't feel, to me, that it take longer.

0 Kudos
Message 9 of 9
(4,433 Views)