Jump to content
JackDunaway

Code Module Visualization in LabVIEW

Recommended Posts

Greeting, wireworkers! I have an idea and a need for some software development tools, just not the bandwidth to develop them by myself. Would you help me?

 

Problem description: I find myself needing/wanting to visualize dependencies of code modules in LabVIEW. A "module" is loosely defined here, as perhaps a library, a VI, a project...

 

Current tools available: VI Hierarchy gives a nice view of static dependencies of a single VI; Class Hierarchy gives a decent view of a project's object model; the Dependencies section of a LVproj give a good listing of all static dependencies of the project.

 

Rationale for a new tool: Make it easy to visualize how code modules are interconnected, to be used as a debug and design tool for system architectures written in LabVIEW.

 

Want to help?: Just drop a line -- either private message or email. Ideally, you've got some experience with the LV Linker and Javascript; no worries if not, I can help out. Likewise, ideally you've found yourself wanting similar tools to enhance your experience developing systems.

 

What happens to the tools we create?: The immediate goal is to help ourselves on our own projects and scratch our recreational programming itches; in the future, perhaps there's enough polish and interest to release open source to the community.

 

Here are a few ideas:

 

1. Dependencies of top-level application modules (interactive source: http://www.findtheconversation.com/concept-map)

 

post-17237-0-69973300-1383338810.png

 

2. Relative size of libraries and their inter-connectedness (interactive source: http://redotheweb.com/CodeFlower/)

 

post-17237-0-56518300-1383338918.png

 

3. How VIs connect to each other, grouped by library (interactive source: http://redotheweb.com/DependencyWheel/)

 

post-17237-0-87047000-1383339060.png

 

4. Coupling and cohesion between methods grouped by library (interactive source: http://bl.ocks.org/mbostock/4062045)

 

post-17237-0-53328100-1383339187.png

  • Like 1

Share this post


Link to post
Share on other sites

Thanks all for the response -- a team is currently chatting offline to schedule an initial meeting. And just to answer a few questions publicly:

  • This is a non-commercial, "after-hours", open source project for fun, but it's meant to help us perform our day jobs better
  • No picture controls; all visualizations are rendered in the browser using existing javascript libraries (LabVIEW<->js communication using JSON)
  • If you'd like to "follow along at home", ping me and I'll gladly send details to dial-in as a viewer on our video/screensharing brainstorming/work calls

Best,

Jack

Share this post


Link to post
Share on other sites

This looks like a great idea Jack, and I wish I could help but I doubt I have the free time (or knowhow) so let me instead wish everyone involved the best of luck with the development!

Share this post


Link to post
Share on other sites

I just wanted to chime in and say I think this is a fantastic idea.  It's something I've been looking at and tinkering with for a while (using kineticjs), particularly a re-visualization of the profiler and trace execution data to a format that's more connected to how the diagram and hierarchy look.

 

No time until the new year, though... making money interferes with all the fun stuff.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.