Wednesday, November 19, 2008

SEQOOP versus GOOP and LVOOP

SEQOOP is Single Element Queue Object Oriented Programming

GOOP is Graphical Object Oriented Programming. It is a toolkit developed by Endevo in Sweden and distributed in the USA by VI Engineering. Versions are available for LabVIEW versions 7.0 and later.

LVOOP is the native LabVIEW Object Oriented Programming included in LabVIEW versions 8.2 and later.

LVOOP Advantages
- Native to LabVIEW, no toolkit required
- Object wires for different classes can have a different appearance

LVOOP Disadvantages
- Only supports By Value, no native By Reference implementation
- Each branch of an object wire creates a new copy of the data
- Classes are easily corrupted, and if that happens the entire class must be written again.
- Requires LabVIEW 8.2 or later

GOOP Advantages
- By Reference implementation
- Good tools for building classes and editing icons en masse
- Endevo offers a UML toolkit that works with both GOOP and LVOOP classes
- Versions available going back to LabVIEW 6.0

GOOP Disadvantages
- Creating a class makes many VI’s that are related to class handling, but do not relate to the problem domain
- History of broken features when LabVIEW version changes
- May not handle a very large number of classes
- GOOP Toolkit and UML Toolkit must be purchased and licensed

SEQOOP Advantages
- By Reference implementation
- Simple, no password protected VI’s, implementation is clearly visible in LabVIEW
- Queues are fast and robust
- Works with LabVIEW 7.x and LabVIEW 8.x without modification

SEQOOP Disadvantages
- New classes must be manually created (but perhaps some template VI’s could alleviate this)
- No tool for editing icons en masse
- Does not perform dynamic dispatch

No comments: