Abstract

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. This research studies the development methodologies that employ the principles of model-driven architecture in building self-adaptive software systems. To this aim, this article proposes an evaluation framework for analyzing and evaluating the features of those development approaches and their ability to support software with self-adaptability and dependability in highly dynamic contextual environment. Such evaluation framework can facilitate the software developers on selecting a development methodology that suits their software requirements and reduces the development effort of building self-adaptive software systems. This study highlights the major drawbacks of the proposed model-driven approaches in the related works, and emphasize on considering the volatile aspects of self-adaptive software in the analysis, design and implementation phases of the development methodologies. In addition, we argue that the development methodologies should leave the selection of modeling languages and modeling tools to the software developers.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call