eXtreme Modeling: an approach to agile model-based development

Document Type: Original Article

Authors

1 MDSE Research Group, Dept. of Software Engineering, University of Isfahan, Isfahan, Iran.

2 Dept. of Informatics, King's College London, London, UK.

3 Dept. of Information Systems, Princess Nourah bint Abdulrahman University, Saudi Arabia.

4 Holistic Risk Solutions Ltd, Croydon, UK.

Abstract

Model-based development (MBD) is the development of software systems using graphical and textual models such as UML class diagrams. MBD and related approaches such as Model-driven development (MDD) have had some success within specific application domains, such as the automotive industry. Agile software development approaches such as Scrum and eXtreme Programming (XP) have been widely adopted in many different industry sectors. These approaches emphasise iterative development and close customer collaboration. eXtreme Modeling (XM) is a model-based development analogue of eXtreme Programming: it is an agile development approach based on the use of software models to specify and synthesise software systems. In this paper we look at the track record of agile and model-based development, and we consider the case for combining these approaches into XM to obtain benefits from both approaches: rapid automated software generation, lightweight development processes, and direct customer involvement. An example application of XM in the financial services domain is described.

Keywords


[1] K. Beck et. al. Principles behind the agile manifesto. Agile Alliance, pages 1--2, 2001. [ bib ]
[2] Version One. 9th annual state of agile survey, 2015. [ bib ]
[3] K. Beck and E. Gamma. Extreme programming explained: embrace change. addison-wesley professional, 2004. [ bib ]
[4] Ken Schwaber and Mike Beedle. Agile software development with Scrum, volume 1. Prentice Hall Upper Saddle River, 2002. [ bib ]
[5] L. Vijayasarathy and D. Turk. Agile software development: A survey of early adopters. Journal of Information Technology Management, 19(2):1--8, 2008. [ bib ]
[6] F. Grossma, J. Bergin, D. Leip, and O. Gotel. One xp experience: introducing agile (xp) software development into a culture that is willing but not ready. In Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research, pages 242--254. ACM, 2004. [ bib | DOI ]
[7] M. Church. Why `agile' and especially scrum are terrible. https://michaelochurch.wordpress.com, Date Accessed: June 6, 2015. [ bib ]
[8] J. Greenfield and K. Short. Software factories: Assembling applications with patterns, frameworks, models and tools. Wiley, 2004. [ bib ]
[9] R. France and B. Rumpe. Modeling to improve quality or efficiency? an automotive domain perspective. Software and Systems Modeling, 11(3):303, 2012. [ bib | DOI ]
[10] J. Whittle, J. Hutchinson, and Mark. Rouncefield. The state of practice in model-driven engineering. IEEE software, 11(4):513–526, 2012. [ bib | DOI ]
[11] Bran Selic. What will it take? a view on adoption of model-based methods in practice. Software & Systems Modeling, 11(4):513–526, 2012. [ bib | DOI ]
[12] S. J.Mellor, M. Balcer, and I. Foreword By-Jacoboson. Executable UML: A foundation for model-driven architectures. Addison-Wesley Longman Publishing Co., Inc., 2002. [ bib ]
[13] Jr. James Kirby. Model-driven agile development of reactive multi-agent systems. In 30th Annual International Computer Software and Applications Conference (COMPSAC06), pages 297--302. IEEE, 2006. [ bib | DOI ]
[14] J. Novacek, A. Ahari, A. Cornaglia, F. Haxel, A. Viehl, O. Bringmann, and Wo. Rosenstiel. A lightweight mdsd process applied in small projects. In 2009 35th Euromicro Conference on Software Engineering and Advanced Applications, pages 255--258. IEEE, 2009. [ bib | DOI ]
[15] S. Hansson, Y. Zhao, and H. Burden. How mad are we? empirical evidence for model-driven agile development. In XM@MoDELS, 2014. [ bib ]
[16] K. Lano. The uml-rsds manual, 2014. [ bib ]
[17] M. Strittmatter, G. Hinkel, M. Langhammer, R. Jung, and R. Heinrich. Challenges in the evolution of metamodels: Smells and anti-patterns of a historically-grown metamodel. Workshop on Models and Evolution, pages 30--39, 2016. [ bib ]
[18] C. M. Gerpheide, R. R. H. Schiffelers, and A. Serebrenik. Assessing and improving quality of qvto model transformations. Software Quality Journal, 24(3):797–834, 2016. [ bib | DOI ]
[19] S. Fang and K. Lano. Extracting correspondences from metamodels using metamodel matching. PhD symposium, STAF 2019, 2019. [ bib ]
[20] A. Kästner, M. Gogolla, and B. Selic. From (imperfect) object diagrams to (imperfect) class diagrams. In Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pages 13--22. ACM, 2018. [ bib | DOI ]
[21] K. Lano and S. Kolahdouz-Rahimi. Model-transformation design patterns. IEEE Transactions on Software Engineering, 40(12):1224--1259, 2014. [ bib | DOI ]
[22] K. Lano and S. Kolahdouz-Rahimi. Constraint-based specification of model transformations. Journal of Systems and Software, 86(2):412--436, 2013. [ bib | DOI ]
[23] OMG. Semantics of a foundational subset for executable uml model (full), 2015. [ bib ]
[24] K. Lano and S. Kolahdouz-Rahimi. Slicing of uml models using model transformations. In International Conference on Model Driven Engineering Languages and Systems, pages 228--242. Springer, Berlin, Heidelberg, 2010. [ bib | DOI ]
[25] S. Kolahdouz-Rahimi, K. Lano, S. Pillay, J. Troya, and P. Van Gorp. Evaluation of model transformation approaches for model refactoring. Science of Computer Programming, 85:5--40, 2014. [ bib | DOI ]
[26] K. Lano and S. Yassipour Tehrani. Solving the ttc 2014 movie database case with uml-rsds. In TTC@ STAF, pages 150--154, 2014. [ bib ]
[27] M. Gilli, S. Grosse, and E. Schumann. Calibrating the nelson- siegal-svensson model. SSRN, 2010. [ bib | DOI ]
[28] K. Lano, S. Yassipour Tehrani, and S. Kolahdouz Rahimi. Solving the class responsibility assignment case with uml-rsds. In TTC@ STAF, pages 9--14, 2016. [ bib ]
[29] F. Basso, R. Pillat, F. Roos-Frantz, and R. Z. Frantz. Combining mde and scrum on the rapid prototyping of web information systems. International Journal of Web Engineering and Technology, 10(3):214--244, 2015. [ bib | DOI ]
[30] I. Krasteva, S. Stavros, and S. Ilieva. Agile model-driven modernization to the service cloud. In The Eighth International Conference on Internet and Web Applications and Services (ICIW 2013). Rome, Italy, 2013. [ bib ]
[31] Y. Zhang and S. Patel. Agile model-driven development in practice. IEEE software, 28(2):84 -- 91, 2011. [ bib | DOI ]