LAVA Forums Buy cool LAVA gear Forums RSS Feed

Welcome Guest ( Log In | Register )

> Related links

Check out our OOP Code Repository Files or visit the LabVIEW Wiki OOP Portal.


Tags
(This content has not been tagged yet)
 
Reply to this topic Start new topic
> Object Oriented Design Considerations
wkins
post Aug 4 2008, 03:56 AM
Post #1


Enough LAVA to be dangerous


Member
Posts: 4
Joined: 31-May 08
Member No.: 11640
Using LabVIEW Since:1998
LV:8.5 ,. ,.
United States Nothing Selected Nothing Selected


Please Help,

I have started a new programming position and need to make some important design decisions. I have noted the following from the new postition:

1. The firm utilizes large Labview test programs (using closed loop control/data aquisition) involving approximately 100 VI's or more.
2. The programs use traditional structured (procedural) programming techniques.
3. The programs are written by many differrent authors and contractors making readability and
program maintenance (upgrades) difficult. Each author utilized his/her own programming techniques.
4. Each program makes extensive use of parallelism by using global variables throghout the design (which I dislike). This creates race conditions and makes troubleshooting difficult. Since this is in a production environment, maintainability is a critical design factor.

Ways to make improvements in the design. This is where I need questions answered.

1. I have contemplated the use of object oriented designs using Labview. I have good training using UML tools (models) and am currently using Labview 8.2. Since the use of OO programming promotes better maintainability and program maintenance. I feel this is a good choice. Is this a good choice????

What can I do with Labview 8.2???

I cannot use the Endevo toolkit since it requires Labview 8.2.1.
I have explored using native by-value Labview classes and to be honest, I cannot see how this will work in my application. Once a class is instantiated, I cannot call it again using another instance inside another VI or for that matter even inside another while loop. This seems useless to me, especially compared to text based OO in which classes can be called up at anytime with all of the data intact. Also, my current applications make extensive use of parallelism. I have attempted to use the by reference example provided in Labview which uses queues. This also did not apppear to work unless a reference wire was attached making it impossible to pass data between separate VI,s.


I have read where programmers create an additional VI when creating a class which is just used for asynchronus data transfer between VI's. Is this the only option that I have? If so, how does this work? Is this type of object oriented passing of data between VI's using a class structure a doable option????? This is what I need to know.


Other questions:

1.
after looking at the Labview 8.6 release. there were not any earthshaking changes made to the OO section. This does not appear to meet my need of a reference based Labview class. Will this be available in Labview 9??????
2.
Endevo makes a GOOP 3 class structure. Is this what I need to use?? Will this allow passing of data between VI,s using a class type architecture???? It appears that many developers have been succesful using GOOP classes.
3.
It also appears that the current Labview architecture only allows scope (public, protected, private) for methods and not for classes.
Does Endevo provide full inheritance for classes and methods such as text based languages?????
4.
Since OO programming has been available for years in text based languages, I am becoming impatient with the Labview implementation and may be forced to use Endevo GOOP 3 classes (third party developer).
5.
I am convinced that OO is the way to solve my maintainability problem, but am confused on how to implement this in the current Labview development platform. I may have to use Endevo classes temporarily until NI provides full inheritance and then switch to native Labview classes.

Hope You can help, please include illustrations and examples if possible.

Thanks Very Much,

Your Fellow Architect.


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Ad
post Aug 4 2008, 03:56 AM
Post #















Tags
(This content has not been tagged yet)
Go to the top of the page
Quote Post
Yair
post Aug 4 2008, 06:06 PM
Post #2


Extwemely Active
*****

Premium Member
Posts: 1634
Joined: 23-January 05
From: Here
Member No.: 1431
Using LabVIEW Since:2003
LV:8.6 ,7.0 ,.
Israel Nothing Selected Nothing Selected


Don't post to multiple forums. It's all the same people.

The actual discussion is here.

--------------------
More than meets the eye...


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic

 




Time is now: 3rd December 2008 - 09:08 AM