MiDAS: A Model-Driven Approach for Adaptive Software

José Bocanegra, Jaime Pavlich-Mariscal, Angela Carrillo-Ramos


Some of the main problems in software engineering for adaptive software are: the lack of mechanisms to specify adaptive characteristics in software requirements; the difficulty to obtain a functional adaptive system based on the elicited requirements; and the need of maintaining synchronization and traceability between the requirements, design and implementation. To address the above problems, this paper proposes MiDAS, a framework that uses a model-driven approach to develop adaptive software. Specifically, MiDAS provides: (i) a new language for requirements engineering process that takes into account uncertainty in adaptive software; (ii) a method to derive concrete implementations in specific architectures supporting run-time adaptation; and, (iii) a mechanism to maintain traceability and synchronization between requirements specifications, design models and implementation architectures.


  1. Ahmad, M., Araújo, J., Belloir, N., Bruel, J.-M., Gnaho, C., Laleau, R., and Semmak, F. (2013). Self-adaptive systems requirements modelling: Four related approaches comparison. In Comparing Requirements Modeling Approaches Workshop, pages 37-42. IEEE.
  2. Andersson, J., De Lemos, R., Malek, S., and Weyns, D. (2009). Modeling dimensions of self-adaptive software systems. In Software engineering for selfadaptive systems, pages 27-47. Springer.
  3. Beatty, J. and Chen, A. (2012). Visual Models for Software Requirements. O'Reilly Media, Inc.
  4. Bresciani, P., Giorgini, P., Giunchiglia, F., Mylopoulos, J., and Perini, A. (2004). Tropos: An agent-oriented software development methodology. Journal of Autonomous Agents and Multi-Agent Systems, 8:203- 236.
  5. Brusilovsky, P. (2001). Adaptive hypermedia. User Modeling and User-Adapted Interaction, 11(1-2):87-110.
  6. Cheng, B. H., De Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., et al. (2009a). Software engineering for self-adaptive systems: A research roadmap. In Software engineering for self-adaptive systems, pages 1-26. Springer.
  7. Cheng, B. H., Sawyer, P., Bencomo, N., and Whittle, J. (2009b). A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In Model Driven Engineering Languages and Systems, pages 468-483. Springer.
  8. Cleland-Huang, J., Gotel, O. C. Z., Huffman Hayes, J., Mäder, P., and Zisman, A. (2014). Software traceability: Trends and future directions. In Proceedings of the FOSE, pages 55-69. ACM.
  9. Czarnecki, K., Foster, J. N., Hu, Z., Lämmel, R., Schürr, A., and Terwilliger, J. F. (2009). Bidirectional transformations: A cross-discipline perspective. In Theory and Practice of Model Transformations, pages 260- 283. Springer.
  10. Dardenne, A., Van Lamsweerde, A., and Fickas, S. (1993). Goal-directed requirements acquisition. Science of computer programming, 20(1):3-50.
  11. Dromey, R. G. (2003). From requirements to design: Formalizing the key steps. In Conference on Software Engineering and Formal Methods, pages 2-11. IEEE.
  12. Durán, A., Bernárdez, B., Toro, M., Corchuelo, R., Ruiz, A., and Pérez, J. (1999). Expressing customer requirements using natural language, requirements templates and patterns. In Proceedings of IMACS/IEEE CSCC.
  13. Esfahani, N. and Malek, S. (2013). Uncertainty in selfadaptive software systems. In Software Engineering for Self-Adaptive Systems II, volume 7475, pages 214- 238. Springer.
  14. Espada, P., Goulão, M., and Araújo, J. (2011). Measuring complexity and completeness of kaos goal models. In Empirical Requirements Engineering (EmpiRE), 2011 First International Workshop on, pages 29-32. IEEE.
  15. Fleurey, F. and Solberg, A. (2009). A domain specific modeling language supporting specification, simulation and execution of dynamic adaptive systems. In Model Driven Engineering Languages and Systems, pages 606-621. Springer.
  16. Gnaho, C., Semmak, F., and Laleau, R. (2013). An overview of a sysml extension for goal-oriented nfr modelling: Poster paper. In Conference on Research Challenges in Information Science, pages 1-2. IEEE.
  17. Greenwood, P., Chitchyan, R., Rashid, A., Noppen, J., Fleurey, F., and Solberg, A. (2011). Modelling adaptability and variability in requirements. In Requirements Engineering Conference, pages 343-344. IEEE.
  18. Kent, S. (2002). Model-driven engineering. Lecture Notes in Computer Science, 2335:286-298.
  19. Kopczynska, S. and Nawrocki, J. (2014). Using nonfunctional requirements templates for elicitation: A case study. In Requirements Patterns (RePa), 2014 IEEE 4th International Workshop on, pages 47-54.
  20. Laleau, R., Semmak, F., Matoussi, A., Petit, D., Hammad, A., and Tatibouet, B. (2010). A first attempt to combine sysml requirements diagrams and b. Innovations in Systems and Software Engineering, 6(1-2):47-54.
  21. Lamsweerde, A. V. (2009). Requirements engineering: from system goals to UML models to software specifications. Wiley.
  22. Macedo, N. and Cunha, A. (2014). Least-change bidirectional model transformation with qvt-r and atl. Software & Systems Modeling, pages 1-28.
  23. OMG (2015). Sysml specification. http://www.sysml.org/docs/specs/OMGSysMLv1.3-12-06-02.pdf. Last accessed: January/2015.
  24. Salehie, M. and Tahvildari, L. (2009). Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems (TAAS), 4(2):14.
  25. Toro, A. D., Jiménez, B. B., Cortés, A. R., and Bonilla, M. T. (1999). A requirements elicitation approach based in templates and patterns. In WER, pages 17- 29.
  26. Vogel, T. and Giese, H. (2014). Model-driven engineering of self-adaptive software with eurema. ACM Transactions on Autonomous and Adaptive Systems (TAAS), 8(4):18.
  27. Whittle, J., Sawyer, P., Bencomo, N., Cheng, B. H., and Bruel, J.-M. (2010). Relax: a language to address uncertainty in self-adaptive systems requirement. Requirements Engineering, 15(2):177-196.
  28. Xiong, Y., Hu, Z., Zhao, H., Song, H., Takeichi, M., and Mei, H. (2009). Supporting automatic model inconsistency fixing. In Symposium on The foundations of software engineering, pages 315-324. ACM.

Paper Citation

in Harvard Style

Bocanegra J., Pavlich-Mariscal J. and Carrillo-Ramos A. (2015). MiDAS: A Model-Driven Approach for Adaptive Software . In Proceedings of the 11th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-758-106-9, pages 281-286. DOI: 10.5220/0005486202810286

in Bibtex Style

author={José Bocanegra and Jaime Pavlich-Mariscal and Angela Carrillo-Ramos},
title={MiDAS: A Model-Driven Approach for Adaptive Software},
booktitle={Proceedings of the 11th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},

in EndNote Style

JO - Proceedings of the 11th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - MiDAS: A Model-Driven Approach for Adaptive Software
SN - 978-989-758-106-9
AU - Bocanegra J.
AU - Pavlich-Mariscal J.
AU - Carrillo-Ramos A.
PY - 2015
SP - 281
EP - 286
DO - 10.5220/0005486202810286