Model-Driven Architecture for Complex Software Systems | Synapse