05-17-2010 05:29 PM
David,
Quite possibly. I will see what the response is tomorrow, and to what extent and in what format it is appropriate to share this. (That might be worth some discussion.)
What I have implemented is a generic object-based asynchronous messaging system (probably an example is appropriate), and an object-oriented XML-based configuration file handler (where the high-level library would likely be of interest). The latter uses the existing XML schema, which, while not ideal, suits our purposes since only LabVIEW applications handle the XML. (Well, a user can edit it, too.) [For the record, for a separate task we tried to implement our own XML parser for objects--or at least one to handle objects on top of JKI's Easy XML Toolkit VIs. Unfortunately, a generic solution for objects is simply not possible with the current LabVIEW standard interface, so our solution is necessarily rather customized. It works but I don't like it--definitely a workaround. I'm hoping NI releases an improved XML schema--compatible with a popular schema used in other development environments--very soon!]
05-19-2010 04:10 PM
I am also very interested to see your object-based asynchronous message system. Are you still considering posting an example?
05-19-2010 05:00 PM
I'm glad to hear you are interested! I agreed to present at the next user group meeting, but that is in September. I already outlined the talk, though (I know what I want to say), and it sounds like it would be beneficial to release at least part of this ahead of time, so I'll work on it--hopefully next week. (I have to finish some conference papers this weekend.)
05-21-2010 01:44 PM
RogerI wrote:
Why should we discourage reinvention and rework of existing patterns? For example, as we have seen, there are many different ways of doing reference based LV oop, good and bad. Let the coders decide what is a good realization of a pattern, and what is not?
In LV there is a gap between the fairly "low level" operations, such as handling arrays, strings, and the other extreme with magic express stuff. The one thing missing is the middle ground with flexible primitives that can be used for any pattern without being overly restrictive. Inherit or use the middle ground and create your own patterns or reimplement existing patterns. To do this, I miss is standard class library such as the one Java offers. E.g. java.io, java.sql, java.xml, etc.
/Roger
The lack of a mid-level api has been a long-standing frustration for me too. There are a few of us over on Lava who are kicking off an open source project to bring some of this functionality to Labview. You can read about it here.
05-21-2010 01:56 PM
"This would have been fantastic to get natively in LV."
Might not be possible if they are under the GPL...
05-24-2010 10:38 PM
Here you go:
http://decibel.ni.com/content/docs/DOC-11524
I'd be interested to hear thoughts and feedback.
05-30-2010 01:00 PM
Thanks for the structured, detailed presentation. Look forward to working through the material...
07-13-2010 03:53 PM
Hi Paul, just wanted to follow up with you and see if you had any more information on the object-based asynchronous message system. If you do I would be very interested to learn about it!
07-13-2010 04:23 PM
Hi, Jon!
I started writing something up three weeks ago. I put a lot together (probably half) but I didn't finish. The bad news was that I had to finish presentations for a technical conference the next week. The corresponding good news is that those presentations included much of this material, so they will help me finish something for the audience here. Anyway, I had a couple days vacation, too, but I caught up with life this past weekend so I will finish this material very soon. It seems to be a good time to get this out since there is currently much discussion here and on LAVA on the same sort of architecture questions, and I think we have something that I think will be helpful to many. (I think our solution is super clean, relatively quite simple, and understandable in multiple contexts.) So 1) I haven't forgotten, 2) I will finish by Monday, if not sooner, and 3) thanks for pushing me! Sorry I haven't finished this yet!
Paul
07-14-2010 06:24 AM
That sounds great! I will keep an eye out for it. I appreciate you putting this together, it sounds very interesting!