An extensible framework for tracing model evolution in SOA solution design
Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications - OOPSLA '09
Existing tools for model-driven development support automated change management across predefined models with precisely known dependencies. These tools cannot be easily applied to scenarios where we have a diverse set of models and relationships, and where human judgment and impact analysis are critical to introducing and managing changes. Such scenarios arise in model-based development of service oriented architectures (SOA), where a plethora of high-level models representing different aspects
... g different aspects of the business (requirements, processes, data) need to be translated into service models, and changes across these models need to be carefully analyzed and propagated. To support the process of model evolution, we present an extensible framework that can automatically identify possible changes in any MOF-compliant model. Changes across different model types can be easily related through a user interface and via rules that are programmed at specified plug-in points. At runtime, when an instance of a model is changed, the framework performs finegrained analysis to identify impacted models and elements therein. It also allows analysts to selectively apply or reject changes based on the specific context and summarizes the incremental impact on downstream elements as choices are made. We share our experience in using our framework during the design of a SOA-based system that underwent several changes in business models, necessitating changes in the associated service design.