From naughtont@ornl.gov Tue Sep 14 11:43:14 2004 Date: Tue, 14 Sep 2004 11:38:57 -0400 (EDT) From: Thomas Naughton To: oscar-devel@lists.sourceforge.net Cc: Phil Pfeiffer 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