DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

DQMH zero-coupling modules like AF?

oh and if you watch the dependency video I posted, you can achieve the state where a module doesn't know/care about its caller very easily just by carefully considering which messages are broadcasts and which are requests.

 

I should also add it is easy to verify this by running Antidoc.

Sam Taggart
CLA, CPI, CTD, LabVIEW Champion
DQMH Trusted Advisor
Read about my thoughts on Software Development at sasworkshops.com/blog
GCentral
0 Kudos
Message 11 of 18
(1,658 Views)

@WavePacket wrote:

By static linking you mean that one module has the other's VIs within the block diagram right? And therefore appear in the dependencies dropdown as listed within the .lvproj?


Exactly.

 

And by calling dynamically, I mean opening a reference to a VI via its path and then using the Call by Reference function to execute said VI:

 

Bildschirmfoto 2022-01-28 um 18.27.50.png

That way, we can reuse our generic modules in all our customer-specific applications - because they don't have any customer-specific modules as dependencies.

 

Edit: You can take a look at the implementation if you like, it's open source.

 




DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )


0 Kudos
Message 12 of 18
(1,654 Views)

No you would have to duplicate the entire module (both EHL and MHL) and then just switch out the class in the shift register and add the new message. 

 

So 90+% percent of the module is duplicated but its really just the messaging code/glue.

Sam Taggart
CLA, CPI, CTD, LabVIEW Champion
DQMH Trusted Advisor
Read about my thoughts on Software Development at sasworkshops.com/blog
GCentral
0 Kudos
Message 13 of 18
(1,646 Views)

@Taggart wrote:

No you would have to duplicate the entire module (both EHL and MHL) and then just switch out the class in the shift register and add the new message. 

 

So 90+% percent of the module is duplicated but its really just the messaging code/glue.


Yeah, ok -- thx.


------------------------------------------------------------------------------------

Please join the conversation to keep LabVIEW relevant for future engineers. Price hikes plus SaaS model has many current engineers seriously concerned...

Read the Conversation Here, LabVIEW-subscription-model-for-2022
0 Kudos
Message 14 of 18
(1,644 Views)

There are a few other object oriented LabVIEW frameworks (other than DQMH/AF) available, that might be worth you checking out.

 

I recommend weighing up the whole tool chain when you assess them.  ie. Community involvement on forums, online help/videos, proven use in applications, automated scripting tools to help create your application, testers, documentation tools, regular updates/improvements, etc. 

 

I encourage you to download a few of the frameworks and start playing around with them.  You'll soon work out which framework makes more sense to you, and gauge if it's a good fit for your applications.

 

Christopher Farmer

Certified LabVIEW Architect and LabVIEW Champion
DQMH Trusted Advisor
https://wiredinsoftware.com.au

Message 15 of 18
(1,623 Views)

@ChrisFarmerWIS wrote:

 

I recommend weighing up the whole tool chain when you assess them.  ie. Community involvement on forums, online help/videos, proven use in applications, automated scripting tools to help create your application, testers, documentation tools, regular updates/improvements, etc. 

 


Be careful when comparing frameworks that you have reasonable metrics.  Automated scripting tools are usually only in frameworks with a lot of boilerplate code that needs to be scripted.  In other words, it counters a weakness of the framework.  Similarly, the extensive zero-coupling techniques of the Actor Framework are a result of the high coupling that occurs when one doesn't use such advanced techniques, which is a weakness of the Actor Framework, not a strength.

Message 16 of 18
(1,614 Views)

@drjdpowell wrote:
Automated scripting tools are usually only in frameworks with a lot of boilerplate code that needs to be scripted.  In other words, it counters a weakness of the framework. 

In my experience, automated scripting tools play a very important part in conveying to a team of developers how they're supposed to work with the code, and what the code should look like. Those tools help a lot with applying a common way of working.

 

Yes, automated scripting tools and little boilerplate code would be even better 🙂

 




DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )


Message 17 of 18
(1,607 Views)

Code consistency is an important value of a framework, and scripting is a powerful way to get that.  Though that only goes as far as your scripting does; I doubt any of the "zero-coupling" or other techniques discussed in this conversation are part of DQMH's scripting tools.

Message 18 of 18
(1,598 Views)