Science Publishing Group
In the last few years, Model Driven Development (MDD) has become an interesting alternative for designing the self-adaptive software systems. In general, the ultimate goal of this technology is to be able to reduce development costs and effort, while improving the modularity, flexibility, adaptability, and reliability of software systems. An analysis of model-driven methodologies shows them all to include the principle of the separation of concerns as a key factor for obtaining high-quality and self-adaptable software systems. Each methodology identifies different concerns and deals with them separately in order to specify the design of the self-adaptive applications, and, at the same time, support software with adaptability and context-awareness.