Model-driven Development of Complex Software: A Research Roadmap | Synapse