Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

CLA ATM Exam

Hi Everyone,

I am preparing for my CLA exam and I have one wustion regarding Architecture:

Normally I would set everything up, by building a launcher, which starts my parent Actor (In this case the ATM Controller), which in turn launches the nested actors (Simulated Console and Simulated Database). This architecture makes a lot of sense to me, since I can get the Enqueuers of everyone, just where I need them and everyone can communicate with whom they need to communicate with.

However in the Requirements document introduces a "Simulation Interface" which does nothing but call and close everyone. This is in the requirements SI1-3. (Not sure if I'm allowed to post them here) Does the Simulation Interface have to be an Actor, VI or other or can the Simulation Interface also be comprised of the 3 Actor System I described Above?



Remember Cunningham's Law
0 Kudos
Message 1 of 4
(4,022 Views)

I would treat the simulation using dynamic dispatch.

Create a parent actor that has dynamic dispatch methods for all the messages you need. Then create a simulated version that implements things in a simulated way.

You can have as many actors as makes sense.

Casey Lamers


Phoenix, LLC


casey.lamers@phoenixwi.com


CLA, LabVIEW Champion


Check Out the Software Engineering Processes, Architecture, and Design track at NIWeek. 2018 I guarantee you will learn things you can use daily! I will be presenting!

Message 2 of 4
(3,160 Views)

I haven't tried to implement it, but my guess is that if I implmented it, it would look a lot like the Actor Framework Evaporative Cooler example where the UI is an actor that communicates with the back end actors that you describe.

Message 3 of 4
(3,160 Views)

OK, thanks for the input, guys.

I think it is a bit confusing to be honest, as it says in the description that the simulation interface has to be a piece of software, but in the requirements it say nothing of the sort. So the way I understand it, I create a launcher VI that launches the ATM Controller as Parent, which in turn launches the children (Console and DB). That way it is easiest to obtain the enqueuer references, which would be a huge pain if there were a "Simulation Interface parent actor".

Using dynamic dispatching is brilliant and I had already thought of that.



Remember Cunningham's Law
0 Kudos
Message 4 of 4
(3,160 Views)