Already implemented in LabVIEW. Available in LabVIEW 2010.
Complete vi with embedded sub
vi's and type defs would be in one file. Non embedded vi's would have file
names be as normal.
Embedded VI's could be
present to top level vi as if it was on the block diagram or behave like a
normal VI.
Embedded VI's would be local
to the top level VI.Not visible
from outside VI's.
Would reduce the number of
'glue logic' vi's in a project. Why create another file if not needed?
Would help reduce cross
linking problems.
Would make it easier to save
versions of a more complicated function that has sub vi's.
Would simplify code sharing.
Pull it from another project. Start with thetop level VI you are interested in,
assign sub vi's as an embedded type. Send the file to a colleague. They
put it on their block diagram. It is self contained. They can then go in
and customize it if they choose.
Send the VI to anyone you
want without worrying about cross linking or vi file names.
Embedded VI's would open for
editing, just like regular VI's. Could be saved as regular VI's.
If embedded VI was at the
same level as the diagram code, you could use property nodes that directly
interact with front panel controls without using references.
Feel free to add any advantages, improvements on this idea, or problems this may help that are not listed here.