Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Document Type: Tutorial
NI Supported: Yes
Publish Date: Jan 23, 2007


Feedback


Yes No

Related Categories

Products

Related Links - Developer Zone

Related Links - Products and Services

Graphical Object Oriented Programming (GOOP)

40 ratings | 3.70 out of 5
Print

Overview

National Instruments and Endevo have developed a methodology for performing Graphical Object-Oriented Programming, or GOOP. Using the 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.

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.

What are the benefits of GOOP?


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

Maintainability
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.

Scalability
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.

Reusability
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.

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
40 ratings | 3.70 out of 5
Print

Reader Comments | Submit a comment »

GOOP 6i installer fails
GOOP installer fails attmepting to install with LabVIEW 7.1. Possibly need an update to required version.
- Todd Newton, National Instruments. todd.newton@ni.com - Nov 16, 2004

Are you not supporting GOOP anymore? (can't download the wizard)
- jack downar, Autronics. jdownar@autronics.com - Jan 27, 2004

 

Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).