Model Driven Approach
Can reverse-engineer the business model of your source data, and uses that to forward-engineer an 'optimised' Data Vault architecture, and then generates all the code to build and populate it. Can integrate with ERwin (in this case used to model the source, not the target! (Compose does that for you!).