What is SDS
Notice: SDS should be considered to be of alpha quality.
SDS, which means "Software Development Foundation", is nothing new or original. It is merely a framework for extracting essential information from your program source and allow this information to be easily presented in many ways. More specifically, you can currently use SDS:
The core of SDS is language independent, but to extract the information from language X, a language X front-end is required. Currently, there are semi-working front-ends for C, C++, Common Lisp, Python and Java. IDL-support is planned.
The foundation of SDS
The core of SDS is XML and most communication between the tools of SDS is done through XML. SDS has a framework which makes the use of XML to be trivial and worthwhile for most tools. Currently the XML framework in SDS is implemented in Python, C++, Java and Common Lisp, and should not be too hard to extend to other languages. This is a guarantee that SDS is made to be portable and usable from several languages, and is not restricted to one OS and/or one language.
Who should consider using SDS?
This might vary, and since we're in the early stage of development not all "users" will find SDS to be equally useful. Those that currently will have the most benefit is:
The first group, the language developers, will get access to a set of powerful tools for development for their new language by letting e.g their compilers spit out data that SDS understands. This allows new languages to catch up with more popular languages and languages which has fancy tools.
The second group, the developers of development tools, get free access to a good framework to get information from several languages and thereby reduce the time needed to develop parsers and information-gatherers for their tools.
A more precise description may be found in the architecture description.