Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site druxv.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!hogpc!drutx!druxv!neal
From: neal@druxv.UUCP
Newsgroups: net.math,net.news.map,net.ai,net.graphics,net.lsi
Subject: viewing complex interrelations graphically
Message-ID: <1278@druxv.UUCP>
Date: Wed, 18-Jan-84 13:05:05 EST
Article-I.D.: druxv.1278
Posted: Wed Jan 18 13:05:05 1984
Date-Received: Tue, 7-Feb-84 11:08:17 EST
Organization: AT&T Information Systems Laboratories, Denver
Lines: 26

Say you want to understand a really complicated program, and you have
the cross-reference information on it (who calls who) and a high-quality
graphics terminal.  How can you present that information in a useful
way?  This is most worthwhile, of course, when the amount of information
is very large (hundreds of routines, not very well modularized).

What theoretical and/or practical algorithms exist to lay out a graph
which can be displayed on the terminal?  I'd be interested in both
a nice "global" view of the structure, and a reasonable "local" display once
I had "zoomed in" on a particular node (a subroutine, in this example).
It would also be neat to try to single out just the "important" or "core" nodes
to get an overall perspective first.

I suspect that the "right" way of doing this would involve an N-P complete
algorithm.  All I want, though, is a good guess, and since I'm dealing
with "real" data, I suspect that some clever heuristics might provide
a good approximation in short order.

I'm not even sure what this branch of knowledge might be classified as.
Am I looking for "planar graph" algorithms?  Do VLSI people get into this
stuff?  If I were to search through journals, what journals/topics would I look for?

Many thanks for any info!  (surely I'll find at least a few PhD's working on
this....)

-Neal McBurnett, ihnp4!druxv!neal