From naughtont@ornl.gov Tue Sep 14 11:43:14 2004
Date: Tue, 14 Sep 2004 11:38:57 -0400 (EDT)
From: Thomas Naughton <naughtont@ornl.gov>
To: oscar-devel@lists.sourceforge.net
Cc: Phil Pfeiffer <pfeifferpe@ornl.gov>
Subject: [Oscar-devel] RFC: "node state viewer"

Hey,

So since we've been kicking around various devel material lately, I thought
I'd kick out a GUI idea I'd discussed with a few folks.  The main idea
relates to the whole Model-View-Controller concept (design pattern stuffo).
To summarize, you separate the actions (Controllers) from the display
(Views) and the data (Model).

An easy example, and one that fits with how I think we could use this, is
the idea of a spreadsheet application (e.g., MS-Excel) where you use
Column/Row Summation Controllers, and Graph/Chart Viewers...in this case
the Model would be the spreadsheet(s) that are being acted upon.  Now,
think about a pie graph that shows totals from some columns.  If you change
the data in the spreadsheet, the graph (view) updates automatically.  Also,
as many folks have learned, it is also happy to graph wrong/nonsensical
data just as easily, it just takes the data and shows it in some predefined
format using specified color codes, sizes, etc.

This is the idea that I think could be helpful for us.  The 'Node State
Viewer' (or just 'Node Viewer') would just give us a nice, reusable, way of
showing information about the state of a node just changing the input data.

I threw together a couple of XFig figures to help show my mental picture of
a way this could look.
Uploaded Postscript and PNG formats:
 http://www.csm.ornl.gov/~naughton/oscar/design/node-state-viewer/

  (A) 'nsv-diagram-v1' -- first pass, has much more info than I think is
                          necessary on a general/basic viewer.

  (B) 'nsv-diagram-v2' -- second pass, simplified with comments at the
                          bottom showing ideas of where this could be used.

My thoughts were that the Viewer could be very simplistic, named dots that
change color on a canvas based on the data field they're watching in the
database.  The overall set of data being displayed/viewed would be changed,
thus changing what colors/fields to watch, but the Viewer is still very
stupid.  If this window could be made small where the actual nodes/dots
were just visible enough to show color change, it could almost be
"minimized" in the corner of a screen as other things were happening, later
to be "maximized" to see more detail of the same data.  That would be a
feature addition.  (I think about an old data parallel compiler/debug tool
we had in school that would allow you to see data values changing on the
processor array, so you could see patterns, etc. and still "work". :)

Anyway, that's my idea, FWIW.
--tjn

PS  More info on MVC, there are several books, one on Amazon.com even
    mentions MVC in the free excerpt 'Pattern-Oriented Software
    Architecture, Volume 1: A System of Patterns'; also there is the Gamma
    et al. book and Google will probably return most anything you'd need to
    get started. :)  I'm not an expert in design patterns, Phil
    Pfeiffer introduced this concept to me and it seems
    helpful/interesting.

 _________________________________________________________________________
  Thomas Naughton                                      naughtont@ornl.gov
  Research Associate                                   (865) 576-4184

-------------------------------------------------------
This SF.Net email is sponsored by: thawte's Crypto Challenge Vl
Crack the code and win a Sony DCRHC40 MiniDV Digital Handycam
Camcorder. More prizes in the weekly Lunch Hour Challenge.
Sign up NOW http://ad.doubleclick.net/clk;10740251;10262165;m
_______________________________________________
Oscar-devel mailing list
Oscar-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oscar-devel