10-13-2014 02:02 AM
Hi everyone,
thank you very much for your comments. You are absolutely right that part of my frustration stemmed from the fact that I created logical layers but didn't put thought into the exact function they were supposed to fulfill.
I think zero coupling is the way to go and would make it very powerful.
I'll keep you posted with what I come up with.
thanks a lot again
BR Mathis
10-15-2014 08:37 AM
Have you considered making the UI a compound thing that is distributed amoung the various actors and assembled into a whole via subpanels? I generally have each component** have it's own dedicated subUI that is shown when needed in a subpanel or separate window. Then, most detailed information doesn't have to go very far. This is also a technique that works well with plugin components, since the higher-level actors don't need to know as much about their subactors.
**Note: I use a different actor-like framework than the AF.
10-15-2014 09:43 AM
As some background I have a system deployed on a cRIO with the controller on that target. I have a UI running on a PC in a control room.
To add to the above comment I will mention that I make a System UI that connects to the system and displays system messages and that has subpanels that get loaded with subsystem UIs. The subsystem UI connect directly to their subsystem and display that specific data.
So I have UI messages going from my RT subsystem to my PC UI without going through the system controller. I also only send subsystem state messages to the system controller. This works well for modularity. It requires the interface to the main controller to be well defined, but allows custom UIs for each new subsystem.
Casey
Phoenix, LLC
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!
10-15-2014 12:30 PM
CaseyLamers1 wrote:
As some background I have a system deployed on a cRIO with the controller on that target. I have a UI running on a PC in a control room.
To add to the above comment I will mention that I make a System UI that connects to the system and displays system messages and that has subpanels that get loaded with subsystem UIs. The subsystem UI connect directly to their subsystem and display that specific data.
So I have UI messages going from my RT subsystem to my PC UI without going through the system controller. I also only send subsystem state messages to the system controller. This works well for modularity. It requires the interface to the main controller to be well defined, but allows custom UIs for each new subsystem.
Casey
Out of curiosity are you running the actor framework on the CRIO?
10-15-2014 12:47 PM
Yes.
Pretty big project.
Could go on and on about likes and dislikes, tips and tricks, etc. but that probably doesn't fit under the topic of this thread...
Phoenix, LLC
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!
10-15-2014 12:50 PM
CaseyLamers1 wrote:
Yes.
Pretty big project.
Could go on and on about likes and dislikes, tips and tricks, etc. but that probably doesn't fit under the topic of this thread...
Thanks for the info, so far i've kept my CRIO's actor free. If you have time to start a new thread about pro/cons that would be great.
10-15-2014 12:55 PM
Jed394 wrote:
CaseyLamers1 wrote:
Yes.
Pretty big project.
Could go on and on about likes and dislikes, tips and tricks, etc. but that probably doesn't fit under the topic of this thread...
Thanks for the info, so far i've kept my CRIO's actor free. If you have time to start a new thread about pro/cons that would be great.
I would second the motion for a thread about AF and CRIO. I'm working a project right now using AF on CRIO and would love to hear what others have found.
10-15-2014 03:37 PM
I have created a new post regarding AF on cRIO. This is just a starting point and something I could get going for right now. I hope it can evolve into something great!
https://decibel.ni.com/content/thread/25059?tstart=0
Casey
Phoenix, LLC
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!
10-22-2014 02:44 AM
Thank you very much for all the helpful comments. As already mentioned before I hadn't really thought throught through the structure of the software. I organised the software in fucntional groups without figuring out what each layer is actually doing. This is obviously kind of a suicide in any kind of OOP as a class/actor needs to have a defined purpose (and that shouldn't be just to create overhead by relaying messages).
My current approach has a structure which is a lot flatter (as I can't figure out what the process layer should be doing to the data before it gets displayed .. so clearly that layer is obsolete).
I think the idea to display sub panels is a great idea. I think XTabs would be a neat way of doing that. Do you have an elegant way of broadcasting the vi references of each actor to the GUI?
@Dr Powell: I've seen your post about your AF which uses 30k+ actors without performance issues. Impressive feat! Is that available to the public?
10-22-2014 03:14 AM
Hi,
I use a Viewable Actor and subpanels as shown in Simon's Win 8 UI demo instead of XTabs. So far working great!
Thanks,
Danielle