Architecture Analysis of the boost libraries, e.g. spirit

Hi boost developers, I have a question regarding the architecture of boost libraries. First some (short) background info: I have done some architectural analysis in the past for C++, C and Java projects. It is a static toolbased analysis approach and essentially it enables you to compare the "should"-architecture with the "is"-architecture. Nearly all projects suffer from some architectural decay over time (e.g. unwanted dependencies etc.) So I was interested how well those tools for architectural analysis cope with C++ template code and boost is an ideal candidate. :-) I have already successfully analyzed the boost spirit library. The architecture for spirit is documented under http://www.boost.org/doc/libs/1_38_0/libs/spirit/classic/doc/organization.ht... and if that is still the "should"-architecture then i was already able to find some deviations/violations in the "is"-architecture. So my question: should all modules of Core (scanner, primitives, composite, non_terminal) be independent of each other ? other questions: - are there architectural documents for the other libraries ? - which would be good candidates from your point of view ? (I think e.g. analyzing dependencies to the mpl libs is interesting) - is there a common rule which parts are public and which are private ? (I saw some impl directories but am a bit unsure about the API stuff) - is there a document describing the dependencies between the different libs (the "should" architecture). (I know of the bcp tool but this documents the "is"architecture essentially) sorry for the long post, but I think this is really interesting stuff and I am open to contribute in the architectural area :-) kind regards, Berni.
participants (1)
-
Bernhard Merkle