Pragmatic model-driven software development from the viewpoint of a programmer: Teaching experience

Model-driven software development is surrounded by numerous myths and misunderstandings that hamper its adoption. We have designed our course of model-driven development approach with the goal to introduce it from the viewpoint of a programmer as a pragmatic tool for solving concrete problems in development process. The course covers several techniques and principles of model-driven development instead of concentrating on a single tool. To explain these techniques we use a case-study that is iteratively developed by the students during the course. In the paper we explain the structure of our case study, contents of individual iterations, and our overall experience with this approach.

[1]  W. Taha,et al.  Plenary talk III Domain-specific languages , 2008, 2008 International Conference on Computer Engineering & Systems.

[2]  Tariq M. King,et al.  Experiences of Teaching Model-Driven Engineering in a Software Design Course , 2009 .

[3]  MernikMarjan,et al.  A preliminary study on various implementation approaches of domain-specific language , 2008 .

[4]  Daniel Kimmig,et al.  Teaching model-driven software development: revealing the "great miracle" of code generation to students , 2014, ACE.

[5]  Ralf Lämmel,et al.  Revealing the X/O Impedance Mismatch - (Changing Lead into Gold) , 2006, SSDGP.

[6]  P.J. Mosterman Automatic Code Generation: Facilitating New Teaching Opportunities in Engineering Education , 2006, Proceedings. Frontiers in Education. 36th Annual Conference.

[7]  Ahmet Demir Comparison of model-driven architecture and software factories in the context of model-driven development , 2006, Fourth Workshop on Model-Based Development of Computer-Based Systems and Third International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MBD-MOMPES'06).

[8]  Eric Latimer,et al.  Teaching model-driven engineering from a relational database perspective , 2013, Software & Systems Modeling.

[9]  Anthony J. Cowling Modelling: a neglected feature in the software engineering curriculum , 2003, Proceedings 16th Conference on Software Engineering Education and Training, 2003. (CSEE&T 2003)..

[10]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[11]  Jaroslav Porubän,et al.  XML to Annotations Mapping Patterns , 2013, SLATE.

[12]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[13]  Bedir Tekinerdogan,et al.  Experiences in teaching a graduate course on model-driven software development , 2011, Comput. Sci. Educ..

[14]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[15]  Don S. Batory,et al.  Teaching model-driven engineering from a relational database perspective , 2015, Software & Systems Modeling.

[16]  David Thomas,et al.  The Pragmatic Programmer: From Journeyman to Master , 1999 .

[17]  Jaroslav Porubän,et al.  Annotation based parser generator , 2009, 2009 International Multiconference on Computer Science and Information Technology.

[18]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..