How are the components configured against each other?
Eg, commands / config files / database entries
Once you know how to find the configuration, you could write some extended discovery to find the joins.
SAAM or custom TPL can then be used to build a model.
FYI I find observed communications a good starting point to "see" the connections in SAAM although only use that to help build out the extended discovery and BAI