DFD of Cesium?

I would like to know the data flow diagram of Cesium.

A http://en.wikipedia.org/wiki/Call_graph or http://en.wikipedia.org/wiki/Control_flow_graph would be nice. Can eclipse produce a graph like this for Cesium? When an error occurs the browser will yield a call order about 8 functions deep.

I want not Control_flow_graph.

I’d like to know DTD(Data Flow Diagram) or UML(Unified Modeling Language) of Cesium API.

Unfortunately the nature of JavaScript makes it very hard to generate diagrams automatically like you can in ahead-of-time compiled languages like Java or C#. If anyone knows of a tool we can try, that would be great. Maintaining one by hand is far too time-consuming given everything else we have going on. Sorry I don’t have a better answer for you.

I will say that we are long overdue for writing up a general architecture overview for Ceisum, but I think our tutorials paint a decent picture for the time being.

You’d think browsers would have a way to make a graph while a program is running. Sure it might not explore all of the possible branches, but it would at least be something.

Perhaps one could make a program that simply adds this to the beginning of every function of selected files:
console.log(“entering function_name”);

And this before each function call in that function

console.log(“caller name calling callee name”);

Then the function names would be logged as the program ran using as many of the program functions as possible. Then have another program analyze the resulting log, removing the many repeated patterns, and provide a pretty good base graph automatically. From a base graph one could manually annotate as to why it would branch this way or that way.