Multi-Level Customization in Model Driven Software Development
Krzysztof Czarnecki, ECE,
Domain-specific platforms (DSPs), such as IBM's WebSphere Commerce for e-commerce applications, improve productivity, time-to-market, and quality of application development by leveraging the commonalities of applications within an application domain. One of the key challenges with today's DSPs is the so-called “customization cliff”, which refers to the situation that customization beyond the settings offered by simple configuration facilities such as wizards usually requires custom coding. Model-driven software development has the potential to eliminate the customization cliff in traditional, code-centric DSPs by offering multi-level modeling and customization of each level as a middle ground between wizards and custom coding. In this talk, after explaining some basic concepts of multi-level modeling, I will provide a classification of different customization techniques such as protected regions and round-trip engineering, and discuss their tradeoffs. I will also report on some recent progress in achieving rund-trip engineering between models expressed in domain-specific languages and code.