Random Ramblings on LabVIEW Design

Community Browser
Labels
cancel
Showing results for 
Search instead for 
Did you mean: 

If LabVIEW was SteveVIEW

swatts
Active Participant

The discussion on functional encapsulation and all the comments got me thinking....

I've been working this way for any years and have got used to the limitations of the action engine, but what if I had it all my own way.

The stated limitations are...

  • Managing Un-used connections
  • lack of inherent scaleability
  • people prefer lots of coloured wires
  • people prefer functional decomposition (i.e. lots of non-cohesive functions acting on data)

Now the latter 2 we view as a design weakness and they view as a strength and therefore it comes down to who's biggest. Actually in the end if you are writing great software in whatever method it doesn't really matter. So if you don't mind I'll concentrate on the first 2.

So in my blue sky world LVOOP would go like this.

From some point on the Functions Palette, quick drop, Tools Menu or Project instantiate a new object.

This will give a list of the classes in the project and allow 1 to be selected.

When selected the object will drop on the block diagram and it will get a new instance name, this instance name can be changed to better suit the problem.

Instantiate1.PNG

The first 2 blocks on the menu would be standard for all classes.

Go to Class Diagram--> will bring up the UML diagram for the class, similar to the Symbio tool.

Changes can be made to the classes and then we return to the block diagram.

Create new instance -->does what it says - this will give us some simple scaleability.

--------------------------------------------------------

Get Ref -->this will allow standard LVOOP to work

Class ID, Class Name and Get Instance Name-->basic housekeeping

--------------------------------------------------------

Initialise-->Close these are the main PSU classes methods

--------------------------------------------------------

Set Over-current and Set Over-voltage-->sub-class methods for new capabilities

The data encapsulation of the class will be globally assessable inside the scope of the object instance.

The method selection will set the inputs and outputs as in a polymorphic VI.

So finally we'll get back to our familiar diagram.

Instantiate2.PNG

Is this too ambitious to put on the ideas exchange??

I think that's just about enough action engine stuff for the next year or so. My next blog will be a cartoon.

Hugs and Kisses

Steve

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile

Comments