Graphical Object Oriented Programming (GOOP)

Publish Date: Nov 26, 2018 | 55 Ratings | 3.09 out of 5 | Print


National Instruments and Symbio (formerly Endevo) have developed a methodology for performing Graphical Object-Oriented Programming, or GOOP. Using GOOP, you can take advantage of the benefits of object-based design and development. Adding the class and object concepts from other object-oriented languages to LabVIEW, you can build your own components.

LabVIEW 8.20 and later: LabVIEW offers native objected-oriented programming constructs. Refer to the Upgrade Advisor to upgrade to the newest version of LabVIEW.

Table of Contents

  1. What is GOOP?
  2. What are the benefits of GOOP?
  3. Downloading the GOOP Wizard?

1. What is GOOP?

By implementing classes, you can take advantage of the design and development practices used by developers who use standard Object-Oriented languages. You will also be able to use standard Object-Oriented analysis and design tools, such as Rational Rose and Microsoft Visual Modeler and apply principles that describe Object-Oriented design and development.

The component-based approach to developing application augments the traditional data-flow programming used in LabVIEW applications. You will develop large applications by identifying and designing components that implement distinct parts of the functionality of the application. Today, components are widely used in ActiveX automation, Java, and other technologies. Having your application based on components should make it easier to interface with these technologies as your LabVIEW application evolves.

Back to Top

2. What are the benefits of GOOP?

Graphical object-oriented programming provides you with many benefits including: maintainability, scalability, and reusability.

In an intertwined or monolithic application, a change to one part of the program can often directly affect other parts. By designing an application as a collection of components, the dependencies between the different parts of the system are reduced to the data passed between components. Changes to an application are isolated to the affected components and do not require you to re-release and retest the entire system, just the component.

As your needs increase, scalable applications allow you to add functionality without rewriting your whole application. Decoupling the different pieces of an application makes it easier to scale the different parts for different needs.

Each object contains its own data, so invoking functions on one object does not affect any other objects of the same class. Unlike global variables that share data, no new VIs need to be written and saved to disk in order to support multiple objects. Because the internal data all resides in the component, changes to the internal data will not directly affect the users of this component. Thus, you can reuse the same component in many applications without having to worry about future incompatibility.

Back to Top

3. Downloading the GOOP Wizard?

The LabVIEW GOOP Wizard helps you quickly build LabVIEW software components. It automatically generates the VIs you need to create your own classes and manage instances of class data.

LabVIEW GOOP Wizard for Windows 2000/NT/Me/9x

LabVIEW GOOP Wizard for MAC OS

LabVIEW GOOP Wizard for Linux

LabVIEW GOOP Wizard for Sun

Back to Top

Bookmark & Share


Rate this document

Answered Your Question?
Yes No