OpenG Class Templates for LabVIEW Object-Oriented Programming

The OpenG Class Templates for LabVIEW Object Oriented Programming (LabVOOP) are a set of templates for creating classes beyond the simple by value classes provided natively in LabVIEW. OpenG Class Templates allow LabVIEW developers to create by-reference classes that are not directly supported by native LabVOOP. The OpenG Class Templates are currently at pre-release phase and are not yet recommended to be used in production environment.

OpenG Class Templates Overview
OpenG Class Templates are normal LabVIEW classes that follow OpenG Class Template Specifications. The templates can be used to create new LabVIEW classes that include some predefined functionality.

There are currently four class templates:
 * OpenG Reference Object Template, a template for queue based by-reference classes
 * OpenG Value Object Template, a template for by-value classes
 * OpenG Pure Abstract Reference Class Template, a template for pure abstract by-reference classes
 * OpenG Active Object Template, a template for active asynchronous by-reference classes that encapsulate a thread and an object

Each of these three class templates depends on (inherits from) an OpenG base class. This allows the base classes to be improved without the need for users of the class templates to make the improves themselves.

There are currently three base classes:
 * OpenG Object, a common parent class for all OpenG classes
 * OpenG Reference Object, a common parent class for all OpenG by-reference classes
 * OpenG Value Object, a common parent class for all OpenG by-value classes

To be used OpenG Class Templates require a tool that automates the process of deriving new classes from the class templates. Currently there is one tool available that supports OpenG class templates GOOP Development Suite from Endevo. External tool is only required in the development phase for class manipulations. OpenG base classes are needed in the execution environment.

Download and install VI Package Manager
See these two useful links
 * How do I use VIPM to get OpenG libraries installed onto LabVIEW?
 * Getting Started with VIPM and Installing OpenG Libraries into LabVIEW

Download the OpenG class templates and support library
The templates are not yet available for download using VIPM, but will be, after officially released. Manually download the following items.

'''NOTE: Sometimes MS Windows will rename the files upon download, changing them from an *.ogp to a *.zip file extension. Make sure that they retain their original names and have an *.ogp file extension. This is important, in order for VIPM to install the package files.'''


 * OpenG Object OpenG base classes for LabVIEW Object Oriented Programming
 * OpenG Value Object Template Template for by-value classes
 * OpenG Reference Object Template Template for queue based by-reference classes
 * OpenG Pure Abstract Reference Class Template Template for pure abstract by-reference classes
 * OpenG Active Object Template Template for active asynchronous by-reference object classes

Add OpenG object packages to your VIPM library
To add the class templates and the support library to VI Package manager, perform the following actions.


 * Open VIPM and select Package&gt;&gt;Add Package(s) to Package List
 * Browse to the folder containing the packages that you just downloaded, select the packages, and press the "Add" button.
 * The packages will appear in VIPM's

Install the OpenG object packages
To install the class templates and the support library follow the steps below


 * From the VIPM Package list, find the OpenG object packages.
 * Right-click on them and select Install

Restart LabVIEW
If LabVIEW is currently running, restart LabVIEW.

Using OpenG class templates from within Endevo GOOP Development Suite (GDS)


The OpenG class templates may be used in conjuction with the Endevo GDS tool. This tools allows you to create new classes from the templates, edit your classes. In addition your own class templates that meet the OpenG class template specifications should work with Endevo GDS. We are very thankful to Endevo for thier support of OpenG and for making the GDS Community Edition version of thier tool freely available.

Obtaining the Endevo GOOP Development Suite
The Endevo GOOP Development Suite must be obtained from Endevo. Visit Endevo on the web at http://www.endevo.se for a free download of Endevo GDS Community Edition.

Activating the Endevo GOOP Development Suite in Community Edition mode
In order to use the Endevo GOOP Development Suite in Community Edition mode, you must activate it during installation or from the GOOP>>Activate Product menu using the following serial number:

COMM-UNIT-YEDI-TION-2008

See Endevo's Products>>Trial>>Activate the Community Edition page for more information.

Configuring Endevo GDS to use the OpenG class templates
First, make sure that you have installed the Endevo GDS tool according to its installation instructions and that you have restarted LabVIEW after installing both the Endevo GDS and the OpenG class templates and libraries.

In order for the Endevo GDS to use the OpenG class templates, you will need to configure it to use the OpenG class provider. To do this, open the GOOP Options Dialog (shown below) by selecting Tools&gt;&gt;GOOP&gt;&gt;Class Provider Options from them menu. You can also open this dialog from within the LabVIEW Project Explorer window by pressing the button on the toolbar.



Ensure that the OpenG class provider is selected and press OK. The Endevo GDS tool is now configured to use the OpenG class templates.

Creating new classes from the OpenG templates
You will see them available from the Create Class Dialog when you select New&gt;&gt;GOOP Class from the project explorer right-click menu.



Links

 * OpenG Class Templates Discussion Forum - Support, Feature Requests, Bug Reports, and Announcements
 * ExpressionFlow, a blog from Tomi Maila, the developer of the OpenG class templates
 * Endevo
 * VI Package Manager