Designing a LabVIEW Measurement System
with Multiple Abstraction Layers Using the Actor Framework
Posted on March 28, 2013 by ekerry
I developed the Measurement Framework over the last year in order to experiment with
and explore some of the latest architectures, technologies and design approaches that are
becoming increasingly important for large LabVIEW systems. I ’ ve used sections of this
application to illustrate technical topics in previous posts, but I wanted to use today ’ s
entry to explore the overall design of this system and several of lessons I learned. My
hope is to provide insights for any of you that are attempting to address similar
requirements. I also hope to lay the groundwork to some deeper-dives into some of these
topics in future entries.
The primary goal of this software when I started was:
• Define an architecture that allowed other developers to add functionality (ie:
‘ plugins ’ ) without modifying the calling framework
• Determine the best way to give people writing plugins starting points that
included the necessary APIs, parent classes, and stub code in order to minimize the
work required
• Develop a strategy to deploy the framework as an executable and manage
common dependencies of those plugins appropriately
• Explore the implementation of a hardware abstraction layer, or HAL, which
quickly also led to the creation of a measurement abstraction layer, or MAL
Secondary goals were to: