this is one part of what the mx model reflection is doing – within a java action, using the meta model. If you already use the reflection module in your project, you could synchronize and retrieve from the Module entity which is already maintained. However, I would not like to use the whole relfection synchronisation in an after startup as it might take TOO long and kill your app before it finishes.
Edit: maybe you can reuse the java code which does the trick just for the modules. a slim version of the sync, so to say.