Mac OS X Internals: The Book Forum Index Mac OS X Internals: The Book
Forums
 
SearchSearch   MemberlistMemberlist  RegisterRegister 
 ProfileProfile   Log inLog in 
Mission Statement | Rules | Terms of Forum Use       osxbook.com | Blog


UML-style flowcharts for the kernel?

 
Post new topic   Reply to topic    Mac OS X Internals: The Book Forum Index -> The Book
View previous topic :: View next topic  
Author Message
zahadum



Joined: 15 Mar 2006
Posts: 5

PostPosted: Wed Mar 15, 2006 9:50 am    Post subject: UML-style flowcharts for the kernel? Reply with quote

a suggestion/question for an interactive/visualization companion to the book:

what would be the best representation for diagramming the kernel?

a simple procedural abstraction? ....

or full-on UML like state-charts, use-cases etc? ... (would the guts of a live UML boil down to Action Sematics + Object Containment Language?) ... Note: UMI (uml over xml) is conceived as supporting the exchange of design information - so should there not be an intermediate step that could communicate operations/control issues which would feature prominently in a procedural abstraction of a kernel?

or maybe some kickass CSS + xml (which implies that some thought would have to be given to the namespace & the XSLT).

no matter how it is done, wouldn't it be way cool to be able to 'see' the kernel/xnu/etc in action?!

The underlying tree/graph structure used by such a diagramming system might have a deeper use - namely, ability to generate formally queries into the graph and return depencies (which is not necessarily not the same thing as validate - that would be an LTL explosion even for the likes of SPIN ).

this approach would be an awesome tool for advanced helpdesk & debugging (and just learning).

there already are some java-based visualizations for automata, so applying them to a kernel would be the next step, correct?

crazy idea?
Back to top
View user's profile Send private message
amit
Amit Singh
Amit Singh


Joined: 06 Feb 2006
Posts: 76

PostPosted: Wed Mar 15, 2006 1:14 pm    Post subject: Reply with quote

The idea seems sound -- not crazy, I'd say Smile

Function-level diagramming of large systems is pretty useful, and can indeed be automated to some extent. There are several examples of such diagrams (albeit manually derived/drawn by the author) in "Mac OS X Internals".

One thing though: even for a given kernel subsystem -- say, the scheduler -- the sheer number of functions, their dependencies, and use cases, can lead to a visually complex picture that may be "too complex for humans". In such cases, human understanding is probably better served by manual analysis with some assistance by such diagrams.

IMO the needs of debugging, QA, and /purely learning/ might seem diabolically overlapping to a large extent, but do have enough distinct aspects that one system to serve these needs equally well might be rather hard to implement, and a really interesting problem to solve.
Back to top
View user's profile Send private message
zahadum



Joined: 15 Mar 2006
Posts: 5

PostPosted: Wed Mar 15, 2006 2:04 pm    Post subject: uml diagramming for kernel - level of detail Reply with quote

glad to know that you think it is a good idea.

i agree that a full-on simulation would have wicked complexity (ie completely capable of running an LTL validator like SPIN).

but at the reasonable level of granularity, it could start higher-up & work its way down (over time).

would you consider starting some of the uml diagrams now as a pilot (and bridge product for 2nd edition of the book Wink ... maybe it could be a joint project with opendarwin?

what do you think>

xheers: dlf
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Mac OS X Internals: The Book Forum Index -> The Book All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB (FAQ)
All contents of this site, unless otherwise noted, are ©1994-2008 Amit Singh. All Rights Reserved. Terms of Use