Architecture Mastery

Designing and constructing SOLID programs is an art that is learned through time and experience. Key principles and guidelines have been developed by the software community through the years. This section will guide you in the process of honing your software architecture skills



Extend the capabilities of the VI Server by wrapping VI Server references in LabVIEW classes. The QControl Toolkit is an example of extending LabVIEW controls through object-oriented programming techniques. This method provides the benefits of encapsulating UI code and separating it from the business logic of the application.
LabVIEW 2017 incorporated malleable VIs to help you write VIs once and reuse them with any compatible data type while avoiding the performance hit of variants or the complexity of class abstractions. In 2018, these VIs gain more power. Learn to write VIs that are as type-flexible as built-in LabVIEW functions. G developers from novice to adept welcome! (There are no slides for this NIWeek Session.  It is all given from the examples that ship with LabVIEW)
Explore how applying SOLID design principles affects the design and architecture of actor-based software.
Learn how to develop an effective hardware abstraction layer (HAL) and measurement abstraction layer (MAL) architecture that NI Test Engineering has deployed. Walk through the design principles, challenges, and LabVIEW object-oriented programming (OOP) solution.  
A standardized TestStand architecture greatly reduces the cost and time of automated test. At this session, hear from Bloomy Inc. and Bose Corporation about how they combined their architectures (Bloomy's commercial EFT Module and Bose's proprietary BEAT) to increase their capabilities, shorten development, and expand the overall TestStand user base.
The Distributed Control and Automation Framework (DCAF) is an effective starting point for control applications that require deterministic, tag-based processing. But how do you progress from proof of concept to a fully integrated system? At this session, discover how to use LabVIEW DCAF to overcome the challenges of complex control systems with high-volume channel counts. Explore tag-mapping pointers, debugging techniques, and ways to interact with the DCAF engine in a fully functional application. Also learn how to contribute to DCAF and use two new community-developed DCAF modules: (1) a deterministic data transfer module for communication between DCAF engines and (2) a tag bus visualization module for development and debugging.
Cloud computing is rapidly changing how all industries deliver value. Horizontal scalability, multitenancy, and continuous delivery are some of the many concepts enabled by cloud computing. Learn from the NI cloud team about the technologies, tools, and trends driving this transformation.
Most hardware abstraction layer (HAL) examples use simple instruments and command sets. But what are the considerations and questions to ask when using more complicated instruments like spectrum analyzers, vector network analyzers, and more? Examine the successes, mistakes, and lessons learned from developing an automated RF testbench with 29 instruments.
Explore the evolution of two projects from simple programs to larger applications requiring decent architecture. Although completely independent, their stories are very much alike. At this interactive architectural review of real life challenges, discover the lessons learned, what can be improved, and where further evolution will lead. 
Are your XControls out of control and locking up your entire class hierarchy? Replace them with DQMH-based modules and subpanels to create dynamic reusable components quickly and easily. Walk through the entire process of creating a module, embedding it in a subpanel, and creating configuration panels with ease.
The Distributed Control and Automation Framework (DCAF) is an open-source LabVIEW framework designed to create control systems that are reliable, modular, and configurable. At this session, explore the decisions behind the design as well as their implementation. Also examine in detail the data transfer mechanism, execution paradigms, and module reuse.
Certified LabVIEW Architects (CLAs) and LabVIEW Champions crafted a message broker system that leverages network queues and includes the following features: publish/subscribe model for components, broadcasting for all processes that subscribe to receive messages of a certain type, and regular expressions so that users logging tasks can use a wildcard to receive all messages. Also, team members are adding priorities to the system, and this session offers a peek into their expensive use of packed project libraries (PPLs). 
You can couple and decouple messaging in Actor Framework, but you have to use inheritance or fully decouple the messaging. At this session, examine decoupling and see a demonstration of a method for fully decoupling caller actors from nested actors. The method even allows for sending messages to actors that do not inherit from a common ancestor (except for 'Actor.lvclass').
What happens when a crazed developer relentlessly pursues SOLID design and code reuse within the structure of the Actor Framework? That developer gets features such as dynamic nested user interfaces, policy-injected data mediation, and a new (Actor-friendly) API for event registration, to name a few. Join the fun. It's all open source!
Learn about the do's and don'ts of LabVIEW NXG 2.1. Discover how measX rebuilt a product from scratch in LabVIEW NXG to examine in detail the runout tracks of large shafts. Led by a senior architect, the team leveraged LabVIEW NXG's new features including web reporting. Share the experience of a team 'living LabVIEW' for decades and learn about the productivity of LabVIEW NXG.
Developers new to Actor Framework often struggle to build an efficient messaging structure and effectively test their applications. At this session, examine common Actor Framework tasks like publish/subscribe and controlled shutdown, and discover several design tips that lead to cleaner messaging, less code, and a more testable system.
You can choose from many hooks to add your own G-based features to the LabVIEW IDE (no text programming required). This session reveals "every single one" of those hooks (No, really!) along with some LabVIEW Scripting tips and best practices for implementing those LabVIEW features you always wanted.
What framework is best for you and your team. This session will guide you through important considerations, providing a structure for comparing two frameworks. As an example, it will dive into a comparison of DQMH and the Actor Framework.
Log in to submit a comment.