05-03-2022 08:23 PM
Hi Chase,
That sounds like a very exciting opportunity you have there. Not often it seems you get the chance to re-architect a large system like that from the ground up!
I have been developing with Actor Framework for around 10 year now, and I would choose it in a heart beat for this application. However more important that AF is using OOD (in my opinion). I have found this the single most important key to developing applications that don't become a challenge to maintain and are easy to build upon.
My only caution would be that learning AF and OOP is a big learning curve (or at lest was for me). While I had some (very little) non-LabVIEW OOP experience before AF, I had not used it in LV until I jumped into AF. I would say it took me a year or so to really feel comfortable developing in AF, making the right (or at least not bad) architectural decisions. There were many times in that first year that I regretted choosing AF, but now that I am comfortable with it, I am so much happier with the applications I develop.
For your GUI challenge, I strongly recommend creating multiple smaller GUIs and brining them together into a single larger one (if that is what the users prefer) using Subpanels. Also keeping you GUI processes separate from your control processes is a good idea too. I generally use one actor for each control process, and each control actor launches a child actor for its GUI.
So I would encourage you to use AF, just be prepared to re-write a lot of code in the early going.
Good luck!
John
05-06-2022 11:48 AM
I would also suggest that you build your system with extensibility in mind from the ground up. Building it as a plugin ready project will serve you well down the line, but getting that right the first time is a real pain (I believe that DQMH might have some support for this)
05-06-2022 06:55 PM
I would suggest getting on-board a well-established LabVIEW Consultant (CLA or above) with a specialty in Actor Programming (not necessarily AF). The task you described is well beyond Core 1&2. You could learn from that person while working under his/her guidance and have someone to blame in case things go sour ...
This is not a shameless plug as I have zero availability these days 🙂
05-08-2022 12:40 AM
This is also a golden opportunity to create or update your core product documentation before the senior engineer retires. Having the most critical portions documented, including that which comprises your company's intellectual property, will aid in your evaluation of the different architectures. In case you do not already have such documentation, the C4 Model approach offers a good top-down view of your system(s) - the amount of detail at each finer level is entirely up to you and your colleague(s).