Advanced Architectures in LabVIEW Course

The Advanced Architectures in LabVIEW Course teaches you how design and implement scalable, extensible software architectures for large LabVIEW applications. During the course, students participate in discussions and work independently and collaboratively to learn how to architect an application and design components to support the architecture. You will learn about several advanced design patterns, reference architectures, inter-process communication methods, and more.

Course Details:

Advanced Architectures in LabVIEW Course Outline

LessonOverviewTopics
Architecting an ApplicationIn this lesson, you will learn how to design and document scalable, readable, and maintainable software architectures.
  • Characteristics of scalable, readable, maintainable architecture
  • Documenting a software architecture
  • Characteristics of a scalable design pattern
Designing an APIYou will learn how to design a consistent, organized, and usable API that may reused in your software architectures and distributed to several developers.
  • API design techniques
  • Polymorphic VIs for an API
  • Project libraries for API design
  • Passing data in an API
Multiple Processes and Inter-Process CommunicationIn this crucial lesson, you learn about foundational APIs and design patterns and how they apply to several essential advanced design patterns. You also learn several advanced methods for communicating between multiple processes and their tradeoffs. Exercises and tools are general enough that you can use them in your own applications.
  • Storing data, streaming data, and sending messages
  • Foundational native LabVIEW APIs for messaging (queues, notifiers, user events, data value references)
  • Foundational design patterns (FGV, various state machines, producer/consumer, various queue-driven message handlers)
  • Scaling foundational design patterns for multiple processes, includingclient/server
  • Asynchronous dynamic processes
  • By reference interprocess data storage (single element queues, data value references)
  • Several interprocess communication methods
  • Exposure to relevant native LabVIEW APIs, advanced design patterns, and reference architectures
Advanced User Interface TechniquesThis lesson covers how to create an architecture that provides a modular, scalable, and extensible user interface.
  • Subpanels
  • XControls
Introduction to Object-Oriented Programming in LabVIEWIn this lesson, you will learn how using the encapsulation and inheritance capabilities of LabVIEW Object-Oriented Programming can create scalable and extensible software architectures.
  • Introduction to LabVIEW classes and related terminology
  • Using encapsulation to restrict access to class data
  • Using inheritance and dynamic dispatch to implement scalable polymorphism at run time.
Plug-In ArchitecturesYou will learn how to create a plug-in architecture that allows you to add features without changing your main code.
  • Plug-in architecture using VI Server
  • Plug-in architecture using LVOOP
Tips, Tricks, and Other TechniquesThis lessons covers various tips, tricks, and techniques to help you create your architecture
  • Variant attributes
  • Callback VIs with user events
  • VI Scripting
  • Drop-in VIs

Get started with Advanced Architectures in LabVIEW today